RFR: 8340212: -Xshare:off -XX:CompressedClassSpaceBaseAddress=0x40001000000 crashes on macos-aarch64 [v10]
Coleen Phillimore
coleenp at openjdk.org
Mon Dec 9 23:11:08 UTC 2024
On Mon, 9 Dec 2024 17:38:12 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 5328:
>>
>>> 5326:
>>> 5327: // Check if one of the above decoding modes will work for given base, shift and range.
>>> 5328: bool MacroAssembler::check_klass_decode_mode(address base, int shift, const size_t range) {
>>
>> Can we refactor the code so that `check_klass_decode_mode()` only does the checking and have no side effects?
>>
>> This code is called from CDS, which sometimes will unmap the archive and retry at an os-assigned random address, so updating the actual base/shift here will be problematic.
>
> My first patch did that, but it had to copy the code to see if the encoding could use Movk. I think I do like that better to not have side effects since the code has to be called again to have the correct decode mode after allocation succeeds.
Yes, refactored.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21695#discussion_r1876885586
More information about the hotspot-dev
mailing list