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