On Thu, 16 Oct 2025 13:58:09 GMT, Kerem Kat <[email protected]> wrote:

>> Remove 32-bit x86 specific code from the HotSpot Serviceability Agent 
>> following the removal of 32-bit x86 support.
>> 
>> - Removed x86-specific implementations and ifdef blocks.
>> - Renamed files with X86 in the name when they are also used from AMD64, 
>> e.g. `X86Frame` → `AMD64Frame`.
>> - Cleaned up platform detection logic in `PlatformInfo`.
>> - Updated documentation references.
>
> 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.

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

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

Reply via email to