aboutsummaryrefslogtreecommitdiff
path: root/core/vm/memory_table.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/vm/memory_table.go')
-rw-r--r--core/vm/memory_table.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/core/vm/memory_table.go b/core/vm/memory_table.go
index 4fcb414..047f610 100644
--- a/core/vm/memory_table.go
+++ b/core/vm/memory_table.go
@@ -70,6 +70,22 @@ func memoryCall(stack *Stack) (uint64, bool) {
}
return y, false
}
+
+func memoryCallExpert(stack *Stack) (uint64, bool) {
+ x, overflow := calcMemSize64(stack.Back(7), stack.Back(8))
+ if overflow {
+ return 0, true
+ }
+ y, overflow := calcMemSize64(stack.Back(5), stack.Back(6))
+ if overflow {
+ return 0, true
+ }
+ if x > y {
+ return x, false
+ }
+ return y, false
+}
+
func memoryDelegateCall(stack *Stack) (uint64, bool) {
x, overflow := calcMemSize64(stack.Back(4), stack.Back(5))
if overflow {