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