RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v26]
Roberto Castañeda Lozano
rcastanedalo at openjdk.org
Tue Oct 8 15:47:16 UTC 2024
On Tue, 8 Oct 2024 07:16:13 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> @rkennke Thanks for the explanation. I attach here a fix which is an extension of existing way of copying while taking care of the smaller object header. Also there are two instances of this in the intrinsic so I have factored the new code into a method and call it from both the places.
>> [indexof_fix.patch](https://github.com/user-attachments/files/17285239/indexof_fix.patch)
>
> Thank you, @sviswa7! Yes this fix looks correct. I've intergrated it into this PR and re-enabled the indexOf intrinsic for compact headers.
@rkennke @sviswa7 These changes trigger the following assertion failure:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (codeBuffer.cpp:1004), pid=96032, tid=29699
# guarantee(sect->end() <= tend) failed: sanity
when running the following tests with compact object headers disabled (i.e. default JVM settings):
- `java/lang/StringBuffer/ECoreIndexOf.java`
- `java/lang/String/IndexOf.java`
on our test macosx-x64 machines. These machines are equipped with Intel Core i7-8700B processors with the following characteristics:
CPU: total 12 (initial active 12) (6 cores per cpu, 2 threads per core) family 6 model 158 stepping 10 microcode 0xf4, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, rtm, adx, fma, vzeroupper, clflush, clflushopt, rdtscp, f16c
If you need more details to reproduce the issue, please let me know and I will try to help.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20677#discussion_r1792121119
More information about the serviceability-dev
mailing list