head 1.3; access; symbols pkgsrc-2025Q4:1.2.0.2 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.1.0.2 pkgsrc-2025Q3-base:1.1; locks; strict; comment @// @; 1.3 date 2026.02.01.06.52.01; author ryoon; state dead; branches; next 1.2; commitid fXrix1LhW8aMODsG; 1.2 date 2025.11.15.12.15.13; author ryoon; state Exp; branches; next 1.1; commitid jW41FOLRfOr57EiG; 1.1 date 2025.08.06.08.47.15; author pho; state Exp; branches; next ; commitid crtwqAUAj7v3dE5G; desc @@ 1.3 log @lang/openjdk17: Update to 1.17.0.18.8 Changelog: Updated BSD port of JDK 17 Additional features include: Update to 17.0.18 GA @ text @$NetBSD: patch-src_hotspot_cpu_aarch64_jniFastGetField__aarch64.cpp,v 1.2 2025/11/15 12:15:13 ryoon Exp $ Workaround for the Hotspot VM dying on Apple Silicon chips. See the patch to threadWXSetters.inline.hpp for details. --- src/hotspot/cpu/aarch64/jniFastGetField_aarch64.cpp.orig 2025-11-01 06:28:57.000000000 +0000 +++ src/hotspot/cpu/aarch64/jniFastGetField_aarch64.cpp @@@@ -32,6 +32,7 @@@@ #include "prims/jvm_misc.hpp" #include "prims/jvmtiExport.hpp" #include "runtime/safepoint.hpp" +#include "runtime/thread.inline.hpp" #include "runtime/threadWXSetters.inline.hpp" #define __ masm-> @ 1.2 log @lang/openjdk17: Update to 1.17.0.17.10 Changelog: Updated BSD port of JDK 17 Additional features include: Update to 17.0.17 GA @ text @d1 1 a1 1 $NetBSD: patch-src_hotspot_cpu_aarch64_jniFastGetField__aarch64.cpp,v 1.1 2025/08/06 08:47:15 pho Exp $ @ 1.1 log @lang/openjdk17: Workaround for the VM dying on Apple Silicon chips See the patch for threadWXSetters.inline.hpp for details. I rebuilt the bootkit for aarch64 with new patches applied. This may cause some performance regression on Cortex series, but as I stated in the patch comment, relying on implementation details of a particular chip is fundamentally unsound, and that's why it didn't work on Apple Silicon in the first place. But since the upstream has stated they are knowingly doing this, the chance of these patches getting accepted is slim, if not zero. Also backported fixes regarding floating point arithmetics that appeared in OpenJDK 22. @ text @d1 1 a1 1 $NetBSD: patch-src_hotspot_cpu_aarch64_jniFastGetField__aarch64.cpp,v 1.1 2025/08/04 13:22:06 pho Exp $ d6 1 a6 1 --- src/hotspot/cpu/aarch64/jniFastGetField_aarch64.cpp.orig 2025-04-19 18:17:03.000000000 +0000 a15 25 @@@@ -58,8 +59,6 @@@@ static const Register result = r7 // (8262896). So each FastGetXXXField is wrapped into a C++ statically // compiled template function that optionally switches to WXExec if necessary. -#ifdef __APPLE__ - static address generated_fast_get_field[T_LONG + 1 - T_BOOLEAN]; template struct BasicTypeToJni {}; @@@@ -86,15 +85,6 @@@@ address JNI_FastGetField::generate_fast_ return (address)static_fast_get_field_wrapper; } -#else // __APPLE__ - -template -address JNI_FastGetField::generate_fast_get_int_field1() { - return generate_fast_get_int_field0((BasicType)BType); -} - -#endif // __APPLE__ - address JNI_FastGetField::generate_fast_get_int_field0(BasicType type) { const char *name; switch (type) { @