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