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 authored and GitHub committed 2022-01-18 18:04:17 +01:00
1 parent 4e3e6b598a
commit 57da96fb50
13 files changed
+120 -38

No files matched your search

@@ -0,0 +1,52 @@
(module
(type (;0;) (func))
(func (;0;) (type 0)
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 0
global.get 0
i32.const 2
i32.sub
global.set 0)
(func (;1;) (type 0)
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 0
global.get 0
i32.const 2
i32.sub
global.set 0)
(func (;2;) (type 0)
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 1
global.get 0
i32.const 2
i32.sub
global.set 0)
(global (;0;) (mut i32) (i32.const 0))
(export "main" (func 2)))