Prepared by: | twisti on Tue Oct 22 15:05:08 PDT 2013 |
---|---|
Workspace: | /Users/twisti/ws/8026328 |
Compare against: | ssh://hg.openjdk.java.net/hsx/hotspot-comp-gate/hotspot |
Summary of changes: | 195 lines changed: 66 ins; 56 del; 73 mod; 27361 unchg |
Patch of changes: | 8026328.patch |
Author comments: |
8026328: Setting a breakpoint on invokedynamic crashes the JVM Reviewed-by: Well-known invoke instructions have a 2-byte index but invokedynamic has a 4-byte index. In return entries we check the bytecode instruction to decide which size the index has. The problem is that if there is a breakpoint there is no way to know what index size the instruction has because the original instruction byte was replaced with the breakpoint byte. There are a couple of ways to fix this but the proper way (in my opinion) is to have separate return entries for the different classes of invoke instructions. This on one hand generates more return entries but on the other hand makes them smaller and simpler. |
Bug id: | 8026328 |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/sparc/vm/cppInterpreter_sparc.cpp
1 line changed: 0 ins; 0 del; 1 mod; 2303 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/sparc/vm/templateInterpreter_sparc.cpp
31 lines changed: 2 ins; 19 del; 10 mod; 2074 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/sparc/vm/templateTable_sparc.cpp
5 lines changed: 0 ins; 2 del; 3 mod; 3773 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/cppInterpreter_x86.cpp
1 line changed: 0 ins; 0 del; 1 mod; 2453 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/templateInterpreter_x86_32.cpp
26 lines changed: 0 ins; 12 del; 14 mod; 2079 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/templateInterpreter_x86_64.cpp
21 lines changed: 0 ins; 12 del; 9 mod; 2117 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/templateTable_x86_32.cpp
3 lines changed: 0 ins; 2 del; 1 mod; 3684 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/templateTable_x86_64.cpp
3 lines changed: 0 ins; 2 del; 1 mod; 3760 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/zero/vm/cppInterpreter_zero.cpp
1 line changed: 0 ins; 0 del; 1 mod; 1055 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/interpreter/abstractInterpreter.hpp
2 lines changed: 0 ins; 0 del; 2 mod; 322 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/interpreter/cppInterpreter.hpp
1 line changed: 0 ins; 0 del; 1 mod; 104 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/interpreter/interpreter.cpp
12 lines changed: 6 ins; 0 del; 6 mod; 484 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/interpreter/templateInterpreter.cpp
71 lines changed: 51 ins; 7 del; 13 mod; 607 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/interpreter/templateInterpreter.hpp
11 lines changed: 4 ins; 0 del; 7 mod; 200 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/interpreter/templateInterpreterGenerator.hpp
1 line changed: 0 ins; 0 del; 1 mod; 109 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/method.cpp
4 lines changed: 3 ins; 0 del; 1 mod; 2012 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/runtime/handles.cpp
1 line changed: 0 ins; 0 del; 1 mod; 225 unchg
This code review page was prepared using /Users/twisti/bin/webrev (vers 23.18-hg-never-dev).