RFR: 8365047: Remove exception handler stub code in C2 [v7]
Andrew Haley
aph at openjdk.org
Wed Oct 22 10:05:09 UTC 2025
On Tue, 21 Oct 2025 13:56:57 GMT, Andrew Dinn <adinn at openjdk.org> wrote:
> A possible solution to this would be to check for NOP only as the first step, and to check for MOVK conditionally.
SafeFetch was designed specifically for problems like this one.
diff --git a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp
index df5d97c2376..eff84ac195f 100644
--- a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp
+++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp
@@ -29,7 +29,7 @@
#include "asm/assembler.hpp"
#include "runtime/icache.hpp"
#include "runtime/os.hpp"
-#include "runtime/os.hpp"
+#include "runtime/safefetch.hpp"
#if INCLUDE_JVMCI
#include "jvmci/jvmciExceptions.hpp"
#endif
@@ -528,7 +528,7 @@ inline NativeLdSt* NativeLdSt_at(address addr) {
class NativePostCallNop: public NativeInstruction {
public:
bool check() const {
- uint64_t insns = *(uint64_t*)addr_at(0);
+ uint64_t insns = SafeFetchN((intptr_t*)addr_at(0), 0);
// Check for two instructions: nop; movk zr, xx
// These instructions only ever appear together in a post-call
// NOP, so it's unnecessary to check that the third instruction is
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26678#issuecomment-3431497753
More information about the serviceability-dev
mailing list