From fbf6591b2dd66ec7f240b1336ef50bbc7c856e27 Mon Sep 17 00:00:00 2001 From: wborgeaud Date: Fri, 2 Jun 2023 19:57:30 +0200 Subject: [PATCH] Warm precompiles earlier (#1065) --- evm/src/cpu/kernel/asm/core/process_txn.asm | 23 +++++++++++---------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/evm/src/cpu/kernel/asm/core/process_txn.asm b/evm/src/cpu/kernel/asm/core/process_txn.asm index 61c66134..d41b6e25 100644 --- a/evm/src/cpu/kernel/asm/core/process_txn.asm +++ b/evm/src/cpu/kernel/asm/core/process_txn.asm @@ -82,6 +82,18 @@ global increment_sender_nonce: %mload_txn_field(@TXN_FIELD_ORIGIN) %increment_nonce +global warm_precompiles: + // Add precompiles to accessed addresses. + PUSH @ECREC %insert_accessed_addresses_no_return + PUSH @SHA256 %insert_accessed_addresses_no_return + PUSH @RIP160 %insert_accessed_addresses_no_return + PUSH @ID %insert_accessed_addresses_no_return + PUSH @EXPMOD %insert_accessed_addresses_no_return + PUSH @BN_ADD %insert_accessed_addresses_no_return + PUSH @BN_MUL %insert_accessed_addresses_no_return + PUSH @SNARKV %insert_accessed_addresses_no_return + PUSH @BLAKE2_F %insert_accessed_addresses_no_return + // EIP-3651 global warm_coinbase: %mload_global_metadata(@GLOBAL_METADATA_BLOCK_BENEFICIARY) @@ -224,17 +236,6 @@ global process_message_txn: // stack: code_empty, retdest %jumpi(process_message_txn_return) - // Add precompiles to accessed addresses. - PUSH @ECREC %insert_accessed_addresses_no_return - PUSH @SHA256 %insert_accessed_addresses_no_return - PUSH @RIP160 %insert_accessed_addresses_no_return - PUSH @ID %insert_accessed_addresses_no_return - PUSH @EXPMOD %insert_accessed_addresses_no_return - PUSH @BN_ADD %insert_accessed_addresses_no_return - PUSH @BN_MUL %insert_accessed_addresses_no_return - PUSH @SNARKV %insert_accessed_addresses_no_return - PUSH @BLAKE2_F %insert_accessed_addresses_no_return - // Otherwise, load to's code and execute it in a new context. // stack: retdest %create_context