RFR: 8342607: Enhance register printing on x86_64 platforms

Martin Doerr mdoerr at openjdk.org
Mon Oct 21 14:37:06 UTC 2024


There are some situations in which the XMM registers are relevant to understand errors. E.g. C2 compiler uses them to spill GPR values, so they may contain Oops etc. We may consider searching and printing the content for Oops in a future RFE.
I've implemented [JDK-8342607](https://bugs.openjdk.org/browse/JDK-8342607) such that linux and Windows show the same output format. (Skipped Intel-Mac because Apple has stopped shipping that platform. I don't have it and I'm not familiar with it.)

Example output (linux):

Registers:
RAX=0x00007fea8bdb3000, RBX=0x00007fea8b48d5d4, RCX=0x00007fea8b4d2255, RDX=0x0000000000000340
RSP=0x00007fea897d0b60, RBP=0x00007fea897d0b90, RSI=0x00007fea8b5f1448, RDI=0x00000000e0000000
R8 =0x00007fea8b48d5d4, R9 =0x0000000000000006, R10=0x00007fea8bb4b500, R11=0x00007fea7cc2f120
R12=0x0000000000000000, R13=0x00007fea897d0bc0, R14=0x00007fea897d0c50, R15=0x00007fea8402c9c0
RIP=0x00007fea8ac008e5, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
  TRAPNO=0x000000000000000e

XMM[0]=0x0000000000000000 0x0000000000000000
XMM[1]=0x00007fea3c034200 0x0000000000000000
XMM[2]=0x00000000fffffffe 0x00007fea8402c9c0
XMM[3]=0x00007fea7c3d6608 0x0000000000000000
XMM[4]=0x00007f0000000000 0x0000000000000000
XMM[5]=0x00007fea897d0fe8 0x00007feaffffffff
XMM[6]=0x0000000000000000 0x00007fea897d0f98
XMM[7]=0x0202020202020202 0x0000000000000000
XMM[8]=0x0000000000000000 0x0202020202020202
XMM[9]=0x666e69206e6f6974 0x0000000000000000
XMM[10]=0x0000000000000000 0x6e6f6974616d726f
XMM[11]=0x0000000000000001 0x0000000000000000
XMM[12]=0x00007fea8b684400 0x0000000000000001
XMM[13]=0x0000000000000000 0x0000000000000000
XMM[14]=0x0000000000000000 0x0000000000000000
XMM[15]=0x0000000000000000 0x0000000000000000
  MXCSR=0x0000037f

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

Commit messages:
 - 8342607: Enhance register printing on x86_64 platforms

Changes: https://git.openjdk.org/jdk/pull/21615/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21615&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8342607
  Stats: 20 lines in 2 files changed: 20 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/21615.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21615/head:pull/21615

PR: https://git.openjdk.org/jdk/pull/21615


More information about the hotspot-compiler-dev mailing list