Prepared by: | never on Tue Mar 29 13:56:44 PDT 2011 |
---|---|
Workspace: | /net/smite.us.oracle.com/export/ws/merged |
Compare against: | /net/smite.us.oracle.com/export/ws/baseline |
Summary of changes: | 242 lines changed: 176 ins; 31 del; 35 mod; 7684 unchg |
Patch of changes: | 7031614.patch |
Author comments: |
7031614: jmap -permstat fails with java.lang.InternalError in sun.jvm.hotspot.oops.OopField.getValue Reviewed-by: There were some places that were finding static fields by iterating over the InstanceKlass object which I missed in my original changes. I added an iterateStaticFields that hides the owner the static fields and uses the OopVisitor.getObj to return the proper object. I inspected all the iterateFields call sites to make sure I didn't miss any. Additionally iteration of the mirror wasn't visiting the static fields so some roots might be missed by the reverse pointers analysis. There is heap iteration code in the SA and the InstanceMirrorKlass wasn't plugged into the the oop sizing logic in the SA which caused some searches to fail. I needed to add access to oop_size so I moved the java_lang_Class style utilities into their own class and made them like normal SA style classes. Tested with the full tmtools suite that showed these issues plus some other which don't appear to have been reported. |
Bug id: | Bug Database |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java
10 lines changed: 9 ins; 0 del; 1 mod; 646 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/Instance.java
1 line changed: 0 ins; 0 del; 1 mod; 79 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java
21 lines changed: 19 ins; 0 del; 2 mod; 880 unchg
------ ------ ------
------
---
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/InstanceMirrorKlass.java
67 lines changed: 67 ins; 0 del; 0 mod; 0 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/jdi/ClassObjectReferenceImpl.java
2 lines changed: 0 ins; 0 del; 2 mod; 51 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java
6 lines changed: 0 ins; 4 del; 2 mod; 234 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/OopUtilities.java
24 lines changed: 0 ins; 24 del; 0 mod; 288 unchg
------ ------ ------
------
---
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/java_lang_Class.java
77 lines changed: 77 ins; 0 del; 0 mod; 0 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java
15 lines changed: 0 ins; 2 del; 13 mod; 843 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java
8 lines changed: 0 ins; 0 del; 8 mod; 130 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java
1 line changed: 0 ins; 0 del; 1 mod; 409 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java
1 line changed: 0 ins; 0 del; 1 mod; 1014 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/utilities/ReversePtrsAnalysis.java
4 lines changed: 0 ins; 1 del; 3 mod; 304 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaFactoryImpl.java
1 line changed: 0 ins; 0 del; 1 mod; 195 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/instanceMirrorKlass.hpp
2 lines changed: 2 ins; 0 del; 0 mod; 110 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/runtime/vmStructs.cpp
2 lines changed: 2 ins; 0 del; 0 mod; 2501 unchg
This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).