aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm/stack.go
diff options
context:
space:
mode:
authorJeffrey Wilcke <jeffrey@ethereum.org>2017-05-23 16:52:11 +0800
committerJeffrey Wilcke <jeffrey@ethereum.org>2017-05-23 16:52:11 +0800
commit10582a97ca3d147b29e1ca1c4069ce785a3ebde7 (patch)
treea50c4943156e71175048f3b64ea7b787a720adb7 /core/vm/stack.go
parente16a7ef60ff1dedc3fe8f16e932466dc057787f7 (diff)
downloadgo-tangerine-10582a97ca3d147b29e1ca1c4069ce785a3ebde7.tar
go-tangerine-10582a97ca3d147b29e1ca1c4069ce785a3ebde7.tar.gz
go-tangerine-10582a97ca3d147b29e1ca1c4069ce785a3ebde7.tar.bz2
go-tangerine-10582a97ca3d147b29e1ca1c4069ce785a3ebde7.tar.lz
go-tangerine-10582a97ca3d147b29e1ca1c4069ce785a3ebde7.tar.xz
go-tangerine-10582a97ca3d147b29e1ca1c4069ce785a3ebde7.tar.zst
go-tangerine-10582a97ca3d147b29e1ca1c4069ce785a3ebde7.zip
core/vm: expose intpool to stack dup method
Improve the duplication method of the stack to reuse big ints by passing in an existing integer pool.
Diffstat (limited to 'core/vm/stack.go')
-rw-r--r--core/vm/stack.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/vm/stack.go b/core/vm/stack.go
index 2d1b7bb82..f4777c5b3 100644
--- a/core/vm/stack.go
+++ b/core/vm/stack.go
@@ -60,8 +60,8 @@ func (st *Stack) swap(n int) {
st.data[st.len()-n], st.data[st.len()-1] = st.data[st.len()-1], st.data[st.len()-n]
}
-func (st *Stack) dup(n int) {
- st.push(new(big.Int).Set(st.data[st.len()-n]))
+func (st *Stack) dup(pool *intPool, n int) {
+ st.push(pool.get().Set(st.data[st.len()-n]))
}
func (st *Stack) peek() *big.Int {