The minus() methods in the platform specific address classes return values of type 'long'. But there are multiple areas where these return values are read into values of type 'int', with deliberate casts, thus causing potential loss of data.
An example:
share/classes/sun/jvm/hotspot/asm/Disassembler.java
48 public static void decode(InstructionVisitor visitor, CodeBlob blob, Address begin , Address end) {
49 int codeSize = (int)end.minus(begin);
An example:
share/classes/sun/jvm/hotspot/asm/Disassembler.java
48 public static void decode(InstructionVisitor visitor, CodeBlob blob, Address begin , Address end) {
49 int codeSize = (int)end.minus(begin);
- relates to
-
JDK-8169232 SA: TestCpoolForInvokeDynamic.java fails with sun.jvm.hotspot.debugger.DebuggerException: binary search bug: should have found entry 1
-
- Resolved
-