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