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