1 2017-03-16 Yusuke Suzuki <utatane.tea@gmail.com>
3 [JSC] Generate TemplateObjects at linking time
4 https://bugs.webkit.org/show_bug.cgi?id=169743
6 Reviewed by Keith Miller.
8 * stress/template-string-tags-eval.js: Added.
12 2017-04-04 Mark Lam <mark.lam@apple.com>
14 On ARM64, DFG::SpeculativeJIT::compileArithMod() failed to ensure result is of DataFormatInt32.
15 https://bugs.webkit.org/show_bug.cgi?id=170473
16 <rdar://problem/29912391>
18 Reviewed by Saam Barati.
20 * stress/regress-170473.js: Added.
22 2017-04-03 Mark Lam <mark.lam@apple.com>
24 Fix incorrect capacity delta calculation reported in SparseArrayValueMap::add().
25 https://bugs.webkit.org/show_bug.cgi?id=170412
26 <rdar://problem/29697336>
28 Reviewed by Filip Pizlo.
30 * stress/regress-170412.js: Added.
32 2017-04-03 Keith Miller <keith_miller@apple.com>
34 WebAssembly: Update spec tests
35 https://bugs.webkit.org/show_bug.cgi?id=170361
37 Rubber-stamped by Saam Barati.
39 Update the spec tests to run tests generated by the newer spec
40 test builder wasm-spec/test/builder.py. This patch also adds the
41 necessary harness code in spec-harness.js so we can run the tests.
44 * wasm/import-spec-tests.rb:
45 * wasm/spec-harness.js: Added.
46 (import.string_appeared_here.then):
49 (let.assert_unreached):
50 * wasm/spec-harness/index.js: Added.
56 (Result.prototype.isError):
61 (assert_soft_invalid):
68 (assert_uninstantiable):
75 * wasm/spec-harness/testharness.css: Added.
81 (table#results th:first-child,):
82 (table#results th:last-child,):
83 (table#results.assertions th:last-child,):
86 (tr.pass > td:first-child):
87 (tr.fail > td:first-child):
88 (tr.timeout > td:first-child):
89 (tr.notrun > td:first-child):
90 (.pass > td:first-child, .fail > td:first-child, .timeout > td:first-child, .notrun > td:first-child):
92 (table#results span.expected):
93 (table#results span.actual):
97 (span.ok, span.timeout, span.error):
98 * wasm/spec-harness/testharness.js: Added.
99 (WindowTestEnvironment):
100 (WindowTestEnvironment.prototype._dispatch):
101 (WindowTestEnvironment.prototype._forEach_windows):
102 (WindowTestEnvironment.prototype.on_tests_ready):
103 (WindowTestEnvironment.prototype.setup_messages):
104 (WindowTestEnvironment.prototype.next_default_test_name):
105 (WindowTestEnvironment.prototype.on_new_harness_properties):
106 (WindowTestEnvironment.prototype.add_on_loaded_callback):
107 (WindowTestEnvironment.prototype.test_timeout):
108 (WindowTestEnvironment.prototype.global_scope):
109 (WorkerTestEnvironment):
110 (WorkerTestEnvironment.prototype._dispatch):
111 (WorkerTestEnvironment.prototype._add_message_port):
112 (WorkerTestEnvironment.prototype.next_default_test_name):
113 (WorkerTestEnvironment.prototype.on_new_harness_properties):
114 (WorkerTestEnvironment.prototype.on_tests_ready):
115 (WorkerTestEnvironment.prototype.add_on_loaded_callback):
116 (WorkerTestEnvironment.prototype.test_timeout):
117 (WorkerTestEnvironment.prototype.global_scope):
118 (DedicatedWorkerTestEnvironment):
119 (DedicatedWorkerTestEnvironment.prototype.on_tests_ready):
120 (SharedWorkerTestEnvironment):
121 (SharedWorkerTestEnvironment.prototype.on_tests_ready):
122 (ServiceWorkerTestEnvironment):
123 (ServiceWorkerTestEnvironment.prototype.add_on_loaded_callback):
124 (create_test_environment):
139 * wasm/spec-harness/testharnessreport.js: Added.
140 * wasm/spec-harness/wasm-constants.js: Added.
151 * wasm/spec-harness/wasm-module-builder.js: Added.
152 (Binary.prototype.emit_u8):
153 (Binary.prototype.emit_u16):
154 (Binary.prototype.emit_u32):
155 (Binary.prototype.emit_u32v):
156 (Binary.prototype.emit_bytes):
157 (Binary.prototype.emit_string):
158 (Binary.prototype.emit_header):
159 (Binary.prototype.emit_section):
161 (WasmFunctionBuilder):
162 (WasmFunctionBuilder.prototype.exportAs):
163 (WasmFunctionBuilder.prototype.exportFunc):
164 (WasmFunctionBuilder.prototype.addBody):
165 (WasmFunctionBuilder.prototype.addLocals):
166 (WasmFunctionBuilder.prototype.end):
168 (WasmGlobalBuilder.prototype.exportAs):
170 (WasmModuleBuilder.prototype.addStart):
171 (WasmModuleBuilder.prototype.addMemory):
172 (WasmModuleBuilder.prototype.addExplicitSection):
173 (WasmModuleBuilder.prototype.addType):
174 (WasmModuleBuilder.prototype.addGlobal):
175 (WasmModuleBuilder.prototype.addFunction):
176 (WasmModuleBuilder.prototype.addImport):
177 (WasmModuleBuilder.prototype.addImportedGlobal):
178 (WasmModuleBuilder.prototype.addImportedMemory):
179 (WasmModuleBuilder.prototype.addImportedTable):
180 (WasmModuleBuilder.prototype.addExport):
181 (WasmModuleBuilder.prototype.addExportOfKind):
182 (WasmModuleBuilder.prototype.addDataSegment):
183 (WasmModuleBuilder.prototype.exportMemoryAs):
184 (WasmModuleBuilder.prototype.addFunctionTableInit):
185 (WasmModuleBuilder.prototype.appendToTable):
186 (WasmModuleBuilder.prototype.setFunctionTableLength):
187 (WasmModuleBuilder.prototype.toArray):
188 (WasmModuleBuilder.prototype.toBuffer):
189 (WasmModuleBuilder.prototype.instantiate):
190 * wasm/spec-harness/wast.js: Added.
192 (require.else._registry.name):
217 (instr.else.switch.case.0.f):
218 (instr.else.switch.case.1.f.1):
219 (instr.else.switch.case.2.f.2):
242 (module_with_var_opt):
249 (_registry.string_appeared_here):
289 (array1_of_genarray):
290 (array2_of_genarray):
291 (array3_of_genarray):
312 (advance_to_closing):
313 (advance_to_non_alpha):
349 (caml_int32_float_of_bits):
350 (caml_int32_bits_of_float):
351 (caml_classify_float):
355 (caml_copysign_float):
361 (int_of_string_base):
362 (parse_sign_and_base):
363 (caml_int_of_string.aux):
364 (caml_int_of_string):
365 (caml_int64_of_string.aux):
366 (caml_int64_of_string):
406 (bits_of_float.to_nat):
417 (param_format_of_ignored_format):
427 (set while.set else):
433 (bprint_ignored_flag):
442 (string_of_formatting_lit):
443 (string_of_formatting_gen):
444 (bprint_char_literal):
445 (bprint_string_literal):
447 (int_of_custom_arity):
453 (fmtty_of_formatting_gen):
456 (fmtty_of_padding_fmtty):
457 (fmtty_of_precision_fmtty):
460 (type_ignored_param_one):
462 (type_ignored_format_substitution):
467 (string_to_caml_string):
480 (else.switch.k.prime):
482 (else.switch.else.k.prime.1):
486 (make_string_padding):
487 (make_int_padding_precision):
492 (failwith_message.k):
494 (open_box_of_string.else.invalid_box):
495 (open_box_of_string.else.parse_spaces):
496 (open_box_of_string.else.parse_lword):
497 (open_box_of_string.else.parse_int):
498 (open_box_of_string):
499 (make_padding_fmt_ebb):
500 (make_precision_fmt_ebb):
501 (make_padprec_fmt_ebb):
502 (invalid_format_message):
503 (invalid_format_without):
504 (expected_character):
509 (parse_after_precision):
510 (else.parse_literal):
511 (parse_after_padding):
517 (compute_float_conv):
518 (search_subformat_end):
522 (else.switch.case.99.char_format):
523 (else.switch.scan_format):
530 (fail_single_percent):
531 (parse_char_set_after_char):
532 (parse_char_set_content):
533 (parse_char_set_start):
538 (format_of_string_fmtty):
539 (format_of_string_format):
541 (caml_ml_open_descriptor_in):
542 (caml_ml_open_descriptor_out):
545 (caml_ml_output_char):
547 (caml_ml_input_char):
548 (caml_ml_out_channels_list):
554 (caml_new_lex_engine):
557 (caml_lazy_make_forward):
566 (caml_get_public_method):
568 (caml_set_parser_trace):
571 (caml_create_string):
572 (caml_string_compare):
578 (caml_string_of_char_array):
661 (import_kind.get if):
668 (export_kind.get if):
695 (encode.patch_gap32):
701 (encode.memory_type):
702 (encode.global_type):
708 (encode.type_section):
710 (encode.import_section):
712 (encode.func_section):
714 (encode.table_section):
716 (encode.memory_section):
718 (encode.global_section):
719 (encode.export_kind):
721 (encode.export_section):
722 (encode.start_section):
727 (encode.code_section):
729 (encode.table_segment):
730 (encode.elem_section):
731 (encode.memory_segment):
736 (print_nan_significand_digits):
740 (Make.canonicalize_nan):
741 (Make.determine_binary_nan):
742 (Make.determine_unary_nan):
765 (Make.of_signless_string):
776 (pp_force_break_line):
794 (pp_get_formatter_tag_functions):
795 (pp_set_formatter_tag_functions):
811 (pp_print_if_newline):
826 (pp_get_ellipsis_text):
832 (pp_set_formatter_out_functions):
833 (pp_get_formatter_out_functions):
834 (pp_set_formatter_output_functions):
835 (pp_get_formatter_output_functions):
836 (pp_set_all_formatter_output_functions):
837 (pp_get_all_formatter_output_functions):
844 (pp_set_formatter_out_channel):
845 (default_pp_mark_open_tag):
846 (default_pp_mark_close_tag):
847 (default_pp_print_open_tag):
848 (default_pp_print_close_tag):
853 (formatter_of_out_channel):
854 (formatter_of_buffer):
855 (flush_str_formatter):
856 (flush_buf_formatter):
890 (set_formatter_out_channel):
891 (set_formatter_out_functions):
892 (get_formatter_out_functions):
893 (set_formatter_output_functions):
894 (get_formatter_output_functions):
895 (set_all_formatter_output_functions):
896 (get_all_formatter_output_functions):
897 (set_formatter_tag_functions):
898 (get_formatter_tag_functions):
905 (output_formatting_lit):
933 (Make.clamp_rotate_count):
962 (token.else.switch.):
964 (__ocaml_lex_comment_rec):
974 (sub_lexeme_char_opt):
1035 (Make.remove_min_binding):
1043 (Make.add_min_binding):
1044 (Make.add_max_binding):
1047 (Make.concat_or_join):
1056 (Make.bindings_aux):
1110 (positions_to_region):
1140 (current_lookahead_fun):
1141 (catch.else.current_lookahead_fun.0):
1152 (is_current_lookahead):
1162 (valid_float_lexem):
1180 (unsafe_really_input):
1182 (really_input_string):
1183 (input_line.build_result):
1201 (at_exit.exit_function.0):
1205 (output_binary_int):
1208 (out_channel_length):
1209 (set_binary_mode_out):
1214 (in_channel_length):
1216 (set_binary_mode_in):
1229 (escaped.needs_escape):
1233 (string_of_value_type):
1234 (string_of_value_types):
1235 (string_of_elem_type):
1237 (string_of_table_type):
1238 (string_of_global_type):
1239 (string_of_stack_type):
1240 (string_of_func_type):
1250 * wasm/spec-tests/address.wast.js:
1251 (register): Deleted.
1253 (instance): Deleted.
1254 (assert_malformed): Deleted.
1255 (assert_invalid): Deleted.
1256 (assert_soft_invalid): Deleted.
1257 (assert_unlinkable): Deleted.
1258 (assert_uninstantiable): Deleted.
1259 (assert_trap): Deleted.
1260 (assert_return): Deleted.
1261 (assert_return_nan): Deleted.
1262 * wasm/spec-tests/binary.wast.js:
1263 (register): Deleted.
1265 (instance): Deleted.
1266 (assert_malformed): Deleted.
1267 (assert_invalid): Deleted.
1268 (assert_soft_invalid): Deleted.
1269 (assert_unlinkable): Deleted.
1270 (assert_uninstantiable): Deleted.
1271 (assert_trap): Deleted.
1272 (assert_return): Deleted.
1273 (assert_return_nan): Deleted.
1274 * wasm/spec-tests/block.wast.js:
1275 (register): Deleted.
1277 (instance): Deleted.
1278 (assert_malformed): Deleted.
1279 (assert_invalid): Deleted.
1280 (assert_soft_invalid): Deleted.
1281 (assert_unlinkable): Deleted.
1282 (assert_uninstantiable): Deleted.
1283 (assert_trap): Deleted.
1284 (assert_return): Deleted.
1285 (assert_return_nan): Deleted.
1286 * wasm/spec-tests/br.wast.js:
1287 (register): Deleted.
1289 (instance): Deleted.
1290 (assert_malformed): Deleted.
1291 (assert_invalid): Deleted.
1292 (assert_soft_invalid): Deleted.
1293 (assert_unlinkable): Deleted.
1294 (assert_uninstantiable): Deleted.
1295 (assert_trap): Deleted.
1296 (assert_return): Deleted.
1297 (assert_return_nan): Deleted.
1298 * wasm/spec-tests/br_if.wast.js:
1299 (register): Deleted.
1301 (instance): Deleted.
1302 (assert_malformed): Deleted.
1303 (assert_invalid): Deleted.
1304 (assert_soft_invalid): Deleted.
1305 (assert_unlinkable): Deleted.
1306 (assert_uninstantiable): Deleted.
1307 (assert_trap): Deleted.
1308 (assert_return): Deleted.
1309 (assert_return_nan): Deleted.
1310 * wasm/spec-tests/br_table.wast.js:
1311 (register): Deleted.
1313 (instance): Deleted.
1314 (assert_malformed): Deleted.
1315 (assert_invalid): Deleted.
1316 (assert_soft_invalid): Deleted.
1317 (assert_unlinkable): Deleted.
1318 (assert_uninstantiable): Deleted.
1319 (assert_trap): Deleted.
1320 (assert_return): Deleted.
1321 (assert_return_nan): Deleted.
1322 * wasm/spec-tests/break-drop.wast.js:
1323 (register): Deleted.
1325 (instance): Deleted.
1326 (assert_malformed): Deleted.
1327 (assert_invalid): Deleted.
1328 (assert_soft_invalid): Deleted.
1329 (assert_unlinkable): Deleted.
1330 (assert_uninstantiable): Deleted.
1331 (assert_trap): Deleted.
1332 (assert_return): Deleted.
1333 (assert_return_nan): Deleted.
1334 * wasm/spec-tests/call.wast.js:
1335 (register): Deleted.
1337 (instance): Deleted.
1338 (assert_malformed): Deleted.
1339 (assert_invalid): Deleted.
1340 (assert_soft_invalid): Deleted.
1341 (assert_unlinkable): Deleted.
1342 (assert_uninstantiable): Deleted.
1343 (assert_trap): Deleted.
1344 (assert_return): Deleted.
1345 (assert_return_nan): Deleted.
1346 * wasm/spec-tests/call_indirect.wast.js:
1347 (register): Deleted.
1349 (instance): Deleted.
1350 (assert_malformed): Deleted.
1351 (assert_invalid): Deleted.
1352 (assert_soft_invalid): Deleted.
1353 (assert_unlinkable): Deleted.
1354 (assert_uninstantiable): Deleted.
1355 (assert_trap): Deleted.
1356 (assert_return): Deleted.
1357 (assert_return_nan): Deleted.
1358 * wasm/spec-tests/comments.wast.js:
1359 (register): Deleted.
1361 (instance): Deleted.
1362 (assert_malformed): Deleted.
1363 (assert_invalid): Deleted.
1364 (assert_soft_invalid): Deleted.
1365 (assert_unlinkable): Deleted.
1366 (assert_uninstantiable): Deleted.
1367 (assert_trap): Deleted.
1368 (assert_return): Deleted.
1369 (assert_return_nan): Deleted.
1370 * wasm/spec-tests/conversions.wast.js:
1371 (register): Deleted.
1373 (instance): Deleted.
1374 (assert_malformed): Deleted.
1375 (assert_invalid): Deleted.
1376 (assert_soft_invalid): Deleted.
1377 (assert_unlinkable): Deleted.
1378 (assert_uninstantiable): Deleted.
1379 (assert_trap): Deleted.
1380 (assert_return): Deleted.
1381 (assert_return_nan): Deleted.
1382 * wasm/spec-tests/custom_section.wast.js:
1383 (register): Deleted.
1385 (instance): Deleted.
1386 (assert_malformed): Deleted.
1387 (assert_invalid): Deleted.
1388 (assert_soft_invalid): Deleted.
1389 (assert_unlinkable): Deleted.
1390 (assert_uninstantiable): Deleted.
1391 (assert_trap): Deleted.
1392 (assert_return): Deleted.
1393 (assert_return_nan): Deleted.
1394 * wasm/spec-tests/endianness.wast.js:
1395 (register): Deleted.
1397 (instance): Deleted.
1398 (assert_malformed): Deleted.
1399 (assert_invalid): Deleted.
1400 (assert_soft_invalid): Deleted.
1401 (assert_unlinkable): Deleted.
1402 (assert_uninstantiable): Deleted.
1403 (assert_trap): Deleted.
1404 (assert_return): Deleted.
1405 (assert_return_nan): Deleted.
1406 * wasm/spec-tests/exports.wast.js:
1407 (register): Deleted.
1409 (instance): Deleted.
1410 (assert_malformed): Deleted.
1411 (assert_invalid): Deleted.
1412 (assert_soft_invalid): Deleted.
1413 (assert_unlinkable): Deleted.
1414 (assert_uninstantiable): Deleted.
1415 (assert_trap): Deleted.
1416 (assert_return): Deleted.
1417 (assert_return_nan): Deleted.
1418 * wasm/spec-tests/f32.wast.js: Removed.
1419 * wasm/spec-tests/f32_cmp.wast.js:
1420 (register): Deleted.
1422 (instance): Deleted.
1423 (assert_malformed): Deleted.
1424 (assert_invalid): Deleted.
1425 (assert_soft_invalid): Deleted.
1426 (assert_unlinkable): Deleted.
1427 (assert_uninstantiable): Deleted.
1428 (assert_trap): Deleted.
1429 (assert_return): Deleted.
1430 (assert_return_nan): Deleted.
1431 * wasm/spec-tests/f64.wast.js: Removed.
1432 * wasm/spec-tests/f64_cmp.wast.js:
1433 (register): Deleted.
1435 (instance): Deleted.
1436 (assert_malformed): Deleted.
1437 (assert_invalid): Deleted.
1438 (assert_soft_invalid): Deleted.
1439 (assert_unlinkable): Deleted.
1440 (assert_uninstantiable): Deleted.
1441 (assert_trap): Deleted.
1442 (assert_return): Deleted.
1443 (assert_return_nan): Deleted.
1444 * wasm/spec-tests/fac.wast.js:
1445 (register): Deleted.
1447 (instance): Deleted.
1448 (assert_malformed): Deleted.
1449 (assert_invalid): Deleted.
1450 (assert_soft_invalid): Deleted.
1451 (assert_unlinkable): Deleted.
1452 (assert_uninstantiable): Deleted.
1453 (assert_trap): Deleted.
1454 (assert_return): Deleted.
1455 (assert_return_nan): Deleted.
1456 * wasm/spec-tests/float_exprs.wast.js: Removed.
1457 * wasm/spec-tests/float_literals.wast.js:
1458 (register): Deleted.
1460 (instance): Deleted.
1461 (assert_malformed): Deleted.
1462 (assert_invalid): Deleted.
1463 (assert_soft_invalid): Deleted.
1464 (assert_unlinkable): Deleted.
1465 (assert_uninstantiable): Deleted.
1466 (assert_trap): Deleted.
1467 (assert_return): Deleted.
1468 (assert_return_nan): Deleted.
1469 * wasm/spec-tests/float_memory.wast.js:
1470 (register): Deleted.
1472 (instance): Deleted.
1473 (assert_malformed): Deleted.
1474 (assert_invalid): Deleted.
1475 (assert_soft_invalid): Deleted.
1476 (assert_unlinkable): Deleted.
1477 (assert_uninstantiable): Deleted.
1478 (assert_trap): Deleted.
1479 (assert_return): Deleted.
1480 (assert_return_nan): Deleted.
1481 * wasm/spec-tests/float_misc.wast.js: Removed.
1482 * wasm/spec-tests/forward.wast.js:
1483 (register): Deleted.
1485 (instance): Deleted.
1486 (assert_malformed): Deleted.
1487 (assert_invalid): Deleted.
1488 (assert_soft_invalid): Deleted.
1489 (assert_unlinkable): Deleted.
1490 (assert_uninstantiable): Deleted.
1491 (assert_trap): Deleted.
1492 (assert_return): Deleted.
1493 (assert_return_nan): Deleted.
1494 * wasm/spec-tests/func.wast.js:
1495 (register): Deleted.
1497 (instance): Deleted.
1498 (assert_malformed): Deleted.
1499 (assert_invalid): Deleted.
1500 (assert_soft_invalid): Deleted.
1501 (assert_unlinkable): Deleted.
1502 (assert_uninstantiable): Deleted.
1503 (assert_trap): Deleted.
1504 (assert_return): Deleted.
1505 (assert_return_nan): Deleted.
1506 * wasm/spec-tests/func_ptrs.wast.js:
1507 (register): Deleted.
1509 (instance): Deleted.
1510 (assert_malformed): Deleted.
1511 (assert_invalid): Deleted.
1512 (assert_soft_invalid): Deleted.
1513 (assert_unlinkable): Deleted.
1514 (assert_uninstantiable): Deleted.
1515 (assert_trap): Deleted.
1516 (assert_return): Deleted.
1517 (assert_return_nan): Deleted.
1518 * wasm/spec-tests/get_local.wast.js:
1519 (register): Deleted.
1521 (instance): Deleted.
1522 (assert_malformed): Deleted.
1523 (assert_invalid): Deleted.
1524 (assert_soft_invalid): Deleted.
1525 (assert_unlinkable): Deleted.
1526 (assert_uninstantiable): Deleted.
1527 (assert_trap): Deleted.
1528 (assert_return): Deleted.
1529 (assert_return_nan): Deleted.
1530 * wasm/spec-tests/globals.wast.js:
1531 (register): Deleted.
1533 (instance): Deleted.
1534 (assert_malformed): Deleted.
1535 (assert_invalid): Deleted.
1536 (assert_soft_invalid): Deleted.
1537 (assert_unlinkable): Deleted.
1538 (assert_uninstantiable): Deleted.
1539 (assert_trap): Deleted.
1540 (assert_return): Deleted.
1541 (assert_return_nan): Deleted.
1542 * wasm/spec-tests/i32.wast.js:
1543 (register): Deleted.
1545 (instance): Deleted.
1546 (assert_malformed): Deleted.
1547 (assert_invalid): Deleted.
1548 (assert_soft_invalid): Deleted.
1549 (assert_unlinkable): Deleted.
1550 (assert_uninstantiable): Deleted.
1551 (assert_trap): Deleted.
1552 (assert_return): Deleted.
1553 (assert_return_nan): Deleted.
1554 * wasm/spec-tests/i64.wast.js:
1555 (register): Deleted.
1557 (instance): Deleted.
1558 (assert_malformed): Deleted.
1559 (assert_invalid): Deleted.
1560 (assert_soft_invalid): Deleted.
1561 (assert_unlinkable): Deleted.
1562 (assert_uninstantiable): Deleted.
1563 (assert_trap): Deleted.
1564 (assert_return): Deleted.
1565 (assert_return_nan): Deleted.
1566 * wasm/spec-tests/if.wast.js: Added.
1567 * wasm/spec-tests/imports.wast.js:
1568 (register): Deleted.
1570 (instance): Deleted.
1571 (assert_malformed): Deleted.
1572 (assert_invalid): Deleted.
1573 (assert_soft_invalid): Deleted.
1574 (assert_unlinkable): Deleted.
1575 (assert_uninstantiable): Deleted.
1576 (assert_trap): Deleted.
1577 (assert_return): Deleted.
1578 (assert_return_nan): Deleted.
1579 * wasm/spec-tests/int_exprs.wast.js:
1580 (register): Deleted.
1582 (instance): Deleted.
1583 (assert_malformed): Deleted.
1584 (assert_invalid): Deleted.
1585 (assert_soft_invalid): Deleted.
1586 (assert_unlinkable): Deleted.
1587 (assert_uninstantiable): Deleted.
1588 (assert_trap): Deleted.
1589 (assert_return): Deleted.
1590 (assert_return_nan): Deleted.
1591 * wasm/spec-tests/int_literals.wast.js:
1592 (register): Deleted.
1594 (instance): Deleted.
1595 (assert_malformed): Deleted.
1596 (assert_invalid): Deleted.
1597 (assert_soft_invalid): Deleted.
1598 (assert_unlinkable): Deleted.
1599 (assert_uninstantiable): Deleted.
1600 (assert_trap): Deleted.
1601 (assert_return): Deleted.
1602 (assert_return_nan): Deleted.
1603 * wasm/spec-tests/jsapi.js: Added.
1604 (testJSAPI.get test):
1606 (testJSAPI.set test):
1607 (testJSAPI.assertCompileError):
1608 (testJSAPI.assertCompileSuccess):
1610 * wasm/spec-tests/labels.wast.js: Added.
1611 * wasm/spec-tests/left-to-right.wast.js:
1612 (register): Deleted.
1614 (instance): Deleted.
1615 (assert_malformed): Deleted.
1616 (assert_invalid): Deleted.
1617 (assert_soft_invalid): Deleted.
1618 (assert_unlinkable): Deleted.
1619 (assert_uninstantiable): Deleted.
1620 (assert_trap): Deleted.
1621 (assert_return): Deleted.
1622 (assert_return_nan): Deleted.
1623 * wasm/spec-tests/linking.wast.js:
1624 (register): Deleted.
1626 (instance): Deleted.
1627 (assert_malformed): Deleted.
1628 (assert_invalid): Deleted.
1629 (assert_soft_invalid): Deleted.
1630 (assert_unlinkable): Deleted.
1631 (assert_uninstantiable): Deleted.
1632 (assert_trap): Deleted.
1633 (assert_return): Deleted.
1634 (assert_return_nan): Deleted.
1635 * wasm/spec-tests/loop.wast.js:
1636 (register): Deleted.
1638 (instance): Deleted.
1639 (assert_malformed): Deleted.
1640 (assert_invalid): Deleted.
1641 (assert_soft_invalid): Deleted.
1642 (assert_unlinkable): Deleted.
1643 (assert_uninstantiable): Deleted.
1644 (assert_trap): Deleted.
1645 (assert_return): Deleted.
1646 (assert_return_nan): Deleted.
1647 * wasm/spec-tests/memory.wast.js:
1648 (register): Deleted.
1650 (instance): Deleted.
1651 (assert_malformed): Deleted.
1652 (assert_invalid): Deleted.
1653 (assert_soft_invalid): Deleted.
1654 (assert_unlinkable): Deleted.
1655 (assert_uninstantiable): Deleted.
1656 (assert_trap): Deleted.
1657 (assert_return): Deleted.
1658 (assert_return_nan): Deleted.
1659 * wasm/spec-tests/memory_redundancy.wast.js:
1660 (register): Deleted.
1662 (instance): Deleted.
1663 (assert_malformed): Deleted.
1664 (assert_invalid): Deleted.
1665 (assert_soft_invalid): Deleted.
1666 (assert_unlinkable): Deleted.
1667 (assert_uninstantiable): Deleted.
1668 (assert_trap): Deleted.
1669 (assert_return): Deleted.
1670 (assert_return_nan): Deleted.
1671 * wasm/spec-tests/memory_trap.wast.js: Removed.
1672 * wasm/spec-tests/names.wast.js:
1673 (register): Deleted.
1675 (instance): Deleted.
1676 (assert_malformed): Deleted.
1677 (assert_invalid): Deleted.
1678 (assert_soft_invalid): Deleted.
1679 (assert_unlinkable): Deleted.
1680 (assert_uninstantiable): Deleted.
1681 (assert_trap): Deleted.
1682 (assert_return): Deleted.
1683 (assert_return_nan): Deleted.
1684 * wasm/spec-tests/nop.wast.js:
1685 (register): Deleted.
1687 (instance): Deleted.
1688 (assert_malformed): Deleted.
1689 (assert_invalid): Deleted.
1690 (assert_soft_invalid): Deleted.
1691 (assert_unlinkable): Deleted.
1692 (assert_uninstantiable): Deleted.
1693 (assert_trap): Deleted.
1694 (assert_return): Deleted.
1695 (assert_return_nan): Deleted.
1696 * wasm/spec-tests/resizing.wast.js:
1697 (register): Deleted.
1699 (instance): Deleted.
1700 (assert_malformed): Deleted.
1701 (assert_invalid): Deleted.
1702 (assert_soft_invalid): Deleted.
1703 (assert_unlinkable): Deleted.
1704 (assert_uninstantiable): Deleted.
1705 (assert_trap): Deleted.
1706 (assert_return): Deleted.
1707 (assert_return_nan): Deleted.
1708 * wasm/spec-tests/return.wast.js:
1709 (register): Deleted.
1711 (instance): Deleted.
1712 (assert_malformed): Deleted.
1713 (assert_invalid): Deleted.
1714 (assert_soft_invalid): Deleted.
1715 (assert_unlinkable): Deleted.
1716 (assert_uninstantiable): Deleted.
1717 (assert_trap): Deleted.
1718 (assert_return): Deleted.
1719 (assert_return_nan): Deleted.
1720 * wasm/spec-tests/select.wast.js:
1721 (register): Deleted.
1723 (instance): Deleted.
1724 (assert_malformed): Deleted.
1725 (assert_invalid): Deleted.
1726 (assert_soft_invalid): Deleted.
1727 (assert_unlinkable): Deleted.
1728 (assert_uninstantiable): Deleted.
1729 (assert_trap): Deleted.
1730 (assert_return): Deleted.
1731 (assert_return_nan): Deleted.
1732 * wasm/spec-tests/set_local.wast.js:
1733 (register): Deleted.
1735 (instance): Deleted.
1736 (assert_malformed): Deleted.
1737 (assert_invalid): Deleted.
1738 (assert_soft_invalid): Deleted.
1739 (assert_unlinkable): Deleted.
1740 (assert_uninstantiable): Deleted.
1741 (assert_trap): Deleted.
1742 (assert_return): Deleted.
1743 (assert_return_nan): Deleted.
1744 * wasm/spec-tests/skip-stack-guard-page.wast.js:
1745 (register): Deleted.
1747 (instance): Deleted.
1748 (assert_malformed): Deleted.
1749 (assert_invalid): Deleted.
1750 (assert_soft_invalid): Deleted.
1751 (assert_unlinkable): Deleted.
1752 (assert_uninstantiable): Deleted.
1753 (assert_trap): Deleted.
1754 (assert_return): Deleted.
1755 (assert_return_nan): Deleted.
1756 * wasm/spec-tests/stack.wast.js:
1757 (register): Deleted.
1759 (instance): Deleted.
1760 (assert_malformed): Deleted.
1761 (assert_invalid): Deleted.
1762 (assert_soft_invalid): Deleted.
1763 (assert_unlinkable): Deleted.
1764 (assert_uninstantiable): Deleted.
1765 (assert_trap): Deleted.
1766 (assert_return): Deleted.
1767 (assert_return_nan): Deleted.
1768 * wasm/spec-tests/start.wast.js:
1769 (register): Deleted.
1771 (instance): Deleted.
1772 (assert_malformed): Deleted.
1773 (assert_invalid): Deleted.
1774 (assert_soft_invalid): Deleted.
1775 (assert_unlinkable): Deleted.
1776 (assert_uninstantiable): Deleted.
1777 (assert_trap): Deleted.
1778 (assert_return): Deleted.
1779 (assert_return_nan): Deleted.
1780 * wasm/spec-tests/store_retval.wast.js:
1781 (register): Deleted.
1783 (instance): Deleted.
1784 (assert_malformed): Deleted.
1785 (assert_invalid): Deleted.
1786 (assert_soft_invalid): Deleted.
1787 (assert_unlinkable): Deleted.
1788 (assert_uninstantiable): Deleted.
1789 (assert_trap): Deleted.
1790 (assert_return): Deleted.
1791 (assert_return_nan): Deleted.
1792 * wasm/spec-tests/switch.wast.js:
1793 (register): Deleted.
1795 (instance): Deleted.
1796 (assert_malformed): Deleted.
1797 (assert_invalid): Deleted.
1798 (assert_soft_invalid): Deleted.
1799 (assert_unlinkable): Deleted.
1800 (assert_uninstantiable): Deleted.
1801 (assert_trap): Deleted.
1802 (assert_return): Deleted.
1803 (assert_return_nan): Deleted.
1804 * wasm/spec-tests/tee_local.wast.js:
1805 (register): Deleted.
1807 (instance): Deleted.
1808 (assert_malformed): Deleted.
1809 (assert_invalid): Deleted.
1810 (assert_soft_invalid): Deleted.
1811 (assert_unlinkable): Deleted.
1812 (assert_uninstantiable): Deleted.
1813 (assert_trap): Deleted.
1814 (assert_return): Deleted.
1815 (assert_return_nan): Deleted.
1816 * wasm/spec-tests/traps.wast.js:
1817 (register): Deleted.
1819 (instance): Deleted.
1820 (assert_malformed): Deleted.
1821 (assert_invalid): Deleted.
1822 (assert_soft_invalid): Deleted.
1823 (assert_unlinkable): Deleted.
1824 (assert_uninstantiable): Deleted.
1825 (assert_trap): Deleted.
1826 (assert_return): Deleted.
1827 (assert_return_nan): Deleted.
1828 * wasm/spec-tests/typecheck.wast.js:
1829 (register): Deleted.
1831 (instance): Deleted.
1832 (assert_malformed): Deleted.
1833 (assert_invalid): Deleted.
1834 (assert_soft_invalid): Deleted.
1835 (assert_unlinkable): Deleted.
1836 (assert_uninstantiable): Deleted.
1837 (assert_trap): Deleted.
1838 (assert_return): Deleted.
1839 (assert_return_nan): Deleted.
1840 * wasm/spec-tests/unreachable.wast.js:
1841 (register): Deleted.
1843 (instance): Deleted.
1844 (assert_malformed): Deleted.
1845 (assert_invalid): Deleted.
1846 (assert_soft_invalid): Deleted.
1847 (assert_unlinkable): Deleted.
1848 (assert_uninstantiable): Deleted.
1849 (assert_trap): Deleted.
1850 (assert_return): Deleted.
1851 (assert_return_nan): Deleted.
1852 * wasm/spec-tests/unreached-invalid.wast.js: Added.
1853 * wasm/spec-tests/unwind.wast.js:
1854 (register): Deleted.
1856 (instance): Deleted.
1857 (assert_malformed): Deleted.
1858 (assert_invalid): Deleted.
1859 (assert_soft_invalid): Deleted.
1860 (assert_unlinkable): Deleted.
1861 (assert_uninstantiable): Deleted.
1862 (assert_trap): Deleted.
1863 (assert_return): Deleted.
1864 (assert_return_nan): Deleted.
1866 2017-04-01 Oleksandr Skachkov <gskachkov@gmail.com>
1868 Object with numerical keys with gaps gets filled by NaN values
1869 https://bugs.webkit.org/show_bug.cgi?id=164412
1871 Reviewed by Merk Lam.
1873 * stress/object-number-properties.js: Added.
1877 2017-03-30 Michael Saboff <msaboff@apple.com>
1879 Turning ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js back as it appears to always work
1880 https://bugs.webkit.org/show_bug.cgi?id=170313
1882 Reviewed by Saam Barati.
1884 Enable ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js as it seems solid.
1888 2017-03-30 Michael Saboff <msaboff@apple.com>
1890 Enable ChakraCore/Function/FuncBody.js test as it now works
1891 https://bugs.webkit.org/show_bug.cgi?id=170301
1893 Reviewed by Mark Lam.
1895 This test no longer crashes, so enable it and create a JSC specific
1899 * ChakraCore/test/Function/FuncBodyES5.baseline-jsc: Added.
1901 2017-03-30 JF Bastien <jfbastien@apple.com>
1903 WebAssembly: fix misc JS API implementation inconsistencies
1904 https://bugs.webkit.org/show_bug.cgi?id=170187
1906 Reviewed by Keith Miller.
1908 Verify that WebAssembly function are on the object's __proto__.
1910 * wasm/js-api/Module-compile.js:
1911 * wasm/js-api/validate.js:
1912 * wasm/js-api/web-assembly-instantiate.js:
1914 2017-03-29 JF Bastien <jfbastien@apple.com>
1916 WebAssembly: add shell-only Memory mode helper
1917 https://bugs.webkit.org/show_bug.cgi?id=170227
1919 Reviewed by Mark Lam.
1921 * wasm/assert.js: fix a prior debug thing I forgot to remove
1922 * wasm/function-tests/memory-section-and-import.js: the assert
1923 issue was hiding a failure in error message here
1924 * wasm/js-api/element.js: the assert issue was hiding a failure in
1926 (badInstantiation.test):
1928 * wasm/js-api/extension-MemoryMode.js: Added.
1929 (const.validateMode.what.switch):
1932 (testInstanceNoMemory):
1933 (testInstanceNoMax):
1935 * wasm/js-api/test_memory.js: the assert issue was hiding a
1936 failure in error message here
1939 2017-03-28 Keith Miller <keith_miller@apple.com>
1941 WebAssembly: Make WebAssembly.instantiate/compile truly asynchronous
1942 https://bugs.webkit.org/show_bug.cgi?id=169187
1944 Reviewed by Saam Barati.
1947 * wasm/js-api/Module-compile.js:
1948 (async.testPromiseAPI):
1949 * wasm/js-api/web-assembly-compile-parallel.js: Added.
1952 * wasm/js-api/web-assembly-instantiate-parallel.js: Added.
1954 * wasm/js-api/web-assembly-instantiate.js:
1955 (assert.eq.async.test):
1957 (assert.asyncTest.async.test):
1959 (assert.truthy.async.test): Deleted.
1960 (assert.truthy): Deleted.
1962 2017-03-28 JF Bastien <jfbastien@apple.com>
1964 WebAssembly: implement Module imports/exports
1965 https://bugs.webkit.org/show_bug.cgi?id=166982
1967 Reviewed by Saam Barati.
1969 * wasm/js-api/Module.exports.js: Added.
1970 (assert.throws.WebAssembly.Module.prototype.exports):
1972 * wasm/js-api/Module.imports.js: Added.
1973 (assert.throws.WebAssembly.Module.prototype.imports):
1976 2017-03-27 JF Bastien <jfbastien@apple.com>
1978 WebAssembly: misc memory testing
1979 https://bugs.webkit.org/show_bug.cgi?id=170137
1981 Reviewed by Keith Miller.
1983 * wasm/assert.js: handle newlines in code we print out, avoid regex
1984 * wasm/function-tests/memory-import-and-grow.js: Added.
1985 (const.instantiate):
1987 * wasm/function-tests/memory-section-and-import.js: Added.
1988 (const.instantiate):
1990 2017-03-23 Yusuke Suzuki <utatane.tea@gmail.com>
1992 [JSC] Use jsNontrivialString agressively for ToString(Int52)
1993 https://bugs.webkit.org/show_bug.cgi?id=170002
1995 Reviewed by Sam Weinig.
1997 * stress/to-string-int52.js: Added.
2002 2017-03-23 Yusuke Suzuki <utatane.tea@gmail.com>
2004 [JSC][DFG] Make addShouldSpeculateAnyInt more conservative to avoid regression caused by Double <-> Int52 conversions
2005 https://bugs.webkit.org/show_bug.cgi?id=169998
2007 Reviewed by Saam Barati.
2009 * microbenchmarks/int52-back-and-forth.js: Added.
2013 2017-03-23 Mark Lam <mark.lam@apple.com>
2015 Clients of JSArray::tryCreateForInitializationPrivate() should do their own null checks.
2016 https://bugs.webkit.org/show_bug.cgi?id=169783
2018 Reviewed by Saam Barati.
2020 * stress/regress-169783.js: Added.
2022 2017-03-22 Yusuke Suzuki <utatane.tea@gmail.com>
2024 [JSC][DFG] Propagate AnyIntAsDouble information carefully to utilize it in fixup
2025 https://bugs.webkit.org/show_bug.cgi?id=169914
2027 Reviewed by Saam Barati.
2029 * stress/any-int-as-double-add.js: Added.
2032 * stress/to-this-numbers.js: Added.
2034 (Number.prototype.toThis):
2036 2017-03-22 Mark Lam <mark.lam@apple.com>
2038 Add support for Error.stackTraceLimit.
2039 https://bugs.webkit.org/show_bug.cgi?id=169904
2041 Reviewed by Saam Barati.
2043 * stress/error-stack-trace-limit.js: Added.
2045 2017-03-22 Yusuke Suzuki <utatane.tea@gmail.com>
2047 [JSC] Use jsNontrivialString for Number toString operations
2048 https://bugs.webkit.org/show_bug.cgi?id=169965
2050 Reviewed by Mark Lam.
2052 * stress/to-string-int32.js: Added.
2057 2017-03-22 JF Bastien <jfbastien@apple.com>
2059 WebAssembly: test module namespace object for WebAssembly.Instance
2060 https://bugs.webkit.org/show_bug.cgi?id=169951
2062 Reviewed by Saam Barati.
2064 * wasm/js-api/test_basic_api.js:
2065 (const.c.in.constructorProperties.switch):
2067 2017-03-22 JF Bastien <jfbastien@apple.com>
2069 WebAssembly: constructors without new don't throw
2070 https://bugs.webkit.org/show_bug.cgi?id=165995
2072 Reviewed by Saam Barati.
2074 * wasm/js-api/test_basic_api.js:
2075 (const.c.in.constructorProperties.switch):
2077 2017-03-21 Yusuke Suzuki <utatane.tea@gmail.com>
2079 [JSC] Optimize Number.prototype.toString on Int32 / Int52 / Double
2080 https://bugs.webkit.org/show_bug.cgi?id=167454
2082 Reviewed by Saam Barati.
2084 * stress/number-to-string-abstract-operation.js: Added.
2087 (shouldBe.int32ToString.new.Number.int52ToString):
2088 (shouldBe.int32ToString.new.Number):
2089 (shouldBe.doubleToString):
2090 * stress/number-to-string-radix.js: Added.
2093 (shouldBe.int32ToString.new.Number.int52ToString):
2094 (shouldBe.int32ToString.new.Number):
2095 (shouldBe.doubleToString):
2096 * stress/number-to-string.js: Added.
2099 (shouldBe.int32ToString.new.Number.int52ToString):
2100 (shouldBe.int32ToString.new.Number):
2101 (shouldBe.doubleToString):
2103 2017-03-19 Chris Dumez <cdumez@apple.com>
2105 `const location = "foo"` throws in a worker
2106 https://bugs.webkit.org/show_bug.cgi?id=169839
2108 Reviewed by Mark Lam.
2110 * ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.baseline-jsc:
2111 Update expected jsc result now that we throw a SyntaxError when trying to shadow undefined
2112 with a let variable. We used not to throw because the value is undefined but this was not
2113 as per EcmaScript. Both Firefox and Chrome throw in this case.
2115 * stress/global-lexical-redeclare-variable.js:
2117 Update test that defines a non-configurable 'zoo' property on the global object and then
2118 expected shadowing it with a 'let zoo' variable to work because its value was undefined.
2119 This was not as per EcmaScript spec and both Firefox and Chrome throw in this case.
2121 2017-03-19 Yusuke Suzuki <utatane.tea@gmail.com>
2123 import(arg) crashes when ToString(arg) throws
2124 https://bugs.webkit.org/show_bug.cgi?id=169778
2126 Reviewed by Saam Barati.
2128 * stress/import-reject-with-exception.js: Added.
2130 (let.x.get toString):
2132 2017-03-16 Filip Pizlo <fpizlo@apple.com>
2134 FTL should support global and eval code
2135 https://bugs.webkit.org/show_bug.cgi?id=169656
2137 Reviewed by Geoffrey Garen and Saam Barati.
2139 Added basic performance tests of global and eval code. These tests will run a lot faster in with
2140 the FTL because of the object allocation.
2142 * microbenchmarks/eval-code-ftl-reentry.js: Added.
2143 * microbenchmarks/eval-code-ftl.js: Added.
2144 * microbenchmarks/global-code-ftl.js: Added.
2145 * stress/arith-log-on-various-types.js: This was a flaky fail with concurrent JIT, so I stopped running it with concurrent JIT. The failure was its assertion about how many times something gets compiled.
2147 2017-03-16 Caio Lima <ticaiolima@gmail.com>
2149 [ESnext] Implement Object Spread
2150 https://bugs.webkit.org/show_bug.cgi?id=167963
2152 Reviewed by Yusuke Suzuki.
2154 * stress/object-spread.js: Added.
2163 (try.let.obj.get foo):
2166 2017-03-15 Yusuke Suzuki <utatane.tea@gmail.com>
2168 [JSC] Default parameter part should be retrieved by op_get_argument opcode instead of changing arity
2169 https://bugs.webkit.org/show_bug.cgi?id=164582
2171 Reviewed by Saam Barati.
2173 * stress/function-with-defaults-inlining.js: Added.
2177 * stress/function-with-defaults-non-inlining.js: Added.
2182 2017-03-15 Yusuke Suzuki <utatane.tea@gmail.com>
2184 [DFG] ToString operation should have fixup for primitives to say this node does not have side effects
2185 https://bugs.webkit.org/show_bug.cgi?id=169544
2187 Reviewed by Saam Barati.
2189 * microbenchmarks/template-string-array.js: Added.
2191 * stress/to-string-non-cell-use.js: Added.
2195 2017-03-13 Commit Queue <commit-queue@webkit.org>
2197 Unreviewed, rolling out r213856.
2198 https://bugs.webkit.org/show_bug.cgi?id=169562
2200 Breaks JSC stress test stress/super-property-access.js.ftl-
2201 eager failing (Requested by mlam|g on #webkit).
2205 "FTL should not flush strict arguments unless it really needs
2207 https://bugs.webkit.org/show_bug.cgi?id=169519
2208 http://trac.webkit.org/changeset/213856
2210 2017-03-11 Filip Pizlo <fpizlo@apple.com>
2212 FTL should not flush strict arguments unless it really needs to
2213 https://bugs.webkit.org/show_bug.cgi?id=169519
2215 Reviewed by Mark Lam.
2217 This benchmark runs 3.5x faster thanks to this patch.
2219 * microbenchmarks/strict-arguments-no-escape.js: Added.
2224 2017-03-13 Caio Lima <ticaiolima@gmail.com>
2226 [JSC] It should be possible create a label named let when parsing Statement in non strict mode
2227 https://bugs.webkit.org/show_bug.cgi?id=168684
2229 Reviewed by Saam Barati.
2231 * ChakraCore/test/LetConst/DeclOutofBlock.baseline-jsc:
2233 2017-03-10 Saam Barati <sbarati@apple.com>
2235 WebAssembly: Make more demos run
2236 https://bugs.webkit.org/show_bug.cgi?id=165510
2237 <rdar://problem/29760310>
2239 Reviewed by Keith Miller.
2242 (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
2243 * wasm/js-api/wrapper-function.js: Added.
2245 (return.new.WebAssembly.Module):
2246 (assert.throws.makeInstance):
2247 (assert.throws.Bar):
2250 2017-03-10 Mark Lam <mark.lam@apple.com>
2252 JSC: BindingNode::bindValue doesn't increase the scope's reference count.
2253 https://bugs.webkit.org/show_bug.cgi?id=168546
2254 <rdar://problem/30589551>
2256 Reviewed by Saam Barati.
2258 * stress/regress-168546.js: Added.
2260 2017-03-09 Caio Lima <ticaiolima@gmail.com>
2262 [ESnext] Implement Object Rest - Implementing Object Rest Destructuring
2263 https://bugs.webkit.org/show_bug.cgi?id=167962
2265 Reviewed by Keith Miller.
2267 * stress/object-rest-deconstruct.js: Added.
2269 (let.assertPropDescriptor):
2277 2017-03-09 Saam Barati <sbarati@apple.com>
2279 WebAssembly: Make the Unity AngryBots demo run
2280 https://bugs.webkit.org/show_bug.cgi?id=169268
2282 Reviewed by Keith Miller.
2284 * wasm/function-tests/many-arguments-to-function.js: Added.
2285 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.I32Const.0.I32Const.1.I32Const.2.I32Const.3.I32Const.4.I32Const.5.I32Const.6.I32Const.7.I32Const.8.I32Const.9.I32Const.10.I32Const.11.I32Const.12.I32Const.13.I32Const.14.I32Const.15.I32Const.16.I32Const.17.Call.0.Return.End.End.foo):
2286 (i.instance.exports.f0.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.Call.Return.End.End.foo):
2287 (i.instance.exports.f0):
2288 (instance.exports.f0.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.Call.Return.End.End.foo):
2289 (instance.exports.f0):
2291 2017-03-08 Yusuke Suzuki <utatane.tea@gmail.com>
2293 [GTK] JSC test stress/arity-check-ftl-throw.js.ftl-no-cjit-validate-sampling-profiler crashing on GTK bot
2294 https://bugs.webkit.org/show_bug.cgi?id=160124
2296 Reviewed by Mark Lam.
2298 * stress/spread-forward-call-varargs-stack-overflow.js:
2300 2017-03-06 Saam Barati <sbarati@apple.com>
2302 WebAssembly: Implement the WebAssembly.instantiate API
2303 https://bugs.webkit.org/show_bug.cgi?id=165982
2304 <rdar://problem/29760110>
2306 Reviewed by Keith Miller.
2308 * wasm/js-api/web-assembly-instantiate.js: Added.
2309 (assert.eq.async.test):
2311 (assert.truthy.async.test):
2314 2017-03-06 Saam Barati <sbarati@apple.com>
2316 Unreviewed. Fix test expected error message.
2318 * wasm/js-api/element.js:
2321 2017-03-06 Caio Lima <ticaiolima@gmail.com>
2323 op_get_by_id_with_this should use inline caching
2324 https://bugs.webkit.org/show_bug.cgi?id=162124
2326 Reviewed by Saam Barati.
2328 * microbenchmarks/super-getter.js: Added.
2329 (A.prototype.get f):
2331 (B.prototype.get f):
2333 * stress/super-force-ic-fail.js: Added.
2339 * stress/super-get-by-id.js: Added.
2342 (Base.prototype.get name):
2343 (Base.prototype.set name):
2344 (Subclass.prototype.get name):
2348 (PolymorphicSubclass.prototype.get value):
2349 (PolymorphicSubclass):
2352 (MegamorphicSubclass.prototype.get value):
2353 (MegamorphicSubclass):
2354 (let.subObj.get value):
2358 (BaseException.prototype.get name):
2359 (SubclassException.prototype.get name):
2360 (SubclassException):
2362 (prototype.get name):
2363 (SubclassExceptionComplex.prototype.get name):
2364 (SubclassExceptionComplex):
2365 * stress/super-getter-reset-ic.js: Added.
2369 2017-03-06 Saam Barati <sbarati@apple.com>
2371 WebAssembly: implement init_expr for Element
2372 https://bugs.webkit.org/show_bug.cgi?id=165888
2373 <rdar://problem/29760199>
2375 Reviewed by Keith Miller.
2377 * wasm/Builder_WebAssemblyBinary.js:
2378 (const.emitters.Element):
2380 * wasm/js-api/element.js:
2382 (badInstantiation.makeModule):
2383 (badInstantiation.test):
2385 * wasm/js-api/global-error.js:
2387 2017-03-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
2389 [JSC] [Linux] Test stress/spread-forward-call-varargs-stack-overflow.js fails
2390 https://bugs.webkit.org/show_bug.cgi?id=169206
2392 Unreviewed test gardening.
2394 * stress/spread-forward-call-varargs-stack-overflow.js: Skip on Linux platforms.
2396 2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com>
2398 [JSC] Allow indexed module namespace object fields
2399 https://bugs.webkit.org/show_bug.cgi?id=168870
2401 Reviewed by Saam Barati.
2403 * wasm/spec-tests/names.wast.js:
2405 2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com>
2407 Null pointer crash when loading module with unresolved import also as a script file
2408 https://bugs.webkit.org/show_bug.cgi?id=168971
2410 Reviewed by Saam Barati.
2412 * stress/re-execute-error-module.js: Added.
2415 * stress/resources/error-module.js: Added.
2417 2017-03-02 Keith Miller <keith_miller@apple.com>
2419 WebAssemblyFunction should have Function.prototype as its prototype
2420 https://bugs.webkit.org/show_bug.cgi?id=169101
2422 Reviewed by Filip Pizlo.
2424 * wasm/js-api/web-assembly-function.js: Added.
2426 2017-02-28 Oleksandr Skachkov <gskachkov@gmail.com>
2428 Use of arguments in arrow function is slow
2429 https://bugs.webkit.org/show_bug.cgi?id=168829
2431 Reviewed by Saam Barati.
2433 * microbenchmarks/arrowfunciton-direct-arguments.js: Added.
2435 * microbenchmarks/arrowfunciton-reference-arguments.js: Added.
2438 2017-02-27 Commit Queue <commit-queue@webkit.org>
2440 Unreviewed, rolling out r213019.
2441 https://bugs.webkit.org/show_bug.cgi?id=168925
2443 "It broke 32-bit jsc tests in debug builds" (Requested by
2444 saamyjoon on #webkit).
2448 "op_get_by_id_with_this should use inline caching"
2449 https://bugs.webkit.org/show_bug.cgi?id=162124
2450 http://trac.webkit.org/changeset/213019
2452 2017-02-27 JF Bastien <jfbastien@apple.com>
2454 WebAssembly: miscellaneous spec fixes part deux
2455 https://bugs.webkit.org/show_bug.cgi?id=168861
2457 Reviewed by Keith Miller.
2459 * wasm.yaml: more passing tests
2460 * wasm/Builder.js: use a Map instead of an Object for the function
2461 index space, because Number entries such as 0 were colliding with
2462 string entries such as "0". This in turn requires some hashing of
2463 objects which are inserted, because Map uses Object's insertion
2464 order when comparing.
2465 (export.default.Builder):
2466 (export.default.Builder.prototype._functionIndexSpaceKeyHash):
2467 (export.default.Builder.prototype._registerFunctionToIndexSpace):
2468 (export.default.Builder.prototype._getFunctionFromIndexSpace):
2469 * wasm/js-api/test_Instance.js: add a FIXME test
2470 * wasm/spec-tests/memory.wast.js:
2471 (assert_unlinkable):
2472 * wasm/spec-tests/names.wast.js:
2474 2017-02-26 Caio Lima <ticaiolima@gmail.com>
2476 op_get_by_id_with_this should use inline caching
2477 https://bugs.webkit.org/show_bug.cgi?id=162124
2479 Reviewed by Saam Barati.
2481 * microbenchmarks/super-getter.js: Added.
2482 (A.prototype.get f):
2484 (B.prototype.get f):
2486 * stress/super-force-ic-fail.js: Added.
2492 * stress/super-get-by-id.js: Added.
2495 (Base.prototype.get name):
2496 (Base.prototype.set name):
2497 (Subclass.prototype.get name):
2501 (PolymorphicSubclass.prototype.get value):
2502 (PolymorphicSubclass):
2505 (MegamorphicSubclass.prototype.get value):
2506 (MegamorphicSubclass):
2507 (let.subObj.get value):
2511 (BaseException.prototype.get name):
2512 (SubclassException.prototype.get name):
2513 (SubclassException):
2515 (prototype.get name):
2516 (SubclassExceptionComplex.prototype.get name):
2517 (SubclassExceptionComplex):
2518 * stress/super-getter-reset-ic.js: Added.
2522 2017-02-24 JF Bastien <jfbastien@apple.com>
2524 WebAssembly: miscellaneous spec fixes
2525 https://bugs.webkit.org/show_bug.cgi?id=168822
2527 Reviewed by Saam Barati.
2529 * wasm.yaml: mark some skip tests as normal, now that they pass
2530 * wasm/Builder.js: error message was wrong, causing extra error if hit
2531 * wasm/js-api/global-error.js: new tests
2533 * wasm/spec-tests/call.wast.js: comment out stack check tests
2534 * wasm/spec-tests/call_indirect.wast.js: comment out stack check tests
2535 * wasm/spec-tests/fac.wast.js: comment out stack check tests
2536 * wasm/spec-tests/float_exprs.wast.js: wabt is wrong, bug reported, we should update
2537 * wasm/spec-tests/imports.wast.js: bug in old wabt, fixed in recent wabt
2538 (assert_unlinkable):
2540 2017-02-23 Saam Barati <sbarati@apple.com>
2542 Intrinsicify parseInt
2543 https://bugs.webkit.org/show_bug.cgi?id=168627
2545 Reviewed by Filip Pizlo.
2547 * stress/parse-int-intrinsic.js: Added.
2549 (testIntrinsic.let.s):
2551 (testIntrinsic2.baz):
2553 (testIntrinsic3.foo):
2555 (testIntrinsic4.foo):
2557 (testIntrinsic5.foo):
2559 (testIntrinsic6.foo):
2561 (testIntrinsic7.foo):
2564 2017-02-23 JF Bastien <jfbastien@apple.com>
2566 WebAssembly: support 0x1 version
2567 https://bugs.webkit.org/show_bug.cgi?id=168672
2569 Reviewed by Keith Miller.
2571 Update the version number for all the tests. Note that the spec
2572 tests are only updated with a new version number because spec+wabt
2573 aren't ready for 0x1 yet. This is tracked by bug #168784.
2575 * wasm/import-spec-tests.rb: use the new spec repository layout
2576 * wasm/js-api/test_basic_api.js:
2577 * wasm/self-test/test_BuilderWebAssembly.js:
2580 * wasm/spec-tests/address.wast.js:
2581 * wasm/spec-tests/binary.wast.js:
2582 * wasm/spec-tests/block.wast.js:
2583 * wasm/spec-tests/br.wast.js:
2584 * wasm/spec-tests/br_if.wast.js:
2585 * wasm/spec-tests/br_table.wast.js:
2586 * wasm/spec-tests/break-drop.wast.js:
2587 * wasm/spec-tests/call.wast.js:
2588 * wasm/spec-tests/call_indirect.wast.js:
2589 * wasm/spec-tests/comments.wast.js:
2590 * wasm/spec-tests/conversions.wast.js:
2591 * wasm/spec-tests/custom_section.wast.js:
2592 * wasm/spec-tests/endianness.wast.js:
2593 * wasm/spec-tests/exports.wast.js:
2594 * wasm/spec-tests/f32.wast.js:
2595 * wasm/spec-tests/f32_cmp.wast.js:
2596 * wasm/spec-tests/f64.wast.js:
2597 * wasm/spec-tests/f64_cmp.wast.js:
2598 * wasm/spec-tests/fac.wast.js:
2599 * wasm/spec-tests/float_exprs.wast.js:
2600 * wasm/spec-tests/float_literals.wast.js:
2601 * wasm/spec-tests/float_memory.wast.js:
2602 * wasm/spec-tests/float_misc.wast.js:
2603 * wasm/spec-tests/forward.wast.js:
2604 * wasm/spec-tests/func.wast.js:
2605 * wasm/spec-tests/func_ptrs.wast.js:
2606 * wasm/spec-tests/get_local.wast.js:
2607 * wasm/spec-tests/globals.wast.js:
2608 * wasm/spec-tests/i32.wast.js:
2609 * wasm/spec-tests/i64.wast.js:
2610 * wasm/spec-tests/imports.wast.js:
2611 * wasm/spec-tests/int_exprs.wast.js:
2612 * wasm/spec-tests/int_literals.wast.js:
2613 * wasm/spec-tests/left-to-right.wast.js:
2614 * wasm/spec-tests/linking.wast.js:
2615 * wasm/spec-tests/loop.wast.js:
2616 * wasm/spec-tests/memory.wast.js:
2617 * wasm/spec-tests/memory_redundancy.wast.js:
2618 * wasm/spec-tests/memory_trap.wast.js:
2619 * wasm/spec-tests/names.wast.js:
2620 * wasm/spec-tests/nop.wast.js:
2621 * wasm/spec-tests/resizing.wast.js:
2622 * wasm/spec-tests/return.wast.js:
2623 * wasm/spec-tests/select.wast.js:
2624 * wasm/spec-tests/set_local.wast.js:
2625 * wasm/spec-tests/skip-stack-guard-page.wast.js:
2626 * wasm/spec-tests/stack.wast.js:
2627 * wasm/spec-tests/start.wast.js:
2628 * wasm/spec-tests/store_retval.wast.js:
2629 * wasm/spec-tests/switch.wast.js:
2630 * wasm/spec-tests/tee_local.wast.js:
2631 * wasm/spec-tests/traps.wast.js:
2632 * wasm/spec-tests/typecheck.wast.js:
2633 * wasm/spec-tests/unreachable.wast.js:
2634 * wasm/spec-tests/unwind.wast.js:
2637 2017-02-22 Yusuke Suzuki <utatane.tea@gmail.com>
2639 JSModuleNamespace object should have IC
2640 https://bugs.webkit.org/show_bug.cgi?id=160590
2642 Reviewed by Saam Barati.
2644 * modules/module-assert-access-binding.js: Added.
2645 * modules/module-assert-access-namespace.js: Added.
2646 * modules/namespace-empty.js: Added.
2647 (from.string_appeared_here.access):
2649 * stress/module-namespace-access-change.js: Added.
2652 (import.string_appeared_here.then):
2653 * stress/module-namespace-access-non-constant.js: Added.
2655 (import.string_appeared_here.then):
2656 * stress/module-namespace-access-poly.js: Added.
2659 (import.string_appeared_here.then):
2660 * stress/module-namespace-access-transitive-exports.js: Added.
2662 (import.string_appeared_here.then):
2663 * stress/module-namespace-access.js: Added.
2665 (import.string_appeared_here.then):
2666 * stress/resources/module-namespace-access-transitive-exports-2.js: Added.
2669 * stress/resources/module-namespace-access-transitive-exports.js: Added.
2670 * stress/resources/module-namespace-access.js: Added.
2674 2017-02-20 Filip Pizlo <fpizlo@apple.com>
2676 The collector thread should only start when the mutator doesn't have heap access
2677 https://bugs.webkit.org/show_bug.cgi?id=167737
2679 Reviewed by Keith Miller.
2681 Add versions of splay that flash heap access, to simulate what might happen if a third-party app
2682 was running concurrent GC. In this case, we might actually start the collector thread.
2684 * stress/splay-flash-access-1ms.js: Added.
2686 (this.Setup.setup.setup):
2687 (this.TearDown.tearDown.tearDown):
2690 (BenchmarkResult.prototype.valueOf):
2694 (BenchmarkSuite.ResetRNG):
2696 (BenchmarkSuite.RunSuites):
2697 (BenchmarkSuite.CountBenchmarks):
2698 (BenchmarkSuite.GeometricMean):
2699 (BenchmarkSuite.GeometricMeanTime):
2700 (BenchmarkSuite.AverageAbovePercentile):
2701 (BenchmarkSuite.GeometricMeanLatency):
2702 (BenchmarkSuite.FormatScore):
2703 (BenchmarkSuite.prototype.NotifyStep):
2704 (BenchmarkSuite.prototype.NotifyResult):
2705 (BenchmarkSuite.prototype.NotifyError):
2706 (BenchmarkSuite.prototype.RunSingleBenchmark):
2710 (BenchmarkSuite.prototype.RunStep):
2711 (GeneratePayloadTree):
2719 (SplayTree.prototype.isEmpty):
2720 (SplayTree.prototype.insert):
2721 (SplayTree.prototype.remove):
2722 (SplayTree.prototype.find):
2723 (SplayTree.prototype.findMax):
2724 (SplayTree.prototype.findGreatestLessThan):
2725 (SplayTree.prototype.exportKeys):
2726 (SplayTree.prototype.splay_):
2728 (SplayTree.Node.prototype.traverse_):
2732 (averageAbovePercentile):
2734 * stress/splay-flash-access.js: Added.
2736 (this.Setup.setup.setup):
2737 (this.TearDown.tearDown.tearDown):
2740 (BenchmarkResult.prototype.valueOf):
2744 (BenchmarkSuite.ResetRNG):
2746 (BenchmarkSuite.RunSuites):
2747 (BenchmarkSuite.CountBenchmarks):
2748 (BenchmarkSuite.GeometricMean):
2749 (BenchmarkSuite.GeometricMeanTime):
2750 (BenchmarkSuite.AverageAbovePercentile):
2751 (BenchmarkSuite.GeometricMeanLatency):
2752 (BenchmarkSuite.FormatScore):
2753 (BenchmarkSuite.prototype.NotifyStep):
2754 (BenchmarkSuite.prototype.NotifyResult):
2755 (BenchmarkSuite.prototype.NotifyError):
2756 (BenchmarkSuite.prototype.RunSingleBenchmark):
2760 (BenchmarkSuite.prototype.RunStep):
2761 (GeneratePayloadTree):
2769 (SplayTree.prototype.isEmpty):
2770 (SplayTree.prototype.insert):
2771 (SplayTree.prototype.remove):
2772 (SplayTree.prototype.find):
2773 (SplayTree.prototype.findMax):
2774 (SplayTree.prototype.findGreatestLessThan):
2775 (SplayTree.prototype.exportKeys):
2776 (SplayTree.prototype.splay_):
2778 (SplayTree.Node.prototype.traverse_):
2782 (averageAbovePercentile):
2785 2017-02-21 Ryan Haddad <ryanhaddad@apple.com>
2787 Unreviewed, rolling out r212712.
2789 This change broke the CLoop build.
2793 "JSModuleNamespace object should have IC"
2794 https://bugs.webkit.org/show_bug.cgi?id=160590
2795 http://trac.webkit.org/changeset/212712
2797 2017-02-21 Yusuke Suzuki <utatane.tea@gmail.com>
2799 JSModuleNamespace object should have IC
2800 https://bugs.webkit.org/show_bug.cgi?id=160590
2802 Reviewed by Saam Barati.
2804 * modules/module-assert-access-binding.js: Added.
2805 * modules/module-assert-access-namespace.js: Added.
2806 * modules/namespace-empty.js: Added.
2807 (from.string_appeared_here.access):
2809 * stress/module-namespace-access-change.js: Added.
2812 (import.string_appeared_here.then):
2813 * stress/module-namespace-access-non-constant.js: Added.
2815 (import.string_appeared_here.then):
2816 * stress/module-namespace-access-poly.js: Added.
2819 (import.string_appeared_here.then):
2820 * stress/module-namespace-access-transitive-exports.js: Added.
2822 (import.string_appeared_here.then):
2823 * stress/module-namespace-access.js: Added.
2825 (import.string_appeared_here.then):
2826 * stress/resources/module-namespace-access-transitive-exports-2.js: Added.
2829 * stress/resources/module-namespace-access-transitive-exports.js: Added.
2830 * stress/resources/module-namespace-access.js: Added.
2834 2017-02-21 Yusuke Suzuki <utatane.tea@gmail.com>
2836 ASSERTION FAILED: "!scope.exception()" with Object.isSealed/isFrozen and uninitialized module bindings
2837 https://bugs.webkit.org/show_bug.cgi?id=168605
2839 Reviewed by Saam Barati.
2841 * modules/module-namespace-is-frozen.js: Added.
2842 (from.string_appeared_here.shouldThrow):
2844 * modules/module-namespace-is-sealed.js: Added.
2845 (from.string_appeared_here.shouldThrow):
2848 2017-02-19 Commit Queue <commit-queue@webkit.org>
2850 Unreviewed, rolling out r212466.
2851 https://bugs.webkit.org/show_bug.cgi?id=168577
2853 causes crashes on AArch64 on linux, maybe it's causing crashes
2854 on iOS too (Requested by pizlo on #webkit).
2858 "The collector thread should only start when the mutator
2859 doesn't have heap access"
2860 https://bugs.webkit.org/show_bug.cgi?id=167737
2861 http://trac.webkit.org/changeset/212466
2863 2017-02-10 Filip Pizlo <fpizlo@apple.com>
2865 The collector thread should only start when the mutator doesn't have heap access
2866 https://bugs.webkit.org/show_bug.cgi?id=167737
2868 Reviewed by Keith Miller.
2870 Add versions of splay that flash heap access, to simulate what might happen if a third-party app
2871 was running concurrent GC. In this case, we might actually start the collector thread.
2873 * stress/splay-flash-access-1ms.js: Added.
2875 (this.Setup.setup.setup):
2876 (this.TearDown.tearDown.tearDown):
2879 (BenchmarkResult.prototype.valueOf):
2883 (BenchmarkSuite.ResetRNG):
2885 (BenchmarkSuite.RunSuites):
2886 (BenchmarkSuite.CountBenchmarks):
2887 (BenchmarkSuite.GeometricMean):
2888 (BenchmarkSuite.GeometricMeanTime):
2889 (BenchmarkSuite.AverageAbovePercentile):
2890 (BenchmarkSuite.GeometricMeanLatency):
2891 (BenchmarkSuite.FormatScore):
2892 (BenchmarkSuite.prototype.NotifyStep):
2893 (BenchmarkSuite.prototype.NotifyResult):
2894 (BenchmarkSuite.prototype.NotifyError):
2895 (BenchmarkSuite.prototype.RunSingleBenchmark):
2899 (BenchmarkSuite.prototype.RunStep):
2900 (GeneratePayloadTree):
2908 (SplayTree.prototype.isEmpty):
2909 (SplayTree.prototype.insert):
2910 (SplayTree.prototype.remove):
2911 (SplayTree.prototype.find):
2912 (SplayTree.prototype.findMax):
2913 (SplayTree.prototype.findGreatestLessThan):
2914 (SplayTree.prototype.exportKeys):
2915 (SplayTree.prototype.splay_):
2917 (SplayTree.Node.prototype.traverse_):
2921 (averageAbovePercentile):
2923 * stress/splay-flash-access.js: Added.
2925 (this.Setup.setup.setup):
2926 (this.TearDown.tearDown.tearDown):
2929 (BenchmarkResult.prototype.valueOf):
2933 (BenchmarkSuite.ResetRNG):
2935 (BenchmarkSuite.RunSuites):
2936 (BenchmarkSuite.CountBenchmarks):
2937 (BenchmarkSuite.GeometricMean):
2938 (BenchmarkSuite.GeometricMeanTime):
2939 (BenchmarkSuite.AverageAbovePercentile):
2940 (BenchmarkSuite.GeometricMeanLatency):
2941 (BenchmarkSuite.FormatScore):
2942 (BenchmarkSuite.prototype.NotifyStep):
2943 (BenchmarkSuite.prototype.NotifyResult):
2944 (BenchmarkSuite.prototype.NotifyError):
2945 (BenchmarkSuite.prototype.RunSingleBenchmark):
2949 (BenchmarkSuite.prototype.RunStep):
2950 (GeneratePayloadTree):
2958 (SplayTree.prototype.isEmpty):
2959 (SplayTree.prototype.insert):
2960 (SplayTree.prototype.remove):
2961 (SplayTree.prototype.find):
2962 (SplayTree.prototype.findMax):
2963 (SplayTree.prototype.findGreatestLessThan):
2964 (SplayTree.prototype.exportKeys):
2965 (SplayTree.prototype.splay_):
2967 (SplayTree.Node.prototype.traverse_):
2971 (averageAbovePercentile):
2974 2017-02-16 Yusuke Suzuki <utatane.tea@gmail.com>
2976 [JSC] Update module namespace object according to the latest ECMA262
2977 https://bugs.webkit.org/show_bug.cgi?id=168280
2979 Reviewed by Saam Barati.
2981 * modules/namespace-object-symbol-iterator-name.js:
2982 * modules/namespace-object-typed-array-fast-path.js:
2983 * modules/namespace.js:
2984 (shouldBe.JSON.stringify.Reflect.getOwnPropertyDescriptor):
2987 2017-02-11 Yusuke Suzuki <utatane.tea@gmail.com>
2989 [JSC] Implement (Shared)ArrayBuffer.prototype.byteLength
2990 https://bugs.webkit.org/show_bug.cgi?id=166476
2992 Reviewed by Saam Barati.
2994 * ChakraCore/test/typedarray/arraybufferType.baseline-jsc:
2995 * stress/array-buffer-byte-length.js: Added.
2999 * stress/reflect-set.js:
3001 2017-02-10 Saam Barati <sbarati@apple.com>
3003 Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object
3004 https://bugs.webkit.org/show_bug.cgi?id=168140
3005 <rdar://problem/30205880>
3007 Reviewed by Filip Pizlo.
3009 * stress/allocation-sinking-puthint-control-flow.js: Added.
3018 2017-02-09 Mark Lam <mark.lam@apple.com>
3020 B3::Procedure::deleteOrphans() should neutralize upsilons with dead phis.
3021 https://bugs.webkit.org/show_bug.cgi?id=167437
3022 <rdar://problem/30198083>
3024 Reviewed by Filip Pizlo.
3026 * stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js: Added.
3028 2017-02-09 Saam Barati <sbarati@apple.com>
3030 Sloppy mode: We don't properly hoist functions names "arguments" when we have a non-simple parameter list
3031 https://bugs.webkit.org/show_bug.cgi?id=167319
3032 <rdar://problem/30149432>
3034 Reviewed by Mark Lam.
3036 * stress/sloppy-mode-hoist-arguments-function-non-simple-parameter-list.js: Added.
3044 2017-02-09 Mark Lam <mark.lam@apple.com>
3046 Fix max length check in ArrayPrototype.js' concatSlowPath().
3047 https://bugs.webkit.org/show_bug.cgi?id=167270
3048 <rdar://problem/30128133>
3050 Reviewed by Filip Pizlo.
3052 * stress/array-prototype-concat-of-long-spliced-arrays.js: Added.
3053 * stress/array-prototype-concat-of-long-spliced-arrays2.js: Added.
3055 2017-02-09 Keith Miller <keith_miller@apple.com>
3057 We should not allow Function.caller to be used on native functions
3058 https://bugs.webkit.org/show_bug.cgi?id=165628
3060 Reviewed by Mark Lam.
3062 * stress/caller-native-code.js: Added.
3065 2017-02-04 Yusuke Suzuki <utatane.tea@gmail.com>
3067 [JSC] Add operationToInt32SensibleSlow to optimize kraken pbkdf2 and sha256
3068 https://bugs.webkit.org/show_bug.cgi?id=167736
3070 Reviewed by Saam Barati.
3072 * stress/to-int32-sensible.js: Added.
3077 2017-02-01 Yusuke Suzuki <utatane.tea@gmail.com>
3079 Unreviewed, remove loop
3080 https://bugs.webkit.org/show_bug.cgi?id=167694
3083 Original bug can be tested even without this loop.
3085 * stress/arity-fixup-should-not-touch-stack-area-below-sp.js:
3087 2017-02-01 Yusuke Suzuki <utatane.tea@gmail.com>
3089 ArityFixup should adjust SP first
3090 https://bugs.webkit.org/show_bug.cgi?id=167239
3092 Reviewed by Michael Saboff.
3094 Significantly large arity fixup reliably causes this crash.
3096 * stress/arity-fixup-should-not-touch-stack-area-below-sp.js: Added.
3098 2017-01-31 Filip Pizlo <fpizlo@apple.com>
3100 Move slow-running microbenchmarks out of JSTests/microbenchmarks
3101 https://bugs.webkit.org/show_bug.cgi?id=167676
3103 Reviewed by Saam Barati.
3105 The microbenchmarks directory is profitable when it's cheap to run. This change moves very slow
3106 tests (>=200ms running time on my machine) and puts them in JSTests/slowMicrobenchmarks instead.
3107 That directory is run only through `slow!; defaultQuickRun` and is not run by run-jsc-benchmarks.
3108 This is a big progression in test running time. But because it frontloads more slow tests, the
3109 tests will seem to run more slowly when you first start the test runner.
3111 * microbenchmarks/default-derived-constructor.js: Removed.
3112 * microbenchmarks/dense-set.js: Removed.
3113 * microbenchmarks/ftl-polymorphic-div.js: Removed.
3114 * microbenchmarks/ftl-polymorphic-mul.js: Removed.
3115 * microbenchmarks/function-bind-inlining.js: Removed.
3116 * microbenchmarks/function-bind-no-inlining.js: Removed.
3117 * microbenchmarks/large-map-iteration-with-additions.js: Removed.
3118 * microbenchmarks/large-map-iteration-with-mutation.js: Removed.
3119 * microbenchmarks/map-get-get-cse.js: Removed.
3120 * microbenchmarks/misc-bugs-847389-jpeg2000.js: Removed.
3121 * microbenchmarks/spread-small-array.js: Removed.
3122 * microbenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js: Removed.
3123 * slowMicrobenchmarks: Added.
3124 * slowMicrobenchmarks.yaml: Added.
3125 * slowMicrobenchmarks/README: Added.
3126 * slowMicrobenchmarks/default-derived-constructor.js: Copied from JSTests/microbenchmarks/default-derived-constructor.js.
3127 * slowMicrobenchmarks/dense-set.js: Copied from JSTests/microbenchmarks/dense-set.js.
3128 * slowMicrobenchmarks/ftl-polymorphic-div.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-div.js.
3129 * slowMicrobenchmarks/ftl-polymorphic-mul.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-mul.js.
3130 * slowMicrobenchmarks/function-bind-inlining.js: Copied from JSTests/microbenchmarks/function-bind-inlining.js.
3131 * slowMicrobenchmarks/function-bind-no-inlining.js: Copied from JSTests/microbenchmarks/function-bind-no-inlining.js.
3132 * slowMicrobenchmarks/large-map-iteration-with-additions.js: Copied from JSTests/microbenchmarks/large-map-iteration-with-additions.js.
3133 * slowMicrobenchmarks/large-map-iteration-with-mutation.js: Copied from JSTests/microbenchmarks/large-map-iteration-with-mutation.js.
3134 * slowMicrobenchmarks/map-get-get-cse.js: Copied from JSTests/microbenchmarks/map-get-get-cse.js.
3135 * slowMicrobenchmarks/misc-bugs-847389-jpeg2000.js: Copied from JSTests/microbenchmarks/misc-bugs-847389-jpeg2000.js.
3136 * slowMicrobenchmarks/spread-small-array.js: Copied from JSTests/microbenchmarks/spread-small-array.js.
3137 * slowMicrobenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js: Copied from JSTests/microbenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js.
3139 2017-01-30 Yusuke Suzuki <utatane.tea@gmail.com>
3141 [JSC] Do not reject WebAssembly.compile() with Exception
3142 https://bugs.webkit.org/show_bug.cgi?id=167585
3144 Reviewed by Mark Lam.
3146 * wasm/js-api/Module-compile.js:
3147 (async.testPromiseAPI):
3149 2017-01-27 Yusuke Suzuki <utatane.tea@gmail.com>
3151 Lift template escape sequence restrictions in tagged templates
3152 https://bugs.webkit.org/show_bug.cgi?id=166871
3154 Reviewed by Saam Barati.
3156 Update the error messages and add new tests.
3158 * ChakraCore/test/es6/unicode_6_identifier_Blue524737.baseline-jsc:
3159 * stress/lift-template-literal.js: Added.
3161 (testTag.return.tag):
3163 * stress/template-literal-syntax.js:
3165 2017-01-26 Mark Lam <mark.lam@apple.com>
3167 Fix missing exception check in genericTypedArrayViewProtoFuncSet().
3168 https://bugs.webkit.org/show_bug.cgi?id=166812
3169 <rdar://problem/29916672>
3171 Reviewed by Saam Barati.
3173 * stress/regress-166812.js: Added.
3175 2017-01-26 Commit Queue <commit-queue@webkit.org>
3177 Unreviewed, rolling out r211224.
3178 https://bugs.webkit.org/show_bug.cgi?id=167479
3180 "It was a Kraken performance regression" (Requested by
3181 saamyjoon on #webkit).
3185 "OSR entry: delay outer-loop compilation when at inner-loop"
3186 https://bugs.webkit.org/show_bug.cgi?id=167149
3187 http://trac.webkit.org/changeset/211224
3189 2017-01-26 JF Bastien <jfbastien@apple.com>
3191 OSR entry: delay outer-loop compilation when at inner-loop
3192 https://bugs.webkit.org/show_bug.cgi?id=167149
3194 Reviewed by Filip Pizlo.
3196 Try to be mean to OSR entry by using nested loops, and having
3197 non-int32 types or truly varying types.
3199 Mandelbrot currently never tiers up to FTL because it exits too
3200 many times before this. That shouldn't happen because it's just
3201 numbers and int32s. I'll file a bug to fix this.
3203 * microbenchmarks/mandelbrot.js: Added.
3206 * microbenchmarks/nonude.js: Added.
3207 (Array.prototype.remove):
3213 2017-01-25 Saam Barati <sbarati@apple.com>
3215 WebAssembly JS API: coerce return values from imports
3216 https://bugs.webkit.org/show_bug.cgi?id=165480
3217 <rdar://problem/29760318>
3219 Reviewed by Yusuke Suzuki.
3221 * wasm/function-tests/function-import-return-value.js: Added.
3222 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.tests.x.assert.eq):
3223 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.tests.Math.fround):
3224 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.let.type.of.Reflect.ownKeys):
3229 2017-01-25 Filip Pizlo <fpizlo@apple.com>
3231 jsc.cpp should have the $.agent stuff for testing SAB
3232 https://bugs.webkit.org/show_bug.cgi?id=167431
3234 Reviewed by Saam Barati.
3236 Add a very basic test of Atomics using $.agent. This is based on
3237 LayoutTests/workers/sab/simple.html.
3239 * stress/lars-sab-workers.js: Added.
3245 2017-01-24 Filip Pizlo <fpizlo@apple.com>
3247 Atomics.store should return the int-converted value according to toInteger
3248 https://bugs.webkit.org/show_bug.cgi?id=167399
3250 Reviewed by Saam Barati.
3252 * stress/atomics-add-uint32.js: Added.
3253 * stress/atomics-store-return.js: Fix the test to match what the spec wants.
3255 2017-01-24 Yusuke Suzuki <utatane.tea@gmail.com>
3257 [JSC] Optimize Number#toString with Int52
3258 https://bugs.webkit.org/show_bug.cgi?id=167303
3260 Reviewed by Sam Weinig.
3262 * stress/to-string-with-int52.js: Added.
3265 2017-01-24 Filip Pizlo <fpizlo@apple.com>
3267 Atomics.store should return the int-converted value, not the value that it stored
3268 https://bugs.webkit.org/show_bug.cgi?id=167395
3270 Reviewed by Saam Barati.
3272 * stress/atomics-store-return.js: Added.
3274 2017-01-24 Filip Pizlo <fpizlo@apple.com>
3276 -0 is a valid array index and AtomicsObject should know this
3277 https://bugs.webkit.org/show_bug.cgi?id=167386
3279 Reviewed by Mark Lam.
3281 * stress/atomics-neg-zero.js: Added.
3283 2017-01-23 Saam Barati <sbarati@apple.com>
3285 https://bugs.webkit.org/show_bug.cgi?id=167247
3286 JSC: operationSpreadGeneric uses the wrong global object for the builtin function and slow_path_spread consults the wrong global object to prove if the iterator protocol is unobservable
3287 <rdar://problem/30121809>
3289 Reviewed by Filip Pizlo.
3291 * stress/spread-consults-correct-global-object.js: Added.
3294 * stress/spread-correct-global-object-on-exception.js: Added.
3297 (const.objectText.let.o.Symbol.iterator):
3300 2017-01-21 Yusuke Suzuki <utatane.tea@gmail.com>
3302 dynamic import is ambiguous with import declaration at module code
3303 https://bugs.webkit.org/show_bug.cgi?id=167098
3305 Reviewed by Darin Adler.
3307 * modules/import-call.js: Added.
3308 (from.string_appeared_here.import.string_appeared_here.then):
3309 * modules/import-call/main.js: Added.
3310 * stress/import-syntax.js:
3313 2017-01-19 Skachkov Oleksandr <gskachkov@gmail.com>
3315 "this" missing after await in async arrow function
3316 https://bugs.webkit.org/show_bug.cgi?id=166919
3318 Reviewed by Saam Barati.
3320 * stress/async-arrow-functions-lexical-binding-in-class.js:
3321 (ChildClass.prototype.asyncThisPropWithAwaitBody):
3322 (ChildClass.prototype.asyncThisPropInEvalWithAwaitBody):
3323 (ChildClass.prototype.asyncThisValueBodyWithAwait):
3324 (ChildClass.prototype.asyncThisValueInEvalWithAwaitBody):
3327 (ChildClass3.prototype.classValue):
3328 (ChildClass3.prototype.get classProperty):
3329 * stress/async-arrow-functions-lexical-new.target-binding.js:
3332 2017-01-16 Filip Pizlo <fpizlo@apple.com>
3334 Make opaque root scanning truly constraint-based
3335 https://bugs.webkit.org/show_bug.cgi?id=165760
3337 Reviewed by Geoffrey Garen.
3339 Added this test, which demonstrates the benefit of having a dedicated string subspace.
3341 * microbenchmarks/stringalloc.js: Added.
3343 2017-01-17 Michael Saboff <msaboff@apple.com>
3345 Nested parenthesized regular expressions with non-zero minimum counts appear to hang and use lots of memory
3346 https://bugs.webkit.org/show_bug.cgi?id=167125
3348 Reviewed by Filip Pizlo.
3350 * microbenchmarks/regexp-nested-nonzero-min-counted-parens.js: Added.
3351 New test with limits that run slow and take a reasonable amount of memory
3352 before the change and run fast, using little memory with the change.
3354 2017-01-14 Yusuke Suzuki <utatane.tea@gmail.com>
3356 Annotate large string tests with largeHeap
3357 https://bugs.webkit.org/show_bug.cgi?id=167054
3359 Reviewed by Filip Pizlo.
3361 * microbenchmarks/dense-set.js:
3362 * microbenchmarks/lots-of-fields.js:
3363 * stress/joined-strings-should-not-exceed-max-string-length.js:
3364 * stress/make-large-string-jit-strcat.js:
3365 * stress/make-large-string-jit.js:
3366 * stress/make-large-string-strcat.js:
3367 * stress/make-large-string.js:
3368 * stress/string-joining-long-strings-should-not-crash.js:
3369 * stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js:
3371 2017-01-14 Yusuke Suzuki <utatane.tea@gmail.com>
3373 Reserve capacity for StringBuilder in unescape
3374 https://bugs.webkit.org/show_bug.cgi?id=167008
3376 Reviewed by Sam Weinig.
3378 * stress/unescape.js: Added.
3381 2017-01-12 Saam Barati <sbarati@apple.com>
3383 Add a slice intrinsic to the DFG/FTL
3384 https://bugs.webkit.org/show_bug.cgi?id=166707
3385 <rdar://problem/29913445>
3387 Reviewed by Filip Pizlo.
3389 * stress/array-slice-intrinsic.js: Added.
3394 * stress/array-slice-jettison-on-constructor-change.js: Added.
3398 (addRandomProperties):
3400 * stress/array-slice-osr-exit-2.js: Added.
3406 (addRandomProperties):
3408 * stress/array-slice-osr-exit.js: Added.
3414 (addRandomProperties):
3417 2017-01-11 Ryan Haddad <ryanhaddad@apple.com>
3419 Mark es6/typed_arrays_correct_prototype_chains.js as failing after r210570.
3420 https://bugs.webkit.org/show_bug.cgi?id=166931i
3422 Unreviewed test gardening.
3426 2017-01-10 Commit Queue <commit-queue@webkit.org>
3428 Unreviewed, rolling out r210052.
3429 https://bugs.webkit.org/show_bug.cgi?id=166915
3431 "breaks web compatability" (Requested by keith_miller on
3436 "Add support for global"
3437 https://bugs.webkit.org/show_bug.cgi?id=165171
3438 http://trac.webkit.org/changeset/210052
3440 2017-01-10 Mark Lam <mark.lam@apple.com>
3442 Property setters should not be called for bound arguments list entries.
3443 https://bugs.webkit.org/show_bug.cgi?id=165631
3445 Reviewed by Filip Pizlo.
3447 * stress/property-setters-should-not-be-called-for-bound-arguments-list-entries.js: Added.
3449 2017-01-10 Skachkov Oleksandr <gskachkov@gmail.com>
3451 Calling async arrow function which is in a class's member function will cause error
3452 https://bugs.webkit.org/show_bug.cgi?id=166879
3454 Reviewed by Saam Barati.
3456 * stress/async-arrow-functions-lexical-binding-in-class.js: Added.
3459 (BaseClass.prototype.baseClassValue):
3460 (BaseClass.prototype.get property):
3463 (ChildClass.prototype.classValue):
3464 (ChildClass.prototype.get classProperty):
3465 (ChildClass.prototype.asyncValueExp):
3466 (ChildClass.prototype.asyncValueBody):
3467 (ChildClass.prototype.asyncThisPropExp):
3468 (ChildClass.prototype.asyncThisPropBody):
3469 (ChildClass.prototype.asyncThisPropInEvalExp):
3470 (ChildClass.prototype.asyncThisPropInEvalBody):
3471 (ChildClass.prototype.asyncThisValueExp):
3472 (ChildClass.prototype.asyncThisValueBody):
3473 (ChildClass.prototype.asyncThisValueInEvalExp):
3474 (ChildClass.prototype.asyncThisValueInEvalBody):
3477 (ChildClass2.prototype.classValue):
3478 (ChildClass2.prototype.get classProperty):
3479 * stress/async-arrow-functions-lexical-super-binding.js:
3481 2017-01-09 Yusuke Suzuki <utatane.tea@gmail.com>
3483 [JSC] Prototype dynamic-import
3484 https://bugs.webkit.org/show_bug.cgi?id=165724
3486 Reviewed by Saam Barati.
3488 * stress/import-basic.js: Added.
3492 * stress/import-from-eval.js: Added.
3495 * stress/import-syntax.js: Added.
3497 * stress/import-tests/cocoa.js: Added.
3500 * stress/import-tests/multiple.js: Added.
3502 * stress/import-tests/multiple2.js: Added.
3504 * stress/import-tests/should.js: Added.
3506 (export.shouldThrow):
3507 * stress/modules-syntax-error.js:
3509 2017-01-09 Commit Queue <commit-queue@webkit.org>
3511 Unreviewed, rolling out r210476.
3512 https://bugs.webkit.org/show_bug.cgi?id=166859
3514 "4% JSBench regression" (Requested by keith_mi_ on #webkit).
3518 "Add a slice intrinsic to the DFG/FTL"
3519 https://bugs.webkit.org/show_bug.cgi?id=166707
3520 http://trac.webkit.org/changeset/210476
3522 2017-01-06 Saam Barati <sbarati@apple.com>
3524 Add a slice intrinsic to the DFG/FTL
3525 https://bugs.webkit.org/show_bug.cgi?id=166707
3527 Reviewed by Filip Pizlo.
3529 * stress/array-slice-intrinsic.js: Added.
3534 * stress/array-slice-jettison-on-constructor-change.js: Added.
3538 (addRandomProperties):
3540 * stress/array-slice-osr-exit-2.js: Added.
3546 (addRandomProperties):
3548 * stress/array-slice-osr-exit.js: Added.
3554 (addRandomProperties):
3557 2017-01-06 Michael Saboff <msaboff@apple.com>
3559 @putByValDirect in Array.of and Array.from overwrites non-writable/configurable properties
3560 https://bugs.webkit.org/show_bug.cgi?id=153486
3562 Reviewed by Saam Barati.
3564 New regression test.
3566 * stress/regress-153486.js: Added.
3568 (makeUnwriteableUnconfigurableObject):
3573 2016-12-30 Filip Pizlo <fpizlo@apple.com>
3575 DeferGC::~DeferGC should be super cheap
3576 https://bugs.webkit.org/show_bug.cgi?id=166626
3578 Reviewed by Saam Barati.
3580 * stress/slow-path-generator-updating-current-node-dfg.js:
3581 * stress/unshift-array-storage.js:
3583 2017-01-04 JF Bastien <jfbastien@apple.com>
3585 WebAssembly: sections with the same name are allowed
3586 https://bugs.webkit.org/show_bug.cgi?id=166708
3588 Reviewed by Saam Barati.
3590 * wasm/self-test/test_BuilderJSON.js:
3591 (SectionsWithSameCustomName):
3593 2017-01-04 Saam Barati <sbarati@apple.com>
3595 stress/spread-calling.js timing out on the bots
3596 https://bugs.webkit.org/show_bug.cgi?id=166689
3597 <rdar://problem/29779182>
3599 Reviewed by Mark Lam.
3601 * stress/spread-calling.js:
3603 2017-01-04 JF Bastien <jfbastien@apple.com>
3605 WebAssembly JS API: add Module.sections
3606 https://bugs.webkit.org/show_bug.cgi?id=165159
3607 <rdar://problem/29760326>
3609 Reviewed by Mark Lam.
3611 As described here: https://github.com/WebAssembly/design/blob/master/JS.md#webassemblymodulecustomsections
3613 * wasm/Builder.js: allow custom sections to be duplicated
3614 * wasm/js-api/Module.customSection.js: Added.
3615 (assert.throws.WebAssembly.Module.prototype.customSections):
3618 2017-01-04 Saam Barati <sbarati@apple.com>
3620 We don't properly handle exceptions inside the nativeCallTrampoline macro in the LLInt
3621 https://bugs.webkit.org/show_bug.cgi?id=163720
3623 Reviewed by Mark Lam.
3625 * stress/bound-function-tail-call-with-exception.js: Added.
3630 2017-01-03 JF Bastien <jfbastien@apple.com>
3632 WebAssembly JS API: check and test in-call / out-call values
3633 https://bugs.webkit.org/show_bug.cgi?id=164876
3634 <rdar://problem/29844107>
3636 Reviewed by Saam Barati.
3639 * wasm/assert.js: add an assert for NaN comparison
3640 * wasm/fuzz/export-function.js: Added. Generate random wasm export
3641 signatures, and call them with random parameters.
3642 (const.paramExporter):
3644 (const.types.generate):
3646 * wasm/js-api/export-arity.js: Added.
3647 (const.paramExporter): Test that mismatched arities when JS calls
3648 wasm follow the defined semantics: i32 is 0, f32 / f64 are NaN.
3649 https://github.com/WebAssembly/design/blob/master/JS.md#exported-function-exotic-objects
3650 * wasm/js-api/export-void-is-undef.js: Added. Test that "void"
3651 wasm functions return "undefined" in JS.
3653 2017-01-02 JF Bastien <jfbastien@apple.com>
3655 WebAssembly: handle and optimize wasm export → wasm import calls
3656 https://bugs.webkit.org/show_bug.cgi?id=165282
3658 Reviewed by Saam Barati.
3660 * wasm/Builder.js: Add a Proxy to Builder.js, which intercepts
3661 unknown property lookups. This creates way better error messages
3662 on typos than 'undefined is not a function', which happens
3663 semi-frequently as I typo opcode names (and which one is a typo is
3664 hard to find because we chain builders).
3665 (const._isValidValue):
3667 (const._importFunctionContinuation):
3668 (const._importMemoryContinuation):
3669 (const._importTableContinuation):
3670 (const._exportFunctionContinuation):
3671 (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
3672 (export.default.Builder.prototype._registerSectionBuilders.this.Unknown):
3673 * wasm/LowLevelBinary.js: Add limited support for var{u}int64 (only the 32-bit values)
3674 (export.default.LowLevelBinary.prototype.varint32):
3675 (export.default.LowLevelBinary.prototype.varuint64):
3676 (export.default.LowLevelBinary.prototype.varint64):
3677 * wasm/function-tests/exceptions.js: update error message
3678 * wasm/function-tests/trap-load.js: update error message
3679 * wasm/function-tests/trap-store.js: update error message
3680 * wasm/js-api/wasm-to-wasm-bad-signature.js: Added. Test a bunch of bad wasm->wasm import signatures
3681 (const.makeImportee.signature.switch):
3682 (BadSignatureDropStartParams):
3683 * wasm/js-api/wasm-to-wasm.js: Added. Test 64-bit wasm->wasm import calls
3684 (const.callerModule):
3685 (const.calleeModule):
3688 2017-01-02 Saam Barati <sbarati@apple.com>
3690 WebAssembly: Some loads don't take into account the offset
3691 https://bugs.webkit.org/show_bug.cgi?id=166616
3692 <rdar://problem/29841541>
3694 Reviewed by Keith Miller.
3696 * wasm/function-tests/load-offset.js: Added.
3698 2016-12-29 Saam Barati <sbarati@apple.com>
3700 WebAssembly: Rebase spec-tests now that wabt has been updated to produce certain kinds of invalid modules
3701 https://bugs.webkit.org/show_bug.cgi?id=166491
3702 <rdar://problem/29814999>
3704 Reviewed by Yusuke Suzuki.
3706 Based off these revisions:
3707 - spec: b055d01ea1dfdd7a5231ae779095435f836de97f
3708 - wabt: d0d44702c753f851b094615298a2f4d4e3c21035
3710 The reason for the rebase is that wabt was updated to stop
3711 silently rejecting invalid modules. This was needed because
3712 some of the spec tests check to make sure that the module
3713 is invalid, but wabt was silently ignoring the errors and
3714 generating valid modules:
3715 https://github.com/WebAssembly/wabt/issues/256
3718 * wasm/spec-tests/address.wast.js:
3719 * wasm/spec-tests/binary.wast.js:
3720 * wasm/spec-tests/block.wast.js:
3721 * wasm/spec-tests/br.wast.js:
3722 * wasm/spec-tests/br_if.wast.js:
3723 * wasm/spec-tests/br_table.wast.js:
3724 * wasm/spec-tests/break-drop.wast.js:
3725 * wasm/spec-tests/call.wast.js:
3726 * wasm/spec-tests/call_indirect.wast.js:
3727 * wasm/spec-tests/comments.wast.js:
3728 * wasm/spec-tests/conversions.wast.js:
3729 * wasm/spec-tests/custom_section.wast.js:
3730 * wasm/spec-tests/endianness.wast.js:
3731 * wasm/spec-tests/exports.wast.js:
3732 * wasm/spec-tests/f32.wast.js: