author | jiangli |
Fri, 02 Nov 2018 19:30:31 -0400 | |
changeset 52397 | 1322829d1501 |
parent 47216 | 71c04702a3d5 |
permissions | -rw-r--r-- |
35558
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
1 |
/* |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
2 |
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
3 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
4 |
* |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
5 |
* This code is free software; you can redistribute it and/or modify it |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
6 |
* under the terms of the GNU General Public License version 2 only, as |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation. |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
8 |
* |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
9 |
* This code is distributed in the hope that it will be useful, but WITHOUT |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
10 |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
11 |
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
12 |
* version 2 for more details (a copy is included in the LICENSE file that |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
13 |
* accompanied this code). |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
14 |
* |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
15 |
* You should have received a copy of the GNU General Public License version |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
16 |
* 2 along with this work; if not, write to the Free Software Foundation, |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
17 |
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
18 |
* |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
19 |
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
20 |
* or visit www.oracle.com if you need additional information or have any |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
21 |
* questions. |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
22 |
*/ |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
23 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
24 |
/** |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
25 |
* @test |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
26 |
* @bug 8146792 |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
27 |
* @summary Predicate moved after partial peel may lead to broken graph |
40059 | 28 |
* @run main/othervm -XX:-TieredCompilation -XX:-BackgroundCompilation |
29 |
* -XX:-UseOnStackReplacement |
|
30 |
* -XX:CompileCommand=compileonly,compiler.loopopts.BadPredicateAfterPartialPeel::m |
|
31 |
* -XX:CompileCommand=dontinline,compiler.loopopts.BadPredicateAfterPartialPeel::not_inlined* |
|
32 |
* -XX:CompileCommand=quiet |
|
33 |
* compiler.loopopts.BadPredicateAfterPartialPeel |
|
35558
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
34 |
*/ |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
35 |
|
40059 | 36 |
package compiler.loopopts; |
37 |
||
35558
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
38 |
public class BadPredicateAfterPartialPeel { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
39 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
40 |
static void not_inlined1() {} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
41 |
static void not_inlined4() {} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
42 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
43 |
static int m_helper(int i, int i3, int i4) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
44 |
return i3 == 4 ? i4 : i; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
45 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
46 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
47 |
static float[] array = new float[1000]; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
48 |
static int[] array2 = new int[1000]; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
49 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
50 |
boolean flag; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
51 |
int j; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
52 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
53 |
static void m(BadPredicateAfterPartialPeel o1, BadPredicateAfterPartialPeel o2, BadPredicateAfterPartialPeel o, int i4) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
54 |
int i1 = 1; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
55 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
56 |
// To delay partial peeling to the loop opts pass right before CCP |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
57 |
int i2 = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
58 |
for (; i2 < 10; i2 += i1); |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
59 |
i2 = i2 / 10; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
60 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
61 |
// Simplified during CCP: |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
62 |
int i3 = 2; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
63 |
for (; i3 < 4; i3 *= 2); |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
64 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
65 |
// Loop is partial peeled right before CCP |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
66 |
int i = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
67 |
boolean b = true; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
68 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
69 |
not_inlined1(); |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
70 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
71 |
array[0] = -1; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
72 |
do { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
73 |
// peeled section starts here |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
74 |
o.flag = false; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
75 |
o.j = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
76 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
77 |
if (b) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
78 |
// The following store will be pinned between |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
79 |
// predicates and the loop after partial peeling. All |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
80 |
// control flow will be optimized out and so nothing |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
81 |
// will prevent predicates from being moved out the |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
82 |
// loop. |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
83 |
array[i] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
84 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
85 |
if (array[0] != 0) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
86 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
87 |
if (i >= 10) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
88 |
// peeled section ends here |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
89 |
return; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
90 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
91 |
i += i2; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
92 |
b = false; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
93 |
int i5 = m_helper(i, i3, i4); // This will be simpliflied during CCP |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
94 |
if (array[i5] != 0) { // and this will become a predicate |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
95 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
96 |
if (o2.flag) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
97 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
98 |
// A bunch of stuff to grow loop body size and prevent peeling: |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
99 |
array2[0] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
100 |
array2[1] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
101 |
array2[2] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
102 |
array2[3] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
103 |
array2[4] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
104 |
array2[5] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
105 |
array2[6] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
106 |
array2[7] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
107 |
array2[8] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
108 |
array2[9] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
109 |
array2[10] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
110 |
array2[11] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
111 |
array2[12] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
112 |
array2[13] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
113 |
array2[14] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
114 |
array2[15] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
115 |
array2[16] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
116 |
array2[17] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
117 |
array2[18] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
118 |
array2[19] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
119 |
array2[20] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
120 |
array2[21] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
121 |
array2[22] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
122 |
array2[23] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
123 |
array2[24] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
124 |
array2[25] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
125 |
array2[26] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
126 |
array2[27] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
127 |
array2[28] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
128 |
array2[29] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
129 |
array2[30] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
130 |
array2[31] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
131 |
array2[32] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
132 |
array2[33] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
133 |
array2[34] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
134 |
array2[35] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
135 |
array2[36] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
136 |
array2[37] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
137 |
array2[38] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
138 |
array2[39] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
139 |
array2[40] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
140 |
array2[41] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
141 |
array2[42] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
142 |
array2[43] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
143 |
array2[44] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
144 |
array2[45] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
145 |
array2[46] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
146 |
array2[47] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
147 |
array2[48] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
148 |
array2[49] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
149 |
array2[50] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
150 |
array2[51] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
151 |
array2[52] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
152 |
array2[53] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
153 |
array2[54] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
154 |
array2[55] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
155 |
array2[56] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
156 |
array2[57] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
157 |
array2[58] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
158 |
array2[59] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
159 |
array2[60] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
160 |
array2[61] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
161 |
array2[62] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
162 |
array2[63] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
163 |
array2[64] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
164 |
array2[65] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
165 |
array2[66] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
166 |
array2[67] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
167 |
array2[68] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
168 |
array2[69] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
169 |
array2[70] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
170 |
array2[71] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
171 |
array2[72] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
172 |
array2[73] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
173 |
array2[74] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
174 |
array2[75] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
175 |
array2[76] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
176 |
array2[77] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
177 |
array2[78] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
178 |
array2[79] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
179 |
array2[80] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
180 |
array2[81] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
181 |
array2[82] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
182 |
array2[83] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
183 |
array2[84] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
184 |
array2[85] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
185 |
array2[86] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
186 |
array2[87] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
187 |
array2[88] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
188 |
array2[89] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
189 |
array2[90] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
190 |
array2[91] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
191 |
array2[92] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
192 |
array2[93] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
193 |
array2[94] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
194 |
array2[95] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
195 |
array2[96] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
196 |
array2[97] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
197 |
array2[98] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
198 |
array2[99] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
199 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
200 |
array2[100] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
201 |
array2[101] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
202 |
array2[102] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
203 |
array2[103] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
204 |
array2[104] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
205 |
array2[105] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
206 |
array2[106] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
207 |
array2[107] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
208 |
array2[108] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
209 |
array2[109] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
210 |
array2[110] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
211 |
array2[111] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
212 |
array2[112] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
213 |
array2[113] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
214 |
array2[114] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
215 |
array2[115] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
216 |
array2[116] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
217 |
array2[117] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
218 |
array2[118] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
219 |
array2[119] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
220 |
array2[120] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
221 |
array2[121] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
222 |
array2[122] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
223 |
array2[123] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
224 |
array2[124] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
225 |
array2[125] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
226 |
array2[126] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
227 |
array2[127] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
228 |
array2[128] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
229 |
array2[129] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
230 |
array2[130] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
231 |
array2[131] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
232 |
array2[132] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
233 |
array2[133] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
234 |
array2[134] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
235 |
array2[135] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
236 |
array2[136] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
237 |
array2[137] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
238 |
array2[138] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
239 |
array2[139] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
240 |
array2[140] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
241 |
array2[141] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
242 |
array2[142] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
243 |
array2[143] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
244 |
array2[144] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
245 |
array2[145] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
246 |
array2[146] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
247 |
array2[147] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
248 |
array2[148] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
249 |
array2[149] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
250 |
array2[150] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
251 |
array2[151] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
252 |
array2[152] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
253 |
array2[153] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
254 |
array2[154] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
255 |
array2[155] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
256 |
array2[156] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
257 |
array2[157] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
258 |
array2[158] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
259 |
array2[159] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
260 |
array2[160] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
261 |
array2[161] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
262 |
array2[162] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
263 |
array2[163] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
264 |
array2[164] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
265 |
array2[165] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
266 |
array2[166] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
267 |
array2[167] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
268 |
array2[168] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
269 |
array2[169] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
270 |
array2[170] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
271 |
array2[171] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
272 |
array2[172] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
273 |
array2[173] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
274 |
array2[174] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
275 |
array2[175] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
276 |
array2[176] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
277 |
array2[177] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
278 |
array2[178] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
279 |
array2[179] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
280 |
array2[180] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
281 |
array2[181] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
282 |
array2[182] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
283 |
array2[183] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
284 |
array2[184] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
285 |
array2[185] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
286 |
array2[186] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
287 |
array2[187] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
288 |
array2[188] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
289 |
array2[189] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
290 |
array2[190] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
291 |
array2[191] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
292 |
array2[192] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
293 |
array2[193] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
294 |
array2[194] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
295 |
array2[195] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
296 |
array2[196] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
297 |
array2[197] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
298 |
array2[198] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
299 |
array2[199] = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
300 |
if (o1.j >= 20) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
301 |
break; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
302 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
303 |
o1.j++; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
304 |
} while(true); |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
305 |
not_inlined4(); |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
306 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
307 |
|
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
308 |
static public void main(String[] args) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
309 |
BadPredicateAfterPartialPeel o1 = new BadPredicateAfterPartialPeel(); |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
310 |
BadPredicateAfterPartialPeel o2 = new BadPredicateAfterPartialPeel(); |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
311 |
for (int i = 0; i < 20000; i++) { |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
312 |
o1.j = 0; |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
313 |
m(o1, o2, o2, 0); |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
314 |
m_helper(i, 2, i); // pollute profile |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
315 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
316 |
} |
9b3b2740c3ec
8146792: Predicate moved after partial peel may lead to broken graph
roland
parents:
diff
changeset
|
317 |
} |