diff --git a/evm/src/cpu/kernel/asm/core/call.asm b/evm/src/cpu/kernel/asm/core/call.asm index 2c8eec75..6ecff951 100644 --- a/evm/src/cpu/kernel/asm/core/call.asm +++ b/evm/src/cpu/kernel/asm/core/call.asm @@ -18,7 +18,6 @@ global sys_call: %address %set_new_ctx_caller DUP5 %set_new_ctx_value DUP5 DUP5 %address %transfer_eth - %set_new_ctx_parent_ctx %set_new_ctx_parent_pc(after_call_instruction) // TODO: Copy memory[args_offset..args_offset + args_size] CALLDATA @@ -49,7 +48,6 @@ global sys_callcode: %address %set_new_ctx_caller DUP5 %set_new_ctx_value DUP5 DUP5 %address %transfer_eth - %set_new_ctx_parent_ctx %set_new_ctx_parent_pc(after_call_instruction) // stack: new_ctx, kexit_info, gas, address, value, args_offset, args_size, ret_offset, ret_size @@ -79,7 +77,6 @@ global sys_staticcall: DUP4 %set_new_ctx_addr %address %set_new_ctx_caller PUSH 0 %set_new_ctx_value - %set_new_ctx_parent_ctx %set_new_ctx_parent_pc(after_call_instruction) %stack (new_ctx, kexit_info, gas, address, args_offset, args_size, ret_offset, ret_size) @@ -105,7 +102,6 @@ global sys_delegatecall: %address %set_new_ctx_addr %caller %set_new_ctx_caller %callvalue %set_new_ctx_value - %set_new_ctx_parent_ctx %set_new_ctx_parent_pc(after_call_instruction) %stack (new_ctx, kexit_info, gas, address, args_offset, args_size, ret_offset, ret_size) diff --git a/evm/src/cpu/kernel/asm/core/util.asm b/evm/src/cpu/kernel/asm/core/util.asm index a183b120..de3dfb70 100644 --- a/evm/src/cpu/kernel/asm/core/util.asm +++ b/evm/src/cpu/kernel/asm/core/util.asm @@ -1,13 +1,10 @@ // Return the next context ID, and record the old context ID in the new one's // @CTX_METADATA_PARENT_CONTEXT field. Does not actually enter the new context. %macro create_context + // stack: (empty) %next_context_id - GET_CONTEXT - %stack (ctx, next_ctx) - -> (next_ctx, @SEGMENT_NORMALIZED_TXN, @CTX_METADATA_PARENT_CONTEXT, - ctx, next_ctx) - MSTORE_GENERAL - // stack: next_ctx + %set_new_ctx_parent_ctx + // stack: new_ctx %endmacro // Get and increment @GLOBAL_METADATA_LARGEST_CONTEXT to determine the next context ID. diff --git a/evm/src/memory/segments.rs b/evm/src/memory/segments.rs index ac33af7a..a0875de3 100644 --- a/evm/src/memory/segments.rs +++ b/evm/src/memory/segments.rs @@ -132,7 +132,7 @@ impl Segment { Segment::KernelGeneral2 => 256, Segment::KernelAccountCode => 8, Segment::TxnFields => 256, - Segment::TxnData => 256, + Segment::TxnData => 8, Segment::RlpRaw => 8, Segment::TrieData => 256, Segment::TrieEncodedChild => 256,