Skip to content

Commit f841dd1

Browse files
Only add instrumentation to reftypes when the featureset supports it (#2377)
1 parent 9fe79b8 commit f841dd1

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

src/passes/InstrumentLocals.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,14 +145,17 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
145145
addImport(curr, get_i64, "jiij");
146146
addImport(curr, get_f32, "fiif");
147147
addImport(curr, get_f64, "diid");
148-
addImport(curr, get_anyref, "aiia");
149-
addImport(curr, get_exnref, "eiie");
150148
addImport(curr, set_i32, "iiii");
151149
addImport(curr, set_i64, "jiij");
152150
addImport(curr, set_f32, "fiif");
153151
addImport(curr, set_f64, "diid");
154-
addImport(curr, set_anyref, "aiia");
155-
addImport(curr, set_exnref, "eiie");
152+
153+
if (curr->features.hasReferenceTypes()) {
154+
addImport(curr, get_anyref, "aiia");
155+
addImport(curr, get_exnref, "eiie");
156+
addImport(curr, set_anyref, "aiia");
157+
addImport(curr, set_exnref, "eiie");
158+
}
156159
}
157160

158161
private:

test/passes/instrument-locals_all-features.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
(import "env" "get_i64" (func $get_i64 (param i32 i32 i64) (result i64)))
1111
(import "env" "get_f32" (func $get_f32 (param i32 i32 f32) (result f32)))
1212
(import "env" "get_f64" (func $get_f64 (param i32 i32 f64) (result f64)))
13-
(import "env" "get_anyref" (func $get_anyref (param i32 i32 anyref) (result anyref)))
14-
(import "env" "get_exnref" (func $get_exnref (param i32 i32 exnref) (result exnref)))
1513
(import "env" "set_i32" (func $set_i32 (param i32 i32 i32) (result i32)))
1614
(import "env" "set_i64" (func $set_i64 (param i32 i32 i64) (result i64)))
1715
(import "env" "set_f32" (func $set_f32 (param i32 i32 f32) (result f32)))
1816
(import "env" "set_f64" (func $set_f64 (param i32 i32 f64) (result f64)))
17+
(import "env" "get_anyref" (func $get_anyref (param i32 i32 anyref) (result anyref)))
18+
(import "env" "get_exnref" (func $get_exnref (param i32 i32 exnref) (result exnref)))
1919
(import "env" "set_anyref" (func $set_anyref (param i32 i32 anyref) (result anyref)))
2020
(import "env" "set_exnref" (func $set_exnref (param i32 i32 exnref) (result exnref)))
2121
(func $A (; 12 ;) (type $FUNCSIG$v)

0 commit comments

Comments
 (0)