From 10582a97ca3d147b29e1ca1c4069ce785a3ebde7 Mon Sep 17 00:00:00 2001
From: Jeffrey Wilcke <jeffrey@ethereum.org>
Date: Tue, 23 May 2017 10:52:11 +0200
Subject: 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.
---
 core/vm/stack.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'core/vm/stack.go')

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 {
-- 
cgit