mirror of
https://github.com/pezkuwichain/wasm-instrument.git
synced 2026-06-09 20:11:06 +00:00
Don't generate duplicate thunks
Previously, functions that appear in multiple places (exported, start function, table) would generate a thunk for each place they appear in. Those additional thunks are identical and only only one of them would be referenced. Main offender are tables with redundant entries. This commit eliminates those duplicate thunks without adding any additional overhead.
This commit is contained in:
@@ -22,23 +22,7 @@
|
||||
i32.const 1
|
||||
i32.sub
|
||||
global.set 0)
|
||||
(func (;4;) (type 1)
|
||||
global.get 0
|
||||
i32.const 1
|
||||
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 1
|
||||
i32.sub
|
||||
global.set 0)
|
||||
(global (;0;) (mut i32) (i32.const 0))
|
||||
(export "exported_start" (func 4))
|
||||
(export "exported_start" (func 3))
|
||||
(export "call" (func 2))
|
||||
(start 4))
|
||||
(start 3))
|
||||
|
||||
Reference in New Issue
Block a user