From 9578d58bc032a3bd3308b69bfa423343bcfb6299 Mon Sep 17 00:00:00 2001 From: Gilles Duboscq Date: Wed, 3 Apr 2024 16:16:38 +0200 Subject: [PATCH 1/2] Remove assert in guestOffsetToSlot This is meant to fail later with a guest exception when the field cannot be found. --- .../truffle/espresso/substitutions/Target_sun_misc_Unsafe.java | 1 - 1 file changed, 1 deletion(-) diff --git a/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/substitutions/Target_sun_misc_Unsafe.java b/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/substitutions/Target_sun_misc_Unsafe.java index 3c2377a31ca2..3dfa81ce20a6 100644 --- a/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/substitutions/Target_sun_misc_Unsafe.java +++ b/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/substitutions/Target_sun_misc_Unsafe.java @@ -232,7 +232,6 @@ public static final class SafetyGuestFieldOffsetStrategy implements GuestFieldOf public int guestOffsetToSlot(long guestOffset) { int offset = Math.toIntExact(guestOffset); if (forceStatic(offset)) { - assert offset >= (SAFETY_STATIC_FIELD_OFFSET - ALLOWED_HIDDEN_FIELDS) : "offset: " + offset; return offset - SAFETY_STATIC_FIELD_OFFSET; } else { return offset - SAFETY_FIELD_OFFSET; From 3e416cd74217575a39ddc65c1908197d3894abcb Mon Sep 17 00:00:00 2001 From: Gilles Duboscq Date: Wed, 3 Apr 2024 16:17:23 +0200 Subject: [PATCH 2/2] In java -truffle default to the "graal" field offset strategy --- .../src/com/oracle/truffle/espresso/libjavavm/LibEspresso.java | 1 + 1 file changed, 1 insertion(+) diff --git a/espresso/src/com.oracle.truffle.espresso.libjavavm/src/com/oracle/truffle/espresso/libjavavm/LibEspresso.java b/espresso/src/com.oracle.truffle.espresso.libjavavm/src/com/oracle/truffle/espresso/libjavavm/LibEspresso.java index b5d8f2b23fab..40affb3b8d59 100644 --- a/espresso/src/com.oracle.truffle.espresso.libjavavm/src/com/oracle/truffle/espresso/libjavavm/LibEspresso.java +++ b/espresso/src/com.oracle.truffle.espresso.libjavavm/src/com/oracle/truffle/espresso/libjavavm/LibEspresso.java @@ -73,6 +73,7 @@ static int createJavaVM(@SuppressWarnings("unused") IsolateThread thread, JNIJav builder.option("java.ExitHost", "true"); builder.option("java.EnableSignals", "true"); builder.option("java.ExposeNativeJavaVM", "true"); + builder.option("java.GuestFieldOffsetStrategy", "graal"); // most "hotspot-like" Context context = builder.build(); context.enter(); Value bindings;