mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 10:22:23 +00:00
added swap1..16 methods
This commit is contained in:
parent
6e33dbf96a
commit
04395315b1
2 changed files with 58 additions and 0 deletions
|
|
@ -68,6 +68,39 @@ 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]
|
st.data[st.len()-n], st.data[st.len()-1] = st.data[st.len()-1], st.data[st.len()-n]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *Stack) swap1() { s.data[s.len()-2], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-2] }
|
||||||
|
func (s *Stack) swap2() { s.data[s.len()-3], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-3] }
|
||||||
|
func (s *Stack) swap3() { s.data[s.len()-4], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-4] }
|
||||||
|
func (s *Stack) swap4() { s.data[s.len()-5], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-5] }
|
||||||
|
func (s *Stack) swap5() { s.data[s.len()-6], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-6] }
|
||||||
|
func (s *Stack) swap6() { s.data[s.len()-7], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-7] }
|
||||||
|
func (s *Stack) swap7() { s.data[s.len()-8], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-8] }
|
||||||
|
func (s *Stack) swap8() { s.data[s.len()-9], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-9] }
|
||||||
|
func (s *Stack) swap9() {
|
||||||
|
s.data[s.len()-10], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-10]
|
||||||
|
}
|
||||||
|
func (s *Stack) swap10() {
|
||||||
|
s.data[s.len()-11], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-11]
|
||||||
|
}
|
||||||
|
func (s *Stack) swap11() {
|
||||||
|
s.data[s.len()-12], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-12]
|
||||||
|
}
|
||||||
|
func (s *Stack) swap12() {
|
||||||
|
s.data[s.len()-13], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-13]
|
||||||
|
}
|
||||||
|
func (s *Stack) swap13() {
|
||||||
|
s.data[s.len()-14], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-14]
|
||||||
|
}
|
||||||
|
func (s *Stack) swap14() {
|
||||||
|
s.data[s.len()-15], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-15]
|
||||||
|
}
|
||||||
|
func (s *Stack) swap15() {
|
||||||
|
s.data[s.len()-16], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-16]
|
||||||
|
}
|
||||||
|
func (s *Stack) swap16() {
|
||||||
|
s.data[s.len()-17], s.data[s.len()-1] = s.data[s.len()-1], s.data[s.len()-17]
|
||||||
|
}
|
||||||
|
|
||||||
func (st *Stack) dup(n int) {
|
func (st *Stack) dup(n int) {
|
||||||
st.push(&st.data[st.len()-n])
|
st.push(&st.data[st.len()-n])
|
||||||
}
|
}
|
||||||
|
|
|
||||||
25
core/vm/stack_test.go
Normal file
25
core/vm/stack_test.go
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
package vm
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/holiman/uint256"
|
||||||
|
)
|
||||||
|
|
||||||
|
func BenchmarkStackSwap(b *testing.B) {
|
||||||
|
stack := newstack()
|
||||||
|
stack.push(new(uint256.Int))
|
||||||
|
stack.push(new(uint256.Int))
|
||||||
|
|
||||||
|
b.Run("swap(1)", func(b *testing.B) {
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
stack.swap(1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
b.Run("swap1()", func(b *testing.B) {
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
stack.swap1()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue