Polkavm heap (#2)

Use PolkaVM heap
This commit is contained in:
Cyrill Leutwiler
2024-03-22 12:41:41 +01:00
committed by GitHub
parent e83e4f04e6
commit 50f2dd9b74
17 changed files with 220 additions and 131 deletions
+3 -12
View File
@@ -17,23 +17,14 @@ where
D: Dependency + Clone,
{
let offset_casted = context.safe_truncate_int_to_i32(offset)?;
let heap_pointer = context.get_global(crate::eravm::GLOBAL_HEAP_MEMORY_POINTER)?;
let input_pointer = unsafe {
context.builder().build_gep(
context.byte_type(),
heap_pointer.value.as_pointer_value(),
&[offset_casted],
"heap_offset_via_gep",
)
}?;
let length_casted = context.safe_truncate_int_to_i32(length)?;
let input_pointer = context.build_heap_gep(offset_casted, length_casted)?;
let input_pointer_casted = context.builder().build_ptr_to_int(
input_pointer,
input_pointer.value,
context.integer_type(32),
"input_pointer_casted",
)?;
let length_casted = context.safe_truncate_int_to_i32(length)?;
let output_pointer = context.build_alloca(context.field_type(), "output_pointer");
let output_pointer_casted = context.builder().build_ptr_to_int(
output_pointer.value,