From f5abc9f188fb684e3601314b8ae454ac5abbf0e9 Mon Sep 17 00:00:00 2001 From: obscuren Date: Wed, 17 Jun 2015 17:09:39 +0200 Subject: core, core/vm: state improvements and tx pool speed up Removed full tx validation during state transitions --- core/vm/context.go | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'core/vm') diff --git a/core/vm/context.go b/core/vm/context.go index 56e8f925a..e33324b53 100644 --- a/core/vm/context.go +++ b/core/vm/context.go @@ -26,25 +26,16 @@ type Context struct { Args []byte } -var dests destinations - -func init() { - dests = make(destinations) -} - // Create a new context for the given data items. func NewContext(caller ContextRef, object ContextRef, value, gas, price *big.Int) *Context { c := &Context{caller: caller, self: object, Args: nil} - /* - if parent, ok := caller.(*Context); ok { - // Reuse JUMPDEST analysis from parent context if available. - c.jumpdests = parent.jumpdests - } else { - c.jumpdests = make(destinations) - } - */ - c.jumpdests = dests + if parent, ok := caller.(*Context); ok { + // Reuse JUMPDEST analysis from parent context if available. + c.jumpdests = parent.jumpdests + } else { + c.jumpdests = make(destinations) + } // Gas should be a pointer so it can safely be reduced through the run // This pointer will be off the state transition -- cgit v1.2.3