Skip flaky JSC test stress/test-finally.js
[WebKit-https.git] / JSTests / ChangeLog
1 2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>
2
3         Skip flaky JSC test stress/test-finally.js
4         https://bugs.webkit.org/show_bug.cgi?id=168587
5
6         Unreviewed test gardening.
7
8         * stress/test-finally.js:
9
10 2017-05-30  Oleksandr Skachkov  <gskachkov@gmail.com>
11
12         Prevent async methods named 'function' in Object literal
13         https://bugs.webkit.org/show_bug.cgi?id=172660
14
15         Reviewed by Saam Barati.
16
17         * stress/async-await-syntax.js:
18         (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
19
20 2017-05-30  Oleksandr Skachkov  <gskachkov@gmail.com>
21
22         ASSERTION FAILED: generator.isConstructor() || generator.derivedContextType() == DerivedContextType::DerivedConstructorContext
23         https://bugs.webkit.org/show_bug.cgi?id=171274
24
25         Reviewed by Saam Barati.
26
27         * stress/async-arrow-functions-lexical-binding-in-class.js:
28         (shouldBeAsync):
29         (shouldBeAsyncAndStoreBind):
30         (promise.new.Promise):
31         (ChildClass4):
32         (ChildClass4.prototype.classValue):
33         (ChildClass4.prototype.get classProperty):
34         * stress/async-arrow-functions-lexical-super-binding.js:
35         (A):
36         (const.childA1.new.prototype.var.f.async):
37         (const.childA1.new.var):
38         (const.childA1.new):
39         (const.childA2.new.prototype.var.f.async):
40         (const.childA2.new.var):
41         (const.childA2.new):
42         (const.childA3.new.prototype.var.f.async):
43         (const.childA3.new.var):
44         (const.childA3.new):
45         (try.childA4.new.prototype.var.f.async):
46         (try.childA4.new.var):
47         (try.childA4.new):
48         (catch):
49         (const.childA5.new.prototype.var.f.async):
50         (const.childA5.new.var):
51         (const.childA5.new):
52         (checkClass):
53         (checkClass.new.prototype.var.f.async):
54         (checkClass.new.var):
55         (checkClass.new):
56         (checkClass.new.prototype.method):
57         (checkClass.new.prototype.prop):
58
59 2017-05-27  Yusuke Suzuki  <utatane.tea@gmail.com>
60
61         [JSC] Map and Set constructors should have fast path for cloning
62         https://bugs.webkit.org/show_bug.cgi?id=172413
63
64         Reviewed by Saam Barati.
65
66         * stress/map-clone-instance-iterator-change.js: Added.
67         (shouldBe):
68         (map.Symbol.iterator):
69         * stress/map-clone-iterator-change.js: Added.
70         (shouldBe):
71         (Map.prototype.Symbol.iterator):
72         * stress/map-clone-next-change.js: Added.
73         (shouldBe):
74         (map.Symbol.iterator.__proto__.next):
75         * stress/map-clone.js: Added.
76         (shouldBe):
77         (Map.prototype):
78         * stress/map-inherit-set.js: Added.
79         (shouldBe):
80         (DerivedMap):
81         (set for):
82         * stress/set-clone-instance-iterator-change.js: Added.
83         (shouldBe):
84         (set Symbol.iterator):
85         * stress/set-clone-iterator-change.js: Added.
86         (shouldBe):
87         (set Set.prototype.Symbol.iterator):
88         * stress/set-clone-next-change.js: Added.
89         (shouldBe):
90         (set Symbol.iterator.__proto__.next):
91         * stress/set-clone.js: Added.
92         (shouldBe):
93         (set Set.prototype.add):
94         * stress/set-inherit-add.js: Added.
95         (shouldBe):
96         (DerivedSet.set add):
97
98 2017-05-26  Ryan Haddad  <ryanhaddad@apple.com>
99
100         Unreviewed, rolling out r217458.
101
102         This change caused 55 JSC test failures.
103
104         Reverted changeset:
105
106         "Date should use historical data if it's available."
107         https://bugs.webkit.org/show_bug.cgi?id=172592
108         http://trac.webkit.org/changeset/217458
109
110 2017-05-26  Yusuke Suzuki  <utatane.tea@gmail.com>
111
112         Give ModuleProgram the same treatment that we did for ProgramCode in bug#167725
113         https://bugs.webkit.org/show_bug.cgi?id=167805
114
115         Reviewed by Saam Barati.
116
117         * modules/module-jit-reachability.js: Added.
118
119 2017-05-26  Oleksandr Skachkov  <gskachkov@gmail.com>
120
121         Prevent async methods named 'function'
122         https://bugs.webkit.org/show_bug.cgi?id=172598
123
124         Reviewed by Mark Lam.
125
126         * stress/async-await-syntax.js:
127         (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
128         (testTopLevelAsyncAwaitSyntaxSloppyMode):
129         (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
130         (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
131         (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
132
133 2017-05-25  Keith Miller  <keith_miller@apple.com>
134
135         Date should use historical data if it's available.
136         https://bugs.webkit.org/show_bug.cgi?id=172592
137
138         Reviewed by Mark Lam.
139
140         Remove parts of the date tests that rely on the absence of
141         historical data in Date.
142
143         * mozilla/ecma/Date/15.9.5.31-1.js:
144         (getTestCases):
145         * mozilla/ecma/Date/15.9.5.35-1.js:
146         (getTestCases):
147
148 2017-05-25  Saam Barati  <sbarati@apple.com>
149
150         Our for-in optimization in the bytecode generator does its static analysis incorrectly
151         https://bugs.webkit.org/show_bug.cgi?id=172532
152         <rdar://problem/32369452>
153
154         Reviewed by Mark Lam.
155
156         * stress/for-in-invalidation-for-any-write.js: Added.
157         (assert):
158         (test):
159         (test.i):
160
161 2017-05-25  Mark Lam  <mark.lam@apple.com>
162
163         ObjectToStringAdaptiveInferredPropertyValueWatchpoint should not reinstall itself nor handleFire if it's dying shortly.
164         https://bugs.webkit.org/show_bug.cgi?id=172548
165         <rdar://problem/31458393>
166
167         Reviewed by Filip Pizlo.
168
169         * stress/regress-172548.patch: Added.
170
171 2017-05-23  Saam Barati  <sbarati@apple.com>
172
173         We should not mmap zero bytes for a memory in Wasm
174         https://bugs.webkit.org/show_bug.cgi?id=172528
175         <rdar://problem/32257076>
176
177         Reviewed by Mark Lam.
178
179         * wasm/js-api/dont-mmap-zero-byte-memory.js: Added.
180         (testMems):
181
182 2017-05-23  Saam Barati  <sbarati@apple.com>
183
184         CFGSimplificationPhase should not merge a block with itself
185         https://bugs.webkit.org/show_bug.cgi?id=172508
186         <rdar://problem/28424006>
187
188         Reviewed by Keith Miller.
189
190         * stress/dont-crash-in-cfg-simplification.js: Added.
191         (bar):
192         (baz):
193         (foo):
194
195 2017-05-20  Yusuke Suzuki  <utatane.tea@gmail.com>
196
197         [FTL] Support GetByVal with ArrayStorage and SlowPutArrayStorage
198         https://bugs.webkit.org/show_bug.cgi?id=172216
199
200         Reviewed by Saam Barati.
201
202         * stress/array-storage-get-by-val.js: Added.
203         (shouldBe):
204         (testOutOfBound):
205         (testInBound):
206         (testSlowPutOutOfBound):
207         (testSlowPutInBound):
208
209 2017-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
210
211         Unreviewed, fix commented out tests
212         https://bugs.webkit.org/show_bug.cgi?id=172225
213
214         * stress/get-by-val-string.js:
215         (object.43):
216         (Hello):
217         (Hello.prototype.get 42):
218         (Hello.prototype.43):
219         (Derived):
220         (shouldBe):
221         (throw.new.Error): Deleted.
222
223 2017-05-21  Saam Barati  <sbarati@apple.com>
224
225         We incorrectly throw a syntax error when declaring a top level for-loop iteration variable the same as a parameter
226         https://bugs.webkit.org/show_bug.cgi?id=171041
227         <rdar://problem/32082516>
228
229         Reviewed by Yusuke Suzuki.
230
231         * stress/lexical-scoping-for-loop.js: Added.
232         (assert):
233         (test1):
234         (test2):
235         (test3):
236         (test4):
237         (test5):
238         (test6):
239         (let.test7):
240         (let.test8):
241         (let.test9):
242         (let.test10):
243         (let.test11):
244         (let.test12):
245
246 2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
247
248         [JSC] Make get_by_val & string "499" to number 499
249         https://bugs.webkit.org/show_bug.cgi?id=172225
250
251         Reviewed by Saam Barati.
252
253         * stress/get-by-val-string.js: Added.
254         (shouldBe):
255         (shouldThrow):
256         (object.43):
257         (Hello):
258         (Hello.prototype.get 42):
259         (Hello.prototype.43):
260         (Derived):
261
262 2017-05-19  Mark Lam  <mark.lam@apple.com>
263
264         [Re-landing] DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers.
265         https://bugs.webkit.org/show_bug.cgi?id=172383
266         <rdar://problem/31418651>
267
268         Reviewed by Filip Pizlo.
269
270         * stress/regress-172383.js: Added.
271
272 2017-05-19  Ryan Haddad  <ryanhaddad@apple.com>
273
274         Unreviewed, rolling out r217156.
275
276         This change broke the iOS build.
277
278         Reverted changeset:
279
280         "DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring
281         result registers."
282         https://bugs.webkit.org/show_bug.cgi?id=172383
283         http://trac.webkit.org/changeset/217156
284
285 2017-05-19  Mark Lam  <mark.lam@apple.com>
286
287         Add missing exception check.
288         https://bugs.webkit.org/show_bug.cgi?id=172346
289         <rdar://problem/32289640>
290
291         Reviewed by Geoffrey Garen.
292
293         * stress/regress-172346.js: Added.
294
295 2017-05-19  Mark Lam  <mark.lam@apple.com>
296
297         DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers.
298         https://bugs.webkit.org/show_bug.cgi?id=172383
299         <rdar://problem/31418651>
300
301         Reviewed by Filip Pizlo.
302
303         * stress/regress-172383.js: Added.
304
305 2017-05-19  Filip Pizlo  <fpizlo@apple.com>
306
307         arrayProtoPrivateFuncConcatMemcpy needs to be down with firstArray being undecided
308         https://bugs.webkit.org/show_bug.cgi?id=172369
309
310         Reviewed by Mark Lam.
311
312         * stress/undecided-concat.js: Added.
313
314 2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
315
316         [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
317         https://bugs.webkit.org/show_bug.cgi?id=172098
318
319         Reviewed by Saam Barati.
320
321         * stress/check-sub-class.js: Added.
322         (shouldBe):
323         (shouldThrow):
324         (calling):
325         (array.forEach):
326         (i.array.forEach):
327
328 2017-05-18  JF Bastien  <jfbastien@apple.com>
329
330         WebAssembly: exports is a getter
331         https://bugs.webkit.org/show_bug.cgi?id=172129
332
333         Reviewed by Saam Barati.
334
335         Update test to reflect new semantics.
336
337         * wasm/js-api/test_basic_api.js:
338         (const.c.in.constructorProperties.switch):
339
340 2017-05-18  Saam Barati  <sbarati@apple.com>
341
342         Proxy's [[Get]] passes incorrect receiver
343         https://bugs.webkit.org/show_bug.cgi?id=164849
344         <rdar://problem/31767058>
345
346         Reviewed by Yusuke Suzuki.
347
348         * stress/proxy-get-set-correct-receiver.js: Added.
349         (assert):
350         (test):
351         (test.let.target.set prop):
352         (test.let.target.get prop):
353         (test.get let):
354         * stress/proxy-set.js:
355         (let.target.get x):
356         * stress/reflect-set-proxy-set.js:
357         (let.target.get x):
358         * stress/reflect-set-receiver-proxy-set.js:
359         (let.target.get x):
360
361 2017-05-18  Filip Pizlo  <fpizlo@apple.com>
362
363         Constructor calls set this too early
364         https://bugs.webkit.org/show_bug.cgi?id=172302
365
366         Reviewed by Saam Barati.
367         
368         This tests all three kinds of constructs in BytecodeGenerator. All three were previously
369         wrong.
370
371         * stress/construct-overwritten-variable.js: Added.
372         (new.x.x):
373         * stress/construct-spread-overwritten-variable-2.js: Added.
374         (new.x.x):
375         * stress/construct-spread-overwritten-variable.js: Added.
376         (new.x.x):
377
378 2017-05-18  Saam Barati  <sbarati@apple.com>
379
380         WebAssembly: perform stack checks
381         https://bugs.webkit.org/show_bug.cgi?id=165546
382         <rdar://problem/29760307>
383
384         Reviewed by Filip Pizlo.
385
386         * wasm.yaml:
387         * wasm/function-tests/factorial.js:
388         * wasm/function-tests/float-sub.js:
389         * wasm/function-tests/stack-overflow.js: Added.
390         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance):
391         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows):
392         (assertOverflows.makeInstance):
393         (assertOverflows.makeInstance2):
394         (assertOverflows.assertThrows):
395         (assertOverflows):
396         (assertThrows.test.makeSignature):
397         (assertThrows.test.makeInstance):
398         (assertThrows.test):
399         (assertThrows):
400
401 2017-05-18  Keith Miller  <keith_miller@apple.com>
402
403         WebAssembly API: test with neutered inputs
404         https://bugs.webkit.org/show_bug.cgi?id=163899
405
406         Reviewed by JF Bastien.
407
408         * wasm/js-api/neutered-inputs.js: Added.
409         (const.testFunction):
410         (const.testConstructor):
411         * wasm/js-api/test_basic_api.js:
412         (const.c.in.constructorProperties.switch):
413
414 2017-05-18  Filip Pizlo  <fpizlo@apple.com>
415
416         DFG inlining should be hardened for the no-result case
417         https://bugs.webkit.org/show_bug.cgi?id=172290
418
419         Reviewed by Saam Barati.
420
421         * stress/array-constructor-no-result.js: Added.
422         (foo):
423         * stress/pow-no-result.js: Added.
424         (foo):
425
426 2017-05-18  Commit Queue  <commit-queue@webkit.org>
427
428         Unreviewed, rolling out r217031, r217032, and r217037.
429         https://bugs.webkit.org/show_bug.cgi?id=172293
430
431         cause linking errors in Windows (Requested by yusukesuzuki on
432         #webkit).
433
434         Reverted changesets:
435
436         "[JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass"
437         https://bugs.webkit.org/show_bug.cgi?id=172098
438         http://trac.webkit.org/changeset/217031
439
440         "Unreviewed, rebaseline for newly added ClassInfo"
441         https://bugs.webkit.org/show_bug.cgi?id=172098
442         http://trac.webkit.org/changeset/217032
443
444         "Unreviewed, fix debug and non-JIT build"
445         https://bugs.webkit.org/show_bug.cgi?id=172098
446         http://trac.webkit.org/changeset/217037
447
448 2017-05-16  Yusuke Suzuki  <utatane.tea@gmail.com>
449
450         [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
451         https://bugs.webkit.org/show_bug.cgi?id=172098
452
453         Reviewed by Saam Barati.
454
455         * stress/check-sub-class.js: Added.
456         (shouldBe):
457         (shouldThrow):
458         (calling):
459         (array.forEach):
460         (i.array.forEach):
461
462 2017-05-17  Filip Pizlo  <fpizlo@apple.com>
463
464         Unreviewed, address mlam's review feedback.
465
466         * stress/arguments-elimination-varargs-too-many-args-arg-count.js:
467
468 2017-05-17  Saam Barati  <sbarati@apple.com>
469
470         We don't do context switches for Wasm->Wasm call indirect
471         https://bugs.webkit.org/show_bug.cgi?id=172188
472         <rdar://problem/32231828>
473
474         Reviewed by Keith Miller.
475
476         * wasm/function-tests/context-switch.js: Added.
477         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance):
478         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance2):
479         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.i2.makeInstance2):
480         (makeInstance):
481         (makeInstance2):
482         (assert.eq.makeInstance):
483         (assert.eq.makeInstance2):
484         (assert.eq):
485
486 2017-05-17  Filip Pizlo  <fpizlo@apple.com>
487
488         JSC: Incorrect LoadVarargs handling in ArgumentsEliminationPhase::transform
489         https://bugs.webkit.org/show_bug.cgi?id=172208
490
491         Reviewed by Saam Barati.
492
493         * stress/arguments-elimination-varargs-too-many-args-arg-count.js: Added.
494         (foo):
495         (bar):
496         (baz):
497
498 2017-05-16  Yusuke Suzuki  <utatane.tea@gmail.com>
499
500         [DFG] Constant Folding Phase should convert MakeRope("", String) => Identity(String)
501         https://bugs.webkit.org/show_bug.cgi?id=172115
502
503         Reviewed by Saam Barati.
504
505         * stress/constant-folding-should-fold-make-rope-with-empty-strings.js: Added.
506         (shouldBe):
507         (unknown):
508         (readWord1):
509         (readWord2):
510         (readWord3):
511         (readWord4):
512
513 2017-05-16  JF Bastien  <jfbastien@apple.com>
514
515         WebAssembly: add memory fuzzer
516         https://bugs.webkit.org/show_bug.cgi?id=169976
517         <rdar://problem/31965328>
518
519         Reviewed by Keith Miller.
520
521         * wasm/fuzz/memory.js: Added.
522         (const.insert):
523         (const.action.string_appeared_here):
524         (const.performAction):
525         (catch):
526
527 2017-05-16  JF Bastien  <jfbastien@apple.com>
528
529         WebAssembly: validate load / store alignment
530         https://bugs.webkit.org/show_bug.cgi?id=168836
531         <rdar://problem/31965349>
532
533         Reviewed by Keith Miller.
534
535         * wasm/WASM.js: fix regular expression greed
536         * wasm/function-tests/memory-alignment.js: Added.
537         (const.op.of.WASM.opcodes):
538         * wasm/wasm.json: fix formatting
539
540 2017-05-15  Mark Lam  <mark.lam@apple.com>
541
542         Rolling out r214038 and r213697: Crashes when using computed properties with rest destructuring and object spread.
543         https://bugs.webkit.org/show_bug.cgi?id=172147
544
545         Rubber-stamped by Saam Barati.
546
547         * stress/object-rest-deconstruct.js: Removed.
548         * stress/object-spread.js: Removed.
549
550 2017-05-11  JF Bastien  <jfbastien@apple.com>
551
552         WebAssembly: stop supporting 0xD
553         https://bugs.webkit.org/show_bug.cgi?id=168788
554         <rdar://problem/31880922>
555
556         Reviewed by Saam Barati.
557
558         Test that only version 1 is supported.
559
560         * wasm/js-api/version.js: Added.
561
562 2017-05-10  JF Bastien  <jfbastien@apple.com>
563
564         WebAssemby: builder doesn't do Memory section maximum correctly
565         https://bugs.webkit.org/show_bug.cgi?id=171931
566
567         Reviewed by Keith Miller.
568
569         * wasm/Builder.js:
570         (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
571         * wasm/Builder_WebAssemblyBinary.js:
572         (const.emitters.Memory):
573         * wasm/function-tests/memory-grow-invalid.js: Added.
574
575 2017-05-10  JF Bastien  <jfbastien@apple.com>
576
577         WebAssembly: support name section
578         https://bugs.webkit.org/show_bug.cgi?id=171263
579
580         Reviewed by Keith Miller.
581
582         * wasm/function-tests/nameSection.js: Added.
583         (const.compile):
584         * wasm/function-tests/nameSection.wasm: Added.
585         * wasm/function-tests/stack-trace.js: Update format
586
587 2017-05-10  Filip Pizlo  <fpizlo@apple.com>
588
589         Null pointer dereference in WTF::RefPtr<WTF::StringImpl>::operator!() under slow_path_get_direct_pname
590         https://bugs.webkit.org/show_bug.cgi?id=171801
591
592         Reviewed by Michael Saboff.
593         
594         These tests used to crash. The prefix and postfix tests cover different paths, except
595         postfix-ignored goes down the same path as prefix due to an optimization.
596
597         * stress/for-in-postfix-ignored-index.js: Added.
598         (foo):
599         * stress/for-in-postfix-index.js: Added.
600         (foo):
601         * stress/for-in-prefix-index.js: Added.
602         (foo):
603
604 2017-05-08  Mark Lam  <mark.lam@apple.com>
605
606         op_throw_static_error's use of its first operand should be reflected in DFG BytecodeUseDef as well.
607         https://bugs.webkit.org/show_bug.cgi?id=171786
608         <rdar://problem/32051023>
609
610         Reviewed by Saam Barati.
611
612         * stress/bug-171786.js: Added.
613
614 2017-05-06  Oleksandr Skachkov  <gskachkov@gmail.com>
615
616         [ES6] Arrow function. Issue in access to this after eval('super()') within constructor
617         https://bugs.webkit.org/show_bug.cgi?id=171543
618
619         Reviewed by Saam Barati.
620
621         * stress/arrowfunction-lexical-bind-supercall-4.js:
622         (J):
623         (K):
624
625 2017-05-05  Saam Barati  <sbarati@apple.com>
626
627         putDirectIndex does not properly do defineOwnProperty
628         https://bugs.webkit.org/show_bug.cgi?id=171591
629         <rdar://problem/31735695>
630
631         Reviewed by Geoffrey Garen.
632
633         * stress/array-prototype-splice-making-typed-array.js:
634         (test):
635         * stress/array-species-config-array-constructor.js:
636         (shouldThrow):
637         (test):
638         * stress/put-direct-index-broken-2.js: Added.
639         (assert):
640         (test):
641         (makeLengthWritable):
642         (set get restoreOldDesc):
643         * stress/put-direct-index-broken.js: Added.
644         (whatToTest):
645         (tryRunning):
646         (tryItOut):
647         * stress/put-indexed-getter-setter.js: Added.
648         (foo.X.prototype.set 7):
649         (foo.X.prototype.get 7):
650         (foo.X):
651         (foo):
652
653 2017-05-04  Yusuke Suzuki  <utatane.tea@gmail.com>
654
655         [JSC] Math unary functions should be handled by DFG
656         https://bugs.webkit.org/show_bug.cgi?id=171269
657
658         Reviewed by Saam Barati.
659
660         * stress/arith-acos-on-various-types.js: Added.
661         (let.validInputTypedTestCases.validInputTestCases.map):
662         (isIdentical):
663         (opaqueACosNoArgument):
664         (testNoArgument):
665         (opaqueAllTypesACos):
666         (testAllTypesCall):
667         (testSingleTypeCall):
668         (testConstant):
669         (opaqueACosForSideEffects):
670         (testSideEffect.let.testObject.valueOf):
671         (testSideEffect):
672         (opaqueACosForCSE):
673         (testCSE.let.testObject.valueOf):
674         (testCSE):
675         (opaqueACosForDCE):
676         (testDCE.let.testObject.valueOf):
677         (testDCE):
678         (testException.opaqueACosWithException):
679         (testException):
680         * stress/arith-acosh-on-various-types.js: Added.
681         (let.validInputTypedTestCases.validInputTestCases.map):
682         (isIdentical):
683         (opaqueACoshNoArgument):
684         (testNoArgument):
685         (opaqueAllTypesACosh):
686         (testAllTypesCall):
687         (testSingleTypeCall):
688         (testConstant):
689         (opaqueACoshForSideEffects):
690         (testSideEffect.let.testObject.valueOf):
691         (testSideEffect):
692         (opaqueACoshForCSE):
693         (testCSE.let.testObject.valueOf):
694         (testCSE):
695         (opaqueACoshForDCE):
696         (testDCE.let.testObject.valueOf):
697         (testDCE):
698         (testException.opaqueACoshWithException):
699         (testException):
700         * stress/arith-asin-on-various-types.js: Added.
701         (let.validInputTypedTestCases.validInputTestCases.map):
702         (isIdentical):
703         (opaqueASinNoArgument):
704         (testNoArgument):
705         (opaqueAllTypesASin):
706         (testAllTypesCall):
707         (testSingleTypeCall):
708         (testConstant):
709         (opaqueASinForSideEffects):
710         (testSideEffect.let.testObject.valueOf):
711         (testSideEffect):
712         (opaqueASinForCSE):
713         (testCSE.let.testObject.valueOf):
714         (testCSE):
715         (opaqueASinForDCE):
716         (testDCE.let.testObject.valueOf):
717         (testDCE):
718         (testException.opaqueASinWithException):
719         (testException):
720         * stress/arith-asinh-on-various-types.js: Added.
721         (let.validInputTypedTestCases.validInputTestCases.map):
722         (isIdentical):
723         (opaqueASinhNoArgument):
724         (testNoArgument):
725         (opaqueAllTypesASinh):
726         (testAllTypesCall):
727         (testSingleTypeCall):
728         (testConstant):
729         (opaqueASinhForSideEffects):
730         (testSideEffect.let.testObject.valueOf):
731         (testSideEffect):
732         (opaqueASinhForCSE):
733         (testCSE.let.testObject.valueOf):
734         (testCSE):
735         (opaqueASinhForDCE):
736         (testDCE.let.testObject.valueOf):
737         (testDCE):
738         (testException.opaqueASinhWithException):
739         (testException):
740         * stress/arith-atan-on-various-types.js: Added.
741         (let.validInputTypedTestCases.validInputTestCases.map):
742         (isIdentical):
743         (opaqueATanNoArgument):
744         (testNoArgument):
745         (opaqueAllTypesATan):
746         (testAllTypesCall):
747         (testSingleTypeCall):
748         (testConstant):
749         (opaqueATanForSideEffects):
750         (testSideEffect.let.testObject.valueOf):
751         (testSideEffect):
752         (opaqueATanForCSE):
753         (testCSE.let.testObject.valueOf):
754         (testCSE):
755         (opaqueATanForDCE):
756         (testDCE.let.testObject.valueOf):
757         (testDCE):
758         (testException.opaqueATanWithException):
759         (testException):
760         * stress/arith-atanh-on-various-types.js: Added.
761         (let.validInputTypedTestCases.validInputTestCases.map):
762         (isIdentical):
763         (opaqueATanhNoArgument):
764         (testNoArgument):
765         (opaqueAllTypesATanh):
766         (testAllTypesCall):
767         (testSingleTypeCall):
768         (testConstant):
769         (opaqueATanhForSideEffects):
770         (testSideEffect.let.testObject.valueOf):
771         (testSideEffect):
772         (opaqueATanhForCSE):
773         (testCSE.let.testObject.valueOf):
774         (testCSE):
775         (opaqueATanhForDCE):
776         (testDCE.let.testObject.valueOf):
777         (testDCE):
778         (testException.opaqueATanhWithException):
779         (testException):
780         * stress/arith-cbrt-on-various-types.js: Added.
781         (let.validInputTypedTestCases.validInputTestCases.map):
782         (isIdentical):
783         (opaqueCbrtNoArgument):
784         (testNoArgument):
785         (opaqueAllTypesCbrt):
786         (testAllTypesCall):
787         (testSingleTypeCall):
788         (testConstant):
789         (opaqueCbrtForSideEffects):
790         (testSideEffect.let.testObject.valueOf):
791         (testSideEffect):
792         (opaqueCbrtForCSE):
793         (testCSE.let.testObject.valueOf):
794         (testCSE):
795         (opaqueCbrtForDCE):
796         (testDCE.let.testObject.valueOf):
797         (testDCE):
798         (testException.opaqueCbrtWithException):
799         (testException):
800         * stress/arith-cosh-on-various-types.js: Added.
801         (let.validInputTypedTestCases.validInputTestCases.map):
802         (isIdentical):
803         (opaqueCoshNoArgument):
804         (testNoArgument):
805         (opaqueAllTypesCosh):
806         (testAllTypesCall):
807         (testSingleTypeCall):
808         (testConstant):
809         (opaqueCoshForSideEffects):
810         (testSideEffect.let.testObject.valueOf):
811         (testSideEffect):
812         (opaqueCoshForCSE):
813         (testCSE.let.testObject.valueOf):
814         (testCSE):
815         (opaqueCoshForDCE):
816         (testDCE.let.testObject.valueOf):
817         (testDCE):
818         (testException.opaqueCoshWithException):
819         (testException):
820         * stress/arith-expm1-on-various-types.js: Added.
821         (let.validInputTypedTestCases.validInputTestCases.map):
822         (isIdentical):
823         (opaqueExpm1NoArgument):
824         (testNoArgument):
825         (opaqueAllTypesExpm1):
826         (testAllTypesCall):
827         (testSingleTypeCall):
828         (testConstant):
829         (opaqueExpm1ForSideEffects):
830         (testSideEffect.let.testObject.valueOf):
831         (testSideEffect):
832         (opaqueExpm1ForCSE):
833         (testCSE.let.testObject.valueOf):
834         (testCSE):
835         (opaqueExpm1ForDCE):
836         (testDCE.let.testObject.valueOf):
837         (testDCE):
838         (testException.opaqueExpm1WithException):
839         (testException):
840         * stress/arith-log10-on-various-types.js: Added.
841         (let.validInputTypedTestCases.validInputTestCases.map):
842         (isIdentical):
843         (opaqueLog10NoArgument):
844         (testNoArgument):
845         (opaqueAllTypesLog10):
846         (testAllTypesCall):
847         (testSingleTypeCall):
848         (testConstant):
849         (opaqueLog10ForSideEffects):
850         (testSideEffect.let.testObject.valueOf):
851         (testSideEffect):
852         (opaqueLog10ForCSE):
853         (testCSE.let.testObject.valueOf):
854         (testCSE):
855         (opaqueLog10ForDCE):
856         (testDCE.let.testObject.valueOf):
857         (testDCE):
858         (testException.opaqueLog10WithException):
859         (testException):
860         * stress/arith-log2-on-various-types.js: Added.
861         (let.validInputTypedTestCases.validInputTestCases.map):
862         (isIdentical):
863         (opaqueLog2NoArgument):
864         (testNoArgument):
865         (opaqueAllTypesLog2):
866         (testAllTypesCall):
867         (testSingleTypeCall):
868         (testConstant):
869         (opaqueLog2ForSideEffects):
870         (testSideEffect.let.testObject.valueOf):
871         (testSideEffect):
872         (opaqueLog2ForCSE):
873         (testCSE.let.testObject.valueOf):
874         (testCSE):
875         (opaqueLog2ForDCE):
876         (testDCE.let.testObject.valueOf):
877         (testDCE):
878         (testException.opaqueLog2WithException):
879         (testException):
880         * stress/arith-sinh-on-various-types.js: Added.
881         (let.validInputTypedTestCases.validInputTestCases.map):
882         (isIdentical):
883         (opaqueSinhNoArgument):
884         (testNoArgument):
885         (opaqueAllTypesSinh):
886         (testAllTypesCall):
887         (testSingleTypeCall):
888         (testConstant):
889         (opaqueSinhForSideEffects):
890         (testSideEffect.let.testObject.valueOf):
891         (testSideEffect):
892         (opaqueSinhForCSE):
893         (testCSE.let.testObject.valueOf):
894         (testCSE):
895         (opaqueSinhForDCE):
896         (testDCE.let.testObject.valueOf):
897         (testDCE):
898         (testException.opaqueSinhWithException):
899         (testException):
900         * stress/arith-tan-on-various-types.js:
901         (isIdentical):
902         * stress/arith-tanh-on-various-types.js: Added.
903         (let.validInputTypedTestCases.validInputTestCases.map):
904         (isIdentical):
905         (opaqueTanhNoArgument):
906         (testNoArgument):
907         (opaqueAllTypesTanh):
908         (testAllTypesCall):
909         (testSingleTypeCall):
910         (testConstant):
911         (opaqueTanhForSideEffects):
912         (testSideEffect.let.testObject.valueOf):
913         (testSideEffect):
914         (opaqueTanhForCSE):
915         (testCSE.let.testObject.valueOf):
916         (testCSE):
917         (opaqueTanhForDCE):
918         (testDCE.let.testObject.valueOf):
919         (testDCE):
920         (testException.opaqueTanhWithException):
921         (testException):
922
923 2017-05-03  Keith Miller  <keith_miller@apple.com>
924
925         Array.prototype.sort should also allow a null comparator
926         https://bugs.webkit.org/show_bug.cgi?id=171621
927
928         Reviewed by Michael Saboff.
929
930         Add test to make it less likely we revert to the incompatable behavior.
931         Also, fix now incorrect tests.
932
933         * ChakraCore/test/Array/array_sort.baseline-jsc:
934         * stress/array-sort-bad-comparator.js:
935         (test):
936         * stress/sort-null-comparator.js: Added.
937         (assertEq):
938
939 2017-05-03  Caitlin Potter  <caitp@igalia.com>
940
941         [JSC] remove unneeded asyncFunctionTests.yaml
942         https://bugs.webkit.org/show_bug.cgi?id=171611
943
944         Reviewed by Yusuke Suzuki.
945
946         Async functions have shipped, and those tests are run as part of
947         JSTests/stress and JSTests/test262.yaml. The file is no longer needed.
948
949         * asyncFunctionTests.yaml: Removed.
950         * stress/async-await-long-loop.js:
951         * stress/async-await-throw-loop.js:
952
953 2017-05-03  Keith Miller  <keith_miller@apple.com>
954
955         Different behaviour with the .sort(callback) method (unlike Firefox & Chrome)
956         https://bugs.webkit.org/show_bug.cgi?id=47825
957
958         Reviewed by Saam Barati.
959
960         * stress/sorting-boolean-result-comparator.js: Added.
961         (checkArray):
962
963 2017-05-02  David Kilzer  <ddkilzer@apple.com>
964
965         check-webkit-style should keep JavaScript test functions in sync
966         <https://webkit.org/b/171424>
967
968         Reviewed by Joseph Pecoraro.
969
970         This change makes shouldBe(), shouldNotBe(), shouldNotThrow()
971         and shouldThrow() in sync with other copies of these methods.
972
973         * stress/resources/standalone-pre.js:
974         (shouldBe): Fix whitespace.  Prefix 'exception' and 'quiet'
975         variables with underscore.
976         (shouldThrow): Fix whitespace.
977
978 2017-04-30  Oleksandr Skachkov  <gskachkov@gmail.com>
979
980         We initialize functions too early in an eval
981         https://bugs.webkit.org/show_bug.cgi?id=161099
982
983         Reviewed by Saam Barati.
984
985         * stress/eval-func-decl-with-let-const-class.js: Added.
986
987 2017-04-30  Oleksandr Skachkov  <gskachkov@gmail.com>
988
989         [ES6]. Implement Annex B.3.3 function hoisting rules for eval
990         https://bugs.webkit.org/show_bug.cgi?id=163208
991
992         Reviewed by Saam Barati.
993
994         * stress/eval-func-decl-block-scoping-reassign.js: Added.
995         (assert):
996         (throw.new.Error.f):
997         (throw.new.Error):
998         * stress/eval-func-decl-block-with-remove.js: Added.
999         (assert):
1000         (foo.boo):
1001         (foo):
1002         * stress/eval-func-decl-block-with-var-and-remove.js: Added.
1003         (assert):
1004         (assertThrow):
1005         (foo):
1006         (boo):
1007         (joo):
1008         (koo):
1009         * stress/eval-func-decl-block-with-var-sinthesize.js: Added.
1010         (assert):
1011         (assertThrow):
1012         (foo):
1013         (boo):
1014         (hoo):
1015         (joo):
1016         (koo):
1017         * stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js: Added.
1018         * stress/eval-func-decl-in-eval-within-block-with-let.js: Added.
1019         (assert):
1020         (assertThrow):
1021         (foo):
1022         (boo):
1023         (goo):
1024         * stress/eval-func-decl-in-eval-within-with-scope.js: Added.
1025         (assert):
1026         (assertThrow):
1027         (foo):
1028         (boo):
1029         (boo.let.val2):
1030         (boo.let.val3):
1031         * stress/eval-func-decl-in-frozen-global.js: Added.
1032         (assert):
1033         (assertThrow):
1034         (throw.new.Error):
1035         (Object.freeze):
1036         * stress/eval-func-decl-in-global-of-eval.js: Added.
1037         (assert):
1038         (assertThrow):
1039         (bar):
1040         (baz):
1041         (foobar):
1042         * stress/eval-func-decl-in-global.js: Added.
1043         (assert):
1044         (assertThrow):
1045         * stress/eval-func-decl-in-if.js: Added.
1046         (assert):
1047         * stress/eval-func-decl-within-eval-with-reassign-to-var.js: Added.
1048         (assert):
1049         (assertThrow):
1050         (foo):
1051         (boo):
1052         (foobar):
1053         (hoo):
1054         (joo):
1055         (koo):
1056         (loo):
1057         * stress/eval-func-decl-within-eval-without-reassign-to-let.js: Added.
1058         (assert):
1059         (assertThrow):
1060         (foo):
1061         (boo):
1062         (goo):
1063         * stress/variable-under-tdz-eval-tricky.js:
1064         (assert):
1065         * test262.yaml:
1066
1067 2017-04-27  Mark Lam  <mark.lam@apple.com>
1068
1069         Fix some RELEASE_ASSERT failures caused by OutOfMemoryErrors.
1070         https://bugs.webkit.org/show_bug.cgi?id=171404
1071         <rdar://problem/31876178>
1072
1073         Reviewed by Saam Barati.
1074
1075         * stress/js-fixed-array-out-of-memory.js: Added.
1076
1077 2017-04-27  David Kilzer  <ddkilzer@apple.com>
1078
1079         Enhance shouldBe()/shouldNotBe() to accept anonymous function arguments
1080         <https://webkit.org/b/171362>
1081         <rdar://problem/31867686>
1082
1083         Reviewed by Joseph Pecoraro.
1084
1085         * stress/resources/standalone-pre.js:
1086         (shouldBe):
1087         (shouldNotThrow):
1088         (shouldThrow):
1089         - Update shouldBe() to accept anonymous function arguments.
1090           (The shouldNotBe() function was never copied over.)
1091         - Also fix shouldThrow()/shouldNotThrow() to accept anonymous
1092           function arguments (which were missed in r202609 for Bug
1093           159232).
1094
1095 2017-04-27  Yusuke Suzuki  <utatane.tea@gmail.com>
1096
1097         [JSC] Handle PhantomSpread in LoadVarargs as the same to the others
1098         https://bugs.webkit.org/show_bug.cgi?id=171262
1099
1100         Reviewed by Saam Barati.
1101
1102         * stress/spread-outer-create-rest.js: Added.
1103         (assert):
1104         (foo):
1105         (bar):
1106         (baz):
1107
1108 2017-04-26  Saam Barati  <sbarati@apple.com>
1109
1110         Print Wasm function index in stack trace
1111         https://bugs.webkit.org/show_bug.cgi?id=171349
1112
1113         Reviewed by JF Bastien.
1114
1115         * wasm/function-tests/stack-trace.js: Added.
1116         (import.Builder.from.string_appeared_here.assert):
1117         (let.imp):
1118         * wasm/function-tests/trap-after-cross-instance-call.js:
1119         (wasmFrameCountFromError):
1120         * wasm/function-tests/trap-load-2.js:
1121         (wasmFrameCountFromError):
1122         * wasm/function-tests/trap-load.js:
1123         (wasmFrameCountFromError):
1124
1125 2017-04-26  Saam Barati  <sbarati@apple.com>
1126
1127         ASSERTION FAILED: inIndex != notFound in JSC::invalidParameterInSourceAppender()
1128         https://bugs.webkit.org/show_bug.cgi?id=170924
1129         <rdar://problem/31721052>
1130
1131         Reviewed by Mark Lam.
1132
1133         * stress/error-message-for-function-base-not-found.js: Added.
1134         (assert):
1135         (throw.new.Error):
1136         * stress/error-messages-for-in-operator-should-not-crash.js: Added.
1137         (catch):
1138
1139 2017-04-26  Keith Miller  <keith_miller@apple.com>
1140
1141         WebAssembly: Implement tier up
1142         https://bugs.webkit.org/show_bug.cgi?id=170134
1143
1144         Reviewed by Filip Pizlo.
1145
1146         * wasm/function-tests/trap-after-cross-instance-call.js:
1147         * wasm/tier-up/js-to-wasm.js: Added.
1148         (async.test):
1149         * wasm/tier-up/wasm-to-wasm.js: Added.
1150         (async.test):
1151
1152 2017-04-26  Caitlin Potter  <caitp@igalia.com>
1153
1154         [JSC] Object.keys() must discard property names with no PropertyDescriptor
1155         https://bugs.webkit.org/show_bug.cgi?id=171291
1156
1157         Reviewed by Yusuke Suzuki.
1158
1159         * es6/Proxy_ownKeys_duplicates.js:
1160         * stress/proxy-own-keys.js:
1161         (let.handler.getOwnPropertyDescriptor):
1162         (let.handler.ownKeys):
1163
1164 2017-04-25  Commit Queue  <commit-queue@webkit.org>
1165
1166         Unreviewed, rolling out r215476.
1167         https://bugs.webkit.org/show_bug.cgi?id=171304
1168
1169         "It broke JSBench" (Requested by saamyjoon on #webkit).
1170
1171         Reverted changeset:
1172
1173         "[ES6]. Implement Annex B.3.3 function hoisting rules for
1174         eval"
1175         https://bugs.webkit.org/show_bug.cgi?id=163208
1176         http://trac.webkit.org/changeset/215476
1177
1178 2017-04-25  Saam Barati  <sbarati@apple.com>
1179
1180         JSArray::isArrayPrototypeIteratorProtocolFastAndNonObservable is wrong because it does not do the necessary checks on the base object
1181         https://bugs.webkit.org/show_bug.cgi?id=171150
1182         <rdar://problem/31771880>
1183
1184         Reviewed by Sam Weinig.
1185
1186         * stress/spread-optimized-properly.js: Added.
1187         (assert):
1188         (test):
1189         (shallowEq):
1190         (makeArrayIterator):
1191         (test.bar):
1192         (test.callback):
1193         (test.arr.__proto__.Symbol.iterator):
1194         (test.arr.Symbol.iterator):
1195         (test.get bar):
1196         (test.hackedNext):
1197         (test.test):
1198         (test.):
1199
1200 2017-04-25  Mark Lam  <mark.lam@apple.com>
1201
1202         [Follow up] Array.prototype.slice() should ensure that end >= begin.
1203         https://bugs.webkit.org/show_bug.cgi?id=170989
1204         <rdar://problem/31705652>
1205
1206         Not reviewed.
1207
1208         Follow up to rename a test file that was accidentally named wrongly.
1209
1210         * stress/regress-170989.js: Copied from JSTests/stress/regress-170989.patch.
1211         * stress/regress-170989.patch: Removed.
1212
1213 2017-04-25  Mark Lam  <mark.lam@apple.com>
1214
1215         Array.prototype.slice() should ensure that end >= begin.
1216         https://bugs.webkit.org/show_bug.cgi?id=170989
1217         <rdar://problem/31705652>
1218
1219         Reviewed by Saam Barati.
1220
1221         * stress/regress-170989.patch: Added.
1222
1223 2017-04-25  Mark Lam  <mark.lam@apple.com>
1224
1225         Local CSE wrongly CSEs array accesses with different result types.
1226         https://bugs.webkit.org/show_bug.cgi?id=170990
1227         <rdar://problem/31705945>
1228
1229         Reviewed by Saam Barati.
1230
1231         * stress/regress-170990.js: Added.
1232
1233 2017-04-25  Yusuke Suzuki  <utatane.tea@gmail.com>
1234
1235         WebAssembly: exporting a property with a name that's a number doesn't work
1236         https://bugs.webkit.org/show_bug.cgi?id=168857
1237
1238         Reviewed by JF Bastien.
1239
1240         r213453 allows Wasm instances to expose indexed properties. We activate the tests.
1241
1242         * wasm/js-api/test_Instance.js:
1243         (ExportedNumber):
1244
1245 2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>
1246
1247         test262: test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
1248         https://bugs.webkit.org/show_bug.cgi?id=171190
1249
1250         Reviewed by Saam Barati.
1251
1252         * stress/async-await-syntax.js:
1253         * test262.yaml:
1254
1255 2017-04-24  Yusuke Suzuki  <utatane.tea@gmail.com>
1256
1257         [JSC] Use JSFixedArray directly when using call_varargs
1258         https://bugs.webkit.org/show_bug.cgi?id=171057
1259
1260         Reviewed by Saam Barati.
1261
1262         * stress/spread-capture-rest.js: Added.
1263         (shouldBe):
1264         (capture):
1265         (a):
1266         (b):
1267         * stress/spread-multi-layers.js: Added.
1268         (shouldBe):
1269         (a):
1270         (b):
1271         (c):
1272         (d):
1273         * stress/spread-non-varargs.js: Added.
1274         (shouldBe):
1275         (a):
1276         (b):
1277
1278 2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>
1279
1280         test262: test262/test/language/computed-property-names/class/static/getter-prototype.js
1281         https://bugs.webkit.org/show_bug.cgi?id=170897
1282
1283         Reviewed by Saam Barati.
1284
1285         * test262.yaml:
1286
1287 2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>
1288
1289         Address some FIXMEs in JavaScript tests for bugs that have been fixed
1290         https://bugs.webkit.org/show_bug.cgi?id=171191
1291
1292         Reviewed by JF Bastien.
1293
1294         * stress/proxy-is-extensible.js:
1295
1296 2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>
1297
1298         test262: test262/test/language/statements/for-of/dstr-array-elem-init-fn-name-arrow.js
1299         https://bugs.webkit.org/show_bug.cgi?id=171160
1300
1301         Reviewed by JF Bastien.
1302
1303         * stress/inferred-names.js:
1304         * test262.yaml:
1305
1306 2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>
1307
1308         test262: test262/test/language/expressions/generators/yield-as-label.js
1309         https://bugs.webkit.org/show_bug.cgi?id=170979
1310
1311         Reviewed by Saam Barati.
1312
1313         * stress/async-await-module-reserved-word.js:
1314         * stress/async-await-reserved-word.js:
1315         Converge on "Cannot" instead of "Can't".
1316
1317         * catch-parameter-syntax.js:
1318         * yield-named-variable-generator.js:
1319         * yield-named-variable.js:
1320         * stress/yield-label-generator.js:
1321         * stress/yield-label.js:
1322         * stress/yield-reserved-word.js: Added.
1323         More complete list of when 'yield' is allowed.
1324
1325         * ChakraCore/test/strict/23.reservedWords_sm.baseline-jsc:
1326         * test262.yaml:
1327
1328 2017-04-23  Commit Queue  <commit-queue@webkit.org>
1329
1330         Unreviewed, rolling out r215674.
1331         https://bugs.webkit.org/show_bug.cgi?id=171212
1332
1333         Possible unintended commit. This patch was on the wrong bug.
1334         (Requested by JoePeck on #webkit).
1335
1336         Reverted changeset:
1337
1338         "test262: test262/test/language/expressions/generators/yield-
1339         as-label.js"
1340         https://bugs.webkit.org/show_bug.cgi?id=170979
1341         http://trac.webkit.org/changeset/215674
1342
1343 2017-04-23  Joseph Pecoraro  <pecoraro@apple.com>
1344
1345         test262: test262/test/built-ins/Number/prototype/toPrecision/nan.js
1346         https://bugs.webkit.org/show_bug.cgi?id=171197
1347
1348         Reviewed by Saam Barati.
1349
1350         * test262.yaml:
1351
1352 2017-04-23  Joseph Pecoraro  <pecoraro@apple.com>
1353
1354         test262: test262/test/language/expressions/generators/yield-as-label.js
1355         https://bugs.webkit.org/show_bug.cgi?id=170979
1356
1357         Reviewed by Saam Barati.
1358
1359         * stress/async-await-module-reserved-word.js:
1360         * stress/async-await-reserved-word.js:
1361         Converge on "Cannot" instead of "Can't".
1362
1363         * catch-parameter-syntax.js:
1364         * yield-named-variable-generator.js:
1365         * yield-named-variable.js:
1366         * stress/yield-label-generator.js:
1367         * stress/yield-label.js:
1368         * stress/yield-reserved-word.js: Added.
1369         More complete list of when 'yield' is allowed.
1370
1371         * ChakraCore/test/strict/23.reservedWords_sm.baseline-jsc:
1372         * test262.yaml:
1373
1374 2017-04-23  Joseph Pecoraro  <pecoraro@apple.com>
1375
1376         test262: test262/test/built-ins/Number/parseFloat.js
1377         https://bugs.webkit.org/show_bug.cgi?id=171193
1378
1379         Reviewed by Yusuke Suzuki.
1380
1381         * test262.yaml:
1382
1383 2017-04-22  JF Bastien  <jfbastien@apple.com>
1384
1385         WebAssembly: Module.exports, Module.imports, Module.customSections are wrong
1386         https://bugs.webkit.org/show_bug.cgi?id=171078
1387
1388         Reviewed by Saam Barati.
1389
1390         They're static properties of Module, not instance properties of a module.
1391         https://github.com/WebAssembly/design/blob/master/JS.md#webassemblymoduleexports
1392
1393         * wasm/js-api/Module.customSection.js:
1394         (assert.throws.WebAssembly.Module.customSections):
1395         (assert.eq):
1396         (assert.throws.WebAssembly.Module.prototype.customSections): Deleted.
1397         * wasm/js-api/Module.exports.js:
1398         (assert.throws.WebAssembly.Module.exports):
1399         (assert.truthy):
1400         (assert.throws.WebAssembly.Module.prototype.exports): Deleted.
1401         * wasm/js-api/Module.imports.js:
1402         (assert.throws.WebAssembly.Module.imports):
1403         (assert.truthy):
1404         (assert.throws.WebAssembly.Module.prototype.imports): Deleted.
1405
1406 2017-04-21  JF Bastien  <jfbastien@apple.com>
1407
1408         Silence noisy test
1409
1410         Unreviewed, Fil / Michael and I talked about it in the corridor. I
1411         just forgot to set verbose to false before commit.
1412
1413         * wasm/stress/oom.js:
1414
1415 2017-04-20  Yusuke Suzuki  <utatane.tea@gmail.com>
1416
1417         [JSC][FTL] FTL should support Arrayify
1418         https://bugs.webkit.org/show_bug.cgi?id=169596
1419
1420         Reviewed by Saam Barati.
1421
1422         * stress/arrayify.js: Added.
1423         (arrayifyInt32):
1424         (arrayifyDouble):
1425         (arrayifyContiguous):
1426
1427 2017-04-20  Mark Lam  <mark.lam@apple.com>
1428
1429         virtualThunkFor() needs to materialize its of tagMaskRegister for tail calls.
1430         https://bugs.webkit.org/show_bug.cgi?id=171079
1431         <rdar://problem/31684756>
1432
1433         Reviewed by Saam Barati.
1434
1435         * stress/regress-171079.js: Added.
1436
1437 2017-04-15  Filip Pizlo  <fpizlo@apple.com>
1438
1439         Optimize SharedArrayBuffer in the DFG+FTL
1440         https://bugs.webkit.org/show_bug.cgi?id=164108
1441
1442         Reviewed by Saam Barati.
1443         
1444         Added a fairly comprehensive test of the intrinsics. This creates a function for each possible
1445         combination of type and operation, and then first uses it nicely and then tries a bunch of
1446         erroneous conditions like OOB.
1447
1448         * stress/SharedArrayBuffer-opt.js: Added.
1449         (string_appeared_here.switch):
1450         (string_appeared_here.str):
1451         (runAtomic):
1452         (shouldFail):
1453         (Symbol):
1454         (string_appeared_here.a.of.arrays.m.of.atomics):
1455         * stress/SharedArrayBuffer.js:
1456
1457 2017-04-19  Mark Lam  <mark.lam@apple.com>
1458
1459         B3StackmapSpecial should handle when stackmap values are not recoverable from a Def'ed arg.
1460         https://bugs.webkit.org/show_bug.cgi?id=170973
1461         <rdar://problem/30318657>
1462
1463         Reviewed by Filip Pizlo.
1464
1465         * stress/regress-170973.js: Added.
1466
1467 2017-04-19  JF Bastien  <jfbastien@apple.com>
1468
1469         WebAssembly: limit slow memories
1470         https://bugs.webkit.org/show_bug.cgi?id=170825
1471
1472         Reviewed by Saam Barati.
1473
1474         * wasm.yaml:
1475         * wasm/stress/oom.js: Added.
1476         (try.true.WebAssemblyMemoryMode):
1477         (catch):
1478
1479 2017-04-19  JF Bastien  <jfbastien@apple.com>
1480
1481         WebAssembly: don't expose any WebAssembly JS object if JIT is off
1482         https://bugs.webkit.org/show_bug.cgi?id=170782
1483
1484         Reviewed by Saam Barati.
1485
1486         * wasm.yaml:
1487         * wasm/noJIT/noJIT.js: Added.
1488
1489 2017-04-18  Mark Lam  <mark.lam@apple.com>
1490
1491         r211670 broke double to int conversion.
1492         https://bugs.webkit.org/show_bug.cgi?id=170961
1493         <rdar://problem/31687696>
1494
1495         Reviewed by Yusuke Suzuki.
1496
1497         * microbenchmarks/double-to-int32.js: Added.
1498         * stress/to-int32-sensible2.js: Added.
1499
1500 2017-04-18  Oleksandr Skachkov  <gskachkov@gmail.com>
1501
1502         [ES6]. Implement Annex B.3.3 function hoisting rules for eval
1503         https://bugs.webkit.org/show_bug.cgi?id=163208
1504
1505         Reviewed by Saam Barati.
1506
1507         * stress/eval-func-decl-block-scoping-reassign.js: Added.
1508         (assert):
1509         (throw.new.Error.f):
1510         (throw.new.Error):
1511         * stress/eval-func-decl-block-with-remove.js: Added.
1512         (assert):
1513         (foo.boo):
1514         (foo):
1515         * stress/eval-func-decl-block-with-var-and-remove.js: Added.
1516         (assert):
1517         (assertThrow):
1518         (foo):
1519         (boo):
1520         (joo):
1521         (koo):
1522         * stress/eval-func-decl-block-with-var-sinthesize.js: Added.
1523         (assert):
1524         (assertThrow):
1525         (foo):
1526         (boo):
1527         (hoo):
1528         (joo):
1529         (koo):
1530         * stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js: Added.
1531         * stress/eval-func-decl-in-eval-within-block-with-let.js: Added.
1532         (assert):
1533         (assertThrow):
1534         (foo):
1535         (boo):
1536         (goo):
1537         * stress/eval-func-decl-in-eval-within-with-scope.js: Added.
1538         (assert):
1539         (assertThrow):
1540         (foo):
1541         (boo):
1542         (boo.let.val2):
1543         (boo.let.val3):
1544         * stress/eval-func-decl-in-frozen-global.js: Added.
1545         (assert):
1546         (assertThrow):
1547         (throw.new.Error):
1548         (Object.freeze):
1549         * stress/eval-func-decl-in-global-of-eval.js: Added.
1550         (assert):
1551         (assertThrow):
1552         (bar):
1553         (baz):
1554         (foobar):
1555         * stress/eval-func-decl-in-global.js: Added.
1556         (assert):
1557         (assertThrow):
1558         * stress/eval-func-decl-in-if.js: Added.
1559         (assert):
1560         * stress/eval-func-decl-within-eval-with-reassign-to-var.js: Added.
1561         (assert):
1562         (assertThrow):
1563         (foo):
1564         (boo):
1565         (foobar):
1566         (hoo):
1567         (joo):
1568         (koo):
1569         (loo):
1570         * stress/eval-func-decl-within-eval-without-reassign-to-let.js: Added.
1571         (assert):
1572         (assertThrow):
1573         (foo):
1574         (boo):
1575         (goo):
1576         * stress/variable-under-tdz-eval-tricky.js:
1577         (assert):
1578         * test262.yaml:
1579
1580 2017-04-18  Filip Pizlo  <fpizlo@apple.com>
1581
1582         wasm/function-tests/memory-multiagent times out sometimes
1583         https://bugs.webkit.org/show_bug.cgi?id=170958
1584
1585         Reviewed by Keith Miller.
1586         
1587         Add the ability to skip tests easily. Skip the test.
1588
1589         * wasm.yaml:
1590         * wasm/function-tests/memory-multiagent.js:
1591
1592 2017-04-18  Saam Barati  <sbarati@apple.com>
1593
1594         Follow up to debug build stack overflow in test after r215453
1595
1596         Rubber stamped by Mark Lam.
1597
1598         * stress/call-apply-exponential-bytecode-size.js: Decrease the call
1599         size to prevent stack overflow errors on debug builds.
1600
1601 2017-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>
1602
1603         [DFG] Convert ValueAdd(Int32, String) => MakeRope(ToString(Int32), String)
1604         https://bugs.webkit.org/show_bug.cgi?id=170943
1605
1606         Reviewed by Geoffrey Garen.
1607
1608         * microbenchmarks/number-to-string-with-add-empty.js: Added.
1609         (toStringLeft):
1610         (toStringRight):
1611         * microbenchmarks/number-to-string-with-add-in-loop.js: Added.
1612         (toStringLeft):
1613         (toStringRight):
1614         * microbenchmarks/number-to-string-with-add.js: Added.
1615         (toStringLeft):
1616         (toStringRight):
1617         * stress/number-to-string-with-add.js: Added.
1618         (shouldBe):
1619         (toStringRight):
1620         (toStringLeftEmpty):
1621         (toStringRightEmpty):
1622
1623 2017-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>
1624
1625         [DFG] Drop unknown use of CheckCell's child2 to work ObjectAllocationSinking for Array iterator object
1626         https://bugs.webkit.org/show_bug.cgi?id=170940
1627
1628         Reviewed by Filip Pizlo.
1629
1630         * microbenchmarks/for-of-array.js: Added.
1631         (fn):
1632
1633 2017-04-17  Saam Barati  <sbarati@apple.com>
1634
1635         BytecodeGenerator ".call" and ".apply" is exponential in nesting depth
1636         https://bugs.webkit.org/show_bug.cgi?id=139847
1637         <rdar://problem/19321122>
1638
1639         Reviewed by Oliver Hunt.
1640
1641         * stress/call-apply-exponential-bytecode-size.js: Added.
1642         (assert):
1643         (const.inc):
1644         (const.inc2):
1645         (bar):
1646         (randomApplyOrCall):
1647         (baz):
1648         (jaz):
1649         (haz):
1650         (foo):
1651
1652 2017-04-17  Mark Lam  <mark.lam@apple.com>
1653
1654         JSArray::appendMemcpy() needs to handle copying from Undecided indexing type too.
1655         https://bugs.webkit.org/show_bug.cgi?id=170896
1656         <rdar://problem/31651319>
1657
1658         Reviewed by JF Bastien and Keith Miller.
1659
1660         * stress/regress-170896.js: Added.
1661
1662 2017-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1663
1664         test262: test262/test/built-ins/Object/prototype/toLocaleString/primitive_this_value.js
1665         https://bugs.webkit.org/show_bug.cgi?id=170882
1666
1667         Reviewed by Saam Barati.
1668
1669         * test262.yaml:
1670
1671 2017-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1672
1673         test262: test262/test/built-ins/isNaN/toprimitive-not-callable-throws.js
1674         https://bugs.webkit.org/show_bug.cgi?id=170888
1675
1676         Reviewed by Saam Barati.
1677
1678         * stress/computed-accessor.js:
1679         * stress/eval-in-arrow-function.js:
1680         * stress/rest-elements.js:
1681         * stress/string-object-define-own-property.js:
1682         Remove unused shouldThrow.
1683
1684         * stress/symbol-toprimitive-errors.js: Added.
1685         Check for ToPrimitive TypeErrors.
1686
1687         * test262.yaml:
1688
1689 2017-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1690
1691         test262: test262/test/language/expressions/tagged-template/template-object.js
1692         https://bugs.webkit.org/show_bug.cgi?id=170878
1693
1694         Reviewed by Saam Barati.
1695
1696         * stress/array-length-not-writable.js: Added.
1697         (assert):
1698         * test262.yaml:
1699
1700 2017-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1701
1702         test262: test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js
1703         https://bugs.webkit.org/show_bug.cgi?id=170879
1704
1705         Reviewed by Saam Barati.
1706
1707         * ChakraCore/test/es5/enumerable.baseline-jsc:
1708         * test262.yaml:
1709
1710 2017-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1711
1712         test262: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/name.js
1713         https://bugs.webkit.org/show_bug.cgi?id=170884
1714
1715         Reviewed by Yusuke Suzuki.
1716
1717         * test262.yaml:
1718
1719 2017-04-15  Joseph Pecoraro  <pecoraro@apple.com>
1720
1721         test262: test262/test/language/global-code/new.target-arrow.js
1722         https://bugs.webkit.org/show_bug.cgi?id=170872
1723
1724         Reviewed by Saam Barati.
1725
1726         * stress/async-arrow-functions-lexical-new.target-binding.js:
1727         (shouldThrowAsync): Deleted.
1728         (shouldThrowAsync.async): Deleted.
1729         This code should have thrown a SyntaxError. Instead it was throwing
1730         a ReferenceError for the internal @newTargetLocal variable.
1731
1732         * stress/new-target-syntax-errors.js:
1733         Cover the arrow function in global code cases.
1734
1735         * ChakraCore.yaml:
1736         * ChakraCore/test/es6/globalLambdaNewTargetSyntaxError.baseline-jsc:
1737         We now pass with an expected SyntaxError. Our error message is different.
1738
1739         * test262.yaml:
1740
1741 2017-04-14  Saam Barati  <sbarati@apple.com>
1742
1743         ParseInt intrinsic in DFG backend doesn't properly flush its operands
1744         https://bugs.webkit.org/show_bug.cgi?id=170865
1745
1746         Reviewed by Mark Lam and Geoffrey Garen.
1747
1748         * stress/parse-int-intrinsic-dfg-backend-flush.js: Added.
1749         (assert):
1750         (foo):
1751
1752 2017-04-14  Caitlin Potter  <caitp@igalia.com>
1753
1754         [JSC] use ExpressionErrorClassifier for AwaitExpression operand
1755         https://bugs.webkit.org/show_bug.cgi?id=170844
1756
1757         Reviewed by Saam Barati.
1758
1759         * stress/regress-170732.js: Added.
1760
1761 2017-04-14  Oleksandr Skachkov  <gskachkov@gmail.com>
1762
1763         Safari 10.1 JSON.parse returns incorrect object for numeric keys with decimal values
1764         https://bugs.webkit.org/show_bug.cgi?id=170442
1765
1766         Reviewed by Yusuke Suzuki.
1767
1768         * stress/object-number-properties.js:
1769
1770 2017-04-13  Yusuke Suzuki  <utatane.tea@gmail.com>
1771
1772         [JSC] Date.parse should accept wider range of representation
1773         https://bugs.webkit.org/show_bug.cgi?id=170720
1774
1775         Reviewed by Darin Adler.
1776
1777         * stress/date-relaxed.js: Added.
1778         (shouldBe):
1779         (throw.new.Error):
1780
1781 2017-04-13  Mark Lam  <mark.lam@apple.com>
1782
1783         Should use flushDirect() when flushing the scopeRegister due to needsScopeRegister().
1784         https://bugs.webkit.org/show_bug.cgi?id=170661
1785         <rdar://problem/31579046>
1786
1787         Reviewed by Filip Pizlo.
1788
1789         * stress/regress-170661.js: Added.
1790
1791 2017-04-13  JF Bastien  <jfbastien@apple.com>
1792
1793         WebAssembly: manage memory better
1794         https://bugs.webkit.org/show_bug.cgi?id=170628
1795
1796         Reviewed by Keith Miller, Michael Saboff.
1797
1798         * wasm/Builder.js: move a helper out so tests can use it
1799         (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
1800         * wasm/WASM.js: add utilities to classify opcodes
1801         (export.opcodes):
1802         (export.const.memoryAccessInfo.op.const.sign):
1803         * wasm/function-tests/memory-access-past-4gib.js: Added. This test
1804         fails before this patch.
1805         (const.op.of.WASM.opcodes):
1806         * wasm/function-tests/memory-many.js: Added. This simple tests
1807         just shouldn't crash. In verbose mode it's useful at determining
1808         if the GC falls behind or not.
1809         * wasm/function-tests/memory-multiagent.js: Added. Emulate postMessage.
1810         (const.startAgents.numAgentsToStart.a.agent.receiveBroadcast):
1811         (const.startAgents.numAgentsToStart.a.write.const.idx.Math.random):
1812         (const.broadcastToAgents):
1813         * wasm/js-api/extension-MemoryMode.js: verbose logging.
1814         (testMemoryNoMax):
1815         (testMemory):
1816         (testInstanceNoMemory):
1817         (testInstanceNoMax):
1818         (testInstance):
1819         * wasm/utilities.js: move a utility here.
1820
1821 2017-04-12  Joseph Pecoraro  <pecoraro@apple.com>
1822
1823         test262: test262/test/built-ins/NativeErrors/EvalError/proto.js
1824         https://bugs.webkit.org/show_bug.cgi?id=170668
1825
1826         Reviewed by Keith Miller.
1827
1828         * ChakraCore.yaml:
1829         * ChakraCore/test/Lib/error.baseline-jsc: Added.
1830         This test does not match the spec.
1831
1832         * test262.yaml:
1833
1834 2017-04-12  Joseph Pecoraro  <pecoraro@apple.com>
1835
1836         test262: test262/test/language/literals/regexp/u-dec-esc.js
1837         https://bugs.webkit.org/show_bug.cgi?id=170687
1838
1839         Reviewed by Michael Saboff.
1840
1841         * test262.yaml:
1842
1843 2017-04-11  Michael Saboff  <msaboff@apple.com>
1844
1845         Implement Object.isFrozen() and Object.isSealed() per ECMA spec
1846         https://bugs.webkit.org/show_bug.cgi?id=170753
1847
1848         Reviewed by Mark Lam.
1849
1850         Added JSC baseline and enabled defineIndexProperty test.
1851
1852         Note that JSC differs from Chakra in that a JSC doesn't use indexed
1853         properties placed on the Array prototype when sorting the indexed 
1854         properties of an Object.  This is behavior is considered undefined
1855         in the standard.
1856
1857         * ChakraCore.yaml:
1858         * ChakraCore/test/es5/defineIndexProperty.baseline-jsc: Added.
1859
1860 2017-04-11  Joseph Pecoraro  <pecoraro@apple.com>
1861
1862         test262: test262/test/annexB/language/comments/multi-line-html-close.js
1863         https://bugs.webkit.org/show_bug.cgi?id=170648
1864
1865         Reviewed by Keith Miller.
1866
1867         * test262.yaml:
1868
1869 2017-04-11  Joseph Pecoraro  <pecoraro@apple.com>
1870
1871         test262: test262/test/built-ins/Array/S15.4.3_A2.2.js
1872         https://bugs.webkit.org/show_bug.cgi?id=170652
1873
1874         Reviewed by Michael Saboff.
1875
1876         * stress/native-constructors-length.js: Added.
1877         (assertLengthDescriptorAttributes):
1878         Add a quick test for the length properties of all native constructors.
1879
1880         * ChakraCore/test/es5/enumerable.baseline-jsc:
1881         Rebaseline expectations for this test.
1882
1883         * test262.yaml:
1884
1885 2017-04-10  Keith Miller  <keith_miller@apple.com>
1886
1887         WebAssembly: Update spec tests
1888         https://bugs.webkit.org/show_bug.cgi?id=170683
1889
1890         Rubber-stamped by JF Bastien.
1891
1892         * wasm.yaml:
1893         * wasm/spec-tests/br_table.wast.js:
1894         * wasm/spec-tests/conversions.wast.js: Removed.
1895         * wasm/spec-tests/f32_bitwise.wast.js: Added.
1896         * wasm/spec-tests/f32_cmp.wast.js:
1897         * wasm/spec-tests/f64_bitwise.wast.js: Added.
1898         * wasm/spec-tests/f64_cmp.wast.js:
1899         * wasm/spec-tests/i32.wast.js:
1900         * wasm/spec-tests/i64.wast.js:
1901         * wasm/spec-tests/int_exprs.wast.js:
1902         * wasm/spec-tests/memory.wast.js:
1903
1904 2017-04-09  Joseph Pecoraro  <pecoraro@apple.com>
1905
1906         test262: test262/test/annexB/language/expressions/object/__proto__-fn-name.js
1907         https://bugs.webkit.org/show_bug.cgi?id=170650
1908
1909         Reviewed by Saam Barati.
1910
1911         * stress/inferred-names.js:
1912         * test262.yaml:
1913
1914 2017-04-09  Joseph Pecoraro  <pecoraro@apple.com>
1915
1916         test262: test262/test/annexB/language/literals/regexp/identity-escape.js
1917         https://bugs.webkit.org/show_bug.cgi?id=170651
1918
1919         Reviewed by Saam Barati.
1920
1921         * test262.yaml:
1922
1923 2017-04-07  Michael Saboff  <msaboff@apple.com>
1924
1925         Fix and enable ChakraCore/test/es6/ES6Function_bugs.js after r215072
1926         https://bugs.webkit.org/show_bug.cgi?id=170580
1927
1928         Reviewed by JF Bastien.
1929
1930         Commented out subtest that expects defineProperty("length") to a getter on a
1931         sealed function shouldn't throw.
1932
1933         * ChakraCore.yaml:
1934         * ChakraCore/test/es6/ES6Function_bugs.js:
1935
1936 2017-04-06  Michael Saboff  <msaboff@apple.com>
1937
1938         Cannot Object.seal() or Object.freeze() global "this"
1939         https://bugs.webkit.org/show_bug.cgi?id=170549
1940
1941         Reviewed by Mark Lam.
1942
1943         Enabled failing tests fixed by the corresponding code change:
1944             ChakraCore/test/LetConst/delete.js
1945             ChakraCore/test/LetConst/dop.js
1946             ChakraCore/test/LetConst/dop1.js
1947
1948         * ChakraCore.yaml:
1949         * ChakraCore/test/LetConst/dop.baseline-jsc: Added JSC specific expected output.
1950         * ChakraCore/test/LetConst/dop1.baseline-jsc: Added JSC specific expected output.
1951
1952 2017-04-05  Joseph Pecoraro  <pecoraro@apple.com>
1953
1954         test262: ES2017 test progressions need updated expectations (arguments.caller removed)
1955         https://bugs.webkit.org/show_bug.cgi?id=170536
1956
1957         Reviewed by Mark Lam.
1958
1959         * test262.yaml:
1960         After r208867 the tests are out of date and are now expected to fail.
1961
1962 2017-04-05  Joseph Pecoraro  <pecoraro@apple.com>
1963
1964         test262: Final rebaseline of existing tests, a few tests have started failing
1965         https://bugs.webkit.org/show_bug.cgi?id=170538
1966
1967         Reviewed by Mark Lam.
1968
1969         * test262.yaml:
1970         These tests started failing a while ago. Mark them as legitmate failures.
1971
1972 2017-04-05  Joseph Pecoraro  <pecoraro@apple.com>
1973
1974         test262: Rebaseline expectations for now passing tests
1975         https://bugs.webkit.org/show_bug.cgi?id=170532
1976
1977         Reviewed by Ryosuke Niwa.
1978
1979         * test262.yaml:
1980         Update expectations for tests we are now passing.
1981
1982 2017-04-05  Joseph Pecoraro  <pecoraro@apple.com>
1983
1984         test262: module test progressions need updated expectations (@@iterator changes)
1985         https://bugs.webkit.org/show_bug.cgi?id=170535
1986
1987         Reviewed by Saam Barati.
1988
1989         * test262.yaml:
1990         After r212430 the tests are out of date and are now expected to fail.
1991
1992 2017-04-05  Michael Saboff  <msaboff@apple.com>
1993
1994         Unreviewed rollout of r214642 as the test still intermittently fails.
1995
1996         Disabled ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js.
1997
1998         * ChakraCore.yaml:
1999
2000 2017-04-05  Michael Saboff  <msaboff@apple.com>
2001
2002         REGRESSION (Safari 10.1): Inserting elements into arrays fails when array contains very large numbers
2003         https://bugs.webkit.org/show_bug.cgi?id=170264
2004         <rdar://problem/31375593>
2005
2006         Rubber-stamped by Saam Barati.
2007
2008         The original bug was fixed in: https://trac.webkit.org/changeset/214714
2009         I'm just adding another test for good measure.
2010
2011         * stress/double-array-to-array-storage.js: Added.
2012         (assert):
2013
2014 2017-04-05  Keith Miller  <keith_miller@apple.com>
2015
2016         WebAssembly: We shouldn't need to pin size registers if we have a fast memory.
2017         https://bugs.webkit.org/show_bug.cgi?id=170504
2018
2019         Reviewed by Mark Lam.
2020
2021         * wasm/function-tests/trap-after-cross-instance-call.js: Added.
2022         (b.new.WebAssembly.Memory):
2023         (importObject.foo.bar):
2024         (wasmFrameCountFromError):
2025
2026 2017-03-16  Yusuke Suzuki  <utatane.tea@gmail.com>
2027
2028         [JSC] Generate TemplateObjects at linking time
2029         https://bugs.webkit.org/show_bug.cgi?id=169743
2030
2031         Reviewed by Keith Miller.
2032
2033         * stress/template-string-tags-eval.js: Added.
2034         (shouldBe):
2035         (tag):
2036
2037 2017-04-04  Mark Lam  <mark.lam@apple.com>
2038
2039         On ARM64, DFG::SpeculativeJIT::compileArithMod() failed to ensure result is of DataFormatInt32.
2040         https://bugs.webkit.org/show_bug.cgi?id=170473
2041         <rdar://problem/29912391>
2042
2043         Reviewed by Saam Barati.
2044
2045         * stress/regress-170473.js: Added.
2046
2047 2017-04-03  Mark Lam  <mark.lam@apple.com>
2048
2049         Fix incorrect capacity delta calculation reported in SparseArrayValueMap::add().
2050         https://bugs.webkit.org/show_bug.cgi?id=170412
2051         <rdar://problem/29697336>
2052
2053         Reviewed by Filip Pizlo.
2054
2055         * stress/regress-170412.js: Added.
2056
2057 2017-04-03  Keith Miller  <keith_miller@apple.com>
2058
2059         WebAssembly: Update spec tests
2060         https://bugs.webkit.org/show_bug.cgi?id=170361
2061
2062         Rubber-stamped by Saam Barati.
2063
2064         Update the spec tests to run tests generated by the newer spec
2065         test builder wasm-spec/test/builder.py. This patch also adds the
2066         necessary harness code in spec-harness.js so we can run the tests.
2067
2068         * wasm.yaml:
2069         * wasm/import-spec-tests.rb:
2070         * wasm/spec-harness.js: Added.
2071         (import.string_appeared_here.then):
2072         (test):
2073         (promise_test):
2074         (let.assert_unreached):
2075         * wasm/spec-harness/index.js: Added.
2076         (let.testNum):
2077         (assertThrows):
2078         (_assert):
2079         (ValueResult):
2080         (ErrorResult):
2081         (Result.prototype.isError):
2082         (binary):
2083         (module):
2084         (uniqueTest):
2085         (assert_invalid):
2086         (assert_soft_invalid):
2087         (register):
2088         (call):
2089         (get instance):
2090         (exports):
2091         (run):
2092         (assert_unlinkable):
2093         (assert_uninstantiable):
2094         (assert_trap):
2095         (try.f):
2096         (catch):
2097         (assert_exhaustion):
2098         (assert_return):
2099         (assert_return_nan):
2100         * wasm/spec-harness/testharness.css: Added.
2101         (html):
2102         (#log .warning,):
2103         (#log .error,):
2104         (section#summary):
2105         (table#results):
2106         (table#results th:first-child,):
2107         (table#results th:last-child,):
2108         (table#results.assertions th:last-child,):
2109         (table#results th):
2110         (table#results td):
2111         (tr.pass > td:first-child):
2112         (tr.fail > td:first-child):
2113         (tr.timeout > td:first-child):
2114         (tr.notrun > td:first-child):
2115         (.pass > td:first-child, .fail > td:first-child, .timeout > td:first-child, .notrun > td:first-child):
2116         (table#results span):
2117         (table#results span.expected):
2118         (table#results span.actual):
2119         (span.ok):
2120         (tr.error):
2121         (span.timeout):
2122         (span.ok, span.timeout, span.error):
2123         * wasm/spec-harness/testharness.js: Added.
2124         (WindowTestEnvironment):
2125         (WindowTestEnvironment.prototype._dispatch):
2126         (WindowTestEnvironment.prototype._forEach_windows):
2127         (WindowTestEnvironment.prototype.on_tests_ready):
2128         (WindowTestEnvironment.prototype.setup_messages):
2129         (WindowTestEnvironment.prototype.next_default_test_name):
2130         (WindowTestEnvironment.prototype.on_new_harness_properties):
2131         (WindowTestEnvironment.prototype.add_on_loaded_callback):
2132         (WindowTestEnvironment.prototype.test_timeout):
2133         (WindowTestEnvironment.prototype.global_scope):
2134         (WorkerTestEnvironment):
2135         (WorkerTestEnvironment.prototype._dispatch):
2136         (WorkerTestEnvironment.prototype._add_message_port):
2137         (WorkerTestEnvironment.prototype.next_default_test_name):
2138         (WorkerTestEnvironment.prototype.on_new_harness_properties):
2139         (WorkerTestEnvironment.prototype.on_tests_ready):
2140         (WorkerTestEnvironment.prototype.add_on_loaded_callback):
2141         (WorkerTestEnvironment.prototype.test_timeout):
2142         (WorkerTestEnvironment.prototype.global_scope):
2143         (DedicatedWorkerTestEnvironment):
2144         (DedicatedWorkerTestEnvironment.prototype.on_tests_ready):
2145         (SharedWorkerTestEnvironment):
2146         (SharedWorkerTestEnvironment.prototype.on_tests_ready):
2147         (ServiceWorkerTestEnvironment):
2148         (ServiceWorkerTestEnvironment.prototype.add_on_loaded_callback):
2149         (create_test_environment):
2150         (is_shared_worker):
2151         (is_service_worker):
2152         (test):
2153         (async_test):
2154         (promise_test):
2155         (this.wait_for):
2156         (EventWatcher):
2157         (setup):
2158         (done):
2159         (generate_tests):
2160         (step_timeout):
2161         (truncate):
2162         (is_node):
2163         (format_value):
2164         * wasm/spec-harness/testharnessreport.js: Added.
2165         * wasm/spec-harness/wasm-constants.js: Added.
2166         (bytes):
2167         (bytesWithHeader):
2168         (makeSig):
2169         (makeSig_v_x):
2170         (makeSig_v_xx):
2171         (makeSig_r_v):
2172         (makeSig_r_x):
2173         (makeSig_r_xx):
2174         (assertTraps):
2175         (assertWasmThrows):
2176         * wasm/spec-harness/wasm-module-builder.js: Added.
2177         (Binary.prototype.emit_u8):
2178         (Binary.prototype.emit_u16):
2179         (Binary.prototype.emit_u32):
2180         (Binary.prototype.emit_u32v):
2181         (Binary.prototype.emit_bytes):
2182         (Binary.prototype.emit_string):
2183         (Binary.prototype.emit_header):
2184         (Binary.prototype.emit_section):
2185         (Binary):
2186         (WasmFunctionBuilder):
2187         (WasmFunctionBuilder.prototype.exportAs):
2188         (WasmFunctionBuilder.prototype.exportFunc):
2189         (WasmFunctionBuilder.prototype.addBody):
2190         (WasmFunctionBuilder.prototype.addLocals):
2191         (WasmFunctionBuilder.prototype.end):
2192         (WasmGlobalBuilder):
2193         (WasmGlobalBuilder.prototype.exportAs):
2194         (WasmModuleBuilder):
2195         (WasmModuleBuilder.prototype.addStart):
2196         (WasmModuleBuilder.prototype.addMemory):
2197         (WasmModuleBuilder.prototype.addExplicitSection):
2198         (WasmModuleBuilder.prototype.addType):
2199         (WasmModuleBuilder.prototype.addGlobal):
2200         (WasmModuleBuilder.prototype.addFunction):
2201         (WasmModuleBuilder.prototype.addImport):
2202         (WasmModuleBuilder.prototype.addImportedGlobal):
2203         (WasmModuleBuilder.prototype.addImportedMemory):
2204         (WasmModuleBuilder.prototype.addImportedTable):
2205         (WasmModuleBuilder.prototype.addExport):
2206         (WasmModuleBuilder.prototype.addExportOfKind):
2207         (WasmModuleBuilder.prototype.addDataSegment):
2208         (WasmModuleBuilder.prototype.exportMemoryAs):
2209         (WasmModuleBuilder.prototype.addFunctionTableInit):
2210         (WasmModuleBuilder.prototype.appendToTable):
2211         (WasmModuleBuilder.prototype.setFunctionTableLength):
2212         (WasmModuleBuilder.prototype.toArray):
2213         (WasmModuleBuilder.prototype.toBuffer):
2214         (WasmModuleBuilder.prototype.instantiate):
2215         * wasm/spec-harness/wast.js: Added.
2216         (normalize):
2217         (require.else._registry.name):
2218         (require):
2219         (add_hex_char):
2220         (add_char):
2221         (string_with):
2222         (list_of_opt):
2223         (break_bytes.f):
2224         (break_bytes):
2225         (f):
2226         (decls):
2227         (func_type):
2228         (limits):
2229         (global_type):
2230         (testop):
2231         (relop):
2232         (unop):
2233         (binop):
2234         (cvtop):
2235         (oper):
2236         (mem_size):
2237         (extension):
2238         (memop):
2239         (storeop):
2240         (var):
2241         (constop):
2242         (instr.else.switch.case.0.f):
2243         (instr.else.switch.case.1.f.1):
2244         (instr.else.switch.case.2.f.2):
2245         (instr):
2246         (func_with_name):
2247         (func):
2248         (start):
2249         (table):
2250         (memory):
2251         (segment):
2252         (elems):
2253         (data):
2254         (typedef):
2255         (import_kind):
2256         (import):
2257         (export_kind):
2258         (export):
2259         (var_opt):
2260         (is_func_import):
2261         (is_table_import):
2262         (is_memory_import):
2263         (is_global_import):
2264         (f.1):
2265         (f.2):
2266         (f.3):
2267         (module_with_var_opt):
2268         (module_):
2269         (literal):
2270         (definition):
2271         (access):
2272         (action):
2273         (script):
2274         (_registry.string_appeared_here):
2275         (init):
2276         (make_matrix):
2277         (copy):
2278         (append):
2279         (sub):
2280         (fill):
2281         (blit):
2282         (iter):
2283         (map):
2284         (iteri):
2285         (mapi):
2286         (to_list):
2287         (list_length):
2288         (of_list):
2289         (fold_left):
2290         (fold_right):
2291         (maxson):
2292         (trickle):
2293         (bubble):
2294         (trickleup):
2295         (sort):
2296         (merge):
2297         (isortto):
2298         (sortto):
2299         (stable_sort):
2300         (import_type):
2301         (export_type):
2302         (dims.n):
2303         (dims.d.i):
2304         (dims):
2305         (map_file):
2306         (create):
2307         (of_array):
2308         (slice_left):
2309         (slice_right):
2310         (slice_left_1):
2311         (slice_right_1):
2312         (slice_left_2):
2313         (slice_right_2):
2314         (array1_of_genarray):
2315         (array2_of_genarray):
2316         (array3_of_genarray):
2317         (reshape_1):
2318         (reshape_2):
2319         (reshape_3):
2320         (reshape):
2321         (__):
2322         (contents):
2323         (to_bytes):
2324         (nth):
2325         (length):
2326         (clear):
2327         (reset):
2328         (resize):
2329         (add_substring):
2330         (add_subbytes):
2331         (add_string):
2332         (add_bytes):
2333         (add_buffer):
2334         (add_channel):
2335         (output_buffer):
2336         (closing):
2337         (advance_to_closing):
2338         (advance_to_non_alpha):
2339         (find_ident):
2340         (add_substitute):
2341         (make):
2342         (to_string):
2343         (of_string):
2344         (sub_string):
2345         (extend):
2346         (blit_string):
2347         (concat):
2348         (cat):
2349         (is_space):
2350         (trim):
2351         (escaped):
2352         (uppercase):
2353         (lowercase):
2354         (apply1):
2355         (capitalize):
2356         (uncapitalize):
2357         (index_rec):
2358         (index):
2359         (index_from):
2360         (rindex_rec):
2361         (rindex):
2362         (rindex_from):
2363         (contains_from):
2364         (contains):
2365         (rcontains_from):
2366         (caml_array_sub):
2367         (len):
2368         (caml_array_concat):
2369         (caml_make_vect):
2370         (caml_array_blit):
2371         (get if):
2372         (caml_set_oo_id):
2373         (get_id):
2374         (caml_int32_float_of_bits):
2375         (caml_int32_bits_of_float):
2376         (caml_classify_float):
2377         (caml_modf_float):
2378         (caml_ldexp_float):
2379         (caml_frexp_float):
2380         (caml_copysign_float):
2381         (caml_expm1_float):
2382         (caml_hypot_float):
2383         (caml_log10_float):
2384         (caml_failwith):
2385         (parse_digit):
2386         (int_of_string_base):
2387         (parse_sign_and_base):
2388         (caml_int_of_string.aux):
2389         (caml_int_of_string):
2390         (caml_int64_of_string.aux):
2391         (caml_int64_of_string):
2392         (int_of_base):
2393         (parse_format):
2394         (finish_formatting):
2395         (caml_format_int):
2396         (caml_int64_format):
2397         (caml_format_float):
2398         (float_of_string):
2399         (div):
2400         (mod_):
2401         (caml_bswap16):
2402         (caml_int32_bswap):
2403         (imul):
2404         (neg_signed):
2405         (not):
2406         (eq):
2407         (neg):
2408         (lsl_):
2409         (lsr_):
2410         (asr_):
2411         (is_zero):
2412         (mul):
2413         (swap):
2414         (xor):
2415         (or_):
2416         (and_):
2417         (ge):
2418         (lt):
2419         (gt):
2420         (le):
2421         (to_float):
2422         (of_float):
2423         (div_mod):
2424         (compare):
2425         (of_int32):
2426         (to_int32):
2427         (to_hex.aux):
2428         (to_hex):
2429         (discard_sign):
2430         (float_of_bits):
2431         (bits_of_float.to_nat):
2432         (bits_of_float):
2433         (get64):
2434         (erase_rel):
2435         (concat_fmtty):
2436         (concat_fmt):
2437         (create_char_set):
2438         (add_in_char_set):
2439         (rev_char_set):
2440         (is_in_char_set):
2441         (prec_of_prec_opt):
2442         (param_format_of_ignored_format):
2443         (buffer_check_size):
2444         (buffer_add_char):
2445         (buffer_add_string):
2446         (buffer_contents):
2447         (char_of_iconv):
2448         (char_of_fconv):
2449         (char_of_counter):
2450         (print_char):
2451         (set while.set var):
2452         (set while.set else):
2453         (set var):
2454         (set else):
2455         (set print_char):
2456         (set if):
2457         (bprint_padty):
2458         (bprint_ignored_flag):
2459         (bprint_pad_opt):
2460         (bprint_padding):
2461         (bprint_precision):
2462         (bprint_iconv_flag):
2463         (bprint_int_fmt):
2464         (bprint_altint_fmt):
2465         (bprint_fconv_flag):
2466         (bprint_float_fmt):
2467         (string_of_formatting_lit):
2468         (string_of_formatting_gen):
2469         (bprint_char_literal):
2470         (bprint_string_literal):
2471         (bprint_fmtty):
2472         (int_of_custom_arity):
2473         (bprint_fmt):
2474         (string_of_fmt):
2475         (symm):
2476         (fmtty_rel_det):
2477         (trans):
2478         (fmtty_of_formatting_gen):
2479         (fmtty_of_fmt):
2480         (fmtty_of_custom):
2481         (fmtty_of_padding_fmtty):
2482         (fmtty_of_precision_fmtty):
2483         (type_padding):
2484         (type_padprec):
2485         (type_ignored_param_one):
2486         (type_format_gen):
2487         (type_ignored_format_substitution):
2488         (type_format):
2489         (recast):
2490         (fix_padding):
2491         (fix_int_precision):
2492         (string_to_caml_string):
2493         (format_of_iconv):
2494         (format_of_aconv):
2495         (format_of_fconv):
2496         (convert_int):
2497         (convert_int32):
2498         (convert_nativeint):
2499         (convert_int64):
2500         (else.is_valid):
2501         (convert_float):
2502         (format_caml_char):
2503         (string_of_fmtty):
2504         (else.switch.):
2505         (else.switch.k.prime):
2506         (else.switch.else.):
2507         (else.switch.else.k.prime.1):
2508         (make_printf):
2509         (make_from_fmtty):
2510         (make_invalid_arg):
2511         (make_string_padding):
2512         (make_int_padding_precision):
2513         (make_custom):
2514         (output_acc):
2515         (bufput_acc):
2516         (strput_acc):
2517         (failwith_message.k):
2518         (failwith_message):
2519         (open_box_of_string.else.invalid_box):
2520         (open_box_of_string.else.parse_spaces):
2521         (open_box_of_string.else.parse_lword):
2522         (open_box_of_string.else.parse_int):
2523         (open_box_of_string):
2524         (make_padding_fmt_ebb):
2525         (make_precision_fmt_ebb):
2526         (make_padprec_fmt_ebb):
2527         (invalid_format_message):
2528         (invalid_format_without):
2529         (expected_character):
2530         (compute_int_conv):
2531         (incompatible_flag):
2532         (parse_positive):
2533         (parse_conv):
2534         (parse_after_precision):
2535         (else.parse_literal):
2536         (parse_after_padding):
2537         (parse_literal):
2538         (parse_after_at):
2539         (add_literal):
2540         (parse_spaces):
2541         (parse_integer):
2542         (compute_float_conv):
2543         (search_subformat_end):
2544         (check_no_0):
2545         (opt_of_pad):
2546         (get_prec_opt):
2547         (else.switch.case.99.char_format):
2548         (else.switch.scan_format):
2549         (parse_conversion):
2550         (set_flag):
2551         (parse_flags):
2552         (is_int_base):
2553         (counter_of_char):
2554         (add_range):
2555         (fail_single_percent):
2556         (parse_char_set_after_char):
2557         (parse_char_set_content):
2558         (parse_char_set_start):
2559         (parse_char_set):
2560         (check_open_box):
2561         (parse_tag):
2562         (fmt_ebb_of_string):
2563         (format_of_string_fmtty):
2564         (format_of_string_format):
2565         (caret):
2566         (caml_ml_open_descriptor_in):
2567         (caml_ml_open_descriptor_out):
2568         (caml_ml_flush):
2569         (node_std_output):
2570         (caml_ml_output_char):
2571         (caml_ml_input):
2572         (caml_ml_input_char):
2573         (caml_ml_out_channels_list):
2574         (fail):
2575         (caml_lex_array):
2576         (caml_lex_engine):
2577         (caml_lex_run_mem):
2578         (caml_lex_run_tag):
2579         (caml_new_lex_engine):
2580         (caml_obj_dup):
2581         (caml_obj_truncate):
2582         (caml_lazy_make_forward):
2583         (caml_update_dummy):
2584         (caml_int_compare):
2585         (caml_compare):
2586         (caml_equal):
2587         (caml_notequal):
2588         (caml_greaterequal):
2589         (caml_lessequal):
2590         (else.aux):
2591         (caml_get_public_method):
2592         (caml_parse_engine):
2593         (caml_set_parser_trace):
2594         (js_string_of_char):
2595         (caml_string_get):
2596         (caml_create_string):
2597         (caml_string_compare):
2598         (caml_fill_string):
2599         (caml_blit_string):
2600         (caml_blit_bytes):
2601         (bytes_of_string):
2602         (bytes_to_string):
2603         (caml_string_of_char_array):
2604         (caml_is_printable):
2605         (caml_string_get16):
2606         (caml_string_get32):
2607         (repeat):
2608         (chr):
2609         (app):
2610         (js):
2611         (curry_1):
2612         (_1):
2613         (js1):
2614         (__1):
2615         (curry_2):
2616         (_2):
2617         (js2):
2618         (__2):
2619         (curry_3):
2620         (_3):
2621         (js3):
2622         (__3):
2623         (curry_4):
2624         (_4):
2625         (js4):
2626         (__4):
2627         (curry_5):
2628         (_5):
2629         (js5):
2630         (__5):
2631         (curry_6):
2632         (_6):
2633         (js6):
2634         (__6):
2635         (curry_7):
2636         (_7):
2637         (js7):
2638         (__7):
2639         (curry_8):
2640         (_8):
2641         (js8):
2642         (__8):
2643         (stream):
2644         (eos):
2645         (skip):
2646         (read):
2647         (peek):
2648         (string_of_byte):
2649         (position):
2650         (region):
2651         (error):
2652         (guard):
2653         (get 1):
2654         (get expect):
2655         (get illegal):
2656         (at):
2657         (u32):
2658         (u64):
2659         (get require):
2660         (vuN):
2661         (get var):
2662         (vsN):
2663         (vu32):
2664         (vs32):
2665         (vs64):
2666         (f32):
2667         (f64):
2668         (len32):
2669         (string):
2670         (opt):
2671         (vec):
2672         (sized):
2673         (value_type):
2674         (elem_type):
2675         (stack_type):
2676         (table_type):
2677         (memory_type):
2678         (mutability.get if):
2679         (mutability):
2680         (instr.get if):
2681         (instr_block):
2682         (const):
2683         (id):
2684         (section):
2685         (type_section):
2686         (import_kind.get if):
2687         (import_section):
2688         (func_section):
2689         (table_section):
2690         (memory_section):
2691         (global):
2692         (global_section):
2693         (export_kind.get if):
2694         (export_section):
2695         (start_section):
2696         (local):
2697         (code):
2698         (code_section):
2699         (table_segment):
2700         (elem_section):
2701         (memory_segment):
2702         (data_section):
2703         (partial_arg.1):
2704         (custom):
2705         (custom_section):
2706         (iterate):
2707         (decode):
2708         (patch):
2709         (encode.u8):
2710         (encode.u16):
2711         (encode.u32):
2712         (encode.vu64):
2713         (encode.vs64):
2714         (encode.vu32):
2715         (encode.len):
2716         (encode.bool):
2717         (encode.string):
2718         (encode.vec):
2719         (encode.gap32):
2720         (encode.patch_gap32):
2721         (encode.value_type):
2722         (encode.stack_type):
2723         (encode.func_type):
2724         (encode.limits):
2725         (encode.table_type):
2726         (encode.memory_type):
2727         (encode.global_type):
2728         (encode.memop):
2729         (encode):
2730         (encode.instr):
2731         (encode.const):
2732         (encode.section):
2733         (encode.type_section):
2734         (encode.import):
2735         (encode.import_section):
2736         (encode.func):
2737         (encode.func_section):
2738         (encode.table):
2739         (encode.table_section):
2740         (encode.memory):
2741         (encode.memory_section):
2742         (encode.global):
2743         (encode.global_section):
2744         (encode.export_kind):
2745         (encode.export):
2746         (encode.export_section):
2747         (encode.start_section):
2748         (encode.combine):
2749         (encode.compress):
2750         (encode.local):
2751         (encode.code):
2752         (encode.code_section):
2753         (encode.segment):
2754         (encode.table_segment):
2755         (encode.elem_section):
2756         (encode.memory_segment):
2757         (encode.module_):
2758         (Make.warn):
2759         (Make.error):
2760         (Make):
2761         (print_nan_significand_digits):
2762         (Make.of_bits):
2763         (Make.to_bits):
2764         (Make.is_nan):
2765         (Make.canonicalize_nan):
2766         (Make.determine_binary_nan):
2767         (Make.determine_unary_nan):
2768         (Make.binary):
2769         (Make.unary):
2770         (Make.add):
2771         (Make.sub):
2772         (Make.mul):
2773         (Make.div):
2774         (Make.sqrt):
2775         (Make.ceil):
2776         (Make.floor):
2777         (Make.trunc):
2778         (Make.nearest):
2779         (Make.min):
2780         (Make.max):
2781         (Make.abs):
2782         (Make.neg):
2783         (Make.copysign):
2784         (Make.eq):
2785         (Make.ne):
2786         (Make.lt):
2787         (Make.gt):
2788         (Make.le):
2789         (Make.ge):
2790         (Make.of_signless_string):
2791         (Make.of_string):
2792         (Make.to_string):
2793         (add_queue):
2794         (peek_queue):
2795         (take_queue):
2796         (pp_enqueue):
2797         (pp_clear_queue):
2798         (pp_output_string):
2799         (break_new_line):
2800         (break_same_line):
2801         (pp_force_break_line):
2802         (switch.add_tab):
2803         (else.switch.find):
2804         (format_pp_token):
2805         (advance_left):
2806         (enqueue_advance):
2807         (enqueue_string_as):
2808         (set_size):
2809         (scan_push):
2810         (pp_open_box_gen):
2811         (pp_close_box):
2812         (pp_open_tag):
2813         (pp_close_tag):
2814         (pp_set_print_tags):
2815         (pp_set_mark_tags):
2816         (pp_get_print_tags):
2817         (pp_get_mark_tags):
2818         (pp_set_tags):
2819         (pp_get_formatter_tag_functions):
2820         (pp_set_formatter_tag_functions):
2821         (pp_rinit):
2822         (pp_flush_queue):
2823         (pp_print_as_size):
2824         (pp_print_string):
2825         (pp_print_int):
2826         (pp_print_float):
2827         (pp_print_bool):
2828         (pp_open_hbox):
2829         (pp_open_vbox):
2830         (pp_open_hvbox):
2831         (pp_open_hovbox):
2832         (pp_open_box):
2833         (pp_print_newline):
2834         (pp_print_flush):
2835         (pp_force_newline):
2836         (pp_print_if_newline):
2837         (pp_print_break):
2838         (pp_print_space):
2839         (pp_print_cut):
2840         (pp_open_tbox):
2841         (pp_close_tbox):
2842         (pp_print_tbreak):
2843         (pp_print_tab):
2844         (pp_set_tab):
2845         (pp_print_list):
2846         (flush):
2847         (pp_print_text):
2848         (pp_set_max_boxes):
2849         (pp_get_max_boxes):
2850         (pp_over_max_boxes):
2851         (pp_get_ellipsis_text):
2852         (pp_limit):
2853         (pp_set_max_indent):
2854         (pp_get_max_indent):
2855         (pp_set_margin):
2856         (pp_get_margin):
2857         (pp_set_formatter_out_functions):
2858         (pp_get_formatter_out_functions):
2859         (pp_set_formatter_output_functions):
2860         (pp_get_formatter_output_functions):
2861         (pp_set_all_formatter_output_functions):
2862         (pp_get_all_formatter_output_functions):
2863         (display_newline):
2864         (display_blanks):
2865         (state.16):
2866         (state.17):
2867         (state.18):
2868         (state.19):
2869         (pp_set_formatter_out_channel):
2870         (default_pp_mark_open_tag):
2871         (default_pp_mark_close_tag):
2872         (default_pp_print_open_tag):
2873         (default_pp_print_close_tag):
2874         (pp_make_formatter):
2875         (ppf.18):
2876         (ppf.19):
2877         (make_formatter):
2878         (formatter_of_out_channel):
2879         (formatter_of_buffer):
2880         (flush_str_formatter):
2881         (flush_buf_formatter):
2882         (open_hbox):
2883         (open_vbox):
2884         (open_hvbox):
2885         (open_hovbox):
2886         (open_box):
2887         (close_box):
2888         (open_tag):
2889         (close_tag):
2890         (print_as):
2891         (print_string):
2892         (print_int):
2893         (print_float):
2894         (print_bool):
2895         (print_cut):
2896         (print_space):
2897         (force_newline):
2898         (print_flush):
2899         (print_newline):
2900         (print_if_newline):
2901         (open_tbox):
2902         (close_tbox):
2903         (print_tbreak):
2904         (set_tab):
2905         (print_tab):
2906         (set_margin):
2907         (get_margin):
2908         (set_max_indent):
2909         (get_max_indent):
2910         (set_max_boxes):
2911         (get_max_boxes):
2912         (over_max_boxes):
2913         (set_ellipsis_text):
2914         (get_ellipsis_text):
2915         (set_formatter_out_channel):
2916         (set_formatter_out_functions):
2917         (get_formatter_out_functions):
2918         (set_formatter_output_functions):
2919         (get_formatter_output_functions):
2920         (set_all_formatter_output_functions):
2921         (get_all_formatter_output_functions):
2922         (set_formatter_tag_functions):
2923         (get_formatter_tag_functions):
2924         (set_print_tags):
2925         (get_print_tags):
2926         (set_mark_tags):
2927         (get_mark_tags):
2928         (set_tags):
2929         (compute_tag):
2930         (output_formatting_lit):
2931         (kfprintf):
2932         (ikfprintf):
2933         (fprintf):
2934         (ifprintf):
2935         (printf):
2936         (eprintf):
2937         (k.prime):
2938         (ksprintf):
2939         (sprintf):
2940         (asprintf.k.prime):
2941         (asprintf):
2942         (k):
2943         (bprintf):
2944         (succ):
2945         (pred):
2946         (abs):
2947         (lognot):
2948         (Make.cmp_u):
2949         (Make.divrem_u):
2950         (Make.div_s):
2951         (Make.div_u):
2952         (Make.rem_s):
2953         (Make.rem_u):
2954         (Make.shift):
2955         (Make.shl):
2956         (Make.shr_s):
2957         (Make.shr_u):
2958         (Make.clamp_rotate_count):
2959         (Make.rotl):
2960         (Make.rotr):
2961         (Make.loop):
2962         (Make.clz):
2963         (Make.ctz):
2964         (Make.popcnt):
2965         (Make.eqz):
2966         (Make.lt_u):
2967         (Make.le_u):
2968         (Make.gt_u):
2969         (Make.ge_u):
2970         (Make.of_int_u):
2971         (Make.to_string_u):
2972         (Make.require):
2973         (Make.dec_digit):
2974         (Make.hex_digit):
2975         (Make.parse_int):
2976         (Make.of_string_s):
2977         (Make.of_string_u):
2978         (convert_pos):
2979         (error_nest):
2980         (text):
2981         (intop):
2982         (floatop):
2983         (numop):
2984         (memsz):
2985         (ext):
2986         (token.else.switch):
2987         (token.else.switch.):
2988         (token):
2989         (__ocaml_lex_comment_rec):
2990         (engine):
2991         (new_engine):
2992         (from_function):
2993         (from_channel):
2994         (from_string):
2995         (lexeme):
2996         (sub_lexeme):
2997         (sub_lexeme_opt):
2998         (sub_lexeme_char):
2999         (sub_lexeme_char_opt):
3000         (lexeme_char):
3001         (lexeme_start):
3002         (lexeme_end):
3003         (lexeme_start_p):
3004         (lexeme_end_p):
3005         (new_line):
3006         (flush_input):
3007         (take):
3008         (drop):
3009         (last):
3010         (split_last):
3011         (index_of):
3012         (index_of_int32):
3013         (dim):
3014         (set 1):
3015         (get 2):
3016         (log2):
3017         (is_power_of_two):
3018         (loop):
3019         (breakup):
3020         (hd):
3021         (tl):
3022         (rev_append):
3023         (rev):
3024         (flatten):
3025         (rev_map):
3026         (map2):
3027         (rev_map2):
3028         (iter2):
3029         (fold_left2):
3030         (fold_right2):
3031         (for_all):
3032         (exists):
3033         (for_all2):
3034         (exists2):
3035         (mem):
3036         (memq):
3037         (assoc):
3038         (assq):
3039         (mem_assoc):
3040         (mem_assq):
3041         (remove_assoc):
3042         (remove_assq):
3043         (find):
3044         (find_all):
3045         (partition):
3046         (split):
3047         (combine):
3048         (chop):
3049         (rev_sort):
3050         (sort_uniq):
3051         (Make.height):
3052         (Make.create):
3053         (Make.singleton):
3054         (Make.bal):
3055         (Make.is_empty):
3056         (Make.find):
3057         (Make.mem):
3058         (Make.min_binding):
3059         (Make.max_binding):
3060         (Make.remove_min_binding):
3061         (Make.remove):
3062         (Make.iter):
3063         (Make.map):
3064         (Make.mapi):
3065         (Make.fold):
3066         (Make.for_all):
3067         (Make.exists):
3068         (Make.add_min_binding):
3069         (Make.add_max_binding):
3070         (Make.join):
3071         (Make.concat):
3072         (Make.concat_or_join):
3073         (Make.split):
3074         (Make.merge):
3075         (Make.filter):
3076         (Make.partition):
3077         (Make.cons_enum):
3078         (Make.compare):
3079         (Make.equal):
3080         (Make.cardinal):
3081         (Make.bindings_aux):
3082         (Make.bindings):
3083         (double_field):
3084         (set_double_field):
3085         (marshal):
3086         (unmarshal):
3087         (extension_slot):
3088         (extension_name):
3089         (extension_id):
3090         (i32_const):
3091         (i64_const):
3092         (f32_const):
3093         (f64_const):
3094         (block):
3095         (br):
3096         (br_if):
3097         (br_table):
3098         (if_):
3099         (call):
3100         (call_indirect):
3101         (get_local):
3102         (set_local):
3103         (tee_local):
3104         (get_global):
3105         (set_global):
3106         (i32_load):
3107         (i64_load):
3108         (f32_load):
3109         (f64_load):
3110         (i32_load8_s):
3111         (i32_load8_u):
3112         (i32_load16_s):
3113         (i32_load16_u):
3114         (i64_load8_s):
3115         (i64_load8_u):
3116         (i64_load16_s):
3117         (i64_load16_u):
3118         (i64_load32_s):
3119         (i64_load32_u):
3120         (i32_store):
3121         (i64_store):
3122         (f32_store):
3123         (f64_store):
3124         (i32_store8):
3125         (i32_store16):
3126         (i64_store8):
3127         (i64_store16):
3128         (i64_store32):
3129         (parse):
3130         (string_to):
3131         (string_to_script):
3132         (string_to_module):
3133         (parse_error):
3134         (position_to_pos):
3135         (positions_to_region):
3136         (ati):
3137         (nat):
3138         (nat32):
3139         (empty_context):
3140         (enter_func):
3141         (type_):
3142         (lookup):
3143         (label):
3144         (anon_type):
3145         (bind):
3146         (bind_func):
3147         (bind_local):
3148         (bind_global):
3149         (bind_table):
3150         (bind_memory):
3151         (anon):
3152         (anon_func):
3153         (anon_locals):
3154         (anon_global):
3155         (anon_table):
3156         (anon_memory):
3157         (anon_label):
3158         (explicit_sig):
3159         (inline_type):
3160         (yyact):
3161         (script1):
3162         (module1):
3163         (grow_stacks):
3164         (clear_parser):
3165         (current_lookahead_fun):
3166         (catch.else.current_lookahead_fun.0):
3167         (yyparse):
3168         (peek_val):
3169         (symbol_start_pos):
3170         (symbol_end_pos):
3171         (rhs_start_pos):
3172         (rhs_end_pos):
3173         (symbol_start):
3174         (symbol_end):
3175         (rhs_start):
3176         (rhs_end):
3177         (is_current_lookahead):
3178         (failwith):
3179         (invalid_arg):
3180         (min):
3181         (max):
3182         (lnot):
3183         (char_of_int):
3184         (string_of_bool):
3185         (bool_of_string):
3186         (string_of_int):
3187         (valid_float_lexem):
3188         (string_of_float):
3189         (open_out_gen):
3190         (open_out):
3191         (open_out_bin):
3192         (flush_all):
3193         (output_bytes):
3194         (output_string):
3195         (output):
3196         (output_substring):
3197         (output_value):
3198         (close_out):
3199         (close_out_noerr):
3200         (open_in_gen):
3201         (open_in):
3202         (open_in_bin):
3203         (input):
3204         (else.r):
3205         (unsafe_really_input):
3206         (really_input):
3207         (really_input_string):
3208         (input_line.build_result):
3209         (input_line.n):
3210         (input_line.scan):
3211         (input_line):
3212         (close_in_noerr):
3213         (print_bytes):
3214         (print_endline):
3215         (prerr_char):
3216         (prerr_string):
3217         (prerr_bytes):
3218         (prerr_int):
3219         (prerr_float):
3220         (prerr_endline):
3221         (prerr_newline):
3222         (read_line):
3223         (read_int):
3224         (read_float):
3225         (string_of_format):
3226         (at_exit.exit_function.0):
3227         (at_exit):
3228         (do_at_exit):
3229         (exit):
3230         (output_binary_int):
3231         (seek_out):
3232         (pos_out):
3233         (out_channel_length):
3234         (set_binary_mode_out):
3235         (input_binary_int):
3236         (input_value):
3237         (seek_in):
3238         (pos_in):
3239         (in_channel_length):
3240         (close_in):
3241         (set_binary_mode_in):
3242         (LargeFile_000):
3243         (LargeFile_001):
3244         (LargeFile_002):
3245         (LargeFile_003):
3246         (LargeFile_004):
3247         (LargeFile_005):
3248         (kbprintf):
3249         (plus):
3250         (pp):
3251         (print):
3252         (string_of_pos):
3253         (string_of_region):
3254         (escaped.needs_escape):
3255         (set_signal):
3256         (catch_break):
3257         (size):
3258         (string_of_value_type):
3259         (string_of_value_types):
3260         (string_of_elem_type):
3261         (string_of_limits):
3262         (string_of_table_type):
3263         (string_of_global_type):
3264         (string_of_stack_type):
3265         (string_of_func_type):
3266         (type_of):
3267         (default_value):
3268         (value_of_bool):
3269         (string_of_values):
3270         (to_value):
3271         (of_value):
3272         (g):
3273         (binary):
3274         (bytes):
3275         * wasm/spec-tests/address.wast.js:
3276         (register): Deleted.
3277         (module): Deleted.
3278         (instance): Deleted.
3279         (assert_malformed): Deleted.
3280         (assert_invalid): Deleted.
3281         (assert_soft_invalid): Deleted.
3282         (assert_unlinkable): Deleted.
3283         (assert_uninstantiable): Deleted.
3284         (assert_trap): Deleted.
3285         (assert_return): Deleted.
3286         (assert_return_nan): Deleted.
3287         * wasm/spec-tests/binary.wast.js:
3288         (register): Deleted.
3289         (module): Deleted.
3290         (instance): Deleted.
3291         (assert_malformed): Deleted.
3292         (assert_invalid): Deleted.
3293         (assert_soft_invalid): Deleted.
3294         (assert_unlinkable): Deleted.
3295         (assert_uninstantiable): Deleted.
3296         (assert_trap): Deleted.
3297         (assert_return): Deleted.
3298         (assert_return_nan): Deleted.
3299         * wasm/spec-tests/block.wast.js:
3300         (register): Deleted.
3301         (module): Deleted.
3302         (instance): Deleted.
3303         (assert_malformed): Deleted.
3304         (assert_invalid): Deleted.
3305         (assert_soft_invalid): Deleted.
3306         (assert_unlinkable): Deleted.
3307         (assert_uninstantiable): Deleted.
3308         (assert_trap): Deleted.
3309         (assert_return): Deleted.
3310         (assert_return_nan): Deleted.
3311         * wasm/spec-tests/br.wast.js:
3312         (register): Deleted.
3313         (module): Deleted.
3314         (instance): Deleted.
3315         (assert_malformed): Deleted.
3316         (assert_invalid): Deleted.
3317         (assert_soft_invalid): Deleted.
3318         (assert_unlinkable): Deleted.
3319         (assert_uninstantiable): Deleted.
3320         (assert_trap): Deleted.
3321         (assert_return): Deleted.
3322         (assert_return_nan): Deleted.
3323         * wasm/spec-tests/br_if.wast.js:
3324         (register): Deleted.
3325         (module): Deleted.
3326         (instance): Deleted.
3327         (assert_malformed): Deleted.
3328         (assert_invalid): Deleted.
3329         (assert_soft_invalid): Deleted.
3330         (assert_unlinkable): Deleted.
3331         (assert_uninstantiable): Deleted.
3332         (assert_trap): Deleted.
3333         (assert_return): Deleted.
3334         (assert_return_nan): Deleted.
3335         * wasm/spec-tests/br_table.wast.js:
3336         (register): Deleted.
3337         (module): Deleted.
3338         (instance): Deleted.
3339         (assert_malformed): Deleted.
3340         (assert_invalid): Deleted.
3341         (assert_soft_invalid): Deleted.
3342         (assert_unlinkable): Deleted.
3343         (assert_uninstantiable): Deleted.
3344         (assert_trap): Deleted.
3345         (assert_return): Deleted.
3346         (assert_return_nan): Deleted.
3347         * wasm/spec-tests/break-drop.wast.js:
3348         (register): Deleted.
3349         (module): Deleted.
3350         (instance): Deleted.
3351         (assert_malformed): Deleted.
3352         (assert_invalid): Deleted.
3353         (assert_soft_invalid): Deleted.
3354         (assert_unlinkable): Deleted.
3355         (assert_uninstantiable): Deleted.
3356         (assert_trap): Deleted.
3357         (assert_return): Deleted.
3358         (assert_return_nan): Deleted.
3359         * wasm/spec-tests/call.wast.js:
3360         (register): Deleted.
3361         (module): Deleted.
3362         (instance): Deleted.
3363         (assert_malformed): Deleted.
3364         (assert_invalid): Deleted.
3365         (assert_soft_invalid): Deleted.
3366         (assert_unlinkable): Deleted.
3367         (assert_uninstantiable): Deleted.
3368         (assert_trap): Deleted.
3369         (assert_return): Deleted.
3370         (assert_return_nan): Deleted.
3371         * wasm/spec-tests/call_indirect.wast.js:
3372         (register): Deleted.
3373         (module): Deleted.
3374         (instance): Deleted.
3375         (assert_malformed): Deleted.
3376         (assert_invalid): Deleted.
3377         (assert_soft_invalid): Deleted.
3378         (assert_unlinkable): Deleted.
3379         (assert_uninstantiable): Deleted.
3380         (assert_trap): Deleted.
3381         (assert_return): Deleted.
3382         (assert_return_nan): Deleted.
3383         * wasm/spec-tests/comments.wast.js:
3384         (register): Deleted.
3385         (module): Deleted.
3386         (instance): Deleted.
3387         (assert_malformed): Deleted.
3388         (assert_invalid): Deleted.
3389         (assert_soft_invalid): Deleted.
3390         (assert_unlinkable): Deleted.
3391         (assert_uninstantiable): Deleted.
3392         (assert_trap): Deleted.
3393         (assert_return): Deleted.
3394         (assert_return_nan): Deleted.
3395         * wasm/spec-tests/conversions.wast.js:
3396         (register): Deleted.
3397         (module): Deleted.
3398         (instance): Deleted.
3399         (assert_malformed): Deleted.
3400         (assert_invalid): Deleted.
3401         (assert_soft_invalid): Deleted.
3402         (assert_unlinkable): Deleted.
3403         (assert_uninstantiable): Deleted.
3404         (assert_trap): Deleted.
3405         (assert_return): Deleted.
3406         (assert_return_nan): Deleted.
3407         * wasm/spec-tests/custom_section.wast.js:
3408         (register): Deleted.
3409         (module): Deleted.
3410         (instance): Deleted.
3411         (assert_malformed): Deleted.
3412         (assert_invalid): Deleted.
3413         (assert_soft_invalid): Deleted.
3414         (assert_unlinkable): Deleted.
3415         (assert_uninstantiable): Deleted.
3416         (assert_trap): Deleted.
3417         (assert_return): Deleted.
3418         (assert_return_nan): Deleted.
3419         * wasm/spec-tests/endianness.wast.js:
3420         (register): Deleted.
3421         (module): Deleted.
3422         (instance): Deleted.
3423         (assert_malformed): Deleted.
3424         (assert_invalid): Deleted.
3425         (assert_soft_invalid): Deleted.
3426         (assert_unlinkable): Deleted.
3427         (assert_uninstantiable): Deleted.
3428         (assert_trap): Deleted.
3429         (assert_return): Deleted.
3430         (assert_return_nan): Deleted.
3431         * wasm/spec-tests/exports.wast.js:
3432         (register): Deleted.
3433         (module): Deleted.
3434         (instance): Deleted.
3435         (assert_malformed): Deleted.
3436         (assert_invalid): Deleted.
3437         (assert_soft_invalid): Deleted.
3438         (assert_unlinkable): Deleted.
3439         (assert_uninstantiable): Deleted.
3440         (assert_trap): Deleted.
3441         (assert_return): Deleted.
3442         (assert_return_nan): Deleted.
3443         * wasm/spec-tests/f32.wast.js: Removed.
3444         * wasm/spec-tests/f32_cmp.wast.js:
3445         (register): Deleted.
3446         (module): Deleted.
3447         (instance): Deleted.
3448         (assert_malformed): Deleted.
3449         (assert_invalid): Deleted.
3450         (assert_soft_invalid): Deleted.
3451         (assert_unlinkable): Deleted.
3452         (assert_uninstantiable): Deleted.
3453         (assert_trap): Deleted.
3454         (assert_return): Deleted.
3455         (assert_return_nan): Deleted.
3456         * wasm/spec-tests/f64.wast.js: Removed.
3457         * wasm/spec-tests/f64_cmp.wast.js:
3458         (register): Deleted.
3459         (module): Deleted.
3460         (instance): Deleted.
3461         (assert_malformed): Deleted.
3462         (assert_invalid): Deleted.
3463         (assert_soft_invalid): Deleted.
3464         (assert_unlinkable): Deleted.
3465         (assert_uninstantiable): Deleted.
3466         (assert_trap): Deleted.
3467         (assert_return): Deleted.
3468         (assert_return_nan): Deleted.
3469         * wasm/spec-tests/fac.wast.js:
3470         (register): Deleted.
3471         (module): Deleted.
3472         (instance): Deleted.
3473         (assert_malformed): Deleted.
3474         (assert_invalid): Deleted.
3475         (assert_soft_invalid): Deleted.
3476         (assert_unlinkable): Deleted.
3477         (assert_uninstantiable): Deleted.
3478         (assert_trap): Deleted.
3479         (assert_return): Deleted.
3480         (assert_return_nan): Deleted.
3481         * wasm/spec-tests/float_exprs.wast.js: Removed.
3482         * wasm/spec-tests/float_literals.wast.js:
3483         (register): Deleted.
3484         (module): Deleted.
3485         (instance): Deleted.
3486         (assert_malformed): Deleted.
3487         (assert_invalid): Deleted.
3488         (assert_soft_invalid): Deleted.
3489         (assert_unlinkable): Deleted.
3490         (assert_uninstantiable): Deleted.
3491         (assert_trap): Deleted.
3492         (assert_return): Deleted.
3493         (assert_return_nan): Deleted.
3494         * wasm/spec-tests/float_memory.wast.js:
3495         (register): Deleted.
3496         (module): Deleted.
3497         (instance): Deleted.
3498         (assert_malformed): Deleted.
3499         (assert_invalid): Deleted.
3500         (assert_soft_invalid): Deleted.
3501         (assert_unlinkable): Deleted.
3502         (assert_uninstantiable): Deleted.
3503         (assert_trap): Deleted.
3504         (assert_return): Deleted.
3505         (assert_return_nan): Deleted.
3506         * wasm/spec-tests/float_misc.wast.js: Removed.
3507         * wasm/spec-tests/forward.wast.js:
3508         (register): Deleted.
3509         (module): Deleted.
3510         (instance): Deleted.
3511         (assert_malformed): Deleted.
3512         (assert_invalid): Deleted.
3513         (assert_soft_invalid): Deleted.
3514         (assert_unlinkable): Deleted.
3515         (assert_uninstantiable): Deleted.
3516         (assert_trap): Deleted.
3517         (assert_return): Deleted.
3518         (assert_return_nan): Deleted.
3519         * wasm/spec-tests/func.wast.js:
3520         (register): Deleted.
3521         (module): Deleted.
3522         (instance): Deleted.
3523         (assert_malformed): Deleted.
3524         (assert_invalid): Deleted.
3525         (assert_soft_invalid): Deleted.
3526         (assert_unlinkable): Deleted.
3527         (assert_uninstantiable): Deleted.
3528         (assert_trap): Deleted.
3529         (assert_return): Deleted.
3530         (assert_return_nan): Deleted.
3531         * wasm/spec-tests/func_ptrs.wast.js:
3532         (register): Deleted.
3533         (module): Deleted.
3534         (instance): Deleted.
3535         (assert_malformed): Deleted.
3536         (assert_invalid): Deleted.
3537         (assert_soft_invalid): Deleted.
3538         (assert_unlinkable): Deleted.
3539         (assert_uninstantiable): Deleted.
3540         (assert_trap): Deleted.
3541         (assert_return): Deleted.
3542         (assert_return_nan): Deleted.
3543         * wasm/spec-tests/get_local.wast.js:
3544         (register): Deleted.
3545         (module): Deleted.
3546         (instance): Deleted.
3547         (assert_malformed): Deleted.
3548         (assert_invalid): Deleted.
3549         (assert_soft_invalid): Deleted.
3550         (assert_unlinkable): Deleted.
3551         (assert_uninstantiable): Deleted.
3552         (assert_trap): Deleted.
3553         (assert_return): Deleted.
3554         (assert_return_nan): Deleted.
3555         * wasm/spec-tests/globals.wast.js:
3556         (register): Deleted.
3557         (module): Deleted.
3558         (instance): Deleted.
3559         (assert_malformed): Deleted.
3560         (assert_invalid): Deleted.
3561         (assert_soft_invalid): Deleted.
3562         (assert_unlinkable): Deleted.
3563         (assert_uninstantiable): Deleted.
3564         (assert_trap): Deleted.
3565         (assert_return): Deleted.
3566         (assert_return_nan): Deleted.
3567         * wasm/spec-tests/i32.wast.js:
3568         (register): Deleted.
3569         (module): Deleted.
3570         (instance): Deleted.
3571         (assert_malformed): Deleted.
3572         (assert_invalid): Deleted.
3573         (assert_soft_invalid): Deleted.
3574         (assert_unlinkable): Deleted.
3575         (assert_uninstantiable): Deleted.
3576         (assert_trap): Deleted.
3577         (assert_return): Deleted.
3578         (assert_return_nan): Deleted.
3579         * wasm/spec-tests/i64.wast.js:
3580         (register): Deleted.
3581         (module): Deleted.
3582         (instance): Deleted.
3583         (assert_malformed): Deleted.
3584         (assert_invalid): Deleted.
3585         (assert_soft_invalid): Deleted.
3586         (assert_unlinkable): Deleted.
3587         (assert_uninstantiable): Deleted.
3588         (assert_trap): Deleted.
3589         (assert_return): Deleted.
3590         (assert_return_nan): Deleted.
3591         * wasm/spec-tests/if.wast.js: Added.
3592         * wasm/spec-tests/imports.wast.js:
3593         (register): Deleted.
3594         (module): Deleted.
3595         (instance): Deleted.
3596         (assert_malformed): Deleted.
3597         (assert_invalid): Deleted.
3598         (assert_soft_invalid): Deleted.
3599         (assert_unlinkable): Deleted.
3600         (assert_uninstantiable): Deleted.
3601         (assert_trap): Deleted.
3602         (assert_return): Deleted.
3603         (assert_return_nan): Deleted.
3604         * wasm/spec-tests/int_exprs.wast.js:
3605         (register): Deleted.
3606         (module): Deleted.
3607         (instance): Deleted.
3608         (assert_malformed): Deleted.
3609         (assert_invalid): Deleted.
3610         (assert_soft_invalid): Deleted.
3611         (assert_unlinkable): Deleted.
3612         (assert_uninstantiable): Deleted.
3613         (assert_trap): Deleted.
3614         (assert_return): Deleted.
3615         (assert_return_nan): Deleted.
3616         * wasm/spec-tests/int_literals.wast.js:
3617         (register): Deleted.
3618         (module): Deleted.
3619         (instance): Deleted.
3620         (assert_malformed): Deleted.
3621         (assert_invalid): Deleted.
3622         (assert_soft_invalid): Deleted.
3623         (assert_unlinkable): Deleted.
3624         (assert_uninstantiable): Deleted.
3625         (assert_trap): Deleted.
3626         (assert_return): Deleted.
3627         (assert_return_nan): Deleted.
3628         * wasm/spec-tests/jsapi.js: Added.
3629         (testJSAPI.get test):
3630         (testJSAPI.test):
3631         (testJSAPI.set test):
3632         (testJSAPI.assertCompileError):
3633         (testJSAPI.assertCompileSuccess):
3634         (testJSAPI):
3635         * wasm/spec-tests/labels.wast.js: Added.
3636         * wasm/spec-tests/left-to-right.wast.js:
3637         (register): Deleted.
3638         (module): Deleted.
3639         (instance): Deleted.
3640         (assert_malformed): Deleted.
3641         (assert_invalid): Deleted.
3642         (assert_soft_invalid): Deleted.
3643         (assert_unlinkable): Deleted.
3644         (assert_uninstantiable): Deleted.
3645         (assert_trap): Deleted.
3646         (assert_return): Deleted.
3647         (assert_return_nan): Deleted.
3648         * wasm/spec-tests/linking.wast.js:
3649         (register): Deleted.
3650         (module): Deleted.
3651         (instance): Deleted.
3652         (assert_malformed): Deleted.
3653         (assert_invalid): Deleted.
3654         (assert_soft_invalid): Deleted.
3655         (assert_unlinkable): Deleted.
3656         (assert_uninstantiable): Deleted.
3657         (assert_trap): Deleted.
3658         (assert_return): Deleted.
3659         (assert_return_nan): Deleted.
3660         * wasm/spec-tests/loop.wast.js:
3661         (register): Deleted.
3662         (module): Deleted.
3663         (instance): Deleted.
3664         (assert_malformed): Deleted.
3665         (assert_invalid): Deleted.
3666         (assert_soft_invalid): Deleted.
3667         (assert_unlinkable): Deleted.
3668         (assert_uninstantiable): Deleted.
3669         (assert_trap): Deleted.
3670         (assert_return): Deleted.
3671         (assert_return_nan): Deleted.
3672         * wasm/spec-tests/memory.wast.js:
3673         (register): Deleted.
3674         (module): Deleted.
3675         (instance): Deleted.
3676         (assert_malformed): Deleted.
3677         (assert_invalid): Deleted.
3678         (assert_soft_invalid): Deleted.
3679         (assert_unlinkable): Deleted.
3680         (assert_uninstantiable): Deleted.
3681         (assert_trap): Deleted.
3682         (assert_return): Deleted.
3683         (assert_return_nan): Deleted.
3684         * wasm/spec-tests/memory_redundancy.wast.js:
3685         (register): Deleted.
3686         (module): Deleted.
3687         (instance): Deleted.
3688         (assert_malformed): Deleted.
3689         (assert_invalid): Deleted.
3690         (assert_soft_invalid): Deleted.
3691         (assert_unlinkable): Deleted.
3692         (assert_uninstantiable): Deleted.
3693         (assert_trap): Deleted.
3694         (assert_return): Deleted.
3695         (assert_return_nan): Deleted.
3696         * wasm/spec-tests/memory_trap.wast.js: Removed.
3697         * wasm/spec-tests/names.wast.js:
3698         (register): Deleted.
3699         (module): Deleted.
3700         (instance): Deleted.
3701         (assert_malformed): Deleted.
3702         (assert_invalid): Deleted.
3703         (assert_soft_invalid): Deleted.
3704         (assert_unlinkable): Deleted.
3705         (assert_uninstantiable): Deleted.
3706         (assert_trap): Deleted.
3707         (assert_return): Deleted.
3708         (assert_return_nan): Deleted.
3709         * wasm/spec-tests/nop.wast.js:
3710         (register): Deleted.
3711         (module): Deleted.
3712         (instance): Deleted.
3713         (assert_malformed): Deleted.
3714         (assert_invalid): Deleted.
3715         (assert_soft_invalid): Deleted.
3716         (assert_unlinkable): Deleted.
3717         (assert_uninstantiable): Deleted.
3718         (assert_trap): Deleted.
3719         (assert_return): Deleted.
3720         (assert_return_nan): Deleted.
3721         * wasm/spec-tests/resizing.wast.js:
3722         (register): Deleted.
3723         (module): Deleted.
3724         (instance): Deleted.
3725         (assert_malformed): Deleted.
3726         (assert_invalid): Deleted.
3727         (assert_soft_invalid): Deleted.
3728         (assert_unlinkable): Deleted.
3729         (assert_uninstantiable): Deleted.
3730         (assert_trap): Deleted.
3731         (assert_return): Deleted.
3732         (assert_return_nan): Deleted.
3733         * wasm/spec-tests/return.wast.js:
3734         (register): Deleted.
3735         (module): Deleted.
3736         (instance): Deleted.
3737         (assert_malformed): Deleted.
3738         (assert_invalid): Deleted.
3739         (assert_soft_invalid): Deleted.
3740         (assert_unlinkable): Deleted.
3741         (assert_uninstantiable): Deleted.
3742         (assert_trap): Deleted.
3743         (assert_return): Deleted.
3744         (assert_return_nan): Deleted.
3745         * wasm/spec-tests/select.wast.js:
3746         (register): Deleted.
3747         (module): Deleted.
3748         (instance): Deleted.
3749         (assert_malformed): Deleted.
3750         (assert_invalid): Deleted.
3751         (assert_soft_invalid): Deleted.
3752         (assert_unlinkable): Deleted.
3753         (assert_uninstantiable): Deleted.
3754         (assert_trap): Deleted.
3755         (assert_return): Deleted.
3756         (assert_return_nan): Deleted.
3757         * wasm/spec-tests/set_local.wast.js:
3758         (register): Deleted.
3759         (module): Deleted.
3760         (instance): Deleted.
3761         (assert_malformed): Deleted.
3762         (assert_invalid): Deleted.
3763         (assert_soft_invalid): Deleted.
3764         (assert_unlinkable): Deleted.
3765         (assert_uninstantiable): Deleted.
3766         (assert_trap): Deleted.
3767         (assert_return): Deleted.
3768         (assert_return_nan): Deleted.
3769         * wasm/spec-tests/skip-stack-guard-page.wast.js:
3770         (register): Deleted.
3771         (module): Deleted.
3772         (instance): Deleted.
3773         (assert_malformed): Deleted.
3774         (assert_invalid): Deleted.
3775         (assert_soft_invalid): Deleted.
3776         (assert_unlinkable): Deleted.
3777         (assert_uninstantiable): Deleted.