You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Sources/Fuzzilli/Lifting/WasmLifter.swift
+10-12Lines changed: 10 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -945,7 +945,8 @@ public class WasmLifter {
945
945
// Check if instruction input is a parameter or if we have an expression for it, if so, we need to load it now.
946
946
forinputin instr.inputs {
947
947
// Skip "internal" inputs, i.e. ones that don't map to a slot, such as .label variables
948
-
if typer.type(of: input).Is(.label){
948
+
letinputType= typer.type(of: input)
949
+
if inputType.Is(.label) || inputType.Is(.exceptionLabel){
949
950
continue
950
951
}
951
952
@@ -962,19 +963,16 @@ public class WasmLifter {
962
963
continue
963
964
}
964
965
965
-
// TODO(mliedtke): Make this an attribute.
966
-
// Instruction has to be a glue instruction now, maybe add an attribute to the instruction that it may have non-wasm inputs, i.e. inputs that do not have a local slot.
967
-
if instr.op is WasmLoadGlobal || instr.op is WasmStoreGlobal || instr.op is WasmJsCall
968
-
|| instr.op is WasmMemoryStore || instr.op is WasmMemoryLoad || instr.op is WasmTableGet
969
-
|| instr.op is WasmTableSet || instr.op is WasmBeginCatch || instr.op is WasmThrow
970
-
|| instr.op is WasmRethrow || instr.op is WasmBeginBlock || instr.op is WasmBeginTry
971
-
|| instr.op is WasmI64x2LoadSplat || instr.op is WasmBeginTryDelegate
972
-
|| instr.op is WasmBeginIf || instr.op is WasmBeginElse{
973
-
continue
966
+
// Special inputs that aren't locals (e.g. memories, functions, tags, ...)
0 commit comments