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