-
Enhancement
-
Resolution: Not an Issue
-
P3
-
9
The Oracle Studio Performance Analyzer walks x86 instructions while a target
application is running as part of call-stack unwind in order to attribute
performance metrics to user source code. Starting with Java 9, there have
been problematic instruction byte sequences that have caused SEGVs. They
look like:
jmp *(%reg)
nop
where the nop can take many different forms and apparently serves to pad out
until the next multiple-of-8 boundary. It is desirable that the end of a
code block, when there will be no more executable instructions, would be
indicated with an x86 ud2 (0x0f 0x0b) before the nop so that there is a clear
indicator that no further bytes should be walked. Please let me know if
there is anything about this request that needs further explanation.
application is running as part of call-stack unwind in order to attribute
performance metrics to user source code. Starting with Java 9, there have
been problematic instruction byte sequences that have caused SEGVs. They
look like:
jmp *(%reg)
nop
where the nop can take many different forms and apparently serves to pad out
until the next multiple-of-8 boundary. It is desirable that the end of a
code block, when there will be no more executable instructions, would be
indicated with an x86 ud2 (0x0f 0x0b) before the nop so that there is a clear
indicator that no further bytes should be walked. Please let me know if
there is anything about this request that needs further explanation.
- relates to
-
JDK-8153270 SIGSEGV in stack walking with Sun Studio Performance Analyzer
-
- Closed
-