-
Enhancement
-
Resolution: Fixed
-
P4
-
hs25, 8, 9, 10, 11, 15
-
b23
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8246831 | 13.0.4 | Xin Liu | P4 | Resolved | Fixed | b05 |
JDK-8252873 | 11.0.10-oracle | Fairoz Matte | P4 | Resolved | Fixed | b01 |
JDK-8245751 | 11.0.8 | Xin Liu | P4 | Resolved | Fixed | b05 |
On x86 the usual uncommon trap code looks like this:
0x000000010598efb6: mov $0xffffffad,%esi
0x000000010598efbb: callq 0x0000000105965f20 ; OopMap{rbp=Oop [0]=Oop off=64}
;*if_acmpne
; - java.lang.Object::equals@2 (line 149)
; {runtime_call}
0x000000010598efc0: callq 0x00000001048e2834 ; {runtime_call}
The first call is to the uncommon trap blob. The second one comes from the HaltNode basically putting verification code there to make sure we are not returning from the deopt blob. We don't need in a product build.
The Halt node is matched in the .ad files to int3 of the MacroAssembler.
A possible fix would be to change the implementation of MacroAssembler::int3 in all assembler_<os>_x86.cpp files. But that might break some other uses of int3.
0x000000010598efb6: mov $0xffffffad,%esi
0x000000010598efbb: callq 0x0000000105965f20 ; OopMap{rbp=Oop [0]=Oop off=64}
;*if_acmpne
; - java.lang.Object::equals@2 (line 149)
; {runtime_call}
0x000000010598efc0: callq 0x00000001048e2834 ; {runtime_call}
The first call is to the uncommon trap blob. The second one comes from the HaltNode basically putting verification code there to make sure we are not returning from the deopt blob. We don't need in a product build.
The Halt node is matched in the .ad files to int3 of the MacroAssembler.
A possible fix would be to change the implementation of MacroAssembler::int3 in all assembler_<os>_x86.cpp files. But that might break some other uses of int3.
- backported by
-
JDK-8245751 remove HaltNode code after uncommon trap calls
- Resolved
-
JDK-8246831 remove HaltNode code after uncommon trap calls
- Resolved
-
JDK-8252873 remove HaltNode code after uncommon trap calls
- Resolved
- relates to
-
JDK-8260338 Some fields in HaltNode is not cloned
- Resolved
-
JDK-8230552 Provide information when hitting a HaltNode for architectures other than x86
- Resolved