package evm import ( "math/big" "sync" "github.com/dexon-foundation/dexon/core/vm" ) var stackPool = sync.Pool{ New: func() interface{} { return &vm.Stack{Data: make([]*big.Int, 0, 1024)} }, } func NewStack() *vm.Stack { stack := stackPool.Get().(*vm.Stack) stack.Data = stack.Data[:0] return stack } func Recyclestack(stack *vm.Stack) { stackPool.Put(stack) }