Consider activation frame for stack height metering (#2)

* Charge a base cost for calling a function

* Added regression test for empty functions

* Satisfy clippy
This commit is contained in:
Alexander Theißen
2022-01-18 19:04:17 +02:00
committed by GitHub
parent 4e3e6b598a
commit 57da96fb50
13 changed files with 120 additions and 38 deletions
+19 -4
View File
@@ -8,7 +8,7 @@
(func (;2;) (type 1))
(func (;3;) (type 1)
global.get 0
i32.const 1
i32.const 3
i32.add
global.set 0
global.get 0
@@ -19,10 +19,25 @@
end
call 1
global.get 0
i32.const 1
i32.const 3
i32.sub
global.set 0)
(func (;4;) (type 1)
global.get 0
i32.const 2
i32.add
global.set 0
global.get 0
i32.const 1024
i32.gt_u
if ;; label = @1
unreachable
end
call 2
global.get 0
i32.const 2
i32.sub
global.set 0)
(global (;0;) (mut i32) (i32.const 0))
(export "exported_start" (func 3))
(export "call" (func 2))
(export "call" (func 4))
(start 3))