Tue, 04 Feb 2020 02:11:25 +0000
Merge
.hgtags | file | annotate | diff | comparison | revisions | |
THIRD_PARTY_README | file | annotate | diff | comparison | revisions |
1.1 --- a/.hgtags Mon Jan 27 05:10:29 2020 +0000 1.2 +++ b/.hgtags Tue Feb 04 02:11:25 2020 +0000 1.3 @@ -1296,3 +1296,4 @@ 1.4 7c9f6b5f8d119dc1ba3c5536595ce3ae7414599d jdk8u242-ga 1.5 8c0733543544bbcd32c4404630d764d280299056 jdk8u252-b00 1.6 a67e9c6edcdd73cb860a16990f0905e102c282d7 jdk8u252-b01 1.7 +5bd3b8c0555292a967ea3b4c39a220d0c2cf40ad jdk8u252-b02
2.1 --- a/THIRD_PARTY_README Mon Jan 27 05:10:29 2020 +0000 2.2 +++ b/THIRD_PARTY_README Tue Feb 04 02:11:25 2020 +0000 2.3 @@ -1712,10 +1712,9 @@ 2.4 2.5 --- begin of LICENSE --- 2.6 2.7 - Mesa 3-D graphics library 2.8 - Version: 5.0 2.9 - 2.10 - Copyright (C) 1999-2002 Brian Paul All Rights Reserved. 2.11 + Mesa 3-D Graphics Library v19.2.1 2.12 + 2.13 + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. 2.14 2.15 Permission is hereby granted, free of charge, to any person obtaining a 2.16 copy of this software and associated documentation files (the "Software"), 2.17 @@ -1730,9 +1729,118 @@ 2.18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 2.19 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 2.20 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 2.21 - BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 2.22 - AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 2.23 - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2.24 + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 2.25 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 2.26 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 2.27 + SOFTWARE. 2.28 + 2.29 +Attention, Contributors 2.30 + 2.31 +When contributing to the Mesa project you must agree to the licensing terms 2.32 +of the component to which you're contributing. 2.33 +The following section lists the primary components of the Mesa distribution 2.34 +and their respective licenses. 2.35 +Mesa Component Licenses 2.36 + 2.37 + 2.38 + 2.39 +Component Location License 2.40 +------------------------------------------------------------------ 2.41 +Main Mesa code src/mesa/ MIT 2.42 +Device drivers src/mesa/drivers/* MIT, generally 2.43 + 2.44 +Gallium code src/gallium/ MIT 2.45 + 2.46 +Ext headers GL/glext.h Khronos 2.47 + GL/glxext.h Khronos 2.48 + GL/wglext.h Khronos 2.49 + KHR/khrplatform.h Khronos 2.50 + 2.51 +***************************************************************************** 2.52 + 2.53 +---- 2.54 +include/GL/gl.h : 2.55 + 2.56 + 2.57 + Mesa 3-D graphics library 2.58 + 2.59 + Copyright (C) 1999-2006 Brian Paul All Rights Reserved. 2.60 + Copyright (C) 2009 VMware, Inc. All Rights Reserved. 2.61 + 2.62 + Permission is hereby granted, free of charge, to any person obtaining a 2.63 + copy of this software and associated documentation files (the "Software"), 2.64 + to deal in the Software without restriction, including without limitation 2.65 + the rights to use, copy, modify, merge, publish, distribute, sublicense, 2.66 + and/or sell copies of the Software, and to permit persons to whom the 2.67 + Software is furnished to do so, subject to the following conditions: 2.68 + 2.69 + The above copyright notice and this permission notice shall be included 2.70 + in all copies or substantial portions of the Software. 2.71 + 2.72 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 2.73 + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 2.74 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 2.75 + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 2.76 + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 2.77 + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 2.78 + OTHER DEALINGS IN THE SOFTWARE. 2.79 + 2.80 + ***************************************************************************** 2.81 + 2.82 +---- 2.83 +include/GL/glext.h 2.84 +include/GL/glxext.h 2.85 +include/GL/wglxext.h : 2.86 + 2.87 + 2.88 + Copyright (c) 2013 - 2018 The Khronos Group Inc. 2.89 + 2.90 + Permission is hereby granted, free of charge, to any person obtaining a 2.91 + copy of this software and/or associated documentation files (the 2.92 + "Materials"), to deal in the Materials without restriction, including 2.93 + without limitation the rights to use, copy, modify, merge, publish, 2.94 + distribute, sublicense, and/or sell copies of the Materials, and to 2.95 + permit persons to whom the Materials are furnished to do so, subject to 2.96 + the following conditions: 2.97 + 2.98 + The above copyright notice and this permission notice shall be included 2.99 + in all copies or substantial portions of the Materials. 2.100 + 2.101 + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 2.102 + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2.103 + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 2.104 + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 2.105 + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 2.106 + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 2.107 + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 2.108 + 2.109 + ***************************************************************************** 2.110 + 2.111 +---- 2.112 +include/KHR/khrplatform.h : 2.113 + 2.114 + Copyright (c) 2008 - 2018 The Khronos Group Inc. 2.115 + 2.116 + Permission is hereby granted, free of charge, to any person obtaining a 2.117 + copy of this software and/or associated documentation files (the 2.118 + "Materials"), to deal in the Materials without restriction, including 2.119 + without limitation the rights to use, copy, modify, merge, publish, 2.120 + distribute, sublicense, and/or sell copies of the Materials, and to 2.121 + permit persons to whom the Materials are furnished to do so, subject to 2.122 + the following conditions: 2.123 + 2.124 + The above copyright notice and this permission notice shall be included 2.125 + in all copies or substantial portions of the Materials. 2.126 + 2.127 + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 2.128 + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2.129 + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 2.130 + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 2.131 + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 2.132 + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 2.133 + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 2.134 + 2.135 + ***************************************************************************** 2.136 2.137 --- end of LICENSE --- 2.138
3.1 --- a/make/windows/build.make Mon Jan 27 05:10:29 2020 +0000 3.2 +++ b/make/windows/build.make Tue Feb 04 02:11:25 2020 +0000 3.3 @@ -280,7 +280,7 @@ 3.4 @ echo HS_COMPANY=$(COMPANY_NAME) >> $@ 3.5 @ echo HS_FILEDESC=$(HS_FILEDESC) >> $@ 3.6 @ echo HOTSPOT_VM_DISTRO=$(HOTSPOT_VM_DISTRO) >> $@ 3.7 - @ echo VENDOR=$(VENDOR) >> $@ 3.8 + @ echo VENDOR=$(COMPANY_NAME) >> $@ 3.9 @ echo VENDOR_URL=$(VENDOR_URL) >> $@ 3.10 @ echo VENDOR_URL_BUG=$(VENDOR_URL_BUG) >> $@ 3.11 @ echo VENDOR_URL_VM_BUG=$(VENDOR_URL_VM_BUG) >> $@
4.1 --- a/make/windows/makefiles/compile.make Mon Jan 27 05:10:29 2020 +0000 4.2 +++ b/make/windows/makefiles/compile.make Tue Feb 04 02:11:25 2020 +0000 4.3 @@ -346,7 +346,7 @@ 4.4 /D "HS_BUILD_ID=$(HS_BUILD_ID)" \ 4.5 /D "JDK_VER=$(JDK_VER)" \ 4.6 /D "JDK_DOTVER=$(JDK_DOTVER)" \ 4.7 - /D "HS_COMPANY=$(HS_COMPANY)" \ 4.8 + /D "HS_COMPANY=$(COMPANY_NAME)" \ 4.9 /D "HS_FILEDESC=$(HS_FILEDESC)" \ 4.10 /D "HS_COPYRIGHT=$(HS_COPYRIGHT)" \ 4.11 /D "HS_FNAME=$(HS_FNAME)" \
5.1 --- a/make/windows/makefiles/defs.make Mon Jan 27 05:10:29 2020 +0000 5.2 +++ b/make/windows/makefiles/defs.make Tue Feb 04 02:11:25 2020 +0000 5.3 @@ -157,6 +157,15 @@ 5.4 MAKE_ARGS += RM="$(RM)" 5.5 MAKE_ARGS += ZIPEXE=$(ZIPEXE) 5.6 5.7 +MAKE_ARGS += COMPANY_NAME="$(COMPANY_NAME)" 5.8 +MAKE_ARGS += VENDOR_URL=$(VENDOR_URL) 5.9 +MAKE_ARGS += VENDOR_URL_BUG=$(VENDOR_URL_BUG) 5.10 +MAKE_ARGS += VENDOR_URL_VM_BUG=$(VENDOR_URL_VM_BUG) 5.11 +ifneq ($(VERSION_CFLAGS),) 5.12 + # transform syntax from -DProp='"Value"' to /D "Prop=\"Value\"" for Windows build 5.13 + MAKE_ARGS += VERSION_CFLAGS="$(subst -D,/D \",$(subst ',,$(subst '$() $(),\"$() $(),$(subst ",\\\",$(VERSION_CFLAGS)))))\"" 5.14 +endif 5.15 + 5.16 # On 32 bit windows we build server and client, on 64 bit just server. 5.17 ifeq ($(JVM_VARIANTS),) 5.18 ifeq ($(ARCH_DATA_MODEL), 32)
6.1 --- a/make/windows/makefiles/vm.make Mon Jan 27 05:10:29 2020 +0000 6.2 +++ b/make/windows/makefiles/vm.make Tue Feb 04 02:11:25 2020 +0000 6.3 @@ -62,10 +62,6 @@ 6.4 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\"" 6.5 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\"" 6.6 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_VM_DISTRO=\"$(HOTSPOT_VM_DISTRO)\"" 6.7 -CXX_FLAGS=$(CXX_FLAGS) /D "VENDOR=\"$(COMPANY_NAME)\"" 6.8 -CXX_FLAGS=$(CXX_FLAGS) /D "VENDOR_URL=\"$(VENDOR_URL)\"" 6.9 -CXX_FLAGS=$(CXX_FLAGS) /D "VENDOR_URL_BUG=\"$(VENDOR_URL_BUG)\"" 6.10 -CXX_FLAGS=$(CXX_FLAGS) /D "VENDOR_URL_VM_BUG=\"$(VENDOR_URL_VM_BUG)\"" 6.11 6.12 CXX_FLAGS=$(CXX_FLAGS) $(CXX_INCLUDE_DIRS) 6.13 6.14 @@ -209,6 +205,14 @@ 6.15 bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp 6.16 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp 6.17 6.18 +#files compiled with version flags 6.19 + 6.20 +vm_version.obj: $(WorkSpace)\src\share\vm\runtime\vm_version.cpp 6.21 + $(CXX) $(CXX_FLAGS) $(VERSION_CFLAGS) $(CXX_USE_PCH) /c $(WorkSpace)\src\share\vm\runtime\vm_version.cpp 6.22 + 6.23 +arguments.obj: $(WorkSpace)\src\share\vm\runtime\arguments.cpp 6.24 + $(CXX) $(CXX_FLAGS) $(VERSION_CFLAGS) $(CXX_USE_PCH) /c $(WorkSpace)\src\share\vm\runtime\arguments.cpp 6.25 + 6.26 # Default rules for the Virtual Machine 6.27 {$(COMMONSRC)\share\vm\c1}.cpp.obj:: 6.28 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
7.1 --- a/src/share/vm/opto/loopPredicate.cpp Mon Jan 27 05:10:29 2020 +0000 7.2 +++ b/src/share/vm/opto/loopPredicate.cpp Tue Feb 04 02:11:25 2020 +0000 7.3 @@ -502,7 +502,31 @@ 7.4 _lpt(lpt), _phase(lpt->_phase), 7.5 _visited(area), _invariant(area), _stack(area, 10 /* guess */), 7.6 _clone_visited(area), _old_new(area) 7.7 - {} 7.8 + { 7.9 + Node* head = _lpt->_head; 7.10 + Node* entry = head->in(LoopNode::EntryControl); 7.11 + if (entry->outcnt() != 1) { 7.12 + // If a node is pinned between the predicates and the loop 7.13 + // entry, we won't be able to move any node in the loop that 7.14 + // depends on it above it in a predicate. Mark all those nodes 7.15 + // as non loop invariatnt. 7.16 + Unique_Node_List wq; 7.17 + wq.push(entry); 7.18 + for (uint next = 0; next < wq.size(); ++next) { 7.19 + Node *n = wq.at(next); 7.20 + for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) { 7.21 + Node* u = n->fast_out(i); 7.22 + if (!u->is_CFG()) { 7.23 + Node* c = _phase->get_ctrl(u); 7.24 + if (_lpt->is_member(_phase->get_loop(c)) || _phase->is_dominator(c, head)) { 7.25 + _visited.set(u->_idx); 7.26 + wq.push(u); 7.27 + } 7.28 + } 7.29 + } 7.30 + } 7.31 + } 7.32 + } 7.33 7.34 // Map old to n for invariance computation and clone 7.35 void map_ctrl(Node* old, Node* n) {
8.1 --- a/src/share/vm/opto/node.cpp Mon Jan 27 05:10:29 2020 +0000 8.2 +++ b/src/share/vm/opto/node.cpp Tue Feb 04 02:11:25 2020 +0000 8.3 @@ -286,6 +286,10 @@ 8.4 #ifdef _MSC_VER // the IDX_INIT hack falls foul of warning C4355 8.5 #pragma warning( disable:4355 ) // 'this' : used in base member initializer list 8.6 #endif 8.7 +#ifdef __clang__ 8.8 +#pragma clang diagnostic push 8.9 +#pragma GCC diagnostic ignored "-Wuninitialized" 8.10 +#endif 8.11 8.12 // Out-of-line code from node constructors. 8.13 // Executed only when extra debug info. is being passed around. 8.14 @@ -493,6 +497,10 @@ 8.15 _in[6] = n6; if (n6 != NULL) n6->add_out((Node *)this); 8.16 } 8.17 8.18 +#ifdef __clang__ 8.19 +#pragma clang diagnostic pop 8.20 +#endif 8.21 + 8.22 8.23 //------------------------------clone------------------------------------------ 8.24 // Clone a Node.
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/test/compiler/loopopts/BadPredicateAfterPartialPeel.java Tue Feb 04 02:11:25 2020 +0000 9.3 @@ -0,0 +1,312 @@ 9.4 +/* 9.5 + * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. 9.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9.7 + * 9.8 + * This code is free software; you can redistribute it and/or modify it 9.9 + * under the terms of the GNU General Public License version 2 only, as 9.10 + * published by the Free Software Foundation. 9.11 + * 9.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 9.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 9.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 9.15 + * version 2 for more details (a copy is included in the LICENSE file that 9.16 + * accompanied this code). 9.17 + * 9.18 + * You should have received a copy of the GNU General Public License version 9.19 + * 2 along with this work; if not, write to the Free Software Foundation, 9.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 9.21 + * 9.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 9.23 + * or visit www.oracle.com if you need additional information or have any 9.24 + * questions. 9.25 + * 9.26 + */ 9.27 + 9.28 +/** 9.29 + * @test 9.30 + * @bug 8146792 9.31 + * @summary Predicate moved after partial peel may lead to broken graph 9.32 + * @run main/othervm -XX:-TieredCompilation -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:CompileOnly=BadPredicateAfterPartialPeel::m -XX:CompileCommand=dontinline,BadPredicateAfterPartialPeel::not_inlined* -XX:CompileCommand=quiet BadPredicateAfterPartialPeel 9.33 + * 9.34 + */ 9.35 + 9.36 +public class BadPredicateAfterPartialPeel { 9.37 + 9.38 + static void not_inlined1() {} 9.39 + static void not_inlined4() {} 9.40 + 9.41 + static int m_helper(int i, int i3, int i4) { 9.42 + return i3 == 4 ? i4 : i; 9.43 + } 9.44 + 9.45 + static float[] array = new float[1000]; 9.46 + static int[] array2 = new int[1000]; 9.47 + 9.48 + boolean flag; 9.49 + int j; 9.50 + 9.51 + static void m(BadPredicateAfterPartialPeel o1, BadPredicateAfterPartialPeel o2, BadPredicateAfterPartialPeel o, int i4) { 9.52 + int i1 = 1; 9.53 + 9.54 + // To delay partial peeling to the loop opts pass right before CCP 9.55 + int i2 = 0; 9.56 + for (; i2 < 10; i2 += i1); 9.57 + i2 = i2 / 10; 9.58 + 9.59 + // Simplified during CCP: 9.60 + int i3 = 2; 9.61 + for (; i3 < 4; i3 *= 2); 9.62 + 9.63 + // Loop is partial peeled right before CCP 9.64 + int i = 0; 9.65 + boolean b = true; 9.66 + 9.67 + not_inlined1(); 9.68 + 9.69 + array[0] = -1; 9.70 + do { 9.71 + // peeled section starts here 9.72 + o.flag = false; 9.73 + o.j = 0; 9.74 + 9.75 + if (b) { 9.76 + // The following store will be pinned between 9.77 + // predicates and the loop after partial peeling. All 9.78 + // control flow will be optimized out and so nothing 9.79 + // will prevent predicates from being moved out the 9.80 + // loop. 9.81 + array[i] = 0; 9.82 + } 9.83 + if (array[0] != 0) { 9.84 + } 9.85 + if (i >= 10) { 9.86 + // peeled section ends here 9.87 + return; 9.88 + } 9.89 + i += i2; 9.90 + b = false; 9.91 + int i5 = m_helper(i, i3, i4); // This will be simpliflied during CCP 9.92 + if (array[i5] != 0) { // and this will become a predicate 9.93 + } 9.94 + if (o2.flag) { 9.95 + } 9.96 + // A bunch of stuff to grow loop body size and prevent peeling: 9.97 + array2[0] = 0; 9.98 + array2[1] = 0; 9.99 + array2[2] = 0; 9.100 + array2[3] = 0; 9.101 + array2[4] = 0; 9.102 + array2[5] = 0; 9.103 + array2[6] = 0; 9.104 + array2[7] = 0; 9.105 + array2[8] = 0; 9.106 + array2[9] = 0; 9.107 + array2[10] = 0; 9.108 + array2[11] = 0; 9.109 + array2[12] = 0; 9.110 + array2[13] = 0; 9.111 + array2[14] = 0; 9.112 + array2[15] = 0; 9.113 + array2[16] = 0; 9.114 + array2[17] = 0; 9.115 + array2[18] = 0; 9.116 + array2[19] = 0; 9.117 + array2[20] = 0; 9.118 + array2[21] = 0; 9.119 + array2[22] = 0; 9.120 + array2[23] = 0; 9.121 + array2[24] = 0; 9.122 + array2[25] = 0; 9.123 + array2[26] = 0; 9.124 + array2[27] = 0; 9.125 + array2[28] = 0; 9.126 + array2[29] = 0; 9.127 + array2[30] = 0; 9.128 + array2[31] = 0; 9.129 + array2[32] = 0; 9.130 + array2[33] = 0; 9.131 + array2[34] = 0; 9.132 + array2[35] = 0; 9.133 + array2[36] = 0; 9.134 + array2[37] = 0; 9.135 + array2[38] = 0; 9.136 + array2[39] = 0; 9.137 + array2[40] = 0; 9.138 + array2[41] = 0; 9.139 + array2[42] = 0; 9.140 + array2[43] = 0; 9.141 + array2[44] = 0; 9.142 + array2[45] = 0; 9.143 + array2[46] = 0; 9.144 + array2[47] = 0; 9.145 + array2[48] = 0; 9.146 + array2[49] = 0; 9.147 + array2[50] = 0; 9.148 + array2[51] = 0; 9.149 + array2[52] = 0; 9.150 + array2[53] = 0; 9.151 + array2[54] = 0; 9.152 + array2[55] = 0; 9.153 + array2[56] = 0; 9.154 + array2[57] = 0; 9.155 + array2[58] = 0; 9.156 + array2[59] = 0; 9.157 + array2[60] = 0; 9.158 + array2[61] = 0; 9.159 + array2[62] = 0; 9.160 + array2[63] = 0; 9.161 + array2[64] = 0; 9.162 + array2[65] = 0; 9.163 + array2[66] = 0; 9.164 + array2[67] = 0; 9.165 + array2[68] = 0; 9.166 + array2[69] = 0; 9.167 + array2[70] = 0; 9.168 + array2[71] = 0; 9.169 + array2[72] = 0; 9.170 + array2[73] = 0; 9.171 + array2[74] = 0; 9.172 + array2[75] = 0; 9.173 + array2[76] = 0; 9.174 + array2[77] = 0; 9.175 + array2[78] = 0; 9.176 + array2[79] = 0; 9.177 + array2[80] = 0; 9.178 + array2[81] = 0; 9.179 + array2[82] = 0; 9.180 + array2[83] = 0; 9.181 + array2[84] = 0; 9.182 + array2[85] = 0; 9.183 + array2[86] = 0; 9.184 + array2[87] = 0; 9.185 + array2[88] = 0; 9.186 + array2[89] = 0; 9.187 + array2[90] = 0; 9.188 + array2[91] = 0; 9.189 + array2[92] = 0; 9.190 + array2[93] = 0; 9.191 + array2[94] = 0; 9.192 + array2[95] = 0; 9.193 + array2[96] = 0; 9.194 + array2[97] = 0; 9.195 + array2[98] = 0; 9.196 + array2[99] = 0; 9.197 + 9.198 + array2[100] = 0; 9.199 + array2[101] = 0; 9.200 + array2[102] = 0; 9.201 + array2[103] = 0; 9.202 + array2[104] = 0; 9.203 + array2[105] = 0; 9.204 + array2[106] = 0; 9.205 + array2[107] = 0; 9.206 + array2[108] = 0; 9.207 + array2[109] = 0; 9.208 + array2[110] = 0; 9.209 + array2[111] = 0; 9.210 + array2[112] = 0; 9.211 + array2[113] = 0; 9.212 + array2[114] = 0; 9.213 + array2[115] = 0; 9.214 + array2[116] = 0; 9.215 + array2[117] = 0; 9.216 + array2[118] = 0; 9.217 + array2[119] = 0; 9.218 + array2[120] = 0; 9.219 + array2[121] = 0; 9.220 + array2[122] = 0; 9.221 + array2[123] = 0; 9.222 + array2[124] = 0; 9.223 + array2[125] = 0; 9.224 + array2[126] = 0; 9.225 + array2[127] = 0; 9.226 + array2[128] = 0; 9.227 + array2[129] = 0; 9.228 + array2[130] = 0; 9.229 + array2[131] = 0; 9.230 + array2[132] = 0; 9.231 + array2[133] = 0; 9.232 + array2[134] = 0; 9.233 + array2[135] = 0; 9.234 + array2[136] = 0; 9.235 + array2[137] = 0; 9.236 + array2[138] = 0; 9.237 + array2[139] = 0; 9.238 + array2[140] = 0; 9.239 + array2[141] = 0; 9.240 + array2[142] = 0; 9.241 + array2[143] = 0; 9.242 + array2[144] = 0; 9.243 + array2[145] = 0; 9.244 + array2[146] = 0; 9.245 + array2[147] = 0; 9.246 + array2[148] = 0; 9.247 + array2[149] = 0; 9.248 + array2[150] = 0; 9.249 + array2[151] = 0; 9.250 + array2[152] = 0; 9.251 + array2[153] = 0; 9.252 + array2[154] = 0; 9.253 + array2[155] = 0; 9.254 + array2[156] = 0; 9.255 + array2[157] = 0; 9.256 + array2[158] = 0; 9.257 + array2[159] = 0; 9.258 + array2[160] = 0; 9.259 + array2[161] = 0; 9.260 + array2[162] = 0; 9.261 + array2[163] = 0; 9.262 + array2[164] = 0; 9.263 + array2[165] = 0; 9.264 + array2[166] = 0; 9.265 + array2[167] = 0; 9.266 + array2[168] = 0; 9.267 + array2[169] = 0; 9.268 + array2[170] = 0; 9.269 + array2[171] = 0; 9.270 + array2[172] = 0; 9.271 + array2[173] = 0; 9.272 + array2[174] = 0; 9.273 + array2[175] = 0; 9.274 + array2[176] = 0; 9.275 + array2[177] = 0; 9.276 + array2[178] = 0; 9.277 + array2[179] = 0; 9.278 + array2[180] = 0; 9.279 + array2[181] = 0; 9.280 + array2[182] = 0; 9.281 + array2[183] = 0; 9.282 + array2[184] = 0; 9.283 + array2[185] = 0; 9.284 + array2[186] = 0; 9.285 + array2[187] = 0; 9.286 + array2[188] = 0; 9.287 + array2[189] = 0; 9.288 + array2[190] = 0; 9.289 + array2[191] = 0; 9.290 + array2[192] = 0; 9.291 + array2[193] = 0; 9.292 + array2[194] = 0; 9.293 + array2[195] = 0; 9.294 + array2[196] = 0; 9.295 + array2[197] = 0; 9.296 + array2[198] = 0; 9.297 + array2[199] = 0; 9.298 + if (o1.j >= 20) { 9.299 + break; 9.300 + } 9.301 + o1.j++; 9.302 + } while(true); 9.303 + not_inlined4(); 9.304 + } 9.305 + 9.306 + static public void main(String[] args) { 9.307 + BadPredicateAfterPartialPeel o1 = new BadPredicateAfterPartialPeel(); 9.308 + BadPredicateAfterPartialPeel o2 = new BadPredicateAfterPartialPeel(); 9.309 + for (int i = 0; i < 20000; i++) { 9.310 + o1.j = 0; 9.311 + m(o1, o2, o2, 0); 9.312 + m_helper(i, 2, i); // pollute profile 9.313 + } 9.314 + } 9.315 +}