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