test/script/basic/JDK-8079269.js

Tue, 28 Jul 2015 14:52:34 +0530

author
sundar
date
Tue, 28 Jul 2015 14:52:34 +0530
changeset 1482
58791cd01bc9
parent 1344
28cae214dc6c
permissions
-rw-r--r--

8132092: Nashorn copyright has to be updated
Reviewed-by: jlaskey, hannesw, mhaupt

attila@1344 1 /*
sundar@1482 2 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
attila@1344 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
sundar@1482 4 *
attila@1344 5 * This code is free software; you can redistribute it and/or modify it
attila@1344 6 * under the terms of the GNU General Public License version 2 only, as
attila@1344 7 * published by the Free Software Foundation.
sundar@1482 8 *
attila@1344 9 * This code is distributed in the hope that it will be useful, but WITHOUT
attila@1344 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
attila@1344 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
attila@1344 12 * version 2 for more details (a copy is included in the LICENSE file that
attila@1344 13 * accompanied this code).
sundar@1482 14 *
attila@1344 15 * You should have received a copy of the GNU General Public License version
attila@1344 16 * 2 along with this work; if not, write to the Free Software Foundation,
attila@1344 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
sundar@1482 18 *
attila@1344 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
attila@1344 20 * or visit www.oracle.com if you need additional information or have any
attila@1344 21 * questions.
attila@1344 22 */
attila@1344 23
attila@1344 24 /**
attila@1344 25 * JDK-8079269: Optimistic rewrite in object literal causes ArrayIndexOutOfBoundsException
attila@1344 26 *
attila@1344 27 * @test
attila@1344 28 * @run
attila@1344 29 */
attila@1344 30
attila@1344 31 // m must be in scope so it's accessed with optimistic getters on scope
attila@1344 32 var m = 1;
attila@1344 33
attila@1344 34 (function() {
attila@1344 35 return {
attila@1344 36 p0: m,
attila@1344 37 p1: m = "foo",
attila@1344 38 p2: m
attila@1344 39 }
attila@1344 40 })();
attila@1344 41
attila@1344 42 var n = 1;
attila@1344 43
attila@1344 44 // Test the spill object creator too
attila@1344 45 (function() {
attila@1344 46 return {
attila@1344 47 p0: n,
attila@1344 48 p1: n = "foo",
attila@1344 49 p2: n,
attila@1344 50 p3: n,
attila@1344 51 p4: n,
attila@1344 52 p5: n,
attila@1344 53 p6: n,
attila@1344 54 p7: n,
attila@1344 55 p8: n,
attila@1344 56 p9: n,
attila@1344 57 p10: n,
attila@1344 58 p11: n,
attila@1344 59 p12: n,
attila@1344 60 p13: n,
attila@1344 61 p14: n,
attila@1344 62 p15: n,
attila@1344 63 p16: n,
attila@1344 64 p17: n,
attila@1344 65 p18: n,
attila@1344 66 p19: n,
attila@1344 67 p20: n,
attila@1344 68 p21: n,
attila@1344 69 p22: n,
attila@1344 70 p23: n,
attila@1344 71 p24: n,
attila@1344 72 p25: n,
attila@1344 73 p26: n,
attila@1344 74 p27: n,
attila@1344 75 p28: n,
attila@1344 76 p29: n,
attila@1344 77 p30: n,
attila@1344 78 p31: n,
attila@1344 79 p32: n,
attila@1344 80 p33: n,
attila@1344 81 p34: n,
attila@1344 82 p35: n,
attila@1344 83 p36: n,
attila@1344 84 p37: n,
attila@1344 85 p38: n,
attila@1344 86 p39: n,
attila@1344 87 p40: n,
attila@1344 88 p41: n,
attila@1344 89 p42: n,
attila@1344 90 p43: n,
attila@1344 91 p44: n,
attila@1344 92 p45: n,
attila@1344 93 p46: n,
attila@1344 94 p47: n,
attila@1344 95 p48: n,
attila@1344 96 p49: n,
attila@1344 97 p50: n,
attila@1344 98 p51: n,
attila@1344 99 p52: n,
attila@1344 100 p53: n,
attila@1344 101 p54: n,
attila@1344 102 p55: n,
attila@1344 103 p56: n,
attila@1344 104 p57: n,
attila@1344 105 p58: n,
attila@1344 106 p59: n,
attila@1344 107 p60: n,
attila@1344 108 p61: n,
attila@1344 109 p62: n,
attila@1344 110 p63: n,
attila@1344 111 p64: n,
attila@1344 112 p65: n,
attila@1344 113 p66: n,
attila@1344 114 p67: n,
attila@1344 115 p68: n,
attila@1344 116 p69: n,
attila@1344 117 p70: n,
attila@1344 118 p71: n,
attila@1344 119 p72: n,
attila@1344 120 p73: n,
attila@1344 121 p74: n,
attila@1344 122 p75: n,
attila@1344 123 p76: n,
attila@1344 124 p77: n,
attila@1344 125 p78: n,
attila@1344 126 p79: n,
attila@1344 127 p80: n,
attila@1344 128 p81: n,
attila@1344 129 p82: n,
attila@1344 130 p83: n,
attila@1344 131 p84: n,
attila@1344 132 p85: n,
attila@1344 133 p86: n,
attila@1344 134 p87: n,
attila@1344 135 p88: n,
attila@1344 136 p89: n,
attila@1344 137 p90: n,
attila@1344 138 p91: n,
attila@1344 139 p92: n,
attila@1344 140 p93: n,
attila@1344 141 p94: n,
attila@1344 142 p95: n,
attila@1344 143 p96: n,
attila@1344 144 p97: n,
attila@1344 145 p98: n,
attila@1344 146 p99: n,
attila@1344 147 p100: n,
attila@1344 148 p101: n,
attila@1344 149 p102: n,
attila@1344 150 p103: n,
attila@1344 151 p104: n,
attila@1344 152 p105: n,
attila@1344 153 p106: n,
attila@1344 154 p107: n,
attila@1344 155 p108: n,
attila@1344 156 p109: n,
attila@1344 157 p110: n,
attila@1344 158 p111: n,
attila@1344 159 p112: n,
attila@1344 160 p113: n,
attila@1344 161 p114: n,
attila@1344 162 p115: n,
attila@1344 163 p116: n,
attila@1344 164 p117: n,
attila@1344 165 p118: n,
attila@1344 166 p119: n,
attila@1344 167 p120: n,
attila@1344 168 p121: n,
attila@1344 169 p122: n,
attila@1344 170 p123: n,
attila@1344 171 p124: n,
attila@1344 172 p125: n,
attila@1344 173 p126: n,
attila@1344 174 p127: n,
attila@1344 175 p128: n,
attila@1344 176 p129: n,
attila@1344 177 p130: n,
attila@1344 178 p131: n,
attila@1344 179 p132: n,
attila@1344 180 p133: n,
attila@1344 181 p134: n,
attila@1344 182 p135: n,
attila@1344 183 p136: n,
attila@1344 184 p137: n,
attila@1344 185 p138: n,
attila@1344 186 p139: n,
attila@1344 187 p140: n,
attila@1344 188 p141: n,
attila@1344 189 p142: n,
attila@1344 190 p143: n,
attila@1344 191 p144: n,
attila@1344 192 p145: n,
attila@1344 193 p146: n,
attila@1344 194 p147: n,
attila@1344 195 p148: n,
attila@1344 196 p149: n,
attila@1344 197 p150: n,
attila@1344 198 p151: n,
attila@1344 199 p152: n,
attila@1344 200 p153: n,
attila@1344 201 p154: n,
attila@1344 202 p155: n,
attila@1344 203 p156: n,
attila@1344 204 p157: n,
attila@1344 205 p158: n,
attila@1344 206 p159: n,
attila@1344 207 p160: n,
attila@1344 208 p161: n,
attila@1344 209 p162: n,
attila@1344 210 p163: n,
attila@1344 211 p164: n,
attila@1344 212 p165: n,
attila@1344 213 p166: n,
attila@1344 214 p167: n,
attila@1344 215 p168: n,
attila@1344 216 p169: n,
attila@1344 217 p170: n,
attila@1344 218 p171: n,
attila@1344 219 p172: n,
attila@1344 220 p173: n,
attila@1344 221 p174: n,
attila@1344 222 p175: n,
attila@1344 223 p176: n,
attila@1344 224 p177: n,
attila@1344 225 p178: n,
attila@1344 226 p179: n,
attila@1344 227 p180: n,
attila@1344 228 p181: n,
attila@1344 229 p182: n,
attila@1344 230 p183: n,
attila@1344 231 p184: n,
attila@1344 232 p185: n,
attila@1344 233 p186: n,
attila@1344 234 p187: n,
attila@1344 235 p188: n,
attila@1344 236 p189: n,
attila@1344 237 p190: n,
attila@1344 238 p191: n,
attila@1344 239 p192: n,
attila@1344 240 p193: n,
attila@1344 241 p194: n,
attila@1344 242 p195: n,
attila@1344 243 p196: n,
attila@1344 244 p197: n,
attila@1344 245 p198: n,
attila@1344 246 p199: n,
attila@1344 247 p200: n,
attila@1344 248 p201: n,
attila@1344 249 p202: n,
attila@1344 250 p203: n,
attila@1344 251 p204: n,
attila@1344 252 p205: n,
attila@1344 253 p206: n,
attila@1344 254 p207: n,
attila@1344 255 p208: n,
attila@1344 256 p209: n,
attila@1344 257 p210: n,
attila@1344 258 p211: n,
attila@1344 259 p212: n,
attila@1344 260 p213: n,
attila@1344 261 p214: n,
attila@1344 262 p215: n,
attila@1344 263 p216: n,
attila@1344 264 p217: n,
attila@1344 265 p218: n,
attila@1344 266 p219: n,
attila@1344 267 p220: n,
attila@1344 268 p221: n,
attila@1344 269 p222: n,
attila@1344 270 p223: n,
attila@1344 271 p224: n,
attila@1344 272 p225: n,
attila@1344 273 p226: n,
attila@1344 274 p227: n,
attila@1344 275 p228: n,
attila@1344 276 p229: n,
attila@1344 277 p230: n,
attila@1344 278 p231: n,
attila@1344 279 p232: n,
attila@1344 280 p233: n,
attila@1344 281 p234: n,
attila@1344 282 p235: n,
attila@1344 283 p236: n,
attila@1344 284 p237: n,
attila@1344 285 p238: n,
attila@1344 286 p239: n,
attila@1344 287 p240: n,
attila@1344 288 p241: n,
attila@1344 289 p242: n,
attila@1344 290 p243: n,
attila@1344 291 p244: n,
attila@1344 292 p245: n,
attila@1344 293 p246: n,
attila@1344 294 p247: n,
attila@1344 295 p248: n,
attila@1344 296 p249: n,
attila@1344 297 p250: n,
attila@1344 298 p251: n,
attila@1344 299 p252: n,
attila@1344 300 p253: n,
attila@1344 301 p254: n,
attila@1344 302 p255: n,
attila@1344 303 p256: n,
attila@1344 304 p257: n,
attila@1344 305 p258: n,
attila@1344 306 p259: n
attila@1344 307 }
attila@1344 308 })();
attila@1344 309
attila@1344 310 // No output; as long as it completes without
attila@1344 311 // ArrayIndexOutOfBoundsException in the OSR continuation handler, it's
attila@1344 312 // a success.

mercurial