\b escapes inside character classes should be valid in Unicode patterns
[WebKit-https.git] / JSTests / ChangeLog
1 2020-03-25  Alexey Shvayka  <shvaikalesh@gmail.com>
2
3         \b escapes inside character classes should be valid in Unicode patterns
4         https://bugs.webkit.org/show_bug.cgi?id=209528
5
6         Reviewed by Darin Adler.
7
8         * test262/expectations.yaml: Mark 2 test cases as passing.
9
10 2020-03-24  Tadeu Zagallo  <tzagallo@apple.com>
11
12         LLIntGenerator must link switch jumps to otherwise redundant labels
13         https://bugs.webkit.org/show_bug.cgi?id=209333
14         <rdar://problem/60827987>
15
16         Reviewed by Saam Barati.
17
18         * wasm/stress/terminal-jump-switch-target.js: Added.
19
20 2020-03-24  Alexey Shvayka  <shvaikalesh@gmail.com>
21
22         Update test262 to commit dfc7ecc6785e
23         https://bugs.webkit.org/show_bug.cgi?id=209449
24
25         Unreviewed test gardening.
26
27         * test262/expectations.yaml:
28         * test262/harness/propertyHelper.js:
29         * test262/latest-changes-summary.txt:
30         * test262/test/*: Updated.
31         * test262/test262-Revision.txt:
32
33 2020-03-24  Alexey Shvayka  <shvaikalesh@gmail.com>
34
35         Update test262 to commit 79146e5cf48d
36         https://bugs.webkit.org/show_bug.cgi?id=209449
37
38         Reviewed by Keith Miller.
39
40         * test262/config.yaml: Add 3 tests that timeout.
41         * test262/expectations.yaml:
42         * test262/latest-changes-summary.txt:
43         * test262/test/*: Updated.
44         * test262/test262-Revision.txt:
45
46 2020-03-23  Yusuke Suzuki  <ysuzuki@apple.com>
47
48         [JSC] Caller of Delete IC should emit write-barrier onto owner
49         https://bugs.webkit.org/show_bug.cgi?id=209392
50         <rdar://problem/60683173>
51
52         Reviewed by Saam Barati.
53
54         * stress/delete-ic-requires-write-barrier.js: Added.
55         (foo):
56
57 2020-03-23  Yusuke Suzuki  <ysuzuki@apple.com>
58
59         [JSC] DFG OSR exit cannot find StructureStubInfo for put_by_val if CodeBlock is once converved from Baseline to LLInt
60         https://bugs.webkit.org/show_bug.cgi?id=209327
61         <rdar://problem/60631061>
62
63         Reviewed by Saam Barati.
64
65         * stress/osr-exit-attempts-to-find-stubinfo-which-is-cleared-by-previous-baseline-to-llint-conversion.js: Added.
66         (setter):
67         (foo):
68
69 2020-03-23  Ross Kirsling  <ross.kirsling@sony.com>
70
71         Catch parameters must not be lexically redeclared
72         https://bugs.webkit.org/show_bug.cgi?id=208976
73
74         Reviewed by Keith Miller.
75
76         * test262/expectations.yaml:
77         Mark four test cases as passing.
78
79 2020-03-20  Ross Kirsling  <ross.kirsling@sony.com>
80
81         hasObservableSideEffectsForRegExpSplit doesn't check for @@match override
82         https://bugs.webkit.org/show_bug.cgi?id=209363
83
84         Reviewed by Michael Saboff.
85
86         * test262/expectations.yaml:
87         Mark two test cases as passing.
88
89 2020-03-20  Ross Kirsling  <ross.kirsling@sony.com>
90
91         RegExp.prototype[@@replace] doesn't coerce result index to integer
92         https://bugs.webkit.org/show_bug.cgi?id=209323
93
94         Reviewed by Yusuke Suzuki.
95
96         * test262/expectations.yaml:
97         Mark six test cases as passing.
98
99 2020-03-19  Tomas Popela  <tpopela@redhat.com>
100
101         [JSC][BigEndians] Several JSC stress tests failing
102         https://bugs.webkit.org/show_bug.cgi?id=194007
103
104         Reviewed by Michael Catanzaro.
105
106         Adapt the DataView tests to be able to pass on little endian as well
107         as the big endian hardware. Do so by introducing method that determine
108         the endianess and based on its value it saves the expected results in
109         the right format.
110
111         * stress/dataview-get-cse.js:
112         (getIsLittleEndian):
113         (adjustForEndianess):
114         (test3.foo):
115         (test3):
116         * stress/dataview-jit-get.js:
117         (getIsLittleEndian):
118         (test1.adjustForEndianess):
119         (test1):
120         (test2.adjustForEndianess):
121         (test2):
122         (test3.adjustForEndianess):
123         (test3):
124         (adjustForEndianessUint32):
125         (test4):
126         (test5):
127         (test6):
128         (test7):
129         (test8):
130         * stress/dataview-jit-neuter.js:
131         (getIsLittleEndian):
132         (adjustForEndianess):
133         (test):
134         (test2):
135         * stress/dataview-jit-set-nan.js:
136         (getIsLittleEndian):
137         (adjustForEndianessFloat32):
138         (test):
139         * stress/dataview-jit-set.js:
140         (getIsLittleEndian):
141         (readHex):
142         (adjustForEndianessUint16):
143         (test):
144         (test2):
145         (adjustForEndianessUint32):
146         (test3):
147         (test4):
148         (adjustForEndianessFloat32):
149         (test5):
150         (adjustForEndianessFloat64):
151         (test6):
152         (isLittleEndian): Deleted.
153
154 2020-03-18  Yusuke Suzuki  <ysuzuki@apple.com>
155
156         Add a way to mark a rejected promise as handled
157         https://bugs.webkit.org/show_bug.cgi?id=209241
158
159         Reviewed by Michael Saboff.
160
161         * stress/reject-as-handled.js: Added.
162         (shouldBe):
163         (set new):
164
165 2020-03-16  Keith Miller  <keith_miller@apple.com>
166
167         JavaScript identifier grammar supports unescaped astral symbols, but JSC doesn’t
168         https://bugs.webkit.org/show_bug.cgi?id=208998
169
170         Reviewed by Michael Saboff.
171
172         * stress/unicode-identifiers-with-surrogate-pairs.js: Added.
173         (let.c.of.chars.eval.foo):
174         (throwsSyntaxError):
175         (let.c.of.continueChars.throwsSyntaxError.foo):
176
177 2020-03-13  Saam Barati  <sbarati@apple.com>
178
179         skip wasm/function-tests/grow-memory-cause-gc.js on memory limited devices
180         https://bugs.webkit.org/show_bug.cgi?id=209069
181         <rdar://problem/59954558>
182
183         Reviewed by Yusuke Suzuki.
184
185         * wasm/function-tests/grow-memory-cause-gc.js:
186
187 2020-03-13  Alexey Shvayka  <shvaikalesh@gmail.com>
188
189         Bound functions should pass correct NewTarget value
190         https://bugs.webkit.org/show_bug.cgi?id=209057
191
192         Reviewed by Keith Miller.
193
194         * test262/expectations.yaml: Mark 4 test cases as passing.
195
196 2020-03-11  Keith Miller  <keith_miller@apple.com>
197
198         Test262-runner should always consider crashes as new failures
199         https://bugs.webkit.org/show_bug.cgi?id=208943
200
201         Reviewed by Yusuke Suzuki.
202
203         * test262/expectations.yaml:
204
205 2020-03-11  Keith Miller  <keith_miller@apple.com>
206
207         Throws incorrectly a syntax error when declaring a top level catch variable the same as a parameter
208         https://bugs.webkit.org/show_bug.cgi?id=189914
209
210         Reviewed by Saam Barati.
211
212         * ChakraCore/test/es6/globalParamCatchNewTargetSyntaxError.baseline-jsc:
213         * stress/catch-destructuring-shadow-lexical-const-variable-global.js: Added.
214         (catch):
215         * stress/catch-destructuring-shadow-lexical-variable-class.js: Added.
216         (Foo):
217         (Bar):
218         (Baz):
219         * stress/catch-destructuring-shadow-lexical-variable-function.js: Added.
220         (foo):
221         (bar):
222         * stress/catch-destructuring-shadow-lexical-variable-global.js: Added.
223         (catch):
224         * stress/catch-destructuring-shadow-var-global.js: Added.
225         (catch):
226         * test262/expectations.yaml:
227
228 2020-03-10  Ross Kirsling  <ross.kirsling@sony.com>
229
230         Re-import test262 to acquire DST fix
231         https://bugs.webkit.org/show_bug.cgi?id=208901
232
233         Reviewed by Don Olmstead.
234
235         * test262/latest-changes-summary.txt:
236         * test262/test/built-ins/AggregateError/newtarget-proto-fallback.js:
237         * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js:
238         * test262/test/built-ins/Array/prototype/indexOf/15.4.4.14-4-4.js:
239         * test262/test/built-ins/Date/parse/without-utc-offset.js:
240         * test262/test262-Revision.txt:
241
242 2020-03-10  Paulo Matos  <pmatos@igalia.com>
243
244         JSC 32bits is failing on new test stress/numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js
245         https://bugs.webkit.org/show_bug.cgi?id=206864
246
247         Reviewed by Yusuke Suzuki.
248
249         Add new test to memory limited devices - behaviour is the same as 
250         numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js
251         but it creates 25 threads instead of 100.
252
253         * stress/numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access_memory-limited.js: Added.
254         (let.theCode):
255
256 2020-03-09  Alexey Shvayka  <shvaikalesh@gmail.com>
257
258         @putByValDirect does not perform [[DefineOwnProperty]] correctly
259         https://bugs.webkit.org/show_bug.cgi?id=208708
260
261         Reviewed by Yusuke Suzuki.
262
263         * test262/expectations.yaml: Mark 46 test cases as passing.
264
265 2020-03-09  Caio Lima  <ticaiolima@gmail.com>
266
267         Tail calls are broken on ARM_THUMB2 and MIPS
268         https://bugs.webkit.org/show_bug.cgi?id=197797
269
270         Reviewed by Yusuke Suzuki.
271
272         * stress/tail-call-with-spilled-registers.js: Added.
273
274 2020-03-07  Mark Lam  <mark.lam@apple.com>
275
276         Remove bad assertion in FTLLowerDFGToB3's compileDelBy().
277         https://bugs.webkit.org/show_bug.cgi?id=208764
278         <rdar://problem/59940095>
279
280         Reviewed by Keith Miller.
281
282         * stress/delete-by-val-with-base-and-subscript-using-same-cell.js: Added.
283         * stress/delete-by-val-with-base-and-subscript-using-same-non-cell.js: Added.
284
285 2020-03-06  Yusuke Suzuki  <ysuzuki@apple.com>
286
287         [JSC] Enable public class fields
288         https://bugs.webkit.org/show_bug.cgi?id=208756
289
290         Reviewed by Mark Lam.
291
292         Rename useClassFields to usePublicClassFields to keep separate from usePrivateClassFields once
293         it is implemented.
294
295         * stress/big-int-as-property-name.js:
296         * stress/class-fields-bytecode-cache.js:
297         * stress/class-fields-computed-to-property-key.js:
298         * stress/class-fields-function-name.js:
299         * stress/class-fields-harmony.js:
300         * stress/class-fields-proxy-define-property.js:
301         * stress/class-fields-stress-instance.js:
302         * stress/class-fields-to-property-key-const-string-ftl.js:
303         * stress/class-fields-to-property-key-const-symbol-ftl.js:
304         * stress/class-fields-to-property-key-slow-object-tostring-ftl.js:
305         * stress/class-fields-to-property-key-slow-object-valueof-ftl.js:
306         * stress/class-fields-to-property-key-string-object-ftl.js:
307         * stress/class-fields-to-property-key-string-or-string-object-ftl.js:
308         * stress/generator-syntax.js:
309         * stress/method-name.js:
310         * test262/config.yaml:
311
312 2020-03-06  Alexey Shvayka  <shvaikalesh@gmail.com>
313
314         JSON.stringify should call replacer on deleted properties
315         https://bugs.webkit.org/show_bug.cgi?id=208725
316
317         Reviewed by Ross Kirsling.
318
319         * microbenchmarks/json-stringify-many-objects-to-json.js: Added.
320         * microbenchmarks/json-stringify-many-objects.js: Added.
321         * test262/expectations.yaml: Mark 2 test cases as passing.
322
323 2020-03-04  Mark Lam  <mark.lam@apple.com>
324
325         Handle an out of memory error while constructing the BytecodeGenerator.
326         https://bugs.webkit.org/show_bug.cgi?id=208622
327         <rdar://problem/59341136>
328
329         Reviewed by Saam Barati.
330
331         * stress/out-of-memory-while-constructing-BytecodeGenerator.js: Added.
332
333 2020-03-03  Yusuke Suzuki  <ysuzuki@apple.com>
334
335         [JSC] @hasOwnLengthProperty returns wrong value if "length" is attempted to be modified
336         https://bugs.webkit.org/show_bug.cgi?id=208497
337         <rdar://problem/59913544>
338
339         Reviewed by Mark Lam.
340
341         * stress/function-length-update.js: Added.
342         (shouldBe):
343         (userFunction):
344         (userFunction2):
345
346 2020-03-02  Saam Barati  <sbarati@apple.com>
347
348         Don't skip tests unnecessarily on arm64
349         https://bugs.webkit.org/show_bug.cgi?id=208470
350         <rdar://problem/59968869>
351
352         Reviewed by Tadeu Zagallo.
353
354         * microbenchmarks/bit-test-constant.js:
355         * microbenchmarks/bit-test-nonconstant.js:
356         * microbenchmarks/memcpy-typed-loop-large.js:
357         * microbenchmarks/memcpy-typed-loop-small.js:
358         * microbenchmarks/mul-immediate-sub.js:
359         * stress/dont-range-based-iterate-vector-that-is-mutated.js:
360         * stress/dont-reserve-huge-capacity-lexer.js:
361         * stress/new-largeish-contiguous-array-with-size.js:
362         * stress/sampling-profiler-richards.js:
363         * typeProfiler/deltablue-for-of.js:
364         * typeProfiler/getter-richards.js:
365         * wasm/regress/llint-callee-saves-with-fast-memory.js:
366
367 2020-03-02  Justin Michaud  <justin_michaud@apple.com>
368
369         Delete by val caching does not keep the subscript alive
370         https://bugs.webkit.org/show_bug.cgi?id=208393
371
372         Reviewed by Yusuke Suzuki.
373
374         * stress/delete-property-ic-stress.js: Added.
375
376 2020-02-27  Justin Michaud  <justin_michaud@apple.com>
377
378         Poly proto should work with property delete transitions
379         https://bugs.webkit.org/show_bug.cgi?id=208261
380
381         Reviewed by Saam Barati.
382
383         * stress/delete-property-poly-proto.js: Added.
384         (A.prototype.set x):
385         (A):
386         (B):
387
388 2020-02-27  Ross Kirsling  <ross.kirsling@sony.com>
389
390         Update test262 (2020.02.26)
391         https://bugs.webkit.org/show_bug.cgi?id=208280
392
393         Reviewed by Yusuke Suzuki.
394
395         * test262/config.yaml:
396         * test262/expectations.yaml:
397         * test262/harness/async-gc.js:
398         * test262/latest-changes-summary.txt:
399         * test262/test/:
400         * test262/test262-Revision.txt:
401
402 2020-02-26  Caio Lima  <ticaiolima@gmail.com>
403
404         [JSC][MIPS] Adding support to Checkpoints
405         https://bugs.webkit.org/show_bug.cgi?id=208196
406
407         Reviewed by Yusuke Suzuki.
408
409         * microbenchmarks/memcpy-typed-loop.js:
410
411 2020-02-25  Justin Michaud  <justin_michaud@apple.com>
412
413         Inline Cache delete by id/val
414         https://bugs.webkit.org/show_bug.cgi?id=207522
415
416         Reviewed by Keith Miller and Filip Pizlo. 
417
418         * microbenchmarks/delete-property-from-prototype-chain.js:
419         (delete.C.prototype.z):
420         * microbenchmarks/delete-property-inline-cache-polymorphic.js: Added.
421         (C):
422         (noInline.C.foo):
423         (noInline.foo.F):
424         (noInline.F):
425         * microbenchmarks/delete-property-inline-cache.js: Added.
426         (C):
427         (noInline.C.D):
428         (noInline.D.foo):
429         (noInline.foo.E):
430         (noInline.E.F):
431         (noInline.F):
432         * microbenchmarks/delete-property-keeps-cacheable-structure.js:
433         * stress/delete-property-check-structure-transition.js:
434         (sd): Deleted.
435         (testDeleteIsNotUncacheable): Deleted.
436         (): Deleted.
437         (testCanFlatten): Deleted.
438         (testDeleteWithInlineCache.Object.prototype.globalProperty.42.makeFoo): Deleted.
439         (testDeleteWithInlineCache.noInline.doTest): Deleted.
440         (testDeleteWithInlineCache): Deleted.
441         * stress/delete-property-inline-cache.js: Added.
442         (assert):
443         (assert_eq):
444         (assert_neq):
445         (assert_throws):
446         (noInline.assert.noInline.assert_eq.noInline.assert_neq.noInline.assert_throws.testCacheableDeleteById.makeFoo):
447         (noInline.assert.noInline.assert_eq.noInline.assert_neq.noInline.assert_throws.testCacheableDeleteById):
448         (noInline.testCacheableDeleteById.testCacheableDeleteByVal.makeFoo2):
449         (noInline.testCacheableDeleteById.testCacheableDeleteByVal):
450         (noInline.testCacheableDeleteByVal.testCacheableEmptyDeleteById.makeFoo3):
451         (noInline.testCacheableDeleteByVal.testCacheableEmptyDeleteById):
452         (noInline.testCacheableEmptyDeleteById.testCacheableDeleteByIdMiss.makeFoo4):
453         (noInline.testCacheableEmptyDeleteById.testCacheableDeleteByIdMiss):
454         (noInline.testCacheableDeleteByIdMiss.testDeleteIndex.makeFoo5):
455         (noInline.testCacheableDeleteByIdMiss.testDeleteIndex):
456         (noInline.testDeleteIndex.testPolymorphicDelByVal.makeFoo6):
457         (noInline.testDeleteIndex.testPolymorphicDelByVal):
458         (noInline.testPolymorphicDelByVal.testBigintDeleteByVal.makeFoo7):
459         (noInline.testPolymorphicDelByVal.testBigintDeleteByVal):
460         (noInline.testBigintDeleteByVal.testSymbolDeleteByVal.makeFoo8):
461         (noInline.testBigintDeleteByVal.testSymbolDeleteByVal):
462         (noInline.testSymbolDeleteByVal.testObjDeleteByVal.makeFoo9):
463         (noInline.testSymbolDeleteByVal.testObjDeleteByVal):
464         (noInline.testObjDeleteByVal.testStrict.makeFoo10):
465         (noInline.testObjDeleteByVal.testStrict):
466         (noInline.testStrict.testOverride.arr.j):
467         (noInline.testStrict.testOverride):
468         (noInline.testOverride.testNonObject.deleteIt):
469         (noInline.testOverride.testNonObject):
470         (noInline.testNonObject.testNonObjectStrict.deleteIt):
471         (noInline.testNonObject.testNonObjectStrict):
472         (noInline.testNonObjectStrict.testExceptionUnwind.mutateThem):
473         (noInline.testNonObjectStrict.testExceptionUnwind.noInline.deleteIt):
474         (noInline.testNonObjectStrict.testExceptionUnwind):
475         (noInline.testExceptionUnwind.testTDZ):
476         (noInline.testTDZ):
477
478 2020-02-19  Ross Kirsling  <ross.kirsling@sony.com>
479
480         Computed Properties with increment sometimes produces incorrect results
481         https://bugs.webkit.org/show_bug.cgi?id=170934
482
483         Reviewed by Yusuke Suzuki.
484
485         * stress/computed-property-increment.js: Added.
486         * test262/expectations.yaml: Mark two test cases as passing.
487
488 2020-02-19  Keith Miller  <keith_miller@apple.com>
489
490         Disable Wasm reference types by default
491         https://bugs.webkit.org/show_bug.cgi?id=207952
492
493         Reviewed by Mark Lam.
494
495         * wasm/stress/immutable-globals.js:
496         * wasm/stress/local-ref.js:
497         * wasm/stress/mutable-globals.js:
498
499 2020-02-18  Ross Kirsling  <ross.kirsling@sony.com>
500
501         [JSC] Computed function properties compute their keys twice
502         https://bugs.webkit.org/show_bug.cgi?id=207297
503
504         Reviewed by Keith Miller.
505
506         * stress/computed-property-key-side-effects.js: Added.
507         * test262/expectations.yaml: Mark 6 test cases as passing.
508
509 2020-02-17  Yusuke Suzuki  <ysuzuki@apple.com>
510
511         [JSC] JITThunk should be HashSet<Weak<NativeExecutable>> with appropriate GC weakness handling
512         https://bugs.webkit.org/show_bug.cgi?id=207715
513
514         Reviewed by Darin Adler.
515
516         * stress/stress-jitthunks.js: Added.
517         (let.set newGlobal):
518         (set catch):
519
520 2020-02-17  Tadeu Zagallo  <tzagallo@apple.com>
521
522         [Wasm] REGRESSION(r256665): Wasm->JS call IC needs to save memory size register
523         https://bugs.webkit.org/show_bug.cgi?id=207849
524
525         Reviewed by Mark Lam.
526
527         * wasm/regress/regress-256665.js: Added.
528         (f):
529
530 2020-02-14  Tadeu Zagallo  <tzagallo@apple.com>
531
532         Unreviewed: fix broken tests added in r256665
533         https://bugs.webkit.org/show_bug.cgi?id=207727
534
535         Our inline WAT doesn't seem to like named blocks/branch targets.
536
537         * wasm/regress/llint-callee-saves-with-fast-memory.js:
538         * wasm/regress/llint-callee-saves-without-fast-memory.js:
539
540 2020-02-14  Tadeu Zagallo  <tzagallo@apple.com>
541
542         [WASM] Wasm interpreter's calling convention doesn't match Wasm JIT's convention.
543         https://bugs.webkit.org/show_bug.cgi?id=207727
544
545         Reviewed by Mark Lam.
546
547         * wasm/regress/llint-callee-saves-with-fast-memory.js: Added.
548         * wasm/regress/llint-callee-saves-without-fast-memory.js: Added.
549
550 2020-02-13  Caio Lima  <ticaiolima@gmail.com>
551
552         [ESNext][BigInt] We don't support BigInt literal as PropertyName
553         https://bugs.webkit.org/show_bug.cgi?id=206888
554
555         Reviewed by Ross Kirsling.
556
557         * stress/big-int-as-property-name.js: Added.
558
559 2020-02-10  Mark Lam  <mark.lam@apple.com>
560
561         Placate exception check validator in GenericArguments<Type>::put().
562         https://bugs.webkit.org/show_bug.cgi?id=207485
563         <rdar://problem/59302535>
564
565         Reviewed by Robin Morisset.
566
567         * stress/placate-exception-check-validator-in-GenericArguments-put.js: Added.
568
569 2020-02-10  Justin Michaud  <justin_michaud@apple.com>
570
571         arm64_32: microbenchmarks/delete-property-keeps-cacheable-structure.js is timing out
572         https://bugs.webkit.org/show_bug.cgi?id=207484
573
574         Reviewed by Yusuke Suzuki.
575
576         * microbenchmarks/delete-property-keeps-cacheable-structure.js:
577
578 2020-02-10  Mark Lam  <mark.lam@apple.com>
579
580         Missing exception check in GenericArguments<Type>::deletePropertyByIndex().
581         https://bugs.webkit.org/show_bug.cgi?id=207483
582         <rdar://problem/59302616>
583
584         Reviewed by Yusuke Suzuki.
585
586         * stress/missing-exception-check-in-GenericArguments-deletePropertyByIndex.js: Added.
587
588 2020-02-06  Sukolsak Sakshuwong  <sukolsak@gmail.com> and Alexey Shvayka  <shvaikalesh@gmail.com>
589
590         JavaScript string corruption using RegExp with unicode character
591         https://bugs.webkit.org/show_bug.cgi?id=187947
592
593         Reviewed by Yusuke Suzuki.
594
595         This change adds regression test for string corruption that occured after
596         non-BMP character was removed by String.prototype.replace.
597         The issue was fixed in https://trac.webkit.org/changeset/253648/webkit.
598
599         Also, this patch brings back:
600         1. An out-of-order character class range test.
601         2. Dangling and combined surrogates tests (as webkit.org/b/154863 is now resolved).
602
603         * stress/regress-187947.js: Added.
604
605 2020-02-05  Justin Michaud  <justin_michaud@apple.com>
606
607         Deleting a property should not turn structures into uncacheable dictionaries
608         https://bugs.webkit.org/show_bug.cgi?id=206430
609
610         Reviewed by Yusuke Suzuki.
611
612         * microbenchmarks/delete-property-from-prototype-chain.js: Added.
613         (assert):
614         (noInline.assert.getZ):
615         (noInline.getZ.C):
616         (doTest):
617         (delete.C.prototype.z):
618         * microbenchmarks/delete-property-keeps-cacheable-structure.js: Added.
619         (assert):
620         (C):
621         (doTest):
622         * stress/cache-put-by-id-different-attributes.js:
623         (makePrototypeDict):
624         (set x):
625         * stress/cache-put-by-id-different-offset.js:
626         (makePrototypeDict):
627         (set x):
628         * stress/cache-put-by-id-poly-proto.js:
629         (makePrototypeDict):
630         (set _):
631         * stress/delete-property-check-structure-transition.js: Added.
632         (assert):
633         (assert_eq):
634         (assert_neq):
635         (sd):
636         (sid):
637         (testDeleteIsNotUncacheable):
638         (testCanMaterializeDeletes):
639         (testCanFlatten):
640         (testDeleteWithInlineCache.Object.prototype.globalProperty.42.makeFoo):
641         (testDeleteWithInlineCache.noInline.doTest):
642         (testDeleteWithInlineCache):
643         * stress/flatten-object-zero-unused-inline-properties.js:
644
645 2020-02-04  Alexey Shvayka  <shvaikalesh@gmail.com>
646
647         Quantifiers after lookahead assertions should be syntax errors in Unicode patterns only
648         https://bugs.webkit.org/show_bug.cgi?id=206988
649
650         Reviewed by Darin Adler and Ross Kirsling.
651
652         * test262/expectations.yaml: Mark 10 test cases as passing.
653
654 2020-02-03  Alexey Shvayka  <shvaikalesh@gmail.com>
655
656         \0 identity escapes should be syntax errors in Unicode patterns only
657         https://bugs.webkit.org/show_bug.cgi?id=207114
658
659         Reviewed by Darin Adler.
660
661         * test262/expectations.yaml: Mark 2 test cases as passing.
662
663 2020-02-01  Alexey Shvayka  <shvaikalesh@gmail.com>
664
665         Non-alphabetical \c escapes should be syntax errors in Unicode patterns only
666         https://bugs.webkit.org/show_bug.cgi?id=207091
667
668         Reviewed by Darin Adler.
669
670         * test262/expectations.yaml: Mark 4 test cases as passing.
671
672 2020-01-31  Saam Barati  <sbarati@apple.com>
673
674         Unreviewed. Don't dump disassembly in test.
675
676         * stress/get-getter-setter-by-offset-not-always-safe-to-execute.js:
677
678 2020-01-31  Saam Barati  <sbarati@apple.com>
679
680         GetGetterSetterByOffset and GetGetter/GetSetter are not always safe to execute
681         https://bugs.webkit.org/show_bug.cgi?id=206805
682         <rdar://problem/58898161>
683
684         Reviewed by Yusuke Suzuki.
685
686         * stress/get-getter-setter-by-offset-not-always-safe-to-execute.js: Added.
687
688 2020-01-31  Alexey Shvayka  <shvaikalesh@gmail.com>
689
690         Unmatched ] or } brackets should be syntax errors in Unicode patterns only
691         https://bugs.webkit.org/show_bug.cgi?id=207023
692
693         Reviewed by Darin Adler.
694
695         * test262/expectations.yaml: Mark 2 test cases as passing.
696
697 2020-01-30  Alexey Shvayka  <shvaikalesh@gmail.com>
698
699         Incomplete braced quantifiers should be banned in Unicode patterns only
700         https://bugs.webkit.org/show_bug.cgi?id=206776
701
702         Reviewed by Darin Adler.
703
704         Although the change does not affect Unicode property escapes, a few
705         test/built-ins/RegExp/property-escapes/non-existent-property-value*.js files
706         are now passing because they had \\p or \\P instead of CharacterClassEscape.
707
708         * test262/expectations.yaml: Mark 18 test cases as passing.
709
710 2020-01-30  Keith Miller  <keith_miller@apple.com>
711
712         Parser needs to restore unary stack state when backtracking
713         https://bugs.webkit.org/show_bug.cgi?id=206972
714
715         Reviewed by Saam Barati.
716
717         * stress/parser-save-state-remove-stale-entries.js: Added.
718         * stress/parser-syntax-checker-assignments-are-not-resolve-expressions.js: Added.
719         (foo):
720
721 2020-01-29  Mark Lam  <mark.lam@apple.com>
722
723         Fix bad assertion in InternalFunctionAllocationProfile::createAllocationStructureFromBase().
724         https://bugs.webkit.org/show_bug.cgi?id=206981
725         <rdar://problem/58985736>
726
727         Reviewed by Keith Miller.
728
729         * stress/InternalFunctionAllocationProfile-createAllocationStructureFromBase-should-allow-for-same-classInfo-from-different-globals.js: Added.
730
731 2020-01-29  Yusuke Suzuki  <ysuzuki@apple.com>
732
733         Unreviewed, update tests
734         https://bugs.webkit.org/show_bug.cgi?id=206846
735
736         * stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-debug.js: Copied from JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior.js.
737         (shouldBe):
738         (putter):
739         (not_string.toString):
740         * stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior.js:
741         * stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten-debug.js: Copied from JSTests/stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten.js.
742         (shouldBe):
743         (dictionary):
744         (putter):
745         (not_string.toString):
746         * stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten.js:
747
748 2020-01-28  Yusuke Suzuki  <ysuzuki@apple.com>
749
750         [JSC] Give up IC when unknown structure transition happens
751         https://bugs.webkit.org/show_bug.cgi?id=206846
752
753         Reviewed by Mark Lam.
754
755         * stress/ensure-crash.js: Added.
756         * stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition-debug.js: Added.
757         (shouldBe):
758         (putter):
759         (not_string.toString):
760         * stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition.js: Added.
761         (shouldBe):
762         (putter):
763         (not_string.toString):
764         * stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior.js: Added.
765         (shouldBe):
766         (putter):
767         (not_string.toString):
768         * stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten.js: Added.
769         (shouldBe):
770         (dictionary):
771         (putter):
772         (not_string.toString):
773
774 2020-01-29  Paulo Matos  <pmatos@igalia.com>
775
776         Skip slow test operand-should-fit-in-abstract-heap-encoded-payload-format.js on mips and arm
777         https://bugs.webkit.org/show_bug.cgi?id=206926
778
779         Unreviewed test gardening.
780
781         This test has quadratic behaviour with the size of a, and on mips and arm it just takes too
782         long to run with such high value of a. Therefore we skip.
783
784         * stress/operand-should-fit-in-abstract-heap-encoded-payload-format.js:
785
786 2020-01-28  Paulo Matos  <pmatos@igalia.com>
787
788         Skip test numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js in arm and mips
789         https://bugs.webkit.org/show_bug.cgi?id=206865
790
791         Reviewed by Žan Doberšek.
792
793         * stress/numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js:
794
795 2020-01-26  Alexey Shvayka  <shvaikalesh@gmail.com>
796
797         Invalid ranges in character classes should be banned in Unicode patterns only
798         https://bugs.webkit.org/show_bug.cgi?id=206768
799
800         Reviewed by Darin Adler.
801
802         * test262/expectations.yaml: Mark 18 test cases as passing.
803
804 2020-01-24  Mark Lam  <mark.lam@apple.com>
805
806         IntlObject's cached strings should be immortal and safe for concurrent access.
807         https://bugs.webkit.org/show_bug.cgi?id=206779
808         <rdar://problem/58831763>
809
810         Reviewed by Yusuke Suzuki.
811
812         * stress/numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js: Added.
813
814 2020-01-24  Yusuke Suzuki  <ysuzuki@apple.com>
815
816         REGRESSION (r254964-r254970?): Catalina Debug JSC bot timing out while running tests
817         https://bugs.webkit.org/show_bug.cgi?id=206785
818
819         Unreviewed, skipping the test if $buildType is "debug".
820
821         * stress/operand-should-fit-in-abstract-heap-encoded-payload-format.js:
822
823 2020-01-23  Yusuke Suzuki  <ysuzuki@apple.com>
824
825         [JSC] DFG OSR exit is not marking CodeBlock::m_hasLinkedOSRExit when the exit target is checkpoint
826         https://bugs.webkit.org/show_bug.cgi?id=206726
827         <rdar://problem/58827849>
828
829         Reviewed by Saam Barati.
830
831         * stress/exit-target-code-block-can-be-changed-between-llint-and-baseline.js: Added.
832         (bar):
833         (foo):
834
835 2020-01-22  Yusuke Suzuki  <ysuzuki@apple.com>
836
837         [JSC] Bits from Operand should fit in bits reserved in AbstractHeap's Payload
838         https://bugs.webkit.org/show_bug.cgi?id=206619
839         <rdar://problem/58270260>
840
841         Reviewed by Keith Miller.
842
843         * stress/operand-should-fit-in-abstract-heap-encoded-payload-format.js: Added.
844
845 2020-01-22  Keith Miller  <keith_miller@apple.com>
846
847         InternalField and CheckNeutered DFG nodes are not always safe to execute
848         https://bugs.webkit.org/show_bug.cgi?id=206632
849
850         Reviewed by Saam Barati.
851
852         * stress/for-of-bad-internal-field-hoist.js: Added.
853         (foo):
854
855 2020-01-22  Yusuke Suzuki  <ysuzuki@apple.com>
856
857         [JSC] DateMath should accept more ISO-8601 timezone designators even if they are not included in ECMA262 to produce expected results in the wild code
858         https://bugs.webkit.org/show_bug.cgi?id=160287
859
860         Reviewed by Ross Kirsling.
861
862         * stress/relaxed-timezone-designators.js: Added.
863         (shouldBe):
864         (parsedDate):
865
866 2020-01-22  Yusuke Suzuki  <ysuzuki@apple.com>
867
868         [JSC] Add CheckArrayOrEmpty to handle the case when hoisting CheckArray for places where input can be empty
869         https://bugs.webkit.org/show_bug.cgi?id=206571
870         <rdar://problem/58757016>
871
872         Reviewed by Saam Barati.
873
874         * stress/check-array-or-empty.js: Added.
875         (C):
876
877 2020-01-21  Tadeu Zagallo  <tzagallo@apple.com>
878
879         Object allocation sinking is missing PutHint for allocations unreachable in the graph
880         https://bugs.webkit.org/show_bug.cgi?id=203799
881         <rdar://problem/56852162>
882
883         Reviewed by Saam Barati.
884
885         * stress/allocation-sinking-puthint-control-flow-2.js: Added.
886         (f.handler.construct):
887         (f):
888
889 2020-01-20  Gus Caplan  <me@gus.host>
890
891         Remove own toString from NativeError prototype
892         https://bugs.webkit.org/show_bug.cgi?id=204629
893
894         Reviewed by Ross Kirsling.
895
896         NativeError prototypes are expected to inherit toString from
897         Error.prototype. See https://github.com/tc39/ecma262/issues/1794
898         for additional details.
899
900         * stress/nativeerror-prototype-tostring.js:
901
902 2020-01-20  Caio Lima  <ticaiolima@gmail.com>
903
904         Skip tests when there is no JIT build on ARMv7 and MIPS
905         https://bugs.webkit.org/show_bug.cgi?id=206496
906
907         Unreviewed gardening.
908
909         * microbenchmarks/bit-test-constant.js:
910         * microbenchmarks/bit-test-nonconstant.js:
911         * microbenchmarks/memcpy-typed-loop-large.js:
912         * microbenchmarks/memcpy-typed-loop-small.js:
913         * microbenchmarks/mul-immediate-sub.js:
914         * stress/dont-range-based-iterate-vector-that-is-mutated.js:
915         * stress/int8-repeat-in-then-out-of-bounds.js:
916         * stress/sampling-profiler-richards.js:
917
918 2020-01-18  Caitlin Potter  <caitp@igalia.com>
919
920         [JSC] add DFG/FTL support for op_to_property_key
921         https://bugs.webkit.org/show_bug.cgi?id=206368
922
923         Reviewed by Saam Barati.
924
925         * stress/class-fields-to-property-key-const-string-ftl.js: Added.
926         * stress/class-fields-to-property-key-const-symbol-ftl.js: Added.
927         * stress/class-fields-to-property-key-slow-object-tostring-ftl.js: Added.
928         * stress/class-fields-to-property-key-slow-object-valueof-ftl.js: Added.
929         * stress/class-fields-to-property-key-string-object-ftl.js: Added.
930         * stress/class-fields-to-property-key-string-or-string-object-ftl.js: Added.
931
932 2020-01-17  Saam Barati  <sbarati@apple.com>
933
934         Air O0 should have better stack allocation
935         https://bugs.webkit.org/show_bug.cgi?id=206436
936
937         Reviewed by Tadeu Zagallo.
938
939         * wasm/stress/dont-stack-overflow-in-air.js: Added.
940
941 2020-01-17  Mark Lam  <mark.lam@apple.com>
942
943         JSModuleLoader's printableModuleKey() should never throw.
944         https://bugs.webkit.org/show_bug.cgi?id=206461
945         <rdar://problem/58696678>
946
947         Reviewed by Michael Saboff.
948
949         * stress/printableModuleKey-should-never-throw.js: Added.
950
951 2020-01-17  Alexey Shvayka  <shvaikalesh@gmail.com>
952
953         JSON.parse should lookup prototype chains during revival
954         https://bugs.webkit.org/show_bug.cgi?id=205769
955
956         Reviewed by Saam Barati.
957
958         * test262/expectations.yaml: Mark 4 test cases as passing.
959
960 2020-01-16  Robin Morisset  <rmorisset@apple.com>
961
962         [ESNext] Enables a way to throw an error on ByteCodeGenerator step
963         https://bugs.webkit.org/show_bug.cgi?id=180139
964
965         Reviewed by Mark Lam.
966
967         * stress/eval-huge-big-int-memory-overflow.js: Added.
968
969 2020-01-16  Keith Miller  <keith_miller@apple.com>
970
971         Reland bytecode checkpoints since bugs have been fixed
972         https://bugs.webkit.org/show_bug.cgi?id=206361
973
974         Unreviewed, reland.
975
976         The watch bugs have been fixed by https://trac.webkit.org/changeset/254674
977
978         * stress/apply-osr-exit-should-get-length-once-exceptions-occasionally.js: Added.
979         (expectedArgCount):
980         (callee):
981         (test):
982         (let.array.get length):
983         * stress/apply-osr-exit-should-get-length-once.js: Added.
984         (expectedArgCount):
985         (callee):
986         (test):
987         (let.array.get length):
988         * stress/load-varargs-then-inlined-call-and-exit-strict.js:
989         (checkEqual):
990         * stress/recursive-tail-call-with-different-argument-count.js:
991         * stress/rest-varargs-osr-exit-to-checkpoint.js: Added.
992         (foo):
993         (bar):
994
995 2020-01-16  Keith Miller  <keith_miller@apple.com>
996
997         Revert 254725 since it breaks tests
998         https://bugs.webkit.org/show_bug.cgi?id=206391
999
1000         Unreviewed, revert.
1001
1002         * stress/allocation-sinking-puthint-control-flow-2.js: Removed.
1003
1004 2020-01-16  Tadeu Zagallo  <tzagallo@apple.com>
1005
1006         Object allocation sinking is missing PutHint for allocations unreachable in the graph
1007         https://bugs.webkit.org/show_bug.cgi?id=203799
1008         <rdar://problem/56852162>
1009
1010         Reviewed by Saam Barati.
1011
1012         * stress/allocation-sinking-puthint-control-flow-2.js: Added.
1013         (f.handler.construct):
1014         (f):
1015
1016 2020-01-16  Robin Morisset  <rmorisset@apple.com>
1017
1018         Teach the bytecode that arithmetic operations can return bigints
1019         https://bugs.webkit.org/show_bug.cgi?id=205416
1020
1021         Reviewed by Yusuke Suzuki.
1022
1023         This file crashes in debug mode without the fix.
1024
1025         * stress/big-int-arithmetic-return-big-int.js: Added.
1026         (fooAdd):
1027         (fooSub):
1028         (fooMul):
1029         (fooDiv):
1030
1031 2020-01-16  Mark Lam  <mark.lam@apple.com>
1032
1033         operationToObject() should check for a null errorMessage.
1034         https://bugs.webkit.org/show_bug.cgi?id=206339
1035         <rdar://problem/58449666>
1036
1037         Reviewed by Yusuke Suzuki.
1038
1039         * stress/operationToObject-should-check-for-null-errorMessage.js: Added.
1040
1041 2020-01-15  Caitlin Potter <caitp@igalia.com>
1042
1043         [JSC] Add support for public class fields
1044         https://bugs.webkit.org/show_bug.cgi?id=174212
1045
1046         Reviewed by Yusuke Suzuki.
1047
1048         New syntax invalidates some test expectations:
1049
1050         "async <linefeed> MethodDefinition" is no longer an unexpected "async"
1051         token. It is now an instance field named "async" with no initializer,
1052         and an automatic semicolon, followed by MethodDefinition.
1053
1054         "get|set GeneratorMethodDefinition"'s error message has changed, due to "get"
1055         being valid class field names.
1056
1057         Many class-syntax tests relating to automatic semicolon insertion are
1058         no longer valid, as a line containing nothing but an identifier is now
1059         a valid class element.
1060
1061         * stress/async-await-syntax.js:
1062         * stress/class-fields-bytecode-cache.js: Added.
1063         * stress/class-fields-computed-to-property-key.js: Added.
1064         * stress/class-fields-function-name.js: Added.
1065         * stress/class-fields-harmony.js: Added.
1066         * stress/class-fields-proxy-define-property.js: Added.
1067         * stress/class-fields-stress-instance.js: Added.
1068         * stress/generator-syntax.js:
1069         * stress/method-name.js:
1070         * test262/config.yaml:
1071
1072 2020-01-15  Keith Miller  <keith_miller@apple.com>
1073
1074         Revert bytecode checkpoints since it breaks watch
1075         https://bugs.webkit.org/show_bug.cgi?id=206301
1076
1077         Unreviewed, revert.
1078
1079 2020-01-15  Alexey Shvayka  <shvaikalesh@gmail.com>
1080
1081         Object.preventExtensions should throw if not successful
1082         https://bugs.webkit.org/show_bug.cgi?id=206131
1083
1084         Reviewed by Ross Kirsling.
1085
1086         * test262/expectations.yaml: Mark 2 test cases as passing.
1087
1088 2020-01-14  Commit Queue  <commit-queue@webkit.org>
1089
1090         Unreviewed, rolling out r254480, r254496, and r254517.
1091         https://bugs.webkit.org/show_bug.cgi?id=206278
1092
1093         "It regressed JetStream2 and Speedometer2" (Requested by
1094         saamyjoon on #webkit).
1095
1096         Reverted changesets:
1097
1098         "Throw away baseline code if there is an optimized
1099         replacement"
1100         https://bugs.webkit.org/show_bug.cgi?id=202503
1101         https://trac.webkit.org/changeset/254480
1102
1103         "Unreviewed. Change useLLInt=0 to forceBaseline=1"
1104         https://trac.webkit.org/changeset/254496
1105
1106         "Add an option that enables/disables throwing away baseline
1107         JIT code"
1108         https://bugs.webkit.org/show_bug.cgi?id=206244
1109         https://trac.webkit.org/changeset/254517
1110
1111 2020-01-13  Saam Barati  <sbarati@apple.com>
1112
1113         Unreviewed. Change useLLInt=0 to forceBaseline=1
1114
1115         * stress/racy-gc-cleanup-of-identifier-after-mutator-stops-running.js:
1116
1117 2020-01-13  Keith Miller  <keith_miller@apple.com>
1118
1119         scanSideState scans too much side state
1120         https://bugs.webkit.org/show_bug.cgi?id=206166
1121
1122         Reviewed by Tadeu Zagallo.
1123
1124         * stress/checkpoint-side-state-gc-tmps-overflow.js: Added.
1125         (v8):
1126
1127 2020-01-13  Saam Barati  <sbarati@apple.com>
1128
1129         Throw away baseline code if there is an optimized replacement
1130         https://bugs.webkit.org/show_bug.cgi?id=202503
1131
1132         Reviewed by Yusuke Suzuki.
1133
1134         * stress/dfg-compare-eq-via-nonSpeculativeNonPeepholeCompareNullOrUndefined.js:
1135         * stress/getter-setter-inlining-should-emit-movhint.js:
1136         * stress/make-dictionary-repatch.js:
1137         * stress/merging-ic-variants-should-bail-if-structures-overlap.js:
1138         * stress/proxy-getter-stack-overflow.js:
1139         * stress/regress-192717.js:
1140         * stress/retry-cache-later.js:
1141
1142 2020-01-13  Mark Lam  <mark.lam@apple.com>
1143
1144         Replace uses of Box<Identifier> with a new CacheableIdentifier class.
1145         https://bugs.webkit.org/show_bug.cgi?id=205544
1146         <rdar://problem/58041800>
1147
1148         Reviewed by Saam Barati.
1149
1150         * stress/racy-gc-cleanup-of-identifier-after-mutator-stops-running.js: Added.
1151
1152 2020-01-11  Keith Miller  <keith_miller@apple.com>
1153
1154         CheckNeutered needs to claim it reads JSType in clobberize.
1155         https://bugs.webkit.org/show_bug.cgi?id=206136
1156
1157         Reviewed by Yusuke Suzuki.
1158
1159         * stress/check-neutered-clobberize-reads-jstype.js: Added.
1160         (foo):
1161
1162 2020-01-12  Yusuke Suzuki  <ysuzuki@apple.com>
1163
1164         [JSC] Use internal object field mechanism to implement JSStringIterator
1165         https://bugs.webkit.org/show_bug.cgi?id=206144
1166
1167         Reviewed by Ross Kirsling.
1168
1169         * stress/string-iterators.js:
1170         * stress/tailCallForwardArguments.js:
1171         (putFuncToPrivateName.createBuiltin):
1172         (createTailCallForwardingFuncWith):
1173
1174 2020-01-10  Yusuke Suzuki  <ysuzuki@apple.com>
1175
1176         [JSC] Flush old tables in End phase
1177         https://bugs.webkit.org/show_bug.cgi?id=206120
1178         <rdar://problem/58039989>
1179
1180         Reviewed by Mark Lam.
1181
1182         * stress/create-many-realms.js: Added.
1183         (foo):
1184
1185 2020-01-10  Caitlin Potter  <caitp@igalia.com> and Alexey Shvayka  <shvaikalesh@gmail.com>
1186
1187         Object.keys should throw if called on module namespace object with uninitialized binding
1188         https://bugs.webkit.org/show_bug.cgi?id=205983
1189
1190         Reviewed by Yusuke Suzuki.
1191
1192         * test262/expectations.yaml: Mark 2 test cases as passing.
1193
1194 2020-01-10  Saam Barati  <sbarati@apple.com>
1195
1196         ObjectAllocationSinkingPhase doesn't model pointers to allocations in control flow properly
1197         https://bugs.webkit.org/show_bug.cgi?id=204738
1198         <rdar://problem/57553238>
1199
1200         Reviewed by Yusuke Suzuki.
1201
1202         * stress/allocation-sinking-must-model-allocation-pointers-properly-2.js: Added.
1203         (assert):
1204         (v9):
1205         * stress/allocation-sinking-must-model-allocation-pointers-properly-3.js: Added.
1206         (assert):
1207         (v9):
1208         * stress/allocation-sinking-must-model-allocation-pointers-properly-4.js: Added.
1209         (bool):
1210         (effects):
1211         (escape):
1212         (bar):
1213         * stress/allocation-sinking-must-model-allocation-pointers-properly.js: Added.
1214         (alwaysFalse):
1215         (sometimesZero):
1216         (assert):
1217         (v9):
1218
1219 2020-01-08  Keith Miller  <keith_miller@apple.com>
1220
1221         [JSC] Introduce JSArrayIterator
1222         https://bugs.webkit.org/show_bug.cgi?id=204043
1223
1224         Reviewed by Yusuke Suzuki.
1225
1226         * stress/array-iterator-materialize-at-osr-exit.js: Added.
1227         (shouldBe):
1228         (test):
1229         * stress/array-iterator-materialize-one-path.js: Added.
1230         (shouldBe):
1231         (test):
1232         * stress/array-iterator-materialize.js: Added.
1233         (shouldBe):
1234         (test):
1235         * stress/array-iterator-sinking.js: Added.
1236         (shouldBe):
1237         (test):
1238         * stress/array-iterators-next-error-messages.js:
1239         (catch):
1240         * stress/array-iterators-next-with-call.js:
1241         * stress/for-of-iteration.js: Added.
1242         (shouldBe):
1243         (test1):
1244         (test2):
1245         (test3):
1246         * stress/typedarray-functions-with-neutered.js:
1247         (checkProtoFunc):
1248
1249 2020-01-08  Saam Barati  <sbarati@apple.com>
1250
1251         Unreviewed follow up on r254188. I accidentally included the same test
1252         twice instead of including the two different variants.
1253
1254         * stress/ai-value-mod-should-result-in-constant-int-where-possible.js:
1255
1256 2020-01-08  Alexey Shvayka  <shvaikalesh@gmail.com>
1257
1258         Proxy's [[OwnPropertyKeys]] is correct only in PropertyNameMode::StringsAndSymbols
1259         https://bugs.webkit.org/show_bug.cgi?id=205772
1260
1261         Reviewed by Ross Kirsling.
1262
1263         * test262/expectations.yaml: Mark 12 test cases as passing.
1264
1265 2020-01-08  Alexey Shvayka  <shvaikalesh@gmail.com>
1266
1267         RegExp.prototype[Symbol.replace] does not support named capture groups
1268         https://bugs.webkit.org/show_bug.cgi?id=205783
1269
1270         Reviewed by Ross Kirsling.
1271
1272         * test262/expectations.yaml: Mark 6 test cases as passing.
1273
1274 2020-01-07  Saam Barati  <sbarati@apple.com>
1275
1276         AI rule for ValueMod/ValueDiv produce constants with the wrong format when the result can be an int32
1277         https://bugs.webkit.org/show_bug.cgi?id=205906
1278         <rdar://problem/56108519>
1279
1280         Reviewed by Yusuke Suzuki.
1281
1282         * stress/ai-value-div-should-result-in-constant-int-where-possible.js: Added.
1283         (foo.bar.f):
1284         (foo.):
1285         (foo):
1286         * stress/ai-value-mod-should-result-in-constant-int-where-possible.js: Added.
1287         (foo.bar.f):
1288         (foo.):
1289         (foo):
1290
1291 2020-01-06  Alexey Shvayka  <shvaikalesh@gmail.com>
1292
1293         String.prototype.replace() incorrectly handles named references on RegExp w/o named groups
1294         https://bugs.webkit.org/show_bug.cgi?id=205785
1295
1296         Reviewed by Ross Kirsling.
1297
1298         * test262/expectations.yaml: Mark 2 test cases as passing.
1299
1300 2020-01-06  Alexey Shvayka  <shvaikalesh@gmail.com>
1301
1302         Proxy's [[OwnPropertyKeys]] is incorrect in DontEnumPropertiesMode::Exclude
1303         https://bugs.webkit.org/show_bug.cgi?id=203818
1304
1305         Reviewed by Keith Miller.
1306
1307         Stress test was failing because "ownKeys" trap didn't return non-configurable
1308         "prototype" property of Proxy's target, violating an invariant.
1309
1310         * stress/proxy-get-own-property-names-should-not-clear-previous-results.js:
1311         * test262/expectations.yaml: Mark 8 test cases as passing.
1312
1313 2020-01-04  Alexey Shvayka  <shvaikalesh@gmail.com>
1314
1315         JSON.parse should initialize wrapper object with [[DefineOwnProperty]]
1316         https://bugs.webkit.org/show_bug.cgi?id=205767
1317
1318         Reviewed by Darin Adler.
1319
1320         * test262/expectations.yaml: Mark 2 test cases as passing.
1321
1322 2020-01-03  Keith Miller  <keith_miller@apple.com>
1323
1324         Update test262 tests to commit 157b18d
1325         https://bugs.webkit.org/show_bug.cgi?id=205741
1326
1327         Reviewed by Yusuke Suzuki.
1328
1329         * test262/expectations.yaml:
1330         * test262/harness/deepEqual.js:
1331         (assert.deepEqual):
1332         (assert.deepEqual.format):
1333         (deepEqual):
1334         (compareEquality):
1335         (compareIf):
1336         (tryCompareStrictEquality):
1337         (tryCompareTypeOfEquality):
1338         (tryCompareToStringTagEquality):
1339         (isOptional):
1340         (compareOptionality):
1341         (isPrimitiveEquatable):
1342         (comparePrimitiveEquality):
1343         (isNaNEquatable):
1344         (compareNaNEquality):
1345         (isObjectEquatable):
1346         (compareObjectEquality):
1347         (isBoxed):
1348         (isValueOfEquatable):
1349         (compareValueOfEquality):
1350         (isToStringEquatable):
1351         (compareToStringEquality):
1352         (isArrayLikeEquatable):
1353         (isStructurallyEquatable):
1354         (isIterableEquatable):
1355         (compareIteratorEquality):
1356         (compareIterableEquality):
1357         (cacheComparison):
1358         (fail):
1359         (setCache):
1360         (getCache):
1361         (assert.deepEqual._compare):
1362         * test262/latest-changes-summary.txt:
1363         * test262/test/built-ins/AggregateError: Added.
1364         * test262/test/built-ins/AggregateError/errors-iterabletolist-failures.js: Added.
1365         (case1.get Symbol):
1366         (case2.get Symbol):
1367         (case3.Symbol.iterator):
1368         (case4.Symbol.iterator):
1369         (case5.Symbol.iterator):
1370         (case6.Symbol.iterator.return.get next):
1371         (case6.Symbol.iterator):
1372         (case7.Symbol.iterator.return.get next):
1373         (case7.Symbol.iterator):
1374         (case8.Symbol.iterator):
1375         (case9.Symbol.iterator):
1376         (case10.Symbol.iterator):
1377         (case11.Symbol.iterator.return.next.return.get done):
1378         (case11.Symbol.iterator):
1379         * test262/test/built-ins/AggregateError/errors-iterabletolist.js: Added.
1380         (case1.Symbol.iterator.return.next.return.get value):
1381         (case1.Symbol.iterator):
1382         * test262/test/built-ins/AggregateError/length.js: Added.
1383         * test262/test/built-ins/AggregateError/message-method-prop-cast.js: Added.
1384         (toString):
1385         * test262/test/built-ins/AggregateError/message-method-prop.js: Added.
1386         * test262/test/built-ins/AggregateError/message-tostring-abrupt-symbol.js: Added.
1387         (case2.Symbol.toPrimitive):
1388         (case2.toString):
1389         (case2.valueOf):
1390         * test262/test/built-ins/AggregateError/message-tostring-abrupt.js: Added.
1391         (case1.Symbol.toPrimitive):
1392         (case1.toString):
1393         (case1.valueOf):
1394         (case2.toString):
1395         (case2.valueOf):
1396         (case3.valueOf):
1397         * test262/test/built-ins/AggregateError/message-undefined-no-prop.js: Added.
1398         * test262/test/built-ins/AggregateError/name.js: Added.
1399         * test262/test/built-ins/AggregateError/newtarget-proto-custom.js: Added.
1400         (newt.new.Proxy):
1401         (newt.new.Proxy.get if):
1402         * test262/test/built-ins/AggregateError/newtarget-proto-fallback.js: Added.
1403         (ctor):
1404         (const.value.of.values.get t):
1405         * test262/test/built-ins/AggregateError/newtarget-proto.js: Added.
1406         * test262/test/built-ins/AggregateError/prop-desc.js: Added.
1407         * test262/test/built-ins/AggregateError/proto.js: Added.
1408         * test262/test/built-ins/AggregateError/prototype: Added.
1409         * test262/test/built-ins/AggregateError/prototype/constructor.js: Added.
1410         * test262/test/built-ins/AggregateError/prototype/errors: Added.
1411         * test262/test/built-ins/AggregateError/prototype/errors/invoked-as-accessor.js: Added.
1412         * test262/test/built-ins/AggregateError/prototype/errors/invoked-as-func.js: Added.
1413         * test262/test/built-ins/AggregateError/prototype/errors/length.js: Added.
1414         * test262/test/built-ins/AggregateError/prototype/errors/name.js: Added.
1415         * test262/test/built-ins/AggregateError/prototype/errors/prop-desc.js: Added.
1416         * test262/test/built-ins/AggregateError/prototype/errors/return-from-iterable-errors.js: Added.
1417         (errors.Symbol.iterator.return.next.return.get value):
1418         (errors.Symbol.iterator):
1419         * test262/test/built-ins/AggregateError/prototype/errors/return-new-array-from-list.js: Added.
1420         * test262/test/built-ins/AggregateError/prototype/errors/this-has-no-typedarrayname-internal.js: Added.
1421         * test262/test/built-ins/AggregateError/prototype/errors/this-is-not-object.js: Added.
1422         * test262/test/built-ins/AggregateError/prototype/message.js: Added.
1423         * test262/test/built-ins/AggregateError/prototype/name.js: Added.
1424         * test262/test/built-ins/AggregateError/prototype/prop-desc.js: Added.
1425         * test262/test/built-ins/AggregateError/prototype/proto.js: Added.
1426         * test262/test/built-ins/Array/prototype/copyWithin/coerced-values-start-change-start.js: Added.
1427         (longDenseArray):
1428         (shorten):
1429         * test262/test/built-ins/Array/prototype/copyWithin/coerced-values-start-change-target.js: Added.
1430         (longDenseArray):
1431         (shorten):
1432         * test262/test/built-ins/Array/prototype/flatMap/this-value-ctor-object-species-bad-throws.js:
1433         * test262/test/built-ins/Atomics/add/bigint/nonshared-int-views.js:
1434         (testWithBigIntTypedArrayConstructors):
1435         * test262/test/built-ins/Atomics/and/bigint/nonshared-int-views.js:
1436         (testWithBigIntTypedArrayConstructors):
1437         * test262/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js:
1438         (testWithBigIntTypedArrayConstructors):
1439         * test262/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js:
1440         (testWithBigIntTypedArrayConstructors):
1441         * test262/test/built-ins/Atomics/or/bigint/nonshared-int-views.js:
1442         (testWithBigIntTypedArrayConstructors):
1443         * test262/test/built-ins/Atomics/store/bigint/nonshared-int-views.js:
1444         (testWithBigIntTypedArrayConstructors):
1445         * test262/test/built-ins/Atomics/sub/bigint/nonshared-int-views.js:
1446         (testWithBigIntTypedArrayConstructors):
1447         * test262/test/built-ins/Error/prototype/toString/invalid-receiver.js: Added.
1448         (Symbol.forEach):
1449         * test262/test/built-ins/Error/prototype/toString/undefined-props.js: Added.
1450         * test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-prevented-with-unregister.js:
1451         (emptyCells):
1452         (emptyCells.then):
1453         * test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-throws-in-callback.js: Added.
1454         (fg.new.FinalizationGroup):
1455         (callback):
1456         (emptyCells):
1457         (emptyCells.then):
1458         * test262/test/built-ins/FinalizationGroup/prototype/register/holdings-same-as-target.js:
1459         * test262/test/built-ins/FinalizationGroup/prototype/register/return-undefined-register-itself.js:
1460         * test262/test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-holdings-and-target.js:
1461         * test262/test/built-ins/FinalizationGroup/prototype/unregister/unregister-cleaned-up-cell.js: Added.
1462         (fg.new.FinalizationGroup):
1463         (emptyCells):
1464         (emptyCells.then):
1465         * test262/test/built-ins/FinalizationGroup/target-not-callable-throws.js:
1466         * test262/test/built-ins/JSON/parse/reviver-array-get-prop-from-prototype.js: Added.
1467         * test262/test/built-ins/JSON/parse/reviver-array-non-configurable-prop-create.js: Added.
1468         * test262/test/built-ins/JSON/parse/reviver-array-non-configurable-prop-delete.js: Added.
1469         * test262/test/built-ins/JSON/parse/reviver-call-order.js: Added.
1470         * test262/test/built-ins/JSON/parse/reviver-object-get-prop-from-prototype.js: Added.
1471         * test262/test/built-ins/JSON/parse/reviver-object-non-configurable-prop-create.js: Added.
1472         * test262/test/built-ins/JSON/parse/reviver-object-non-configurable-prop-delete.js: Added.
1473         * test262/test/built-ins/JSON/parse/reviver-wrapper.js: Added.
1474         * test262/test/built-ins/JSON/stringify/property-order.js: Added.
1475         * test262/test/built-ins/Object/entries/return-order.js: Added.
1476         * test262/test/built-ins/Object/freeze/throws-when-false.js: Added.
1477         (preventExtensions):
1478         * test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-absent-not-configurable-symbol-key.js: Added.
1479         (ownKeys):
1480         * test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-duplicate-symbol-entry.js: Added.
1481         (ownKeys):
1482         * test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-not-extensible-absent-symbol-key.js: Added.
1483         (ownKeys):
1484         * test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-not-extensible-extra-symbol-key.js: Added.
1485         (ownKeys):
1486         * test262/test/built-ins/Object/getOwnPropertySymbols/length.js:
1487         * test262/test/built-ins/Object/getOwnPropertySymbols/name.js:
1488         * test262/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-with-description.js:
1489         * test262/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-without-description.js:
1490         * test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-absent-not-configurable-string-key.js: Added.
1491         (ownKeys):
1492         * test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-duplicate-string-entry.js: Added.
1493         (ownKeys):
1494         * test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-not-extensible-absent-string-key.js: Added.
1495         (ownKeys):
1496         * test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-not-extensible-extra-string-key.js: Added.
1497         (ownKeys):
1498         * test262/test/built-ins/Object/keys/proxy-non-enumerable-prop-invariant-2.js:
1499         * test262/test/built-ins/Object/keys/proxy-non-enumerable-prop-invariant-3.js: Added.
1500         (ownKeys):
1501         * test262/test/built-ins/Object/keys/return-order.js: Added.
1502         * test262/test/built-ins/Object/preventExtensions/throws-when-false.js: Added.
1503         (preventExtensions):
1504         * test262/test/built-ins/Object/prototype/isPrototypeOf/arg-is-proxy.js: Added.
1505         (handler.allowProxyTraps.getPrototypeOf):
1506         * test262/test/built-ins/Object/prototype/isPrototypeOf/builtin.js: Added.
1507         * test262/test/built-ins/Object/prototype/isPrototypeOf/length.js: Added.
1508         * test262/test/built-ins/Object/prototype/isPrototypeOf/name.js:
1509         * test262/test/built-ins/Object/prototype/isPrototypeOf/null-this-and-object-arg-throws.js: Added.
1510         * test262/test/built-ins/Object/prototype/isPrototypeOf/null-this-and-primitive-arg-returns-false.js: Added.
1511         * test262/test/built-ins/Object/prototype/isPrototypeOf/this-value-is-in-prototype-chain-of-arg.js: Added.
1512         (USER_FACTORY.this.getName):
1513         (USER_FACTORY):
1514         (this.getGrade):
1515         (FORCEDUSER_FACTORY):
1516         * test262/test/built-ins/Object/prototype/isPrototypeOf/undefined-this-and-object-arg-throws.js: Added.
1517         * test262/test/built-ins/Object/prototype/isPrototypeOf/undefined-this-and-primitive-arg-returns-false.js: Added.
1518         * test262/test/built-ins/Object/seal/throws-when-false.js: Added.
1519         (preventExtensions):
1520         * test262/test/built-ins/Object/values/return-order.js: Added.
1521         * test262/test/built-ins/Proxy/has/call-in-prototype-index.js: Added.
1522         (handler.allowProxyTraps.has):
1523         * test262/test/built-ins/Proxy/has/call-in-prototype.js:
1524         * test262/test/built-ins/Proxy/ownKeys/call-parameters-object-keys.js:
1525         (handler.ownKeys):
1526         * test262/test/built-ins/Proxy/set/call-parameters-prototype-index.js: Added.
1527         * test262/test/built-ins/Reflect/preventExtensions/target-is-not-object-throws.js:
1528         * test262/test/built-ins/RegExp/match-indices/indices-array-element.js:
1529         * test262/test/built-ins/RegExp/match-indices/indices-array-matched.js:
1530         * test262/test/built-ins/RegExp/match-indices/indices-array-non-unicode-match.js:
1531         * test262/test/built-ins/RegExp/match-indices/indices-array-properties.js:
1532         * test262/test/built-ins/RegExp/match-indices/indices-array-unicode-match.js:
1533         * test262/test/built-ins/RegExp/match-indices/indices-array-unicode-property-names.js:
1534         * test262/test/built-ins/RegExp/match-indices/indices-array-unmatched.js:
1535         * test262/test/built-ins/RegExp/match-indices/indices-array.js:
1536         * test262/test/built-ins/RegExp/match-indices/indices-groups-object-unmatched.js:
1537         * test262/test/built-ins/RegExp/match-indices/indices-groups-object.js:
1538         * test262/test/built-ins/RegExp/match-indices/indices-groups-properties.js:
1539         * test262/test/built-ins/RegExp/match-indices/indices-property.js:
1540         * test262/test/built-ins/String/prototype/replaceAll: Added.
1541         * test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0024.js: Added.
1542         * test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0026.js: Added.
1543         * test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0027.js: Added.
1544         * test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x003C.js: Added.
1545         * test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0060.js: Added.
1546         * test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024.js: Added.
1547         * test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024N.js: Added.
1548         * test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024NN.js: Added.
1549         * test262/test/built-ins/String/prototype/replaceAll/length.js: Added.
1550         * test262/test/built-ins/String/prototype/replaceAll/name.js: Added.
1551         * test262/test/built-ins/String/prototype/replaceAll/replaceAll.js: Added.
1552         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-abrupt.js: Added.
1553         (custom):
1554         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-each-match-position.js: Added.
1555         (t):
1556         (replaceValue):
1557         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-matching-empty.js: Added.
1558         (t):
1559         (replaceValue):
1560         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-skip-no-match.js: Added.
1561         (replaceValue):
1562         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-tostring-abrupt.js: Added.
1563         (custom):
1564         (symbol):
1565         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-fn-skip-toString.js: Added.
1566         (replaceValue):
1567         (value):
1568         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-tostring-abrupt.js: Added.
1569         (thisValue.toString):
1570         (searchValue.toString):
1571         (replaceValue.toString):
1572         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-value-replaces-string.js: Added.
1573         * test262/test/built-ins/String/prototype/replaceAll/replaceValue-value-tostring.js: Added.
1574         (replaceValue.Symbol.toPrimitive):
1575         (replaceValue.toString):
1576         (replaceValue.valueOf):
1577         * test262/test/built-ins/String/prototype/replaceAll/searchValue-empty-string-this-empty-string.js: Added.
1578         * test262/test/built-ins/String/prototype/replaceAll/searchValue-empty-string.js: Added.
1579         * test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-no-g-throws.js: Added.
1580         (poison.toString):
1581         * test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-null-undefined-throws.js: Added.
1582         (poison.toString):
1583         (searchValue.get flags):
1584         * test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-toString-abrupt.js: Added.
1585         (poison.toString):
1586         (searchValue.toString):
1587         (searchValue.flags.toString):
1588         * test262/test/built-ins/String/prototype/replaceAll/searchValue-get-flags-abrupt.js: Added.
1589         (searchValue.get flags):
1590         (poison.toString):
1591         * test262/test/built-ins/String/prototype/replaceAll/searchValue-isRegExp-abrupt.js: Added.
1592         (searchValue.get Symbol):
1593         (searchValue.toString):
1594         (poison.toString):
1595         * test262/test/built-ins/String/prototype/replaceAll/searchValue-replace-method-abrupt.js: Added.
1596         (poison.toString):
1597         (searchValue.get Symbol):
1598         (searchValue.toString):
1599         * test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-RegExp-call-fn.js: Added.
1600         (RE.prototype.Symbol.replace):
1601         (RE.prototype.toString):
1602         (RE):
1603         (const.t):
1604         (getFn.return.replaceValueFn):
1605         (getFn):
1606         * test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-RegExp-call.js: Added.
1607         (RE.prototype.Symbol.replace):
1608         (RE.prototype.toString):
1609         (RE):
1610         * test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-before-tostring.js: Added.
1611         (value):
1612         (poison.toString):
1613         * test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-call-abrupt.js: Added.
1614         (poison.toString):
1615         (searchValue.Symbol.replace):
1616         (searchValue.toString):
1617         * test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-call.js: Added.
1618         (value):
1619         * test262/test/built-ins/String/prototype/replaceAll/searchValue-tostring-abrupt.js: Added.
1620         (poison.toString):
1621         (thisValue.toString):
1622         (searchValue.toString):
1623         * test262/test/built-ins/String/prototype/replaceAll/searchValue-tostring-regexp.js: Added.
1624         * test262/test/built-ins/String/prototype/replaceAll/this-is-null-throws.js: Added.
1625         * test262/test/built-ins/String/prototype/replaceAll/this-is-undefined-throws.js: Added.
1626         * test262/test/built-ins/String/prototype/replaceAll/this-tostring-abrupt.js: Added.
1627         (poison.toString):
1628         (thisValue.toString):
1629         (searchValue.toString):
1630         * test262/test/built-ins/String/prototype/replaceAll/this-tostring.js: Added.
1631         (thisValue.Symbol.toPrimitive):
1632         (thisValue.toString):
1633         (thisValue.valueOf):
1634         * test262/test/built-ins/TypedArray/from/mapfn-is-not-callable.js:
1635         * test262/test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-get-species-custom-ctor-length-throws.js:
1636         (testWithBigIntTypedArrayConstructors):
1637         * test262/test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-get-species-custom-ctor-length.js:
1638         (testWithBigIntTypedArrayConstructors):
1639         * test262/test/built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-length-throws.js:
1640         (testWithTypedArrayConstructors):
1641         * test262/test/built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-length.js:
1642         (testWithTypedArrayConstructors):
1643         * test262/test/built-ins/TypedArrayConstructors/from/nan-conversion.js:
1644         * test262/test/built-ins/TypedArrayConstructors/from/new-instance-from-zero.js:
1645         * test262/test/built-ins/TypedArrayConstructors/of/BigInt/inherited.js:
1646         (testWithBigIntTypedArrayConstructors):
1647         * test262/test/built-ins/TypedArrayConstructors/of/inherited.js:
1648         (testWithTypedArrayConstructors):
1649         * test262/test/built-ins/WeakRef/prototype-from-newtarget-abrupt.js:
1650         * test262/test/harness/deepEqual-array.js:
1651         * test262/test/harness/deepEqual-circular.js:
1652         * test262/test/harness/deepEqual-deep.js:
1653         * test262/test/harness/deepEqual-mapset.js:
1654         * test262/test/harness/deepEqual-object.js:
1655         * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-dateStyle.js: Added.
1656         * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-default.js: Added.
1657         (locales.forEach):
1658         * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-timeStyle.js: Added.
1659         * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle.js:
1660         * test262/test/intl402/DisplayNames: Added.
1661         * test262/test/intl402/DisplayNames/ctor-custom-get-prototype-poison-throws.js: Added.
1662         (custom.new.Proxy.new.Function.get if):
1663         (custom.new.Proxy.new.Function):
1664         * test262/test/intl402/DisplayNames/ctor-custom-prototype.js: Added.
1665         * test262/test/intl402/DisplayNames/ctor-default-prototype.js: Added.
1666         * test262/test/intl402/DisplayNames/instance-extensible.js: Added.
1667         * test262/test/intl402/DisplayNames/length.js: Added.
1668         * test262/test/intl402/DisplayNames/locales-invalid-throws.js: Added.
1669         * test262/test/intl402/DisplayNames/locales-length-poison-throws.js: Added.
1670         * test262/test/intl402/DisplayNames/locales-length-tolength-throws.js: Added.
1671         (locales.length.valueOf):
1672         (locales.length.Symbol.toPrimitive):
1673         (locales.length.toString):
1674         * test262/test/intl402/DisplayNames/locales-symbol-length.js: Added.
1675         * test262/test/intl402/DisplayNames/name.js: Added.
1676         * test262/test/intl402/DisplayNames/options-fallback-abrupt-throws.js: Added.
1677         * test262/test/intl402/DisplayNames/options-fallback-invalid-throws.js: Added.
1678         * test262/test/intl402/DisplayNames/options-fallback-toString-abrupt-throws.js: Added.
1679         (options.fallback.toString):
1680         (options.fallback.valueOf):
1681         (options.fallback.Symbol.toPrimitive):
1682         * test262/test/intl402/DisplayNames/options-fallback-valid.js: Added.
1683         * test262/test/intl402/DisplayNames/options-localeMatcher-abrupt-throws.js: Added.
1684         * test262/test/intl402/DisplayNames/options-localeMatcher-invalid-throws.js: Added.
1685         * test262/test/intl402/DisplayNames/options-localeMatcher-toString-abrupt-throws.js: Added.
1686         (options.localeMatcher.toString):
1687         (options.localeMatcher.valueOf):
1688         (options.localeMatcher.Symbol.toPrimitive):
1689         * test262/test/intl402/DisplayNames/options-localeMatcher-valid.js: Added.
1690         * test262/test/intl402/DisplayNames/options-null-throws.js: Added.
1691         * test262/test/intl402/DisplayNames/options-random-properties-unchecked.js: Added.
1692         * test262/test/intl402/DisplayNames/options-style-abrupt-throws.js: Added.
1693         * test262/test/intl402/DisplayNames/options-style-invalid-throws.js: Added.
1694         * test262/test/intl402/DisplayNames/options-style-toString-abrupt-throws.js: Added.
1695         (options.style.toString):
1696         (options.style.valueOf):
1697         (options.style.Symbol.toPrimitive):
1698         * test262/test/intl402/DisplayNames/options-style-valid.js: Added.
1699         * test262/test/intl402/DisplayNames/options-type-abrupt-throws.js: Added.
1700         * test262/test/intl402/DisplayNames/options-type-invalid-throws.js: Added.
1701         * test262/test/intl402/DisplayNames/options-type-toString-abrupt-throws.js: Added.
1702         (options.type.toString):
1703         (options.type.valueOf):
1704         (options.type.Symbol.toPrimitive):
1705         * test262/test/intl402/DisplayNames/options-type-valid.js: Added.
1706         * test262/test/intl402/DisplayNames/prop-desc.js: Added.
1707         * test262/test/intl402/DisplayNames/proto-from-ctor-realm.js: Added.
1708         * test262/test/intl402/DisplayNames/proto.js: Added.
1709         * test262/test/intl402/DisplayNames/prototype: Added.
1710         * test262/test/intl402/DisplayNames/prototype/Symbol.toStringTag.js: Added.
1711         * test262/test/intl402/DisplayNames/prototype/prop-desc.js: Added.
1712         * test262/test/intl402/DisplayNames/prototype/resolvedOptions: Added.
1713         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/default-option-values.js: Added.
1714         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/length.js: Added.
1715         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/name.js: Added.
1716         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-fallback.js: Added.
1717         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-style.js: Added.
1718         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-type.js: Added.
1719         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/prop-desc.js: Added.
1720         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/return-object.js: Added.
1721         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/this-not-object-throws.js: Added.
1722         * test262/test/intl402/DisplayNames/prototype/resolvedOptions/this-object-lacks-internal-throws.js: Added.
1723         * test262/test/intl402/DisplayNames/undefined-newtarget-throws.js: Added.
1724         * test262/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js:
1725         * test262/test/language/expressions/addition/bigint-and-number.js:
1726         * test262/test/language/expressions/addition/bigint-arithmetic.js:
1727         * test262/test/language/expressions/addition/bigint-errors.js:
1728         * test262/test/language/expressions/addition/bigint-toprimitive.js:
1729         * test262/test/language/expressions/addition/bigint-wrapped-values.js:
1730         * test262/test/language/expressions/arrow-function/eval-var-scope-syntax-err.js: Added.
1731         (f.a.eval):
1732         * test262/test/language/expressions/arrow-function/scope-param-elem-var-close.js:
1733         * test262/test/language/expressions/arrow-function/scope-param-elem-var-open.js:
1734         * test262/test/language/expressions/arrow-function/scope-param-rest-elem-var-close.js:
1735         * test262/test/language/expressions/arrow-function/scope-param-rest-elem-var-open.js:
1736         * test262/test/language/expressions/async-arrow-function/eval-var-scope-syntax-err.js: Added.
1737         (f.async a):
1738         (SyntaxError.then):
1739         * test262/test/language/expressions/async-function/named-eval-var-scope-syntax-err.js: Added.
1740         (f.async f):
1741         (f):
1742         * test262/test/language/expressions/async-function/nameless-eval-var-scope-syntax-err.js: Added.
1743         * test262/test/language/expressions/async-generator/eval-var-scope-syntax-err.js: Added.
1744         * test262/test/language/expressions/async-generator/named-eval-var-scope-syntax-err.js: Added.
1745         (f.async g):
1746         (f):
1747         * test262/test/language/expressions/bitwise-and/bigint-and-number.js:
1748         * test262/test/language/expressions/bitwise-and/bigint-errors.js:
1749         * test262/test/language/expressions/bitwise-and/bigint-non-primitive.js:
1750         * test262/test/language/expressions/bitwise-and/bigint-toprimitive.js:
1751         * test262/test/language/expressions/bitwise-and/bigint-wrapped-values.js:
1752         * test262/test/language/expressions/bitwise-not/bigint-non-primitive.js:
1753         * test262/test/language/expressions/bitwise-or/bigint-and-number.js:
1754         * test262/test/language/expressions/bitwise-or/bigint-errors.js:
1755         * test262/test/language/expressions/bitwise-or/bigint-non-primitive.js:
1756         * test262/test/language/expressions/bitwise-or/bigint-toprimitive.js:
1757         * test262/test/language/expressions/bitwise-or/bigint-wrapped-values.js:
1758         * test262/test/language/expressions/bitwise-xor/bigint-and-number.js:
1759         * test262/test/language/expressions/bitwise-xor/bigint-errors.js:
1760         * test262/test/language/expressions/bitwise-xor/bigint-non-primitive.js:
1761         * test262/test/language/expressions/bitwise-xor/bigint-toprimitive.js:
1762         * test262/test/language/expressions/bitwise-xor/bigint-wrapped-values.js:
1763         * test262/test/language/expressions/class/async-gen-method-static/eval-var-scope-syntax-err.js: Added.
1764         (C):
1765         * test262/test/language/expressions/class/async-gen-method/eval-var-scope-syntax-err.js: Added.
1766         (C):
1767         * test262/test/language/expressions/class/async-method-static/eval-var-scope-syntax-err.js: Added.
1768         (C):
1769         (then):
1770         * test262/test/language/expressions/class/async-method/eval-var-scope-syntax-err.js: Added.
1771         (C):
1772         (SyntaxError.then):
1773         * test262/test/language/expressions/class/elements/syntax/early-errors/grammar-private-field-optional-chaining.js: Added.
1774         (C.prototype.access):
1775         * test262/test/language/expressions/class/gen-method-static/eval-var-scope-syntax-err.js: Added.
1776         (C):
1777         * test262/test/language/expressions/class/gen-method/eval-var-scope-syntax-err.js: Added.
1778         (C):
1779         * test262/test/language/expressions/class/method-static/eval-var-scope-syntax-err.js: Added.
1780         (C):
1781         * test262/test/language/expressions/class/method/eval-var-scope-syntax-err.js: Added.
1782         (C):
1783         * test262/test/language/expressions/coalesce/cannot-chain-head-with-logical-and.js:
1784         * test262/test/language/expressions/coalesce/cannot-chain-head-with-logical-or.js:
1785         * test262/test/language/expressions/coalesce/cannot-chain-tail-with-logical-and.js:
1786         * test262/test/language/expressions/coalesce/cannot-chain-tail-with-logical-or.js:
1787         * test262/test/language/expressions/delete/super-property.js:
1788         (C):
1789         * test262/test/language/expressions/division/bigint-and-number.js:
1790         * test262/test/language/expressions/division/bigint-arithmetic.js:
1791         * test262/test/language/expressions/division/bigint-complex-infinity.js:
1792         * test262/test/language/expressions/division/bigint-errors.js:
1793         * test262/test/language/expressions/division/bigint-toprimitive.js:
1794         * test262/test/language/expressions/division/bigint-wrapped-values.js:
1795         * test262/test/language/expressions/does-not-equals/bigint-and-bigint.js:
1796         * test262/test/language/expressions/does-not-equals/bigint-and-boolean.js:
1797         * test262/test/language/expressions/does-not-equals/bigint-and-incomparable-primitive.js:
1798         * test262/test/language/expressions/does-not-equals/bigint-and-non-finite.js:
1799         * test262/test/language/expressions/does-not-equals/bigint-and-number-extremes.js:
1800         * test262/test/language/expressions/does-not-equals/bigint-and-number.js:
1801         * test262/test/language/expressions/does-not-equals/bigint-and-object.js:
1802         * test262/test/language/expressions/does-not-equals/bigint-and-string.js:
1803         * test262/test/language/expressions/equals/bigint-and-bigint.js:
1804         * test262/test/language/expressions/equals/bigint-and-boolean.js:
1805         * test262/test/language/expressions/equals/bigint-and-incomparable-primitive.js:
1806         * test262/test/language/expressions/equals/bigint-and-non-finite.js:
1807         * test262/test/language/expressions/equals/bigint-and-number-extremes.js:
1808         * test262/test/language/expressions/equals/bigint-and-number.js:
1809         * test262/test/language/expressions/equals/bigint-and-object.js:
1810         * test262/test/language/expressions/equals/bigint-and-string.js:
1811         * test262/test/language/expressions/exponentiation/bigint-and-number.js:
1812         * test262/test/language/expressions/exponentiation/bigint-arithmetic.js:
1813         * test262/test/language/expressions/exponentiation/bigint-errors.js:
1814         * test262/test/language/expressions/exponentiation/bigint-negative-exponent-throws.js:
1815         * test262/test/language/expressions/exponentiation/bigint-toprimitive.js:
1816         * test262/test/language/expressions/exponentiation/bigint-wrapped-values.js:
1817         * test262/test/language/expressions/exponentiation/bigint-zero-base-zero-exponent.js:
1818         * test262/test/language/expressions/function/eval-var-scope-syntax-err.js: Added.
1819         (f):
1820         * test262/test/language/expressions/function/scope-param-elem-var-close.js:
1821         * test262/test/language/expressions/function/scope-param-elem-var-open.js:
1822         * test262/test/language/expressions/function/scope-param-rest-elem-var-close.js:
1823         * test262/test/language/expressions/function/scope-param-rest-elem-var-open.js:
1824         * test262/test/language/expressions/generators/eval-var-scope-syntax-err.js: Added.
1825         (f):
1826         * test262/test/language/expressions/generators/scope-param-elem-var-close.js:
1827         * test262/test/language/expressions/generators/scope-param-elem-var-open.js:
1828         * test262/test/language/expressions/generators/scope-param-rest-elem-var-close.js:
1829         * test262/test/language/expressions/generators/scope-param-rest-elem-var-open.js:
1830         * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js:
1831         * test262/test/language/expressions/greater-than-or-equal/bigint-and-incomparable-string.js:
1832         * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js:
1833         * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js:
1834         * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
1835         * test262/test/language/expressions/greater-than-or-equal/bigint-and-string.js:
1836         * test262/test/language/expressions/greater-than/bigint-and-bigint.js:
1837         * test262/test/language/expressions/greater-than/bigint-and-boolean.js:
1838         * test262/test/language/expressions/greater-than/bigint-and-incomparable-string.js:
1839         * test262/test/language/expressions/greater-than/bigint-and-non-finite.js:
1840         * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js:
1841         * test262/test/language/expressions/greater-than/bigint-and-number.js:
1842         * test262/test/language/expressions/greater-than/bigint-and-symbol.js:
1843         * test262/test/language/expressions/left-shift/bigint-and-number.js:
1844         * test262/test/language/expressions/left-shift/bigint-errors.js:
1845         * test262/test/language/expressions/left-shift/bigint-non-primitive.js:
1846         * test262/test/language/expressions/left-shift/bigint-toprimitive.js:
1847         * test262/test/language/expressions/left-shift/bigint-wrapped-values.js:
1848         * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js:
1849         * test262/test/language/expressions/less-than-or-equal/bigint-and-incomparable-string.js:
1850         * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js:
1851         * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js:
1852         * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
1853         * test262/test/language/expressions/less-than-or-equal/bigint-and-string.js:
1854         * test262/test/language/expressions/less-than/bigint-and-bigint.js:
1855         * test262/test/language/expressions/less-than/bigint-and-boolean.js:
1856         * test262/test/language/expressions/less-than/bigint-and-incomparable-string.js:
1857         * test262/test/language/expressions/less-than/bigint-and-non-finite.js:
1858         * test262/test/language/expressions/less-than/bigint-and-number-extremes.js:
1859         * test262/test/language/expressions/less-than/bigint-and-number.js:
1860         * test262/test/language/expressions/modulus/bigint-and-number.js:
1861         * test262/test/language/expressions/modulus/bigint-arithmetic.js:
1862         * test262/test/language/expressions/modulus/bigint-errors.js:
1863         * test262/test/language/expressions/modulus/bigint-modulo-zero.js:
1864         * test262/test/language/expressions/modulus/bigint-toprimitive.js:
1865         * test262/test/language/expressions/modulus/bigint-wrapped-values.js:
1866         * test262/test/language/expressions/multiplication/bigint-and-number.js:
1867         * test262/test/language/expressions/multiplication/bigint-arithmetic.js:
1868         * test262/test/language/expressions/multiplication/bigint-errors.js:
1869         * test262/test/language/expressions/multiplication/bigint-toprimitive.js:
1870         * test262/test/language/expressions/multiplication/bigint-wrapped-values.js:
1871         * test262/test/language/expressions/object/method-definition/async-gen-meth-eval-var-scope-syntax-err.js: Added.
1872         (obj.async method):
1873         * test262/test/language/expressions/object/method-definition/async-meth-eval-var-scope-syntax-err.js: Added.
1874         (obj.async method):
1875         (SyntaxError.then):
1876         * test262/test/language/expressions/object/method-definition/gen-meth-eval-var-scope-syntax-err.js: Added.
1877         (obj.method.a.eval):
1878         * test262/test/language/expressions/object/method-definition/meth-eval-var-scope-syntax-err.js: Added.
1879         (obj.method.a.eval):
1880         * test262/test/language/expressions/object/scope-gen-meth-param-elem-var-close.js:
1881         * test262/test/language/expressions/object/scope-gen-meth-param-elem-var-open.js:
1882         * test262/test/language/expressions/object/scope-gen-meth-param-rest-elem-var-close.js:
1883         * test262/test/language/expressions/object/scope-gen-meth-param-rest-elem-var-open.js:
1884         * test262/test/language/expressions/object/scope-meth-param-elem-var-close.js:
1885         * test262/test/language/expressions/object/scope-meth-param-elem-var-open.js:
1886         * test262/test/language/expressions/object/scope-meth-param-rest-elem-var-close.js:
1887         * test262/test/language/expressions/object/scope-meth-param-rest-elem-var-open.js:
1888         * test262/test/language/expressions/optional-chaining/iteration-statement-do.js: Added.
1889         * test262/test/language/expressions/optional-chaining/iteration-statement-for-await-of.js: Added.
1890         (const.obj.iterable.Symbol.asyncIterator):
1891         (async checkAssertions):
1892         * test262/test/language/expressions/optional-chaining/iteration-statement-for-in.js: Added.
1893         * test262/test/language/expressions/optional-chaining/iteration-statement-for-of-type-error.js: Added.
1894         * test262/test/language/expressions/optional-chaining/iteration-statement-for.js: Added.
1895         (const.obj3.get a):
1896         * test262/test/language/expressions/optional-chaining/iteration-statement-while.js: Added.
1897         * test262/test/language/expressions/optional-chaining/new-target-optional-call.js: Added.
1898         (const.newTargetContext):
1899         (Base):
1900         (Foo):
1901         * test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js: Added.
1902         (const.a.b):
1903         * test262/test/language/expressions/optional-chaining/super-property-optional-call.js: Added.
1904         (Base.prototype.method):
1905         (Base):
1906         (Foo.prototype.method):
1907         (Foo):
1908         * test262/test/language/expressions/right-shift/bigint-and-number.js:
1909         * test262/test/language/expressions/right-shift/bigint-errors.js:
1910         * test262/test/language/expressions/right-shift/bigint-non-primitive.js:
1911         * test262/test/language/expressions/right-shift/bigint-toprimitive.js:
1912         * test262/test/language/expressions/right-shift/bigint-wrapped-values.js:
1913         * test262/test/language/expressions/strict-does-not-equals/bigint-and-bigint.js:
1914         * test262/test/language/expressions/strict-does-not-equals/bigint-and-boolean.js:
1915         * test262/test/language/expressions/strict-does-not-equals/bigint-and-incomparable-primitive.js:
1916         * test262/test/language/expressions/strict-does-not-equals/bigint-and-non-finite.js:
1917         * test262/test/language/expressions/strict-does-not-equals/bigint-and-number-extremes.js:
1918         * test262/test/language/expressions/strict-does-not-equals/bigint-and-number.js:
1919         * test262/test/language/expressions/strict-does-not-equals/bigint-and-object.js:
1920         * test262/test/language/expressions/strict-does-not-equals/bigint-and-string.js:
1921         * test262/test/language/expressions/strict-equals/bigint-and-bigint.js:
1922         * test262/test/language/expressions/strict-equals/bigint-and-boolean.js:
1923         * test262/test/language/expressions/strict-equals/bigint-and-incomparable-primitive.js:
1924         * test262/test/language/expressions/strict-equals/bigint-and-non-finite.js:
1925         * test262/test/language/expressions/strict-equals/bigint-and-number-extremes.js:
1926         * test262/test/language/expressions/strict-equals/bigint-and-number.js:
1927         * test262/test/language/expressions/strict-equals/bigint-and-object.js:
1928         * test262/test/language/expressions/strict-equals/bigint-and-string.js:
1929         * test262/test/language/expressions/subtraction/bigint-and-number.js:
1930         * test262/test/language/expressions/subtraction/bigint-arithmetic.js:
1931         * test262/test/language/expressions/subtraction/bigint-errors.js:
1932         * test262/test/language/expressions/subtraction/bigint-toprimitive.js:
1933         * test262/test/language/expressions/subtraction/bigint-wrapped-values.js:
1934         * test262/test/language/expressions/typeof/proxy.js: Added.
1935         (assert.sameValue.typeof.new.Proxy):
1936         (const.rp2.Proxy.revocable):
1937         * test262/test/language/expressions/unary-minus/bigint-non-primitive.js:
1938         * test262/test/language/expressions/unary-plus/bigint-throws.js:
1939         * test262/test/language/expressions/unsigned-right-shift/bigint-and-number.js:
1940         * test262/test/language/expressions/unsigned-right-shift/bigint-errors.js:
1941         * test262/test/language/expressions/unsigned-right-shift/bigint-non-primitive.js:
1942         * test262/test/language/expressions/unsigned-right-shift/bigint-toprimitive.js:
1943         * test262/test/language/expressions/unsigned-right-shift/bigint-wrapped-values.js:
1944         * test262/test/language/function-code/eval-param-env-with-computed-key.js:
1945         * test262/test/language/function-code/eval-param-env-with-prop-initializer.js:
1946         * test262/test/language/statements/async-function/eval-var-scope-syntax-err.js: Added.
1947         (async f):
1948         (SyntaxError.then):
1949         * test262/test/language/statements/async-generator/eval-var-scope-syntax-err.js: Added.
1950         (async f):
1951         * test262/test/language/statements/class/async-gen-method-static/eval-var-scope-syntax-err.js: Added.
1952         (C.async method):
1953         (C):
1954         * test262/test/language/statements/class/async-gen-method/eval-var-scope-syntax-err.js: Added.
1955         (C.prototype.async method):
1956         (C):
1957         * test262/test/language/statements/class/async-method-static/eval-var-scope-syntax-err.js: Added.
1958         (C.async method):
1959         (C):
1960         (SyntaxError.then):
1961         * test262/test/language/statements/class/async-method/eval-var-scope-syntax-err.js: Added.
1962         (C.prototype.async method):
1963         (C):
1964         (SyntaxError.then):
1965         * test262/test/language/statements/class/definition/constructable-but-no-prototype.js:
1966         * test262/test/language/statements/class/definition/constructor-strict-by-default.js:
1967         * test262/test/language/statements/class/definition/getters-restricted-ids.js:
1968         * test262/test/language/statements/class/definition/implicit-constructor.js:
1969         * test262/test/language/statements/class/definition/invalid-extends.js:
1970         * test262/test/language/statements/class/definition/methods-named-eval-arguments.js:
1971         * test262/test/language/statements/class/definition/prototype-getter.js:
1972         * test262/test/language/statements/class/definition/prototype-property.js:
1973         * test262/test/language/statements/class/definition/setters-restricted-ids.js:
1974         * test262/test/language/statements/class/definition/side-effects-in-extends.js:
1975         * test262/test/language/statements/class/definition/side-effects-in-property-define.js:
1976         * test262/test/language/statements/class/definition/this-access-restriction-2.js:
1977         * test262/test/language/statements/class/definition/this-access-restriction.js:
1978         * test262/test/language/statements/class/definition/this-check-ordering.js:
1979         * test262/test/language/statements/class/elements/syntax/early-errors/grammar-private-field-optional-chaining.js: Added.
1980         (C.prototype.access):
1981         (C):
1982         * test262/test/language/statements/class/gen-method-static/eval-var-scope-syntax-err.js: Added.
1983         (C.method):
1984         (C):
1985         * test262/test/language/statements/class/gen-method/eval-var-scope-syntax-err.js: Added.
1986         (C.prototype.method):
1987         (C):
1988         * test262/test/language/statements/class/method-static/eval-var-scope-syntax-err.js: Added.
1989         (C.method):
1990         (C):
1991         * test262/test/language/statements/class/method/eval-var-scope-syntax-err.js: Added.
1992         (C.prototype.method):
1993         (C):
1994         * test262/test/language/statements/class/name-binding/basic.js:
1995         * test262/test/language/statements/class/subclass/binding.js:
1996         * test262/test/language/statements/class/subclass/builtin-objects/RegExp/lastIndex.js:
1997         * test262/test/language/statements/class/subclass/builtin-objects/String/length.js:
1998         * test262/test/language/statements/class/subclass/builtin-objects/WeakMap/regular-subclassing.js:
1999         * test262/test/language/statements/class/subclass/builtin-objects/WeakMap/super-must-be-called.js:
2000         * test262/test/language/statements/class/subclass/builtin-objects/WeakSet/regular-subclassing.js:
2001         * test262/test/language/statements/class/subclass/builtin-objects/WeakSet/super-must-be-called.js:
2002         * test262/test/language/statements/class/subclass/builtins.js:
2003         * test262/test/language/statements/class/subclass/default-constructor-spread-override.js:
2004         * test262/test/language/statements/for-in/identifier-let-allowed-as-lefthandside-expression-not-strict.js:
2005         * test262/test/language/statements/for-in/order-enumerable-shadowed.js: Added.
2006         * test262/test/language/statements/for-in/order-property-added.js: Added.
2007         * test262/test/language/statements/for-in/order-property-on-prototype.js: Added.
2008         * test262/test/language/statements/for-in/order-simple-object.js: Added.
2009         * test262/test/language/statements/function/eval-var-scope-syntax-err.js: Added.
2010         (f):
2011         * test262/test/language/statements/function/scope-param-elem-var-close.js:
2012         * test262/test/language/statements/function/scope-param-elem-var-open.js:
2013         * test262/test/language/statements/function/scope-param-rest-elem-var-close.js:
2014         * test262/test/language/statements/function/scope-param-rest-elem-var-open.js:
2015         * test262/test/language/statements/generators/eval-var-scope-syntax-err.js: Added.
2016         (f):
2017         * test262/test/language/statements/generators/scope-param-elem-var-close.js:
2018         * test262/test/language/statements/generators/scope-param-elem-var-open.js:
2019         * test262/test/language/statements/generators/scope-param-rest-elem-var-close.js:
2020         * test262/test/language/statements/generators/scope-param-rest-elem-var-open.js:
2021         * test262/test262-Revision.txt:
2022
2023 2020-01-03  Saam Barati  <sbarati@apple.com>
2024
2025         B3::ReduceLoopStrength should not do range based iteration on a vector it's mutating
2026         https://bugs.webkit.org/show_bug.cgi?id=205703
2027         <rdar://problem/56459483>
2028
2029         Reviewed by Mark Lam.
2030
2031         * stress/dont-range-based-iterate-vector-that-is-mutated.js: Added.
2032         (foo):
2033
2034 2020-01-03  Saam Barati  <sbarati@apple.com>
2035
2036         AI rule for PutById can only observe transitions when it watches the condition
2037         https://bugs.webkit.org/show_bug.cgi?id=205697
2038         <rdar://problem/56814254>
2039
2040         Reviewed by Yusuke Suzuki.
2041
2042         * stress/only-transition-structures-for-put-by-id-in-AI-if-watchable.js: Added.
2043
2044 2020-01-02  Yusuke Suzuki  <ysuzuki@apple.com>
2045
2046         REGRESSION (r253867): Six test262 tests broken
2047         https://bugs.webkit.org/show_bug.cgi?id=205583
2048
2049         Reviewed by Mark Lam.
2050
2051         * stress/bound-function-empty-name.js: Added.
2052         (shouldBe):
2053
2054 2019-12-23  Keith Miller  <keith_miller@apple.com>
2055
2056         DFG/FTL should be able to exit to the middle of a bytecode
2057         https://bugs.webkit.org/show_bug.cgi?id=205232
2058
2059         Reviewed by Saam Barati.
2060
2061         * stress/apply-osr-exit-should-get-length-once-exceptions-occasionally.js: Added.
2062         (expectedArgCount):
2063         (callee):
2064         (test):
2065         (let.array.get length):
2066         * stress/apply-osr-exit-should-get-length-once.js: Added.
2067         (expectedArgCount):
2068         (callee):
2069         (test):
2070         (let.array.get length):
2071         * stress/load-varargs-then-inlined-call-and-exit-strict.js:
2072         (checkEqual):
2073         * stress/recursive-tail-call-with-different-argument-count.js:
2074         * stress/rest-varargs-osr-exit-to-checkpoint.js: Added.
2075         (foo):
2076         (bar):
2077
2078 2019-12-23  Yusuke Suzuki  <ysuzuki@apple.com>
2079
2080         [JSC] Wasm OSR entry should capture top-most enclosing-stack
2081         https://bugs.webkit.org/show_bug.cgi?id=205571
2082
2083         Reviewed by Keith Miller.
2084
2085         * wasm/stress/top-most-enclosing-stack.js: Added.
2086
2087 2019-12-21  Yusuke Suzuki  <ysuzuki@apple.com>
2088
2089         [JSC] Improve our bound function implementation
2090         https://bugs.webkit.org/show_bug.cgi?id=205327
2091
2092         Reviewed by Keith Miller.
2093
2094         * microbenchmarks/function-bind-no-inlining-repeat-call.js: Added.
2095         (assert):
2096         (test):
2097         (test2):
2098         (foo):
2099         (let.start.Date.now):
2100         * stress/bind-args.js: Added.
2101         (shouldBe):
2102         (test):
2103         (test2):
2104
2105 2019-12-17  Yusuke Suzuki  <ysuzuki@apple.com>
2106
2107         [JSC] 8Bit JSRopeString can contain 16Bit string in its rope
2108         https://bugs.webkit.org/show_bug.cgi?id=205323
2109
2110         Reviewed by Mark Lam.
2111
2112         * stress/8bit-resolve-can-encounter-16bit-string.js: Added.
2113         (foo):
2114
2115 2019-12-13  Yusuke Suzuki  <ysuzuki@apple.com>
2116
2117         [JSC] Remove JSFixedArray, and use JSImmutableButterfly instead
2118         https://bugs.webkit.org/show_bug.cgi?id=204402
2119
2120         Reviewed by Mark Lam.
2121
2122         * stress/new-array-with-spread-cow-double.js: Added.
2123         (shouldBe):
2124         (shouldBeArray):
2125         (test):
2126         * stress/new-array-with-spread-cow-int.js: Added.
2127         (shouldBe):
2128         (shouldBeArray):
2129         (test):
2130         * stress/new-array-with-spread-cow.js: Added.
2131         (shouldBe):
2132         (shouldBeArray):
2133         (test):
2134
2135 2019-12-13  Mark Lam  <mark.lam@apple.com>
2136
2137         Fix bad exception assertion in ExceptionHelpers.cpp's createError().
2138         https://bugs.webkit.org/show_bug.cgi?id=205230
2139         <rdar://problem/57875688>
2140
2141         Reviewed by Yusuke Suzuki.
2142
2143         * stress/test-exception-assert-in-ExceptionHelpers-createError.js: Added.
2144
2145 2019-12-12  Yusuke Suzuki  <ysuzuki@apple.com>
2146
2147         [JSC] Wasm init-expr should reject mutable globals
2148         https://bugs.webkit.org/show_bug.cgi?id=205191
2149
2150         Reviewed by Mark Lam.
2151
2152         * wasm/js-api/global-error.js:
2153         (assert.throws.new.WebAssembly.Module.bin):
2154         (new.WebAssembly.Module): Deleted.
2155         (assert.throws): Deleted.
2156         (new.Number): Deleted.
2157
2158 2019-12-12  Mark Lam  <mark.lam@apple.com>
2159
2160         Fix missing exception in JSValue::toWTFStringSlowCase().
2161         https://bugs.webkit.org/show_bug.cgi?id=205176
2162         <rdar://problem/57871899>
2163
2164         Reviewed by Yusuke Suzuki.
2165
2166         * stress/missing-exception-check-in-JSValue-toWTFStringSlowCase.js: Added.
2167
2168 2019-12-12  Mark Lam  <mark.lam@apple.com>
2169
2170         Fix missing exception check in JSON Stringifier's gap function.
2171         https://bugs.webkit.org/show_bug.cgi?id=205171
2172         <rdar://problem/57871842>
2173
2174         Reviewed by Yusuke Suzuki.
2175
2176         * stress/missing-exception-check-in-json-stringifier-gap.js: Added.
2177
2178 2019-12-12  Mark Lam  <mark.lam@apple.com>
2179
2180         DFG and FTL expects String.prototype to not qualify for StringObjectUse.
2181         https://bugs.webkit.org/show_bug.cgi?id=205147
2182         <rdar://problem/57748888>
2183
2184         Reviewed by Saam Barati.
2185
2186         * stress/ftl-expects-string-prototype-to-not-be-StringObjectUse.js: Added.
2187
2188 2019-12-11  Keith Miller  <keith_miller@apple.com>
2189
2190         Add test for osr exiting with interpreter on the stack
2191         https://bugs.webkit.org/show_bug.cgi?id=205124
2192
2193         Reviewed by Mark Lam.
2194
2195         I forgot to add this test before.
2196
2197         * stress/osr-exit-with-interpreter-on-stack.js: Added.
2198         (foo):
2199
2200 2019-12-10  Yusuke Suzuki  <ysuzuki@apple.com>
2201
2202         [JSC] Adhocly created CallLinkInfo in GetterSetterAccess should be owned by GCAwareJITStubRoutine
2203         https://bugs.webkit.org/show_bug.cgi?id=204876
2204
2205         Reviewed by Saam Barati.
2206
2207         * stress/code-emitted-by-getter-setter-access-case-should-hold-ownership-of-call-link-info.js: Added.
2208         (func):
2209
2210 2019-12-09  Tadeu Zagallo  <tzagallo@apple.com>
2211
2212         REGRESSION(r253140): WebAssembly validation should check for unmatched else before calling addElse/addElseToUnreachable
2213         https://bugs.webkit.org/show_bug.cgi?id=205022
2214         <rdar://problem/57748159>
2215
2216         Reviewed by Saam Barati.
2217
2218         * wasm/regress/unmatched-else.js: Added.
2219         (catch):
2220
2221 2019-12-08  Tadeu Zagallo  <tzagallo@apple.com>
2222
2223         [WebAssembly] Fix LLIntGenerator's checkConsistency contract
2224         https://bugs.webkit.org/show_bug.cgi?id=204998
2225         <rdar://problem/57733405>
2226
2227         Reviewed by Mark Lam.
2228
2229         * wasm/regress/stack-consistency.js: Added.
2230
2231 2019-12-08  Caio Lima  <ticaiolima@gmail.com>
2232
2233         [ARMv7] Skip flaky stress tests
2234         https://bugs.webkit.org/show_bug.cgi?id=204996
2235
2236         Unreviewed gardening.
2237
2238         * stress/incremental-marking-should-not-dead-lock-in-new-property-transition.js:
2239         * stress/sampling-profiler-should-not-sample-beyond-stack-bounds.js:
2240
2241 2019-12-07  Mark Lam  <mark.lam@apple.com>
2242
2243         Object.prototype.isPrototypeOf() should check if the passed in value is a non-object first.
2244         https://bugs.webkit.org/show_bug.cgi?id=204971
2245         <rdar://problem/57730080>
2246
2247         Reviewed by Saam Barati.
2248
2249         * stress/object-prototype-isPrototypeOf-should-check-for-non-object-first.js: Added.
2250
2251 2019-12-06  Mark Lam  <mark.lam@apple.com>
2252
2253         The compiler thread should not adjust Identifier refCounts.
2254         https://bugs.webkit.org/show_bug.cgi?id=204919
2255         <rdar://problem/57426861>
2256
2257         Reviewed by Saam Barati.
2258
2259         * stress/compiler-thread-should-not-ref-identifiers.js: Added.
2260
2261 2019-12-04  Yusuke Suzuki  <ysuzuki@apple.com>
2262
2263         [JSC] AI should convert IsCellWithType to constant when Structure set is finite
2264         https://bugs.webkit.org/show_bug.cgi?id=204141
2265
2266         Reviewed by Mark Lam.
2267
2268         * stress/generator-cell-with-type.js: Added.
2269         (shouldBe):
2270         (shouldThrow):
2271         (test):
2272         (i.shouldThrow):
2273         * stress/is-cell-with-type-should-check-non-cell-cases.js: Added.
2274         (getter):
2275         (foo):
2276
2277 2019-12-04  Mark Lam  <mark.lam@apple.com>
2278
2279         Fix missing exception check in ArrayPrototype's fastJoin().
2280         https://bugs.webkit.org/show_bug.cgi?id=204868
2281         <rdar://problem/57516684>
2282
2283         Reviewed by Saam Barati.
2284
2285         * stress/missing-exception-check-in-array-prototype-fastJoin.js: Added.
2286
2287 2019-12-04  Yusuke Suzuki  <ysuzuki@apple.com>
2288
2289         Unreviewed, rolling out r252416, vimeo does not work
2290         https://bugs.webkit.org/show_bug.cgi?id=204141
2291
2292         * stress/generator-cell-with-type.js: Removed.
2293
2294 2019-12-04  Yusuke Suzuki  <ysuzuki@apple.com>
2295
2296         [JSC] JSWebAssemblyGlobal creation should have exception check
2297         https://bugs.webkit.org/show_bug.cgi?id=204857
2298         <rdar://problem/57618579>
2299
2300         Reviewed by Mark Lam.
2301
2302         * wasm/regress/wasm-global-creation-can-throw-an-exception.js: Added.
2303
2304 2019-12-04  Yusuke Suzuki  <ysuzuki@apple.com>
2305
2306         [JSC] Update Wasm spec-tests
2307         https://bugs.webkit.org/show_bug.cgi?id=204844
2308
2309         Reviewed by Keith Miller.
2310
2311         To get broader coverage, we update Wasm spec-tests to the latest one[1].
2312
2313         [1]: 3e5fdc6b51ca2cde537bb8ecb1ba25c1ee366833
2314
2315         * wasm.yaml:
2316         * wasm/spec-tests/address.wast.js:
2317         * wasm/spec-tests/align.wast.js:
2318         * wasm/spec-tests/binary-leb128.wast.js: Added.
2319         * wasm/spec-tests/binary.wast.js:
2320         * wasm/spec-tests/block.wast.js:
2321         * wasm/spec-tests/br.wast.js:
2322         * wasm/spec-tests/br_if.wast.js:
2323         * wasm/spec-tests/br_table.wast.js:
2324         * wasm/spec-tests/call_indirect.wast.js:
2325         * wasm/spec-tests/const.wast.js:
2326         * wasm/spec-tests/conversions.wast.js:
2327         * wasm/spec-tests/custom.wast.js: Added.
2328         * wasm/spec-tests/data.wast.js: Added.
2329         * wasm/spec-tests/elem.wast.js: Added.
2330         * wasm/spec-tests/endianness.wast.js:
2331         * wasm/spec-tests/f32.wast.js:
2332         * wasm/spec-tests/f32_bitwise.wast.js:
2333         * wasm/spec-tests/f32_cmp.wast.js:
2334         * wasm/spec-tests/f64.wast.js:
2335         * wasm/spec-tests/f64_bitwise.wast.js:
2336         * wasm/spec-tests/f64_cmp.wast.js:
2337         * wasm/spec-tests/fac.wast.js:
2338         * wasm/spec-tests/float_exprs.wast.js:
2339         * wasm/spec-tests/float_literals.wast.js:
2340         * wasm/spec-tests/float_memory.wast.js:
2341         * wasm/spec-tests/func.wast.js:
2342         * wasm/spec-tests/func_ptrs.wast.js:
2343         * wasm/spec-tests/i32.wast.js:
2344         * wasm/spec-tests/i64.wast.js:
2345         * wasm/spec-tests/imports.wast.js:
2346         * wasm/spec-tests/int_exprs.wast.js:
2347         * wasm/spec-tests/int_literals.wast.js:
2348         * wasm/spec-tests/labels.wast.js:
2349         * wasm/spec-tests/left-to-right.wast.js:
2350         * wasm/spec-tests/load.wast.js: Added.
2351         * wasm/spec-tests/local_get.wast.js: Added.
2352         * wasm/spec-tests/local_set.wast.js: Added.
2353         * wasm/spec-tests/local_tee.wast.js: Added.
2354         * wasm/spec-tests/loop.wast.js:
2355         * wasm/spec-tests/memory_grow.wast.js: Added.
2356         * wasm/spec-tests/memory_size.wast.js: Added.
2357         * wasm/spec-tests/memory_trap.wast.js:
2358         * wasm/spec-tests/names.wast.js:
2359         * wasm/spec-tests/nop.wast.js:
2360         * wasm/spec-tests/return.wast.js:
2361         * wasm/spec-tests/select.wast.js:
2362         * wasm/spec-tests/stack.wast.js:
2363         * wasm/spec-tests/start.wast.js:
2364         * wasm/spec-tests/store.wast.js: Added.
2365         * wasm/spec-tests/switch.wast.js:
2366         * wasm/spec-tests/traps.wast.js:
2367         * wasm/spec-tests/type.wast.js:
2368         * wasm/spec-tests/unreachable.wast.js:
2369         * wasm/spec-tests/unreached-invalid.wast.js:
2370         * wasm/spec-tests/unwind.wast.js:
2371         * wasm/spec-tests/utf8-custom-section-id.wast.js:
2372         * wasm/spec-tests/utf8-import-field.wast.js:
2373         * wasm/spec-tests/utf8-import-module.wast.js:
2374         * wasm/spec-tests/utf8-invalid-encoding.wast.js: Added.
2375
2376 2019-12-03  Yusuke Suzuki  <ysuzuki@apple.com>
2377
2378         Adopt the new WebAssembly.Global system
2379         https://bugs.webkit.org/show_bug.cgi?id=186552
2380
2381         Reviewed by Keith Miller.
2382
2383         1. Update spec-harness to accept newer tests. And we update several tests that does not work with the old harness.
2384         2. Add WebAssembly.Global tests.
2385
2386         * wasm/js-api/global-error.js:
2387         (assert.throws.new.WebAssembly.Module.bin):
2388         (new.WebAssembly.Module):
2389         (assert.throws):
2390         * wasm/js-api/global-external-init-from-import.js:
2391         * wasm/js-api/globals-export.js:
2392         * wasm/modules/js-wasm-global-namespace.js:
2393         (assert.throws):
2394         * wasm/modules/js-wasm-global.js:
2395         (assert.throws):
2396         * wasm/modules/wasm-import-wasm-export-i64-error.js:
2397         * wasm/references/anyref_globals.js:
2398         * wasm/references/func_ref.js:
2399         (assert.eq.instance.exports.fix):
2400         * wasm/spec-harness.js:
2401         (getGlobal):
2402         (let.console.log):
2403         * wasm/spec-harness/sync_index.js: Renamed from JSTests/wasm/spec-harness/index.js.
2404         (reinitializeRegistry.let.handler.get return):
2405         (module):
2406         * wasm/spec-tests/call.wast.js:
2407         * wasm/spec-tests/exports.wast.js:
2408         * wasm/spec-tests/globals.wast.js:
2409         * wasm/spec-tests/if.wast.js:
2410         * wasm/spec-tests/imports.wast.js:
2411         * wasm/spec-tests/linking.wast.js:
2412         * wasm/spec-tests/memory.wast.js:
2413         * wasm/stress/immutable-globals.js: Added.
2414         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.i.assert.eq.instance.exports.getI32):
2415         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.i.assert.eq):
2416         * wasm/stress/mutable-globals-cross.js: Added.
2417         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.instance1):
2418         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.instance2):
2419         * wasm/stress/mutable-globals.js: Added.
2420         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.i.instance.exports.setI32AsI64):
2421
2422 2019-12-03  Christopher Reid  <chris.reid@sony.com>
2423
2424         Regular expression hangs in Safari only
2425         https://bugs.webkit.org/show_bug.cgi?id=202882
2426         <rdar://problem/56236654>
2427
2428         Reviewed by Yusuke Suzuki.
2429
2430         * stress/regress-202882.js: Added.
2431
2432 2019-12-02  Saam Barati  <sbarati@apple.com>
2433
2434         PropertySlot should not have Customs have a PropertyOffset of zero
2435         https://bugs.webkit.org/show_bug.cgi?id=204566
2436         <rdar://problem/57466781>
2437
2438         Reviewed by Keith Miller.
2439
2440         * stress/cacheable-custom-accessor-should-not-have-property-offset.js: Added.
2441
2442 2019-12-02  Mark Lam  <mark.lam@apple.com>
2443
2444         mozilla-tests.yaml/js1_5/Array/regress-101964.js is frequently failing on JSC EWS bots.
2445         https://bugs.webkit.org/show_bug.cgi?id=200789
2446         <rdar://problem/54361916>
2447
2448         Reviewed by Keith Miller.
2449
2450         The prevailing theory is that this test is being pre-empted and not getting the
2451         CPU time it needs to complete.  As a result, the wall clock time period for
2452         running the test exceeds the expected time.  This patch tests this theory by
2453         changing the time measurement to use CPU time instead.
2454
2455         * mozilla/js1_5/Array/regress-101964.js:
2456
2457 2019-12-01  Caio Lima  <ticaiolima@gmail.com>
2458
2459         [JSC][MIPS] CallFrame is being clobbered on InternalFunction execution
2460         https://bugs.webkit.org/show_bug.cgi?id=203739
2461
2462         Reviewed by Saam Barati.
2463
2464         * stress/has-instance-exception-check.js:
2465         * stress/regress-176485.js:
2466
2467 2019-11-30  Ross Kirsling  <ross.kirsling@sony.com>
2468
2469         test262-runner should dump YAML with correct encoding
2470         https://bugs.webkit.org/show_bug.cgi?id=204493
2471
2472         Reviewed by Saam Barati.
2473
2474         * test262/expectations.yaml:
2475         Fix double-encoding of test failure output.
2476
2477 2019-11-23  Ross Kirsling  <ross.kirsling@sony.com>
2478
2479         [JSC] GetSubstitution is performed incorrectly via RegExp.prototype[@@replace]
2480         https://bugs.webkit.org/show_bug.cgi?id=204490
2481
2482         Reviewed by Mark Lam.
2483
2484         * stress/replace-indexed-backreferences.js: Added.
2485         * test262/expectations.yaml: Mark four test cases as passing.
2486
2487 2019-11-22  Tadeu Zagallo  <tzagallo@apple.com>
2488
2489         [WebAssembly] Improve Wasm::LLIntGenerator
2490         https://bugs.webkit.org/show_bug.cgi?id=204092
2491
2492         Reviewed by Saam Barati.
2493
2494         * wasm/stress/set-local-enclosed-stack.js: Added.
2495         (assert.eq.instance.exports.foo):
2496         (assert.eq):
2497
2498 2019-11-22  Yusuke Suzuki  <ysuzuki@apple.com>
2499
2500         [JSC] DFG terminal's liveness should respect caller's opcodeID
2501         https://bugs.webkit.org/show_bug.cgi?id=204317
2502
2503         Reviewed by Saam Barati.
2504
2505         * stress/call-var-args-phantom-arguments-handler-strict.js: Added.
2506         (shouldBe):
2507         (inlined):
2508         (test):
2509         * stress/call-var-args-phantom-arguments-handler.js: Added.
2510         (shouldBe):
2511         (inlined):
2512         (test):
2513         * stress/call-var-args-phantom-arguments-strict.js: Added.
2514         (shouldBe):
2515         (inlined):
2516         (test):
2517         * stress/call-var-args-phantom-arguments.js: Added.
2518         (shouldBe):
2519         (inlined):
2520         (test):
2521         * stress/derived-class-construct-varargs.js: Added.
2522         (shouldThrow):
2523         (B):
2524         * stress/tail-call-var-args-phantom-arguments-handler-strict.js: Added.
2525         (shouldBe):
2526         (inlined):
2527         (test):
2528         * stress/tail-call-var-args-phantom-arguments-handler.js: Added.
2529         (shouldBe):
2530         (inlined):
2531         (test):
2532         * stress/tail-call-var-args-phantom-arguments-strict.js: Added.
2533         (shouldBe):
2534         (inlined):
2535         (test):
2536         * stress/tail-call-var-args-phantom-arguments.js: Added.
2537         (shouldBe):
2538         (inlined):
2539         (test):
2540
2541 2019-11-22  Guillaume Emont  <guijemont@igalia.com>
2542
2543         Skip tests that fail on arm and mips devices
2544         https://bugs.webkit.org/show_bug.cgi?id=204522
2545
2546         Unreviewed gardening.
2547
2548
2549         * stress/generator-cell-with-type.js:
2550         * stress/stack-overflow-in-yarr-byteCompile.js:
2551         * stress/toctou-having-a-bad-time-new-array.js:
2552
2553 2019-11-21  Mark Lam  <mark.lam@apple.com>
2554
2555         replaceUsingStringSearch() should not use CachedCall with host functions.
2556         https://bugs.webkit.org/show_bug.cgi?id=204494
2557         <rdar://problem/57421078>
2558
2559         Reviewed by Ross Kirsling.
2560
2561         * stress/string-replaceAll-2.js:
2562
2563 2019-11-21  Ross Kirsling  <ross.kirsling@sony.com>
2564
2565         Unreviewed test262 gardening following r252680.
2566
2567         * test262/expectations.yaml:
2568         Mark eight test cases as passing.
2569
2570 2019-11-21  Saam Barati  <sbarati@apple.com>
2571
2572         GetByStatus should not say it took the slow path for multiple identifiers and should have a way to indicate if the StructureStubInfo it saw took the slow path
2573         https://bugs.webkit.org/show_bug.cgi?id=204435
2574
2575         Reviewed by Tadeu Zagallo.
2576
2577         * microbenchmarks/get-by-val-polymorphic-ic-1.js: Added.
2578         (assert):
2579         (test1.foo):
2580         (test1):
2581         * microbenchmarks/get-by-val-polymorphic-ic-2.js: Added.
2582         (assert):
2583         (test2.foo):
2584         (test2):
2585         * microbenchmarks/get-by-val-polymorphic-ic-3.js: Added.
2586         (assert):
2587         (test3.foo):
2588         (test3.args):
2589         (test3):
2590         * microbenchmarks/get-by-val-polymorphic-ic-4.js: Added.
2591         (assert):
2592         (test4.foo):
2593         (test4.capture):
2594         (test4.args):
2595         (test4):
2596         * microbenchmarks/get-by-val-polymorphic-ic-5.js: Added.
2597         (assert):
2598         (test5.foo):
2599         (test5.capture):
2600         (test5.args):
2601         (test5):
2602         * microbenchmarks/get-by-val-polymorphic-ic-6.js: Added.
2603         (assert):
2604         (test6.foo):
2605         (test6.capture):
2606         (test6.args):
2607         (test6):
2608         * microbenchmarks/get-by-val-polymorphic-ic-7.js: Added.
2609         (assert):
2610         (test7.foo):
2611         (test7):
2612         * microbenchmarks/get-by-val-polymorphic-ic-8.js: Added.
2613         (assert):
2614         (test7.foo):
2615         (test7):
2616         * microbenchmarks/get-by-val-polymorphic-ic-9.js: Added.
2617         (assert):
2618         (test7.foo):
2619         (test7):
2620
2621 2019-11-21  Mark Lam  <mark.lam@apple.com>
2622
2623         Fix broken String.prototype.replace() and replaceAll().
2624         https://bugs.webkit.org/show_bug.cgi?id=204479
2625         <rdar://problem/57354854>
2626
2627         Reviewed by Ross Kirsling and Yusuke Suzuki.
2628
2629         * ChakraCore.yaml:
2630         * ChakraCore/test/Strings/replace.baseline-jsc: Removed.
2631         - We no longer need this because we've fixed the spec compliance issue in replace().
2632         * stress/string-replaceAll-2.js: Added.
2633
2634 2019-11-21  Yusuke Suzuki  <ysuzuki@apple.com>
2635
2636         Unreviewed, rolling in again, regression is not caused by it
2637         https://bugs.webkit.org/show_bug.cgi?id=202471
2638
2639         * stress/string-replaceall.js: Added.
2640         (shouldBe):
2641         (shouldThrowTypeError):
2642         (shouldBe.string_appeared_here.replaceAll.Symbol.match):
2643
2644 2019-11-21  Commit Queue  <commit-queue@webkit.org>
2645
2646         Unreviewed, rolling out r252683 and r252721.
2647         https://bugs.webkit.org/show_bug.cgi?id=204475
2648
2649         13% regression in JetStream2/prepack-wtb (Requested by
2650         yusukesuzuki on #webkit).
2651
2652         Reverted changesets:
2653
2654         "Implement String.prototype.replaceAll"
2655         https://bugs.webkit.org/show_bug.cgi?id=202471
2656         https://trac.webkit.org/changeset/252683
2657
2658         "Unreviewed, address Darin's feedback on r252683."
2659         https://trac.webkit.org/changeset/252721
2660
2661 2019-11-20  Ross Kirsling  <ross.kirsling@sony.com>
2662
2663         Unreviewed, address Darin's feedback on r252683.
2664
2665         * stress/string-replaceall.js:
2666
2667 2019-11-20  Caio Lima  <ticaiolima@gmail.com>
2668
2669         [JSC] OSR exit to LLInt is broken on MIPS
2670         https://bugs.webkit.org/show_bug.cgi?id=203737
2671
2672         Reviewed by Yusuke Suzuki.
2673
2674         Unskipping broken tests due to OSR to LLInt bug.
2675
2676         * microbenchmarks/call-spread-call.js:
2677         * microbenchmarks/throw.js:
2678         * stress/allocation-sinking-hints-are-valid-ssa-2.js:
2679         * stress/allocation-sinking-hints-are-valid-ssa.js:
2680         * stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js:
2681         * stress/arrowfunction-lexical-bind-supercall-4.js:
2682         * stress/arrowfunction-tdz-3.js:
2683         * stress/function-constructor-semantics.js:
2684         * stress/global-import-function-should-return-a-promise-when-clearing-exceptions.js:
2685         * stress/stress-cleared-calllinkinfo.js:
2686         * stress/typedarray-configure-index.js:
2687         * stress/v8-deltablue-strict.js:
2688
2689 2019-11-20  Mark Lam  <mark.lam@apple.com>
2690
2691         Flaky JSC test: stress/stack-overflow-in-yarr-byteCompile.js.dfg-eager.
2692         https://bugs.webkit.org/show_bug.cgi?id=204405
2693
2694         Reviewed by Alexey Proskuryakov.
2695
2696         The test was timing out because it's slow.  We don't really need to run this test
2697         on all configurations.  So, we'll change it to on run with the default
2698         configuration.  Also declare the test as "//@ slow!".
2699
2700         * stress/stack-overflow-in-yarr-byteCompile.js:
2701
2702 2019-11-19  Ross Kirsling  <ross.kirsling@sony.com>
2703
2704         Implement String.prototype.replaceAll
2705         https://bugs.webkit.org/show_bug.cgi?id=202471
2706
2707         Reviewed by Yusuke Suzuki.
2708
2709         * stress/string-replaceall.js: Added.
2710
2711 2019-11-19  Robin Morisset  <rmorisset@apple.com>
2712
2713         [ESNext][BigInt] Add support for op_inc
2714         https://bugs.webkit.org/show_bug.cgi?id=193240
2715
2716         Reviewed by Yusuke Suzuki.
2717
2718         Some parts of these tests are inspired by tests in a WIP patch by Caio Lima.
2719         Thanks to him for allowing their reuse.
2720
2721         * stress/inc-osr-exit-from-big-int.js: Added.
2722         (let.assert.sameValue):
2723         (postInc):
2724         (preInc):
2725         (postDec):
2726         (preDec):
2727         * stress/inc-osr-exit-to-big-int.js: Added.
2728         (let.assert.sameValue):
2729         (postInc):
2730         (preInc):
2731         (postDec):
2732         (preDec):
2733         (o.valueOf):
2734
2735 2019-11-19  Saam Barati  <sbarati@apple.com>
2736
2737         Remove runNullishAwareOperatorsEnabled
2738
2739         Rubber-stamped by Keith Miller.
2740
2741         * stress/nullish-coalescing.js:
2742         * stress/optional-chaining.js:
2743         * stress/tail-call-recognize.js:
2744
2745 2019-11-18  Keith Miller  <keith_miller@apple.com>
2746
2747         Enable Nullish operators by default
2748         https://bugs.webkit.org/show_bug.cgi?id=204308
2749
2750         Reviewed by Yusuke Suzuki.
2751
2752         Remove feature -> option map.
2753
2754         * test262/config.yaml:
2755
2756 2019-11-18  Caio Lima  <ticaiolima@gmail.com>
2757
2758         Skipping wasm-error-message-cross-threads.js on architectures without WASM support
2759         https://bugs.webkit.org/show_bug.cgi?id=204293
2760
2761         Unreviewed gardening.
2762
2763         * stress/ensure-code-block-is-not-precise-allocation.js:
2764
2765         Skipping this test until we fix OSR to LLInt on MIPS.
2766
2767         * stress/wasm-error-message-cross-threads.js:
2768
2769 2019-11-15  Ross Kirsling  <ross.kirsling@sony.com>
2770
2771         [JSC] Anonymous built-in functions should have empty string for a name
2772         https://bugs.webkit.org/show_bug.cgi?id=204214
2773
2774         Reviewed by Yusuke Suzuki.
2775
2776         * test262/expectations.yaml:
2777         Mark 20 test cases as passing.
2778
2779         * stress/builtin-function-name.js:
2780         (shouldThrow):
2781         * stress/private-name-as-anonymous-builtin.js:
2782         Fix tests which are no longer accurate.
2783
2784 2019-11-15  Yusuke Suzuki  <ysuzuki@apple.com>
2785
2786         [JSC] DFG strength reduction should define "groups" for RegExp constant-folded result
2787         https://bugs.webkit.org/show_bug.cgi?id=204264
2788
2789         Reviewed by Michael Saboff.
2790
2791         * stress/dfg-strength-reduction-for-regexp-should-include-groups-property.js: Added.
2792         (shouldBe):
2793         (test):
2794
2795 2019-11-15  Yusuke Suzuki  <ysuzuki@apple.com>
2796
2797         Wasm error message should be cross-thread-copied
2798         https://bugs.webkit.org/show_bug.cgi?id=204143
2799
2800         Reviewed by Mark Lam.
2801
2802         * stress/wasm-error-message-cross-threads.js: Added.
2803         (f):
2804
2805 2019-11-14  Alexey Shvayka  <shvaikalesh@gmail.com>
2806
2807         Use toLength() and getIndexQuickly() in JSON.stringify
2808         https://bugs.webkit.org/show_bug.cgi?id=204122
2809
2810         Reviewed by Yusuke Suzuki.
2811
2812         * microbenchmarks/json-stringify-array-replacer.js: Added.
2813         * microbenchmarks/json-stringify-empty-array.js: Added.
2814
2815 2019-11-14  Caio Lima  <ticaiolima@gmail.com>
2816
2817         Support or16(TrustedImm32, AbsoluteAddress) in the MIPS MacroAssembler
2818         https://bugs.webkit.org/show_bug.cgi?id=204126
2819
2820         Reviewed by Mark Lam.
2821
2822         Decreasing the number of iterations of test to avoid timeout into slow
2823         ports.
2824
2825         * stress/regress-57020338.js:
2826
2827 2019-11-13  Robin Morisset  <rmorisset@apple.com>
2828
2829         Split ArithProfile into a Unary and a Binary version
2830         https://bugs.webkit.org/show_bug.cgi?id=202832
2831         <rdar://problem/56266847>
2832
2833         Reviewed by Keith Miller.
2834
2835         The new test (kindly provided by Mark Lam) catches the metadata corruption that used to happen in the previous version of this patch.
2836
2837         * stress/regress-57020338.js: Added.
2838
2839 2019-11-13  Yusuke Suzuki  <ysuzuki@apple.com>
2840
2841         [JSC] AI should convert IsCellWithType to constant when Structure set is finite
2842         https://bugs.webkit.org/show_bug.cgi?id=204141
2843
2844         Reviewed by Saam Barati.
2845
2846         * stress/generator-cell-with-type.js: Added.
2847         (shouldBe):
2848         (shouldThrow):
2849         (test):
2850         (i.shouldThrow):
2851
2852 2019-11-12  Yusuke Suzuki  <ysuzuki@apple.com>
2853
2854         [JSC] JSC GC relies on CodeBlock is not PreciseAllocation
2855         https://bugs.webkit.org/show_bug.cgi?id=204124
2856
2857         Reviewed by Saam Barati.
2858
2859         * stress/ensure-code-block-is-not-precise-allocation.js: Added.
2860         (foo):
2861         (get for):
2862
2863 2019-11-12  Alexey Shvayka  <shvaikalesh@gmail.com>
2864
2865         RegExpBuiltinExec should create "groups" property unconditionally
2866         https://bugs.webkit.org/show_bug.cgi?id=204067
2867
2868         Reviewed by Ross Kirsling.
2869
2870         * test262/expectations.yaml: Mark 4 test cases as passing.
2871
2872 2019-11-11  Ross Kirsling  <ross.kirsling@sony.com>
2873
2874         UTC offset for Samoa is miscalculated when !HAVE(TIMEGM)
2875         https://bugs.webkit.org/show_bug.cgi?id=204032
2876
2877         Reviewed by Yusuke Suzuki.
2878
2879         * complex.yaml:
2880         * complex/timezone-offset-apia.js: Added.
2881         Add test to verify Date.prototype.getTimezoneOffset for TZ=Pacific/Apia.
2882
2883 2019-11-08  Guillaume Emont  <guijemont@igalia.com>
2884
2885         Temporarily skip another broken test on MIPS due to OSR exit to LLInt
2886         https://bugs.webkit.org/show_bug.cgi?id=204003
2887
2888         Unreviewed gardening.
2889
2890         * stress/global-import-function-should-return-a-promise-when-clearing-exceptions.js:
2891
2892 2019-11-07  Mark Lam  <mark.lam@apple.com>
2893
2894         Add a stack overflow check in Yarr::ByteCompiler::emitDisjunction().
2895         https://bugs.webkit.org/show_bug.cgi?id=203936
2896         <rdar://problem/56624724>
2897
2898         Reviewed by Saam Barati.
2899
2900         This issue originally manifested as incorrect-exception-assertion-in-operationRegExpExecNonGlobalOrSticky.js
2901         failing on iOS devices due to its smaller stack.  We adapted the original test
2902         here using $vm.callWithStackSize() to reproduce the issue on x86_64 though it
2903         has a much larger physical stack to work with.  This new test will crash while
2904         stepping on the guard page beyond the end of the stack if the fix is not applied.
2905
2906         * stress/stack-overflow-in-yarr-byteCompile.js: Added.
2907
2908 2019-11-07  Tuomas Karkkainen  <tuomas.webkit@apple.com>
2909
2910         didPassSomeTestsSilenty is misspelled in standalone-pre.js
2911         https://bugs.webkit.org/show_bug.cgi?id=203948
2912
2913         Reviewed by Yusuke Suzuki.
2914
2915         * stress/resources/standalone-pre.js:
2916
2917 2019-11-07  Ross Kirsling  <ross.kirsling@sony.com>
2918
2919         Unskip test262 tests for async-iteration
2920         https://bugs.webkit.org/show_bug.cgi?id=203921
2921
2922         Reviewed by Keith Miller.
2923
2924         This should have been done two years ago, it seems.
2925
2926         * test262/config.yaml:
2927         * test262/expectations.yaml:
2928
2929 2019-11-07  Alexey Shvayka  <shvaikalesh@gmail.com>
2930
2931         [[HasProperty]] result of Proxy in prototype chain is ignored
2932         https://bugs.webkit.org/show_bug.cgi?id=203560
2933
2934         Reviewed by Ross Kirsling.
2935
2936         * stress/proxy-get-prototype-of.js: Correct Proxy "has" trap test.
2937         * test262/expectations.yaml: Mark 6 test cases as passing.
2938
2939 2019-11-06  Mark Lam  <mark.lam@apple.com>
2940
2941         JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut() should fire its watchpoint as the last step.
2942         https://bugs.webkit.org/show_bug.cgi?id=203867
2943         <rdar://problem/56813514>
2944
2945         Reviewed by Saam Barati.
2946
2947         * stress/racy-slow-put-cloned-arguments-when-having-a-bad-time.js: Added.
2948
2949 2019-11-06  Commit Queue  <commit-queue@webkit.org>
2950
2951         Unreviewed, rolling out r251940.
2952         https://bugs.webkit.org/show_bug.cgi?id=203920
2953
2954         "it introduced test262 failures" (Requested by rkirsling on
2955         #webkit).
2956
2957         Reverted changeset:
2958
2959         "[[HasProperty]] result of Proxy in prototype chain is
2960         ignored"
2961         https://bugs.webkit.org/show_bug.cgi?id=203560
2962         https://trac.webkit.org/changeset/251940
2963
2964 2019-11-04  Saam Barati  <sbarati@apple.com>
2965
2966         Don't use memmove/memcpy/memset for memory that can be scanned concurrently
2967         https://bugs.webkit.org/show_bug.cgi?id=203228
2968         <rdar://problem/56401852>
2969
2970         Reviewed by Robin Morisset.
2971
2972         * stress/torn-js-value-concurrent-collector.js: Added.
2973         (foo):
2974
2975 2019-11-03  Tadeu Zagallo  <tzagallo@apple.com>
2976
2977         LLIntGenerator should not allocate temporaries in between variables
2978         https://bugs.webkit.org/show_bug.cgi?id=203787
2979
2980         Reviewed by Yusuke Suzuki.
2981
2982         * wasm/stress/local-ref.js: Added.
2983
2984 2019-11-02  Alexey Proskuryakov  <ap@apple.com>
2985
2986         Revert http://trac.webkit.org/r251875
2987         Don't use memmove/memcpy/memset for memory that can be scanned concurrently
2988
2989         This is suspected to have broken performance tests on iOS.
2990
2991         * stress/torn-js-value-concurrent-collector.js: Removed.
2992
2993 2019-11-01  Alexey Shvayka  <shvaikalesh@gmail.com>
2994
2995         [[HasProperty]] result of Proxy in prototype chain is ignored
2996         https://bugs.webkit.org/show_bug.cgi?id=203560
2997
2998         Reviewed by Ross Kirsling.
2999
3000         * stress/proxy-get-prototype-of.js: Correct Proxy "has" trap test.
3001         * test262/expectations.yaml: Mark 6 test cases as passing.
3002
3003 2019-11-01  Caio Lima  <ticaiolima@gmail.com>
3004
3005         [JSC][MIPS] Skip tests failing in RELEASE_ASSERT_NOT_REACHED() at CallFrame.cpp:81
3006         https://bugs.webkit.org/show_bug.cgi?id=203738
3007
3008         Unreviewed gardening.
3009
3010         * stress/allocation-sinking-hints-are-valid-ssa.js:
3011         * stress/has-instance-exception-check.js:
3012         * stress/regress-176485.js:
3013
3014 2019-10-31  Caio Lima  <ticaiolima@gmail.com>
3015
3016         Temporary skip broken tests on MIPS that is broken due to OSR exit to LLInt
3017         https://bugs.webkit.org/show_bug.cgi?id=203710
3018
3019         Unreviewed gardening.
3020
3021         * microbenchmarks/call-spread-call.js:
3022         * microbenchmarks/throw.js:
3023         * stress/allocation-sinking-hints-are-valid-ssa-2.js:
3024         * stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js:
3025         * stress/arrowfunction-lexical-bind-supercall-4.js:
3026         * stress/arrowfunction-tdz-3.js:
3027         * stress/function-constructor-semantics.js:
3028         * stress/stress-cleared-calllinkinfo.js:
3029         * stress/typedarray-configure-index.js:
3030         * stress/v8-deltablue-strict.js:
3031
3032 2019-10-31  Saam Barati  <sbarati@apple.com>
3033
3034         Don't use memmove/memcpy/memset for memory that can be scanned concurrently
3035         https://bugs.webkit.org/show_bug.cgi?id=203228
3036         <rdar://problem/56401852>
3037
3038         Reviewed by Robin Morisset.
3039
3040         * stress/torn-js-value-concurrent-collector.js: Added.
3041         (foo):
3042
3043 2019-10-30  Yusuke Suzuki  <ysuzuki@apple.com>
3044
3045         [JSC] Date functions should have intrinsic
3046         https://bugs.webkit.org/show_bug.cgi?id=202187
3047
3048         Reviewed by Keith Miller.
3049
3050         * stress/date-cse.js: Added.
3051         (shouldBe):
3052         (test):
3053         (test2):
3054         (test3):
3055         * stress/date-get-date-jit.js: Added.
3056         (shouldBe):
3057         (test):
3058         * stress/date-get-day-jit.js: Added.
3059         (shouldBe):
3060         (test):
3061         * stress/date-get-full-year-jit.js: Added.
3062         (shouldBe):
3063         (test):
3064         * stress/date-get-hours-jit.js: Added.
3065         (shouldBe):
3066         (test):
3067         * stress/date-get-milliseconds-jit.js: Added.
3068         (shouldBe):
3069         (test):
3070         * stress/date-get-minutes-jit.js: Added.
3071         (shouldBe):
3072         (test):
3073         * stress/date-get-month-jit.js: Added.
3074         (shouldBe):
3075         (test):
3076         * stress/date-get-seconds-jit.js: Added.
3077         (shouldBe):
3078         (test):
3079         * stress/date-get-time-jit.js: Added.
3080         (shouldBe):
3081         (test):
3082         * stress/date-get-timezone-offset-jit.js: Added.
3083         (shouldBe):
3084         (test):
3085         * stress/date-get-utc-date-jit.js: Added.
3086         (shouldBe):
3087         (test):
3088         * stress/date-get-utc-day-jit.js: Added.
3089         (shouldBe):
3090         (test):
3091         * stress/date-get-utc-full-year-jit.js: Added.
3092         (shouldBe):
3093         (test):
3094         * stress/date-get-utc-hours-jit.js: Added.
3095         (shouldBe):
3096         (test):
3097         * stress/date-get-utc-milliseconds-jit.js: Added.
3098         (shouldBe):
3099         (test):
3100         * stress/date-get-utc-minutes-jit.js: Added.
3101         (shouldBe):
3102         (test):
3103         * stress/date-get-utc-month-jit.js: Added.
3104         (shouldBe):
3105         (test):
3106         * stress/date-get-utc-seconds-jit.js: Added.
3107         (shouldBe):
3108         (test):
3109         * stress/date-get-year-jit.js: Added.
3110         (shouldBe):
3111         (test):
3112         * stress/date-value-of-jit.js: Added.
3113         (shouldBe):
3114         (test):
3115
3116 2019-10-30  Guillaume Emont  <guijemont@igalia.com>
3117
3118         Temporarily skip ChakraCore/test/Math/max.js on arm and mips
3119
3120         Unreviewed gardening.
3121
3122         * ChakraCore.yaml:
3123
3124 2019-10-30  Ross Kirsling  <ross.kirsling@sony.com>
3125
3126         Intl.DateTimeFormat returns resolvedOptions in the wrong order
3127         https://bugs.webkit.org/show_bug.cgi?id=203297
3128
3129         Reviewed by Yusuke Suzuki.
3130
3131         * test262/expectations.yaml:
3132         Mark two test cases as passing.
3133
3134 2019-10-30  Tadeu Zagallo  <tzagallo@apple.com>
3135
3136         tryCachePutToScopeGlobal should hold the lock to update metadata.m_getPutInfo
3137         https://bugs.webkit.org/show_bug.cgi?id=203628
3138         <rdar://problem/56705353>
3139
3140         Reviewed by Yusuke Suzuki.
3141
3142         * stress/property-move-from-global-object-to-global-lexical-environment.js: Added.
3143         (foo):
3144
3145 2019-10-29  Yusuke Suzuki  <ysuzuki@apple.com>
3146
3147         [JSC] Add fast path for String#localeCompare
3148         https://bugs.webkit.org/show_bug.cgi?id=202676
3149
3150         Reviewed by Mark Lam.
3151
3152         * stress/locale-compare-bits.js: Added.
3153         (shouldBe):
3154
3155 2019-10-28  Yusuke Suzuki  <ysuzuki@apple.com>
3156
3157         [JSC] Optimize Promise runtime functions
3158         https://bugs.webkit.org/show_bug.cgi?id=203454
3159
3160         Reviewed by Keith Miller.
3161
3162         * microbenchmarks/promise-reject.js: Added.
3163         * microbenchmarks/promise-resolve.js: Added.
3164
3165 2019-10-25  Ross Kirsling  <ross.kirsling@sony.com>
3166
3167         test262-runner should be able to pass JSC a feature flag
3168         https://bugs.webkit.org/show_bug.cgi?id=203301
3169
3170         Reviewed by Keith Miller.
3171
3172         * test262/config.yaml:
3173         Add feature flag mapping.
3174         Also skip a few forgotten features as well as BigInt TypedArray tests.
3175
3176         * test262/expectations.yaml:
3177         Regenerate expectations.
3178
3179 2019-10-23  Keith Miller  <keith_miller@apple.com>
3180
3181         Undo incidental change from BytecodeIndex class patch
3182         https://bugs.webkit.org/show_bug.cgi?id=203339
3183
3184         Reviewed by Mark Lam.
3185
3186         * stress/error-source-location-assertion.js: Added.
3187
3188 2019-10-23  Ross Kirsling  <ross.kirsling@sony.com>
3189
3190         String.prototype.matchAll should throw on non-global regex
3191         https://bugs.webkit.org/show_bug.cgi?id=202838
3192
3193         Reviewed by Keith Miller.
3194
3195         * stress/string-matchall.js: Added.
3196
3197         * test262/expectations.yaml:
3198         Mark four test cases as passing.
3199
3200 2019-10-23  Ross Kirsling  <ross.kirsling@sony.com>
3201
3202         Update test262 (2019.10.11)
3203         https://bugs.webkit.org/show_bug.cgi?id=202861
3204
3205         Reviewed by Keith Miller.
3206
3207         * test262/config.yaml:
3208         * test262/expectations.yaml:
3209         * test262/harness/:
3210         * test262/latest-changes-summary.txt:
3211         * test262/test/:
3212         * test262/test262-Revision.txt:
3213
3214 2019-10-22  Zhifei Fang  <zhifei_fang@apple.com>
3215
3216         [JSC tests] Skip slow tests on Watch S3 and Watch S4
3217         https://bugs.webkit.org/show_bug.cgi?id=203268
3218
3219         Reviewed by Saam Barati.
3220
3221         * microbenchmarks/ArrayBuffer-DataView-alloc-large-long-lived.js:
3222         * microbenchmarks/ArrayBuffer-DataView-alloc-long-lived.js:
3223         * microbenchmarks/ArrayBuffer-Int32Array-byteOffset.js:
3224         * microbenchmarks/ArrayBuffer-Int8Array-alloc-large-long-lived.js:
3225         * microbenchmarks/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js:
3226         * microbenchmarks/ArrayBuffer-Int8Array-alloc-long-lived.js:
3227         * microbenchmarks/ArrayBuffer-Int8Array-alloc.js:
3228         * microbenchmarks/DataView-custom-properties.js:
3229         * microbenchmarks/Float32Array-matrix-mult.js:
3230         * microbenchmarks/Float32Array-to-Float64Array-set.js:
3231         * microbenchmarks/Float64Array-alloc-long-lived.js:
3232         * microbenchmarks/Float64Array-to-Int16Array-set.js:
3233         * microbenchmarks/HashMap-put-get-iterate-keys.js:
3234         * microbenchmarks/HashMap-put-get-iterate.js:
3235         * microbenchmarks/HashMap-string-put-get-iterate.js:
3236         * microbenchmarks/Int16Array-alloc-long-lived.js:
3237         * microbenchmarks/Int16Array-bubble-sort-with-byteLength.js:
3238         * microbenchmarks/Int16Array-bubble-sort.js:
3239         * microbenchmarks/Int16Array-load-int-mul.js:
3240         * microbenchmarks/Int16Array-to-Int32Array-set.js:
3241         * microbenchmarks/Int32Array-Int8Array-view-alloc.js:
3242         * microbenchmarks/Int32Array-alloc-large.js:
3243         * microbenchmarks/Int32Array-alloc-long-lived.js:
3244         * microbenchmarks/Int32Array-alloc.js:
3245         * microbenchmarks/Int8Array-alloc-long-lived.js:
3246         * microbenchmarks/Int8Array-load-with-byteLength.js:
3247         * microbenchmarks/Int8Array-load.js:
3248         * microbenchmarks/JSONP-negative-0.js:
3249         * microbenchmarks/Number-isNaN.js:
3250         * microbenchmarks/abc-forward-loop-equal.js:
3251         * microbenchmarks/abc-postfix-backward-loop.js:
3252         * microbenchmarks/abc-simple-backward-loop.js:
3253         * microbenchmarks/abc-simple-forward-loop.js:
3254         * microbenchmarks/abc-skippy-loop.js:
3255         * microbenchmarks/abs-boolean.js:
3256         * microbenchmarks/adapt-to-double-divide.js:
3257         * microbenchmarks/add-tree.js:
3258         * microbenchmarks/aliased-arguments-getbyval.js:
3259         * microbenchmarks/allocate-big-object.js:
3260         * microbenchmarks/apply-not-apply.js:
3261         * microbenchmarks/arguments-named-and-reflective.js:
3262         * microbenchmarks/arguments-out-of-bounds.js:
3263         * microbenchmarks/arguments-strict-mode.js:
3264         * microbenchmarks/arguments.js:
3265         * microbenchmarks/arity-mismatch-inlining.js:
3266         * microbenchmarks/array-access-polymorphic-structure.js:
3267         * microbenchmarks/array-nonarray-polymorhpic-access.js:
3268         * microbenchmarks/array-prototype-every.js:
3269         * microbenchmarks/array-prototype-forEach.js:
3270         * microbenchmarks/array-prototype-join-uninitialized.js:
3271         * microbenchmarks/array-prototype-map.js:
3272         * microbenchmarks/array-prototype-reduce.js:
3273         * microbenchmarks/array-prototype-reduceRight.js:
3274         * microbenchmarks/array-prototype-some.js:
3275         * microbenchmarks/array-push-0.js:
3276         * microbenchmarks/array-push-1.js:
3277         * microbenchmarks/array-push-2.js:
3278         * microbenchmarks/array-splice-contiguous.js:
3279         * microbenchmarks/array-with-double-add.js:
3280         * microbenchmarks/array-with-double-increment.js:
3281         * microbenchmarks/array-with-double-mul-add.js:
3282         * microbenchmarks/array-with-double-sum.js:
3283         * microbenchmarks/array-with-int32-add-sub.js:
3284         * microbenchmarks/array-with-int32-or-double-sum.js:
3285         * microbenchmarks/arrowfunciton-direct-arguments.js:
3286         * microbenchmarks/arrowfunciton-reference-arguments.js:
3287         * microbenchmarks/arrowfunction-call-in-class-constructor.js:
3288         * microbenchmarks/arrowfunction-call-in-class-method.js:
3289         * microbenchmarks/arrowfunction-call-in-function.js:
3290         * microbenchmarks/arrowfunction-call.js:
3291         * microbenchmarks/asmjs_bool_bug.js:
3292         * microbenchmarks/assign-custom-setter-polymorphic.js:
3293         * microbenchmarks/assign-custom-setter.js:
3294         * microbenchmarks/basic-set.js:
3295         * microbenchmarks/big-int-mul.js:
3296         * microbenchmarks/bigswitch-indirect-symbol.js:
3297         * microbenchmarks/bigswitch-indirect.js:
3298         * microbenchmarks/bigswitch.js:
3299         * microbenchmarks/bit-or-tree.js:
3300         * microbenchmarks/bit-test-constant.js:
3301         * microbenchmarks/bit-test-load.js:
3302         * microbenchmarks/bit-test-nonconstant.js:
3303         * microbenchmarks/bit-xor-tree.js:
3304         * microbenchmarks/boolean-test.js:
3305         * microbenchmarks/bound-function-call.js:
3306         * microbenchmarks/bound-function-construction-performance.js:
3307         * microbenchmarks/branch-fold.js:
3308         * microbenchmarks/branch-on-string-as-boolean.js:
3309         * microbenchmarks/bug-153431.js:
3310         * microbenchmarks/build-large-object.js:
3311         * microbenchmarks/by-val-generic.js:
3312         * microbenchmarks/cache-get-variables-under-tdz-in-bytecode-generator.js:
3313         * microbenchmarks/call-or-not-call.js:
3314         * microbenchmarks/call-spread-apply.js:
3315         * microbenchmarks/call-spread-call.js:
3316         * microbenchmarks/call-using-spread.js:
3317         * microbenchmarks/captured-assignments.js:
3318         * microbenchmarks/cast-int-to-double.js:
3319         * microbenchmarks/cell-argument.js:
3320         * microbenchmarks/cfg-simplify.js:
3321         * microbenchmarks/chain-getter-access.js:
3322         * microbenchmarks/check-mul-constant.js:
3323         * microbenchmarks/check-mul-no-constant.js:
3324         * microbenchmarks/check-mul-power-of-two.js:
3325         * microbenchmarks/cmpeq-obj-to-obj-other.js:
3326         * microbenchmarks/concat-append-one.js:
3327         * microbenchmarks/constant-fold-check-type-info-flags.js:
3328         * microbenchmarks/constant-test.js:
3329         * microbenchmarks/construct-poly-proto-object.js:
3330         * microbenchmarks/contiguous-array-to-string.js:
3331         * microbenchmarks/create-lots-of-functions.js:
3332         * microbenchmarks/create-many-weak-map.js:
3333         * microbenchmarks/cse-new-array-buffer.js:
3334         * microbenchmarks/cse-new-array.js:
3335         * microbenchmarks/custom-accessor-materialized.js:
3336         * microbenchmarks/custom-accessor-thin-air.js:
3337         * microbenchmarks/custom-accessor.js:
3338         * microbenchmarks/custom-setter-getter-as-put-get-by-id.js:
3339         * microbenchmarks/custom-value-2.js:
3340         * microbenchmarks/custom-value.js:
3341         * microbenchmarks/data-view-accesses-2.js:
3342         * microbenchmarks/data-view-accesses.js:
3343         * microbenchmarks/dataview-cse.js:
3344         * microbenchmarks/delay-tear-off-arguments-strictmode.js:
3345         * microbenchmarks/delta-blue-try-catch.js:
3346         * microbenchmarks/deltablue-for-of.js:
3347         * microbenchmarks/deltablue-varargs.js:
3348         * microbenchmarks/destructuring-arguments.js:
3349         * microbenchmarks/destructuring-parameters-overridden-by-function.js:
3350         * microbenchmarks/destructuring-swap.js:
3351         * microbenchmarks/dfg-internal-function-call.js:
3352         * microbenchmarks/dfg-internal-function-construct.js:
3353         * microbenchmarks/dfg-internal-function-not-handled-call.js:
3354         * microbenchmarks/dfg-internal-function-not-handled-construct.js:
3355         * microbenchmarks/direct-arguments-getbyval.js:
3356         * microbenchmarks/direct-arguments-length.js:
3357         * microbenchmarks/direct-arguments-overridden-length.js:
3358         * microbenchmarks/direct-arguments-possibly-overridden-length.js:
3359         * microbenchmarks/direct-call-arity-mismatch.js:
3360         * microbenchmarks/direct-call.js:
3361         * microbenchmarks/direct-construct-arity-mismatch.js:
3362         * microbenchmarks/direct-construct.js:
3363         * microbenchmarks/direct-tail-call-arity-mismatch.js:
3364         * microbenchmarks/direct-tail-call-inlined-caller-arity-mismatch.js:
3365         * microbenchmarks/direct-tail-call-inlined-caller.js:
3366         * microbenchmarks/direct-tail-call.js:
3367         * microbenchmarks/div-boolean-double.js:
3368         * microbenchmarks/div-boolean.js:
3369         * microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js:
3370         * microbenchmarks/double-array-to-string.js:
3371         * microbenchmarks/double-get-by-val-out-of-bounds.js:
3372         * microbenchmarks/double-pollution-getbyval.js:
3373         * microbenchmarks/double-pollution-putbyoffset.js:
3374         * microbenchmarks/double-real-use.js:
3375         * microbenchmarks/double-to-int32-typed-array-no-inline.js:
3376         * microbenchmarks/double-to-int32-typed-array.js:
3377         * microbenchmarks/double-to-uint32-typed-array-no-inline.js:
3378         * microbenchmarks/double-to-uint32-typed-array.js:
3379         * microbenchmarks/elidable-new-object-dag.js:
3380         * microbenchmarks/elidable-new-object-roflcopter.js:
3381         * microbenchmarks/elidable-new-object-then-call.js:
3382         * microbenchmarks/elidable-new-object-tree.js:
3383         * microbenchmarks/empty-string-plus-int.js:
3384         * microbenchmarks/emscripten-cube2hash.js:
3385         * microbenchmarks/eval-cached.js:
3386         * microbenchmarks/eval-code-ftl-reentry.js:
3387         * microbenchmarks/eval-code-ftl.js:
3388         * microbenchmarks/eval-compute.js:
3389         * microbenchmarks/eval-not-eval-compute-args.js:
3390         * microbenchmarks/eval-not-eval-compute.js:
3391         * microbenchmarks/exit-length-on-plain-object.js:
3392         * microbenchmarks/external-arguments-getbyval.js:
3393         * microbenchmarks/external-arguments-putbyval.js:
3394         * microbenchmarks/fixed-typed-array-storage-var-index.js:
3395         * microbenchmarks/fixed-typed-array-storage.js:
3396         * microbenchmarks/fold-double-to-int.js:
3397         * microbenchmarks/fold-get-by-id-to-multi-get-by-offset-rare-int.js:
3398         * microbenchmarks/fold-get-by-id-to-multi-get-by-offset.js:
3399         * microbenchmarks/fold-multi-get-by-offset-to-get-by-offset.js:
3400         * microbenchmarks/fold-multi-get-by-offset-to-poly-get-by-offset.js:
3401         * microbenchmarks/fold-multi-put-by-offset-to-poly-put-by-offset.js:
3402         * microbenchmarks/fold-multi-put-by-offset-to-put-by-offset.js:
3403         * microbenchmarks/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.js:
3404         * microbenchmarks/fold-put-by-id-to-multi-put-by-offset.js:
3405         * microbenchmarks/fold-put-by-val-with-string-to-multi-put-by-offset.js:
3406         * microbenchmarks/fold-put-by-val-with-symbol-to-multi-put-by-offset.js:
3407         * microbenchmarks/fold-put-structure.js:
3408         * microbenchmarks/for-in-on-object-with-lazily-materialized-properties.js:
3409         * microbenchmarks/for-of-array.js:
3410         * microbenchmarks/for-of-iterate-array-entries.js:
3411         * microbenchmarks/for-of-iterate-array-keys.js:
3412         * microbenchmarks/for-of-iterate-array-values.js:
3413         * microbenchmarks/forward-arguments-dont-escape-on-arguments-length.js:
3414         * microbenchmarks/freeze-and-do-work.js:
3415         * microbenchmarks/fround.js:
3416         * microbenchmarks/ftl-library-inlining-dataview.js:
3417         * microbenchmarks/ftl-library-inlining.js:
3418         * microbenchmarks/ftl-polymorphic-StringFromCharCode.js:
3419         * microbenchmarks/function-call.js:
3420         * microbenchmarks/function-dot-apply.js:
3421         * microbenchmarks/function-test.js:
3422         * microbenchmarks/function-with-eval.js:
3423         * microbenchmarks/gcse-poly-get-less-obvious.js:
3424         * microbenchmarks/gcse-poly-get.js:
3425         * microbenchmarks/gcse.js:
3426         * microbenchmarks/generate-multiple-llint-entrypoints.js:
3427         * microbenchmarks/generator-create.js:
3428         * microbenchmarks/generator-fib.js:
3429         * microbenchmarks/generator-function-create.js:
3430         * microbenchmarks/generator-sunspider-access-nsieve.js:
3431         * microbenchmarks/generator-with-several-types.js:
3432         * microbenchmarks/get-by-id-bimorphic-check-structure-elimination-simple.js:
3433         * microbenchmarks/get-by-id-bimorphic-check-structure-elimination.js:
3434         * microbenchmarks/get-by-id-chain-from-try-block.js:
3435         * microbenchmarks/get-by-id-check-structure-elimination.js:
3436         * microbenchmarks/get-by-id-proto-or-self.js:
3437         * microbenchmarks/get-by-id-quadmorphic-check-structure-elimination-simple.js:
3438         * microbenchmarks/get-by-id-self-or-proto.js:
3439         * microbenchmarks/get-by-val-negative-array-index.js:
3440         * microbenchmarks/get-by-val-out-of-bounds.js:
3441         * microbenchmarks/get-by-val-with-string-bimorphic-check-structure-elimination-simple.js:
3442         * microbenchmarks/get-by-val-with-string-bimorphic-check-structure-elimination.js:
3443         * microbenchmarks/get-by-val-with-string-chain-from-try-block.js:
3444         * microbenchmarks/get-by-val-with-string-check-structure-elimination.js:
3445         * microbenchmarks/get-by-val-with-string-proto-or-self.js:
3446         * microbenchmarks/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.js:
3447         * microbenchmarks/get-by-val-with-string-self-or-proto.js:
3448         * microbenchmarks/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.js:
3449         * microbenchmarks/get-by-val-with-symbol-bimorphic-check-structure-elimination.js:
3450         * microbenchmarks/get-by-val-with-symbol-chain-from-try-block.js:
3451         * microbenchmarks/get-by-val-with-symbol-check-structure-elimination.js:
3452         * microbenchmarks/get-by-val-with-symbol-proto-or-self.js:
3453         * microbenchmarks/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.js:
3454         * microbenchmarks/get-by-val-with-symbol-self-or-proto.js:
3455         * microbenchmarks/get-custom-getter.js:
3456         * microbenchmarks/get_by_val-Int32Array.js:
3457         * microbenchmarks/get_callee_monomorphic.js:
3458         * microbenchmarks/get_callee_polymorphic.js:
3459         * microbenchmarks/getter-no-activation.js:
3460         * microbenchmarks/getter-prototype.js:
3461         * microbenchmarks/getter-richards-try-catch.js:
3462         * microbenchmarks/getter-richards.js:
3463         * microbenchmarks/getter.js:
3464         * microbenchmarks/global-code-ftl.js:
3465         * microbenchmarks/global-isNaN.js:
3466         * microbenchmarks/global-object-access-with-mutating-structure.js:
3467         * microbenchmarks/global-var-const-infer-fire-from-opt.js:
3468         * microbenchmarks/global-var-const-infer.js:
3469         * microbenchmarks/hard-overflow-check-equal.js:
3470         * microbenchmarks/hard-overflow-check.js:
3471         * microbenchmarks/has-own-property-name-cache.js:
3472         * microbenchmarks/hoist-get-by-offset-tower-with-inferred-types.js:
3473         * microbenchmarks/hoist-make-rope.js:
3474         * microbenchmarks/hoist-poly-check-structure-effectful-loop.js:
3475         * microbenchmarks/hoist-poly-check-structure.js:
3476         * microbenchmarks/implicit-bigswitch-indirect-symbol.js:
3477         * microbenchmarks/imul-double-only.js:
3478         * microbenchmarks/imul-int-only.js:
3479         * microbenchmarks/imul-mixed.js:
3480         * microbenchmarks/in-by-id-match.js:
3481         * microbenchmarks/in-by-id-removed.js:
3482         * microbenchmarks/in-four-cases.js:
3483         * microbenchmarks/in-one-case-false.js:
3484         * microbenchmarks/in-one-case-true.js:
3485         * microbenchmarks/in-two-cases.js:
3486         * microbenchmarks/indexed-properties-in-objects.js:
3487         * microbenchmarks/infer-closure-const-then-mov-no-inline.js:
3488         * microbenchmarks/infer-closure-const-then-mov.js:
3489         * microbenchmarks/infer-closure-const-then-put-to-scope-no-inline.js:
3490         * microbenchmarks/infer-closure-const-then-put-to-scope.js:
3491         * microbenchmarks/infer-closure-const-then-reenter-no-inline.js:
3492         * microbenchmarks/infer-closure-const-then-reenter.js:
3493         * microbenchmarks/infer-constant-global-property.js:
3494         * microbenchmarks/infer-constant-property.js:
3495         * microbenchmarks/infer-one-time-closure-ten-vars.js:
3496         * microbenchmarks/infer-one-time-closure-two-vars.js:
3497         * microbenchmarks/infer-one-time-closure.js:
3498         * microbenchmarks/infer-one-time-deep-closure.js:
3499         * microbenchmarks/inline-arguments-access.js:
3500         * microbenchmarks/inline-arguments-aliased-access.js:
3501         * microbenchmarks/inline-arguments-local-escape.js:
3502         * microbenchmarks/inline-get-scoped-var.js:
3503         * microbenchmarks/inlined-put-by-id-transition.js:
3504         * microbenchmarks/inlined-put-by-val-with-string-transition.js:
3505         * microbenchmarks/inlined-put-by-val-with-symbol-transition.js:
3506         * microbenchmarks/instanceof-always-hit-one.js:
3507         * microbenchmarks/instanceof-always-hit-two.js:
3508         * microbenchmarks/instanceof-bound.js:
3509         * microbenchmarks/instanceof-dynamic.js:
3510         * microbenchmarks/instanceof-sometimes-hit.js:
3511         * microbenchmarks/instanceof-tricky-dynamic.js:
3512         * microbenchmarks/int-or-other-abs-then-get-by-val.js:
3513         * microbenchmarks/int-or-other-abs-zero-then-get-by-val.js:
3514         * microbenchmarks/int-or-other-add-then-get-by-val.js:
3515         * microbenchmarks/int-or-other-add.js:
3516         * microbenchmarks/int-or-other-div-then-get-by-val.js:
3517         * microbenchmarks/int-or-other-max-then-get-by-val.js:
3518         * microbenchmarks/int-or-other-min-then-get-by-val.js:
3519         * microbenchmarks/int-or-other-mod-then-get-by-val.js:
3520         * microbenchmarks/int-or-other-mul-then-get-by-val.js:
3521         * microbenchmarks/int-or-other-neg-then-get-by-val.js:
3522         * microbenchmarks/int-or-other-neg-zero-then-get-by-val.js:
3523         * microbenchmarks/int-or-other-sub-then-get-by-val.js:
3524         * microbenchmarks/int-or-other-sub.js:
3525         * microbenchmarks/int-overflow-local.js:
3526         * microbenchmarks/int32-array-to-string.js:
3527         * microbenchmarks/int52-back-and-forth.js:
3528         * microbenchmarks/int52-rand-function.js:
3529         * microbenchmarks/int52-spill.js:
3530         * microbenchmarks/int8-out-of-bounds.js:
3531         * microbenchmarks/integer-divide.js:
3532         * microbenchmarks/integer-modulo.js:
3533         * microbenchmarks/is-array-for-array.js:
3534         * microbenchmarks/is-array-for-mixed-case.js:
3535         * microbenchmarks/is-array-for-non-array-object.js:
3536         * microbenchmarks/is-array-for-proxy.js:
3537         * microbenchmarks/is-boolean-fold-tricky.js:
3538         * microbenchmarks/is-boolean-fold.js:
3539         * microbenchmarks/is-function-fold-tricky-internal-function.js:
3540         * microbenchmarks/is-function-fold-tricky.js:
3541         * microbenchmarks/is-function-fold.js:
3542         * microbenchmarks/is-not-cell-speculation-for-empty-value.js:
3543         * microbenchmarks/is-number-fold-tricky.js:
3544         * microbenchmarks/is-number-fold.js:
3545         * microbenchmarks/is-object-or-null-fold-functions.js:
3546         * microbenchmarks/is-object-or-null-fold-less-tricky.js:
3547         * microbenchmarks/is-object-or-null-fold-tricky.js:
3548         * microbenchmarks/is-object-or-null-fold.js:
3549         * microbenchmarks/is-object-or-null-trickier-function.js:
3550         * microbenchmarks/is-object-or-null-trickier-internal-function.js:
3551         * microbenchmarks/is-object-or-null-tricky-function.js:
3552         * microbenchmarks/is-object-or-null-tricky-internal-function.js:
3553         * microbenchmarks/is-string-fold-tricky.js:
3554         * microbenchmarks/is-string-fold.js:
3555         * microbenchmarks/is-symbol-mixed.js:
3556         * microbenchmarks/is-symbol.js:
3557         * microbenchmarks/is-undefined-fold-tricky.js:
3558         * microbenchmarks/is-undefined-fold.js:
3559         * microbenchmarks/json-parse-array-reviver-same-value.js:
3560         * microbenchmarks/json-parse-array-reviver.js:
3561         * microbenchmarks/json-parse-object-reviver-same-value.js:
3562         * microbenchmarks/json-parse-object-reviver.js:
3563         * microbenchmarks/large-empty-array-join-resolve-rope.js:
3564         * microbenchmarks/large-empty-array-join.js:
3565         * microbenchmarks/large-int-captured.js:
3566         * microbenchmarks/large-int-neg.js:
3567         * microbenchmarks/large-int.js:
3568         * microbenchmarks/large-map-iteration.js:
3569         * microbenchmarks/lazy-array-species-watchpoints.js:
3570         * microbenchmarks/let-for-in.js:
3571         * microbenchmarks/licm-dragons-out-of-bounds.js:
3572         * microbenchmarks/licm-dragons-overflow.js:
3573         * microbenchmarks/licm-dragons-two-structures.js:
3574         * microbenchmarks/licm-dragons.js:
3575         * microbenchmarks/load-varargs-elimination.js:
3576         * microbenchmarks/locale-compare.js:
3577         * microbenchmarks/logical-not-weird-types.js:
3578         * microbenchmarks/logical-not.js:
3579         * microbenchmarks/loop-osr-with-arity-mismatch.js:
3580         * microbenchmarks/lots-of-fields.js:
3581         * microbenchmarks/make-indexed-storage.js:
3582         * microbenchmarks/make-rope-cse.js:
3583         * microbenchmarks/make-rope.js:
3584         * microbenchmarks/many-foreach-calls.js:
3585         * microbenchmarks/many-repeat-stores.js:
3586         * microbenchmarks/map-for-each.js:
3587         * microbenchmarks/map-for-of.js:
3588         * microbenchmarks/map-has-and-set.js:
3589         * microbenchmarks/map-has-get-cse-opportunity.js:
3590         * microbenchmarks/map-key-well-typed.js:
3591         * microbenchmarks/map-rehash.js:
3592         * microbenchmarks/marsaglia-larger-ints.js:
3593         * microbenchmarks/marsaglia-osr-entry.js:
3594         * microbenchmarks/math-random.js:
3595         * microbenchmarks/math-trunc.js:
3596         * microbenchmarks/math-with-out-of-bounds-array-values.js:
3597         * microbenchmarks/max-boolean.js:
3598         * microbenchmarks/megamorphic-load.js:
3599         * microbenchmarks/memcpy-loop.js:
3600         * microbenchmarks/memcpy-typed-loop-large.js:
3601         * microbenchmarks/memcpy-typed-loop-small.js:
3602         * microbenchmarks/memcpy-typed-loop-speculative.js:
3603         * microbenchmarks/memcpy-typed-loop.js:
3604         * microbenchmarks/memcpy-wasm-large.js:
3605         * microbenchmarks/memcpy-wasm-medium.js:
3606         * microbenchmarks/memcpy-wasm-small.js:
3607         * microbenchmarks/memcpy-wasm.js:
3608         * microbenchmarks/method-on-number.js:
3609         * microbenchmarks/min-boolean.js:
3610         * microbenchmarks/minus-boolean-double.js:
3611         * microbenchmarks/minus-boolean.js:
3612         * microbenchmarks/misc-strict-eq.js:
3613         * microbenchmarks/mod-boolean-double.js:
3614         * microbenchmarks/mod-boolean.js:
3615         * microbenchmarks/mod-untyped.js:
3616         * microbenchmarks/mul-boolean-double.js:
3617         * microbenchmarks/mul-boolean.js:
3618         * microbenchmarks/mul-immediate-sub.js:
3619         * microbenchmarks/neg-boolean.js: