Skip to content

Commit 2f8fb18

Browse files
committed
GC相关类图
1 parent c7c398f commit 2f8fb18

File tree

8 files changed

+827
-671
lines changed

8 files changed

+827
-671
lines changed

hotspot/my-docs/gc/概述.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,16 @@ DefNew Default New (就是Serial GC)
99
http://hllvm.group.iteye.com/group/topic/37095
1010
https://blogs.oracle.com/jonthecollector/entry/our_collectors
1111

12+
13+
jvm.dll!GenMarkSweep::invoke_at_safepoint(int level, ReferenceProcessor * rp, bool clear_all_softrefs) Line 59 C++
14+
> jvm.dll!OneContigSpaceCardGeneration::collect(bool full, bool clear_all_soft_refs, unsigned int size, bool is_tlab) Line 643 C++
15+
jvm.dll!TenuredGeneration::collect(bool full, bool clear_all_soft_refs, unsigned int size, bool is_tlab) Line 157 C++
16+
jvm.dll!GenCollectedHeap::do_collection(bool full, bool clear_all_soft_refs, unsigned int size, bool is_tlab, int max_level) Line 492 C++
17+
jvm.dll!GenCollectedHeap::do_full_collection(bool clear_all_soft_refs, int max_level) Line 795 C++
18+
jvm.dll!VM_GenCollectFull::doit() Line 201 C++
19+
jvm.dll!VM_Operation::evaluate() Line 61 C++
20+
jvm.dll!VMThread::evaluate_operation(VM_Operation * op) Line 374 C++
21+
jvm.dll!VMThread::loop() Line 501 C++
22+
jvm.dll!VMThread::run() Line 279 C++
23+
jvm.dll!java_start(Thread * thread) Line 431 C++
24+
28.1 KB
Loading
Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
ireturn 172 ireturn [0x07f13b30, 0x07f13e30] 768 bytes
2+
3+
0x07f13b30: pop %eax
4+
0x07f13b31: mov %fs:0x0(,%eiz,1),%ecx
5+
0x07f13b39: mov -0xc(%ecx),%ecx
6+
7+
0x07f13b3c: mov 0x1a1(%ecx),%bl
8+
0x07f13b42: mov %ebx,%edi
9+
0x07f13b44: movb $0x0,0x1a1(%ecx)
10+
11+
0x07f13b4b: mov -0xc(%ebp),%ebx
12+
0x07f13b4e: mov 0x14(%ebx),%ecx
13+
0x07f13b51: test $0x20,%ecx
14+
0x07f13b57: je 0x07f13cfe
15+
16+
0x07f13b5d: mov %edi,%ecx
17+
0x07f13b5f: test $0xff,%cl
18+
0x07f13b62: jne 0x07f13dcd
19+
20+
0x07f13b68: push %eax
21+
0x07f13b69: lea -0x28(%ebp),%edx
22+
0x07f13b6c: mov 0x4(%edx),%eax
23+
0x07f13b6f: test %eax,%eax
24+
0x07f13b71: jne 0x07f13c28
25+
0x07f13b77: pop %eax
26+
27+
0x07f13b78: emms
28+
29+
0x07f13b7a: call 0x07f13b84
30+
0x07f13b7f: jmp 0x07f13c17
31+
0x07f13b84: lea 0x4(%esp),%eax
32+
0x07f13b88: cmpl $0x0,-0x8(%ebp)
33+
0x07f13b8f: je 0x07f13ba6
34+
0x07f13b95: push $0x54d101bc
35+
0x07f13b9a: call 0x07f13b9f
36+
0x07f13b9f: pusha
37+
0x07f13ba0: call 0x547edbf0
38+
0x07f13ba5: hlt
39+
0x07f13ba6: mov %esi,-0x1c(%ebp)
40+
0x07f13ba9: mov %fs:0x0(,%eiz,1),%edi
41+
0x07f13bb1: mov -0xc(%edi),%edi
42+
0x07f13bb4: push %edi
43+
0x07f13bb5: mov %ebp,0x144(%edi)
44+
0x07f13bbb: mov %eax,0x13c(%edi)
45+
0x07f13bc1: call 0x54a5ad80
46+
0x07f13bc6: add $0x4,%esp
47+
0x07f13bc9: push %eax
48+
0x07f13bca: mov %fs:0x0(,%eiz,1),%eax
49+
0x07f13bd2: mov -0xc(%eax),%eax
50+
0x07f13bd5: cmp %eax,%edi
51+
0x07f13bd7: je 0x07f13bee
52+
;; MacroAssembler::call_VM_base: rdi not callee saved?
53+
0x07f13bdd: push $0x54d12b08
54+
0x07f13be2: call 0x07f13be7
55+
0x07f13be7: pusha
56+
0x07f13be8: call 0x547edbf0
57+
0x07f13bed: hlt
58+
0x07f13bee: pop %eax
59+
0x07f13bef: movl $0x0,0x13c(%edi)
60+
0x07f13bf9: movl $0x0,0x144(%edi)
61+
0x07f13c03: cmpl $0x0,0x4(%edi)
62+
0x07f13c0a: jne 0x07f00340
63+
0x07f13c10: mov -0x1c(%ebp),%esi
64+
0x07f13c13: mov -0x18(%ebp),%edi
65+
0x07f13c16: ret
66+
67+
0x07f13c17: push $0x54cfd974
68+
0x07f13c1c: call 0x07f13c21
69+
0x07f13c21: pusha
70+
0x07f13c22: call 0x547edbf0
71+
0x07f13c27: hlt
72+
73+
0x07f13c28: mov %esi,-0x1c(%ebp)
74+
0x07f13c2b: lea (%edx),%eax
75+
0x07f13c2d: mov 0x4(%edx),%ecx
76+
0x07f13c30: movl $0x0,0x4(%edx)
77+
0x07f13c37: mov (%ecx),%ebx
78+
0x07f13c39: and $0x7,%ebx
79+
0x07f13c3c: cmp $0x5,%ebx
80+
0x07f13c3f: je 0x07f13cfa
81+
0x07f13c45: mov (%eax),%ebx
82+
0x07f13c47: test %ebx,%ebx
83+
0x07f13c49: je 0x07f13cfa
84+
0x07f13c4f: lock cmpxchg %ebx,(%ecx)
85+
0x07f13c53: je 0x07f13cfa
86+
0x07f13c59: mov %ecx,0x4(%edx)
87+
88+
0x07f13c5c: call 0x07f13c66
89+
0x07f13c61: jmp 0x07f13cfa
90+
0x07f13c66: push %edx
91+
0x07f13c67: lea 0x8(%esp),%eax
92+
0x07f13c6b: cmpl $0x0,-0x8(%ebp)
93+
0x07f13c72: je 0x07f13c89
94+
0x07f13c78: push $0x54d101bc
95+
0x07f13c7d: call 0x07f13c82
96+
0x07f13c82: pusha
97+
0x07f13c83: call 0x547edbf0
98+
0x07f13c88: hlt
99+
0x07f13c89: mov %esi,-0x1c(%ebp)
100+
0x07f13c8c: mov %fs:0x0(,%eiz,1),%edi
101+
0x07f13c94: mov -0xc(%edi),%edi
102+
0x07f13c97: push %edi
103+
0x07f13c98: mov %ebp,0x144(%edi)
104+
0x07f13c9e: mov %eax,0x13c(%edi)
105+
0x07f13ca4: call 0x54a5ab90
106+
0x07f13ca9: add $0x8,%esp
107+
0x07f13cac: push %eax
108+
0x07f13cad: mov %fs:0x0(,%eiz,1),%eax
109+
0x07f13cb5: mov -0xc(%eax),%eax
110+
0x07f13cb8: cmp %eax,%edi
111+
0x07f13cba: je 0x07f13cd1
112+
;; MacroAssembler::call_VM_base: rdi not callee saved?
113+
0x07f13cc0: push $0x54d12b08
114+
0x07f13cc5: call 0x07f13cca
115+
0x07f13cca: pusha
116+
0x07f13ccb: call 0x547edbf0
117+
0x07f13cd0: hlt
118+
0x07f13cd1: pop %eax
119+
0x07f13cd2: movl $0x0,0x13c(%edi)
120+
0x07f13cdc: movl $0x0,0x144(%edi)
121+
0x07f13ce6: cmpl $0x0,0x4(%edi)
122+
0x07f13ced: jne 0x07f00340
123+
0x07f13cf3: mov -0x1c(%ebp),%esi
124+
0x07f13cf6: mov -0x18(%ebp),%edi
125+
0x07f13cf9: ret
126+
127+
0x07f13cfa: mov -0x1c(%ebp),%esi
128+
129+
0x07f13cfd: pop %eax
130+
0x07f13cfe: mov -0x20(%ebp),%ecx
131+
0x07f13d01: lea -0x20(%ebp),%ebx
132+
0x07f13d04: jmp 0x07f13dc9
133+
134+
0x07f13d09: emms
135+
136+
0x07f13d0b: call 0x07f13d15
137+
0x07f13d10: jmp 0x07f13da8
138+
0x07f13d15: lea 0x4(%esp),%eax
139+
0x07f13d19: cmpl $0x0,-0x8(%ebp)
140+
0x07f13d20: je 0x07f13d37
141+
0x07f13d26: push $0x54d101bc
142+
0x07f13d2b: call 0x07f13d30
143+
0x07f13d30: pusha
144+
0x07f13d31: call 0x547edbf0
145+
0x07f13d36: hlt
146+
0x07f13d37: mov %esi,-0x1c(%ebp)
147+
0x07f13d3a: mov %fs:0x0(,%eiz,1),%edi
148+
0x07f13d42: mov -0xc(%edi),%edi
149+
0x07f13d45: push %edi
150+
0x07f13d46: mov %ebp,0x144(%edi)
151+
0x07f13d4c: mov %eax,0x13c(%edi)
152+
0x07f13d52: call 0x54a5ad80
153+
0x07f13d57: add $0x4,%esp
154+
0x07f13d5a: push %eax
155+
0x07f13d5b: mov %fs:0x0(,%eiz,1),%eax
156+
0x07f13d63: mov -0xc(%eax),%eax
157+
0x07f13d66: cmp %eax,%edi
158+
0x07f13d68: je 0x07f13d7f
159+
;; MacroAssembler::call_VM_base: rdi not callee saved?
160+
0x07f13d6e: push $0x54d12b08
161+
0x07f13d73: call 0x07f13d78
162+
0x07f13d78: pusha
163+
0x07f13d79: call 0x547edbf0
164+
0x07f13d7e: hlt
165+
0x07f13d7f: pop %eax
166+
0x07f13d80: movl $0x0,0x13c(%edi)
167+
0x07f13d8a: movl $0x0,0x144(%edi)
168+
0x07f13d94: cmpl $0x0,0x4(%edi)
169+
0x07f13d9b: jne 0x07f00340
170+
0x07f13da1: mov -0x1c(%ebp),%esi
171+
0x07f13da4: mov -0x18(%ebp),%edi
172+
0x07f13da7: ret
173+
174+
0x07f13da8: push $0x54cfd974
175+
0x07f13dad: call 0x07f13db2
176+
0x07f13db2: pusha
177+
0x07f13db3: call 0x547edbf0
178+
0x07f13db8: hlt
179+
180+
0x07f13db9: cmpl $0x0,0x4(%ecx)
181+
0x07f13dc0: jne 0x07f13d09
182+
183+
0x07f13dc6: add $0x8,%ecx
184+
0x07f13dc9: cmp %ebx,%ecx
185+
0x07f13dcb: jne 0x07f13db9
186+
187+
0x07f13dcd: cmpb $0x0,0x55033e6f
188+
0x07f13dd4: je 0x07f13e12
189+
0x07f13dda: push %eax
190+
0x07f13ddb: mov %fs:0x0(,%eiz,1),%ebx
191+
0x07f13de3: mov -0xc(%ebx),%ebx
192+
0x07f13de6: mov -0xc(%ebp),%ecx
193+
0x07f13de9: push %ecx
194+
0x07f13dea: push %ebx
195+
0x07f13deb: cmpl $0x0,-0x8(%ebp)
196+
0x07f13df2: je 0x07f13e09
197+
0x07f13df8: push $0x54d1017c
198+
0x07f13dfd: call 0x07f13e02
199+
0x07f13e02: pusha
200+
0x07f13e03: call 0x547edbf0
201+
0x07f13e08: hlt
202+
0x07f13e09: call 0x54c158a0
203+
0x07f13e0e: add $0x8,%esp
204+
205+
0x07f13e11: pop %eax //返回值
206+
0x07f13e12: mov -0x4(%ebp),%ebx
207+
0x07f13e15: mov %ebp,%esp
208+
0x07f13e17: pop %ebp
209+
0x07f13e18: pop %esi
210+
0x07f13e19: mov %ebx,%esp
211+
212+
0x07f13e1b: jmp *%esi
213+
214+
0x07f13e1d: push $0x54cfd974
215+
0x07f13e22: call 0x07f13e27
216+
0x07f13e27: pusha
217+
0x07f13e28: call 0x547edbf0
218+
0x07f13e2d: hlt
219+
0x07f13e2e: nop
220+
0x07f13e2f: nop

0 commit comments

Comments
 (0)