solc-json-interface: do not unconditionally skip serialization of custom keys (#337)

The data structure can be used to build the JSON input for `resolc` too.
In that case serializing of provided custom options should not be
dismissed.

Makes the memory settings struct more modular as a drive-by.

---------

Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
This commit is contained in:
xermicus
2025-06-03 08:17:54 +02:00
committed by GitHub
parent 45b6a57cae
commit 8a3c587bbe
13 changed files with 84 additions and 44 deletions
@@ -1,6 +1,7 @@
//! The entry function.
use inkwell::types::BasicType;
use revive_solc_json_interface::PolkaVMDefaultHeapMemorySize;
use crate::polkavm::context::address_space::AddressSpace;
use crate::polkavm::context::function::runtime;
@@ -38,9 +39,12 @@ impl Entry {
context.xlen_type().const_zero(),
);
let heap_memory_type = context
.byte_type()
.array_type(context.memory_config.heap_size);
let heap_memory_type = context.byte_type().array_type(
context
.memory_config
.heap_size
.unwrap_or(PolkaVMDefaultHeapMemorySize),
);
context.set_global(
crate::polkavm::GLOBAL_HEAP_MEMORY,
heap_memory_type,