rename llvm-context crate

Signed-off-by: xermicus <cyrill@parity.io>
This commit is contained in:
xermicus
2024-05-01 15:45:09 +02:00
parent 9b341853b4
commit 72515254fe
55 changed files with 529 additions and 529 deletions
@@ -6,12 +6,12 @@
/// Translates the contract hash copying.
///
pub fn contract_hash<'ctx, D>(
context: &mut era_compiler_llvm_context::EraVMContext<'ctx, D>,
context: &mut revive_llvm_context::EraVMContext<'ctx, D>,
offset: inkwell::values::IntValue<'ctx>,
value: inkwell::values::IntValue<'ctx>,
) -> anyhow::Result<()>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
let offset = context.builder().build_int_add(
offset,
@@ -21,7 +21,7 @@ where
"datacopy_contract_hash_offset",
)?;
era_compiler_llvm_context::eravm_evm_memory::store(context, offset, value)?;
revive_llvm_context::eravm_evm_memory::store(context, offset, value)?;
Ok(())
}
@@ -30,14 +30,14 @@ where
/// Translates the library marker copying.
///
pub fn library_marker<D>(
context: &mut era_compiler_llvm_context::EraVMContext<D>,
context: &mut revive_llvm_context::EraVMContext<D>,
offset: u64,
value: u64,
) -> anyhow::Result<()>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
era_compiler_llvm_context::eravm_evm_memory::store_byte(
revive_llvm_context::eravm_evm_memory::store_byte(
context,
context.field_const(offset),
context.field_const(value),
@@ -50,12 +50,12 @@ where
/// Translates the static data copying.
///
pub fn static_data<'ctx, D>(
context: &mut era_compiler_llvm_context::EraVMContext<'ctx, D>,
context: &mut revive_llvm_context::EraVMContext<'ctx, D>,
destination: inkwell::values::IntValue<'ctx>,
source: &str,
) -> anyhow::Result<()>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
let mut offset = 0;
for (index, chunk) in source
@@ -76,7 +76,7 @@ where
format!("datacopy_destination_index_{index}").as_str(),
)?;
let datacopy_value = context.field_const_str_hex(value_string.as_str());
era_compiler_llvm_context::eravm_evm_memory::store(
revive_llvm_context::eravm_evm_memory::store(
context,
datacopy_destination,
datacopy_value,
@@ -6,17 +6,17 @@
/// Translates the unconditional jump.
///
pub fn unconditional<D>(
context: &mut era_compiler_llvm_context::EraVMContext<D>,
context: &mut revive_llvm_context::EraVMContext<D>,
destination: num::BigUint,
stack_hash: md5::Digest,
) -> anyhow::Result<()>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
let code_type = context
.code_type()
.ok_or_else(|| anyhow::anyhow!("The contract code part type is undefined"))?;
let block_key = era_compiler_llvm_context::EraVMFunctionBlockKey::new(code_type, destination);
let block_key = revive_llvm_context::EraVMFunctionBlockKey::new(code_type, destination);
let block = context
.current_function()
@@ -32,24 +32,24 @@ where
/// Translates the conditional jump.
///
pub fn conditional<D>(
context: &mut era_compiler_llvm_context::EraVMContext<D>,
context: &mut revive_llvm_context::EraVMContext<D>,
destination: num::BigUint,
stack_hash: md5::Digest,
stack_height: usize,
) -> anyhow::Result<()>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
let code_type = context
.code_type()
.ok_or_else(|| anyhow::anyhow!("The contract code part type is undefined"))?;
let block_key = era_compiler_llvm_context::EraVMFunctionBlockKey::new(code_type, destination);
let block_key = revive_llvm_context::EraVMFunctionBlockKey::new(code_type, destination);
let condition_pointer = context.evmla().stack[stack_height]
.to_llvm()
.into_pointer_value();
let condition = context.build_load(
era_compiler_llvm_context::EraVMPointer::new_stack_field(context, condition_pointer),
revive_llvm_context::EraVMPointer::new_stack_field(context, condition_pointer),
format!("conditional_{block_key}_condition").as_str(),
)?;
let condition = context.builder().build_int_compare(
@@ -342,11 +342,11 @@ impl Instruction {
///
pub fn recursive_call(
name: String,
entry_key: era_compiler_llvm_context::EraVMFunctionBlockKey,
entry_key: revive_llvm_context::EraVMFunctionBlockKey,
stack_hash: md5::Digest,
input_size: usize,
output_size: usize,
return_address: era_compiler_llvm_context::EraVMFunctionBlockKey,
return_address: revive_llvm_context::EraVMFunctionBlockKey,
previous: &Self,
) -> Self {
Self {
@@ -374,7 +374,7 @@ pub enum Name {
/// The called function name.
name: String,
/// The called function key.
entry_key: era_compiler_llvm_context::EraVMFunctionBlockKey,
entry_key: revive_llvm_context::EraVMFunctionBlockKey,
/// The stack state hash after return.
stack_hash: md5::Digest,
/// The input size.
@@ -382,7 +382,7 @@ pub enum Name {
/// The output size.
output_size: usize,
/// The return address.
return_address: era_compiler_llvm_context::EraVMFunctionBlockKey,
return_address: revive_llvm_context::EraVMFunctionBlockKey,
},
/// The recursive function return instruction.
#[serde(skip)]
@@ -8,11 +8,11 @@ use inkwell::values::BasicValue;
/// Translates the ordinar value push.
///
pub fn push<'ctx, D>(
context: &mut era_compiler_llvm_context::EraVMContext<'ctx, D>,
context: &mut revive_llvm_context::EraVMContext<'ctx, D>,
value: String,
) -> anyhow::Result<inkwell::values::BasicValueEnum<'ctx>>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
let result = context
.field_type()
@@ -29,11 +29,11 @@ where
/// Translates the block tag label push.
///
pub fn push_tag<'ctx, D>(
context: &mut era_compiler_llvm_context::EraVMContext<'ctx, D>,
context: &mut revive_llvm_context::EraVMContext<'ctx, D>,
value: String,
) -> anyhow::Result<inkwell::values::BasicValueEnum<'ctx>>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
let result = context
.field_type()
@@ -46,17 +46,17 @@ where
/// Translates the stack memory duplicate.
///
pub fn dup<'ctx, D>(
context: &mut era_compiler_llvm_context::EraVMContext<'ctx, D>,
context: &mut revive_llvm_context::EraVMContext<'ctx, D>,
offset: usize,
height: usize,
original: &mut Option<String>,
) -> anyhow::Result<inkwell::values::BasicValueEnum<'ctx>>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
let element = &context.evmla().stack[height - offset - 1];
let value = context.build_load(
era_compiler_llvm_context::EraVMPointer::new_stack_field(
revive_llvm_context::EraVMPointer::new_stack_field(
context,
element.to_llvm().into_pointer_value(),
),
@@ -72,22 +72,22 @@ where
/// Translates the stack memory swap.
///
pub fn swap<D>(
context: &mut era_compiler_llvm_context::EraVMContext<D>,
context: &mut revive_llvm_context::EraVMContext<D>,
offset: usize,
height: usize,
) -> anyhow::Result<()>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
let top_element = context.evmla().stack[height - 1].to_owned();
let top_pointer = era_compiler_llvm_context::EraVMPointer::new_stack_field(
let top_pointer = revive_llvm_context::EraVMPointer::new_stack_field(
context,
top_element.to_llvm().into_pointer_value(),
);
let top_value = context.build_load(top_pointer, format!("swap{offset}_top_value").as_str())?;
let swap_element = context.evmla().stack[height - offset - 1].to_owned();
let swap_pointer = era_compiler_llvm_context::EraVMPointer::new_stack_field(
let swap_pointer = revive_llvm_context::EraVMPointer::new_stack_field(
context,
swap_element.to_llvm().into_pointer_value(),
);
@@ -106,9 +106,9 @@ where
///
/// Translates the stack memory pop.
///
pub fn pop<D>(_context: &mut era_compiler_llvm_context::EraVMContext<D>) -> anyhow::Result<()>
pub fn pop<D>(_context: &mut revive_llvm_context::EraVMContext<D>) -> anyhow::Result<()>
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
Ok(())
}
+18 -18
View File
@@ -51,7 +51,7 @@ impl Assembly {
///
pub fn keccak256(&self) -> String {
let json = serde_json::to_vec(self).expect("Always valid");
era_compiler_llvm_context::eravm_utils::keccak256(json.as_slice())
revive_llvm_context::eravm_utils::keccak256(json.as_slice())
}
///
@@ -197,28 +197,28 @@ impl Assembly {
}
}
impl<D> era_compiler_llvm_context::EraVMWriteLLVM<D> for Assembly
impl<D> revive_llvm_context::EraVMWriteLLVM<D> for Assembly
where
D: era_compiler_llvm_context::EraVMDependency + Clone,
D: revive_llvm_context::EraVMDependency + Clone,
{
fn declare(
&mut self,
context: &mut era_compiler_llvm_context::EraVMContext<D>,
context: &mut revive_llvm_context::EraVMContext<D>,
) -> anyhow::Result<()> {
let mut entry = era_compiler_llvm_context::EraVMEntryFunction::default();
let mut entry = revive_llvm_context::EraVMEntryFunction::default();
entry.declare(context)?;
let mut runtime = era_compiler_llvm_context::EraVMRuntime::new(
era_compiler_llvm_context::EraVMAddressSpace::Heap,
let mut runtime = revive_llvm_context::EraVMRuntime::new(
revive_llvm_context::EraVMAddressSpace::Heap,
);
runtime.declare(context)?;
era_compiler_llvm_context::EraVMDeployCodeFunction::new(
era_compiler_llvm_context::EraVMDummyLLVMWritable::default(),
revive_llvm_context::EraVMDeployCodeFunction::new(
revive_llvm_context::EraVMDummyLLVMWritable::default(),
)
.declare(context)?;
era_compiler_llvm_context::EraVMRuntimeCodeFunction::new(
era_compiler_llvm_context::EraVMDummyLLVMWritable::default(),
revive_llvm_context::EraVMRuntimeCodeFunction::new(
revive_llvm_context::EraVMDummyLLVMWritable::default(),
)
.declare(context)?;
@@ -231,7 +231,7 @@ where
fn into_llvm(
mut self,
context: &mut era_compiler_llvm_context::EraVMContext<D>,
context: &mut revive_llvm_context::EraVMContext<D>,
) -> anyhow::Result<()> {
let full_path = self.full_path().to_owned();
@@ -240,7 +240,7 @@ where
}
let deploy_code_blocks = EtherealIR::get_blocks(
context.evmla().version.to_owned(),
era_compiler_llvm_context::EraVMCodeType::Deploy,
revive_llvm_context::EraVMCodeType::Deploy,
self.code
.as_deref()
.ok_or_else(|| anyhow::anyhow!("Deploy code instructions not found"))?,
@@ -267,7 +267,7 @@ where
};
let runtime_code_blocks = EtherealIR::get_blocks(
context.evmla().version.to_owned(),
era_compiler_llvm_context::EraVMCodeType::Runtime,
revive_llvm_context::EraVMCodeType::Runtime,
runtime_code_instructions.as_slice(),
)?;
@@ -282,12 +282,12 @@ where
ethereal_ir.declare(context)?;
ethereal_ir.into_llvm(context)?;
era_compiler_llvm_context::EraVMDeployCodeFunction::new(EntryLink::new(
era_compiler_llvm_context::EraVMCodeType::Deploy,
revive_llvm_context::EraVMDeployCodeFunction::new(EntryLink::new(
revive_llvm_context::EraVMCodeType::Deploy,
))
.into_llvm(context)?;
era_compiler_llvm_context::EraVMRuntimeCodeFunction::new(EntryLink::new(
era_compiler_llvm_context::EraVMCodeType::Runtime,
revive_llvm_context::EraVMRuntimeCodeFunction::new(EntryLink::new(
revive_llvm_context::EraVMCodeType::Runtime,
))
.into_llvm(context)?;