RFR: 8351194: Clean up Hotspot SA after 32-bit x86 removal [v2]

David Holmes dholmes at openjdk.org
Fri Oct 17 01:14:12 UTC 2025


On Thu, 16 Oct 2025 17:24:35 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> Kerem Kat has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
>> 
>>  - Merge branch 'master' into clean-x86-sa-JDK-8351194
>>  - Clean up Hotspot SA after 32-bit x86 removal
>
> src/jdk.hotspot.agent/doc/clhsdb.html line 35:
> 
>> 33:   classes <font color="red">print all loaded Java classes with Klass*</font>
>> 34:   detach <font color="red">detach SA from current target</font>
>> 35:   dis address [ length ]  <font color="red">disassemble (amd64) specified number of instructions from given address</font>
> 
> Two issues here. The first is I think this was previously incorrect in that SA supports any architecture for which it can find the hsdis library. You can probably just drop the amd64 reference or add "requires hsdis".
> 
> The 2nd issue is with amd64 vs x86_64. It seems in SA the two basically have the same meaning, and you see a lot of C code that checks for both. However, the java code seems to always just reference AMD64 (but also works with x86_64). I'm just wondering if this is consistent with the rest of hotspot, or if we should consider a rename to x86_64 instead of amd64.
> 
> BTW, at the platform level there are some amd64 vs x86_64 differences. The one I noted is that MacOSX is considered x86_64 and I think linux and windows are amd64. I'm not sure why, but I recently noted a test that had an @requires for `os.arch == "amd64"` and that kept is from running on macosx-x64 until the @requires was expanded to also allow for `os.arch == "x86_64"`.  You should take extra care to make sure that these changes work with all the x86_64, including macosx. I see some places in the C code where we check for both amd64 and x86_64 and some where we only check for amd64. Perhaps x86_64 is not used by SA for macosx.

AMD64 is historical, it should all be changed to x86_64. The only place AMD64 is relevant is in actual AMD processor specific code.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27844#discussion_r2437959110


More information about the serviceability-dev mailing list