diff options
author | 2023-11-30 14:22:44 +0000 | |
---|---|---|
committer | 2023-11-30 15:16:55 +0000 | |
commit | aee58113619f618a8c9189251d9cdc5e95837490 (patch) | |
tree | 54d14c72021d2f62b673025fa11f20fdadfeb254 /compiler/optimizing/intrinsics_riscv64.cc | |
parent | 060ad735fdeb2d4b8cf5a115762e994def2eba67 (diff) |
riscv64: Fix reference load in VarHandle checks.
Test: builbot-build.sh --target
Bug: 283082089
Change-Id: I99c57cb1305c1f2bc5cd8310c104006febad1d3b
Diffstat (limited to 'compiler/optimizing/intrinsics_riscv64.cc')
-rw-r--r-- | compiler/optimizing/intrinsics_riscv64.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/optimizing/intrinsics_riscv64.cc b/compiler/optimizing/intrinsics_riscv64.cc index 90303eb3e9..a013f1dda7 100644 --- a/compiler/optimizing/intrinsics_riscv64.cc +++ b/compiler/optimizing/intrinsics_riscv64.cc @@ -1623,7 +1623,7 @@ static void GenerateVarHandleAccessModeAndVarTypeChecks(HInvoke* invoke, // For primitive types, we do not need a read barrier when loading a reference only for loading // constant field through the reference. For reference types, we deliberately avoid the read // barrier, letting the slow path handle the false negatives. - __ Loadw(temp, varhandle, var_type_offset.Int32Value()); + __ Loadwu(temp, varhandle, var_type_offset.Int32Value()); codegen->MaybeUnpoisonHeapReference(temp); // Check the varType.primitiveType field against the type we're trying to use. |