summaryrefslogtreecommitdiff
path: root/compiler/utils/jni_macro_assembler.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2023-12-13 10:03:05 +0000
committer VladimĂ­r Marko <vmarko@google.com> 2023-12-14 14:43:12 +0000
commitd0a15c3de2867b2f566831307da1cd51b5957a62 (patch)
tree6befbdf4c7d0935681ef701905cb367d9d260e2a /compiler/utils/jni_macro_assembler.h
parentb1bd3729fcb010b9f2f7d7498ee1a75a71132e0c (diff)
riscv64: Fix wrong sign-extension for references.
Test: Modify kPreferredAllocSpaceBegin = 0x90000000, then testrunner.py --target --64 --ndebug --optimizing Bug: 283082089 Change-Id: Ifb82d616a0d9664a2e7f5f96a1a79ddce5862cdf
Diffstat (limited to 'compiler/utils/jni_macro_assembler.h')
-rw-r--r--compiler/utils/jni_macro_assembler.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/utils/jni_macro_assembler.h b/compiler/utils/jni_macro_assembler.h
index 2d51439ee8..2d52eada08 100644
--- a/compiler/utils/jni_macro_assembler.h
+++ b/compiler/utils/jni_macro_assembler.h
@@ -137,6 +137,10 @@ class JNIMacroAssembler : public DeletableArenaObject<kArenaAllocAssembler> {
ManagedRegister base,
MemberOffset offs);
+ // Load reference from a `StackReference<>`. The default is to load as `jint`. Some architectures
+ // (say, RISC-V) override this to provide a different sign- or zero-extension.
+ virtual void LoadStackReference(ManagedRegister dest, FrameOffset offs);
+
// Copying routines
// Move arguments from `srcs` locations to `dests` locations.