test/script/nosecurity/JDK-8078049.js

Tue, 05 May 2015 14:23:43 +0200

author
hannesw
date
Tue, 05 May 2015 14:23:43 +0200
changeset 1341
03a7733b95ed
permissions
-rw-r--r--

8078049: Nashorn crashes when attempting to start TypeScript compiler
Reviewed-by: lagergren, attila

     1 /*
     2  * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  * 
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  * 
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    13  * accompanied this code).
    14  * 
    15  * You should have received a copy of the GNU General Public License version
    16  * 2 along with this work; if not, write to the Free Software Foundation,
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18  * 
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    22  */
    24 /**
    25  * JDK-8078049: Nashorn crashes when attempting to start the new tsc.js compiler for TypeScript
    26  *
    27  * @test
    28  * @run
    29  * @fork
    30  * @option -Dnashorn.debug=true
    31  */
    33 var m = 1;
    35 var fields = {
    36     p0: { code: 0, category: m },
    37     p1: { code: 1, category: m },
    38     p2: { code: 2, category: m }
    39 };
    41 var spill = {
    42     p0: { code: 0, category: m },
    43     p1: { code: 1, category: m },
    44     p2: { code: 2, category: m },
    45     p3: { code: 3, category: m },
    46     p4: { code: 4, category: m },
    47     p5: { code: 5, category: m },
    48     p6: { code: 6, category: m },
    49     p7: { code: 7, category: m },
    50     p8: { code: 8, category: m },
    51     p9: { code: 9, category: m },
    52     p10: { code: 10, category: m },
    53     p11: { code: 11, category: m },
    54     p12: { code: 12, category: m },
    55     p13: { code: 13, category: m },
    56     p14: { code: 14, category: m },
    57     p15: { code: 15, category: m },
    58     p16: { code: 16, category: m },
    59     p17: { code: 17, category: m },
    60     p18: { code: 18, category: m },
    61     p19: { code: 19, category: m },
    62     p20: { code: 20, category: m },
    63     p21: { code: 21, category: m },
    64     p22: { code: 22, category: m },
    65     p23: { code: 23, category: m },
    66     p24: { code: 24, category: m },
    67     p25: { code: 25, category: m },
    68     p26: { code: 26, category: m },
    69     p27: { code: 27, category: m },
    70     p28: { code: 28, category: m },
    71     p29: { code: 29, category: m },
    72     p30: { code: 30, category: m },
    73     p31: { code: 31, category: m },
    74     p32: { code: 32, category: m },
    75     p33: { code: 33, category: m },
    76     p34: { code: 34, category: m },
    77     p35: { code: 35, category: m },
    78     p36: { code: 36, category: m },
    79     p37: { code: 37, category: m },
    80     p38: { code: 38, category: m },
    81     p39: { code: 39, category: m },
    82     p40: { code: 40, category: m },
    83     p41: { code: 41, category: m },
    84     p42: { code: 42, category: m },
    85     p43: { code: 43, category: m },
    86     p44: { code: 44, category: m },
    87     p45: { code: 45, category: m },
    88     p46: { code: 46, category: m },
    89     p47: { code: 47, category: m },
    90     p48: { code: 48, category: m },
    91     p49: { code: 49, category: m },
    92     p50: { code: 50, category: m },
    93     p51: { code: 51, category: m },
    94     p52: { code: 52, category: m },
    95     p53: { code: 53, category: m },
    96     p54: { code: 54, category: m },
    97     p55: { code: 55, category: m },
    98     p56: { code: 56, category: m },
    99     p57: { code: 57, category: m },
   100     p58: { code: 58, category: m },
   101     p59: { code: 59, category: m },
   102     p60: { code: 60, category: m },
   103     p61: { code: 61, category: m },
   104     p62: { code: 62, category: m },
   105     p63: { code: 63, category: m },
   106     p64: { code: 64, category: m },
   107     p65: { code: 65, category: m },
   108     p66: { code: 66, category: m },
   109     p67: { code: 67, category: m },
   110     p68: { code: 68, category: m },
   111     p69: { code: 69, category: m },
   112     p70: { code: 70, category: m },
   113     p71: { code: 71, category: m },
   114     p72: { code: 72, category: m },
   115     p73: { code: 73, category: m },
   116     p74: { code: 74, category: m },
   117     p75: { code: 75, category: m },
   118     p76: { code: 76, category: m },
   119     p77: { code: 77, category: m },
   120     p78: { code: 78, category: m },
   121     p79: { code: 79, category: m },
   122     p80: { code: 80, category: m },
   123     p81: { code: 81, category: m },
   124     p82: { code: 82, category: m },
   125     p83: { code: 83, category: m },
   126     p84: { code: 84, category: m },
   127     p85: { code: 85, category: m },
   128     p86: { code: 86, category: m },
   129     p87: { code: 87, category: m },
   130     p88: { code: 88, category: m },
   131     p89: { code: 89, category: m },
   132     p90: { code: 90, category: m },
   133     p91: { code: 91, category: m },
   134     p92: { code: 92, category: m },
   135     p93: { code: 93, category: m },
   136     p94: { code: 94, category: m },
   137     p95: { code: 95, category: m },
   138     p96: { code: 96, category: m },
   139     p97: { code: 97, category: m },
   140     p98: { code: 98, category: m },
   141     p99: { code: 99, category: m },
   142     p100: { code: 100, category: m },
   143     p101: { code: 101, category: m },
   144     p102: { code: 102, category: m },
   145     p103: { code: 103, category: m },
   146     p104: { code: 104, category: m },
   147     p105: { code: 105, category: m },
   148     p106: { code: 106, category: m },
   149     p107: { code: 107, category: m },
   150     p108: { code: 108, category: m },
   151     p109: { code: 109, category: m },
   152     p110: { code: 110, category: m },
   153     p111: { code: 111, category: m },
   154     p112: { code: 112, category: m },
   155     p113: { code: 113, category: m },
   156     p114: { code: 114, category: m },
   157     p115: { code: 115, category: m },
   158     p116: { code: 116, category: m },
   159     p117: { code: 117, category: m },
   160     p118: { code: 118, category: m },
   161     p119: { code: 119, category: m },
   162     p120: { code: 120, category: m },
   163     p121: { code: 121, category: m },
   164     p122: { code: 122, category: m },
   165     p123: { code: 123, category: m },
   166     p124: { code: 124, category: m },
   167     p125: { code: 125, category: m },
   168     p126: { code: 126, category: m },
   169     p127: { code: 127, category: m },
   170     p128: { code: 128, category: m },
   171     p129: { code: 129, category: m },
   172     p130: { code: 130, category: m },
   173     p131: { code: 131, category: m },
   174     p132: { code: 132, category: m },
   175     p133: { code: 133, category: m },
   176     p134: { code: 134, category: m },
   177     p135: { code: 135, category: m },
   178     p136: { code: 136, category: m },
   179     p137: { code: 137, category: m },
   180     p138: { code: 138, category: m },
   181     p139: { code: 139, category: m },
   182     p140: { code: 140, category: m },
   183     p141: { code: 141, category: m },
   184     p142: { code: 142, category: m },
   185     p143: { code: 143, category: m },
   186     p144: { code: 144, category: m },
   187     p145: { code: 145, category: m },
   188     p146: { code: 146, category: m },
   189     p147: { code: 147, category: m },
   190     p148: { code: 148, category: m },
   191     p149: { code: 149, category: m },
   192     p150: { code: 150, category: m },
   193     p151: { code: 151, category: m },
   194     p152: { code: 152, category: m },
   195     p153: { code: 153, category: m },
   196     p154: { code: 154, category: m },
   197     p155: { code: 155, category: m },
   198     p156: { code: 156, category: m },
   199     p157: { code: 157, category: m },
   200     p158: { code: 158, category: m },
   201     p159: { code: 159, category: m },
   202     p160: { code: 160, category: m },
   203     p161: { code: 161, category: m },
   204     p162: { code: 162, category: m },
   205     p163: { code: 163, category: m },
   206     p164: { code: 164, category: m },
   207     p165: { code: 165, category: m },
   208     p166: { code: 166, category: m },
   209     p167: { code: 167, category: m },
   210     p168: { code: 168, category: m },
   211     p169: { code: 169, category: m },
   212     p170: { code: 170, category: m },
   213     p171: { code: 171, category: m },
   214     p172: { code: 172, category: m },
   215     p173: { code: 173, category: m },
   216     p174: { code: 174, category: m },
   217     p175: { code: 175, category: m },
   218     p176: { code: 176, category: m },
   219     p177: { code: 177, category: m },
   220     p178: { code: 178, category: m },
   221     p179: { code: 179, category: m },
   222     p180: { code: 180, category: m },
   223     p181: { code: 181, category: m },
   224     p182: { code: 182, category: m },
   225     p183: { code: 183, category: m },
   226     p184: { code: 184, category: m },
   227     p185: { code: 185, category: m },
   228     p186: { code: 186, category: m },
   229     p187: { code: 187, category: m },
   230     p188: { code: 188, category: m },
   231     p189: { code: 189, category: m },
   232     p190: { code: 190, category: m },
   233     p191: { code: 191, category: m },
   234     p192: { code: 192, category: m },
   235     p193: { code: 193, category: m },
   236     p194: { code: 194, category: m },
   237     p195: { code: 195, category: m },
   238     p196: { code: 196, category: m },
   239     p197: { code: 197, category: m },
   240     p198: { code: 198, category: m },
   241     p199: { code: 199, category: m },
   242     p200: { code: 200, category: m },
   243     p201: { code: 201, category: m },
   244     p202: { code: 202, category: m },
   245     p203: { code: 203, category: m },
   246     p204: { code: 204, category: m },
   247     p205: { code: 205, category: m },
   248     p206: { code: 206, category: m },
   249     p207: { code: 207, category: m },
   250     p208: { code: 208, category: m },
   251     p209: { code: 209, category: m },
   252     p210: { code: 210, category: m },
   253     p211: { code: 211, category: m },
   254     p212: { code: 212, category: m },
   255     p213: { code: 213, category: m },
   256     p214: { code: 214, category: m },
   257     p215: { code: 215, category: m },
   258     p216: { code: 216, category: m },
   259     p217: { code: 217, category: m },
   260     p218: { code: 218, category: m },
   261     p219: { code: 219, category: m },
   262     p220: { code: 220, category: m },
   263     p221: { code: 221, category: m },
   264     p222: { code: 222, category: m },
   265     p223: { code: 223, category: m },
   266     p224: { code: 224, category: m },
   267     p225: { code: 225, category: m },
   268     p226: { code: 226, category: m },
   269     p227: { code: 227, category: m },
   270     p228: { code: 228, category: m },
   271     p229: { code: 229, category: m },
   272     p230: { code: 230, category: m },
   273     p231: { code: 231, category: m },
   274     p232: { code: 232, category: m },
   275     p233: { code: 233, category: m },
   276     p234: { code: 234, category: m },
   277     p235: { code: 235, category: m },
   278     p236: { code: 236, category: m },
   279     p237: { code: 237, category: m },
   280     p238: { code: 238, category: m },
   281     p239: { code: 239, category: m },
   282     p240: { code: 240, category: m },
   283     p241: { code: 241, category: m },
   284     p242: { code: 242, category: m },
   285     p243: { code: 243, category: m },
   286     p244: { code: 244, category: m },
   287     p245: { code: 245, category: m },
   288     p246: { code: 246, category: m },
   289     p247: { code: 247, category: m },
   290     p248: { code: 248, category: m },
   291     p249: { code: 249, category: m },
   292     p250: { code: 250, category: m },
   293     p251: { code: 251, category: m },
   294     p252: { code: 252, category: m },
   295     p253: { code: 253, category: m },
   296     p254: { code: 254, category: m },
   297     p255: { code: 255, category: m },
   298     p256: { code: 256, category: m },
   299     p257: { code: 257, category: m },
   300     p258: { code: 258, category: m },
   301     p259: { code: 259, category: m },
   302     p260: { code: 260, category: m },
   303     p261: { code: 261, category: m },
   304     p262: { code: 262, category: m },
   305     p263: { code: 263, category: m },
   306     p264: { code: 264, category: m },
   307     p265: { code: 265, category: m },
   308     p266: { code: 266, category: m },
   309     p267: { code: 267, category: m },
   310     p268: { code: 268, category: m },
   311     p269: { code: 269, category: m },
   312     p270: { code: 270, category: m },
   313     p271: { code: 271, category: m },
   314     p272: { code: 272, category: m },
   315     p273: { code: 273, category: m },
   316     p274: { code: 274, category: m },
   317     p275: { code: 275, category: m },
   318     p276: { code: 276, category: m },
   319     p277: { code: 277, category: m },
   320     p278: { code: 278, category: m },
   321     p279: { code: 279, category: m },
   322     p280: { code: 280, category: m },
   323     p281: { code: 281, category: m },
   324     p282: { code: 282, category: m },
   325     p283: { code: 283, category: m },
   326     p284: { code: 284, category: m },
   327     p285: { code: 285, category: m },
   328     p286: { code: 286, category: m },
   329     p287: { code: 287, category: m },
   330     p288: { code: 288, category: m },
   331     p289: { code: 289, category: m },
   332     p290: { code: 290, category: m },
   333     p291: { code: 291, category: m },
   334     p292: { code: 292, category: m },
   335     p293: { code: 293, category: m },
   336     p294: { code: 294, category: m },
   337     p295: { code: 295, category: m },
   338     p296: { code: 296, category: m },
   339     p297: { code: 297, category: m },
   340     p298: { code: 298, category: m },
   341     p299: { code: 299, category: m },
   342     p300: { code: 300, category: m },
   343     p301: { code: 301, category: m },
   344     p302: { code: 302, category: m },
   345     p303: { code: 303, category: m },
   346     p304: { code: 304, category: m },
   347     p305: { code: 305, category: m },
   348     p306: { code: 306, category: m },
   349     p307: { code: 307, category: m },
   350     p308: { code: 308, category: m },
   351     p309: { code: 309, category: m },
   352     p310: { code: 310, category: m },
   353     p311: { code: 311, category: m },
   354     p312: { code: 312, category: m },
   355     p313: { code: 313, category: m },
   356     p314: { code: 314, category: m },
   357     p315: { code: 315, category: m },
   358     p316: { code: 316, category: m },
   359     p317: { code: 317, category: m },
   360     p318: { code: 318, category: m },
   361     p319: { code: 319, category: m },
   362     p320: { code: 320, category: m },
   363     p321: { code: 321, category: m },
   364     p322: { code: 322, category: m },
   365     p323: { code: 323, category: m },
   366     p324: { code: 324, category: m },
   367     p325: { code: 325, category: m },
   368     p326: { code: 326, category: m },
   369     p327: { code: 327, category: m },
   370     p328: { code: 328, category: m },
   371     p329: { code: 329, category: m },
   372     p330: { code: 330, category: m },
   373     p331: { code: 331, category: m },
   374     p332: { code: 332, category: m },
   375     p333: { code: 333, category: m },
   376     p334: { code: 334, category: m },
   377     p335: { code: 335, category: m },
   378     p336: { code: 336, category: m },
   379     p337: { code: 337, category: m },
   380     p338: { code: 338, category: m },
   381     p339: { code: 339, category: m },
   382     p340: { code: 340, category: m },
   383     p341: { code: 341, category: m },
   384     p342: { code: 342, category: m },
   385     p343: { code: 343, category: m },
   386     p344: { code: 344, category: m },
   387     p345: { code: 345, category: m },
   388     p346: { code: 346, category: m },
   389     p347: { code: 347, category: m },
   390     p348: { code: 348, category: m },
   391     p349: { code: 349, category: m },
   392     p350: { code: 350, category: m },
   393     p351: { code: 351, category: m },
   394     p352: { code: 352, category: m },
   395     p353: { code: 353, category: m },
   396     p354: { code: 354, category: m },
   397     p355: { code: 355, category: m },
   398     p356: { code: 356, category: m },
   399     p357: { code: 357, category: m },
   400     p358: { code: 358, category: m },
   401     p359: { code: 359, category: m },
   402     p360: { code: 360, category: m },
   403     p361: { code: 361, category: m },
   404     p362: { code: 362, category: m },
   405     p363: { code: 363, category: m },
   406     p364: { code: 364, category: m },
   407     p365: { code: 365, category: m },
   408     p366: { code: 366, category: m },
   409     p367: { code: 367, category: m },
   410     p368: { code: 368, category: m },
   411     p369: { code: 369, category: m },
   412     p370: { code: 370, category: m },
   413     p371: { code: 371, category: m },
   414     p372: { code: 372, category: m },
   415     p373: { code: 373, category: m },
   416     p374: { code: 374, category: m },
   417     p375: { code: 375, category: m },
   418     p376: { code: 376, category: m },
   419     p377: { code: 377, category: m },
   420     p378: { code: 378, category: m },
   421     p379: { code: 379, category: m },
   422     p380: { code: 380, category: m },
   423     p381: { code: 381, category: m },
   424     p382: { code: 382, category: m },
   425     p383: { code: 383, category: m },
   426     p384: { code: 384, category: m },
   427     p385: { code: 385, category: m },
   428     p386: { code: 386, category: m },
   429     p387: { code: 387, category: m },
   430     p388: { code: 388, category: m },
   431     p389: { code: 389, category: m },
   432     p390: { code: 390, category: m },
   433     p391: { code: 391, category: m },
   434     p392: { code: 392, category: m },
   435     p393: { code: 393, category: m },
   436     p394: { code: 394, category: m },
   437     p395: { code: 395, category: m },
   438     p396: { code: 396, category: m },
   439     p397: { code: 397, category: m },
   440     p398: { code: 398, category: m },
   441     p399: { code: 399, category: m },
   442     p400: { code: 400, category: m },
   443     p401: { code: 401, category: m },
   444     p402: { code: 402, category: m },
   445     p403: { code: 403, category: m },
   446     p404: { code: 404, category: m },
   447     p405: { code: 405, category: m },
   448     p406: { code: 406, category: m },
   449     p407: { code: 407, category: m },
   450     p408: { code: 408, category: m },
   451     p409: { code: 409, category: m },
   452     p410: { code: 410, category: m },
   453     p411: { code: 411, category: m },
   454     p412: { code: 412, category: m },
   455     p413: { code: 413, category: m },
   456     p414: { code: 414, category: m },
   457     p415: { code: 415, category: m },
   458     p416: { code: 416, category: m },
   459     p417: { code: 417, category: m },
   460     p418: { code: 418, category: m },
   461     p419: { code: 419, category: m },
   462     p420: { code: 420, category: m },
   463     p421: { code: 421, category: m },
   464     p422: { code: 422, category: m },
   465     p423: { code: 423, category: m },
   466     p424: { code: 424, category: m },
   467     p425: { code: 425, category: m },
   468     p426: { code: 426, category: m },
   469     p427: { code: 427, category: m },
   470     p428: { code: 428, category: m },
   471     p429: { code: 429, category: m },
   472     p430: { code: 430, category: m },
   473     p431: { code: 431, category: m },
   474     p432: { code: 432, category: m },
   475     p433: { code: 433, category: m },
   476     p434: { code: 434, category: m },
   477     p435: { code: 435, category: m },
   478     p436: { code: 436, category: m },
   479     p437: { code: 437, category: m },
   480     p438: { code: 438, category: m },
   481     p439: { code: 439, category: m },
   482     p440: { code: 440, category: m },
   483     p441: { code: 441, category: m },
   484     p442: { code: 442, category: m },
   485     p443: { code: 443, category: m },
   486     p444: { code: 444, category: m },
   487     p445: { code: 445, category: m },
   488     p446: { code: 446, category: m },
   489     p447: { code: 447, category: m },
   490     p448: { code: 448, category: m },
   491     p449: { code: 449, category: m },
   492     p450: { code: 450, category: m },
   493     p451: { code: 451, category: m },
   494     p452: { code: 452, category: m },
   495     p453: { code: 453, category: m },
   496     p454: { code: 454, category: m },
   497     p455: { code: 455, category: m },
   498     p456: { code: 456, category: m },
   499     p457: { code: 457, category: m },
   500     p458: { code: 458, category: m },
   501     p459: { code: 459, category: m },
   502     p460: { code: 460, category: m },
   503     p461: { code: 461, category: m },
   504     p462: { code: 462, category: m },
   505     p463: { code: 463, category: m },
   506     p464: { code: 464, category: m },
   507     p465: { code: 465, category: m },
   508     p466: { code: 466, category: m },
   509     p467: { code: 467, category: m },
   510     p468: { code: 468, category: m },
   511     p469: { code: 469, category: m },
   512     p470: { code: 470, category: m },
   513     p471: { code: 471, category: m },
   514     p472: { code: 472, category: m },
   515     p473: { code: 473, category: m },
   516     p474: { code: 474, category: m },
   517     p475: { code: 475, category: m },
   518     p476: { code: 476, category: m },
   519     p477: { code: 477, category: m },
   520     p478: { code: 478, category: m },
   521     p479: { code: 479, category: m },
   522     p480: { code: 480, category: m },
   523     p481: { code: 481, category: m },
   524     p482: { code: 482, category: m },
   525     p483: { code: 483, category: m },
   526     p484: { code: 484, category: m },
   527     p485: { code: 485, category: m },
   528     p486: { code: 486, category: m },
   529     p487: { code: 487, category: m },
   530     p488: { code: 488, category: m },
   531     p489: { code: 489, category: m },
   532     p490: { code: 490, category: m },
   533     p491: { code: 491, category: m },
   534     p492: { code: 492, category: m },
   535     p493: { code: 493, category: m },
   536     p494: { code: 494, category: m },
   537     p495: { code: 495, category: m },
   538     p496: { code: 496, category: m },
   539     p497: { code: 497, category: m },
   540     p498: { code: 498, category: m },
   541     p499: { code: 499, category: m }
   542 };
   544 var AccessorProperty = Java.type("jdk.nashorn.internal.runtime.AccessorProperty");
   545 var SpillProperty    = Java.type("jdk.nashorn.internal.runtime.SpillProperty");
   547 Assert.assertTrue(Object.keys(fields).length === 3);
   548 Assert.assertTrue(Debug.map(fields).findProperty("p0").getClass() === AccessorProperty.class);
   549 Assert.assertTrue(Debug.map(fields).findProperty("p2").getClass() === AccessorProperty.class);
   551 Assert.assertTrue(Object.keys(spill).length === 500);
   552 Assert.assertTrue(Debug.map(spill).findProperty("p0").getClass() === SpillProperty.class);
   553 Assert.assertTrue(Debug.map(spill).findProperty("p499").getClass() === SpillProperty.class);

mercurial