summaryrefslogtreecommitdiff
path: root/compiler/optimizing/intrinsics_riscv64.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2023-11-30 14:22:44 +0000
committer VladimĂ­r Marko <vmarko@google.com> 2023-11-30 15:16:55 +0000
commitaee58113619f618a8c9189251d9cdc5e95837490 (patch)
tree54d14c72021d2f62b673025fa11f20fdadfeb254 /compiler/optimizing/intrinsics_riscv64.cc
parent060ad735fdeb2d4b8cf5a115762e994def2eba67 (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.cc2
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.