Created
November 1, 2012 08:20
-
-
Save rednaxelafx/3992456 to your computer and use it in GitHub Desktop.
Log from running example in Item 66 of Effective Java 2nd on JDK6u25-fastdebug-amd64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<graphDocument> | |
<group difference="true"> | |
<properties> | |
<p name="name"> | |
virtual void StopThread$1.run()</p> | |
<p name="type"> | |
</p> | |
<p name="public"> | |
true</p> | |
</properties> | |
<method bci="-1" name="virtual void StopThread$1.run()" shortName=" StopThread$1::run"> | |
<inline> | |
<method bci="2" name="static jboolean StopThread.access$000()" shortName=" StopThread::access$000"> | |
<bytecodes> | |
<![CDATA[ | |
0 getstatic 1 <StopThread.stopRequested/Z> | |
3 ireturn | |
]]></bytecodes> | |
</method> | |
</inline> | |
<bytecodes> | |
<![CDATA[ | |
0 iconst_0 | |
1 istore_1 | |
2 invokestatic 2 <StopThread.access$000()Z> | |
5 ifne 14 | |
8 iinc #1 1 | |
11 goto 2 | |
14 return | |
]]></bytecodes> | |
</method> | |
<graph> | |
<properties> | |
<p name="name"> | |
After Parsing</p> | |
</properties> | |
<nodes> | |
<node id="101026232"> | |
<properties> | |
<p name="id"> | |
101026232</p> | |
<p name="name"> | |
Root</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
0</p> | |
<p name="debug_idx"> | |
3200000</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="is_block_start"> | |
true</p> | |
</properties> | |
</node> | |
<node id="101182912"> | |
<properties> | |
<p name="id"> | |
101182912</p> | |
<p name="name"> | |
Return</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
109</p> | |
<p name="debug_idx"> | |
3400109</p> | |
<p name="dump_spec"> | |
</p> | |
</properties> | |
</node> | |
<node id="101357392"> | |
<properties> | |
<p name="id"> | |
101357392</p> | |
<p name="name"> | |
Parm</p> | |
<p name="type"> | |
return_address</p> | |
<p name="idx"> | |
9</p> | |
<p name="debug_idx"> | |
3200009</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
4</p> | |
<p name="dump_spec"> | |
ReturnAdr</p> | |
<p name="short_name"> | |
RA</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101369656"> | |
<properties> | |
<p name="id"> | |
101369656</p> | |
<p name="name"> | |
CallStaticJava</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
68</p> | |
<p name="debug_idx"> | |
3200068</p> | |
<p name="is_call"> | |
true</p> | |
<p name="dump_spec"> | |
# Static uncommon_trap(reason='predicate' action='maybe_recompile') void ( int ) C=0.000100 StopThread$1::run @ bci:8</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101360192"> | |
<properties> | |
<p name="id"> | |
101360192</p> | |
<p name="name"> | |
LoadI</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
26</p> | |
<p name="debug_idx"> | |
3200026</p> | |
<p name="dump_spec"> | |
@rawptr:BotPTR, idx=Raw; #int</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101357528"> | |
<properties> | |
<p name="id"> | |
101357528</p> | |
<p name="name"> | |
Parm</p> | |
<p name="type"> | |
rawptr:</p> | |
<p name="idx"> | |
10</p> | |
<p name="debug_idx"> | |
3200010</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
5</p> | |
<p name="dump_spec"> | |
Parm0: rawptr:BotPTR</p> | |
<p name="short_name"> | |
P0</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101360352"> | |
<properties> | |
<p name="id"> | |
101360352</p> | |
<p name="name"> | |
CallLeaf</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
27</p> | |
<p name="debug_idx"> | |
3200027</p> | |
<p name="is_call"> | |
true</p> | |
<p name="dump_spec"> | |
# OSR_migration_end void ( rawptr:BotPTR )</p> | |
</properties> | |
</node> | |
<node id="101361056"> | |
<properties> | |
<p name="id"> | |
101361056</p> | |
<p name="name"> | |
Proj</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
30</p> | |
<p name="debug_idx"> | |
3200030</p> | |
<p name="con"> | |
2</p> | |
<p name="dump_spec"> | |
#2 Memory: @rawptr:BotPTR, idx=Raw;</p> | |
<p name="short_name"> | |
M</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101176512"> | |
<properties> | |
<p name="id"> | |
101176512</p> | |
<p name="name"> | |
Phi</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
77</p> | |
<p name="debug_idx"> | |
3200077</p> | |
<p name="dump_spec"> | |
#memory Memory: @rawptr:BotPTR, idx=Raw;</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101175760"> | |
<properties> | |
<p name="id"> | |
101175760</p> | |
<p name="name"> | |
Region</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
74</p> | |
<p name="debug_idx"> | |
3200074</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_start"> | |
true</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101175624"> | |
<properties> | |
<p name="id"> | |
101175624</p> | |
<p name="name"> | |
IfTrue</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
73</p> | |
<p name="debug_idx"> | |
3200073</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
T</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101367504"> | |
<properties> | |
<p name="id"> | |
101367504</p> | |
<p name="name"> | |
If</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
63</p> | |
<p name="debug_idx"> | |
3200063</p> | |
<p name="dump_spec"> | |
P=0.999999, C=-1.000000</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101367368"> | |
<properties> | |
<p name="id"> | |
101367368</p> | |
<p name="name"> | |
Conv2B</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
62</p> | |
<p name="debug_idx"> | |
3200062</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101367232"> | |
<properties> | |
<p name="id"> | |
101367232</p> | |
<p name="name"> | |
Opaque1</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
61</p> | |
<p name="debug_idx"> | |
3200061</p> | |
<p name="is_macro"> | |
true</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101366280"> | |
<properties> | |
<p name="id"> | |
101366280</p> | |
<p name="name"> | |
IfFalse</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
55</p> | |
<p name="debug_idx"> | |
3200055</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
F</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101366000"> | |
<properties> | |
<p name="id"> | |
101366000</p> | |
<p name="name"> | |
If</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
53</p> | |
<p name="debug_idx"> | |
3200053</p> | |
<p name="dump_spec"> | |
P=0.000000, C=330626.000000</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101365856"> | |
<properties> | |
<p name="id"> | |
101365856</p> | |
<p name="name"> | |
Bool</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
52</p> | |
<p name="debug_idx"> | |
3200052</p> | |
<p name="dump_spec"> | |
[ne]</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101365712"> | |
<properties> | |
<p name="id"> | |
101365712</p> | |
<p name="name"> | |
CmpI</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
51</p> | |
<p name="debug_idx"> | |
3200051</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101365144"> | |
<properties> | |
<p name="id"> | |
101365144</p> | |
<p name="name"> | |
LoadUB</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
49</p> | |
<p name="debug_idx"> | |
3200049</p> | |
<p name="dump_spec"> | |
@precise klass StopThread: 0x00000000060c2e28:Constant:exact+600 *, name=stopRequested, idx=4; #bool</p> | |
<p name="bci"> | |
0 2</p> | |
</properties> | |
</node> | |
<node id="101364960"> | |
<properties> | |
<p name="id"> | |
101364960</p> | |
<p name="name"> | |
AddP</p> | |
<p name="type"> | |
klass:</p> | |
<p name="idx"> | |
48</p> | |
<p name="debug_idx"> | |
3200048</p> | |
<p name="dump_spec"> | |
Klass:precise klass StopThread: 0x00000000060c2e28:Constant:exact+600 *</p> | |
<p name="bci"> | |
0 2</p> | |
</properties> | |
</node> | |
<node id="101179880"> | |
<properties> | |
<p name="id"> | |
101179880</p> | |
<p name="name"> | |
LoadUB</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
95</p> | |
<p name="debug_idx"> | |
3400095</p> | |
<p name="dump_spec"> | |
@precise klass StopThread: 0x00000000060c2e28:Constant:exact+600 *, name=stopRequested, idx=4; #bool</p> | |
<p name="bci"> | |
0 2</p> | |
</properties> | |
</node> | |
<node id="101180480"> | |
<properties> | |
<p name="id"> | |
101180480</p> | |
<p name="name"> | |
CmpI</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
97</p> | |
<p name="debug_idx"> | |
3400097</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101180592"> | |
<properties> | |
<p name="id"> | |
101180592</p> | |
<p name="name"> | |
Bool</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
98</p> | |
<p name="debug_idx"> | |
3400098</p> | |
<p name="dump_spec"> | |
[ne]</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101180736"> | |
<properties> | |
<p name="id"> | |
101180736</p> | |
<p name="name"> | |
If</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
99</p> | |
<p name="debug_idx"> | |
3400099</p> | |
<p name="dump_spec"> | |
P=0.000000, C=330626.000000</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101178144"> | |
<properties> | |
<p name="id"> | |
101178144</p> | |
<p name="name"> | |
Region</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
86</p> | |
<p name="debug_idx"> | |
3200086</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101180880"> | |
<properties> | |
<p name="id"> | |
101180880</p> | |
<p name="name"> | |
IfTrue</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
100</p> | |
<p name="debug_idx"> | |
3400100</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
T</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101363136"> | |
<properties> | |
<p name="id"> | |
101363136</p> | |
<p name="name"> | |
Region</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
38</p> | |
<p name="debug_idx"> | |
3200038</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101366144"> | |
<properties> | |
<p name="id"> | |
101366144</p> | |
<p name="name"> | |
IfTrue</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
54</p> | |
<p name="debug_idx"> | |
3200054</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
T</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101181016"> | |
<properties> | |
<p name="id"> | |
101181016</p> | |
<p name="name"> | |
IfFalse</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
101</p> | |
<p name="debug_idx"> | |
3400101</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
F</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101176080"> | |
<properties> | |
<p name="id"> | |
101176080</p> | |
<p name="name"> | |
Phi</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
76</p> | |
<p name="debug_idx"> | |
3200076</p> | |
<p name="dump_spec"> | |
#memory Memory: @BotPTR *+bot, idx=Bot;</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101181784"> | |
<properties> | |
<p name="id"> | |
101181784</p> | |
<p name="name"> | |
Phi</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
105</p> | |
<p name="debug_idx"> | |
3400105</p> | |
<p name="dump_spec"> | |
#memory Memory: @BotPTR *+bot, idx=Bot;</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101175904"> | |
<properties> | |
<p name="id"> | |
101175904</p> | |
<p name="name"> | |
Phi</p> | |
<p name="type"> | |
abIO</p> | |
<p name="idx"> | |
75</p> | |
<p name="debug_idx"> | |
3200075</p> | |
<p name="dump_spec"> | |
#abIO</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101177400"> | |
<properties> | |
<p name="id"> | |
101177400</p> | |
<p name="name"> | |
SafePoint</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
82</p> | |
<p name="debug_idx"> | |
3200082</p> | |
<p name="dump_spec"> | |
SafePoint</p> | |
<p name="bci"> | |
11</p> | |
</properties> | |
</node> | |
<node id="101177256"> | |
<properties> | |
<p name="id"> | |
101177256</p> | |
<p name="name"> | |
AddI</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
81</p> | |
<p name="debug_idx"> | |
3200081</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101177552"> | |
<properties> | |
<p name="id"> | |
101177552</p> | |
<p name="name"> | |
MergeMem</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
83</p> | |
<p name="debug_idx"> | |
3200083</p> | |
<p name="dump_spec"> | |
{ N77:rawptr:BotPTR } Memory: @BotPTR *+bot, idx=Bot;</p> | |
<p name="bci"> | |
11</p> | |
</properties> | |
</node> | |
<node id="101181960"> | |
<properties> | |
<p name="id"> | |
101181960</p> | |
<p name="name"> | |
Phi</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
106</p> | |
<p name="debug_idx"> | |
3400106</p> | |
<p name="dump_spec"> | |
#memory Memory: @rawptr:BotPTR, idx=Raw;</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101360736"> | |
<properties> | |
<p name="id"> | |
101360736</p> | |
<p name="name"> | |
Proj</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
28</p> | |
<p name="debug_idx"> | |
3200028</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0</p> | |
<p name="short_name"> | |
C</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101356928"> | |
<properties> | |
<p name="id"> | |
101356928</p> | |
<p name="name"> | |
Parm</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
7</p> | |
<p name="debug_idx"> | |
3200007</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
2</p> | |
<p name="dump_spec"> | |
Memory Memory: @BotPTR *+bot, idx=Bot;</p> | |
<p name="short_name"> | |
M</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101354544"> | |
<properties> | |
<p name="id"> | |
101354544</p> | |
<p name="name"> | |
Parm</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
5</p> | |
<p name="debug_idx"> | |
3200005</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
Control</p> | |
<p name="short_name"> | |
C</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101176752"> | |
<properties> | |
<p name="id"> | |
101176752</p> | |
<p name="name"> | |
Phi</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
78</p> | |
<p name="debug_idx"> | |
3200078</p> | |
<p name="dump_spec"> | |
#int</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101368808"> | |
<properties> | |
<p name="id"> | |
101368808</p> | |
<p name="name"> | |
MergeMem</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
65</p> | |
<p name="debug_idx"> | |
3200065</p> | |
<p name="dump_spec"> | |
{ N30:rawptr:BotPTR } Memory: @BotPTR *+bot, idx=Bot;</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101356792"> | |
<properties> | |
<p name="id"> | |
101356792</p> | |
<p name="name"> | |
Parm</p> | |
<p name="type"> | |
abIO</p> | |
<p name="idx"> | |
6</p> | |
<p name="debug_idx"> | |
3200006</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
I_O</p> | |
<p name="short_name"> | |
IO</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101367648"> | |
<properties> | |
<p name="id"> | |
101367648</p> | |
<p name="name"> | |
IfFalse</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
64</p> | |
<p name="debug_idx"> | |
3200064</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
F</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101370000"> | |
<properties> | |
<p name="id"> | |
101370000</p> | |
<p name="name"> | |
Proj</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
69</p> | |
<p name="debug_idx"> | |
3200069</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0</p> | |
<p name="short_name"> | |
C</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101357064"> | |
<properties> | |
<p name="id"> | |
101357064</p> | |
<p name="name"> | |
Parm</p> | |
<p name="type"> | |
rawptr:</p> | |
<p name="idx"> | |
8</p> | |
<p name="debug_idx"> | |
3200008</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
3</p> | |
<p name="dump_spec"> | |
FramePtr</p> | |
<p name="short_name"> | |
RP</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="101358392"> | |
<properties> | |
<p name="id"> | |
101358392</p> | |
<p name="name"> | |
MergeMem</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
16</p> | |
<p name="debug_idx"> | |
3200016</p> | |
<p name="dump_spec"> | |
{ N106:rawptr:BotPTR } Memory: @BotPTR *+bot, idx=Bot;</p> | |
</properties> | |
</node> | |
<node id="101181608"> | |
<properties> | |
<p name="id"> | |
101181608</p> | |
<p name="name"> | |
Phi</p> | |
<p name="type"> | |
abIO</p> | |
<p name="idx"> | |
104</p> | |
<p name="debug_idx"> | |
3400104</p> | |
<p name="dump_spec"> | |
#abIO</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101366808"> | |
<properties> | |
<p name="id"> | |
101366808</p> | |
<p name="name"> | |
Region</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
58</p> | |
<p name="debug_idx"> | |
3200058</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_start"> | |
true</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="101175464"> | |
<properties> | |
<p name="id"> | |
101175464</p> | |
<p name="name"> | |
Halt</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
72</p> | |
<p name="debug_idx"> | |
3200072</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="101364624"> | |
<properties> | |
<p name="id"> | |
101364624</p> | |
<p name="name"> | |
ConP</p> | |
<p name="type"> | |
klass:</p> | |
<p name="idx"> | |
46</p> | |
<p name="debug_idx"> | |
3200046</p> | |
<p name="is_con"> | |
true</p> | |
<p name="dump_spec"> | |
#precise klass StopThread: 0x00000000060c2e28:Constant:exact * Klass:precise klass StopThread: 0x00000000060c2e28:Constant:e</p> | |
<p name="short_name"> | |
CP</p> | |
</properties> | |
</node> | |
<node id="101364728"> | |
<properties> | |
<p name="id"> | |
101364728</p> | |
<p name="name"> | |
ConL</p> | |
<p name="type"> | |
long:</p> | |
<p name="idx"> | |
47</p> | |
<p name="debug_idx"> | |
3200047</p> | |
<p name="is_con"> | |
true</p> | |
<p name="dump_spec"> | |
#long:600</p> | |
<p name="short_name"> | |
L</p> | |
</properties> | |
</node> | |
<node id="101367128"> | |
<properties> | |
<p name="id"> | |
101367128</p> | |
<p name="name"> | |
ConI</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
60</p> | |
<p name="debug_idx"> | |
3200060</p> | |
<p name="is_con"> | |
true</p> | |
<p name="dump_spec"> | |
#int:1</p> | |
<p name="short_name"> | |
1</p> | |
</properties> | |
</node> | |
<node id="101359264"> | |
<properties> | |
<p name="id"> | |
101359264</p> | |
<p name="name"> | |
ConI</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
20</p> | |
<p name="debug_idx"> | |
3200020</p> | |
<p name="is_con"> | |
true</p> | |
<p name="dump_spec"> | |
#int:0</p> | |
<p name="short_name"> | |
0</p> | |
</properties> | |
</node> | |
<node id="101369552"> | |
<properties> | |
<p name="id"> | |
101369552</p> | |
<p name="name"> | |
ConI</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
67</p> | |
<p name="debug_idx"> | |
3200067</p> | |
<p name="is_con"> | |
true</p> | |
<p name="dump_spec"> | |
#int:-122</p> | |
<p name="short_name"> | |
I</p> | |
</properties> | |
</node> | |
<node id="101354240"> | |
<properties> | |
<p name="id"> | |
101354240</p> | |
<p name="name"> | |
StartOSR</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
3</p> | |
<p name="debug_idx"> | |
3200003</p> | |
<p name="is_block_start"> | |
true</p> | |
<p name="dump_spec"> | |
#{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address, 5:rawptr:BotPTR}</p> | |
</properties> | |
</node> | |
<node id="101026384"> | |
<properties> | |
<p name="id"> | |
101026384</p> | |
<p name="name"> | |
Con</p> | |
<p name="type"> | |
top</p> | |
<p name="idx"> | |
1</p> | |
<p name="debug_idx"> | |
3200001</p> | |
<p name="is_con"> | |
true</p> | |
<p name="dump_spec"> | |
#top</p> | |
<p name="short_name"> | |
^</p> | |
</properties> | |
</node> | |
</nodes> | |
<edges> | |
<edge to="101026232" from="101026232"/> | |
<edge toIndex="1" to="101026232" from="101175464"/> | |
<edge toIndex="2" to="101026232" from="101182912"/> | |
<edge to="101182912" from="101366808"/> | |
<edge toIndex="1" to="101182912" from="101181608"/> | |
<edge toIndex="2" to="101182912" from="101358392"/> | |
<edge toIndex="3" to="101182912" from="101357064"/> | |
<edge toIndex="4" to="101182912" from="101357392"/> | |
<edge to="101357392" from="101354240"/> | |
<edge to="101369656" from="101367648"/> | |
<edge toIndex="1" to="101369656" from="101356792"/> | |
<edge toIndex="2" to="101369656" from="101368808"/> | |
<edge toIndex="3" to="101369656" from="101357064"/> | |
<edge toIndex="4" to="101369656" from="101357392"/> | |
<edge toIndex="5" to="101369656" from="101369552"/> | |
<edge toIndex="6" to="101369656" from="101026384"/> | |
<edge toIndex="7" to="101369656" from="101360192"/> | |
<edge to="101360192" from="101354544"/> | |
<edge toIndex="1" to="101360192" from="101356928"/> | |
<edge toIndex="2" to="101360192" from="101357528"/> | |
<edge to="101357528" from="101354240"/> | |
<edge to="101360352" from="101354544"/> | |
<edge toIndex="1" to="101360352" from="101026384"/> | |
<edge toIndex="2" to="101360352" from="101356928"/> | |
<edge toIndex="3" to="101360352" from="101357064"/> | |
<edge toIndex="4" to="101360352" from="101026384"/> | |
<edge toIndex="5" to="101360352" from="101357528"/> | |
<edge to="101361056" from="101360352"/> | |
<edge to="101176512" from="101175760"/> | |
<edge toIndex="1" to="101176512" from="101176512"/> | |
<edge toIndex="2" to="101176512" from="101361056"/> | |
<edge to="101175760" from="101175760"/> | |
<edge toIndex="1" to="101175760" from="101181016"/> | |
<edge toIndex="2" to="101175760" from="101175624"/> | |
<edge to="101175624" from="101367504"/> | |
<edge to="101367504" from="101366280"/> | |
<edge toIndex="1" to="101367504" from="101367368"/> | |
<edge toIndex="1" to="101367368" from="101367232"/> | |
<edge toIndex="1" to="101367232" from="101367128"/> | |
<edge to="101366280" from="101366000"/> | |
<edge to="101366000" from="101363136"/> | |
<edge toIndex="1" to="101366000" from="101365856"/> | |
<edge toIndex="1" to="101365856" from="101365712"/> | |
<edge toIndex="1" to="101365712" from="101365144"/> | |
<edge toIndex="2" to="101365712" from="101359264"/> | |
<edge toIndex="1" to="101365144" from="101356928"/> | |
<edge toIndex="2" to="101365144" from="101364960"/> | |
<edge toIndex="1" to="101364960" from="101364624"/> | |
<edge toIndex="2" to="101364960" from="101364624"/> | |
<edge toIndex="3" to="101364960" from="101364728"/> | |
<edge toIndex="1" to="101179880" from="101176080"/> | |
<edge toIndex="2" to="101179880" from="101364960"/> | |
<edge toIndex="1" to="101180480" from="101179880"/> | |
<edge toIndex="2" to="101180480" from="101359264"/> | |
<edge toIndex="1" to="101180592" from="101180480"/> | |
<edge to="101180736" from="101178144"/> | |
<edge toIndex="1" to="101180736" from="101180592"/> | |
<edge toIndex="1" to="101178144" from="101177400"/> | |
<edge to="101180880" from="101180736"/> | |
<edge toIndex="1" to="101363136" from="101360736"/> | |
<edge to="101366144" from="101366000"/> | |
<edge to="101181016" from="101180736"/> | |
<edge to="101176080" from="101175760"/> | |
<edge toIndex="1" to="101176080" from="101176080"/> | |
<edge toIndex="2" to="101176080" from="101356928"/> | |
<edge to="101181784" from="101366808"/> | |
<edge toIndex="1" to="101181784" from="101176080"/> | |
<edge toIndex="2" to="101181784" from="101356928"/> | |
<edge to="101175904" from="101175760"/> | |
<edge toIndex="1" to="101175904" from="101175904"/> | |
<edge toIndex="2" to="101175904" from="101356792"/> | |
<edge to="101177400" from="101175760"/> | |
<edge toIndex="1" to="101177400" from="101026384"/> | |
<edge toIndex="2" to="101177400" from="101177552"/> | |
<edge toIndex="3" to="101177400" from="101026384"/> | |
<edge toIndex="4" to="101177400" from="101026384"/> | |
<edge toIndex="5" to="101177400" from="101026384"/> | |
<edge toIndex="6" to="101177400" from="101177256"/> | |
<edge toIndex="1" to="101177256" from="101176752"/> | |
<edge toIndex="2" to="101177256" from="101367128"/> | |
<edge toIndex="1" to="101177552" from="101026384"/> | |
<edge toIndex="2" to="101177552" from="101176080"/> | |
<edge toIndex="3" to="101177552" from="101176512"/> | |
<edge to="101181960" from="101366808"/> | |
<edge toIndex="1" to="101181960" from="101176512"/> | |
<edge toIndex="2" to="101181960" from="101361056"/> | |
<edge to="101360736" from="101360352"/> | |
<edge to="101356928" from="101354240"/> | |
<edge to="101354544" from="101354240"/> | |
<edge to="101176752" from="101175760"/> | |
<edge toIndex="1" to="101176752" from="101177256"/> | |
<edge toIndex="2" to="101176752" from="101360192"/> | |
<edge toIndex="1" to="101368808" from="101026384"/> | |
<edge toIndex="2" to="101368808" from="101356928"/> | |
<edge toIndex="3" to="101368808" from="101361056"/> | |
<edge to="101356792" from="101354240"/> | |
<edge to="101367648" from="101367504"/> | |
<edge to="101370000" from="101369656"/> | |
<edge to="101357064" from="101354240"/> | |
<edge toIndex="1" to="101358392" from="101026384"/> | |
<edge toIndex="2" to="101358392" from="101181784"/> | |
<edge toIndex="3" to="101358392" from="101181960"/> | |
<edge to="101181608" from="101366808"/> | |
<edge toIndex="1" to="101181608" from="101175904"/> | |
<edge toIndex="2" to="101181608" from="101356792"/> | |
<edge to="101366808" from="101366808"/> | |
<edge toIndex="1" to="101366808" from="101180880"/> | |
<edge toIndex="2" to="101366808" from="101366144"/> | |
<edge to="101175464" from="101370000"/> | |
<edge toIndex="1" to="101175464" from="101026384"/> | |
<edge toIndex="2" to="101175464" from="101026384"/> | |
<edge toIndex="3" to="101175464" from="101357064"/> | |
<edge toIndex="4" to="101175464" from="101026384"/> | |
<edge to="101364624" from="101026232"/> | |
<edge to="101364728" from="101026232"/> | |
<edge to="101367128" from="101026232"/> | |
<edge to="101359264" from="101026232"/> | |
<edge to="101369552" from="101026232"/> | |
<edge to="101354240" from="101354240"/> | |
<edge toIndex="1" to="101354240" from="101026232"/> | |
<edge to="101026384" from="101026232"/> | |
</edges> | |
<controlFlow> | |
<block name="0"> | |
<successors> | |
<successor name="3"/> | |
</successors> | |
<nodes> | |
<node id="101026232"/> | |
</nodes> | |
</block> | |
<block name="1"> | |
<nodes> | |
<node id="101369656"/> | |
<node id="101367648"/> | |
<node id="101370000"/> | |
<node id="101175464"/> | |
<node id="101369552"/> | |
<node id="101368808"/> | |
</nodes> | |
</block> | |
<block name="2"> | |
<successors> | |
<successor name="1"/> | |
<successor name="5"/> | |
</successors> | |
<nodes> | |
<node id="101367504"/> | |
<node id="101366280"/> | |
<node id="101367368"/> | |
<node id="101360192"/> | |
<node id="101367232"/> | |
<node id="101367128"/> | |
</nodes> | |
</block> | |
<block name="3"> | |
<successors> | |
<successor name="2"/> | |
<successor name="4"/> | |
</successors> | |
<nodes> | |
<node id="101360352"/> | |
<node id="101366000"/> | |
<node id="101363136"/> | |
<node id="101360736"/> | |
<node id="101354544"/> | |
<node id="101354240"/> | |
<node id="101357064"/> | |
<node id="101365856"/> | |
<node id="101357392"/> | |
<node id="101365712"/> | |
<node id="101361056"/> | |
<node id="101365144"/> | |
<node id="101357528"/> | |
<node id="101026384"/> | |
<node id="101356928"/> | |
<node id="101359264"/> | |
<node id="101356792"/> | |
<node id="101364960"/> | |
<node id="101364728"/> | |
<node id="101364624"/> | |
</nodes> | |
</block> | |
<block name="4"> | |
<nodes> | |
<node id="101182912"/> | |
<node id="101366808"/> | |
<node id="101181784"/> | |
<node id="101181608"/> | |
<node id="101366144"/> | |
<node id="101181960"/> | |
<node id="101358392"/> | |
<node id="101180880"/> | |
</nodes> | |
</block> | |
<block name="5"> | |
<successors> | |
<successor name="5"/> | |
<successor name="4"/> | |
</successors> | |
<nodes> | |
<node id="101175760"/> | |
<node id="101180736"/> | |
<node id="101178144"/> | |
<node id="101177400"/> | |
<node id="101177552"/> | |
<node id="101175624"/> | |
<node id="101176080"/> | |
<node id="101175904"/> | |
<node id="101181016"/> | |
<node id="101176512"/> | |
<node id="101176752"/> | |
<node id="101180592"/> | |
<node id="101180480"/> | |
<node id="101177256"/> | |
<node id="101179880"/> | |
</nodes> | |
</block> | |
</controlFlow> | |
</graph> | |
<graph> | |
<properties> | |
<p name="name"> | |
Iter GVN 1</p> | |
</properties> | |
<nodes> | |
<removeNode id="101363136"/> | |
<removeNode id="101175904"/> | |
<removeNode id="101176080"/> | |
<removeNode id="101178144"/> | |
<removeNode id="101176512"/> | |
<removeNode id="101180592"/> | |
<removeNode id="101181608"/> | |
<removeNode id="101180480"/> | |
<removeNode id="101179880"/> | |
<removeNode id="101181784"/> | |
<removeNode id="101181960"/> | |
</nodes> | |
<edges> | |
<removeEdge toIndex="1" to="101175904" from="101175904"/> | |
<removeEdge toIndex="1" to="101181608" from="101175904"/> | |
<removeEdge to="101176512" from="101175760"/> | |
<removeEdge to="101181960" from="101366808"/> | |
<removeEdge toIndex="3" to="101177552" from="101176512"/> | |
<removeEdge toIndex="1" to="101176512" from="101176512"/> | |
<removeEdge toIndex="2" to="101179880" from="101364960"/> | |
<removeEdge toIndex="1" to="101179880" from="101176080"/> | |
<removeEdge toIndex="1" to="101181960" from="101176512"/> | |
<removeEdge to="101181784" from="101366808"/> | |
<removeEdge to="101180736" from="101178144"/> | |
<removeEdge toIndex="1" to="101180592" from="101180480"/> | |
<removeEdge toIndex="2" to="101181608" from="101356792"/> | |
<removeEdge toIndex="2" to="101175904" from="101356792"/> | |
<removeEdge toIndex="1" to="101363136" from="101360736"/> | |
<removeEdge to="101176080" from="101175760"/> | |
<removeEdge toIndex="2" to="101177552" from="101176080"/> | |
<removeEdge toIndex="1" to="101180736" from="101180592"/> | |
<removeEdge toIndex="1" to="101176080" from="101176080"/> | |
<removeEdge toIndex="2" to="101176512" from="101361056"/> | |
<removeEdge toIndex="1" to="101178144" from="101177400"/> | |
<removeEdge to="101181608" from="101366808"/> | |
<removeEdge toIndex="3" to="101358392" from="101181960"/> | |
<removeEdge to="101366000" from="101363136"/> | |
<removeEdge toIndex="2" to="101181960" from="101361056"/> | |
<removeEdge toIndex="1" to="101180480" from="101179880"/> | |
<removeEdge toIndex="1" to="101181784" from="101176080"/> | |
<removeEdge to="101175904" from="101175760"/> | |
<removeEdge toIndex="2" to="101180480" from="101359264"/> | |
<removeEdge toIndex="2" to="101176080" from="101356928"/> | |
<removeEdge toIndex="2" to="101181784" from="101356928"/> | |
<removeEdge toIndex="2" to="101358392" from="101181784"/> | |
<removeEdge toIndex="1" to="101182912" from="101181608"/> | |
<edge toIndex="1" to="101182912" from="101356792"/> | |
<edge toIndex="2" to="101177552" from="101356928"/> | |
<edge toIndex="3" to="101177552" from="101361056"/> | |
<edge to="101366000" from="101360736"/> | |
<edge to="101180736" from="101177400"/> | |
<edge toIndex="1" to="101180736" from="101365856"/> | |
<edge toIndex="2" to="101358392" from="101356928"/> | |
<edge toIndex="3" to="101358392" from="101361056"/> | |
</edges> | |
<controlFlow> | |
</controlFlow> | |
</graph> | |
<graph> | |
<properties> | |
<p name="name"> | |
PhaseIdealLoop 1</p> | |
</properties> | |
<nodes> | |
<removeNode id="101175760"/> | |
<removeNode id="101181016"/> | |
<removeNode id="101366808"/> | |
<removeNode id="101180736"/> | |
<removeNode id="101180880"/> | |
<node id="101184000"> | |
<properties> | |
<p name="id"> | |
101184000</p> | |
<p name="name"> | |
Loop</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
110</p> | |
<p name="debug_idx"> | |
4400110</p> | |
<p name="dump_spec"> | |
inner</p> | |
<p name="is_block_start"> | |
true</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
</nodes> | |
<edges> | |
<removeEdge toIndex="1" to="101366808" from="101180880"/> | |
<removeEdge to="101180736" from="101177400"/> | |
<removeEdge to="101180880" from="101180736"/> | |
<removeEdge toIndex="1" to="101176752" from="101177256"/> | |
<removeEdge toIndex="2" to="101176752" from="101360192"/> | |
<removeEdge to="101181016" from="101180736"/> | |
<removeEdge to="101182912" from="101366808"/> | |
<removeEdge to="101177400" from="101175760"/> | |
<removeEdge toIndex="1" to="101175760" from="101181016"/> | |
<removeEdge to="101366808" from="101366808"/> | |
<removeEdge toIndex="1" to="101180736" from="101365856"/> | |
<removeEdge to="101176752" from="101175760"/> | |
<removeEdge to="101175760" from="101175760"/> | |
<removeEdge toIndex="2" to="101366808" from="101366144"/> | |
<removeEdge toIndex="2" to="101175760" from="101175624"/> | |
<edge to="101182912" from="101366144"/> | |
<edge to="101177400" from="101184000"/> | |
<edge to="101184000" from="101184000"/> | |
<edge toIndex="1" to="101184000" from="101175624"/> | |
<edge toIndex="2" to="101184000" from="101177400"/> | |
<edge to="101176752" from="101184000"/> | |
<edge toIndex="1" to="101176752" from="101360192"/> | |
<edge toIndex="2" to="101176752" from="101177256"/> | |
</edges> | |
<controlFlow> | |
</controlFlow> | |
</graph> | |
<graph> | |
<properties> | |
<p name="name"> | |
PhaseCPP 1</p> | |
</properties> | |
<nodes> | |
<node id="101185576"> | |
<properties> | |
<p name="id"> | |
101185576</p> | |
<p name="name"> | |
Halt</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
118</p> | |
<p name="debug_idx"> | |
4900118</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
</properties> | |
</node> | |
<node id="101185200"> | |
<properties> | |
<p name="id"> | |
101185200</p> | |
<p name="name"> | |
CProj</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
115</p> | |
<p name="debug_idx"> | |
4900115</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
C</p> | |
</properties> | |
</node> | |
<node id="101185104"> | |
<properties> | |
<p name="id"> | |
101185104</p> | |
<p name="name"> | |
NeverBranch</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
114</p> | |
<p name="debug_idx"> | |
4900114</p> | |
<p name="dump_spec"> | |
</p> | |
</properties> | |
</node> | |
<node id="101185368"> | |
<properties> | |
<p name="id"> | |
101185368</p> | |
<p name="name"> | |
CProj</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
116</p> | |
<p name="debug_idx"> | |
4900116</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
C</p> | |
</properties> | |
</node> | |
</nodes> | |
<edges> | |
<removeEdge to="101177400" from="101184000"/> | |
<edge toIndex="3" to="101026232" from="101185576"/> | |
<edge to="101185576" from="101185368"/> | |
<edge toIndex="1" to="101185576" from="101026384"/> | |
<edge toIndex="2" to="101185576" from="101026384"/> | |
<edge toIndex="3" to="101185576" from="101357064"/> | |
<edge toIndex="4" to="101185576" from="101026384"/> | |
<edge to="101177400" from="101185200"/> | |
<edge to="101185200" from="101185104"/> | |
<edge to="101185104" from="101184000"/> | |
<edge to="101185368" from="101185104"/> | |
</edges> | |
<controlFlow> | |
</controlFlow> | |
</graph> | |
<graph> | |
<properties> | |
<p name="name"> | |
Iter GVN 2</p> | |
</properties> | |
<nodes> | |
<removeNode id="101175464"/> | |
<removeNode id="101175624"/> | |
<removeNode id="101367232"/> | |
<removeNode id="101367504"/> | |
<removeNode id="101370000"/> | |
<removeNode id="101368808"/> | |
<removeNode id="101369656"/> | |
<removeNode id="101367368"/> | |
<removeNode id="101367648"/> | |
</nodes> | |
<edges> | |
<removeEdge to="101175624" from="101367504"/> | |
<removeEdge toIndex="1" to="101367368" from="101367232"/> | |
<removeEdge toIndex="1" to="101368808" from="101026384"/> | |
<removeEdge toIndex="3" to="101369656" from="101357064"/> | |
<removeEdge toIndex="2" to="101368808" from="101356928"/> | |
<removeEdge toIndex="2" to="101369656" from="101368808"/> | |
<removeEdge toIndex="7" to="101369656" from="101360192"/> | |
<removeEdge toIndex="1" to="101367504" from="101367368"/> | |
<removeEdge toIndex="1" to="101175464" from="101026384"/> | |
<removeEdge toIndex="3" to="101026232" from="101185576"/> | |
<removeEdge to="101370000" from="101369656"/> | |
<removeEdge to="101367504" from="101366280"/> | |
<removeEdge to="101369656" from="101367648"/> | |
<removeEdge to="101175464" from="101370000"/> | |
<removeEdge toIndex="4" to="101369656" from="101357392"/> | |
<removeEdge toIndex="1" to="101026232" from="101175464"/> | |
<removeEdge toIndex="3" to="101175464" from="101357064"/> | |
<removeEdge toIndex="5" to="101369656" from="101369552"/> | |
<removeEdge toIndex="1" to="101369656" from="101356792"/> | |
<removeEdge toIndex="1" to="101184000" from="101175624"/> | |
<removeEdge to="101367648" from="101367504"/> | |
<removeEdge toIndex="1" to="101367232" from="101367128"/> | |
<removeEdge toIndex="4" to="101175464" from="101026384"/> | |
<removeEdge toIndex="3" to="101368808" from="101361056"/> | |
<removeEdge toIndex="2" to="101175464" from="101026384"/> | |
<removeEdge toIndex="6" to="101369656" from="101026384"/> | |
<edge toIndex="1" to="101026232" from="101185576"/> | |
<edge toIndex="1" to="101184000" from="101366280"/> | |
</edges> | |
<controlFlow> | |
</controlFlow> | |
</graph> | |
<graph> | |
<properties> | |
<p name="name"> | |
Optimize finished</p> | |
</properties> | |
<nodes> | |
</nodes> | |
<edges> | |
</edges> | |
<controlFlow> | |
<block name="0"> | |
<successors> | |
<successor name="3"/> | |
</successors> | |
<nodes> | |
<node id="101026232"/> | |
<node id="101369552"/> | |
</nodes> | |
</block> | |
<block name="1"> | |
<nodes> | |
<node id="101185368"/> | |
<node id="101185576"/> | |
</nodes> | |
</block> | |
<block name="2"> | |
<successors> | |
<successor name="1"/> | |
<successor name="4"/> | |
</successors> | |
<nodes> | |
<node id="101184000"/> | |
<node id="101185104"/> | |
<node id="101366280"/> | |
<node id="101176752"/> | |
<node id="101177256"/> | |
<node id="101367128"/> | |
<node id="101360192"/> | |
</nodes> | |
</block> | |
<block name="3"> | |
<successors> | |
<successor name="2"/> | |
<successor name="5"/> | |
</successors> | |
<nodes> | |
<node id="101360352"/> | |
<node id="101366000"/> | |
<node id="101354544"/> | |
<node id="101360736"/> | |
<node id="101354240"/> | |
<node id="101365856"/> | |
<node id="101357064"/> | |
<node id="101365712"/> | |
<node id="101365144"/> | |
<node id="101359264"/> | |
<node id="101026384"/> | |
<node id="101364960"/> | |
<node id="101364728"/> | |
<node id="101361056"/> | |
<node id="101364624"/> | |
<node id="101356928"/> | |
<node id="101357528"/> | |
</nodes> | |
</block> | |
<block name="4"> | |
<successors> | |
<successor name="2"/> | |
</successors> | |
<nodes> | |
<node id="101177400"/> | |
<node id="101185200"/> | |
<node id="101177552"/> | |
</nodes> | |
</block> | |
<block name="5"> | |
<nodes> | |
<node id="101182912"/> | |
<node id="101366144"/> | |
<node id="101358392"/> | |
<node id="101356792"/> | |
<node id="101357392"/> | |
</nodes> | |
</block> | |
</controlFlow> | |
</graph> | |
<graph> | |
<properties> | |
<p name="name"> | |
Before Matching</p> | |
</properties> | |
<nodes> | |
</nodes> | |
<edges> | |
<edge toIndex="2" to="101366000" from="101365712"/> | |
</edges> | |
<controlFlow> | |
</controlFlow> | |
</graph> | |
<graph> | |
<properties> | |
<p name="name"> | |
Global code motion</p> | |
</properties> | |
<nodes> | |
<removeNode id="101177256"/> | |
<removeNode id="101365144"/> | |
<removeNode id="101185104"/> | |
<removeNode id="101354240"/> | |
<removeNode id="101176752"/> | |
<removeNode id="101359264"/> | |
<removeNode id="101184000"/> | |
<removeNode id="101364624"/> | |
<removeNode id="101354544"/> | |
<removeNode id="101360736"/> | |
<removeNode id="101364960"/> | |
<removeNode id="101357392"/> | |
<removeNode id="101026232"/> | |
<removeNode id="101177552"/> | |
<removeNode id="101177400"/> | |
<removeNode id="101365856"/> | |
<removeNode id="101367128"/> | |
<removeNode id="101369552"/> | |
<removeNode id="101357064"/> | |
<removeNode id="101356792"/> | |
<removeNode id="101026384"/> | |
<removeNode id="101185200"/> | |
<removeNode id="101357528"/> | |
<removeNode id="101364728"/> | |
<removeNode id="101365712"/> | |
<removeNode id="101185368"/> | |
<removeNode id="101366280"/> | |
<removeNode id="101366144"/> | |
<removeNode id="101360352"/> | |
<removeNode id="101185576"/> | |
<removeNode id="101358392"/> | |
<removeNode id="101182912"/> | |
<removeNode id="101361056"/> | |
<removeNode id="101366000"/> | |
<removeNode id="101360192"/> | |
<removeNode id="101356928"/> | |
<node id="102017008"> | |
<properties> | |
<p name="id"> | |
102017008</p> | |
<p name="name"> | |
Root</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
1</p> | |
<p name="debug_idx"> | |
5700001</p> | |
<p name="block"> | |
1</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
0</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="is_block_start"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102024816"> | |
<properties> | |
<p name="id"> | |
102024816</p> | |
<p name="name"> | |
Ret</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
28</p> | |
<p name="debug_idx"> | |
5700028</p> | |
<p name="block"> | |
3</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
109</p> | |
<p name="idealOpcode"> | |
Return</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102025568"> | |
<properties> | |
<p name="id"> | |
102025568</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
return_address</p> | |
<p name="idx"> | |
32</p> | |
<p name="debug_idx"> | |
5700032</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
9</p> | |
<p name="con"> | |
4</p> | |
<p name="dump_spec"> | |
#4</p> | |
<p name="short_name"> | |
RA</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102022272"> | |
<properties> | |
<p name="id"> | |
102022272</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
rawptr:</p> | |
<p name="idx"> | |
17</p> | |
<p name="debug_idx"> | |
5700017</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
8</p> | |
<p name="con"> | |
3</p> | |
<p name="dump_spec"> | |
#3</p> | |
<p name="short_name"> | |
RP</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102021136"> | |
<properties> | |
<p name="id"> | |
102021136</p> | |
<p name="name"> | |
CallLeafDirect</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
12</p> | |
<p name="debug_idx"> | |
5700012</p> | |
<p name="block"> | |
2</p> | |
<p name="is_call"> | |
true</p> | |
<p name="is_pc_relative"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
27</p> | |
<p name="idealOpcode"> | |
CallLeaf</p> | |
<p name="dump_spec"> | |
OSR_migration_end # void ( rawptr:BotPTR )</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102024360"> | |
<properties> | |
<p name="id"> | |
102024360</p> | |
<p name="name"> | |
loadI</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
27</p> | |
<p name="debug_idx"> | |
5700027</p> | |
<p name="block"> | |
2</p> | |
<p name="needs_anti_dependence_check"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
26</p> | |
<p name="idealOpcode"> | |
LoadI</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102024216"> | |
<properties> | |
<p name="id"> | |
102024216</p> | |
<p name="name"> | |
Phi</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
26</p> | |
<p name="debug_idx"> | |
5700026</p> | |
<p name="block"> | |
5</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
78</p> | |
<p name="dump_spec"> | |
#int</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="102017616"> | |
<properties> | |
<p name="id"> | |
102017616</p> | |
<p name="name"> | |
Loop</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
5</p> | |
<p name="debug_idx"> | |
5700005</p> | |
<p name="block"> | |
5</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
110</p> | |
<p name="dump_spec"> | |
inner</p> | |
<p name="is_block_start"> | |
true</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="102028192"> | |
<properties> | |
<p name="id"> | |
102028192</p> | |
<p name="name"> | |
jmpDir</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
38</p> | |
<p name="debug_idx"> | |
5700038</p> | |
<p name="block"> | |
7</p> | |
<p name="is_branch"> | |
true</p> | |
<p name="is_goto"> | |
true</p> | |
<p name="may_be_short_branch"> | |
true</p> | |
<p name="is_pc_relative"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="idealOpcode"> | |
Goto</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102022768"> | |
<properties> | |
<p name="id"> | |
102022768</p> | |
<p name="name"> | |
safePoint_poll</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
19</p> | |
<p name="debug_idx"> | |
5700019</p> | |
<p name="block"> | |
7</p> | |
<p name="is_safepoint_node"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
82</p> | |
<p name="idealOpcode"> | |
SafePoint</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="bci"> | |
11</p> | |
</properties> | |
</node> | |
<node id="102023424"> | |
<properties> | |
<p name="id"> | |
102023424</p> | |
<p name="name"> | |
MergeMem</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
22</p> | |
<p name="debug_idx"> | |
5700022</p> | |
<p name="block"> | |
7</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
83</p> | |
<p name="dump_spec"> | |
{ N23:rawptr:BotPTR } Memory: @BotPTR *+bot, idx=Bot;</p> | |
<p name="bci"> | |
11</p> | |
</properties> | |
</node> | |
<node id="102029432"> | |
<properties> | |
<p name="id"> | |
102029432</p> | |
<p name="name"> | |
Region</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
41</p> | |
<p name="debug_idx"> | |
5700041</p> | |
<p name="block"> | |
7</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_start"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102023256"> | |
<properties> | |
<p name="id"> | |
102023256</p> | |
<p name="name"> | |
CProj</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
21</p> | |
<p name="debug_idx"> | |
5700021</p> | |
<p name="block"> | |
5</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
115</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
C</p> | |
</properties> | |
</node> | |
<node id="102023024"> | |
<properties> | |
<p name="id"> | |
102023024</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
abIO</p> | |
<p name="idx"> | |
20</p> | |
<p name="debug_idx"> | |
5700020</p> | |
<p name="block"> | |
7</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1</p> | |
<p name="short_name"> | |
IO</p> | |
</properties> | |
</node> | |
<node id="102028440"> | |
<properties> | |
<p name="id"> | |
102028440</p> | |
<p name="name"> | |
jmpDir</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
39</p> | |
<p name="debug_idx"> | |
5700039</p> | |
<p name="block"> | |
4</p> | |
<p name="is_branch"> | |
true</p> | |
<p name="is_goto"> | |
true</p> | |
<p name="may_be_short_branch"> | |
true</p> | |
<p name="is_pc_relative"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="idealOpcode"> | |
Goto</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102028688"> | |
<properties> | |
<p name="id"> | |
102028688</p> | |
<p name="name"> | |
Region</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
40</p> | |
<p name="debug_idx"> | |
5700040</p> | |
<p name="block"> | |
4</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_start"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102019816"> | |
<properties> | |
<p name="id"> | |
102019816</p> | |
<p name="name"> | |
IfFalse</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
6</p> | |
<p name="debug_idx"> | |
5700006</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
55</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
F</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="102019920"> | |
<properties> | |
<p name="id"> | |
102019920</p> | |
<p name="name"> | |
jmpCon</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
7</p> | |
<p name="debug_idx"> | |
5700007</p> | |
<p name="block"> | |
2</p> | |
<p name="is_branch"> | |
true</p> | |
<p name="may_be_short_branch"> | |
true</p> | |
<p name="is_pc_relative"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
53</p> | |
<p name="idealOpcode"> | |
If</p> | |
<p name="dump_spec"> | |
P=0.000000, C=330626.000000</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="102020216"> | |
<properties> | |
<p name="id"> | |
102020216</p> | |
<p name="name"> | |
testI_reg</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
8</p> | |
<p name="debug_idx"> | |
5700008</p> | |
<p name="block"> | |
2</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="idealOpcode"> | |
CmpI</p> | |
<p name="dump_spec"> | |
#0</p> | |
</properties> | |
</node> | |
<node id="102020424"> | |
<properties> | |
<p name="id"> | |
102020424</p> | |
<p name="name"> | |
loadUB</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
9</p> | |
<p name="debug_idx"> | |
5700009</p> | |
<p name="block"> | |
2</p> | |
<p name="needs_anti_dependence_check"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="idealOpcode"> | |
LoadUB</p> | |
<p name="dump_spec"> | |
#600</p> | |
</properties> | |
</node> | |
<node id="102025048"> | |
<properties> | |
<p name="id"> | |
102025048</p> | |
<p name="name"> | |
IfTrue</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
29</p> | |
<p name="debug_idx"> | |
5700029</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
54</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
T</p> | |
<p name="bci"> | |
5</p> | |
</properties> | |
</node> | |
<node id="102017520"> | |
<properties> | |
<p name="id"> | |
102017520</p> | |
<p name="name"> | |
NeverBranch</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
4</p> | |
<p name="debug_idx"> | |
5700004</p> | |
<p name="block"> | |
5</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
114</p> | |
<p name="dump_spec"> | |
</p> | |
</properties> | |
</node> | |
<node id="102017416"> | |
<properties> | |
<p name="id"> | |
102017416</p> | |
<p name="name"> | |
CProj</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
3</p> | |
<p name="debug_idx"> | |
5700003</p> | |
<p name="block"> | |
5</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
116</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="short_name"> | |
C</p> | |
</properties> | |
</node> | |
<node id="102026936"> | |
<properties> | |
<p name="id"> | |
102026936</p> | |
<p name="name"> | |
Region</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
37</p> | |
<p name="debug_idx"> | |
5700037</p> | |
<p name="block"> | |
6</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_start"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102023808"> | |
<properties> | |
<p name="id"> | |
102023808</p> | |
<p name="name"> | |
incI_rReg</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
24</p> | |
<p name="debug_idx"> | |
5700024</p> | |
<p name="block"> | |
7</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
81</p> | |
<p name="idealOpcode"> | |
AddI</p> | |
<p name="dump_spec"> | |
#1</p> | |
<p name="bci"> | |
8</p> | |
</properties> | |
</node> | |
<node id="102024048"> | |
<properties> | |
<p name="id"> | |
102024048</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
int:</p> | |
<p name="idx"> | |
25</p> | |
<p name="debug_idx"> | |
5700025</p> | |
<p name="block"> | |
7</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1</p> | |
</properties> | |
</node> | |
<node id="102022440"> | |
<properties> | |
<p name="id"> | |
102022440</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
rawptr:</p> | |
<p name="idx"> | |
18</p> | |
<p name="debug_idx"> | |
5700018</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
10</p> | |
<p name="con"> | |
5</p> | |
<p name="dump_spec"> | |
#5</p> | |
<p name="short_name"> | |
RP</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102022104"> | |
<properties> | |
<p name="id"> | |
102022104</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
16</p> | |
<p name="debug_idx"> | |
5700016</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
7</p> | |
<p name="con"> | |
2</p> | |
<p name="dump_spec"> | |
#2/unmatched Memory: @BotPTR *+bot, idx=Bot;</p> | |
<p name="short_name"> | |
M</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102016904"> | |
<properties> | |
<p name="id"> | |
102016904</p> | |
<p name="name"> | |
Con</p> | |
<p name="type"> | |
top</p> | |
<p name="idx"> | |
0</p> | |
<p name="debug_idx"> | |
5700000</p> | |
<p name="block"> | |
2</p> | |
<p name="is_con"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
1</p> | |
<p name="dump_spec"> | |
#top</p> | |
<p name="short_name"> | |
^</p> | |
</properties> | |
</node> | |
<node id="102021632"> | |
<properties> | |
<p name="id"> | |
102021632</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
14</p> | |
<p name="debug_idx"> | |
5700014</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
5</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0/unmatched</p> | |
<p name="short_name"> | |
C</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102030888"> | |
<properties> | |
<p name="id"> | |
102030888</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
43</p> | |
<p name="debug_idx"> | |
5700043</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="con"> | |
6</p> | |
<p name="dump_spec"> | |
#6/fat</p> | |
</properties> | |
</node> | |
<node id="102023544"> | |
<properties> | |
<p name="id"> | |
102023544</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
23</p> | |
<p name="debug_idx"> | |
5700023</p> | |
<p name="block"> | |
2</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
30</p> | |
<p name="con"> | |
2</p> | |
<p name="dump_spec"> | |
#2/unmatched Memory: @rawptr:BotPTR, idx=Raw;</p> | |
<p name="short_name"> | |
M</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102021000"> | |
<properties> | |
<p name="id"> | |
102021000</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
11</p> | |
<p name="debug_idx"> | |
5700011</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
28</p> | |
<p name="con"> | |
0</p> | |
<p name="dump_spec"> | |
#0/unmatched</p> | |
<p name="short_name"> | |
C</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102021464"> | |
<properties> | |
<p name="id"> | |
102021464</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
13</p> | |
<p name="debug_idx"> | |
5700013</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="con"> | |
10005</p> | |
<p name="dump_spec"> | |
#10005/fat</p> | |
</properties> | |
</node> | |
<node id="102025352"> | |
<properties> | |
<p name="id"> | |
102025352</p> | |
<p name="name"> | |
MergeMem</p> | |
<p name="type"> | |
memory</p> | |
<p name="idx"> | |
31</p> | |
<p name="debug_idx"> | |
5700031</p> | |
<p name="block"> | |
3</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
16</p> | |
<p name="dump_spec"> | |
{ N23:rawptr:BotPTR } Memory: @BotPTR *+bot, idx=Bot;</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102025184"> | |
<properties> | |
<p name="id"> | |
102025184</p> | |
<p name="name"> | |
MachProj</p> | |
<p name="type"> | |
abIO</p> | |
<p name="idx"> | |
30</p> | |
<p name="debug_idx"> | |
5700030</p> | |
<p name="block"> | |
2</p> | |
<p name="is_dead_loop_safe"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
6</p> | |
<p name="con"> | |
1</p> | |
<p name="dump_spec"> | |
#1/unmatched</p> | |
<p name="short_name"> | |
IO</p> | |
<p name="bci"> | |
2</p> | |
</properties> | |
</node> | |
<node id="102029872"> | |
<properties> | |
<p name="id"> | |
102029872</p> | |
<p name="name"> | |
Region</p> | |
<p name="type"> | |
control</p> | |
<p name="idx"> | |
42</p> | |
<p name="debug_idx"> | |
5700042</p> | |
<p name="block"> | |
3</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_start"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102017184"> | |
<properties> | |
<p name="id"> | |
102017184</p> | |
<p name="name"> | |
ShouldNotReachHere</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
2</p> | |
<p name="debug_idx"> | |
5700002</p> | |
<p name="block"> | |
6</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
118</p> | |
<p name="idealOpcode"> | |
Halt</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
</properties> | |
</node> | |
<node id="102020632"> | |
<properties> | |
<p name="id"> | |
102020632</p> | |
<p name="name"> | |
loadConP</p> | |
<p name="type"> | |
klass:</p> | |
<p name="idx"> | |
10</p> | |
<p name="debug_idx"> | |
5700010</p> | |
<p name="block"> | |
2</p> | |
<p name="is_con"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="idealOpcode"> | |
ConP</p> | |
<p name="dump_spec"> | |
precise klass StopThread: 0x00000000060c2e28:Constant:exact * Klass:precise klass StopThread: 0x00000000060c2e28:Constant:exa</p> | |
</properties> | |
</node> | |
<node id="102021768"> | |
<properties> | |
<p name="id"> | |
102021768</p> | |
<p name="name"> | |
StartOSR</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
15</p> | |
<p name="debug_idx"> | |
5700015</p> | |
<p name="block"> | |
2</p> | |
<p name="is_block_start"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="old_node_idx"> | |
3</p> | |
<p name="dump_spec"> | |
#{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address, 5:rawptr:BotPTR}</p> | |
</properties> | |
</node> | |
</nodes> | |
<edges> | |
<removeEdge toIndex="2" to="101365144" from="101364960"/> | |
<removeEdge toIndex="2" to="101177552" from="101356928"/> | |
<removeEdge toIndex="1" to="101185576" from="101026384"/> | |
<removeEdge toIndex="2" to="101366000" from="101365712"/> | |
<removeEdge to="101026384" from="101026232"/> | |
<removeEdge to="101357528" from="101354240"/> | |
<removeEdge toIndex="4" to="101182912" from="101357392"/> | |
<removeEdge toIndex="1" to="101177400" from="101026384"/> | |
<removeEdge to="101185104" from="101184000"/> | |
<removeEdge toIndex="2" to="101177400" from="101177552"/> | |
<removeEdge toIndex="1" to="101365856" from="101365712"/> | |
<removeEdge to="101357392" from="101354240"/> | |
<removeEdge toIndex="3" to="101177552" from="101361056"/> | |
<removeEdge toIndex="2" to="101177256" from="101367128"/> | |
<removeEdge to="101185200" from="101185104"/> | |
<removeEdge to="101366280" from="101366000"/> | |
<removeEdge to="101360192" from="101354544"/> | |
<removeEdge to="101356928" from="101354240"/> | |
<removeEdge to="101367128" from="101026232"/> | |
<removeEdge to="101361056" from="101360352"/> | |
<removeEdge to="101366000" from="101360736"/> | |
<removeEdge toIndex="3" to="101177400" from="101026384"/> | |
<removeEdge to="101357064" from="101354240"/> | |
<removeEdge toIndex="2" to="101182912" from="101358392"/> | |
<removeEdge to="101366144" from="101366000"/> | |
<removeEdge to="101360736" from="101360352"/> | |
<removeEdge toIndex="1" to="101360192" from="101356928"/> | |
<removeEdge to="101364728" from="101026232"/> | |
<removeEdge toIndex="2" to="101185576" from="101026384"/> | |
<removeEdge toIndex="2" to="101176752" from="101177256"/> | |
<removeEdge toIndex="6" to="101177400" from="101177256"/> | |
<removeEdge toIndex="4" to="101360352" from="101026384"/> | |
<removeEdge toIndex="3" to="101364960" from="101364728"/> | |
<removeEdge to="101182912" from="101366144"/> | |
<removeEdge toIndex="1" to="101177256" from="101176752"/> | |
<removeEdge toIndex="3" to="101358392" from="101361056"/> | |
<removeEdge toIndex="2" to="101360352" from="101356928"/> | |
<removeEdge toIndex="2" to="101365712" from="101359264"/> | |
<removeEdge to="101369552" from="101026232"/> | |
<removeEdge to="101176752" from="101184000"/> | |
<removeEdge toIndex="5" to="101177400" from="101026384"/> | |
<removeEdge to="101177400" from="101185200"/> | |
<removeEdge to="101360352" from="101354544"/> | |
<removeEdge toIndex="2" to="101358392" from="101356928"/> | |
<removeEdge toIndex="1" to="101177552" from="101026384"/> | |
<removeEdge to="101185576" from="101185368"/> | |
<removeEdge to="101185368" from="101185104"/> | |
<removeEdge toIndex="2" to="101360192" from="101357528"/> | |
<removeEdge toIndex="4" to="101177400" from="101026384"/> | |
<removeEdge toIndex="1" to="101364960" from="101364624"/> | |
<removeEdge toIndex="1" to="101176752" from="101360192"/> | |
<removeEdge toIndex="4" to="101185576" from="101026384"/> | |
<removeEdge toIndex="1" to="101365144" from="101356928"/> | |
<removeEdge toIndex="1" to="101182912" from="101356792"/> | |
<removeEdge toIndex="1" to="101366000" from="101365856"/> | |
<removeEdge toIndex="3" to="101360352" from="101357064"/> | |
<removeEdge toIndex="2" to="101184000" from="101177400"/> | |
<removeEdge toIndex="1" to="101365712" from="101365144"/> | |
<removeEdge toIndex="5" to="101360352" from="101357528"/> | |
<removeEdge to="101026232" from="101026232"/> | |
<removeEdge toIndex="1" to="101360352" from="101026384"/> | |
<removeEdge toIndex="2" to="101364960" from="101364624"/> | |
<removeEdge toIndex="3" to="101182912" from="101357064"/> | |
<removeEdge toIndex="1" to="101354240" from="101026232"/> | |
<removeEdge toIndex="1" to="101026232" from="101185576"/> | |
<removeEdge to="101354240" from="101354240"/> | |
<removeEdge to="101364624" from="101026232"/> | |
<removeEdge toIndex="2" to="101026232" from="101182912"/> | |
<removeEdge to="101184000" from="101184000"/> | |
<removeEdge toIndex="1" to="101184000" from="101366280"/> | |
<removeEdge toIndex="3" to="101185576" from="101357064"/> | |
<removeEdge to="101359264" from="101026232"/> | |
<removeEdge toIndex="1" to="101358392" from="101026384"/> | |
<removeEdge to="101354544" from="101354240"/> | |
<removeEdge to="101356792" from="101354240"/> | |
<edge to="102017008" from="102017008"/> | |
<edge toIndex="1" to="102017008" from="102017184"/> | |
<edge toIndex="2" to="102017008" from="102024816"/> | |
<edge to="102024816" from="102029872"/> | |
<edge toIndex="1" to="102024816" from="102025184"/> | |
<edge toIndex="2" to="102024816" from="102025352"/> | |
<edge toIndex="3" to="102024816" from="102022272"/> | |
<edge toIndex="4" to="102024816" from="102025568"/> | |
<edge to="102025568" from="102021768"/> | |
<edge to="102022272" from="102021768"/> | |
<edge to="102021136" from="102021632"/> | |
<edge toIndex="1" to="102021136" from="102016904"/> | |
<edge toIndex="2" to="102021136" from="102022104"/> | |
<edge toIndex="3" to="102021136" from="102022272"/> | |
<edge toIndex="4" to="102021136" from="102016904"/> | |
<edge toIndex="5" to="102021136" from="102022440"/> | |
<edge toIndex="6" to="102021136" from="102024360"/> | |
<edge to="102024360" from="102021632"/> | |
<edge toIndex="1" to="102024360" from="102022104"/> | |
<edge toIndex="2" to="102024360" from="102022440"/> | |
<edge to="102024216" from="102017616"/> | |
<edge toIndex="1" to="102024216" from="102024360"/> | |
<edge toIndex="2" to="102024216" from="102023808"/> | |
<edge to="102017616" from="102017616"/> | |
<edge toIndex="1" to="102017616" from="102028440"/> | |
<edge toIndex="2" to="102017616" from="102028192"/> | |
<edge to="102028192" from="102022768"/> | |
<edge to="102022768" from="102029432"/> | |
<edge toIndex="1" to="102022768" from="102016904"/> | |
<edge toIndex="2" to="102022768" from="102023424"/> | |
<edge toIndex="3" to="102022768" from="102016904"/> | |
<edge toIndex="4" to="102022768" from="102016904"/> | |
<edge toIndex="5" to="102022768" from="102016904"/> | |
<edge toIndex="6" to="102022768" from="102023808"/> | |
<edge toIndex="1" to="102023424" from="102016904"/> | |
<edge toIndex="2" to="102023424" from="102022104"/> | |
<edge toIndex="3" to="102023424" from="102023544"/> | |
<edge to="102029432" from="102029432"/> | |
<edge toIndex="1" to="102029432" from="102023256"/> | |
<edge to="102023256" from="102017520"/> | |
<edge to="102023024" from="102022768"/> | |
<edge to="102028440" from="102028688"/> | |
<edge to="102028688" from="102028688"/> | |
<edge toIndex="1" to="102028688" from="102019816"/> | |
<edge to="102019816" from="102019920"/> | |
<edge to="102019920" from="102021000"/> | |
<edge toIndex="1" to="102019920" from="102020216"/> | |
<edge toIndex="1" to="102020216" from="102020424"/> | |
<edge toIndex="1" to="102020424" from="102022104"/> | |
<edge toIndex="2" to="102020424" from="102020632"/> | |
<edge to="102025048" from="102019920"/> | |
<edge to="102017520" from="102017616"/> | |
<edge to="102017416" from="102017520"/> | |
<edge to="102026936" from="102026936"/> | |
<edge toIndex="1" to="102026936" from="102017416"/> | |
<edge toIndex="1" to="102023808" from="102024216"/> | |
<edge to="102024048" from="102023808"/> | |
<edge to="102022440" from="102021768"/> | |
<edge to="102022104" from="102021768"/> | |
<edge to="102016904" from="102021768"/> | |
<edge to="102021632" from="102021768"/> | |
<edge to="102030888" from="102021136"/> | |
<edge to="102023544" from="102021136"/> | |
<edge to="102021000" from="102021136"/> | |
<edge to="102021464" from="102021136"/> | |
<edge toIndex="1" to="102025352" from="102016904"/> | |
<edge toIndex="2" to="102025352" from="102022104"/> | |
<edge toIndex="3" to="102025352" from="102023544"/> | |
<edge to="102025184" from="102021768"/> | |
<edge to="102029872" from="102029872"/> | |
<edge toIndex="1" to="102029872" from="102025048"/> | |
<edge to="102017184" from="102026936"/> | |
<edge toIndex="1" to="102017184" from="102016904"/> | |
<edge toIndex="2" to="102017184" from="102016904"/> | |
<edge toIndex="3" to="102017184" from="102022272"/> | |
<edge toIndex="4" to="102017184" from="102016904"/> | |
<edge to="102020632" from="102017008"/> | |
<edge to="102021768" from="102021768"/> | |
<edge toIndex="1" to="102021768" from="102017008"/> | |
</edges> | |
<controlFlow> | |
</controlFlow> | |
</graph> | |
<graph> | |
<properties> | |
<p name="name"> | |
Final Code</p> | |
</properties> | |
<nodes> | |
<removeNode id="102019920"/> | |
<removeNode id="102028192"/> | |
<node id="102032912"> | |
<properties> | |
<p name="id"> | |
102032912</p> | |
<p name="name"> | |
jmpDir_short</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
38</p> | |
<p name="debug_idx"> | |
5700055</p> | |
<p name="block"> | |
2</p> | |
<p name="is_branch"> | |
true</p> | |
<p name="is_goto"> | |
true</p> | |
<p name="is_pc_relative"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="idealOpcode"> | |
Goto</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="reg"> | |
<OptoReg::-1></p> | |
<p name="lrg"> | |
0</p> | |
</properties> | |
</node> | |
<node id="102032584"> | |
<properties> | |
<p name="id"> | |
102032584</p> | |
<p name="name"> | |
jmpCon_short</p> | |
<p name="type"> | |
tuple:</p> | |
<p name="idx"> | |
7</p> | |
<p name="debug_idx"> | |
5700054</p> | |
<p name="block"> | |
1</p> | |
<p name="is_branch"> | |
true</p> | |
<p name="is_pc_relative"> | |
true</p> | |
<p name="is_shared"> | |
true</p> | |
<p name="is_dontcare"> | |
true</p> | |
<p name="old_node_idx"> | |
53</p> | |
<p name="idealOpcode"> | |
If</p> | |
<p name="dump_spec"> | |
P=0.000000, C=330626.000000</p> | |
<p name="bci"> | |
5</p> | |
<p name="reg"> | |
<OptoReg::-1></p> | |
<p name="lrg"> | |
0</p> | |
</properties> | |
</node> | |
<node id="102031792"> | |
<properties> | |
<p name="id"> | |
102031792</p> | |
<p name="name"> | |
jmpDir</p> | |
<p name="type"> | |
bottom</p> | |
<p name="idx"> | |
48</p> | |
<p name="debug_idx"> | |
5700048</p> | |
<p name="block"> | |
5</p> | |
<p name="is_branch"> | |
true</p> | |
<p name="is_goto"> | |
true</p> | |
<p name="may_be_short_branch"> | |
true</p> | |
<p name="is_pc_relative"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="idealOpcode"> | |
Goto</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="is_block_proj"> | |
true</p> | |
<p name="reg"> | |
<OptoReg::-1></p> | |
<p name="lrg"> | |
-1414812757</p> | |
</properties> | |
</node> | |
<node id="102031600"> | |
<properties> | |
<p name="id"> | |
102031600</p> | |
<p name="name"> | |
MachSpillCopy</p> | |
<p name="type"> | |
rawptr:</p> | |
<p name="idx"> | |
47</p> | |
<p name="debug_idx"> | |
5700047</p> | |
<p name="block"> | |
1</p> | |
<p name="is_copy"> | |
true</p> | |
<p name="is_shared"> | |
false</p> | |
<p name="is_dontcare"> | |
false</p> | |
<p name="idealOpcode"> | |
Node</p> | |
<p name="dump_spec"> | |
</p> | |
<p name="reg"> | |
RCX</p> | |
<p name="lrg"> | |
15</p> | |
</properties> | |
</node> | |
</nodes> | |
<edges> | |
<removeEdge to="102019816" from="102019920"/> | |
<removeEdge to="102025048" from="102019920"/> | |
<removeEdge toIndex="1" to="102019920" from="102020216"/> | |
<removeEdge to="102028192" from="102022768"/> | |
<removeEdge to="102019920" from="102021000"/> | |
<removeEdge toIndex="2" to="102017616" from="102028192"/> | |
<removeEdge toIndex="5" to="102021136" from="102022440"/> | |
<removeEdge toIndex="1" to="102026936" from="102017416"/> | |
<removeEdge toIndex="1" to="102029432" from="102023256"/> | |
<edge toIndex="5" to="102021136" from="102031600"/> | |
<edge toIndex="2" to="102017616" from="102032912"/> | |
<edge to="102032912" from="102022768"/> | |
<edge toIndex="1" to="102029432" from="102031792"/> | |
<edge to="102019816" from="102032584"/> | |
<edge to="102032584" from="102021000"/> | |
<edge toIndex="1" to="102032584" from="102020216"/> | |
<edge to="102025048" from="102032584"/> | |
<edge to="102031792" from="102017616"/> | |
<edge toIndex="1" to="102031600" from="102022440"/> | |
</edges> | |
<controlFlow> | |
</controlFlow> | |
</graph> | |
</group> | |
</graphDocument> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{method} | |
- klass: {other class} | |
- this oop: 0x00000000bc925718 | |
- method holder: 'StopThread$1' | |
- constants: 0x00000000bc925430 constant pool [29] for 'StopThread$1' cache=0x00000000bc925a90 | |
- access: 0xc1000001 public | |
- name: 'run' | |
- signature: '()V' | |
- max stack: 1 | |
- max locals: 2 | |
- size of params: 1 | |
- method size: 17 | |
- vtable index: -2 | |
- i2i entry: 0x000000000250daa0 | |
- adapter: 0x0000000005f08750 | |
- compiled entry 0x00000000025be72d | |
- code size: 15 | |
- code start: 0x00000000bc925700 | |
- code end (excl): 0x00000000bc92570f | |
- method data: 0x00000000bc9287e0 | |
- checked ex length: 0 | |
- linenumber start: 0x00000000bc92570f | |
- localvar length: 0 | |
# | |
# void ( rawptr:BotPTR ) | |
# | |
#r016 rdx:rdx : parm 0: rawptr:BotPTR | |
# -- Old rsp -- Framesize: 64 -- | |
#r089 rsp+60: pad2, in_preserve | |
#r088 rsp+56: pad2, in_preserve | |
#r087 rsp+52: pad2, in_preserve | |
#r086 rsp+48: pad2, in_preserve | |
#r085 rsp+44: pad2, in_preserve | |
#r084 rsp+40: return address | |
#r083 rsp+36: Fixed slot 1 | |
#r082 rsp+32: Fixed slot 0 | |
#r097 rsp+28: outgoing argument | |
#r096 rsp+24: outgoing argument | |
#r095 rsp+20: outgoing argument | |
#r094 rsp+16: outgoing argument | |
#r093 rsp+12: outgoing argument | |
#r092 rsp+ 8: outgoing argument | |
#r091 rsp+ 4: outgoing argument | |
#r090 rsp+ 0: outgoing argument | |
# | |
000 N50: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 INT3 | |
nop # 15 bytes pad for loops and calls | |
010 B1: # B3 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
010 pushq rbp | |
subq rsp, #48 # Create frame | |
nop # nop for patch_verified_entry | |
016 movl RBX, [RDX] # int | |
018 movq RCX, RDX # spill | |
01b call_leaf,runtime OSR_migration_end | |
No JVM State Info | |
# | |
028 movq R10, precise klass StopThread: 0x0000000005fb9698:Constant:exact * # ptr | |
032 movzbl R11, [R10 + #600 (32-bit)] # ubyte ! Field StopThread.stopRequested | |
03a testl R11, R11 | |
03d jne,s B3 P=0.000000 C=13654.000000 | |
03d | |
03f B2: # B2 <- B1 B2 top-of-loop Freq: 1e-035 | |
03f incl RBX # int | |
041 testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC # StopThread$1::run @ bci:11 L[0]=_ L[1]=RBX | |
# OopMap{off=65} | |
047 jmp,s B2 | |
047 | |
049 B3: # N50 <- B1 Freq: 5e-007 | |
049 addq rsp, 48 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
054 ret | |
054 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.concurrent.*; | |
public class StopThread { | |
private static boolean stopRequested; | |
public static void main(String[] args) throws Exception { | |
Thread t = new Thread(new Runnable() { | |
public void run() { | |
int i = 0; | |
while (!stopRequested) | |
i++; | |
} | |
}); | |
t.start(); | |
TimeUnit.SECONDS.sleep(1); | |
stopRequested = true; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The original code is effective optimized into something as follows | |
import java.util.concurrent.*; | |
public class StopThread { | |
private static boolean stopRequested; | |
public static void main(String[] args) throws Exception { | |
Thread t = new Thread(new Runnable() { | |
public void run() { | |
int i = 0; | |
if (!stopRequested) { // the static variable load is hoisted out of the loop as a loop invariant | |
while (true) | |
i++; | |
} | |
} | |
}); | |
t.start(); | |
TimeUnit.SECONDS.sleep(1); | |
stopRequested = true; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
D:\sdk\jdk1.6.0_25\fastdebug\bin\java -XX:CICompilerCount=1 -XX:+PrintCompilation -XX:+TraceIterativeGVN StopThread > StopThread_TraceIterativeGVN.txt | |
878 1 StopThread::access$000 (4 bytes) | |
VM option 'CICompilerCount=1' | |
VM option '+PrintCompilation' | |
VM option '+TraceIterativeGVN' | |
908 1% StopThread$1::run @ 2 (15 bytes) | |
< < 76 Phi === _ _ _ [[]] [3200076] | |
> memory 7 Parm === 3 [[ 65 105 105 26 27 49 95 83 ]] Memory Memory: @BotPTR *+bot, idx=Bot; !orig=[76] !jvms: StopThread$1::run @ bci:2 | |
< < 77 Phi === _ _ _ [[]] [3200077] | |
> memory 30 Proj === 27 [[ 65 106 106 83 ]] #2 Memory: @rawptr:BotPTR, idx=Raw; !orig=[77] !jvms: StopThread$1::run @ bci:2 | |
< < 105 Phi === _ _ _ [[]] [3400105] | |
> memory 7 Parm === 3 [[ 65 16 83 26 27 49 95 ]] Memory Memory: @BotPTR *+bot, idx=Bot; !orig=[76] !jvms: StopThread$1::run @ bci:2 | |
< < 106 Phi === _ _ _ [[]] [3400106] | |
> memory 30 Proj === 27 [[ 65 16 83 ]] #2 Memory: @rawptr:BotPTR, idx=Raw; !orig=[77] !jvms: StopThread$1::run @ bci:2 | |
< control < 38 Region === _ _ [[]] [3200038] | |
> top 1 Con === 0 [[]] #top | |
< < 95 LoadUB === _ _ _ [[]] [3400095] | |
> bool 49 LoadUB === _ 7 48 [[ 51 97 ]] @precise klass StopThread: 0x00000000060c4968:Constant:exact+600 *, name=stopRequested, idx=4; #bool !orig=[95] !jvms: StopThread::access$000 @ bci:0 StopThread$1::run @ bci:2 | |
< < 75 Phi === _ _ _ [[]] [3200075] | |
> abIO 6 Parm === 3 [[ 68 104 104 ]] I_O !orig=[75] !jvms: StopThread$1::run @ bci:2 | |
< < 97 CmpI === _ _ _ [[]] [3400097] | |
> bool 51 CmpI === _ 49 20 [[ 52 98 ]] !orig=[97] !jvms: StopThread$1::run @ bci:5 | |
< < 104 Phi === _ _ _ [[]] [3400104] | |
> abIO 6 Parm === 3 [[ 68 109 ]] I_O !orig=[75] !jvms: StopThread$1::run @ bci:2 | |
< < 98 Bool === _ _ [[]] [3400098] | |
> bool 52 Bool === _ 51 [[ 53 99 ]] [ne] !orig=[98] !jvms: StopThread$1::run @ bci:5 | |
= {0:control, 1:top} 99 If === 82 20 [[ 100 101 ]] P=0.000000, C=185496.000000 !jvms: StopThread$1::run @ bci:5 | |
< control < 100 IfTrue === _ [[]] [3400100] | |
> top 1 Con === 0 [[]] #top | |
< control < 58 Region === _ _ [[]] [3200058] | |
> top 1 Con === 0 [[]] #top | |
< < 101 IfFalse === _ [[]] [3400101] | |
> control 82 SafePoint === 110 1 83 1 1 1 81 [[ 110 ]] SafePoint !orig=[101] !jvms: StopThread$1::run @ bci:11 | |
< < 117 Parm === _ [[]] [4900117] | |
> rawptr:BotPTR 8 Parm === 3 [[ 109 68 72 27 118 ]] FramePtr !orig=[117] !jvms: StopThread$1::run @ bci:2 | |
< < 61 Opaque1 === _ _ [[]] [3200061] | |
> int 60 ConI === 0 [[ 62 81 ]] #int:1 | |
< bool < 62 Conv2B === _ _ [[]] [3200062] | |
> int:1 60 ConI === 0 [[ 63 81 ]] #int:1 | |
= {0:top, 1:control} 63 If === 55 60 [[ 64 73 ]] P=0.999999, C=-1.000000 !jvms: StopThread$1::run @ bci:8 | |
< control < 64 IfFalse === _ [[]] [3200064] | |
> top 1 Con === 0 [[]] #top | |
< < 73 IfTrue === _ [[]] [3200073] | |
> control 55 IfFalse === 53 [[ 110 ]] #0 !orig=[73] !jvms: StopThread$1::run @ bci:5 | |
< {0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address} < 68 CallStaticJava === _ _ _ _ _ (_ _ _ ) [[]] [3200068] | |
> top 1 Con === 0 [[]] #top |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment