neo-go/pkg/vm
Roman Khimov 90582faacd vm: save current stack slice when loading new context
v.estack is used throughout the code to work with estack, while ctx.sc.estack
is (theoretically) just a reference to it that is saved on script load and
restored to v.estack on context unload. The problem is that v.estack can grow
as we use it and can be reallocated away from its original slice (saved in the
ctx.sc.estack), so either ctx.sc.estack should be a pointer or we need to
ensure that it's correct when loading a new script. The second approach is a
bit safer for now and it fixes #2798.
2022-11-15 23:48:02 +03:00
..
emit emit: optimize Bool GAS cost 2022-10-25 13:08:33 +03:00
invocations vm: move InvocationTree into a package of its own 2022-07-08 23:30:30 +03:00
opcode vm: add MODMUL and MODPOW opcodes 2022-05-12 14:25:14 +03:00
stackitem cli: unify parameters parsing 2022-10-13 08:20:27 +03:00
testdata vm: upgrade submodule 2022-05-12 14:25:14 +03:00
vmstate vm: move State type into a package of its own 2022-07-08 18:34:52 +03:00
bench_test.go vm: optimize IsSignatureContract 2022-06-07 10:29:13 +03:00
context.go contract/vm: only push NULL after call in dynamic contexts 2022-08-05 14:35:00 +03:00
contract_checks.go vm: optimize IsSignatureContract 2022-06-07 10:29:13 +03:00
contract_checks_test.go vm: avoid panic in IsScriptCorrect 2022-03-17 20:12:50 +03:00
debug_test.go vm: rework stack as a simple slice 2021-08-24 15:28:14 +03:00
exception.go [#2442] English Check 2022-05-04 19:48:27 +03:00
fuzz_test.go vm: optimize refcounter 2022-08-23 13:18:06 +03:00
invocation_tree_test.go vm: move InvocationTree into a package of its own 2022-07-08 23:30:30 +03:00
json_test.go vm: extract shared parts of the Context 2022-08-05 14:26:25 +03:00
opcodebench_test.go vm: extract shared parts of the Context 2022-08-05 14:26:25 +03:00
ref_counter.go vm: optimize refcounter 2022-08-23 13:18:06 +03:00
ref_counter_test.go vm/bench: extend refcounter benchmarks 2022-08-23 13:08:42 +03:00
slot.go vm: simplify (slot).Set code 2022-05-17 16:26:22 +03:00
slot_test.go vm: count initial Null slot variables as well 2022-05-16 17:42:57 +03:00
stack.go *: apply go 1.19 formatter heuristics 2022-08-09 15:37:52 +03:00
stack_test.go vm: rework stack as a simple slice 2021-08-24 15:28:14 +03:00
vm.go vm: save current stack slice when loading new context 2022-11-15 23:48:02 +03:00
vm_test.go vm: remove default syscall handler 2022-10-07 15:56:34 +03:00