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