From cb84e3f02953f2df166ae69369d222dcbbd7d78d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Sat, 1 Oct 2016 15:44:53 +0300 Subject: cmd, core, internal, light, tests: avoid hashing the code in the VM --- core/vm/vm.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'core/vm/vm.go') diff --git a/core/vm/vm.go b/core/vm/vm.go index 9d7b55058..5d78b4a2a 100644 --- a/core/vm/vm.go +++ b/core/vm/vm.go @@ -71,10 +71,11 @@ func (evm *EVM) Run(contract *Contract, input []byte) (ret []byte, err error) { return nil, nil } - var ( - codehash = crypto.Keccak256Hash(contract.Code) // codehash is used when doing jump dest caching - program *Program - ) + codehash := contract.CodeHash // codehash is used when doing jump dest caching + if codehash == (common.Hash{}) { + codehash = crypto.Keccak256Hash(contract.Code) + } + var program *Program if evm.cfg.EnableJit { // If the JIT is enabled check the status of the JIT program, // if it doesn't exist compile a new program in a separate -- cgit v1.2.3