neo-go/pkg/vm
Roman Khimov 2627628387 vm: optimize SWAP instruction, refactor common code
Add `Swap` method to the Stack and use it for both SWAP and XSWAP. Avoid
element popping and pushing (and associated accounting costs).

1.4M->1.5M 100K block import test before:
real    3m51,885s
user    5m54,744s
sys     0m38,444s

After:
real    3m44,292s
user    5m43,494s
sys     0m34,741s
2019-12-16 19:02:40 +03:00
..
cli compiler: move it up from vm 2019-12-03 18:23:46 +03:00
opcode vm: move opcodes into their own package 2019-12-03 18:22:14 +03:00
testdata vm: implement json tests from neoVM 2019-11-06 16:22:56 +03:00
tests compiler: move it up from vm 2019-12-03 18:23:46 +03:00
context.go vm: optimize Next() in Context 2019-12-13 19:57:17 +03:00
contract_checks.go vm: move opcodes into their own package 2019-12-03 18:22:14 +03:00
contract_checks_test.go vm: move opcodes into their own package 2019-12-03 18:22:14 +03:00
emit.go util: add LE suffix to Uint160 methods 2019-12-06 12:16:55 +03:00
emit_test.go vm: move opcodes into their own package 2019-12-03 18:22:14 +03:00
interop.go vm: implement serialization interops in core package 2019-11-05 17:10:52 +03:00
json_test.go vm: force neo-vm tests presence 2019-12-04 20:30:27 +03:00
output.go vm: add IterBack to the Stack to iterate bottom-to-top 2019-11-27 13:00:11 +03:00
serialization.go io: rename Read/WriteBytes to Read/WriteB 2019-12-12 20:19:50 +03:00
stack.go vm: optimize SWAP instruction, refactor common code 2019-12-16 19:02:40 +03:00
stack_item.go vm: use hex for ByteArray JSON marshallization 2019-11-15 18:04:59 +03:00
stack_test.go vm: optimize SWAP instruction, refactor common code 2019-12-16 19:02:40 +03:00
state.go fix spelling and godoc comments 2019-10-22 17:56:03 +03:00
state_test.go Code refactoring (#143) 2019-02-19 14:22:33 +01:00
vm.go vm: optimize SWAP instruction, refactor common code 2019-12-16 19:02:40 +03:00
vm_test.go vm: optimize SWAP instruction, refactor common code 2019-12-16 19:02:40 +03:00