Skip to content

Instantly share code, notes, and snippets.

@rednaxelafx
Created November 25, 2011 14:52
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rednaxelafx/1393698 to your computer and use it in GitHub Desktop.
Save rednaxelafx/1393698 to your computer and use it in GitHub Desktop.
A new "objtree" command for CLHSDB
$ pgrep java
3464
$ clhsdb
hsdb> attach 3464
Attaching to process 3464, please wait...
hsdb> jsload objtree.js
hsdb> objtree 0xc99f6378
Oop for java/util/HashSet @ 0x00000000c99f6378 (size of 16)
_mark: 5
map: Oop for java/util/HashMap @ 0x00000000c99f6388 (size of 48)
_mark: 5
keySet: Oop for java/util/HashMap$KeySet @ 0x00000000c99f63b8 (size of 16)
_mark: 5
this$0: Oop for java/util/HashMap @ 0x00000000c99f6388 (size of 48)
values: null
table: ObjArray @ 0x00000000c9d36488 (size of 528)
_mark: 1
0: null
1: null
2: null
3: null
4: null
5: null
6: null
7: null
8: null
9: null
10: null
11: null
12: null
13: null
14: Oop for java/util/HashMap$Entry @ 0x00000000c9d36fc8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36fe8 (size of 16)
_mark: 5
value: 200048
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211854
15: Oop for java/util/HashMap$Entry @ 0x00000000c9d36f98 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36fb8 (size of 16)
_mark: 5
value: 200049
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211855
16: Oop for java/util/HashMap$Entry @ 0x00000000c9d36f68 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36f88 (size of 16)
_mark: 5
value: 200047
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211856
17: Oop for java/util/HashMap$Entry @ 0x00000000c9d36f38 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36f58 (size of 16)
_mark: 5
value: 200046
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211857
18: Oop for java/util/HashMap$Entry @ 0x00000000c9d36f08 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36f28 (size of 16)
_mark: 5
value: 200045
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211858
19: Oop for java/util/HashMap$Entry @ 0x00000000c9d36ed8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36ef8 (size of 16)
_mark: 5
value: 200044
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211859
20: Oop for java/util/HashMap$Entry @ 0x00000000c9d36ea8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36ec8 (size of 16)
_mark: 5
value: 200043
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211860
21: Oop for java/util/HashMap$Entry @ 0x00000000c9d36e78 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36e98 (size of 16)
_mark: 5
value: 200042
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211861
22: Oop for java/util/HashMap$Entry @ 0x00000000c9d36e48 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36e68 (size of 16)
_mark: 5
value: 200041
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211862
23: Oop for java/util/HashMap$Entry @ 0x00000000c9d36e18 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36e38 (size of 16)
_mark: 5
value: 200040
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211863
24: Oop for java/util/HashMap$Entry @ 0x00000000c9d36de8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36e08 (size of 16)
_mark: 5
value: 200039
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211864
25: Oop for java/util/HashMap$Entry @ 0x00000000c9d36db8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36dd8 (size of 16)
_mark: 5
value: 200038
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211865
26: Oop for java/util/HashMap$Entry @ 0x00000000c9d36d88 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36da8 (size of 16)
_mark: 5
value: 200037
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211866
27: Oop for java/util/HashMap$Entry @ 0x00000000c9d36d58 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36d78 (size of 16)
_mark: 5
value: 200036
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211867
28: Oop for java/util/HashMap$Entry @ 0x00000000c9d36d28 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36d48 (size of 16)
_mark: 5
value: 200035
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211868
29: Oop for java/util/HashMap$Entry @ 0x00000000c9d36cf8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36d18 (size of 16)
_mark: 5
value: 200034
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211869
30: Oop for java/util/HashMap$Entry @ 0x00000000c9d36cc8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36ce8 (size of 16)
_mark: 5
value: 200033
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211870
31: Oop for java/util/HashMap$Entry @ 0x00000000c9d36c98 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36cb8 (size of 16)
_mark: 5
value: 200032
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211871
32: Oop for java/util/HashMap$Entry @ 0x00000000c9d36c68 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36c88 (size of 16)
_mark: 5
value: 200028
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211872
33: Oop for java/util/HashMap$Entry @ 0x00000000c9d36c38 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36c58 (size of 16)
_mark: 5
value: 200029
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211873
34: Oop for java/util/HashMap$Entry @ 0x00000000c9d36c08 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36c28 (size of 16)
_mark: 5
value: 200030
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211874
35: Oop for java/util/HashMap$Entry @ 0x00000000c9d36bd8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36bf8 (size of 16)
_mark: 5
value: 200031
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211875
36: Oop for java/util/HashMap$Entry @ 0x00000000c9d36ba8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36bc8 (size of 16)
_mark: 5
value: 200024
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211876
37: Oop for java/util/HashMap$Entry @ 0x00000000c9d36b78 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36b98 (size of 16)
_mark: 5
value: 200025
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211877
38: Oop for java/util/HashMap$Entry @ 0x00000000c9d36b48 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36b68 (size of 16)
_mark: 5
value: 200026
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211878
39: Oop for java/util/HashMap$Entry @ 0x00000000c9d36b18 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36b38 (size of 16)
_mark: 5
value: 200027
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211879
40: Oop for java/util/HashMap$Entry @ 0x00000000c9d36ae8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36b08 (size of 16)
_mark: 5
value: 200020
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211880
41: Oop for java/util/HashMap$Entry @ 0x00000000c9d36ab8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36ad8 (size of 16)
_mark: 5
value: 200021
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211881
42: Oop for java/util/HashMap$Entry @ 0x00000000c9d36a88 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36aa8 (size of 16)
_mark: 5
value: 200022
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211882
43: Oop for java/util/HashMap$Entry @ 0x00000000c9d36a58 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36a78 (size of 16)
_mark: 5
value: 200023
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211883
44: Oop for java/util/HashMap$Entry @ 0x00000000c9d36a28 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36a48 (size of 16)
_mark: 5
value: 200016
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211884
45: Oop for java/util/HashMap$Entry @ 0x00000000c9d369f8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36a18 (size of 16)
_mark: 5
value: 200017
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211885
46: Oop for java/util/HashMap$Entry @ 0x00000000c9d369c8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d369e8 (size of 16)
_mark: 5
value: 200018
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211886
47: Oop for java/util/HashMap$Entry @ 0x00000000c9d36998 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d369b8 (size of 16)
_mark: 5
value: 200019
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211887
48: Oop for java/util/HashMap$Entry @ 0x00000000c9d36968 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36988 (size of 16)
_mark: 5
value: 200013
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211888
49: Oop for java/util/HashMap$Entry @ 0x00000000c9d36938 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36958 (size of 16)
_mark: 5
value: 200012
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211889
50: Oop for java/util/HashMap$Entry @ 0x00000000c9d36908 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36928 (size of 16)
_mark: 5
value: 200015
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211890
51: Oop for java/util/HashMap$Entry @ 0x00000000c9d368d8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d368f8 (size of 16)
_mark: 5
value: 200014
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211891
52: Oop for java/util/HashMap$Entry @ 0x00000000c9d368a8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d368c8 (size of 16)
_mark: 5
value: 200009
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211892
53: Oop for java/util/HashMap$Entry @ 0x00000000c9d36878 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36898 (size of 16)
_mark: 5
value: 200008
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211893
54: Oop for java/util/HashMap$Entry @ 0x00000000c9d36848 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36868 (size of 16)
_mark: 5
value: 200011
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211894
55: Oop for java/util/HashMap$Entry @ 0x00000000c9d36818 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36838 (size of 16)
_mark: 5
value: 200010
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211895
56: Oop for java/util/HashMap$Entry @ 0x00000000c9d367e8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36808 (size of 16)
_mark: 5
value: 200005
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211896
57: Oop for java/util/HashMap$Entry @ 0x00000000c9d367b8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d367d8 (size of 16)
_mark: 5
value: 200004
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211897
58: Oop for java/util/HashMap$Entry @ 0x00000000c9d36788 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d367a8 (size of 16)
_mark: 5
value: 200007
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211898
59: Oop for java/util/HashMap$Entry @ 0x00000000c9d36758 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36778 (size of 16)
_mark: 5
value: 200006
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211899
60: Oop for java/util/HashMap$Entry @ 0x00000000c9d36728 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36748 (size of 16)
_mark: 5
value: 200001
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211900
61: Oop for java/util/HashMap$Entry @ 0x00000000c9d366f8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d36718 (size of 16)
_mark: 5
value: 200000
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211901
62: Oop for java/util/HashMap$Entry @ 0x00000000c9d366c8 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d366e8 (size of 16)
_mark: 5
value: 200003
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211902
63: Oop for java/util/HashMap$Entry @ 0x00000000c9d36698 (size of 32)
_mark: 5
key: Oop for java/lang/Integer @ 0x00000000c9d366b8 (size of 16)
_mark: 5
value: 200002
value: Oop for java/lang/Object @ 0x00000000c9b1d838 (size of 16)
_mark: 41
next: null
hash: 211903
64: null
65: null
66: null
67: null
68: null
69: null
70: null
71: null
72: null
73: null
74: null
75: null
76: null
77: null
78: null
79: null
80: null
81: null
82: null
83: null
84: null
85: null
86: null
87: null
88: null
89: null
90: null
91: null
92: null
93: null
94: null
95: null
96: null
97: null
98: null
99: null
100: null
101: null
102: null
103: null
104: null
105: null
106: null
107: null
108: null
109: null
110: null
111: null
112: null
113: null
114: null
115: null
116: null
117: null
118: null
119: null
120: null
121: null
122: null
123: null
124: null
125: null
126: null
127: null
size: 50
threshold: 96
loadFactor: 0.75
modCount: 50
entrySet: null
hsdb> quit
$ pgrep java
3683
$ clhsdb
hsdb> attach 3683
Attaching to process 3683, please wait...
hsdb> jsload objtree.js
hsdb> objtree 0xc9975b38
Oop for java/util/HashSet @ 0x00000000c9975b38 (size of 16)
_mark: 1
map: Oop for java/util/HashMap @ 0x00000000c9975f40 (size of 48)
_mark: 1
keySet: Oop for java/util/HashMap$KeySet @ 0x00000000c9a9fd48 (size of 16)
_mark: 1
this$0: Oop for java/util/HashMap @ 0x00000000c9975f40 (size of 48)
values: null
table: ObjArray @ 0x00000000c9a9fd58 (size of 528)
_mark: 1
0: null
1: null
2: null
3: null
4: null
5: null
6: null
7: null
8: null
9: null
10: null
11: null
12: null
13: null
14: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8a38 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8a58 (size of 24)
_mark: 5
value: 200048
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211854
15: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8a00 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8a20 (size of 24)
_mark: 5
value: 200049
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211855
16: Oop for java/util/HashMap$Entry @ 0x00000000c9aa89c8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa89e8 (size of 24)
_mark: 5
value: 200047
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211856
17: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8990 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa89b0 (size of 24)
_mark: 5
value: 200046
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211857
18: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8958 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8978 (size of 24)
_mark: 5
value: 200045
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211858
19: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8920 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8940 (size of 24)
_mark: 5
value: 200044
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211859
20: Oop for java/util/HashMap$Entry @ 0x00000000c9aa88e8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8908 (size of 24)
_mark: 5
value: 200043
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211860
21: Oop for java/util/HashMap$Entry @ 0x00000000c9aa88b0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa88d0 (size of 24)
_mark: 5
value: 200042
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211861
22: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8878 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8898 (size of 24)
_mark: 5
value: 200041
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211862
23: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8840 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8860 (size of 24)
_mark: 5
value: 200040
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211863
24: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8808 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8828 (size of 24)
_mark: 5
value: 200039
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211864
25: Oop for java/util/HashMap$Entry @ 0x00000000c9aa87d0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa87f0 (size of 24)
_mark: 5
value: 200038
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211865
26: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8798 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa87b8 (size of 24)
_mark: 5
value: 200037
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211866
27: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8760 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8780 (size of 24)
_mark: 5
value: 200036
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211867
28: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8728 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8748 (size of 24)
_mark: 5
value: 200035
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211868
29: Oop for java/util/HashMap$Entry @ 0x00000000c9aa86f0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8710 (size of 24)
_mark: 5
value: 200034
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211869
30: Oop for java/util/HashMap$Entry @ 0x00000000c9aa86b8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa86d8 (size of 24)
_mark: 5
value: 200033
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211870
31: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8680 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa86a0 (size of 24)
_mark: 5
value: 200032
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211871
32: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8648 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8668 (size of 24)
_mark: 5
value: 200028
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211872
33: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8610 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8630 (size of 24)
_mark: 5
value: 200029
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211873
34: Oop for java/util/HashMap$Entry @ 0x00000000c9aa85d8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa85f8 (size of 24)
_mark: 5
value: 200030
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211874
35: Oop for java/util/HashMap$Entry @ 0x00000000c9aa85a0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa85c0 (size of 24)
_mark: 5
value: 200031
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211875
36: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8568 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8588 (size of 24)
_mark: 5
value: 200024
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211876
37: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8530 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8550 (size of 24)
_mark: 5
value: 200025
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211877
38: Oop for java/util/HashMap$Entry @ 0x00000000c9aa84f8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8518 (size of 24)
_mark: 5
value: 200026
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211878
39: Oop for java/util/HashMap$Entry @ 0x00000000c9aa84c0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa84e0 (size of 24)
_mark: 5
value: 200027
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211879
40: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8488 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa84a8 (size of 24)
_mark: 5
value: 200020
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211880
41: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8450 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8470 (size of 24)
_mark: 5
value: 200021
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211881
42: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8418 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8438 (size of 24)
_mark: 5
value: 200022
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211882
43: Oop for java/util/HashMap$Entry @ 0x00000000c9aa83e0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8400 (size of 24)
_mark: 5
value: 200023
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211883
44: Oop for java/util/HashMap$Entry @ 0x00000000c9aa83a8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa83c8 (size of 24)
_mark: 5
value: 200016
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211884
45: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8370 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8390 (size of 24)
_mark: 5
value: 200017
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211885
46: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8338 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8358 (size of 24)
_mark: 5
value: 200018
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211886
47: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8300 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8320 (size of 24)
_mark: 5
value: 200019
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211887
48: Oop for java/util/HashMap$Entry @ 0x00000000c9aa82c8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa82e8 (size of 24)
_mark: 5
value: 200013
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211888
49: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8290 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa82b0 (size of 24)
_mark: 5
value: 200012
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211889
50: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8258 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8278 (size of 24)
_mark: 5
value: 200015
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211890
51: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8220 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8240 (size of 24)
_mark: 5
value: 200014
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211891
52: Oop for java/util/HashMap$Entry @ 0x00000000c9aa81e8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8208 (size of 24)
_mark: 5
value: 200009
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211892
53: Oop for java/util/HashMap$Entry @ 0x00000000c9aa81b0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa81d0 (size of 24)
_mark: 5
value: 200008
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211893
54: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8178 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8198 (size of 24)
_mark: 5
value: 200011
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211894
55: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8140 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8160 (size of 24)
_mark: 5
value: 200010
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211895
56: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8108 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8128 (size of 24)
_mark: 5
value: 200005
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211896
57: Oop for java/util/HashMap$Entry @ 0x00000000c9aa80d0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa80f0 (size of 24)
_mark: 5
value: 200004
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211897
58: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8098 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa80b8 (size of 24)
_mark: 5
value: 200007
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211898
59: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8060 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8080 (size of 24)
_mark: 5
value: 200006
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211899
60: Oop for java/util/HashMap$Entry @ 0x00000000c9aa8028 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8048 (size of 24)
_mark: 5
value: 200001
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211900
61: Oop for java/util/HashMap$Entry @ 0x00000000c9a9ffd8 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9aa8010 (size of 24)
_mark: 5
value: 200000
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211901
62: Oop for java/util/HashMap$Entry @ 0x00000000c9a9ffa0 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9a9ffc0 (size of 24)
_mark: 5
value: 200003
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211902
63: Oop for java/util/HashMap$Entry @ 0x00000000c9a9ff68 (size of 32)
_mark: 5
key: Oop for java/lang/Long @ 0x00000000c9a9ff88 (size of 24)
_mark: 5
value: 200002
value: Oop for java/lang/Object @ 0x00000000c9ac4bc0 (size of 16)
_mark: 33
next: null
hash: 211903
64: null
65: null
66: null
67: null
68: null
69: null
70: null
71: null
72: null
73: null
74: null
75: null
76: null
77: null
78: null
79: null
80: null
81: null
82: null
83: null
84: null
85: null
86: null
87: null
88: null
89: null
90: null
91: null
92: null
93: null
94: null
95: null
96: null
97: null
98: null
99: null
100: null
101: null
102: null
103: null
104: null
105: null
106: null
107: null
108: null
109: null
110: null
111: null
112: null
113: null
114: null
115: null
116: null
117: null
118: null
119: null
120: null
121: null
122: null
123: null
124: null
125: null
126: null
127: null
size: 50
threshold: 96
loadFactor: 0.75
modCount: 50
entrySet: null
hsdb> quit
$ groovysh
Groovy Shell (1.7.7, JVM: 1.6.0_29)
Type 'help' or '\h' for help.
----------------------------------------------------------------------------------------------------------------------------
groovy:000> hs = new HashSet()
===> []
groovy:000> 50.times { hs << 200000 + it }
===> null
groovy:000> System.gc()
===> null
groovy:000> System.gc()
===> null
groovy:000> Long.toHexString(Address64.of(hs))
===> c99f6378
groovy:000> quit
$ groovysh
Groovy Shell (1.7.7, JVM: 1.6.0_29)
Type 'help' or '\h' for help.
----------------------------------------------------------------------------------------------------------------------------
groovy:000> hs = new HashSet()
===> []
groovy:000> 50.times { hs << 200000L + it }
===> null
groovy:000> System.gc()
===> null
groovy:000> System.gc()
===> null
groovy:000> Long.toHexString(Address64.of(hs))
===> c9975b38
groovy:000> quit
(function () {
if (typeof(registerCommand) == 'function') {
this.printObjectTree = function (addr) {
var obj = addr2oop(any2addr(addr));
var node = new sapkg.ui.tree.OopTreeNodeAdapter(obj, null, true);
printNode(node, 0, []);
function printNode(node, depth, stack) {
// print indent; 2 spaces per depth
for (var i = 1; i < depth; i++) {
print(" ");
}
if (depth >= 1) {
print(node);
print(": ");
}
print(node.getValue());
if (node.getOop && node.getOop()) {
println(" (size of " + node.getOop().getObjectSize() + ")");
} else {
println("");
}
// avoid recursion
if (node.getOop && node.getOop()) {
var oop = node.getOop();
for (var i = 0; i < stack.length; i++) {
if (oop.equals(stack[i].getOop())) return;
}
}
stack.push(node);
var count = node.getChildCount();
for (var i = 0; i < count; i++) {
printNode(node.getChild(i), depth + 1, stack);
}
stack.pop();
}
function printOopValue(oop) {
if (oop) {
var name = oop.getKlass().getName();
if (name) {
print("Oop for " + name.asString() + " @ ");
} else {
print("Oop @ ");
}
print(oop2addr(oop));
} else {
print("null");
}
}
}
registerCommand('objtree', 'objtree address', 'printObjectTree');
}
})()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment