1 2017-04-18 Yusuke Suzuki <utatane.tea@gmail.com>
3 [DFG] Drop unknown use of CheckCell's child2 to work ObjectAllocationSinking for Array iterator object
4 https://bugs.webkit.org/show_bug.cgi?id=170940
6 Reviewed by Filip Pizlo.
8 * microbenchmarks/for-of-array.js: Added.
11 2017-04-17 Saam Barati <sbarati@apple.com>
13 BytecodeGenerator ".call" and ".apply" is exponential in nesting depth
14 https://bugs.webkit.org/show_bug.cgi?id=139847
15 <rdar://problem/19321122>
17 Reviewed by Oliver Hunt.
19 * stress/call-apply-exponential-bytecode-size.js: Added.
30 2017-04-17 Mark Lam <mark.lam@apple.com>
32 JSArray::appendMemcpy() needs to handle copying from Undecided indexing type too.
33 https://bugs.webkit.org/show_bug.cgi?id=170896
34 <rdar://problem/31651319>
36 Reviewed by JF Bastien and Keith Miller.
38 * stress/regress-170896.js: Added.
40 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
42 test262: test262/test/built-ins/Object/prototype/toLocaleString/primitive_this_value.js
43 https://bugs.webkit.org/show_bug.cgi?id=170882
45 Reviewed by Saam Barati.
49 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
51 test262: test262/test/built-ins/isNaN/toprimitive-not-callable-throws.js
52 https://bugs.webkit.org/show_bug.cgi?id=170888
54 Reviewed by Saam Barati.
56 * stress/computed-accessor.js:
57 * stress/eval-in-arrow-function.js:
58 * stress/rest-elements.js:
59 * stress/string-object-define-own-property.js:
60 Remove unused shouldThrow.
62 * stress/symbol-toprimitive-errors.js: Added.
63 Check for ToPrimitive TypeErrors.
67 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
69 test262: test262/test/language/expressions/tagged-template/template-object.js
70 https://bugs.webkit.org/show_bug.cgi?id=170878
72 Reviewed by Saam Barati.
74 * stress/array-length-not-writable.js: Added.
78 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
80 test262: test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js
81 https://bugs.webkit.org/show_bug.cgi?id=170879
83 Reviewed by Saam Barati.
85 * ChakraCore/test/es5/enumerable.baseline-jsc:
88 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
90 test262: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/name.js
91 https://bugs.webkit.org/show_bug.cgi?id=170884
93 Reviewed by Yusuke Suzuki.
97 2017-04-15 Joseph Pecoraro <pecoraro@apple.com>
99 test262: test262/test/language/global-code/new.target-arrow.js
100 https://bugs.webkit.org/show_bug.cgi?id=170872
102 Reviewed by Saam Barati.
104 * stress/async-arrow-functions-lexical-new.target-binding.js:
105 (shouldThrowAsync): Deleted.
106 (shouldThrowAsync.async): Deleted.
107 This code should have thrown a SyntaxError. Instead it was throwing
108 a ReferenceError for the internal @newTargetLocal variable.
110 * stress/new-target-syntax-errors.js:
111 Cover the arrow function in global code cases.
114 * ChakraCore/test/es6/globalLambdaNewTargetSyntaxError.baseline-jsc:
115 We now pass with an expected SyntaxError. Our error message is different.
119 2017-04-14 Saam Barati <sbarati@apple.com>
121 ParseInt intrinsic in DFG backend doesn't properly flush its operands
122 https://bugs.webkit.org/show_bug.cgi?id=170865
124 Reviewed by Mark Lam and Geoffrey Garen.
126 * stress/parse-int-intrinsic-dfg-backend-flush.js: Added.
130 2017-04-14 Caitlin Potter <caitp@igalia.com>
132 [JSC] use ExpressionErrorClassifier for AwaitExpression operand
133 https://bugs.webkit.org/show_bug.cgi?id=170844
135 Reviewed by Saam Barati.
137 * stress/regress-170732.js: Added.
139 2017-04-14 Oleksandr Skachkov <gskachkov@gmail.com>
141 Safari 10.1 JSON.parse returns incorrect object for numeric keys with decimal values
142 https://bugs.webkit.org/show_bug.cgi?id=170442
144 Reviewed by Yusuke Suzuki.
146 * stress/object-number-properties.js:
148 2017-04-13 Yusuke Suzuki <utatane.tea@gmail.com>
150 [JSC] Date.parse should accept wider range of representation
151 https://bugs.webkit.org/show_bug.cgi?id=170720
153 Reviewed by Darin Adler.
155 * stress/date-relaxed.js: Added.
159 2017-04-13 Mark Lam <mark.lam@apple.com>
161 Should use flushDirect() when flushing the scopeRegister due to needsScopeRegister().
162 https://bugs.webkit.org/show_bug.cgi?id=170661
163 <rdar://problem/31579046>
165 Reviewed by Filip Pizlo.
167 * stress/regress-170661.js: Added.
169 2017-04-13 JF Bastien <jfbastien@apple.com>
171 WebAssembly: manage memory better
172 https://bugs.webkit.org/show_bug.cgi?id=170628
174 Reviewed by Keith Miller, Michael Saboff.
176 * wasm/Builder.js: move a helper out so tests can use it
177 (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
178 * wasm/WASM.js: add utilities to classify opcodes
180 (export.const.memoryAccessInfo.op.const.sign):
181 * wasm/function-tests/memory-access-past-4gib.js: Added. This test
182 fails before this patch.
183 (const.op.of.WASM.opcodes):
184 * wasm/function-tests/memory-many.js: Added. This simple tests
185 just shouldn't crash. In verbose mode it's useful at determining
186 if the GC falls behind or not.
187 * wasm/function-tests/memory-multiagent.js: Added. Emulate postMessage.
188 (const.startAgents.numAgentsToStart.a.agent.receiveBroadcast):
189 (const.startAgents.numAgentsToStart.a.write.const.idx.Math.random):
190 (const.broadcastToAgents):
191 * wasm/js-api/extension-MemoryMode.js: verbose logging.
194 (testInstanceNoMemory):
197 * wasm/utilities.js: move a utility here.
199 2017-04-12 Joseph Pecoraro <pecoraro@apple.com>
201 test262: test262/test/built-ins/NativeErrors/EvalError/proto.js
202 https://bugs.webkit.org/show_bug.cgi?id=170668
204 Reviewed by Keith Miller.
207 * ChakraCore/test/Lib/error.baseline-jsc: Added.
208 This test does not match the spec.
212 2017-04-12 Joseph Pecoraro <pecoraro@apple.com>
214 test262: test262/test/language/literals/regexp/u-dec-esc.js
215 https://bugs.webkit.org/show_bug.cgi?id=170687
217 Reviewed by Michael Saboff.
221 2017-04-11 Michael Saboff <msaboff@apple.com>
223 Implement Object.isFrozen() and Object.isSealed() per ECMA spec
224 https://bugs.webkit.org/show_bug.cgi?id=170753
226 Reviewed by Mark Lam.
228 Added JSC baseline and enabled defineIndexProperty test.
230 Note that JSC differs from Chakra in that a JSC doesn't use indexed
231 properties placed on the Array prototype when sorting the indexed
232 properties of an Object. This is behavior is considered undefined
236 * ChakraCore/test/es5/defineIndexProperty.baseline-jsc: Added.
238 2017-04-11 Joseph Pecoraro <pecoraro@apple.com>
240 test262: test262/test/annexB/language/comments/multi-line-html-close.js
241 https://bugs.webkit.org/show_bug.cgi?id=170648
243 Reviewed by Keith Miller.
247 2017-04-11 Joseph Pecoraro <pecoraro@apple.com>
249 test262: test262/test/built-ins/Array/S15.4.3_A2.2.js
250 https://bugs.webkit.org/show_bug.cgi?id=170652
252 Reviewed by Michael Saboff.
254 * stress/native-constructors-length.js: Added.
255 (assertLengthDescriptorAttributes):
256 Add a quick test for the length properties of all native constructors.
258 * ChakraCore/test/es5/enumerable.baseline-jsc:
259 Rebaseline expectations for this test.
263 2017-04-10 Keith Miller <keith_miller@apple.com>
265 WebAssembly: Update spec tests
266 https://bugs.webkit.org/show_bug.cgi?id=170683
268 Rubber-stamped by JF Bastien.
271 * wasm/spec-tests/br_table.wast.js:
272 * wasm/spec-tests/conversions.wast.js: Removed.
273 * wasm/spec-tests/f32_bitwise.wast.js: Added.
274 * wasm/spec-tests/f32_cmp.wast.js:
275 * wasm/spec-tests/f64_bitwise.wast.js: Added.
276 * wasm/spec-tests/f64_cmp.wast.js:
277 * wasm/spec-tests/i32.wast.js:
278 * wasm/spec-tests/i64.wast.js:
279 * wasm/spec-tests/int_exprs.wast.js:
280 * wasm/spec-tests/memory.wast.js:
282 2017-04-09 Joseph Pecoraro <pecoraro@apple.com>
284 test262: test262/test/annexB/language/expressions/object/__proto__-fn-name.js
285 https://bugs.webkit.org/show_bug.cgi?id=170650
287 Reviewed by Saam Barati.
289 * stress/inferred-names.js:
292 2017-04-09 Joseph Pecoraro <pecoraro@apple.com>
294 test262: test262/test/annexB/language/literals/regexp/identity-escape.js
295 https://bugs.webkit.org/show_bug.cgi?id=170651
297 Reviewed by Saam Barati.
301 2017-04-07 Michael Saboff <msaboff@apple.com>
303 Fix and enable ChakraCore/test/es6/ES6Function_bugs.js after r215072
304 https://bugs.webkit.org/show_bug.cgi?id=170580
306 Reviewed by JF Bastien.
308 Commented out subtest that expects defineProperty("length") to a getter on a
309 sealed function shouldn't throw.
312 * ChakraCore/test/es6/ES6Function_bugs.js:
314 2017-04-06 Michael Saboff <msaboff@apple.com>
316 Cannot Object.seal() or Object.freeze() global "this"
317 https://bugs.webkit.org/show_bug.cgi?id=170549
319 Reviewed by Mark Lam.
321 Enabled failing tests fixed by the corresponding code change:
322 ChakraCore/test/LetConst/delete.js
323 ChakraCore/test/LetConst/dop.js
324 ChakraCore/test/LetConst/dop1.js
327 * ChakraCore/test/LetConst/dop.baseline-jsc: Added JSC specific expected output.
328 * ChakraCore/test/LetConst/dop1.baseline-jsc: Added JSC specific expected output.
330 2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
332 test262: ES2017 test progressions need updated expectations (arguments.caller removed)
333 https://bugs.webkit.org/show_bug.cgi?id=170536
335 Reviewed by Mark Lam.
338 After r208867 the tests are out of date and are now expected to fail.
340 2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
342 test262: Final rebaseline of existing tests, a few tests have started failing
343 https://bugs.webkit.org/show_bug.cgi?id=170538
345 Reviewed by Mark Lam.
348 These tests started failing a while ago. Mark them as legitmate failures.
350 2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
352 test262: Rebaseline expectations for now passing tests
353 https://bugs.webkit.org/show_bug.cgi?id=170532
355 Reviewed by Ryosuke Niwa.
358 Update expectations for tests we are now passing.
360 2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
362 test262: module test progressions need updated expectations (@@iterator changes)
363 https://bugs.webkit.org/show_bug.cgi?id=170535
365 Reviewed by Saam Barati.
368 After r212430 the tests are out of date and are now expected to fail.
370 2017-04-05 Michael Saboff <msaboff@apple.com>
372 Unreviewed rollout of r214642 as the test still intermittently fails.
374 Disabled ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js.
378 2017-04-05 Michael Saboff <msaboff@apple.com>
380 REGRESSION (Safari 10.1): Inserting elements into arrays fails when array contains very large numbers
381 https://bugs.webkit.org/show_bug.cgi?id=170264
382 <rdar://problem/31375593>
384 Rubber-stamped by Saam Barati.
386 The original bug was fixed in: https://trac.webkit.org/changeset/214714
387 I'm just adding another test for good measure.
389 * stress/double-array-to-array-storage.js: Added.
392 2017-04-05 Keith Miller <keith_miller@apple.com>
394 WebAssembly: We shouldn't need to pin size registers if we have a fast memory.
395 https://bugs.webkit.org/show_bug.cgi?id=170504
397 Reviewed by Mark Lam.
399 * wasm/function-tests/trap-after-cross-instance-call.js: Added.
400 (b.new.WebAssembly.Memory):
401 (importObject.foo.bar):
402 (wasmFrameCountFromError):
404 2017-03-16 Yusuke Suzuki <utatane.tea@gmail.com>
406 [JSC] Generate TemplateObjects at linking time
407 https://bugs.webkit.org/show_bug.cgi?id=169743
409 Reviewed by Keith Miller.
411 * stress/template-string-tags-eval.js: Added.
415 2017-04-04 Mark Lam <mark.lam@apple.com>
417 On ARM64, DFG::SpeculativeJIT::compileArithMod() failed to ensure result is of DataFormatInt32.
418 https://bugs.webkit.org/show_bug.cgi?id=170473
419 <rdar://problem/29912391>
421 Reviewed by Saam Barati.
423 * stress/regress-170473.js: Added.
425 2017-04-03 Mark Lam <mark.lam@apple.com>
427 Fix incorrect capacity delta calculation reported in SparseArrayValueMap::add().
428 https://bugs.webkit.org/show_bug.cgi?id=170412
429 <rdar://problem/29697336>
431 Reviewed by Filip Pizlo.
433 * stress/regress-170412.js: Added.
435 2017-04-03 Keith Miller <keith_miller@apple.com>
437 WebAssembly: Update spec tests
438 https://bugs.webkit.org/show_bug.cgi?id=170361
440 Rubber-stamped by Saam Barati.
442 Update the spec tests to run tests generated by the newer spec
443 test builder wasm-spec/test/builder.py. This patch also adds the
444 necessary harness code in spec-harness.js so we can run the tests.
447 * wasm/import-spec-tests.rb:
448 * wasm/spec-harness.js: Added.
449 (import.string_appeared_here.then):
452 (let.assert_unreached):
453 * wasm/spec-harness/index.js: Added.
459 (Result.prototype.isError):
464 (assert_soft_invalid):
471 (assert_uninstantiable):
478 * wasm/spec-harness/testharness.css: Added.
484 (table#results th:first-child,):
485 (table#results th:last-child,):
486 (table#results.assertions th:last-child,):
489 (tr.pass > td:first-child):
490 (tr.fail > td:first-child):
491 (tr.timeout > td:first-child):
492 (tr.notrun > td:first-child):
493 (.pass > td:first-child, .fail > td:first-child, .timeout > td:first-child, .notrun > td:first-child):
494 (table#results span):
495 (table#results span.expected):
496 (table#results span.actual):
500 (span.ok, span.timeout, span.error):
501 * wasm/spec-harness/testharness.js: Added.
502 (WindowTestEnvironment):
503 (WindowTestEnvironment.prototype._dispatch):
504 (WindowTestEnvironment.prototype._forEach_windows):
505 (WindowTestEnvironment.prototype.on_tests_ready):
506 (WindowTestEnvironment.prototype.setup_messages):
507 (WindowTestEnvironment.prototype.next_default_test_name):
508 (WindowTestEnvironment.prototype.on_new_harness_properties):
509 (WindowTestEnvironment.prototype.add_on_loaded_callback):
510 (WindowTestEnvironment.prototype.test_timeout):
511 (WindowTestEnvironment.prototype.global_scope):
512 (WorkerTestEnvironment):
513 (WorkerTestEnvironment.prototype._dispatch):
514 (WorkerTestEnvironment.prototype._add_message_port):
515 (WorkerTestEnvironment.prototype.next_default_test_name):
516 (WorkerTestEnvironment.prototype.on_new_harness_properties):
517 (WorkerTestEnvironment.prototype.on_tests_ready):
518 (WorkerTestEnvironment.prototype.add_on_loaded_callback):
519 (WorkerTestEnvironment.prototype.test_timeout):
520 (WorkerTestEnvironment.prototype.global_scope):
521 (DedicatedWorkerTestEnvironment):
522 (DedicatedWorkerTestEnvironment.prototype.on_tests_ready):
523 (SharedWorkerTestEnvironment):
524 (SharedWorkerTestEnvironment.prototype.on_tests_ready):
525 (ServiceWorkerTestEnvironment):
526 (ServiceWorkerTestEnvironment.prototype.add_on_loaded_callback):
527 (create_test_environment):
542 * wasm/spec-harness/testharnessreport.js: Added.
543 * wasm/spec-harness/wasm-constants.js: Added.
554 * wasm/spec-harness/wasm-module-builder.js: Added.
555 (Binary.prototype.emit_u8):
556 (Binary.prototype.emit_u16):
557 (Binary.prototype.emit_u32):
558 (Binary.prototype.emit_u32v):
559 (Binary.prototype.emit_bytes):
560 (Binary.prototype.emit_string):
561 (Binary.prototype.emit_header):
562 (Binary.prototype.emit_section):
564 (WasmFunctionBuilder):
565 (WasmFunctionBuilder.prototype.exportAs):
566 (WasmFunctionBuilder.prototype.exportFunc):
567 (WasmFunctionBuilder.prototype.addBody):
568 (WasmFunctionBuilder.prototype.addLocals):
569 (WasmFunctionBuilder.prototype.end):
571 (WasmGlobalBuilder.prototype.exportAs):
573 (WasmModuleBuilder.prototype.addStart):
574 (WasmModuleBuilder.prototype.addMemory):
575 (WasmModuleBuilder.prototype.addExplicitSection):
576 (WasmModuleBuilder.prototype.addType):
577 (WasmModuleBuilder.prototype.addGlobal):
578 (WasmModuleBuilder.prototype.addFunction):
579 (WasmModuleBuilder.prototype.addImport):
580 (WasmModuleBuilder.prototype.addImportedGlobal):
581 (WasmModuleBuilder.prototype.addImportedMemory):
582 (WasmModuleBuilder.prototype.addImportedTable):
583 (WasmModuleBuilder.prototype.addExport):
584 (WasmModuleBuilder.prototype.addExportOfKind):
585 (WasmModuleBuilder.prototype.addDataSegment):
586 (WasmModuleBuilder.prototype.exportMemoryAs):
587 (WasmModuleBuilder.prototype.addFunctionTableInit):
588 (WasmModuleBuilder.prototype.appendToTable):
589 (WasmModuleBuilder.prototype.setFunctionTableLength):
590 (WasmModuleBuilder.prototype.toArray):
591 (WasmModuleBuilder.prototype.toBuffer):
592 (WasmModuleBuilder.prototype.instantiate):
593 * wasm/spec-harness/wast.js: Added.
595 (require.else._registry.name):
620 (instr.else.switch.case.0.f):
621 (instr.else.switch.case.1.f.1):
622 (instr.else.switch.case.2.f.2):
645 (module_with_var_opt):
652 (_registry.string_appeared_here):
692 (array1_of_genarray):
693 (array2_of_genarray):
694 (array3_of_genarray):
715 (advance_to_closing):
716 (advance_to_non_alpha):
752 (caml_int32_float_of_bits):
753 (caml_int32_bits_of_float):
754 (caml_classify_float):
758 (caml_copysign_float):
764 (int_of_string_base):
765 (parse_sign_and_base):
766 (caml_int_of_string.aux):
767 (caml_int_of_string):
768 (caml_int64_of_string.aux):
769 (caml_int64_of_string):
809 (bits_of_float.to_nat):
820 (param_format_of_ignored_format):
830 (set while.set else):
836 (bprint_ignored_flag):
845 (string_of_formatting_lit):
846 (string_of_formatting_gen):
847 (bprint_char_literal):
848 (bprint_string_literal):
850 (int_of_custom_arity):
856 (fmtty_of_formatting_gen):
859 (fmtty_of_padding_fmtty):
860 (fmtty_of_precision_fmtty):
863 (type_ignored_param_one):
865 (type_ignored_format_substitution):
870 (string_to_caml_string):
883 (else.switch.k.prime):
885 (else.switch.else.k.prime.1):
889 (make_string_padding):
890 (make_int_padding_precision):
895 (failwith_message.k):
897 (open_box_of_string.else.invalid_box):
898 (open_box_of_string.else.parse_spaces):
899 (open_box_of_string.else.parse_lword):
900 (open_box_of_string.else.parse_int):
901 (open_box_of_string):
902 (make_padding_fmt_ebb):
903 (make_precision_fmt_ebb):
904 (make_padprec_fmt_ebb):
905 (invalid_format_message):
906 (invalid_format_without):
907 (expected_character):
912 (parse_after_precision):
913 (else.parse_literal):
914 (parse_after_padding):
920 (compute_float_conv):
921 (search_subformat_end):
925 (else.switch.case.99.char_format):
926 (else.switch.scan_format):
933 (fail_single_percent):
934 (parse_char_set_after_char):
935 (parse_char_set_content):
936 (parse_char_set_start):
941 (format_of_string_fmtty):
942 (format_of_string_format):
944 (caml_ml_open_descriptor_in):
945 (caml_ml_open_descriptor_out):
948 (caml_ml_output_char):
950 (caml_ml_input_char):
951 (caml_ml_out_channels_list):
957 (caml_new_lex_engine):
960 (caml_lazy_make_forward):
969 (caml_get_public_method):
971 (caml_set_parser_trace):
974 (caml_create_string):
975 (caml_string_compare):
981 (caml_string_of_char_array):
1056 (mutability.get if):
1064 (import_kind.get if):
1071 (export_kind.get if):
1098 (encode.patch_gap32):
1099 (encode.value_type):
1100 (encode.stack_type):
1103 (encode.table_type):
1104 (encode.memory_type):
1105 (encode.global_type):
1111 (encode.type_section):
1113 (encode.import_section):
1115 (encode.func_section):
1117 (encode.table_section):
1119 (encode.memory_section):
1121 (encode.global_section):
1122 (encode.export_kind):
1124 (encode.export_section):
1125 (encode.start_section):
1130 (encode.code_section):
1132 (encode.table_segment):
1133 (encode.elem_section):
1134 (encode.memory_segment):
1139 (print_nan_significand_digits):
1143 (Make.canonicalize_nan):
1144 (Make.determine_binary_nan):
1145 (Make.determine_unary_nan):
1168 (Make.of_signless_string):
1179 (pp_force_break_line):
1185 (enqueue_string_as):
1192 (pp_set_print_tags):
1194 (pp_get_print_tags):
1197 (pp_get_formatter_tag_functions):
1198 (pp_set_formatter_tag_functions):
1214 (pp_print_if_newline):
1228 (pp_over_max_boxes):
1229 (pp_get_ellipsis_text):
1231 (pp_set_max_indent):
1232 (pp_get_max_indent):
1235 (pp_set_formatter_out_functions):
1236 (pp_get_formatter_out_functions):
1237 (pp_set_formatter_output_functions):
1238 (pp_get_formatter_output_functions):
1239 (pp_set_all_formatter_output_functions):
1240 (pp_get_all_formatter_output_functions):
1247 (pp_set_formatter_out_channel):
1248 (default_pp_mark_open_tag):
1249 (default_pp_mark_close_tag):
1250 (default_pp_print_open_tag):
1251 (default_pp_print_close_tag):
1252 (pp_make_formatter):
1256 (formatter_of_out_channel):
1257 (formatter_of_buffer):
1258 (flush_str_formatter):
1259 (flush_buf_formatter):
1291 (set_ellipsis_text):
1292 (get_ellipsis_text):
1293 (set_formatter_out_channel):
1294 (set_formatter_out_functions):
1295 (get_formatter_out_functions):
1296 (set_formatter_output_functions):
1297 (get_formatter_output_functions):
1298 (set_all_formatter_output_functions):
1299 (get_all_formatter_output_functions):
1300 (set_formatter_tag_functions):
1301 (get_formatter_tag_functions):
1308 (output_formatting_lit):
1336 (Make.clamp_rotate_count):
1364 (token.else.switch):
1365 (token.else.switch.):
1367 (__ocaml_lex_comment_rec):
1377 (sub_lexeme_char_opt):
1438 (Make.remove_min_binding):
1446 (Make.add_min_binding):
1447 (Make.add_max_binding):
1450 (Make.concat_or_join):
1459 (Make.bindings_aux):
1513 (positions_to_region):
1543 (current_lookahead_fun):
1544 (catch.else.current_lookahead_fun.0):
1555 (is_current_lookahead):
1565 (valid_float_lexem):
1583 (unsafe_really_input):
1585 (really_input_string):
1586 (input_line.build_result):
1604 (at_exit.exit_function.0):
1608 (output_binary_int):
1611 (out_channel_length):
1612 (set_binary_mode_out):
1617 (in_channel_length):
1619 (set_binary_mode_in):
1632 (escaped.needs_escape):
1636 (string_of_value_type):
1637 (string_of_value_types):
1638 (string_of_elem_type):
1640 (string_of_table_type):
1641 (string_of_global_type):
1642 (string_of_stack_type):
1643 (string_of_func_type):
1653 * wasm/spec-tests/address.wast.js:
1654 (register): Deleted.
1656 (instance): Deleted.
1657 (assert_malformed): Deleted.
1658 (assert_invalid): Deleted.
1659 (assert_soft_invalid): Deleted.
1660 (assert_unlinkable): Deleted.
1661 (assert_uninstantiable): Deleted.
1662 (assert_trap): Deleted.
1663 (assert_return): Deleted.
1664 (assert_return_nan): Deleted.
1665 * wasm/spec-tests/binary.wast.js:
1666 (register): Deleted.
1668 (instance): Deleted.
1669 (assert_malformed): Deleted.
1670 (assert_invalid): Deleted.
1671 (assert_soft_invalid): Deleted.
1672 (assert_unlinkable): Deleted.
1673 (assert_uninstantiable): Deleted.
1674 (assert_trap): Deleted.
1675 (assert_return): Deleted.
1676 (assert_return_nan): Deleted.
1677 * wasm/spec-tests/block.wast.js:
1678 (register): Deleted.
1680 (instance): Deleted.
1681 (assert_malformed): Deleted.
1682 (assert_invalid): Deleted.
1683 (assert_soft_invalid): Deleted.
1684 (assert_unlinkable): Deleted.
1685 (assert_uninstantiable): Deleted.
1686 (assert_trap): Deleted.
1687 (assert_return): Deleted.
1688 (assert_return_nan): Deleted.
1689 * wasm/spec-tests/br.wast.js:
1690 (register): Deleted.
1692 (instance): Deleted.
1693 (assert_malformed): Deleted.
1694 (assert_invalid): Deleted.
1695 (assert_soft_invalid): Deleted.
1696 (assert_unlinkable): Deleted.
1697 (assert_uninstantiable): Deleted.
1698 (assert_trap): Deleted.
1699 (assert_return): Deleted.
1700 (assert_return_nan): Deleted.
1701 * wasm/spec-tests/br_if.wast.js:
1702 (register): Deleted.
1704 (instance): Deleted.
1705 (assert_malformed): Deleted.
1706 (assert_invalid): Deleted.
1707 (assert_soft_invalid): Deleted.
1708 (assert_unlinkable): Deleted.
1709 (assert_uninstantiable): Deleted.
1710 (assert_trap): Deleted.
1711 (assert_return): Deleted.
1712 (assert_return_nan): Deleted.
1713 * wasm/spec-tests/br_table.wast.js:
1714 (register): Deleted.
1716 (instance): Deleted.
1717 (assert_malformed): Deleted.
1718 (assert_invalid): Deleted.
1719 (assert_soft_invalid): Deleted.
1720 (assert_unlinkable): Deleted.
1721 (assert_uninstantiable): Deleted.
1722 (assert_trap): Deleted.
1723 (assert_return): Deleted.
1724 (assert_return_nan): Deleted.
1725 * wasm/spec-tests/break-drop.wast.js:
1726 (register): Deleted.
1728 (instance): Deleted.
1729 (assert_malformed): Deleted.
1730 (assert_invalid): Deleted.
1731 (assert_soft_invalid): Deleted.
1732 (assert_unlinkable): Deleted.
1733 (assert_uninstantiable): Deleted.
1734 (assert_trap): Deleted.
1735 (assert_return): Deleted.
1736 (assert_return_nan): Deleted.
1737 * wasm/spec-tests/call.wast.js:
1738 (register): Deleted.
1740 (instance): Deleted.
1741 (assert_malformed): Deleted.
1742 (assert_invalid): Deleted.
1743 (assert_soft_invalid): Deleted.
1744 (assert_unlinkable): Deleted.
1745 (assert_uninstantiable): Deleted.
1746 (assert_trap): Deleted.
1747 (assert_return): Deleted.
1748 (assert_return_nan): Deleted.
1749 * wasm/spec-tests/call_indirect.wast.js:
1750 (register): Deleted.
1752 (instance): Deleted.
1753 (assert_malformed): Deleted.
1754 (assert_invalid): Deleted.
1755 (assert_soft_invalid): Deleted.
1756 (assert_unlinkable): Deleted.
1757 (assert_uninstantiable): Deleted.
1758 (assert_trap): Deleted.
1759 (assert_return): Deleted.
1760 (assert_return_nan): Deleted.
1761 * wasm/spec-tests/comments.wast.js:
1762 (register): Deleted.
1764 (instance): Deleted.
1765 (assert_malformed): Deleted.
1766 (assert_invalid): Deleted.
1767 (assert_soft_invalid): Deleted.
1768 (assert_unlinkable): Deleted.
1769 (assert_uninstantiable): Deleted.
1770 (assert_trap): Deleted.
1771 (assert_return): Deleted.
1772 (assert_return_nan): Deleted.
1773 * wasm/spec-tests/conversions.wast.js:
1774 (register): Deleted.
1776 (instance): Deleted.
1777 (assert_malformed): Deleted.
1778 (assert_invalid): Deleted.
1779 (assert_soft_invalid): Deleted.
1780 (assert_unlinkable): Deleted.
1781 (assert_uninstantiable): Deleted.
1782 (assert_trap): Deleted.
1783 (assert_return): Deleted.
1784 (assert_return_nan): Deleted.
1785 * wasm/spec-tests/custom_section.wast.js:
1786 (register): Deleted.
1788 (instance): Deleted.
1789 (assert_malformed): Deleted.
1790 (assert_invalid): Deleted.
1791 (assert_soft_invalid): Deleted.
1792 (assert_unlinkable): Deleted.
1793 (assert_uninstantiable): Deleted.
1794 (assert_trap): Deleted.
1795 (assert_return): Deleted.
1796 (assert_return_nan): Deleted.
1797 * wasm/spec-tests/endianness.wast.js:
1798 (register): Deleted.
1800 (instance): Deleted.
1801 (assert_malformed): Deleted.
1802 (assert_invalid): Deleted.
1803 (assert_soft_invalid): Deleted.
1804 (assert_unlinkable): Deleted.
1805 (assert_uninstantiable): Deleted.
1806 (assert_trap): Deleted.
1807 (assert_return): Deleted.
1808 (assert_return_nan): Deleted.
1809 * wasm/spec-tests/exports.wast.js:
1810 (register): Deleted.
1812 (instance): Deleted.
1813 (assert_malformed): Deleted.
1814 (assert_invalid): Deleted.
1815 (assert_soft_invalid): Deleted.
1816 (assert_unlinkable): Deleted.
1817 (assert_uninstantiable): Deleted.
1818 (assert_trap): Deleted.
1819 (assert_return): Deleted.
1820 (assert_return_nan): Deleted.
1821 * wasm/spec-tests/f32.wast.js: Removed.
1822 * wasm/spec-tests/f32_cmp.wast.js:
1823 (register): Deleted.
1825 (instance): Deleted.
1826 (assert_malformed): Deleted.
1827 (assert_invalid): Deleted.
1828 (assert_soft_invalid): Deleted.
1829 (assert_unlinkable): Deleted.
1830 (assert_uninstantiable): Deleted.
1831 (assert_trap): Deleted.
1832 (assert_return): Deleted.
1833 (assert_return_nan): Deleted.
1834 * wasm/spec-tests/f64.wast.js: Removed.
1835 * wasm/spec-tests/f64_cmp.wast.js:
1836 (register): Deleted.
1838 (instance): Deleted.
1839 (assert_malformed): Deleted.
1840 (assert_invalid): Deleted.
1841 (assert_soft_invalid): Deleted.
1842 (assert_unlinkable): Deleted.
1843 (assert_uninstantiable): Deleted.
1844 (assert_trap): Deleted.
1845 (assert_return): Deleted.
1846 (assert_return_nan): Deleted.
1847 * wasm/spec-tests/fac.wast.js:
1848 (register): Deleted.
1850 (instance): Deleted.
1851 (assert_malformed): Deleted.
1852 (assert_invalid): Deleted.
1853 (assert_soft_invalid): Deleted.
1854 (assert_unlinkable): Deleted.
1855 (assert_uninstantiable): Deleted.
1856 (assert_trap): Deleted.
1857 (assert_return): Deleted.
1858 (assert_return_nan): Deleted.
1859 * wasm/spec-tests/float_exprs.wast.js: Removed.
1860 * wasm/spec-tests/float_literals.wast.js:
1861 (register): Deleted.
1863 (instance): Deleted.
1864 (assert_malformed): Deleted.
1865 (assert_invalid): Deleted.
1866 (assert_soft_invalid): Deleted.
1867 (assert_unlinkable): Deleted.
1868 (assert_uninstantiable): Deleted.
1869 (assert_trap): Deleted.
1870 (assert_return): Deleted.
1871 (assert_return_nan): Deleted.
1872 * wasm/spec-tests/float_memory.wast.js:
1873 (register): Deleted.
1875 (instance): Deleted.
1876 (assert_malformed): Deleted.
1877 (assert_invalid): Deleted.
1878 (assert_soft_invalid): Deleted.
1879 (assert_unlinkable): Deleted.
1880 (assert_uninstantiable): Deleted.
1881 (assert_trap): Deleted.
1882 (assert_return): Deleted.
1883 (assert_return_nan): Deleted.
1884 * wasm/spec-tests/float_misc.wast.js: Removed.
1885 * wasm/spec-tests/forward.wast.js:
1886 (register): Deleted.
1888 (instance): Deleted.
1889 (assert_malformed): Deleted.
1890 (assert_invalid): Deleted.
1891 (assert_soft_invalid): Deleted.
1892 (assert_unlinkable): Deleted.
1893 (assert_uninstantiable): Deleted.
1894 (assert_trap): Deleted.
1895 (assert_return): Deleted.
1896 (assert_return_nan): Deleted.
1897 * wasm/spec-tests/func.wast.js:
1898 (register): Deleted.
1900 (instance): Deleted.
1901 (assert_malformed): Deleted.
1902 (assert_invalid): Deleted.
1903 (assert_soft_invalid): Deleted.
1904 (assert_unlinkable): Deleted.
1905 (assert_uninstantiable): Deleted.
1906 (assert_trap): Deleted.
1907 (assert_return): Deleted.
1908 (assert_return_nan): Deleted.
1909 * wasm/spec-tests/func_ptrs.wast.js:
1910 (register): Deleted.
1912 (instance): Deleted.
1913 (assert_malformed): Deleted.
1914 (assert_invalid): Deleted.
1915 (assert_soft_invalid): Deleted.
1916 (assert_unlinkable): Deleted.
1917 (assert_uninstantiable): Deleted.
1918 (assert_trap): Deleted.
1919 (assert_return): Deleted.
1920 (assert_return_nan): Deleted.
1921 * wasm/spec-tests/get_local.wast.js:
1922 (register): Deleted.
1924 (instance): Deleted.
1925 (assert_malformed): Deleted.
1926 (assert_invalid): Deleted.
1927 (assert_soft_invalid): Deleted.
1928 (assert_unlinkable): Deleted.
1929 (assert_uninstantiable): Deleted.
1930 (assert_trap): Deleted.
1931 (assert_return): Deleted.
1932 (assert_return_nan): Deleted.
1933 * wasm/spec-tests/globals.wast.js:
1934 (register): Deleted.
1936 (instance): Deleted.
1937 (assert_malformed): Deleted.
1938 (assert_invalid): Deleted.
1939 (assert_soft_invalid): Deleted.
1940 (assert_unlinkable): Deleted.
1941 (assert_uninstantiable): Deleted.
1942 (assert_trap): Deleted.
1943 (assert_return): Deleted.
1944 (assert_return_nan): Deleted.
1945 * wasm/spec-tests/i32.wast.js:
1946 (register): Deleted.
1948 (instance): Deleted.
1949 (assert_malformed): Deleted.
1950 (assert_invalid): Deleted.
1951 (assert_soft_invalid): Deleted.
1952 (assert_unlinkable): Deleted.
1953 (assert_uninstantiable): Deleted.
1954 (assert_trap): Deleted.
1955 (assert_return): Deleted.
1956 (assert_return_nan): Deleted.
1957 * wasm/spec-tests/i64.wast.js:
1958 (register): Deleted.
1960 (instance): Deleted.
1961 (assert_malformed): Deleted.
1962 (assert_invalid): Deleted.
1963 (assert_soft_invalid): Deleted.
1964 (assert_unlinkable): Deleted.
1965 (assert_uninstantiable): Deleted.
1966 (assert_trap): Deleted.
1967 (assert_return): Deleted.
1968 (assert_return_nan): Deleted.
1969 * wasm/spec-tests/if.wast.js: Added.
1970 * wasm/spec-tests/imports.wast.js:
1971 (register): Deleted.
1973 (instance): Deleted.
1974 (assert_malformed): Deleted.
1975 (assert_invalid): Deleted.
1976 (assert_soft_invalid): Deleted.
1977 (assert_unlinkable): Deleted.
1978 (assert_uninstantiable): Deleted.
1979 (assert_trap): Deleted.
1980 (assert_return): Deleted.
1981 (assert_return_nan): Deleted.
1982 * wasm/spec-tests/int_exprs.wast.js:
1983 (register): Deleted.
1985 (instance): Deleted.
1986 (assert_malformed): Deleted.
1987 (assert_invalid): Deleted.
1988 (assert_soft_invalid): Deleted.
1989 (assert_unlinkable): Deleted.
1990 (assert_uninstantiable): Deleted.
1991 (assert_trap): Deleted.
1992 (assert_return): Deleted.
1993 (assert_return_nan): Deleted.
1994 * wasm/spec-tests/int_literals.wast.js:
1995 (register): Deleted.
1997 (instance): Deleted.
1998 (assert_malformed): Deleted.
1999 (assert_invalid): Deleted.
2000 (assert_soft_invalid): Deleted.
2001 (assert_unlinkable): Deleted.
2002 (assert_uninstantiable): Deleted.
2003 (assert_trap): Deleted.
2004 (assert_return): Deleted.
2005 (assert_return_nan): Deleted.
2006 * wasm/spec-tests/jsapi.js: Added.
2007 (testJSAPI.get test):
2009 (testJSAPI.set test):
2010 (testJSAPI.assertCompileError):
2011 (testJSAPI.assertCompileSuccess):
2013 * wasm/spec-tests/labels.wast.js: Added.
2014 * wasm/spec-tests/left-to-right.wast.js:
2015 (register): Deleted.
2017 (instance): Deleted.
2018 (assert_malformed): Deleted.
2019 (assert_invalid): Deleted.
2020 (assert_soft_invalid): Deleted.
2021 (assert_unlinkable): Deleted.
2022 (assert_uninstantiable): Deleted.
2023 (assert_trap): Deleted.
2024 (assert_return): Deleted.
2025 (assert_return_nan): Deleted.
2026 * wasm/spec-tests/linking.wast.js:
2027 (register): Deleted.
2029 (instance): Deleted.
2030 (assert_malformed): Deleted.
2031 (assert_invalid): Deleted.
2032 (assert_soft_invalid): Deleted.
2033 (assert_unlinkable): Deleted.
2034 (assert_uninstantiable): Deleted.
2035 (assert_trap): Deleted.
2036 (assert_return): Deleted.
2037 (assert_return_nan): Deleted.
2038 * wasm/spec-tests/loop.wast.js:
2039 (register): Deleted.
2041 (instance): Deleted.
2042 (assert_malformed): Deleted.
2043 (assert_invalid): Deleted.
2044 (assert_soft_invalid): Deleted.
2045 (assert_unlinkable): Deleted.
2046 (assert_uninstantiable): Deleted.
2047 (assert_trap): Deleted.
2048 (assert_return): Deleted.
2049 (assert_return_nan): Deleted.
2050 * wasm/spec-tests/memory.wast.js:
2051 (register): Deleted.
2053 (instance): Deleted.
2054 (assert_malformed): Deleted.
2055 (assert_invalid): Deleted.
2056 (assert_soft_invalid): Deleted.
2057 (assert_unlinkable): Deleted.
2058 (assert_uninstantiable): Deleted.
2059 (assert_trap): Deleted.
2060 (assert_return): Deleted.
2061 (assert_return_nan): Deleted.
2062 * wasm/spec-tests/memory_redundancy.wast.js:
2063 (register): Deleted.
2065 (instance): Deleted.
2066 (assert_malformed): Deleted.
2067 (assert_invalid): Deleted.
2068 (assert_soft_invalid): Deleted.
2069 (assert_unlinkable): Deleted.
2070 (assert_uninstantiable): Deleted.
2071 (assert_trap): Deleted.
2072 (assert_return): Deleted.
2073 (assert_return_nan): Deleted.
2074 * wasm/spec-tests/memory_trap.wast.js: Removed.
2075 * wasm/spec-tests/names.wast.js:
2076 (register): Deleted.
2078 (instance): Deleted.
2079 (assert_malformed): Deleted.
2080 (assert_invalid): Deleted.
2081 (assert_soft_invalid): Deleted.
2082 (assert_unlinkable): Deleted.
2083 (assert_uninstantiable): Deleted.
2084 (assert_trap): Deleted.
2085 (assert_return): Deleted.
2086 (assert_return_nan): Deleted.
2087 * wasm/spec-tests/nop.wast.js:
2088 (register): Deleted.
2090 (instance): Deleted.
2091 (assert_malformed): Deleted.
2092 (assert_invalid): Deleted.
2093 (assert_soft_invalid): Deleted.
2094 (assert_unlinkable): Deleted.
2095 (assert_uninstantiable): Deleted.
2096 (assert_trap): Deleted.
2097 (assert_return): Deleted.
2098 (assert_return_nan): Deleted.
2099 * wasm/spec-tests/resizing.wast.js:
2100 (register): Deleted.
2102 (instance): Deleted.
2103 (assert_malformed): Deleted.
2104 (assert_invalid): Deleted.
2105 (assert_soft_invalid): Deleted.
2106 (assert_unlinkable): Deleted.
2107 (assert_uninstantiable): Deleted.
2108 (assert_trap): Deleted.
2109 (assert_return): Deleted.
2110 (assert_return_nan): Deleted.
2111 * wasm/spec-tests/return.wast.js:
2112 (register): Deleted.
2114 (instance): Deleted.
2115 (assert_malformed): Deleted.
2116 (assert_invalid): Deleted.
2117 (assert_soft_invalid): Deleted.
2118 (assert_unlinkable): Deleted.
2119 (assert_uninstantiable): Deleted.
2120 (assert_trap): Deleted.
2121 (assert_return): Deleted.
2122 (assert_return_nan): Deleted.
2123 * wasm/spec-tests/select.wast.js:
2124 (register): Deleted.
2126 (instance): Deleted.
2127 (assert_malformed): Deleted.
2128 (assert_invalid): Deleted.
2129 (assert_soft_invalid): Deleted.
2130 (assert_unlinkable): Deleted.
2131 (assert_uninstantiable): Deleted.
2132 (assert_trap): Deleted.
2133 (assert_return): Deleted.
2134 (assert_return_nan): Deleted.
2135 * wasm/spec-tests/set_local.wast.js:
2136 (register): Deleted.
2138 (instance): Deleted.
2139 (assert_malformed): Deleted.
2140 (assert_invalid): Deleted.
2141 (assert_soft_invalid): Deleted.
2142 (assert_unlinkable): Deleted.
2143 (assert_uninstantiable): Deleted.
2144 (assert_trap): Deleted.
2145 (assert_return): Deleted.
2146 (assert_return_nan): Deleted.
2147 * wasm/spec-tests/skip-stack-guard-page.wast.js:
2148 (register): Deleted.
2150 (instance): Deleted.
2151 (assert_malformed): Deleted.
2152 (assert_invalid): Deleted.
2153 (assert_soft_invalid): Deleted.
2154 (assert_unlinkable): Deleted.
2155 (assert_uninstantiable): Deleted.
2156 (assert_trap): Deleted.
2157 (assert_return): Deleted.
2158 (assert_return_nan): Deleted.
2159 * wasm/spec-tests/stack.wast.js:
2160 (register): Deleted.
2162 (instance): Deleted.
2163 (assert_malformed): Deleted.
2164 (assert_invalid): Deleted.
2165 (assert_soft_invalid): Deleted.
2166 (assert_unlinkable): Deleted.
2167 (assert_uninstantiable): Deleted.
2168 (assert_trap): Deleted.
2169 (assert_return): Deleted.
2170 (assert_return_nan): Deleted.
2171 * wasm/spec-tests/start.wast.js:
2172 (register): Deleted.
2174 (instance): Deleted.
2175 (assert_malformed): Deleted.
2176 (assert_invalid): Deleted.
2177 (assert_soft_invalid): Deleted.
2178 (assert_unlinkable): Deleted.
2179 (assert_uninstantiable): Deleted.
2180 (assert_trap): Deleted.
2181 (assert_return): Deleted.
2182 (assert_return_nan): Deleted.
2183 * wasm/spec-tests/store_retval.wast.js:
2184 (register): Deleted.
2186 (instance): Deleted.
2187 (assert_malformed): Deleted.
2188 (assert_invalid): Deleted.
2189 (assert_soft_invalid): Deleted.
2190 (assert_unlinkable): Deleted.
2191 (assert_uninstantiable): Deleted.
2192 (assert_trap): Deleted.
2193 (assert_return): Deleted.
2194 (assert_return_nan): Deleted.
2195 * wasm/spec-tests/switch.wast.js:
2196 (register): Deleted.
2198 (instance): Deleted.
2199 (assert_malformed): Deleted.
2200 (assert_invalid): Deleted.
2201 (assert_soft_invalid): Deleted.
2202 (assert_unlinkable): Deleted.
2203 (assert_uninstantiable): Deleted.
2204 (assert_trap): Deleted.
2205 (assert_return): Deleted.
2206 (assert_return_nan): Deleted.
2207 * wasm/spec-tests/tee_local.wast.js:
2208 (register): Deleted.
2210 (instance): Deleted.
2211 (assert_malformed): Deleted.
2212 (assert_invalid): Deleted.
2213 (assert_soft_invalid): Deleted.
2214 (assert_unlinkable): Deleted.
2215 (assert_uninstantiable): Deleted.
2216 (assert_trap): Deleted.
2217 (assert_return): Deleted.
2218 (assert_return_nan): Deleted.
2219 * wasm/spec-tests/traps.wast.js:
2220 (register): Deleted.
2222 (instance): Deleted.
2223 (assert_malformed): Deleted.
2224 (assert_invalid): Deleted.
2225 (assert_soft_invalid): Deleted.
2226 (assert_unlinkable): Deleted.
2227 (assert_uninstantiable): Deleted.
2228 (assert_trap): Deleted.
2229 (assert_return): Deleted.
2230 (assert_return_nan): Deleted.
2231 * wasm/spec-tests/typecheck.wast.js:
2232 (register): Deleted.
2234 (instance): Deleted.
2235 (assert_malformed): Deleted.
2236 (assert_invalid): Deleted.
2237 (assert_soft_invalid): Deleted.
2238 (assert_unlinkable): Deleted.
2239 (assert_uninstantiable): Deleted.
2240 (assert_trap): Deleted.
2241 (assert_return): Deleted.
2242 (assert_return_nan): Deleted.
2243 * wasm/spec-tests/unreachable.wast.js:
2244 (register): Deleted.
2246 (instance): Deleted.
2247 (assert_malformed): Deleted.
2248 (assert_invalid): Deleted.
2249 (assert_soft_invalid): Deleted.
2250 (assert_unlinkable): Deleted.
2251 (assert_uninstantiable): Deleted.
2252 (assert_trap): Deleted.
2253 (assert_return): Deleted.
2254 (assert_return_nan): Deleted.
2255 * wasm/spec-tests/unreached-invalid.wast.js: Added.
2256 * wasm/spec-tests/unwind.wast.js:
2257 (register): Deleted.
2259 (instance): Deleted.
2260 (assert_malformed): Deleted.
2261 (assert_invalid): Deleted.
2262 (assert_soft_invalid): Deleted.
2263 (assert_unlinkable): Deleted.
2264 (assert_uninstantiable): Deleted.
2265 (assert_trap): Deleted.
2266 (assert_return): Deleted.
2267 (assert_return_nan): Deleted.
2269 2017-04-01 Oleksandr Skachkov <gskachkov@gmail.com>
2271 Object with numerical keys with gaps gets filled by NaN values
2272 https://bugs.webkit.org/show_bug.cgi?id=164412
2274 Reviewed by Merk Lam.
2276 * stress/object-number-properties.js: Added.
2280 2017-03-30 Michael Saboff <msaboff@apple.com>
2282 Turning ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js back as it appears to always work
2283 https://bugs.webkit.org/show_bug.cgi?id=170313
2285 Reviewed by Saam Barati.
2287 Enable ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js as it seems solid.
2291 2017-03-30 Michael Saboff <msaboff@apple.com>
2293 Enable ChakraCore/Function/FuncBody.js test as it now works
2294 https://bugs.webkit.org/show_bug.cgi?id=170301
2296 Reviewed by Mark Lam.
2298 This test no longer crashes, so enable it and create a JSC specific
2302 * ChakraCore/test/Function/FuncBodyES5.baseline-jsc: Added.
2304 2017-03-30 JF Bastien <jfbastien@apple.com>
2306 WebAssembly: fix misc JS API implementation inconsistencies
2307 https://bugs.webkit.org/show_bug.cgi?id=170187
2309 Reviewed by Keith Miller.
2311 Verify that WebAssembly function are on the object's __proto__.
2313 * wasm/js-api/Module-compile.js:
2314 * wasm/js-api/validate.js:
2315 * wasm/js-api/web-assembly-instantiate.js:
2317 2017-03-29 JF Bastien <jfbastien@apple.com>
2319 WebAssembly: add shell-only Memory mode helper
2320 https://bugs.webkit.org/show_bug.cgi?id=170227
2322 Reviewed by Mark Lam.
2324 * wasm/assert.js: fix a prior debug thing I forgot to remove
2325 * wasm/function-tests/memory-section-and-import.js: the assert
2326 issue was hiding a failure in error message here
2327 * wasm/js-api/element.js: the assert issue was hiding a failure in
2329 (badInstantiation.test):
2331 * wasm/js-api/extension-MemoryMode.js: Added.
2332 (const.validateMode.what.switch):
2335 (testInstanceNoMemory):
2336 (testInstanceNoMax):
2338 * wasm/js-api/test_memory.js: the assert issue was hiding a
2339 failure in error message here
2342 2017-03-28 Keith Miller <keith_miller@apple.com>
2344 WebAssembly: Make WebAssembly.instantiate/compile truly asynchronous
2345 https://bugs.webkit.org/show_bug.cgi?id=169187
2347 Reviewed by Saam Barati.
2350 * wasm/js-api/Module-compile.js:
2351 (async.testPromiseAPI):
2352 * wasm/js-api/web-assembly-compile-parallel.js: Added.
2355 * wasm/js-api/web-assembly-instantiate-parallel.js: Added.
2357 * wasm/js-api/web-assembly-instantiate.js:
2358 (assert.eq.async.test):
2360 (assert.asyncTest.async.test):
2362 (assert.truthy.async.test): Deleted.
2363 (assert.truthy): Deleted.
2365 2017-03-28 JF Bastien <jfbastien@apple.com>
2367 WebAssembly: implement Module imports/exports
2368 https://bugs.webkit.org/show_bug.cgi?id=166982
2370 Reviewed by Saam Barati.
2372 * wasm/js-api/Module.exports.js: Added.
2373 (assert.throws.WebAssembly.Module.prototype.exports):
2375 * wasm/js-api/Module.imports.js: Added.
2376 (assert.throws.WebAssembly.Module.prototype.imports):
2379 2017-03-27 JF Bastien <jfbastien@apple.com>
2381 WebAssembly: misc memory testing
2382 https://bugs.webkit.org/show_bug.cgi?id=170137
2384 Reviewed by Keith Miller.
2386 * wasm/assert.js: handle newlines in code we print out, avoid regex
2387 * wasm/function-tests/memory-import-and-grow.js: Added.
2388 (const.instantiate):
2390 * wasm/function-tests/memory-section-and-import.js: Added.
2391 (const.instantiate):
2393 2017-03-23 Yusuke Suzuki <utatane.tea@gmail.com>
2395 [JSC] Use jsNontrivialString agressively for ToString(Int52)
2396 https://bugs.webkit.org/show_bug.cgi?id=170002
2398 Reviewed by Sam Weinig.
2400 * stress/to-string-int52.js: Added.
2405 2017-03-23 Yusuke Suzuki <utatane.tea@gmail.com>
2407 [JSC][DFG] Make addShouldSpeculateAnyInt more conservative to avoid regression caused by Double <-> Int52 conversions
2408 https://bugs.webkit.org/show_bug.cgi?id=169998
2410 Reviewed by Saam Barati.
2412 * microbenchmarks/int52-back-and-forth.js: Added.
2416 2017-03-23 Mark Lam <mark.lam@apple.com>
2418 Clients of JSArray::tryCreateForInitializationPrivate() should do their own null checks.
2419 https://bugs.webkit.org/show_bug.cgi?id=169783
2421 Reviewed by Saam Barati.
2423 * stress/regress-169783.js: Added.
2425 2017-03-22 Yusuke Suzuki <utatane.tea@gmail.com>
2427 [JSC][DFG] Propagate AnyIntAsDouble information carefully to utilize it in fixup
2428 https://bugs.webkit.org/show_bug.cgi?id=169914
2430 Reviewed by Saam Barati.
2432 * stress/any-int-as-double-add.js: Added.
2435 * stress/to-this-numbers.js: Added.
2437 (Number.prototype.toThis):
2439 2017-03-22 Mark Lam <mark.lam@apple.com>
2441 Add support for Error.stackTraceLimit.
2442 https://bugs.webkit.org/show_bug.cgi?id=169904
2444 Reviewed by Saam Barati.
2446 * stress/error-stack-trace-limit.js: Added.
2448 2017-03-22 Yusuke Suzuki <utatane.tea@gmail.com>
2450 [JSC] Use jsNontrivialString for Number toString operations
2451 https://bugs.webkit.org/show_bug.cgi?id=169965
2453 Reviewed by Mark Lam.
2455 * stress/to-string-int32.js: Added.
2460 2017-03-22 JF Bastien <jfbastien@apple.com>
2462 WebAssembly: test module namespace object for WebAssembly.Instance
2463 https://bugs.webkit.org/show_bug.cgi?id=169951
2465 Reviewed by Saam Barati.
2467 * wasm/js-api/test_basic_api.js:
2468 (const.c.in.constructorProperties.switch):
2470 2017-03-22 JF Bastien <jfbastien@apple.com>
2472 WebAssembly: constructors without new don't throw
2473 https://bugs.webkit.org/show_bug.cgi?id=165995
2475 Reviewed by Saam Barati.
2477 * wasm/js-api/test_basic_api.js:
2478 (const.c.in.constructorProperties.switch):
2480 2017-03-21 Yusuke Suzuki <utatane.tea@gmail.com>
2482 [JSC] Optimize Number.prototype.toString on Int32 / Int52 / Double
2483 https://bugs.webkit.org/show_bug.cgi?id=167454
2485 Reviewed by Saam Barati.
2487 * stress/number-to-string-abstract-operation.js: Added.
2490 (shouldBe.int32ToString.new.Number.int52ToString):
2491 (shouldBe.int32ToString.new.Number):
2492 (shouldBe.doubleToString):
2493 * stress/number-to-string-radix.js: Added.
2496 (shouldBe.int32ToString.new.Number.int52ToString):
2497 (shouldBe.int32ToString.new.Number):
2498 (shouldBe.doubleToString):
2499 * stress/number-to-string.js: Added.
2502 (shouldBe.int32ToString.new.Number.int52ToString):
2503 (shouldBe.int32ToString.new.Number):
2504 (shouldBe.doubleToString):
2506 2017-03-19 Chris Dumez <cdumez@apple.com>
2508 `const location = "foo"` throws in a worker
2509 https://bugs.webkit.org/show_bug.cgi?id=169839
2511 Reviewed by Mark Lam.
2513 * ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.baseline-jsc:
2514 Update expected jsc result now that we throw a SyntaxError when trying to shadow undefined
2515 with a let variable. We used not to throw because the value is undefined but this was not
2516 as per EcmaScript. Both Firefox and Chrome throw in this case.
2518 * stress/global-lexical-redeclare-variable.js:
2520 Update test that defines a non-configurable 'zoo' property on the global object and then
2521 expected shadowing it with a 'let zoo' variable to work because its value was undefined.
2522 This was not as per EcmaScript spec and both Firefox and Chrome throw in this case.
2524 2017-03-19 Yusuke Suzuki <utatane.tea@gmail.com>
2526 import(arg) crashes when ToString(arg) throws
2527 https://bugs.webkit.org/show_bug.cgi?id=169778
2529 Reviewed by Saam Barati.
2531 * stress/import-reject-with-exception.js: Added.
2533 (let.x.get toString):
2535 2017-03-16 Filip Pizlo <fpizlo@apple.com>
2537 FTL should support global and eval code
2538 https://bugs.webkit.org/show_bug.cgi?id=169656
2540 Reviewed by Geoffrey Garen and Saam Barati.
2542 Added basic performance tests of global and eval code. These tests will run a lot faster in with
2543 the FTL because of the object allocation.
2545 * microbenchmarks/eval-code-ftl-reentry.js: Added.
2546 * microbenchmarks/eval-code-ftl.js: Added.
2547 * microbenchmarks/global-code-ftl.js: Added.
2548 * 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.
2550 2017-03-16 Caio Lima <ticaiolima@gmail.com>
2552 [ESnext] Implement Object Spread
2553 https://bugs.webkit.org/show_bug.cgi?id=167963
2555 Reviewed by Yusuke Suzuki.
2557 * stress/object-spread.js: Added.
2566 (try.let.obj.get foo):
2569 2017-03-15 Yusuke Suzuki <utatane.tea@gmail.com>
2571 [JSC] Default parameter part should be retrieved by op_get_argument opcode instead of changing arity
2572 https://bugs.webkit.org/show_bug.cgi?id=164582
2574 Reviewed by Saam Barati.
2576 * stress/function-with-defaults-inlining.js: Added.
2580 * stress/function-with-defaults-non-inlining.js: Added.
2585 2017-03-15 Yusuke Suzuki <utatane.tea@gmail.com>
2587 [DFG] ToString operation should have fixup for primitives to say this node does not have side effects
2588 https://bugs.webkit.org/show_bug.cgi?id=169544
2590 Reviewed by Saam Barati.
2592 * microbenchmarks/template-string-array.js: Added.
2594 * stress/to-string-non-cell-use.js: Added.
2598 2017-03-13 Commit Queue <commit-queue@webkit.org>
2600 Unreviewed, rolling out r213856.
2601 https://bugs.webkit.org/show_bug.cgi?id=169562
2603 Breaks JSC stress test stress/super-property-access.js.ftl-
2604 eager failing (Requested by mlam|g on #webkit).
2608 "FTL should not flush strict arguments unless it really needs
2610 https://bugs.webkit.org/show_bug.cgi?id=169519
2611 http://trac.webkit.org/changeset/213856
2613 2017-03-11 Filip Pizlo <fpizlo@apple.com>
2615 FTL should not flush strict arguments unless it really needs to
2616 https://bugs.webkit.org/show_bug.cgi?id=169519
2618 Reviewed by Mark Lam.
2620 This benchmark runs 3.5x faster thanks to this patch.
2622 * microbenchmarks/strict-arguments-no-escape.js: Added.
2627 2017-03-13 Caio Lima <ticaiolima@gmail.com>
2629 [JSC] It should be possible create a label named let when parsing Statement in non strict mode
2630 https://bugs.webkit.org/show_bug.cgi?id=168684
2632 Reviewed by Saam Barati.
2634 * ChakraCore/test/LetConst/DeclOutofBlock.baseline-jsc:
2636 2017-03-10 Saam Barati <sbarati@apple.com>
2638 WebAssembly: Make more demos run
2639 https://bugs.webkit.org/show_bug.cgi?id=165510
2640 <rdar://problem/29760310>
2642 Reviewed by Keith Miller.
2645 (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
2646 * wasm/js-api/wrapper-function.js: Added.
2648 (return.new.WebAssembly.Module):
2649 (assert.throws.makeInstance):
2650 (assert.throws.Bar):
2653 2017-03-10 Mark Lam <mark.lam@apple.com>
2655 JSC: BindingNode::bindValue doesn't increase the scope's reference count.
2656 https://bugs.webkit.org/show_bug.cgi?id=168546
2657 <rdar://problem/30589551>
2659 Reviewed by Saam Barati.
2661 * stress/regress-168546.js: Added.
2663 2017-03-09 Caio Lima <ticaiolima@gmail.com>
2665 [ESnext] Implement Object Rest - Implementing Object Rest Destructuring
2666 https://bugs.webkit.org/show_bug.cgi?id=167962
2668 Reviewed by Keith Miller.
2670 * stress/object-rest-deconstruct.js: Added.
2672 (let.assertPropDescriptor):
2680 2017-03-09 Saam Barati <sbarati@apple.com>
2682 WebAssembly: Make the Unity AngryBots demo run
2683 https://bugs.webkit.org/show_bug.cgi?id=169268
2685 Reviewed by Keith Miller.
2687 * wasm/function-tests/many-arguments-to-function.js: Added.
2688 (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):
2689 (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):
2690 (i.instance.exports.f0):
2691 (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):
2692 (instance.exports.f0):
2694 2017-03-08 Yusuke Suzuki <utatane.tea@gmail.com>
2696 [GTK] JSC test stress/arity-check-ftl-throw.js.ftl-no-cjit-validate-sampling-profiler crashing on GTK bot
2697 https://bugs.webkit.org/show_bug.cgi?id=160124
2699 Reviewed by Mark Lam.
2701 * stress/spread-forward-call-varargs-stack-overflow.js:
2703 2017-03-06 Saam Barati <sbarati@apple.com>
2705 WebAssembly: Implement the WebAssembly.instantiate API
2706 https://bugs.webkit.org/show_bug.cgi?id=165982
2707 <rdar://problem/29760110>
2709 Reviewed by Keith Miller.
2711 * wasm/js-api/web-assembly-instantiate.js: Added.
2712 (assert.eq.async.test):
2714 (assert.truthy.async.test):
2717 2017-03-06 Saam Barati <sbarati@apple.com>
2719 Unreviewed. Fix test expected error message.
2721 * wasm/js-api/element.js:
2724 2017-03-06 Caio Lima <ticaiolima@gmail.com>
2726 op_get_by_id_with_this should use inline caching
2727 https://bugs.webkit.org/show_bug.cgi?id=162124
2729 Reviewed by Saam Barati.
2731 * microbenchmarks/super-getter.js: Added.
2732 (A.prototype.get f):
2734 (B.prototype.get f):
2736 * stress/super-force-ic-fail.js: Added.
2742 * stress/super-get-by-id.js: Added.
2745 (Base.prototype.get name):
2746 (Base.prototype.set name):
2747 (Subclass.prototype.get name):
2751 (PolymorphicSubclass.prototype.get value):
2752 (PolymorphicSubclass):
2755 (MegamorphicSubclass.prototype.get value):
2756 (MegamorphicSubclass):
2757 (let.subObj.get value):
2761 (BaseException.prototype.get name):
2762 (SubclassException.prototype.get name):
2763 (SubclassException):
2765 (prototype.get name):
2766 (SubclassExceptionComplex.prototype.get name):
2767 (SubclassExceptionComplex):
2768 * stress/super-getter-reset-ic.js: Added.
2772 2017-03-06 Saam Barati <sbarati@apple.com>
2774 WebAssembly: implement init_expr for Element
2775 https://bugs.webkit.org/show_bug.cgi?id=165888
2776 <rdar://problem/29760199>
2778 Reviewed by Keith Miller.
2780 * wasm/Builder_WebAssemblyBinary.js:
2781 (const.emitters.Element):
2783 * wasm/js-api/element.js:
2785 (badInstantiation.makeModule):
2786 (badInstantiation.test):
2788 * wasm/js-api/global-error.js:
2790 2017-03-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
2792 [JSC] [Linux] Test stress/spread-forward-call-varargs-stack-overflow.js fails
2793 https://bugs.webkit.org/show_bug.cgi?id=169206
2795 Unreviewed test gardening.
2797 * stress/spread-forward-call-varargs-stack-overflow.js: Skip on Linux platforms.
2799 2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com>
2801 [JSC] Allow indexed module namespace object fields
2802 https://bugs.webkit.org/show_bug.cgi?id=168870
2804 Reviewed by Saam Barati.
2806 * wasm/spec-tests/names.wast.js:
2808 2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com>
2810 Null pointer crash when loading module with unresolved import also as a script file
2811 https://bugs.webkit.org/show_bug.cgi?id=168971
2813 Reviewed by Saam Barati.
2815 * stress/re-execute-error-module.js: Added.
2818 * stress/resources/error-module.js: Added.
2820 2017-03-02 Keith Miller <keith_miller@apple.com>
2822 WebAssemblyFunction should have Function.prototype as its prototype
2823 https://bugs.webkit.org/show_bug.cgi?id=169101
2825 Reviewed by Filip Pizlo.
2827 * wasm/js-api/web-assembly-function.js: Added.
2829 2017-02-28 Oleksandr Skachkov <gskachkov@gmail.com>
2831 Use of arguments in arrow function is slow
2832 https://bugs.webkit.org/show_bug.cgi?id=168829
2834 Reviewed by Saam Barati.
2836 * microbenchmarks/arrowfunciton-direct-arguments.js: Added.
2838 * microbenchmarks/arrowfunciton-reference-arguments.js: Added.
2841 2017-02-27 Commit Queue <commit-queue@webkit.org>
2843 Unreviewed, rolling out r213019.
2844 https://bugs.webkit.org/show_bug.cgi?id=168925
2846 "It broke 32-bit jsc tests in debug builds" (Requested by
2847 saamyjoon on #webkit).
2851 "op_get_by_id_with_this should use inline caching"
2852 https://bugs.webkit.org/show_bug.cgi?id=162124
2853 http://trac.webkit.org/changeset/213019
2855 2017-02-27 JF Bastien <jfbastien@apple.com>
2857 WebAssembly: miscellaneous spec fixes part deux
2858 https://bugs.webkit.org/show_bug.cgi?id=168861
2860 Reviewed by Keith Miller.
2862 * wasm.yaml: more passing tests
2863 * wasm/Builder.js: use a Map instead of an Object for the function
2864 index space, because Number entries such as 0 were colliding with
2865 string entries such as "0". This in turn requires some hashing of
2866 objects which are inserted, because Map uses Object's insertion
2867 order when comparing.
2868 (export.default.Builder):
2869 (export.default.Builder.prototype._functionIndexSpaceKeyHash):
2870 (export.default.Builder.prototype._registerFunctionToIndexSpace):
2871 (export.default.Builder.prototype._getFunctionFromIndexSpace):
2872 * wasm/js-api/test_Instance.js: add a FIXME test
2873 * wasm/spec-tests/memory.wast.js:
2874 (assert_unlinkable):
2875 * wasm/spec-tests/names.wast.js:
2877 2017-02-26 Caio Lima <ticaiolima@gmail.com>
2879 op_get_by_id_with_this should use inline caching
2880 https://bugs.webkit.org/show_bug.cgi?id=162124
2882 Reviewed by Saam Barati.
2884 * microbenchmarks/super-getter.js: Added.
2885 (A.prototype.get f):
2887 (B.prototype.get f):
2889 * stress/super-force-ic-fail.js: Added.
2895 * stress/super-get-by-id.js: Added.
2898 (Base.prototype.get name):
2899 (Base.prototype.set name):
2900 (Subclass.prototype.get name):
2904 (PolymorphicSubclass.prototype.get value):
2905 (PolymorphicSubclass):
2908 (MegamorphicSubclass.prototype.get value):
2909 (MegamorphicSubclass):
2910 (let.subObj.get value):
2914 (BaseException.prototype.get name):
2915 (SubclassException.prototype.get name):
2916 (SubclassException):
2918 (prototype.get name):
2919 (SubclassExceptionComplex.prototype.get name):
2920 (SubclassExceptionComplex):
2921 * stress/super-getter-reset-ic.js: Added.
2925 2017-02-24 JF Bastien <jfbastien@apple.com>
2927 WebAssembly: miscellaneous spec fixes
2928 https://bugs.webkit.org/show_bug.cgi?id=168822
2930 Reviewed by Saam Barati.
2932 * wasm.yaml: mark some skip tests as normal, now that they pass
2933 * wasm/Builder.js: error message was wrong, causing extra error if hit
2934 * wasm/js-api/global-error.js: new tests
2936 * wasm/spec-tests/call.wast.js: comment out stack check tests
2937 * wasm/spec-tests/call_indirect.wast.js: comment out stack check tests
2938 * wasm/spec-tests/fac.wast.js: comment out stack check tests
2939 * wasm/spec-tests/float_exprs.wast.js: wabt is wrong, bug reported, we should update
2940 * wasm/spec-tests/imports.wast.js: bug in old wabt, fixed in recent wabt
2941 (assert_unlinkable):
2943 2017-02-23 Saam Barati <sbarati@apple.com>
2945 Intrinsicify parseInt
2946 https://bugs.webkit.org/show_bug.cgi?id=168627
2948 Reviewed by Filip Pizlo.
2950 * stress/parse-int-intrinsic.js: Added.
2952 (testIntrinsic.let.s):
2954 (testIntrinsic2.baz):
2956 (testIntrinsic3.foo):
2958 (testIntrinsic4.foo):
2960 (testIntrinsic5.foo):
2962 (testIntrinsic6.foo):
2964 (testIntrinsic7.foo):
2967 2017-02-23 JF Bastien <jfbastien@apple.com>
2969 WebAssembly: support 0x1 version
2970 https://bugs.webkit.org/show_bug.cgi?id=168672
2972 Reviewed by Keith Miller.
2974 Update the version number for all the tests. Note that the spec
2975 tests are only updated with a new version number because spec+wabt
2976 aren't ready for 0x1 yet. This is tracked by bug #168784.
2978 * wasm/import-spec-tests.rb: use the new spec repository layout
2979 * wasm/js-api/test_basic_api.js:
2980 * wasm/self-test/test_BuilderWebAssembly.js:
2983 * wasm/spec-tests/address.wast.js:
2984 * wasm/spec-tests/binary.wast.js:
2985 * wasm/spec-tests/block.wast.js:
2986 * wasm/spec-tests/br.wast.js:
2987 * wasm/spec-tests/br_if.wast.js:
2988 * wasm/spec-tests/br_table.wast.js:
2989 * wasm/spec-tests/break-drop.wast.js:
2990 * wasm/spec-tests/call.wast.js:
2991 * wasm/spec-tests/call_indirect.wast.js:
2992 * wasm/spec-tests/comments.wast.js:
2993 * wasm/spec-tests/conversions.wast.js:
2994 * wasm/spec-tests/custom_section.wast.js:
2995 * wasm/spec-tests/endianness.wast.js:
2996 * wasm/spec-tests/exports.wast.js:
2997 * wasm/spec-tests/f32.wast.js:
2998 * wasm/spec-tests/f32_cmp.wast.js:
2999 * wasm/spec-tests/f64.wast.js:
3000 * wasm/spec-tests/f64_cmp.wast.js:
3001 * wasm/spec-tests/fac.wast.js:
3002 * wasm/spec-tests/float_exprs.wast.js:
3003 * wasm/spec-tests/float_literals.wast.js:
3004 * wasm/spec-tests/float_memory.wast.js:
3005 * wasm/spec-tests/float_misc.wast.js:
3006 * wasm/spec-tests/forward.wast.js:
3007 * wasm/spec-tests/func.wast.js:
3008 * wasm/spec-tests/func_ptrs.wast.js:
3009 * wasm/spec-tests/get_local.wast.js:
3010 * wasm/spec-tests/globals.wast.js:
3011 * wasm/spec-tests/i32.wast.js:
3012 * wasm/spec-tests/i64.wast.js:
3013 * wasm/spec-tests/imports.wast.js:
3014 * wasm/spec-tests/int_exprs.wast.js:
3015 * wasm/spec-tests/int_literals.wast.js:
3016 * wasm/spec-tests/left-to-right.wast.js:
3017 * wasm/spec-tests/linking.wast.js:
3018 * wasm/spec-tests/loop.wast.js:
3019 * wasm/spec-tests/memory.wast.js:
3020 * wasm/spec-tests/memory_redundancy.wast.js:
3021 * wasm/spec-tests/memory_trap.wast.js:
3022 * wasm/spec-tests/names.wast.js:
3023 * wasm/spec-tests/nop.wast.js:
3024 * wasm/spec-tests/resizing.wast.js:
3025 * wasm/spec-tests/return.wast.js:
3026 * wasm/spec-tests/select.wast.js:
3027 * wasm/spec-tests/set_local.wast.js:
3028 * wasm/spec-tests/skip-stack-guard-page.wast.js:
3029 * wasm/spec-tests/stack.wast.js:
3030 * wasm/spec-tests/start.wast.js:
3031 * wasm/spec-tests/store_retval.wast.js:
3032 * wasm/spec-tests/switch.wast.js:
3033 * wasm/spec-tests/tee_local.wast.js:
3034 * wasm/spec-tests/traps.wast.js:
3035 * wasm/spec-tests/typecheck.wast.js:
3036 * wasm/spec-tests/unreachable.wast.js:
3037 * wasm/spec-tests/unwind.wast.js:
3040 2017-02-22 Yusuke Suzuki <utatane.tea@gmail.com>
3042 JSModuleNamespace object should have IC
3043 https://bugs.webkit.org/show_bug.cgi?id=160590
3045 Reviewed by Saam Barati.
3047 * modules/module-assert-access-binding.js: Added.
3048 * modules/module-assert-access-namespace.js: Added.
3049 * modules/namespace-empty.js: Added.
3050 (from.string_appeared_here.access):
3052 * stress/module-namespace-access-change.js: Added.
3055 (import.string_appeared_here.then):
3056 * stress/module-namespace-access-non-constant.js: Added.
3058 (import.string_appeared_here.then):
3059 * stress/module-namespace-access-poly.js: Added.
3062 (import.string_appeared_here.then):
3063 * stress/module-namespace-access-transitive-exports.js: Added.
3065 (import.string_appeared_here.then):
3066 * stress/module-namespace-access.js: Added.
3068 (import.string_appeared_here.then):
3069 * stress/resources/module-namespace-access-transitive-exports-2.js: Added.
3072 * stress/resources/module-namespace-access-transitive-exports.js: Added.
3073 * stress/resources/module-namespace-access.js: Added.
3077 2017-02-20 Filip Pizlo <fpizlo@apple.com>
3079 The collector thread should only start when the mutator doesn't have heap access
3080 https://bugs.webkit.org/show_bug.cgi?id=167737
3082 Reviewed by Keith Miller.
3084 Add versions of splay that flash heap access, to simulate what might happen if a third-party app
3085 was running concurrent GC. In this case, we might actually start the collector thread.
3087 * stress/splay-flash-access-1ms.js: Added.
3089 (this.Setup.setup.setup):
3090 (this.TearDown.tearDown.tearDown):
3093 (BenchmarkResult.prototype.valueOf):
3097 (BenchmarkSuite.ResetRNG):
3099 (BenchmarkSuite.RunSuites):
3100 (BenchmarkSuite.CountBenchmarks):
3101 (BenchmarkSuite.GeometricMean):
3102 (BenchmarkSuite.GeometricMeanTime):
3103 (BenchmarkSuite.AverageAbovePercentile):
3104 (BenchmarkSuite.GeometricMeanLatency):
3105 (BenchmarkSuite.FormatScore):
3106 (BenchmarkSuite.prototype.NotifyStep):
3107 (BenchmarkSuite.prototype.NotifyResult):
3108 (BenchmarkSuite.prototype.NotifyError):
3109 (BenchmarkSuite.prototype.RunSingleBenchmark):
3113 (BenchmarkSuite.prototype.RunStep):
3114 (GeneratePayloadTree):
3122 (SplayTree.prototype.isEmpty):
3123 (SplayTree.prototype.insert):
3124 (SplayTree.prototype.remove):
3125 (SplayTree.prototype.find):
3126 (SplayTree.prototype.findMax):
3127 (SplayTree.prototype.findGreatestLessThan):
3128 (SplayTree.prototype.exportKeys):
3129 (SplayTree.prototype.splay_):
3131 (SplayTree.Node.prototype.traverse_):
3135 (averageAbovePercentile):
3137 * stress/splay-flash-access.js: Added.
3139 (this.Setup.setup.setup):
3140 (this.TearDown.tearDown.tearDown):
3143 (BenchmarkResult.prototype.valueOf):
3147 (BenchmarkSuite.ResetRNG):
3149 (BenchmarkSuite.RunSuites):
3150 (BenchmarkSuite.CountBenchmarks):
3151 (BenchmarkSuite.GeometricMean):
3152 (BenchmarkSuite.GeometricMeanTime):
3153 (BenchmarkSuite.AverageAbovePercentile):
3154 (BenchmarkSuite.GeometricMeanLatency):
3155 (BenchmarkSuite.FormatScore):
3156 (BenchmarkSuite.prototype.NotifyStep):
3157 (BenchmarkSuite.prototype.NotifyResult):
3158 (BenchmarkSuite.prototype.NotifyError):
3159 (BenchmarkSuite.prototype.RunSingleBenchmark):
3163 (BenchmarkSuite.prototype.RunStep):
3164 (GeneratePayloadTree):
3172 (SplayTree.prototype.isEmpty):
3173 (SplayTree.prototype.insert):
3174 (SplayTree.prototype.remove):
3175 (SplayTree.prototype.find):
3176 (SplayTree.prototype.findMax):
3177 (SplayTree.prototype.findGreatestLessThan):
3178 (SplayTree.prototype.exportKeys):
3179 (SplayTree.prototype.splay_):
3181 (SplayTree.Node.prototype.traverse_):
3185 (averageAbovePercentile):
3188 2017-02-21 Ryan Haddad <ryanhaddad@apple.com>
3190 Unreviewed, rolling out r212712.
3192 This change broke the CLoop build.
3196 "JSModuleNamespace object should have IC"
3197 https://bugs.webkit.org/show_bug.cgi?id=160590
3198 http://trac.webkit.org/changeset/212712
3200 2017-02-21 Yusuke Suzuki <utatane.tea@gmail.com>
3202 JSModuleNamespace object should have IC
3203 https://bugs.webkit.org/show_bug.cgi?id=160590
3205 Reviewed by Saam Barati.
3207 * modules/module-assert-access-binding.js: Added.
3208 * modules/module-assert-access-namespace.js: Added.
3209 * modules/namespace-empty.js: Added.
3210 (from.string_appeared_here.access):
3212 * stress/module-namespace-access-change.js: Added.
3215 (import.string_appeared_here.then):
3216 * stress/module-namespace-access-non-constant.js: Added.
3218 (import.string_appeared_here.then):
3219 * stress/module-namespace-access-poly.js: Added.
3222 (import.string_appeared_here.then):
3223 * stress/module-namespace-access-transitive-exports.js: Added.
3225 (import.string_appeared_here.then):
3226 * stress/module-namespace-access.js: Added.
3228 (import.string_appeared_here.then):
3229 * stress/resources/module-namespace-access-transitive-exports-2.js: Added.
3232 * stress/resources/module-namespace-access-transitive-exports.js: Added.
3233 * stress/resources/module-namespace-access.js: Added.
3237 2017-02-21 Yusuke Suzuki <utatane.tea@gmail.com>
3239 ASSERTION FAILED: "!scope.exception()" with Object.isSealed/isFrozen and uninitialized module bindings
3240 https://bugs.webkit.org/show_bug.cgi?id=168605
3242 Reviewed by Saam Barati.
3244 * modules/module-namespace-is-frozen.js: Added.
3245 (from.string_appeared_here.shouldThrow):
3247 * modules/module-namespace-is-sealed.js: Added.
3248 (from.string_appeared_here.shouldThrow):
3251 2017-02-19 Commit Queue <commit-queue@webkit.org>
3253 Unreviewed, rolling out r212466.
3254 https://bugs.webkit.org/show_bug.cgi?id=168577
3256 causes crashes on AArch64 on linux, maybe it's causing crashes
3257 on iOS too (Requested by pizlo on #webkit).
3261 "The collector thread should only start when the mutator
3262 doesn't have heap access"
3263 https://bugs.webkit.org/show_bug.cgi?id=167737
3264 http://trac.webkit.org/changeset/212466
3266 2017-02-10 Filip Pizlo <fpizlo@apple.com>
3268 The collector thread should only start when the mutator doesn't have heap access
3269 https://bugs.webkit.org/show_bug.cgi?id=167737
3271 Reviewed by Keith Miller.
3273 Add versions of splay that flash heap access, to simulate what might happen if a third-party app
3274 was running concurrent GC. In this case, we might actually start the collector thread.
3276 * stress/splay-flash-access-1ms.js: Added.
3278 (this.Setup.setup.setup):
3279 (this.TearDown.tearDown.tearDown):
3282 (BenchmarkResult.prototype.valueOf):
3286 (BenchmarkSuite.ResetRNG):
3288 (BenchmarkSuite.RunSuites):
3289 (BenchmarkSuite.CountBenchmarks):
3290 (BenchmarkSuite.GeometricMean):
3291 (BenchmarkSuite.GeometricMeanTime):
3292 (BenchmarkSuite.AverageAbovePercentile):
3293 (BenchmarkSuite.GeometricMeanLatency):
3294 (BenchmarkSuite.FormatScore):
3295 (BenchmarkSuite.prototype.NotifyStep):
3296 (BenchmarkSuite.prototype.NotifyResult):
3297 (BenchmarkSuite.prototype.NotifyError):
3298 (BenchmarkSuite.prototype.RunSingleBenchmark):
3302 (BenchmarkSuite.prototype.RunStep):
3303 (GeneratePayloadTree):
3311 (SplayTree.prototype.isEmpty):
3312 (SplayTree.prototype.insert):
3313 (SplayTree.prototype.remove):
3314 (SplayTree.prototype.find):
3315 (SplayTree.prototype.findMax):
3316 (SplayTree.prototype.findGreatestLessThan):
3317 (SplayTree.prototype.exportKeys):
3318 (SplayTree.prototype.splay_):
3320 (SplayTree.Node.prototype.traverse_):
3324 (averageAbovePercentile):
3326 * stress/splay-flash-access.js: Added.
3328 (this.Setup.setup.setup):
3329 (this.TearDown.tearDown.tearDown):
3332 (BenchmarkResult.prototype.valueOf):
3336 (BenchmarkSuite.ResetRNG):
3338 (BenchmarkSuite.RunSuites):
3339 (BenchmarkSuite.CountBenchmarks):
3340 (BenchmarkSuite.GeometricMean):
3341 (BenchmarkSuite.GeometricMeanTime):
3342 (BenchmarkSuite.AverageAbovePercentile):
3343 (BenchmarkSuite.GeometricMeanLatency):
3344 (BenchmarkSuite.FormatScore):
3345 (BenchmarkSuite.prototype.NotifyStep):
3346 (BenchmarkSuite.prototype.NotifyResult):
3347 (BenchmarkSuite.prototype.NotifyError):
3348 (BenchmarkSuite.prototype.RunSingleBenchmark):
3352 (BenchmarkSuite.prototype.RunStep):
3353 (GeneratePayloadTree):
3361 (SplayTree.prototype.isEmpty):
3362 (SplayTree.prototype.insert):
3363 (SplayTree.prototype.remove):
3364 (SplayTree.prototype.find):
3365 (SplayTree.prototype.findMax):
3366 (SplayTree.prototype.findGreatestLessThan):
3367 (SplayTree.prototype.exportKeys):
3368 (SplayTree.prototype.splay_):
3370 (SplayTree.Node.prototype.traverse_):
3374 (averageAbovePercentile):
3377 2017-02-16 Yusuke Suzuki <utatane.tea@gmail.com>
3379 [JSC] Update module namespace object according to the latest ECMA262
3380 https://bugs.webkit.org/show_bug.cgi?id=168280
3382 Reviewed by Saam Barati.
3384 * modules/namespace-object-symbol-iterator-name.js:
3385 * modules/namespace-object-typed-array-fast-path.js:
3386 * modules/namespace.js:
3387 (shouldBe.JSON.stringify.Reflect.getOwnPropertyDescriptor):
3390 2017-02-11 Yusuke Suzuki <utatane.tea@gmail.com>
3392 [JSC] Implement (Shared)ArrayBuffer.prototype.byteLength
3393 https://bugs.webkit.org/show_bug.cgi?id=166476
3395 Reviewed by Saam Barati.
3397 * ChakraCore/test/typedarray/arraybufferType.baseline-jsc:
3398 * stress/array-buffer-byte-length.js: Added.
3402 * stress/reflect-set.js:
3404 2017-02-10 Saam Barati <sbarati@apple.com>
3406 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
3407 https://bugs.webkit.org/show_bug.cgi?id=168140
3408 <rdar://problem/30205880>
3410 Reviewed by Filip Pizlo.
3412 * stress/allocation-sinking-puthint-control-flow.js: Added.
3421 2017-02-09 Mark Lam <mark.lam@apple.com>
3423 B3::Procedure::deleteOrphans() should neutralize upsilons with dead phis.
3424 https://bugs.webkit.org/show_bug.cgi?id=167437
3425 <rdar://problem/30198083>
3427 Reviewed by Filip Pizlo.
3429 * stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js: Added.
3431 2017-02-09 Saam Barati <sbarati@apple.com>
3433 Sloppy mode: We don't properly hoist functions names "arguments" when we have a non-simple parameter list
3434 https://bugs.webkit.org/show_bug.cgi?id=167319
3435 <rdar://problem/30149432>
3437 Reviewed by Mark Lam.
3439 * stress/sloppy-mode-hoist-arguments-function-non-simple-parameter-list.js: Added.
3447 2017-02-09 Mark Lam <mark.lam@apple.com>
3449 Fix max length check in ArrayPrototype.js' concatSlowPath().
3450 https://bugs.webkit.org/show_bug.cgi?id=167270
3451 <rdar://problem/30128133>
3453 Reviewed by Filip Pizlo.
3455 * stress/array-prototype-concat-of-long-spliced-arrays.js: Added.
3456 * stress/array-prototype-concat-of-long-spliced-arrays2.js: Added.
3458 2017-02-09 Keith Miller <keith_miller@apple.com>
3460 We should not allow Function.caller to be used on native functions
3461 https://bugs.webkit.org/show_bug.cgi?id=165628
3463 Reviewed by Mark Lam.
3465 * stress/caller-native-code.js: Added.
3468 2017-02-04 Yusuke Suzuki <utatane.tea@gmail.com>
3470 [JSC] Add operationToInt32SensibleSlow to optimize kraken pbkdf2 and sha256
3471 https://bugs.webkit.org/show_bug.cgi?id=167736
3473 Reviewed by Saam Barati.
3475 * stress/to-int32-sensible.js: Added.
3480 2017-02-01 Yusuke Suzuki <utatane.tea@gmail.com>
3482 Unreviewed, remove loop
3483 https://bugs.webkit.org/show_bug.cgi?id=167694
3486 Original bug can be tested even without this loop.
3488 * stress/arity-fixup-should-not-touch-stack-area-below-sp.js:
3490 2017-02-01 Yusuke Suzuki <utatane.tea@gmail.com>
3492 ArityFixup should adjust SP first
3493 https://bugs.webkit.org/show_bug.cgi?id=167239
3495 Reviewed by Michael Saboff.
3497 Significantly large arity fixup reliably causes this crash.
3499 * stress/arity-fixup-should-not-touch-stack-area-below-sp.js: Added.
3501 2017-01-31 Filip Pizlo <fpizlo@apple.com>
3503 Move slow-running microbenchmarks out of JSTests/microbenchmarks
3504 https://bugs.webkit.org/show_bug.cgi?id=167676
3506 Reviewed by Saam Barati.
3508 The microbenchmarks directory is profitable when it's cheap to run. This change moves very slow
3509 tests (>=200ms running time on my machine) and puts them in JSTests/slowMicrobenchmarks instead.
3510 That directory is run only through `slow!; defaultQuickRun` and is not run by run-jsc-benchmarks.
3511 This is a big progression in test running time. But because it frontloads more slow tests, the
3512 tests will seem to run more slowly when you first start the test runner.
3514 * microbenchmarks/default-derived-constructor.js: Removed.
3515 * microbenchmarks/dense-set.js: Removed.
3516 * microbenchmarks/ftl-polymorphic-div.js: Removed.
3517 * microbenchmarks/ftl-polymorphic-mul.js: Removed.
3518 * microbenchmarks/function-bind-inlining.js: Removed.
3519 * microbenchmarks/function-bind-no-inlining.js: Removed.
3520 * microbenchmarks/large-map-iteration-with-additions.js: Removed.
3521 * microbenchmarks/large-map-iteration-with-mutation.js: Removed.
3522 * microbenchmarks/map-get-get-cse.js: Removed.
3523 * microbenchmarks/misc-bugs-847389-jpeg2000.js: Removed.
3524 * microbenchmarks/spread-small-array.js: Removed.
3525 * microbenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js: Removed.
3526 * slowMicrobenchmarks: Added.
3527 * slowMicrobenchmarks.yaml: Added.
3528 * slowMicrobenchmarks/README: Added.
3529 * slowMicrobenchmarks/default-derived-constructor.js: Copied from JSTests/microbenchmarks/default-derived-constructor.js.
3530 * slowMicrobenchmarks/dense-set.js: Copied from JSTests/microbenchmarks/dense-set.js.
3531 * slowMicrobenchmarks/ftl-polymorphic-div.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-div.js.
3532 * slowMicrobenchmarks/ftl-polymorphic-mul.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-mul.js.
3533 * slowMicrobenchmarks/function-bind-inlining.js: Copied from JSTests/microbenchmarks/function-bind-inlining.js.
3534 * slowMicrobenchmarks/function-bind-no-inlining.js: Copied from JSTests/microbenchmarks/function-bind-no-inlining.js.
3535 * slowMicrobenchmarks/large-map-iteration-with-additions.js: Copied from JSTests/microbenchmarks/large-map-iteration-with-additions.js.
3536 * slowMicrobenchmarks/large-map-iteration-with-mutation.js: Copied from JSTests/microbenchmarks/large-map-iteration-with-mutation.js.
3537 * slowMicrobenchmarks/map-get-get-cse.js: Copied from JSTests/microbenchmarks/map-get-get-cse.js.
3538 * slowMicrobenchmarks/misc-bugs-847389-jpeg2000.js: Copied from JSTests/microbenchmarks/misc-bugs-847389-jpeg2000.js.
3539 * slowMicrobenchmarks/spread-small-array.js: Copied from JSTests/microbenchmarks/spread-small-array.js.
3540 * slowMicrobenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js: Copied from JSTests/microbenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js.
3542 2017-01-30 Yusuke Suzuki <utatane.tea@gmail.com>
3544 [JSC] Do not reject WebAssembly.compile() with Exception
3545 https://bugs.webkit.org/show_bug.cgi?id=167585
3547 Reviewed by Mark Lam.
3549 * wasm/js-api/Module-compile.js:
3550 (async.testPromiseAPI):
3552 2017-01-27 Yusuke Suzuki <utatane.tea@gmail.com>
3554 Lift template escape sequence restrictions in tagged templates
3555 https://bugs.webkit.org/show_bug.cgi?id=166871
3557 Reviewed by Saam Barati.
3559 Update the error messages and add new tests.
3561 * ChakraCore/test/es6/unicode_6_identifier_Blue524737.baseline-jsc:
3562 * stress/lift-template-literal.js: Added.
3564 (testTag.return.tag):
3566 * stress/template-literal-syntax.js:
3568 2017-01-26 Mark Lam <mark.lam@apple.com>
3570 Fix missing exception check in genericTypedArrayViewProtoFuncSet().
3571 https://bugs.webkit.org/show_bug.cgi?id=166812
3572 <rdar://problem/29916672>
3574 Reviewed by Saam Barati.
3576 * stress/regress-166812.js: Added.
3578 2017-01-26 Commit Queue <commit-queue@webkit.org>
3580 Unreviewed, rolling out r211224.
3581 https://bugs.webkit.org/show_bug.cgi?id=167479
3583 "It was a Kraken performance regression" (Requested by
3584 saamyjoon on #webkit).
3588 "OSR entry: delay outer-loop compilation when at inner-loop"
3589 https://bugs.webkit.org/show_bug.cgi?id=167149
3590 http://trac.webkit.org/changeset/211224
3592 2017-01-26 JF Bastien <jfbastien@apple.com>
3594 OSR entry: delay outer-loop compilation when at inner-loop
3595 https://bugs.webkit.org/show_bug.cgi?id=167149
3597 Reviewed by Filip Pizlo.
3599 Try to be mean to OSR entry by using nested loops, and having
3600 non-int32 types or truly varying types.
3602 Mandelbrot currently never tiers up to FTL because it exits too
3603 many times before this. That shouldn't happen because it's just
3604 numbers and int32s. I'll file a bug to fix this.
3606 * microbenchmarks/mandelbrot.js: Added.
3609 * microbenchmarks/nonude.js: Added.
3610 (Array.prototype.remove):
3616 2017-01-25 Saam Barati <sbarati@apple.com>
3618 WebAssembly JS API: coerce return values from imports
3619 https://bugs.webkit.org/show_bug.cgi?id=165480
3620 <rdar://problem/29760318>
3622 Reviewed by Yusuke Suzuki.
3624 * wasm/function-tests/function-import-return-value.js: Added.
3625 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.tests.x.assert.eq):
3626 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.tests.Math.fround):
3627 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.let.type.of.Reflect.ownKeys):
3632 2017-01-25 Filip Pizlo <fpizlo@apple.com>
3634 jsc.cpp should have the $.agent stuff for testing SAB
3635 https://bugs.webkit.org/show_bug.cgi?id=167431
3637 Reviewed by Saam Barati.
3639 Add a very basic test of Atomics using $.agent. This is based on
3640 LayoutTests/workers/sab/simple.html.
3642 * stress/lars-sab-workers.js: Added.
3648 2017-01-24 Filip Pizlo <fpizlo@apple.com>
3650 Atomics.store should return the int-converted value according to toInteger
3651 https://bugs.webkit.org/show_bug.cgi?id=167399
3653 Reviewed by Saam Barati.
3655 * stress/atomics-add-uint32.js: Added.
3656 * stress/atomics-store-return.js: Fix the test to match what the spec wants.
3658 2017-01-24 Yusuke Suzuki <utatane.tea@gmail.com>
3660 [JSC] Optimize Number#toString with Int52
3661 https://bugs.webkit.org/show_bug.cgi?id=167303
3663 Reviewed by Sam Weinig.
3665 * stress/to-string-with-int52.js: Added.
3668 2017-01-24 Filip Pizlo <fpizlo@apple.com>
3670 Atomics.store should return the int-converted value, not the value that it stored
3671 https://bugs.webkit.org/show_bug.cgi?id=167395
3673 Reviewed by Saam Barati.
3675 * stress/atomics-store-return.js: Added.
3677 2017-01-24 Filip Pizlo <fpizlo@apple.com>
3679 -0 is a valid array index and AtomicsObject should know this
3680 https://bugs.webkit.org/show_bug.cgi?id=167386
3682 Reviewed by Mark Lam.
3684 * stress/atomics-neg-zero.js: Added.
3686 2017-01-23 Saam Barati <sbarati@apple.com>
3688 https://bugs.webkit.org/show_bug.cgi?id=167247
3689 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
3690 <rdar://problem/30121809>
3692 Reviewed by Filip Pizlo.
3694 * stress/spread-consults-correct-global-object.js: Added.
3697 * stress/spread-correct-global-object-on-exception.js: Added.
3700 (const.objectText.let.o.Symbol.iterator):
3703 2017-01-21 Yusuke Suzuki <utatane.tea@gmail.com>
3705 dynamic import is ambiguous with import declaration at module code
3706 https://bugs.webkit.org/show_bug.cgi?id=167098
3708 Reviewed by Darin Adler.
3710 * modules/import-call.js: Added.
3711 (from.string_appeared_here.import.string_appeared_here.then):
3712 * modules/import-call/main.js: Added.
3713 * stress/import-syntax.js:
3716 2017-01-19 Skachkov Oleksandr <gskachkov@gmail.com>
3718 "this" missing after await in async arrow function
3719 https://bugs.webkit.org/show_bug.cgi?id=166919
3721 Reviewed by Saam Barati.
3723 * stress/async-arrow-functions-lexical-binding-in-class.js:
3724 (ChildClass.prototype.asyncThisPropWithAwaitBody):
3725 (ChildClass.prototype.asyncThisPropInEvalWithAwaitBody):
3726 (ChildClass.prototype.asyncThisValueBodyWithAwait):
3727 (ChildClass.prototype.asyncThisValueInEvalWithAwaitBody):
3730 (ChildClass3.prototype.classValue):
3731 (ChildClass3.prototype.get classProperty):
3732 * stress/async-arrow-functions-lexical-new.target-binding.js:
3735 2017-01-16 Filip Pizlo <fpizlo@apple.com>
3737 Make opaque root scanning truly constraint-based
3738 https://bugs.webkit.org/show_bug.cgi?id=165760
3740 Reviewed by Geoffrey Garen.