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