aboutsummaryrefslogblamecommitdiffstats
path: root/core/vm/evm/stack.go
blob: 4545201cede2e324920dec5073b0954e67aac3c8 (plain) (tree)






















                                                                 
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)
}