From d0a15c3de2867b2f566831307da1cd51b5957a62 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Wed, 13 Dec 2023 10:03:05 +0000 Subject: riscv64: Fix wrong sign-extension for references. Test: Modify kPreferredAllocSpaceBegin = 0x90000000, then testrunner.py --target --64 --ndebug --optimizing Bug: 283082089 Change-Id: Ifb82d616a0d9664a2e7f5f96a1a79ddce5862cdf --- compiler/utils/jni_macro_assembler.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'compiler/utils/jni_macro_assembler.cc') diff --git a/compiler/utils/jni_macro_assembler.cc b/compiler/utils/jni_macro_assembler.cc index dc7ec60032..7a90a46f51 100644 --- a/compiler/utils/jni_macro_assembler.cc +++ b/compiler/utils/jni_macro_assembler.cc @@ -38,6 +38,7 @@ #include "base/globals.h" #include "base/memory_region.h" #include "gc_root.h" +#include "stack_reference.h" namespace art HIDDEN { @@ -115,4 +116,17 @@ void JNIMacroAssembler::LoadGcRootWithoutReadBarrier(ManagedRe ManagedRegister base, MemberOffset offs); +template +void JNIMacroAssembler::LoadStackReference(ManagedRegister dest, FrameOffset offs) { + static_assert(sizeof(uint32_t) == sizeof(StackReference)); + Load(dest, offs, sizeof(uint32_t)); +} + +template +void JNIMacroAssembler::LoadStackReference(ManagedRegister dest, + FrameOffset offs); +template +void JNIMacroAssembler::LoadStackReference(ManagedRegister dest, + FrameOffset offs); + } // namespace art -- cgit v1.2.3-59-g8ed1b