Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
80948a88
D
dragonwell8_hotspot
项目概览
openanolis
/
dragonwell8_hotspot
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_hotspot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
80948a88
编写于
5月 16, 2008
作者:
D
dcubed
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
ba102b38
962123e6
变更
21
隐藏空白更改
内联
并排
Showing
21 changed file
with
299 addition
and
22 deletion
+299
-22
.hgtags
.hgtags
+1
-0
agent/make/Makefile
agent/make/Makefile
+4
-4
agent/src/share/classes/sun/jvm/hotspot/HSDB.java
agent/src/share/classes/sun/jvm/hotspot/HSDB.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/SALauncherLoader.java
...t/src/share/classes/sun/jvm/hotspot/SALauncherLoader.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java
agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/jdi/SAJDIClassLoader.java
...c/share/classes/sun/jvm/hotspot/jdi/SAJDIClassLoader.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java
.../classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java
+59
-0
agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java
...sses/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java
+71
-3
agent/src/share/classes/sun/jvm/hotspot/memory/DefNewGeneration.java
...hare/classes/sun/jvm/hotspot/memory/DefNewGeneration.java
+2
-2
agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java
agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java
+72
-0
agent/src/share/classes/sun/jvm/hotspot/memory/LinearAllocBlock.java
...hare/classes/sun/jvm/hotspot/memory/LinearAllocBlock.java
+59
-0
agent/src/share/classes/sun/jvm/hotspot/ui/AnnotatedMemoryPanel.java
...hare/classes/sun/jvm/hotspot/ui/AnnotatedMemoryPanel.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java
...are/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/ui/DebuggerConsolePanel.java
...hare/classes/sun/jvm/hotspot/ui/DebuggerConsolePanel.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/ui/HighPrecisionJScrollBar.java
...e/classes/sun/jvm/hotspot/ui/HighPrecisionJScrollBar.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/ui/JFrameWrapper.java
...t/src/share/classes/sun/jvm/hotspot/ui/JFrameWrapper.java
+1
-1
agent/src/share/classes/sun/jvm/hotspot/ui/treetable/JTreeTable.java
...hare/classes/sun/jvm/hotspot/ui/treetable/JTreeTable.java
+2
-2
src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp
...plementation/concurrentMarkSweep/binaryTreeDictionary.hpp
+1
-0
src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp
...are/vm/gc_implementation/concurrentMarkSweep/freeList.hpp
+1
-0
src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp
...m/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp
+17
-2
src/share/vm/runtime/vmStructs.cpp
src/share/vm/runtime/vmStructs.cpp
+1
-0
未找到文件。
.hgtags
浏览文件 @
80948a88
a61af66fc99eb5ec9d50c05b0c599757b1289ceb jdk7-b24
7836be3e92d0a4f9ee7566f602c91f5609534e66 jdk7-b25
ad0b851458ff9d1d490ed2d79bb84f75a9fdb753 jdk7-b26
agent/make/Makefile
浏览文件 @
80948a88
...
...
@@ -246,16 +246,16 @@ SA_PROPERTIES = $(OUTPUT_DIR)/sa.properties
all
:
filelist
@
mkdir
-p
$(OUTPUT_DIR)
@
echo
"
$(SA_BUILD_VERSION_PROP)
"
>
$(SA_PROPERTIES)
@
javac
-source
1.4
-classpath
$(CLASSPATH)
-deprecation
-sourcepath
$(SRC_DIR)
-g
-d
$(OUTPUT_DIR)
@filelist
@
rmic
-classpath
$(OUTPUT_DIR)
-d
$(OUTPUT_DIR)
sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
@
${JDK_HOME}
/bin/
javac
-source
1.4
-classpath
$(CLASSPATH)
-deprecation
-sourcepath
$(SRC_DIR)
-g
-d
$(OUTPUT_DIR)
@filelist
@
${JDK_HOME}
/bin/
rmic
-classpath
$(OUTPUT_DIR)
-d
$(OUTPUT_DIR)
sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
rm
-f
$(OUTPUT_DIR)
/sun/jvm/hotspot/utilities/soql/sa.js
cp
$(SRC_DIR)
/sun/jvm/hotspot/utilities/soql/sa.js
$(OUTPUT_DIR)
/sun/jvm/hotspot/utilities/soql
allprof
:
filelist
@
mkdir
-p
$(OUTPUT_DIR)
@
echo
"
$(SA_BUILD_VERSION_PROP)
"
>
$(SA_PROPERTIES)
@
javac
-source
1.4
-J-Xprof
-classpath
$(CLASSPATH)
-deprecation
-sourcepath
$(SRC_DIR)
-g
-d
$(OUTPUT_DIR)
@filelist
@
rmic
-classpath
$(OUTPUT_DIR)
-d
$(OUTPUT_DIR)
sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
@
${JDK_HOME}
/bin/
javac
-source
1.4
-J-Xprof
-classpath
$(CLASSPATH)
-deprecation
-sourcepath
$(SRC_DIR)
-g
-d
$(OUTPUT_DIR)
@filelist
@
${JDK_HOME}
/bin/
rmic
-classpath
$(OUTPUT_DIR)
-d
$(OUTPUT_DIR)
sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
rm
-f
$(OUTPUT_DIR)
/sun/jvm/hotspot/utilities/soql/sa.js
cp
$(SRC_DIR)
/sun/jvm/hotspot/utilities/soql/sa.js
$(OUTPUT_DIR)
/sun/jvm/hotspot/utilities/soql
...
...
agent/src/share/classes/sun/jvm/hotspot/HSDB.java
浏览文件 @
80948a88
...
...
@@ -398,7 +398,7 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
frame
.
getContentPane
().
add
(
desktop
);
GraphicsUtilities
.
reshapeToAspectRatio
(
frame
,
4.0f
/
3.0f
,
0.75f
,
Toolkit
.
getDefaultToolkit
().
getScreenSize
());
GraphicsUtilities
.
centerInContainer
(
frame
,
Toolkit
.
getDefaultToolkit
().
getScreenSize
());
frame
.
s
how
(
);
frame
.
s
etVisible
(
true
);
Runtime
.
getRuntime
().
addShutdownHook
(
new
java
.
lang
.
Thread
()
{
public
void
run
()
{
...
...
agent/src/share/classes/sun/jvm/hotspot/SALauncherLoader.java
浏览文件 @
80948a88
...
...
@@ -148,7 +148,7 @@ public class SALauncherLoader extends URLClassLoader {
}
try
{
return
file
.
toURL
();
return
file
.
toUR
I
().
toUR
L
();
}
catch
(
MalformedURLException
mue
)
{
throw
new
InternalError
(
mue
.
getMessage
());
}
...
...
agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java
浏览文件 @
80948a88
...
...
@@ -47,6 +47,6 @@ public class Main {
4.0f
/
3.0f
,
0.85f
,
Toolkit
.
getDefaultToolkit
().
getScreenSize
());
GraphicsUtilities
.
centerInContainer
(
frame
,
Toolkit
.
getDefaultToolkit
().
getScreenSize
());
frame
.
s
how
(
);
frame
.
s
etVisible
(
true
);
}
}
agent/src/share/classes/sun/jvm/hotspot/jdi/SAJDIClassLoader.java
浏览文件 @
80948a88
...
...
@@ -78,7 +78,7 @@ class SAJDIClassLoader extends URLClassLoader {
this
(
parent
);
this
.
classPathSet
=
true
;
try
{
addURL
(
new
File
(
classPath
).
toURL
());
addURL
(
new
File
(
classPath
).
toUR
I
().
toUR
L
());
}
catch
(
MalformedURLException
mue
)
{
throw
new
RuntimeException
(
mue
);
}
...
...
agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java
0 → 100644
浏览文件 @
80948a88
/*
* @(#)BinaryTreeDictionary.java
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package
sun.jvm.hotspot.memory
;
import
java.util.*
;
import
sun.jvm.hotspot.debugger.*
;
import
sun.jvm.hotspot.types.*
;
import
sun.jvm.hotspot.runtime.*
;
public
class
BinaryTreeDictionary
extends
VMObject
{
static
{
VM
.
registerVMInitializedObserver
(
new
Observer
()
{
public
void
update
(
Observable
o
,
Object
data
)
{
initialize
(
VM
.
getVM
().
getTypeDataBase
());
}
});
}
private
static
synchronized
void
initialize
(
TypeDataBase
db
)
{
Type
type
=
db
.
lookupType
(
"BinaryTreeDictionary"
);
totalSizeField
=
type
.
getCIntegerField
(
"_totalSize"
);
}
// Fields
private
static
CIntegerField
totalSizeField
;
// Accessors
public
long
size
()
{
return
totalSizeField
.
getValue
(
addr
);
}
// Constructor
public
BinaryTreeDictionary
(
Address
addr
)
{
super
(
addr
);
}
}
agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java
浏览文件 @
80948a88
...
...
@@ -35,6 +35,20 @@ import sun.jvm.hotspot.utilities.*;
public
class
CompactibleFreeListSpace
extends
CompactibleSpace
{
private
static
AddressField
collectorField
;
// for free size, three fields
// FreeBlockDictionary* _dictionary; // ptr to dictionary for large size blocks
// FreeList _indexedFreeList[IndexSetSize]; // indexed array for small size blocks
// LinearAllocBlock _smallLinearAllocBlock; // small linear alloc in TLAB
private
static
AddressField
indexedFreeListField
;
private
static
AddressField
dictionaryField
;
private
static
long
smallLinearAllocBlockFieldOffset
;
private
static
long
indexedFreeListSizeOf
;
private
int
heapWordSize
;
// 4 for 32bit, 8 for 64 bits
private
int
IndexSetStart
;
// for small indexed list
private
int
IndexSetSize
;
private
int
IndexSetStride
;
static
{
VM
.
registerVMInitializedObserver
(
new
Observer
()
{
public
void
update
(
Observable
o
,
Object
data
)
{
...
...
@@ -51,10 +65,26 @@ public class CompactibleFreeListSpace extends CompactibleSpace {
Type
type
=
db
.
lookupType
(
"CompactibleFreeListSpace"
);
collectorField
=
type
.
getAddressField
(
"_collector"
);
collectorField
=
type
.
getAddressField
(
"_collector"
);
dictionaryField
=
type
.
getAddressField
(
"_dictionary"
);
indexedFreeListField
=
type
.
getAddressField
(
"_indexedFreeList[0]"
);
smallLinearAllocBlockFieldOffset
=
type
.
getField
(
"_smallLinearAllocBlock"
).
getOffset
();
}
public
CompactibleFreeListSpace
(
Address
addr
)
{
super
(
addr
);
if
(
VM
.
getVM
().
isLP64
()
)
{
heapWordSize
=
8
;
IndexSetStart
=
1
;
IndexSetStride
=
1
;
}
else
{
heapWordSize
=
4
;
IndexSetStart
=
2
;
IndexSetStride
=
2
;
}
IndexSetSize
=
257
;
}
// Accessing block offset table
...
...
@@ -62,9 +92,17 @@ public class CompactibleFreeListSpace extends CompactibleSpace {
return
(
CMSCollector
)
VMObjectFactory
.
newObject
(
CMSCollector
.
class
,
collectorField
.
getValue
(
addr
));
}
}
public
long
free0
()
{
return
capacity
()
-
used0
();
}
public
long
used
()
{
return
capacity
()
-
free
();
}
public
long
used0
()
{
List
regions
=
getLiveRegions
();
long
usedSize
=
0L
;
for
(
Iterator
itr
=
regions
.
iterator
();
itr
.
hasNext
();)
{
...
...
@@ -75,11 +113,41 @@ public class CompactibleFreeListSpace extends CompactibleSpace {
}
public
long
free
()
{
return
capacity
()
-
used
();
}
// small chunks
long
size
=
0
;
Address
cur
=
addr
.
addOffsetTo
(
indexedFreeListField
.
getOffset
()
);
cur
=
cur
.
addOffsetTo
(
IndexSetStart
*
FreeList
.
sizeOf
());
for
(
int
i
=
IndexSetStart
;
i
<
IndexSetSize
;
i
+=
IndexSetStride
)
{
FreeList
freeList
=
(
FreeList
)
VMObjectFactory
.
newObject
(
FreeList
.
class
,
cur
);
size
+=
i
*
freeList
.
count
();
cur
=
cur
.
addOffsetTo
(
IndexSetStride
*
FreeList
.
sizeOf
());
}
// large block
BinaryTreeDictionary
bfbd
=
(
BinaryTreeDictionary
)
VMObjectFactory
.
newObject
(
BinaryTreeDictionary
.
class
,
dictionaryField
.
getValue
(
addr
));
size
+=
bfbd
.
size
();
// linear block in TLAB
LinearAllocBlock
lab
=
(
LinearAllocBlock
)
VMObjectFactory
.
newObject
(
LinearAllocBlock
.
class
,
addr
.
addOffsetTo
(
smallLinearAllocBlockFieldOffset
));
size
+=
lab
.
word_size
();
return
size
*
heapWordSize
;
}
public
void
printOn
(
PrintStream
tty
)
{
tty
.
print
(
"free-list-space"
);
tty
.
print
(
"[ "
+
bottom
()
+
" , "
+
end
()
+
" ) "
);
long
cap
=
capacity
();
long
used_size
=
used
();
long
free_size
=
free
();
int
used_perc
=
(
int
)((
double
)
used_size
/
cap
*
100
);
tty
.
print
(
"space capacity = "
+
cap
+
" used("
+
used_perc
+
"%)= "
+
used_size
+
" "
);
tty
.
print
(
"free= "
+
free_size
);
tty
.
print
(
"\n"
);
}
public
Address
skipBlockSizeUsingPrintezisBits
(
Address
pos
)
{
...
...
agent/src/share/classes/sun/jvm/hotspot/memory/DefNewGeneration.java
浏览文件 @
80948a88
...
...
@@ -96,9 +96,9 @@ public class DefNewGeneration extends Generation {
public
void
printOn
(
PrintStream
tty
)
{
tty
.
print
(
" eden"
);
eden
().
printOn
(
tty
);
tty
.
print
(
" from"
);
tty
.
print
(
"
\n
from"
);
from
().
printOn
(
tty
);
tty
.
print
(
" to "
);
tty
.
print
(
"
\n
to "
);
to
().
printOn
(
tty
);
}
}
agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java
0 → 100644
浏览文件 @
80948a88
/*
* @(#)FreeList.java
*
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package
sun.jvm.hotspot.memory
;
import
java.util.*
;
import
sun.jvm.hotspot.debugger.*
;
import
sun.jvm.hotspot.types.*
;
import
sun.jvm.hotspot.runtime.*
;
public
class
FreeList
extends
VMObject
{
static
{
VM
.
registerVMInitializedObserver
(
new
Observer
()
{
public
void
update
(
Observable
o
,
Object
data
)
{
initialize
(
VM
.
getVM
().
getTypeDataBase
());
}
});
}
private
static
synchronized
void
initialize
(
TypeDataBase
db
)
{
Type
type
=
db
.
lookupType
(
"FreeList"
);
sizeField
=
type
.
getCIntegerField
(
"_size"
);
countField
=
type
.
getCIntegerField
(
"_count"
);
headerSize
=
type
.
getSize
();
}
// Fields
private
static
CIntegerField
sizeField
;
private
static
CIntegerField
countField
;
private
static
long
headerSize
;
//Constructor
public
FreeList
(
Address
address
)
{
super
(
address
);
}
// Accessors
public
long
size
()
{
return
sizeField
.
getValue
(
addr
);
}
public
long
count
()
{
return
countField
.
getValue
(
addr
);
}
public
static
long
sizeOf
()
{
return
headerSize
;
}
}
agent/src/share/classes/sun/jvm/hotspot/memory/LinearAllocBlock.java
0 → 100644
浏览文件 @
80948a88
/*
* @(#)BinaryTreeDictionary.java
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package
sun.jvm.hotspot.memory
;
import
java.util.*
;
import
sun.jvm.hotspot.debugger.*
;
import
sun.jvm.hotspot.types.*
;
import
sun.jvm.hotspot.runtime.*
;
public
class
LinearAllocBlock
extends
VMObject
{
static
{
VM
.
registerVMInitializedObserver
(
new
Observer
()
{
public
void
update
(
Observable
o
,
Object
data
)
{
initialize
(
VM
.
getVM
().
getTypeDataBase
());
}
});
}
private
static
synchronized
void
initialize
(
TypeDataBase
db
)
{
Type
type
=
db
.
lookupType
(
"LinearAllocBlock"
);
word_sizeField
=
type
.
getCIntegerField
(
"_word_size"
);
}
// Fields
private
static
CIntegerField
word_sizeField
;
// Accessors
public
long
word_size
()
{
return
word_sizeField
.
getValue
(
addr
);
}
// Constructor
public
LinearAllocBlock
(
Address
addr
)
{
super
(
addr
);
}
}
agent/src/share/classes/sun/jvm/hotspot/ui/AnnotatedMemoryPanel.java
浏览文件 @
80948a88
...
...
@@ -648,6 +648,6 @@ public class AnnotatedMemoryPanel extends JPanel {
System
.
exit
(
0
);
}
});
frame
.
s
how
(
);
frame
.
s
etVisible
(
true
);
}
}
agent/src/share/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java
浏览文件 @
80948a88
...
...
@@ -220,7 +220,7 @@ public class CommandProcessorPanel extends JPanel {
}
});
frame
.
setSize
(
500
,
500
);
frame
.
s
how
(
);
frame
.
s
etVisible
(
true
);
panel
.
requestFocus
();
}
}
agent/src/share/classes/sun/jvm/hotspot/ui/DebuggerConsolePanel.java
浏览文件 @
80948a88
...
...
@@ -226,7 +226,7 @@ public class DebuggerConsolePanel extends JPanel {
}
});
frame
.
setSize
(
500
,
500
);
frame
.
s
how
(
);
frame
.
s
etVisible
(
true
);
panel
.
requestFocus
();
}
}
agent/src/share/classes/sun/jvm/hotspot/ui/HighPrecisionJScrollBar.java
浏览文件 @
80948a88
...
...
@@ -424,7 +424,7 @@ public class HighPrecisionJScrollBar extends JScrollBar {
}
});
frame
.
getContentPane
().
add
(
hpsb
);
frame
.
s
how
(
);
frame
.
s
etVisible
(
true
);
}
}
agent/src/share/classes/sun/jvm/hotspot/ui/JFrameWrapper.java
浏览文件 @
80948a88
...
...
@@ -43,7 +43,7 @@ public class JFrameWrapper implements FrameWrapper {
public
void
setVisible
(
boolean
visible
)
{
frame
.
setVisible
(
visible
);
}
public
void
setSize
(
int
x
,
int
y
)
{
frame
.
setSize
(
x
,
y
);
}
public
void
pack
()
{
frame
.
pack
();
}
public
void
show
()
{
frame
.
s
how
();
}
public
void
show
()
{
frame
.
s
etVisible
(
true
);
}
public
void
dispose
()
{
frame
.
dispose
();
}
public
void
setBackground
(
Color
color
)
{
frame
.
setBackground
(
color
);
}
public
void
setResizable
(
boolean
resizable
)
{
frame
.
setResizable
(
resizable
);
}
...
...
agent/src/share/classes/sun/jvm/hotspot/ui/treetable/JTreeTable.java
浏览文件 @
80948a88
...
...
@@ -477,9 +477,9 @@ public class JTreeTable extends JTable {
static
class
TreeTableTextField
extends
JTextField
{
public
int
offset
;
public
void
reshape
(
int
x
,
int
y
,
int
w
,
int
h
)
{
public
void
setBounds
(
int
x
,
int
y
,
int
w
,
int
h
)
{
int
newX
=
Math
.
max
(
x
,
offset
);
super
.
reshape
(
newX
,
y
,
w
-
(
newX
-
x
),
h
);
super
.
setBounds
(
newX
,
y
,
w
-
(
newX
-
x
),
h
);
}
}
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp
浏览文件 @
80948a88
...
...
@@ -130,6 +130,7 @@ class TreeChunk : public FreeChunk {
const
size_t
MIN_TREE_CHUNK_SIZE
=
sizeof
(
TreeChunk
)
/
HeapWordSize
;
class
BinaryTreeDictionary
:
public
FreeBlockDictionary
{
friend
class
VMStructs
;
bool
_splay
;
size_t
_totalSize
;
size_t
_totalFreeBlocks
;
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp
浏览文件 @
80948a88
...
...
@@ -38,6 +38,7 @@ class Mutex;
class
FreeList
VALUE_OBJ_CLASS_SPEC
{
friend
class
CompactibleFreeListSpace
;
friend
class
VMStructs
;
friend
class
printTreeCensusClosure
;
FreeChunk
*
_head
;
// List of free chunks
FreeChunk
*
_tail
;
// Tail of list of free chunks
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp
浏览文件 @
80948a88
...
...
@@ -38,7 +38,15 @@
static_field(ConcurrentMarkSweepThread, _collector, CMSCollector*) \
nonstatic_field(FreeChunk, _next, FreeChunk*) \
nonstatic_field(FreeChunk, _prev, FreeChunk*) \
nonstatic_field(FreeChunk, _size, size_t)
nonstatic_field(FreeChunk, _size, size_t) \
nonstatic_field(LinearAllocBlock, _word_size, size_t) \
nonstatic_field(FreeList, _size, size_t) \
nonstatic_field(FreeList, _count, ssize_t) \
nonstatic_field(BinaryTreeDictionary, _totalSize, size_t) \
nonstatic_field(CompactibleFreeListSpace, _dictionary, FreeBlockDictionary*) \
nonstatic_field(CompactibleFreeListSpace, _indexedFreeList[0], FreeList) \
nonstatic_field(CompactibleFreeListSpace, _smallLinearAllocBlock, LinearAllocBlock)
#define VM_TYPES_CMS(declare_type, \
declare_toplevel_type) \
...
...
@@ -57,7 +65,14 @@
declare_toplevel_type(SurrogateLockerThread*) \
declare_toplevel_type(CompactibleFreeListSpace*) \
declare_toplevel_type(CMSCollector*) \
declare_toplevel_type(FreeChunk*)
declare_toplevel_type(FreeChunk*) \
declare_toplevel_type(BinaryTreeDictionary*) \
declare_toplevel_type(FreeBlockDictionary*) \
declare_toplevel_type(FreeList*) \
declare_toplevel_type(FreeList) \
declare_toplevel_type(LinearAllocBlock) \
declare_toplevel_type(FreeBlockDictionary) \
declare_type(BinaryTreeDictionary, FreeBlockDictionary)
#define VM_INT_CONSTANTS_CMS(declare_constant) \
declare_constant(Generation::ConcurrentMarkSweep) \
...
...
src/share/vm/runtime/vmStructs.cpp
浏览文件 @
80948a88
...
...
@@ -894,6 +894,7 @@ static inline uint64_t cast_uint64_t(size_t x)
/*******************************************************************/
\
\
declare_unsigned_integer_type(size_t) \
declare_integer_type(ssize_t) \
declare_unsigned_integer_type(const size_t) \
declare_integer_type(intx) \
declare_integer_type(intptr_t) \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录