diff --git a/crates/cranelift/src/gc/enabled/drc.rs b/crates/cranelift/src/gc/enabled/drc.rs index f029f557b8ba..18e7fa3cba97 100644 --- a/crates/cranelift/src/gc/enabled/drc.rs +++ b/crates/cranelift/src/gc/enabled/drc.rs @@ -100,7 +100,7 @@ impl DrcCompiler { let vmctx = builder.ins().global_value(ptr_ty, vmctx); let activations_table = builder.ins().load( ptr_ty, - ir::MemFlags::trusted(), + ir::MemFlags::trusted().with_readonly(), vmctx, i32::from(func_env.offsets.ptr.vmctx_gc_heap_data()), ); diff --git a/tests/disas/gc/externref-globals.wat b/tests/disas/gc/externref-globals.wat index 0df25d8c9cde..95ab0b2d15ac 100644 --- a/tests/disas/gc/externref-globals.wat +++ b/tests/disas/gc/externref-globals.wat @@ -33,7 +33,7 @@ ;; @0034 brif v6, block5, block2 ;; ;; block2: -;; @0034 v8 = load.i64 notrap aligned v0+56 +;; @0034 v8 = load.i64 notrap aligned readonly v0+56 ;; @0034 v9 = load.i64 notrap aligned v8 ;; @0034 v10 = load.i64 notrap aligned v8+8 ;; @0034 v11 = icmp eq v9, v10 diff --git a/tests/disas/gc/struct-get.wat b/tests/disas/gc/struct-get.wat index cb948ffd5725..7653d39afdea 100644 --- a/tests/disas/gc/struct-get.wat +++ b/tests/disas/gc/struct-get.wat @@ -135,7 +135,7 @@ ;; @004e brif v19, block5, block2 ;; ;; block2: -;; @004e v21 = load.i64 notrap aligned v0+56 +;; @004e v21 = load.i64 notrap aligned readonly v0+56 ;; @004e v22 = load.i64 notrap aligned v21 ;; @004e v23 = load.i64 notrap aligned v21+8 ;; @004e v24 = icmp eq v22, v23 diff --git a/tests/disas/ref-func-0.wat b/tests/disas/ref-func-0.wat index b606b3bb2460..694fc0ddd6d8 100644 --- a/tests/disas/ref-func-0.wat +++ b/tests/disas/ref-func-0.wat @@ -35,7 +35,7 @@ ;; ;; block2: ;; @008f v10 = global_value.i64 gv3 -;; @008f v11 = load.i64 notrap aligned v10+56 +;; @008f v11 = load.i64 notrap aligned readonly v10+56 ;; @008f v12 = load.i64 notrap aligned v11 ;; @008f v13 = load.i64 notrap aligned v11+8 ;; @008f v14 = icmp eq v12, v13 @@ -94,7 +94,7 @@ ;; ;; block6: ;; @0091 v46 = global_value.i64 gv3 -;; @0091 v47 = load.i64 notrap aligned v46+56 +;; @0091 v47 = load.i64 notrap aligned readonly v46+56 ;; @0091 v48 = load.i64 notrap aligned v47 ;; @0091 v49 = load.i64 notrap aligned v47+8 ;; @0091 v50 = icmp eq v48, v49 diff --git a/tests/disas/table-get-fixed-size.wat b/tests/disas/table-get-fixed-size.wat index 4ee33992dfc8..6cfed3926c4e 100644 --- a/tests/disas/table-get-fixed-size.wat +++ b/tests/disas/table-get-fixed-size.wat @@ -47,7 +47,7 @@ ;; @0054 brif v13, block5, block2 ;; ;; block2: -;; @0054 v15 = load.i64 notrap aligned v0+56 +;; @0054 v15 = load.i64 notrap aligned readonly v0+56 ;; @0054 v16 = load.i64 notrap aligned v15 ;; @0054 v17 = load.i64 notrap aligned v15+8 ;; @0054 v18 = icmp eq v16, v17 @@ -136,7 +136,7 @@ ;; @005b brif v13, block5, block2 ;; ;; block2: -;; @005b v15 = load.i64 notrap aligned v0+56 +;; @005b v15 = load.i64 notrap aligned readonly v0+56 ;; @005b v16 = load.i64 notrap aligned v15 ;; @005b v17 = load.i64 notrap aligned v15+8 ;; @005b v18 = icmp eq v16, v17 diff --git a/tests/disas/table-get.wat b/tests/disas/table-get.wat index ab0f897cba44..0f1d781151cd 100644 --- a/tests/disas/table-get.wat +++ b/tests/disas/table-get.wat @@ -48,7 +48,7 @@ ;; @0053 brif v14, block5, block2 ;; ;; block2: -;; @0053 v16 = load.i64 notrap aligned v0+56 +;; @0053 v16 = load.i64 notrap aligned readonly v0+56 ;; @0053 v17 = load.i64 notrap aligned v16 ;; @0053 v18 = load.i64 notrap aligned v16+8 ;; @0053 v19 = icmp eq v17, v18 @@ -139,7 +139,7 @@ ;; @005a brif v14, block5, block2 ;; ;; block2: -;; @005a v16 = load.i64 notrap aligned v0+56 +;; @005a v16 = load.i64 notrap aligned readonly v0+56 ;; @005a v17 = load.i64 notrap aligned v16 ;; @005a v18 = load.i64 notrap aligned v16+8 ;; @005a v19 = icmp eq v17, v18