File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed
visualvm/libs.profiler/lib.profiler.heap/src/org/graalvm/visualvm/lib/jfluid/heap Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -76,8 +76,7 @@ int getOopSize() {
76
76
LOG .log (Level .CONFIG , "OopSize uses idSize {0}" , idSize ); // NOI18N
77
77
if (idSize == 8 ) { // can be compressed oops
78
78
if (hprofHeap .getClassDumpSegment ().newSize ) {
79
- oopSize = getMinimumInstanceSize () - idSize ;
80
- LOG .log (Level .CONFIG , "OopSize computed as {0}" , oopSize ); // NOI18N
79
+ oopSize = guessNewOopSize (idSize );
81
80
} else {
82
81
oopSize = guessOopSize (idSize );
83
82
}
@@ -89,6 +88,17 @@ int getOopSize() {
89
88
return oopSize ;
90
89
}
91
90
91
+ private int guessNewOopSize (int idSize ) {
92
+ int size = getMinimumInstanceSize () - idSize ;
93
+ LOG .log (Level .CONFIG , "OopSize computed as {0}" , size ); // NOI18N
94
+ if (size == 4 || size == 8 ) {
95
+ return size ;
96
+ }
97
+ size = (size < 8 ) ? 4 : 8 ;
98
+ LOG .log (Level .CONFIG , "OopSize set to {0}" , size ); // NOI18N
99
+ return size ;
100
+ }
101
+
92
102
private int guessOopSize (int idSize ) {
93
103
// detect compressed oops
94
104
int size = getFieldsDiff ("java.lang.Class$Atomic" , "annotationDataOffset" , "annotationTypeOffset" ); // NOI18N
You can’t perform that action at this time.
0 commit comments