CSS font-variation-settings does not handle uppercase axis names in variable fonts
[WebKit-https.git] / JSTests / ChangeLog
1 2016-10-19  JF Bastien  <jfbastien@apple.com>
2
3         JavaScript WebAssembly API: baby steps
4
5          - Expand WebAssembly constructors into their own files. This requires a lot of
6            boilerplate, as well as adding the .lut.h files. All of the
7            JSWebAssembly*.{h,cpp}, as well as Constructor and Prototype files, are
8            currently the same between the 4 specified WebAssembly constructors. It'll be
9            easy to implement individual functions on constructed objects as per the
10            spec, and have each of these files diverge. The error constructors are also
11            similar, except that their instance derives from ErrorInstance.
12          - Use constructor macro when initializing the global object.
13          - Dramatically improve testing of the WebAssembly API by checking for
14            properties specified in the spec [*].
15          - Clean up assert.js' exception testing.
16          - Fix a copy-paste bug in wasm.json: floating-point const return values were
17            swapped.
18
19         [*] https://github.com/WebAssembly/design/blob/master/JS.md
20
21         Implement more of the JavaScript WebAssembly API
22         https://bugs.webkit.org/show_bug.cgi?id=163571
23
24         Reviewed by Keith Miller.
25
26         * wasm/assert.js:
27         (export.const.isUndef): add this useful helper
28         (export.const.throws): fold other throw checks into this one, and check message as well
29         * wasm/js-api/test_basic_api.js:
30         (const.checkOwnPropertyDescriptor): check own property descriptor follows the spec
31         * wasm/self-test/test_BuilderJSON.js:
32         (const.assertOpThrows): use new assert API
33         (CheckedOpcodeArgumentsTooMany): ditto
34         (CheckedOpcodeArgumentsNotEnough): ditto
35         (CallInvalid): ditto
36         (I32ConstInvalid): ditto
37         (F32ConstInvalid): ditto (and this caugth the JSON copy-paste bug)
38         (F64ConstInvalid): ditto
39         * wasm/self-test/test_LowLevelBinary_varint.js: use new assert API
40         * wasm/self-test/test_LowLevelBinary_varuint.js: use new assert API
41         * wasm/utilities.js: add "global" object, used in basic API test (to access global.WebAssembly).
42         * wasm/wasm.json: fix copy-paste
43
44 2016-10-19  Caitlin Potter  <caitp@igalia.com>
45
46         [JSC] forbid "use strict" directive in generator functions with non-simple parameters
47         https://bugs.webkit.org/show_bug.cgi?id=163683
48
49         Reviewed by Geoffrey Garen.
50
51         Update various generator*-non-simple-param.js tests to be passing.
52
53         * test262.yaml:
54
55 2016-10-18  Mark Lam  <mark.lam@apple.com>
56
57         Invoking Object.prototype.__proto__ accessors directly should throw a TypeError.
58         https://bugs.webkit.org/show_bug.cgi?id=154377
59         <rdar://problem/27330808>
60
61         Reviewed by Filip Pizlo and Saam Barati.
62
63         * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js: Added.
64
65 2016-10-18  Keith Miller  <keith_miller@apple.com>
66
67         GetByVal to GetById conversion in the DFG is incorrect for getters with control flow
68         https://bugs.webkit.org/show_bug.cgi?id=163629
69
70         Reviewed by Yusuke Suzuki.
71
72         * stress/get-by-val-to-id-with-getter.js: Added.
73         (foo):
74         (o.get hello):
75
76 2016-10-15  Filip Pizlo  <fpizlo@apple.com>
77
78         DFG and FTL should be able to use DirectCall ICs when they proved the callee or its executable
79         https://bugs.webkit.org/show_bug.cgi?id=163371
80
81         Reviewed by Geoffrey Garen and Saam Barati.
82         
83         Add microbenchmarks for all of the cases that this patch optimizes.
84
85         * microbenchmarks/direct-call-arity-mismatch.js: Added.
86         (foo):
87         (bar):
88         * microbenchmarks/direct-call.js: Added.
89         (foo):
90         (bar):
91         * microbenchmarks/direct-construct-arity-mismatch.js: Added.
92         (Foo):
93         (bar):
94         * microbenchmarks/direct-construct.js: Added.
95         (Foo):
96         (bar):
97         * microbenchmarks/direct-tail-call-arity-mismatch.js: Added.
98         (foo):
99         (bar):
100         * microbenchmarks/direct-tail-call-inlined-caller-arity-mismatch.js: Added.
101         (foo):
102         (bar):
103         (baz):
104         * microbenchmarks/direct-tail-call-inlined-caller.js: Added.
105         (foo):
106         (bar):
107         (baz):
108         * microbenchmarks/direct-tail-call.js: Added.
109         (foo):
110         (bar):
111
112 2016-10-18  Caitlin Potter  <caitp@igalia.com>
113
114         [JSC] ES6 Method functions should not have prototype
115         https://bugs.webkit.org/show_bug.cgi?id=162530
116
117         Reviewed by Saam Barati.
118
119         Fix test262 expectations about MethodDefinitions
120
121         * ChakraCore/test/strict/05.arguments_sm.baseline-jsc:
122         * stress/reflect-set.js:
123         * test262.yaml:
124
125 2016-10-17  Keith Miller  <keith_miller@apple.com>
126
127         Add support for WASM Memory.
128         https://bugs.webkit.org/show_bug.cgi?id=161710
129
130         Reviewed by Geoffrey Garen.
131
132         Add store and load opcodes to wasm.json. Additionally, add new
133         enums for those opcodes in the generator.
134
135         * stress/wasm/generate-wasmops-header.js:
136         (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.LoadOpType):
137         (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.StoreOpType):
138
139 2016-10-17  Saam Barati  <sbarati@apple.com>
140
141         Add more tests for the double->String conversion in ValueAdd constant folding
142         https://bugs.webkit.org/show_bug.cgi?id=163517
143
144         Reviewed by Yusuke Suzuki.
145
146         * microbenchmarks/string-add-constant-folding.js:
147         (test):
148
149 2016-10-17  JF Bastien  <jfbastien@apple.com>
150
151         WebAssembly JS API: implement basic stub
152
153         Implement the global WebAssembly JavaScript object, and its constructor +
154         function properties as described in:
155           https://github.com/WebAssembly/design/blob/master/JS.md
156
157         These don't do anything at the moment, the parent bug will take care of adding
158         more functionality and associated tests.
159
160         WebAssembly JS API: implement basic stub
161         https://bugs.webkit.org/show_bug.cgi?id=163404
162
163         Reviewed by Keith Miller.
164
165         * wasm.yaml:
166         * wasm/js-api/test_basic_api.js: Added.
167         (const.f.of.functionProperties.WebAssembly.f.undefined.throw.new.Error.Couldn.const.c.of.constructorProperties.WebAssembly.c.undefined.throw.new.Error.Couldn):
168         (const.c.of.constructorProperties.catch):
169
170 2016-10-17  Yusuke Suzuki  <utatane.tea@gmail.com>
171
172         [DOMJIT] Use DOMJIT::Patchpoint in IC
173         https://bugs.webkit.org/show_bug.cgi?id=163223
174
175         Reviewed by Saam Barati.
176
177         * stress/domjit-exception-ic.js: Added.
178         (shouldBe):
179         (access):
180         * stress/domjit-exception.js: Added.
181         (shouldBe):
182         (access):
183         * stress/domjit-getter-complex-with-incorrect-object.js: Added.
184         (shouldThrow):
185         (access):
186         (i.shouldThrow):
187         * stress/domjit-getter-complex.js: Added.
188         (shouldBe):
189         (access):
190         * stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js: Added.
191         (assert):
192         (bar):
193         (foo):
194
195 2016-10-15  Saam Barati  <sbarati@apple.com>
196
197         Assertion failed under operationToLowerCase with a rope with zero length
198         https://bugs.webkit.org/show_bug.cgi?id=163314
199
200         Reviewed by Mark Lam.
201
202         * stress/to-lower-case-intrinsic-on-empty-rope.js: Added.
203         (assert):
204         (returnRope.helper):
205         (returnRope):
206         (lower):
207
208 2016-10-14  Benjamin Poulain  <bpoulain@apple.com>
209
210         [JSC] op_negate should with any type
211         https://bugs.webkit.org/show_bug.cgi?id=162587
212
213         Reviewed by Saam Barati.
214
215         * stress/arith-abs-to-arith-negate-range-optimizaton.js: Added.
216         Cover OSR Exits when converting Math.abs() into ArithNegate.
217
218         * stress/arith-negate-on-various-types.js: Added.
219         Cover ArithNegate with all types.
220
221 2016-10-14  JF Bastien  <jfbastien@apple.com>
222
223         Basic WebAssembly testing
224
225         Create a small DSL in JavaScript which can build WebAssembly binary modules based on the JSON description of the format as described in:
226         https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md
227
228         This DSL can then be used to write small text description of valid and invalid WebAssembly binaries, making testing the JSC implementation much easier.
229
230         Details and example in README.md.
231
232         Basic WebAssembly testing
233         https://bugs.webkit.org/show_bug.cgi?id=163267
234
235         Reviewed by Keith Miller.
236
237         * stress/wasm/wasm.json: Removed.
238         * wasm.yaml: Added.
239         * wasm/Builder.js: Added.
240         (const._isValidValue):
241         (const._BuildWebAssemblyBinary):
242         (export.default.Builder):
243         (export.default.Builder.prototype.setChecked):
244         (export.default.Builder.prototype.setPreamble):
245         (export.default.Builder.prototype._registerSectionBuilders.switch.case.string_appeared_here.this.section):
246         (export.default.Builder.prototype._registerSectionBuilders.this.Unknown):
247         (export.default.Builder.prototype._registerSectionBuilders):
248         (export.default.Builder.prototype._addSection):
249         (export.default.Builder.prototype.optimize):
250         (export.default.Builder.prototype.json):
251         (export.default.Builder.prototype.AsmJS):
252         (export.default.Builder.prototype.WebAssembly):
253         * wasm/LowLevelBinary.js: Added.
254         (const._getterRangeCheck):
255         (const._hexdump):
256         (export.default.LowLevelBinary):
257         (export.default.LowLevelBinary.prototype.newPatchable):
258         (export.default.LowLevelBinary.prototype.hexdump):
259         (export.default.LowLevelBinary.prototype._maybeGrow):
260         (export.default.LowLevelBinary.prototype._push8):
261         (export.default.LowLevelBinary.prototype.uint8):
262         (export.default.LowLevelBinary.prototype.uint16):
263         (export.default.LowLevelBinary.prototype.uint32):
264         (export.default.LowLevelBinary.prototype.varuint):
265         (export.default.LowLevelBinary.prototype.varint):
266         (export.default.LowLevelBinary.prototype.varuint7):
267         (export.default.LowLevelBinary.prototype.string):
268         (export.default.LowLevelBinary.prototype.getSize):
269         (export.default.LowLevelBinary.prototype.getUint8):
270         (export.default.LowLevelBinary.prototype.getUint16):
271         (export.default.LowLevelBinary.prototype.getUint32):
272         (export.default.LowLevelBinary.prototype.getVaruint):
273         (export.default.LowLevelBinary.prototype.getVarint):
274         (export.default.LowLevelBinary.prototype.getVaruint7):
275         (export.default.LowLevelBinary.prototype.getString):
276         (PatchableLowLevelBinary):
277         (PatchableLowLevelBinary.prototype._push8):
278         (PatchableLowLevelBinary.prototype.apply):
279         * wasm/README.md: Added.
280         * wasm/WASM.js: Added.
281         * wasm/assert.js: Added.
282         (export.const.notUndef):
283         (export.const.eq):
284         (export.const.ge):
285         (export.const.throwsError):
286         (export.const.throwsRangeError):
287         * wasm/generate-wasmops-header.js: Renamed from JSTests/stress/wasm/generate-wasmops-header.js.
288         * wasm/self-test/test_BuilderJSON.js: Added.
289         (const.assertOpThrows):
290         (EmptyModule):
291         (CustomMagicNumber):
292         (CustomVersion):
293         (CustomSection):
294         (CustomSectionAllBytes):
295         (CustomSectionInvalidByte):
296         (TwoCustomSections):
297         (EmptyCodeSection):
298         (CodeSectionWithEmptyFunction):
299         (CodeSectionWithEmptyFunctionWithParameters):
300         (InvalidFunctionParameters):
301         (SimpleFunction):
302         (TwoSimpleFunctions):
303         (TwoBuildersAtTheSameTime):
304         (CheckedOpcodeArgumentsTooMany):
305         (CheckedOpcodeArgumentsNotEnough):
306         (CallNoArguments):
307         (CallInvalid):
308         (I32ConstInvalid):
309         (F32ConstInvalid):
310         (F64ConstInvalid):
311         (CallManyFromStack):
312         (OpcodeAdd):
313         (OpcodeUnreachable):
314         (OpcodeUnreachableCombinations):
315         (OpcodeSelect):
316         * wasm/self-test/test_BuilderWebAssembly.js: Added.
317         (EmptyModule):
318         (CustomSection):
319         (Basic):
320         * wasm/self-test/test_LowLevelBinary_encode.js: Added.
321         * wasm/self-test/test_LowLevelBinary_string.js: Added.
322         * wasm/self-test/test_LowLevelBinary_uint16.js: Added.
323         * wasm/self-test/test_LowLevelBinary_uint32.js: Added.
324         * wasm/self-test/test_LowLevelBinary_uint8.js: Added.
325         * wasm/self-test/test_LowLevelBinary_varint.js: Added.
326         * wasm/self-test/test_LowLevelBinary_varuint.js: Added.
327         * wasm/self-test/test_LowLevelBinary_varuint7.js: Added.
328         * wasm/self-test/test_WASM.js: Added.
329         * wasm/test.sh: Added.
330         * wasm/utilities.js: Added.
331         (const._read.filename.switch):
332         (const._load.filename.switch):
333         (const._json.filename.switch):
334         * wasm/wasm.json: Added.
335
336 2016-10-14  Joseph Pecoraro  <pecoraro@apple.com>
337
338         test262: @isConstructor incorrectly thinks Math.cos is a constructor
339         https://bugs.webkit.org/show_bug.cgi?id=163437
340
341         Reviewed by Saam Barati.
342
343         * stress/is-constructor.js: Added.
344         (assert):
345         (prototype.assert):
346         New test to cover the @isConstructor builtin.
347
348         * test262.yaml:
349         Test now passes.
350
351 2016-10-14  Ryan Haddad  <ryanhaddad@apple.com>
352
353         Unreviewed, rolling out r207322.
354
355         This change caused JSC test failures
356
357         Reverted changeset:
358
359         "Fix Array.prototype.splice ES6 compliance."
360         https://bugs.webkit.org/show_bug.cgi?id=163372
361         http://trac.webkit.org/changeset/207322
362
363 2016-10-14  Mark Lam  <mark.lam@apple.com>
364
365         JSON.parse should not modify frozen objects.
366         https://bugs.webkit.org/show_bug.cgi?id=163430
367
368         Reviewed by Saam Barati.
369
370         * stress/json-parse-on-frozen-object.js: Added.
371
372 2016-10-14  Joseph Pecoraro  <pecoraro@apple.com>
373
374         test262: Failure with RegExp.prototype.compile when pattern is undefined
375         https://bugs.webkit.org/show_bug.cgi?id=163431
376
377         Reviewed by Yusuke Suzuki.
378
379         * test262.yaml:
380
381 2016-10-13  Joseph Pecoraro  <pecoraro@apple.com>
382
383         Exception message for expressions with multiple bracket accesses is inconsistent / incorrect
384         https://bugs.webkit.org/show_bug.cgi?id=163426
385
386         Reviewed by Geoffrey Garen.
387
388         * ChakraCore/test/Error/CallNonFunction_3.baseline-jsc:
389         * ChakraCore/test/Object/null.baseline-jsc:
390         * stress/exception-in-to-property-key-should-be-handled-early.js:
391         Better exception messages.
392
393 2016-10-13  Mark Lam  <mark.lam@apple.com>
394
395         Fix Array.prototype.splice ES6 compliance.
396         https://bugs.webkit.org/show_bug.cgi?id=163372
397
398         Reviewed by Geoffrey Garen and Yusuke Suzuki.
399
400         * stress/array-splice-on-frozen-object.js: Added.
401
402 2016-10-12  Keith Miller  <keith_miller@apple.com>
403
404         Handle non-function, non-undefined comparator in Array.prototype.sort
405         https://bugs.webkit.org/show_bug.cgi?id=163085
406
407         Reviewed by Yusuke Suzuki.
408
409         * ChakraCore/test/Array/array_sort.baseline-jsc:
410         * stress/array-sort-bad-comparator.js: Added.
411         (test):
412
413 2016-10-12  Mark Lam  <mark.lam@apple.com>
414
415         Array.prototype.slice should not modify frozen objects.
416         https://bugs.webkit.org/show_bug.cgi?id=163338
417
418         Reviewed by Filip Pizlo.
419
420         * stress/array-slice-on-frozen-object.js: Added.
421
422 2016-10-11  Mark Lam  <mark.lam@apple.com>
423
424         Array.prototype.concat should not modify frozen objects.
425         https://bugs.webkit.org/show_bug.cgi?id=163302
426
427         Reviewed by Filip Pizlo.
428
429         * stress/array-concat-on-frozen-object.js: Added.
430
431 2016-10-11  Saam Barati  <sbarati@apple.com>
432
433         ValueAdd should be constant folded if the operands are constant String,Primitive or Primitive,String
434         https://bugs.webkit.org/show_bug.cgi?id=163182
435
436         Reviewed by Filip Pizlo.
437
438         * microbenchmarks/string-add-constant-folding.js: Added.
439         (assert):
440         (runTests):
441         (add):
442         (test):
443
444 2016-10-07  Mark Lam  <mark.lam@apple.com>
445
446         Object.freeze() and seal() should throw if [[PreventExtensions]]() fails.
447         https://bugs.webkit.org/show_bug.cgi?id=163160
448
449         Reviewed by Saam Barati.
450
451         * stress/object-freeze-with-proxy-preventExtensions.js: Added.
452         * stress/object-seal-with-proxy-preventExtensions.js: Added.
453
454 2016-10-05  Yusuke Suzuki  <utatane.tea@gmail.com>
455
456         [DOMJIT] Add initial CheckDOM and CallDOM implementations
457         https://bugs.webkit.org/show_bug.cgi?id=162941
458
459         Reviewed by Filip Pizlo.
460
461         * stress/domjit-getter-poly.js: Added.
462         (shouldBe):
463         (access):
464         * stress/domjit-getter-proto.js: Added.
465         (shouldBe):
466         (access):
467         * stress/domjit-getter-super-poly.js: Added.
468         (shouldBe):
469         (access):
470         * stress/domjit-getter.js: Added.
471         (shouldBe):
472         (access):
473
474 2016-10-04  Saam Barati  <sbarati@apple.com>
475
476         String.prototype.toLowerCase should be a DFG/FTL intrinsic
477         https://bugs.webkit.org/show_bug.cgi?id=162887
478
479         Reviewed by Filip Pizlo and Yusuke Suzuki.
480
481         * microbenchmarks/to-lower-case.js: Added.
482         (assert):
483         (foo):
484         (bar):
485         * stress/to-lower-case.js: Added.
486         (assert):
487         (foo):
488
489 2016-10-04  JF Bastien  <jfbastien@apple.com>
490
491         WebAssembly: handle a few corner cases
492         https://bugs.webkit.org/show_bug.cgi?id=162884
493
494         Reviewed by Keith Miller.
495
496         * stress/wasm/generate-wasmops-header.js:
497         (const.opcodeIterator): max opcode value
498
499 2016-10-03  JF Bastien  <jfbastien@apple.com>
500
501         Auto-generate WASMOps.h, share with testing JSON file
502         https://bugs.webkit.org/show_bug.cgi?id=162870
503
504         Reviewed by Keith Miller.
505
506         * stress/wasm/to-c++.js: Added. Generates WASMOps.h, siilar to the current one but with more data.
507         (const.opcode_iterator):
508         (opcode_macroizer):
509         * stress/wasm/wasm.json: Added. Data from 0xC binary format version.
510
511 2016-10-03  Saam Barati  <sbarati@apple.com>
512
513         MapHash should speculate on the type of its child node
514         https://bugs.webkit.org/show_bug.cgi?id=161922
515
516         Reviewed by Filip Pizlo.
517
518         * microbenchmarks/map-key-well-typed.js: Added.
519         (assert):
520         (intKey):
521         (doubleKey):
522         (objectKey):
523         (stringKey):
524         (booleanKey):
525         (symbolKey):
526         (cellKey):
527         (assert.doubleKey):
528         (assert.booleanKey):
529
530 2016-10-03  Yusuke Suzuki  <utatane.tea@gmail.com>
531
532         [ES6] GeneratorFunction (a.k.a. GeneratorWrapperFunction)'s prototype object does not have constructor property
533         https://bugs.webkit.org/show_bug.cgi?id=162849
534
535         Reviewed by Geoffrey Garen.
536
537         * test262.yaml:
538
539 2016-10-01  Yusuke Suzuki  <utatane.tea@gmail.com>
540
541         [ES6] Align attributes of Generator related properties to spec
542         https://bugs.webkit.org/show_bug.cgi?id=162839
543
544         Reviewed by Saam Barati.
545
546         * test262.yaml:
547
548 2016-10-01  Yusuke Suzuki  <utatane.tea@gmail.com>
549
550         [ES6] GeneratorFunction constructor should instantiate generator function
551         https://bugs.webkit.org/show_bug.cgi?id=162838
552
553         Reviewed by Saam Barati.
554
555         * stress/generator-function-constructor-is-subclassible.js: Added.
556         (shouldBe):
557         (GeneratorFunction):
558         (prototype.hello):
559         * stress/generator-function-constructor.js:
560         * test262.yaml:
561
562 2016-09-30  Saam Barati  <sbarati@apple.com>
563
564         Arrow functions should not allow duplicate parameter names
565         https://bugs.webkit.org/show_bug.cgi?id=162741
566
567         Reviewed by Filip Pizlo.
568
569         * test262.yaml:
570
571 2016-09-30  Saam Barati  <sbarati@apple.com>
572
573         Make some microbenchmarks run for less time.
574
575         Rubber stamped by Filip Pizlo.
576
577         * microbenchmarks/bound-function-construction-performance.js:
578         (foo):
579         * microbenchmarks/getter-richards-try-catch.js:
580
581 2016-09-29  Joseph Pecoraro  <pecoraro@apple.com>
582
583         Arrow functions do not infer name from computed property but normal functions do
584         https://bugs.webkit.org/show_bug.cgi?id=162720
585
586         Reviewed by Saam Barati.
587
588         * stress/inferred-names.js:
589
590 2016-09-29  Mark Lam  <mark.lam@apple.com>
591
592         Break some slow running tests into smaller bits so they don't time out.
593         https://bugs.webkit.org/show_bug.cgi?id=162743
594
595         Reviewed by Keith Miller.
596
597         The following tests have shown to be slow running:
598             op_div.js
599             op_lshift.js
600             op_mod.js
601             op_mul.js
602             op_rshift.js
603             op_sub.js
604             op_urshift
605
606         These tests auto-generate permutations of values to apply to binary operations.
607         They also test the operations with 3 permutations of value types:
608             1. VarVar - both operands variables
609             2. VarConst - variable operand 1, constant / literal operand 2
610             3. ConstVar - constant / literal operand 1, variable operand 2
611
612         We can prevent these tests from timing out by breaking each up to only run 1 of
613         the 3 permutations of value types.
614
615         * stress/op_div-ConstVar.js: Added.
616         * stress/op_div-VarConst.js: Added.
617         * stress/op_div-VarVar.js: Copied from JSTests/stress/op_div.js.
618         (o1.valueOf): Deleted.
619         * stress/op_div.js: Removed.
620         * stress/op_lshift-ConstVar.js: Added.
621         * stress/op_lshift-VarConst.js: Added.
622         * stress/op_lshift-VarVar.js: Copied from JSTests/stress/op_lshift.js.
623         (o1.valueOf): Deleted.
624         * stress/op_lshift.js: Removed.
625         * stress/op_mod-ConstVar.js: Added.
626         * stress/op_mod-VarConst.js: Added.
627         * stress/op_mod-VarVar.js: Copied from JSTests/stress/op_mod.js.
628         (o1.valueOf): Deleted.
629         * stress/op_mod.js: Removed.
630         * stress/op_mul-ConstVar.js: Added.
631         * stress/op_mul-VarConst.js: Added.
632         * stress/op_mul-VarVar.js: Copied from JSTests/stress/op_mul.js.
633         (o1.valueOf): Deleted.
634         * stress/op_mul.js: Removed.
635         * stress/op_rshift-ConstVar.js: Added.
636         * stress/op_rshift-VarConst.js: Added.
637         * stress/op_rshift-VarVar.js: Copied from JSTests/stress/op_rshift.js.
638         (o1.valueOf): Deleted.
639         * stress/op_rshift.js: Removed.
640         * stress/op_sub-ConstVar.js: Added.
641         * stress/op_sub-VarConst.js: Added.
642         * stress/op_sub-VarVar.js: Copied from JSTests/stress/op_sub.js.
643         (o1.valueOf): Deleted.
644         * stress/op_sub.js: Removed.
645         * stress/op_urshift-ConstVar.js: Added.
646         * stress/op_urshift-VarConst.js: Added.
647         * stress/op_urshift-VarVar.js: Copied from JSTests/stress/op_urshift.js.
648         (o1.valueOf): Deleted.
649         * stress/op_urshift.js: Removed.
650         * stress/resources/binary-op-values.js: Added.
651         (o1.valueOf):
652
653 2016-09-29  Joseph Pecoraro  <pecoraro@apple.com>
654
655         test262: class and function names should be inferred in assignment
656         https://bugs.webkit.org/show_bug.cgi?id=146262
657
658         Reviewed by Saam Barati.
659
660         * stress/arrowfunction-name.js: Added.
661         Quick tests for arrow function names.
662
663         * stress/inferred-names.js: Added.
664         General test for inferred function names.
665
666         * test262.yaml:
667         Pass many tests checking inferred function names.
668
669 2016-09-29  Saam Barati  <sbarati@apple.com>
670
671         We don't properly propagate non-simple-parameter-list when parsing a setter
672         https://bugs.webkit.org/show_bug.cgi?id=160483
673
674         Reviewed by Joseph Pecoraro.
675
676         * test262.yaml:
677
678 2016-09-28  Saam Barati  <sbarati@apple.com>
679
680         stringProtoFuncRepeatCharacter will return `null` when it should not
681         https://bugs.webkit.org/show_bug.cgi?id=161944
682
683         Reviewed by Yusuke Suzuki.
684
685         * stress/pad-start-calls-repeat-character-with-double.js: Added.
686         (logLinesWithContext):
687
688 2016-09-27  Filip Pizlo  <fpizlo@apple.com>
689
690         B3::lowerMacros forgets to before->updatePredecessorsAfter() when lowering ChillMod on ARM64
691         https://bugs.webkit.org/show_bug.cgi?id=162644
692
693         Reviewed by Keith Miller.
694
695         * stress/chill-mod-chill-mod.js: Added.
696         (foo):
697
698 2016-09-26  Csaba Osztrogonác  <oszi@inf.u-szeged.hu>
699
700         Skip stress/string-joining-long-strings-should-not-crash.js on memory limited devices
701         https://bugs.webkit.org/show_bug.cgi?id=162386
702
703         Unreviewed, relanding r206317 after typo fix.
704
705         * stress/string-joining-long-strings-should-not-crash.js:
706
707 2016-09-24  Caitlin Potter  <caitp@igalia.com>
708
709         [JSTests] fix test262 expectations following r206333
710         https://bugs.webkit.org/show_bug.cgi?id=162533
711
712         Reviewed by Yusuke Suzuki.
713
714         * test262.yaml:
715
716 2016-09-23  Caitlin Potter  <caitp@igalia.com>
717
718         [JSC] Implement parsing of Async Functions
719         https://bugs.webkit.org/show_bug.cgi?id=161409
720
721         Reviewed by Yusuke Suzuki.
722
723         * stress/async-await-syntax.js: Added.
724         (testSyntax):
725         (testSyntaxError):
726         (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
727         (testTopLevelAsyncAwaitSyntaxSloppyMode):
728         (testTopLevelAsyncAwaitSyntaxStrictMode):
729         (testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
730         (testNestedAsyncAwaitSyntax.async):
731         (testNestedAsyncAwaitSyntax.foo):
732         (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
733
734 2016-09-23  Ryan Haddad  <ryanhaddad@apple.com>
735
736         Unreviewed, rolling out r206317.
737
738         This change caused timeouts on El Capitan Release JSC tests
739
740         Reverted changeset:
741
742         "Skip stress/string-joining-long-strings-should-not-crash.js
743         on memory limited devices"
744         https://bugs.webkit.org/show_bug.cgi?id=162386
745         http://trac.webkit.org/changeset/206317
746
747 2016-09-23  Csaba Osztrogonác  <ossy@webkit.org>
748
749         Skip mozilla-tests.yaml/js1_5/Array/regress-157652 on memory limited devices
750         https://bugs.webkit.org/show_bug.cgi?id=162381
751
752         Reviewed by Mark Lam.
753
754         * mozilla/mozilla-tests.yaml:
755
756 2016-09-23  Csaba Osztrogonác  <ossy@webkit.org>
757
758         Skip stress/string-joining-long-strings-should-not-crash.js on memory limited devices
759         https://bugs.webkit.org/show_bug.cgi?id=162386
760
761         Reviewed by Mark Lam.
762
763         * stress/string-joining-long-strings-should-not-crash.js:
764
765 2016-09-22  Benjamin Poulain  <bpoulain@apple.com>
766
767         [JSC] Use an inline cache to generate op_negate
768         https://bugs.webkit.org/show_bug.cgi?id=162371
769
770         Reviewed by Saam Barati.
771
772         * stress/op-negate-inline-cache.js: Added.
773
774 2016-09-22  Mark Lam  <mark.lam@apple.com>
775
776         Array.prototype.join should do overflow checks on string joins.
777         https://bugs.webkit.org/show_bug.cgi?id=162459
778
779         Reviewed by Saam Barati.
780
781         * stress/array-join-on-strings-need-overflow-checks.js: Added.
782         (assert):
783         (catch):
784
785 2016-09-22  Joseph Pecoraro  <pecoraro@apple.com>
786
787         test262: Function length should be number of parameters before parameters with default values
788         https://bugs.webkit.org/show_bug.cgi?id=162377
789
790         Reviewed by Saam Barati.
791
792         * stress/es6-default-parameters.js:
793         Add our own tests for function lengths with default parameters.
794
795         * test262.yaml:
796         We now pass all dflt-length tests.
797
798 2016-09-20  Benjamin Poulain  <bpoulain@apple.com>
799
800         [JSC] Do not use EagerRun on tests counting recompilation
801         https://bugs.webkit.org/show_bug.cgi?id=162248
802
803         Reviewed by Geoffrey Garen.
804
805         This patch adds defaultNoEagerRun to all the tests
806         for which recompilation is the symptom of a bug.
807         The reason is that an OSR Exit can be unrelated to the tested
808         nodes when we are running in Eager mode.
809
810         * stress/arith-abs-on-various-types.js:
811         * stress/arith-ceil-on-various-types.js:
812         * stress/arith-clz32-on-various-types.js:
813         * stress/arith-cos-on-various-types.js:
814         * stress/arith-floor-on-various-types.js:
815         * stress/arith-fround-on-various-types.js:
816         * stress/arith-log-on-various-types.js:
817         * stress/arith-round-on-various-types.js:
818         * stress/arith-sin-on-various-types.js:
819         * stress/arith-sqrt-on-various-types.js:
820         * stress/arith-tan-on-various-types.js:
821         * stress/arith-trunc-on-various-types.js:
822
823         * stress/compare-strict-eq-on-various-types.js:
824         (testAllTypesCall):
825         The value 2 came from the other tests.
826         CompareStrictEq supports many more cases, the worst case
827         is bool->int->int52->number->polymorphic.
828
829 2016-09-20  Filip Pizlo  <fpizlo@apple.com>
830
831         Make MarkedBlock state tracking support overlapped allocation and marking state
832         https://bugs.webkit.org/show_bug.cgi?id=161581
833
834         Reviewed by Geoffrey Garen.
835         
836         Add a microbenchmark for why we want to reclaim empty blocks from other allocators.
837
838         * microbenchmarks/switching-size-classes.js: Added.
839
840 2016-09-20  Saam Barati  <sbarati@apple.com>
841
842         Unreviewed, added test for x86 32-bit failure for HasOwnProperty node in DFG.
843
844         * stress/has-own-property-called-on-non-object.js: Added.
845         (let.objs):
846         (new.String):
847         (foo):
848
849 2016-09-20  Yusuke Suzuki  <utatane.tea@gmail.com>
850
851         [JSC] Add `typeof value === "symbol"` handling to bytecode compiler
852         https://bugs.webkit.org/show_bug.cgi?id=162253
853
854         Reviewed by Sam Weinig.
855
856         * microbenchmarks/is-symbol-mixed.js: Added.
857         (isSymbol):
858         (i.let.pair.of.list.String):
859         * microbenchmarks/is-symbol.js: Added.
860         (isSymbol):
861
862 2016-09-19  Saam Barati  <sbarati@apple.com>
863
864         Make HasOwnProperty faster
865         https://bugs.webkit.org/show_bug.cgi?id=161708
866
867         Reviewed by Geoffrey Garen.
868
869         * microbenchmarks/has-own-property-name-cache.js: Added.
870         (foo):
871         * stress/has-own-property-cache-basics.js: Added.
872         (assert):
873         (foo):
874         * stress/has-own-property-name-cache-string-keys.js: Added.
875         (assert):
876         (foo):
877         * stress/has-own-property-name-cache-symbol-keys.js: Added.
878         (assert):
879         (foo):
880         * stress/has-own-property-name-cache-symbols-and-strings.js: Added.
881         (assert):
882         (foo):
883
884 2016-09-19  Benjamin Poulain  <bpoulain@apple.com>
885
886         [JSC] Make the rounding-related nodes support any type
887         https://bugs.webkit.org/show_bug.cgi?id=161895
888
889         Reviewed by Geoffrey Garen.
890
891         * stress/arith-ceil-on-various-types.js: Added.
892         * stress/arith-floor-on-various-types.js: Added.
893         * stress/arith-round-on-various-types.js: Added.
894         * stress/arith-trunc-on-various-types.js: Added.
895
896 2016-09-18  Yusuke Suzuki  <utatane.tea@gmail.com>
897
898         [JSC] Do not need to use defineProperty to define methods for object literals
899         https://bugs.webkit.org/show_bug.cgi?id=162111
900
901         Reviewed by Saam Barati.
902
903         * stress/object-literal-methods.js: Added.
904         (shouldBe):
905         (throw.new.Error.let.object.get name):
906         (throw.new.Error):
907         (shouldBe.let.object.get name):
908         (shouldBe.let.object.get prototype):
909         (shouldBe.let.object.get 42):
910
911 2016-09-16  Yusuke Suzuki  <utatane.tea@gmail.com>
912
913         [DFG] Introduce IsCellWithType node and unify IsJSArray, IsRegExpObject and newly added IsProxyObject
914         https://bugs.webkit.org/show_bug.cgi?id=162000
915
916         Reviewed by Filip Pizlo.
917
918         * microbenchmarks/is-array-for-array.js: Added.
919         (isArray):
920         * microbenchmarks/is-array-for-mixed-case.js: Added.
921         (isArray):
922         * microbenchmarks/is-array-for-non-array-object.js: Added.
923         (isArray):
924         * microbenchmarks/is-array-for-proxy.js: Added.
925         (isArray):
926         (isArray.proxy.throw.new.Error.isArray):
927         (isArray.proxy.throw.new.Error):
928
929 2016-09-16  Yusuke Suzuki  <utatane.tea@gmail.com>
930
931         Unreviewed, gardening test262 results
932
933         Some tests are now passed with JSC, but marked as failed.
934
935         * test262.yaml:
936
937 2016-09-16  Joseph Pecoraro  <pecoraro@apple.com>
938
939         test262: Various Constructors length properties should be configurable
940         https://bugs.webkit.org/show_bug.cgi?id=161998
941
942         Reviewed by Saam Barati.
943
944         * test262.yaml:
945
946 2016-09-15  Commit Queue  <commit-queue@webkit.org>
947
948         Unreviewed, rolling out r205931.
949         https://bugs.webkit.org/show_bug.cgi?id=162021
950
951         Tests for this change fail on 32-bit JSC bots (Requested by
952         ryanhaddad on #webkit).
953
954         Reverted changeset:
955
956         "[JSC] Make the rounding-related nodes support any type"
957         https://bugs.webkit.org/show_bug.cgi?id=161895
958         http://trac.webkit.org/changeset/205931
959
960 2016-09-15  Joseph Pecoraro  <pecoraro@apple.com>
961
962         test262: Should be a SyntaxError for duplicate parameter names in function with default parameters
963         https://bugs.webkit.org/show_bug.cgi?id=162013
964
965         Reviewed by Saam Barati.
966
967         * stress/es6-default-parameters.js:
968         * test262.yaml:
969
970 2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>
971
972         ASSERT_NOT_REACHED when using spread inside an array literal with Function.prototype.apply
973         https://bugs.webkit.org/show_bug.cgi?id=162003
974
975         Reviewed by Saam Barati.
976
977         * stress/spread-calling.js:
978         * test262.yaml:
979
980 2016-09-14  Michael Saboff  <msaboff@apple.com>
981
982         YARR doesn't check for invalid flags for literal regular expressions
983         https://bugs.webkit.org/show_bug.cgi?id=161995
984
985         Reviewed by Mark Lam.
986
987         New test.
988
989         * stress/regress-161995.js: Added.
990         (testStatic):
991         (catch):
992
993 2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>
994
995         test262: TypedArray constructors length should be 3 and configurable
996         https://bugs.webkit.org/show_bug.cgi?id=161955
997
998         Reviewed by Mark Lam.
999
1000         * test262.yaml:
1001
1002 2016-09-14  Benjamin Poulain  <bpoulain@apple.com>
1003
1004         [JSC] Make the rounding-related nodes support any type
1005         https://bugs.webkit.org/show_bug.cgi?id=161895
1006
1007         Reviewed by Geoffrey Garen.
1008
1009         * stress/arith-ceil-on-various-types.js: Added.
1010         * stress/arith-floor-on-various-types.js: Added.
1011         * stress/arith-round-on-various-types.js: Added.
1012         * stress/arith-trunc-on-various-types.js: Added.
1013
1014 2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>
1015
1016         TaggedTemplateString function calls should emit tail position calls
1017         https://bugs.webkit.org/show_bug.cgi?id=161948
1018
1019         Reviewed by Yusuke Suzuki.
1020
1021         * stress/tail-call-recognize.js:
1022         (runTests):
1023         Ensure a tagged template string function call is tail call.
1024
1025         * test262.yaml:
1026         These now pass.
1027
1028 2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>
1029
1030         test262: Array.prototype.slice should always set length
1031         https://bugs.webkit.org/show_bug.cgi?id=161953
1032
1033         Reviewed by Mark Lam.
1034
1035         * test262.yaml:
1036
1037 2016-09-13  JF Bastien  <jfbastien@apple.com>
1038
1039         Support jsc shell builtin `read`
1040         https://bugs.webkit.org/show_bug.cgi?id=161662
1041
1042         Reviewed by Keith Miller.
1043
1044         * stress/jsc-read.js: Added.
1045         (test): test `read` and `readFile` shell builtins, in string and binary mode.
1046
1047 2016-09-12  Skachkov Oleksandr  <gskachkov@gmail.com>
1048
1049         ES6: Classes: Should be allowed to create a static method with name "arguments"
1050         https://bugs.webkit.org/show_bug.cgi?id=152985
1051
1052         Reviewed by Keith Miller.
1053
1054         * test262.yaml:
1055
1056 2016-09-12  Saam Barati  <sbarati@apple.com>
1057
1058         Speed up Function.prototype.bind a bit by making it a builtin
1059         https://bugs.webkit.org/show_bug.cgi?id=161879
1060
1061         Reviewed by Filip Pizlo.
1062
1063         * microbenchmarks/function-bind-inlining.js: Added.
1064         (assert):
1065         (test):
1066         (test2):
1067         (foo):
1068         * microbenchmarks/function-bind-no-inlining.js: Added.
1069         (assert):
1070         (test):
1071         (test2):
1072         (foo):
1073
1074 2016-09-12  Saam Barati  <sbarati@apple.com>
1075
1076         HashMapImpl should take into account m_deleteCount in its load factor and it should be able to rehash the table to be smaller
1077         https://bugs.webkit.org/show_bug.cgi?id=161640
1078
1079         Reviewed by Geoffrey Garen.
1080
1081         * microbenchmarks/map-rehash.js: Added.
1082         * stress/map-delete.js: Added.
1083         (assert):
1084         * stress/map-rehash-2.js: Added.
1085         (assert):
1086         * stress/map-rehash.js: Added.
1087         (assert):
1088
1089 2016-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>
1090
1091         Unreviewed, fix tests for different libm environments
1092         https://bugs.webkit.org/show_bug.cgi?id=161857
1093
1094         * stress/ftl-arithtan.js:
1095
1096 2016-09-12  Benjamin Poulain  <bpoulain@apple.com>
1097
1098         [JSC] Use GetArrayLength for JSArray.length even when the array type is undecided
1099         https://bugs.webkit.org/show_bug.cgi?id=161671
1100
1101         Reviewed by Geoffrey Garen.
1102
1103         * stress/get-array-length-on-undecided.js: Added.
1104
1105 2016-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>
1106
1107         [DFG][FTL] Add ArithTan
1108         https://bugs.webkit.org/show_bug.cgi?id=161857
1109
1110         Reviewed by Filip Pizlo.
1111
1112         * microbenchmarks/tan.js: Added.
1113         * stress/arith-tan-on-various-types.js: Added.
1114         (let.validInputTypedTestCases.validInputTestCases.map):
1115         (isIdentical):
1116         (opaqueTanNoArgument):
1117         (testNoArgument):
1118         (opaqueAllTypesTan):
1119         (testAllTypesCall):
1120         (testTangleTypeCall):
1121         (testConstant):
1122         (opaqueTanForSideEffects):
1123         (testSideEffect.let.testObject.valueOf):
1124         (testSideEffect):
1125         (opaqueTanForCSE):
1126         (testCSE.let.testObject.valueOf):
1127         (testCSE):
1128         (opaqueTanForDCE):
1129         (testDCE.let.testObject.valueOf):
1130         (testDCE):
1131         (testException.opaqueTanWithException):
1132         (testException):
1133         * stress/ftl-arithtan.js: Added.
1134         (foo):
1135
1136 2016-09-12  Saam Barati  <sbarati@apple.com>
1137
1138         MapHash should do constant folding when it has a constant argument and its legal to hash that value
1139         https://bugs.webkit.org/show_bug.cgi?id=161639
1140
1141         Reviewed by Filip Pizlo.
1142
1143         * microbenchmarks/map-constant-key.js: Added.
1144         (assert):
1145         (test):
1146         (foo):
1147
1148 2016-09-12  Michael Saboff  <msaboff@apple.com>
1149
1150         JSC test timeout: ChakraCore.yaml/ChakraCore/test/Bugs/bug56026_trycatch.js.default
1151         https://bugs.webkit.org/show_bug.cgi?id=161863
1152
1153         Reviewed by Saam Barati.
1154
1155         * ChakraCore.yaml:
1156         Disabled Bugs/bug56026_trycatch.js.
1157
1158 2016-09-09  Michael Saboff  <msaboff@apple.com>
1159
1160         Unreviewed, rolling r205759 back in with a fix.
1161
1162         The expectation file, JSTests/ChakraCore/test/Lib/tostring.baseline-jsc,
1163         should be named "toString.baseline-jsc".
1164
1165         * ChakraCore/test/Lib/toString.baseline-jsc: Copied from JSTests/ChakraCore/test/Lib/tostring.baseline-jsc.
1166         * ChakraCore/test/Lib/tostring.baseline-jsc: Removed.
1167
1168 2016-09-09  Michael Saboff  <msaboff@apple.com>
1169
1170         Disable three flakey Chakra Tests
1171         https://bugs.webkit.org/show_bug.cgi?id=161807
1172
1173         Reviewed by Saam Barati.
1174
1175         * ChakraCore.yaml: Disabled the flakey tests
1176         ChakraCore/test/Array/protoLookup_native.js
1177         ChakraCore/test/LetConst/delete.js
1178         ChakraCore/test/fieldopts/fieldhoist_sideeffect.js
1179
1180 2016-09-08  Saam Barati  <sbarati@apple.com>
1181
1182         We should inline operationConvertJSValueToBoolean into JIT code
1183         https://bugs.webkit.org/show_bug.cgi?id=161729
1184
1185         Reviewed by Filip Pizlo.
1186
1187         * stress/value-to-boolean.js: Added.
1188         (assert):
1189         (test1):
1190         (test2):
1191         (test3):
1192
1193 2016-09-08  Mark Lam  <mark.lam@apple.com>
1194
1195         REGRESSION (r205569?): 32-bit JSC test timeout: stress/rest-parameter-many-arguments.js.dfg-maximal-flush-validate-no-cjit
1196         https://bugs.webkit.org/show_bug.cgi?id=161756
1197
1198         Reviewed by Saam Barati.
1199
1200         It looks like the 32-bit JSC bot is just too slow at running this test with the
1201         dfg-maximal-flush-validate-no-cjit configuration.  We'll try excluding that
1202         configuration.
1203
1204         * stress/rest-parameter-many-arguments.js:
1205
1206 2016-09-08  JF Bastien  <jfbastien@apple.com>
1207
1208         Delete older WebAssembly tests
1209         https://bugs.webkit.org/show_bug.cgi?id=161758
1210
1211         Reviewed by Filip Pizlo.
1212
1213         They're not running, rely on the older polyfill prototype, and the older code was deleted in: https://trac.webkit.org/changeset/204180
1214
1215         * stress/wasm-arithmetic-float32.js: Removed.
1216         * stress/wasm-arithmetic-float64.js: Removed.
1217         * stress/wasm-arithmetic-int32.js: Removed.
1218         * stress/wasm-calls.js: Removed.
1219         * stress/wasm-comma.js: Removed.
1220         * stress/wasm-control-flow.js: Removed.
1221         * stress/wasm-globals.js: Removed.
1222         * stress/wasm-linear-memory.js: Removed.
1223         * stress/wasm-locals.js: Removed.
1224         * stress/wasm-relational.js: Removed.
1225         * stress/wasm-type-conversion.js: Removed.
1226         * stress/wasm/arithmetic-float32.wasm: Removed.
1227         * stress/wasm/arithmetic-float64.wasm: Removed.
1228         * stress/wasm/arithmetic-int32.wasm: Removed.
1229         * stress/wasm/calls.wasm: Removed.
1230         * stress/wasm/comma.wasm: Removed.
1231         * stress/wasm/control-flow.wasm: Removed.
1232         * stress/wasm/globals.wasm: Removed.
1233         * stress/wasm/linear-memory.wasm: Removed.
1234         * stress/wasm/locals.wasm: Removed.
1235         * stress/wasm/relational.wasm: Removed.
1236         * stress/wasm/type-conversion.wasm: Removed.
1237
1238 2016-09-08  Per Arne Vollan  <pvollan@apple.com>
1239
1240         [Win] Exception fuzz tests fail
1241         https://bugs.webkit.org/show_bug.cgi?id=140928
1242
1243         Reviewed by Mark Lam.
1244
1245         Unskip tests.
1246
1247         * exceptionFuzz.yaml:
1248
1249 2016-09-06  Saam Barati  <sbarati@apple.com>
1250
1251         ProxyObject's structure should not have ObjectPrototype as its prototype and it should not have special behavior for intercepting "__proto__"
1252         https://bugs.webkit.org/show_bug.cgi?id=161558
1253
1254         Reviewed by Benjamin Poulain.
1255
1256         * stress/proxy-get-prototype-of.js:
1257         * stress/proxy-set-prototype-of.js:
1258         (let.handler.setPrototypeOf): Deleted.
1259         * stress/proxy-underscore-proto.js: Added.
1260         (assert):
1261
1262 2016-09-06  Saam Barati  <sbarati@apple.com>
1263
1264         Make JSMap and JSSet faster
1265         https://bugs.webkit.org/show_bug.cgi?id=160989
1266
1267         Reviewed by Filip Pizlo.
1268
1269         * microbenchmarks/dense-set.js: Added.
1270         (bench):
1271         * microbenchmarks/large-map-iteration-with-additions.js: Added.
1272         (bar):
1273         (foo):
1274         * microbenchmarks/large-map-iteration-with-mutation.js: Added.
1275         (bar):
1276         (foo):
1277         * microbenchmarks/large-map-iteration.js: Added.
1278         (bar):
1279         (foo):
1280         * microbenchmarks/map-get-get-cse.js: Added.
1281         (bar):
1282         (foo):
1283         * microbenchmarks/map-has-get-cse-opportunity.js: Added.
1284         (bar):
1285         (foo):
1286         * microbenchmarks/sparse-set.js: Added.
1287         (bench):
1288         * stress/map-cse-correctness.js: Added.
1289         (assert):
1290         (testHas):
1291         (testGet):
1292         (foo):
1293         * stress/map-iteration.js: Added.
1294         (assert):
1295         (test1):
1296         (test2):
1297         (test3):
1298         (test4):
1299         (test5):
1300         (test6):
1301         (test7):
1302         (test8):
1303         (test9):
1304         (test10):
1305         (test11):
1306         (test12):
1307         (test13):
1308         (test14):
1309         (test15):
1310         (test16):
1311         (test17):
1312         (test18):
1313
1314 2016-09-06  Benjamin Poulain  <bpoulain@apple.com>
1315
1316         [JSC] Make ArithClz32 work with Cell arguments
1317         https://bugs.webkit.org/show_bug.cgi?id=161369
1318
1319         Reviewed by Geoffrey Garen.
1320
1321         * stress/arith-clz32-on-various-types.js: Added.
1322
1323 2016-09-06  Commit Queue  <commit-queue@webkit.org>
1324
1325         Unreviewed, rolling out r205504.
1326         https://bugs.webkit.org/show_bug.cgi?id=161645
1327
1328         Broke the iOS device build (Requested by ryanhaddad on
1329         #webkit).
1330
1331         Reverted changeset:
1332
1333         "Make JSMap and JSSet faster"
1334         https://bugs.webkit.org/show_bug.cgi?id=160989
1335         http://trac.webkit.org/changeset/205504
1336
1337 2016-09-06  Saam Barati  <sbarati@apple.com>
1338
1339         Make JSMap and JSSet faster
1340         https://bugs.webkit.org/show_bug.cgi?id=160989
1341
1342         Reviewed by Filip Pizlo.
1343
1344         * microbenchmarks/dense-set.js: Added.
1345         (bench):
1346         * microbenchmarks/large-map-iteration-with-additions.js: Added.
1347         (bar):
1348         (foo):
1349         * microbenchmarks/large-map-iteration-with-mutation.js: Added.
1350         (bar):
1351         (foo):
1352         * microbenchmarks/large-map-iteration.js: Added.
1353         (bar):
1354         (foo):
1355         * microbenchmarks/map-get-get-cse.js: Added.
1356         (bar):
1357         (foo):
1358         * microbenchmarks/map-has-get-cse-opportunity.js: Added.
1359         (bar):
1360         (foo):
1361         * microbenchmarks/sparse-set.js: Added.
1362         (bench):
1363         * stress/map-cse-correctness.js: Added.
1364         (assert):
1365         (testHas):
1366         (testGet):
1367         (foo):
1368         * stress/map-iteration.js: Added.
1369         (assert):
1370         (test1):
1371         (test2):
1372         (test3):
1373         (test4):
1374         (test5):
1375         (test6):
1376         (test7):
1377         (test8):
1378         (test9):
1379         (test10):
1380         (test11):
1381         (test12):
1382         (test13):
1383         (test14):
1384         (test15):
1385         (test16):
1386         (test17):
1387         (test18):
1388
1389 2016-08-31  Filip Pizlo  <fpizlo@apple.com>
1390
1391         Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
1392         https://bugs.webkit.org/show_bug.cgi?id=160125
1393
1394         Reviewed by Geoffrey Garen and Keith Miller.
1395         
1396         Most of the things I did properly covered by existing tests, but I found some simple cases of
1397         unshifting that had sketchy coverage.
1398
1399         * stress/array-storage-array-unshift.js: Added.
1400         * stress/contiguous-array-unshift.js: Added.
1401         * stress/double-array-unshift.js: Added.
1402         * stress/int32-array-unshift.js: Added.
1403
1404 2016-09-02  Michael Saboff  <msaboff@apple.com>
1405
1406         Unreviewed fix after importing Chakra test
1407
1408         * ChakraCore.yaml: Skipped ChakraCore/test/UnifiedRegex/crazy.js because the original
1409         test contained tab characters.  I removed the tabs before landing.  This test depended
1410         on the tab characters and now fails after they were removed.
1411         test.
1412
1413 2016-09-01  Michael Saboff  <msaboff@apple.com>
1414
1415         Import Chakra tests to JSC
1416         https://bugs.webkit.org/show_bug.cgi?id=154697
1417
1418         Reviewed by Saam Barati.
1419
1420         Added Chakra tests.  All these tests are under Chakra/test.  This is the same layout
1421         for tests in the Chakra tree.
1422
1423         Created a ChakraCore.yaml file to be used with run-jsc-stress-tests.  This file contains
1424         the tests that are run when the original Chakra runtests.py script is run.  That script
1425         is the test driver for *nix platforms and does not attempt to run all tests or all
1426         variations of tests.  The runtest.py driver consults rlexe.xml files in each test
1427         subdirectory to determine the test to run, the options to pass to the test and how to
1428         determine pass/fail of the test.  With runtests.py as the start, tests that didn't
1429         pass directly where either skipped, with a message describing why or through 
1430         adjustments to the test infrastructure, as described below, where made to pass.
1431         
1432         The only modification to the test infrastrucutre are:
1433
1434          1) Added simple mapping of Chakra expected exception text to JSC expected text in
1435             test/UnitTestFramework/UnitTestFramework.js.  It would make sense to also
1436             map some JSC specific exception text to more generic text for the cases where
1437             that text contains indetifier names or other source specific strings and the
1438             Chakra equivolent exception texts are generic.  
1439  
1440          2) Created JSC specific expected text files where it is clear that the text work
1441             as expected on JSC but the test output is different.  Typically the differences
1442             fall into three categories, different exception output, different output from
1443             toString() of a function, slight numeric differences, and test that rely on
1444             iteration order.
1445
1446          3) Stripped the CR's from the CR-LF line terminations of the files.  
1447
1448         No actual test .js files were modified.
1449
1450         * ChakraCore: Added.
1451         * ChakraCore.yaml: Added.
1452         * ChakraCore/CONTRIBUTING.md: Added.
1453         * ChakraCore/LICENSE.txt: Added.
1454         * ChakraCore/README.md: Added.
1455         * ChakraCore/THIRD-PARTY-NOTICES.txt: Added.
1456         * ChakraCore/test: Added this directory and the tests included therein.
1457
1458 2016-09-01  JF Bastien  <jfbastien@apple.com>
1459
1460         GetByIdWithThis/GetByValWithThis should have ValueProfiles so that they can predict their result types
1461         https://bugs.webkit.org/show_bug.cgi?id=160922
1462
1463         Reviewed by Keith Miller.
1464
1465         Benchmark GetBy{Id,Val}WithThis in monomorphic and polymorphic uses.
1466         The value profile is used by the calc functions, which do some mild math with the result.
1467         These benchmarks get ~4% faster with value profiling.
1468
1469         * microbenchmarks/super-get-by-id-with-this-monomorphic.js: Added.
1470         (A):
1471         (A.prototype.set value):
1472         (A.prototype.get value):
1473         (B.prototype.set value):
1474         (B.prototype.get value):
1475         (B):
1476         (const.bench):
1477         * microbenchmarks/super-get-by-id-with-this-polymorphic.js: Added.
1478         (A):
1479         (A.prototype.set value):
1480         (A.prototype.get value):
1481         (B.prototype.set value):
1482         (B.prototype.get value):
1483         (B):
1484         (const.bench):
1485         * microbenchmarks/super-get-by-val-with-this-monomorphic.js: Added.
1486         (value):
1487         (A):
1488         (A.prototype.set v):
1489         (A.prototype.get v):
1490         (B.prototype.set v):
1491         (B.prototype.get v):
1492         (B):
1493         (const.bench):
1494         * microbenchmarks/super-get-by-val-with-this-polymorphic.js: Added.
1495         (value):
1496         (A):
1497         (A.prototype.set v):
1498         (A.prototype.get v):
1499         (B.prototype.set v):
1500         (B.prototype.get v):
1501         (B):
1502         (const.bench):
1503
1504 2016-09-01  Benjamin Poulain  <bpoulain@apple.com>
1505
1506         arith-abs-on-various-types.js is flaky
1507
1508         Unreviewed.
1509
1510         * stress/arith-abs-on-various-types.js:
1511         Two compilation is too small for the worst case.
1512         Math.abs() can be typed integer->number->untyped if we are very unlucky.
1513
1514 2016-09-01  Filip Pizlo  <fpizlo@apple.com>
1515
1516         ObjectAllocationSinkingPhase::insertOSRHintsForUpdate() fails to emit updated hints in some cases
1517         https://bugs.webkit.org/show_bug.cgi?id=161492
1518
1519         Reviewed by Mark Lam.
1520         
1521         This bug affected function->activation references but not object->object field references,
1522         because object->object field references are !neededForMaterialization(). So, the object
1523         test always passed but the activation/function test used to always fail. It passes now.
1524
1525         * stress/materialize-activation-referenced-from-phantom-function.js: Added.
1526         (bar):
1527         (inc):
1528         (dec):
1529         (foo):
1530         (test):
1531         * stress/materialize-object-referenced-from-phantom-object.js: Added.
1532         (bar):
1533         (foo):
1534         (test):
1535
1536 2016-08-31  Yusuke Suzuki  <utatane.tea@gmail.com>
1537
1538         stress/random-53bit.js.ftl-no-cjit-no-inline-validate sometimes fails
1539         https://bugs.webkit.org/show_bug.cgi?id=161436
1540
1541         Reviewed by Filip Pizlo.
1542
1543         The test checks Math.random() correctly produces 53bit random values.
1544         The test can fail by design, but this should be fairly rare.
1545
1546         However, when introducing, we wrap the `test()` with 1e4 to ensure the FTL compilation, and this
1547         increases the failure rate. By increasing the MAX in the test, we make the failures much more rare case.
1548
1549         And we also add getRandomSeed() and setRandomSeed(seed) JSC shell helpers to dump more useful information
1550         and reproduce the situation easily.
1551
1552         * stress/random-53bit.js:
1553         (test):
1554
1555 2016-08-29  Benjamin Poulain  <bpoulain@apple.com>
1556
1557         [JSC] Improve ArithAbs with polymorphic input
1558         https://bugs.webkit.org/show_bug.cgi?id=161286
1559
1560         Reviewed by Saam Barati.
1561
1562         * stress/arith-abs-on-various-types.js: Added.
1563         New tests.
1564
1565         * stress/arith-cos-on-various-types.js:
1566         * stress/arith-fround-on-various-types.js:
1567         * stress/arith-log-on-various-types.js:
1568         * stress/arith-sin-on-various-types.js:
1569         * stress/arith-sqrt-on-various-types.js:
1570         Extend the existing tests to cover the DCE case.
1571
1572 2016-08-26  Benjamin Poulain  <benjamin@webkit.org>
1573
1574         [JSC] Implement CompareStrictEq(String, Untyped) in FTL
1575         https://bugs.webkit.org/show_bug.cgi?id=161229
1576
1577         Reviewed by Geoffrey Garen.
1578
1579         * stress/compare-strict-eq-on-various-types.js: Added.
1580
1581 2016-08-26  Yusuke Suzuki  <utatane.tea@gmail.com>
1582
1583         [ES6] newPromiseCapabilities should check the given argument is constructor
1584         https://bugs.webkit.org/show_bug.cgi?id=161226
1585
1586         Reviewed by Mark Lam.
1587
1588         The arrow function should not be a constructor. So the error should be raised.
1589
1590         * stress/new-promise-capabilities-requires-constructor.js: Added.
1591         (shouldThrow):
1592
1593 2016-08-25  Benjamin Poulain  <bpoulain@apple.com>
1594
1595         [JSC] Clean up the abstract interpreter for cos/sin/sqrt/fround/log
1596         https://bugs.webkit.org/show_bug.cgi?id=161181
1597
1598         Reviewed by Geoffrey Garen.
1599
1600         Extend the tests to constants.
1601         Add no-argument cases where needed.
1602
1603         * stress/arith-cos-on-various-types.js:
1604         * stress/arith-fround-on-various-types.js:
1605         * stress/arith-log-on-various-types.js:
1606         * stress/arith-sin-on-various-types.js:
1607         * stress/arith-sqrt-on-various-types.js:
1608
1609 2016-08-25  Yusuke Suzuki  <utatane.tea@gmail.com>
1610
1611         [DFG][FTL] Implement ES6 Generators in DFG / FTL
1612         https://bugs.webkit.org/show_bug.cgi?id=152723
1613
1614         Reviewed by Filip Pizlo.
1615
1616         * stress/generator-fib-ftl-and-array.js: Added.
1617         (fib):
1618         * stress/generator-fib-ftl-and-object.js: Added.
1619         (fib):
1620         * stress/generator-fib-ftl-and-string.js: Added.
1621         (fib):
1622         * stress/generator-fib-ftl.js: Added.
1623         (fib):
1624         * stress/generator-frame-empty.js: Added.
1625         (shouldThrow):
1626         (shouldThrow.fib):
1627         * stress/generator-reduced-save-point-put-to-scope.js: Added.
1628         (shouldBe):
1629         (gen):
1630         * stress/generator-transfer-register-beyond-mutiple-yields.js: Added.
1631         (shouldBe):
1632         (gen):
1633
1634 2016-08-25  JF Bastien  <jfbastien@apple.com>
1635
1636         TryGetById should have a ValueProfile so that it can predict its output type
1637         https://bugs.webkit.org/show_bug.cgi?id=160921
1638
1639         Reviewed by Saam Barati.
1640
1641         * microbenchmarks/try-get-by-id-basic.js: Added.
1642         (const.check):
1643         (const.bench.f.const.fooPlusBar.createBuiltin):
1644         * microbenchmarks/try-get-by-id-polymorphic.js: Added.
1645         (const.check):
1646         (fooPlusBar.createBuiltin):
1647         (bench):
1648
1649 2016-08-25  Caio Lima  <ticaiolima@gmail.com>
1650
1651         NewRegexp should not prevent inlining
1652         https://bugs.webkit.org/show_bug.cgi?id=154808
1653
1654         Reviewed by Geoffrey Garen.
1655
1656         Added test where functions with NewRegExp can be inlined right now.
1657
1658         * stress/new-regex-inline.js: Added.
1659         (assert):
1660         (testRegexpInline):
1661         (toInlineGlobal):
1662         (withRegexp):
1663         (inlineRegexpNotGlobal):
1664         (toInlineRecursive):
1665         (regexpContainsRecursive):
1666
1667 2016-08-24  Benjamin Poulain  <benjamin@webkit.org>
1668
1669         [JSC] Make FRound work with any type
1670         https://bugs.webkit.org/show_bug.cgi?id=161129
1671
1672         Reviewed by Geoffrey Garen.
1673
1674         * stress/arith-fround-on-various-types.js: Added.
1675
1676 2016-08-24  Filip Pizlo  <fpizlo@apple.com>
1677
1678         Unreviewed, roll out r204901, r204897, r204866, r204856, r204854.
1679
1680         * stress/array-storage-array-unshift.js: Removed.
1681         * stress/contiguous-array-unshift.js: Removed.
1682         * stress/double-array-unshift.js: Removed.
1683         * stress/int32-array-unshift.js: Removed.
1684
1685 2016-08-24  Skachkov Oleksandr  <gskachkov@gmail.com>
1686
1687         [ES2016] Allow assignment in for-in head in not-strict mode
1688         https://bugs.webkit.org/show_bug.cgi?id=160955
1689
1690         Reviewed by Saam Barati.
1691
1692         * stress/for-in-tests.js:
1693         (foo):
1694         (boo):
1695         (catch):
1696
1697 2016-08-23  Benjamin Poulain  <benjamin@webkit.org>
1698
1699         [JSC] Make ArithLog works with any type
1700         https://bugs.webkit.org/show_bug.cgi?id=161110
1701
1702         Reviewed by Geoffrey Garen.
1703
1704         * stress/arith-log-on-various-types.js: Added.
1705
1706 2016-08-23  Saam Barati  <sbarati@apple.com>
1707
1708         JSC should have a "microbenchmarks" directory instead of "regress" directory
1709         https://bugs.webkit.org/show_bug.cgi?id=161096
1710
1711         Rubber stamped by Mark Lam.
1712
1713         * microbenchmarks: Copied from LayoutTests/js/regress/script-tests.
1714
1715 2016-08-23  Keith Miller  <keith_miller@apple.com>
1716
1717         %TypedArray%.prototype.slice needs to check that the source and destination have not been detached.
1718         https://bugs.webkit.org/show_bug.cgi?id=161031
1719         <rdar://problem/27937019>
1720
1721         Reviewed by Geoffrey Garen.
1722
1723         * stress/typedarray-slice.js:
1724         (get let):
1725         (get try):
1726         (testSpeciesWithTransferring):
1727
1728 2016-08-22  Filip Pizlo  <fpizlo@apple.com>
1729
1730         Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
1731         https://bugs.webkit.org/show_bug.cgi?id=160125
1732
1733         Reviewed by Geoffrey Garen.
1734         
1735         Most of the things I did properly covered by existing tests, but I found some simple cases of
1736         unshifting that had sketchy coverage.
1737
1738         * stress/array-storage-array-unshift.js: Added.
1739         * stress/contiguous-array-unshift.js: Added.
1740         * stress/double-array-unshift.js: Added.
1741         * stress/int32-array-unshift.js: Added.
1742
1743 2016-08-23  Keith Miller  <keith_miller@apple.com>
1744
1745         Update/add new test262 tests
1746         https://bugs.webkit.org/show_bug.cgi?id=161098
1747
1748         Reviewed by Saam Barati.
1749
1750         * test262.yaml:
1751         * test262/test/annexB/language/statements/for-in/bare-initializer.js: Added.
1752         * test262/test/annexB/language/statements/for-in/const-initializer.js: Added.
1753         * test262/test/annexB/language/statements/for-in/let-initializer.js: Added.
1754         * test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added.
1755         (a):
1756         * test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added.
1757         * test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added.
1758         * test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added.
1759         * test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added.
1760         (AsyncFunction.async.foo):
1761         * test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added.
1762         (AsyncFunction.async):
1763         * test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added.
1764         (async.foo):
1765         * test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added.
1766         (AsyncFunction.async.foo):
1767         * test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added.
1768         (AsyncFunction.async.foo):
1769         * test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added.
1770         (AsyncFunction.async.foo):
1771         * test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added.
1772         (AsyncFunction.async.foo):
1773         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added.
1774         (AsyncFunction.async.foo):
1775         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added.
1776         (AsyncFunction.async.foo):
1777         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added.
1778         (AsyncFunction.async.foo):
1779         * test262/test/built-ins/AsyncFunction/instance-construct.js: Added.
1780         (async.foo):
1781         * test262/test/built-ins/AsyncFunction/instance-has-name.js: Added.
1782         (async.foo):
1783         * test262/test/built-ins/AsyncFunction/instance-length.js: Added.
1784         (async.l0):
1785         (async.l1):
1786         (async.l2):
1787         * test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added.
1788         (async.foo):
1789         * test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added.
1790         * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js.
1791         * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js:
1792         * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js.
1793         * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js:
1794         * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js.
1795         * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js:
1796         * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js.
1797         * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js:
1798         * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js.
1799         * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js:
1800         * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js.
1801         * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js:
1802         * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js.
1803         * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js:
1804         * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js.
1805         * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js:
1806         * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js.
1807         * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js:
1808         * test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js:
1809         * test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js:
1810         * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js.
1811         * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js:
1812         * test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js:
1813         * test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js:
1814         * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js.
1815         * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js:
1816         * test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js:
1817         * test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js:
1818         * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js.
1819         * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js:
1820         * test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js:
1821         * test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js:
1822         * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js.
1823         * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js:
1824         * test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js:
1825         * test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js:
1826         * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js.
1827         * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js:
1828         * test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js:
1829         * test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js:
1830         * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js.
1831         * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js:
1832         * test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js:
1833         * test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js:
1834         * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js.
1835         * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js:
1836         * test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js:
1837         * test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js:
1838         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added.
1839         (A):
1840         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added.
1841         (A):
1842         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added.
1843         (A):
1844         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added.
1845         (A):
1846         * test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added.
1847         (async.f):
1848         * test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added.
1849         (async.f):
1850         * test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added.
1851         (let.f.async.f):
1852         * test262/test/built-ins/Function/prototype/toString/async-method.js: Added.
1853         (let.f.async.f):
1854         (let.g.async.string_appeared_here):
1855         * test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added.
1856         (defineProperty):
1857         * test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added.
1858         (deleteProperty):
1859         * test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added.
1860         (uncoercible.valueOf):
1861         (get if):
1862         * test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added.
1863         (get if):
1864         * test262/test/built-ins/JSON/parse/reviver-call-err.js: Added.
1865         * test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added.
1866         (thrower):
1867         * test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added.
1868         (defineProperty):
1869         * test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added.
1870         (deleteProperty):
1871         * test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added.
1872         (ownKeys):
1873         * test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added.
1874         * test262/test/built-ins/Number/prototype/toExponential/nan.js: Added.
1875         * test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added.
1876         * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added.
1877         * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added.
1878         (fd1.valueOf):
1879         (fd2.toString):
1880         * test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added.
1881         * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added.
1882         * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added.
1883         * test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added.
1884         * test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added.
1885         * test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added.
1886         * test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js:
1887         * test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added.
1888         (badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor):
1889         (badProxyHandlers.allowProxyTraps.ownKeys):
1890         * test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed.
1891         (setPrototypeOf): Deleted.
1892         * test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added.
1893         (target.new.Proxy.Object.create.isExtensible):
1894         (target.new.Proxy.Object.create.getPrototypeOf):
1895         (target.new.Proxy.Object.create):
1896         (setPrototypeOf):
1897         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js:
1898         (setPrototypeOf):
1899         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js:
1900         (setPrototypeOf):
1901         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed.
1902         (setPrototypeOf): Deleted.
1903         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added.
1904         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added.
1905         (isExtensible):
1906         (setPrototypeOf):
1907         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added.
1908         (getPrototypeOf):
1909         (setPrototypeOf):
1910         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js.
1911         (setPrototypeOf):
1912         * test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js:
1913         (setPrototypeOf): Deleted.
1914         * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added.
1915         (isExtensible):
1916         (setPrototypeOf):
1917         * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added.
1918         (isExtensible):
1919         (getPrototypeOf):
1920         (setPrototypeOf):
1921         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js:
1922         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added.
1923         (setPrototypeOf):
1924         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed.
1925         * test262/test/built-ins/RegExp/lastIndex.js: Added.
1926         * test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed.
1927         * test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added.
1928         (get Object):
1929         * test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added.
1930         (get Object):
1931         * test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added.
1932         * test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed.
1933         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added.
1934         (get Object):
1935         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added.
1936         (get Object):
1937         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added.
1938         * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed.
1939         * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed.
1940         * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed.
1941         (__re.hasOwnProperty): Deleted.
1942         (__re.propertyIsEnumerable): Deleted.
1943         (count.0): Deleted.
1944         * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed.
1945         (__re.hasOwnProperty): Deleted.
1946         (catch): Deleted.
1947         * test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed.
1948         * test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added.
1949         (get Object):
1950         * test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added.
1951         (get Object):
1952         * test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added.
1953         * test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added.
1954         * test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed.
1955         * test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added.
1956         (get Object):
1957         * test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added.
1958         (get Object):
1959         * test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added.
1960         * test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added.
1961         * test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added.
1962         * test262/test/built-ins/RegExp/prototype/source/value-u.js: Added.
1963         * test262/test/built-ins/RegExp/prototype/source/value.js: Added.
1964         * test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js.
1965         * test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js.
1966         * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added.
1967         * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js.
1968         * test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js.
1969         * test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js.
1970         * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added.
1971         * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js.
1972         * test262/test/built-ins/String/numeric-properties.js: Added.
1973         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added.
1974         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added.
1975         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added.
1976         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added.
1977         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added.
1978         (reduce):
1979         (compareFTPtoFormat):
1980         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added.
1981         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added.
1982         (obj1.valueOf):
1983         (obj2.toString):
1984         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
1985         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
1986         * test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added.
1987         * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added.
1988         * test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added.
1989         (reduce):
1990         (compareFTPtoFormat):
1991         * test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added.
1992         * test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added.
1993         (obj1.valueOf):
1994         (obj2.toString):
1995         * test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
1996         * test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
1997         * test262/test/language/arguments-object/10.6-10-c-ii-2-s.js:
1998         (foo): Deleted.
1999         * test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added.
2000         (dflt):
2001         * test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added.
2002         (dstr):
2003         * test262/test/language/arguments-object/unmapped/via-params-rest.js: Added.
2004         (rest):
2005         * test262/test/language/arguments-object/unmapped/via-strict.js: Renamed from JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js.
2006         (foo):
2007         * test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js:
2008         (f): Deleted.
2009         * test262/test/language/eval-code/direct/super-call-arrow.js: Added.
2010         (catch):
2011         * test262/test/language/eval-code/direct/super-call-fn.js: Added.
2012         (f):
2013         * test262/test/language/eval-code/direct/super-call.js: Added.
2014         (catch):
2015         * test262/test/language/eval-code/direct/super-prop-arrow.js: Added.
2016         (catch):
2017         * test262/test/language/eval-code/direct/super-prop-method.js: Added.
2018         (o.method):
2019         * test262/test/language/eval-code/direct/super-prop.js: Added.
2020         (catch):
2021         * test262/test/language/eval-code/indirect/super-call.js: Added.
2022         (catch):
2023         (try.m):
2024         * test262/test/language/eval-code/indirect/super-prop.js: Added.
2025         (catch):
2026         (try.m):
2027         * test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added.
2028         (assert.sameValue):
2029         * test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added.
2030         * test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added.
2031         (p.then):
2032         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added.
2033         (async):
2034         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added.
2035         (async):
2036         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added.
2037         (async):
2038         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added.
2039         (async):
2040         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added.
2041         (async):
2042         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added.
2043         (async):
2044         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added.
2045         (async):
2046         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added.
2047         (async):
2048         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added.
2049         (async):
2050         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added.
2051         (async.foo.super):
2052         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added.
2053         (async):
2054         * test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added.
2055         (async):
2056         * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added.
2057         (async.arguments):
2058         * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added.
2059         (async.eval):
2060         * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added.
2061         (async.foo):
2062         * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added.
2063         (async.foo):
2064         * test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added.
2065         (async.foo):
2066         * test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added.
2067         (async.foo):
2068         * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added.
2069         (async.foo):
2070         * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added.
2071         (async.foo):
2072         * test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added.
2073         (async.foo):
2074         * test262/test/language/expressions/async-function/expression-returns-promise.js: Added.
2075         (p.async):
2076         * test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added.
2077         (async.foo):
2078         * test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added.
2079         (async.await):
2080         * test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added.
2081         (async.foo.await):
2082         (async.foo):
2083         * test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added.
2084         (async.foo):
2085         * test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added.
2086         (thenable.then):
2087         (async.foo):
2088         * test262/test/language/expressions/await/await-awaits-thenables.js: Added.
2089         (thenable.then):
2090         (async.foo):
2091         * test262/test/language/expressions/await/await-in-function.js: Added.
2092         (foo):
2093         * test262/test/language/expressions/await/await-in-generator.js: Added.
2094         (foo):
2095         * test262/test/language/expressions/await/await-in-global.js: Added.
2096         * test262/test/language/expressions/await/await-in-nested-function.js: Added.
2097         (async.foo.bar):
2098         (async.foo):
2099         * test262/test/language/expressions/await/await-in-nested-generator.js: Added.
2100         (async.foo.bar):
2101         (async.foo):
2102         * test262/test/language/expressions/await/await-throws-rejections.js: Added.
2103         (async.foo):
2104         * test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added.
2105         (async.foo):
2106         * test262/test/language/expressions/await/no-operand.js: Added.
2107         (async.foo):
2108         * test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added.
2109         (async.foo):
2110         * test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added.
2111         (async.foo):
2112         * test262/test/language/expressions/call/trailing-comma.js: Added.
2113         (foo):
2114         * test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added.
2115         (f):
2116         * test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added.
2117         (f):
2118         * test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added.
2119         (f1):
2120         (f2):
2121         * test262/test/language/expressions/function/params-trailing-comma-length.js: Added.
2122         (assert.sameValue):
2123         * test262/test/language/expressions/function/params-trailing-comma.js: Added.
2124         * test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added.
2125         (g):
2126         * test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added.
2127         (g):
2128         * test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added.
2129         (f1):
2130         (f2):
2131         * test262/test/language/expressions/generators/params-trailing-comma-length.js: Added.
2132         (assert.sameValue):
2133         * test262/test/language/expressions/generators/params-trailing-comma.js: Added.
2134         * test262/test/language/expressions/object/computed-property-evaluation-order.js: Added.
2135         * test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added.
2136         (sup.method):
2137         (child.async.method):
2138         * test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added.
2139         (sup.method):
2140         (child.async.method.x.super.method):
2141         * test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added.
2142         (foo):
2143         * test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added.
2144         (async.foo):
2145         * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added.
2146         (async.foo):
2147         * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added.
2148         (async.foo):
2149         * test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added.
2150         (async.foo):
2151         * test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added.
2152         (async.foo):
2153         * test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added.
2154         (async.foo):
2155         * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added.
2156         (async.foo):
2157         * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added.
2158         (async.foo.foo.super):
2159         * test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added.
2160         (obj.async.method):
2161         * test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added.
2162         (obj.f1):
2163         (obj.f2):
2164         * test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added.
2165         (obj.one):
2166         (obj.two):
2167         * test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added.
2168         (m):
2169         * test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added.
2170         (one):
2171         (two):
2172         * test262/test/language/global-code/decl-func-dup.js: Renamed from JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js.
2173         (f):
2174         * test262/test/language/global-code/decl-func.js: Added.
2175         (brandNew):
2176         * test262/test/language/global-code/decl-lex-configurable-global.js: Added.
2177         * test262/test/language/global-code/decl-lex-deletion.js: Added.
2178         (test262class):
2179         * test262/test/language/global-code/decl-lex-restricted-global.js: Added.
2180         * test262/test/language/global-code/decl-lex.js: Added.
2181         (test262class):
2182         * test262/test/language/global-code/decl-var.js: Added.
2183         * test262/test/language/global-code/return.js: Added.
2184         * test262/test/language/global-code/script-decl-func-dups.js: Added.
2185         * test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added.
2186         * test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added.
2187         * test262/test/language/global-code/script-decl-func.js: Added.
2188         * test262/test/language/global-code/script-decl-lex-deletion.js: Added.
2189         * test262/test/language/global-code/script-decl-lex-lex.js: Added.
2190         (test262Class):
2191         * test262/test/language/global-code/script-decl-lex-restricted-global.js: Added.
2192         * test262/test/language/global-code/script-decl-lex-var.js: Added.
2193         (test262Fn):
2194         * test262/test/language/global-code/script-decl-lex.js: Added.
2195         * test262/test/language/global-code/script-decl-var-collision.js: Added.
2196         (test262Class):
2197         * test262/test/language/global-code/script-decl-var-err.js: Added.
2198         * test262/test/language/global-code/script-decl-var.js: Added.
2199         * test262/test/language/global-code/super-call-arrow.js: Added.
2200         * test262/test/language/global-code/super-call.js: Added.
2201         * test262/test/language/global-code/super-prop-arrow.js: Added.
2202         * test262/test/language/global-code/super-prop.js: Added.
2203         * test262/test/language/global-code/yield-non-strict.js: Added.
2204         (catch):
2205         * test262/test/language/global-code/yield-strict.js: Added.
2206         * test262/test/language/literals/regexp/lastIndex.js: Added.
2207         * test262/test/language/literals/regexp/u-unicode-esc-bounds.js:
2208         * test262/test/language/literals/regexp/y-assertion-start.js: Added.
2209         * test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js:
2210         * test262/test/language/module-code/instn-star-err-not-found.js:
2211         * test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js:
2212         * test262/test/language/module-code/parse-err-return.js: Added.
2213         * test262/test/language/module-code/parse-err-yield.js: Added.
2214         * test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added.
2215         * test262/test/language/statements/async-function/declaration-returns-promise.js: Added.
2216         (async.foo):
2217         * test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added.
2218         (async.foo):
2219         * test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added.
2220         (async.foo):
2221         * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added.
2222         (async.foo):
2223         * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added.
2224         (async.foo):
2225         * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added.
2226         (async.arguments):
2227         * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added.
2228         (async.eval):
2229         * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added.
2230         (async.foo):
2231         * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added.
2232         (async.foo):
2233         * test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added.
2234         (async.foo):
2235         * test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added.
2236         (async.foo):
2237         * test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added.
2238         (async.foo):
2239         * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added.
2240         (async.foo):
2241         * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added.
2242         (async.foo):
2243         * test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added.
2244         (async.foo):
2245         * test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added.
2246         (async.foo):
2247         (foo.then):
2248         * test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added.
2249         (async.foo):
2250         (foo.then):
2251         * test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added.
2252         (async.foo):
2253         (foo.then):
2254         * test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added.
2255         (async.foo):
2256         (foo.then):
2257         * test262/test/language/statements/async-function/evaluation-body.js: Added.
2258         (async.foo):
2259         * test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added.
2260         (async.foo):
2261         (foo.then):
2262         * test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added.
2263         (async.foo):
2264         * test262/test/language/statements/async-function/evaluation-this-value-global.js: Added.
2265         (async.foo):
2266         * test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added.
2267         (async.foo):
2268         * test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added.
2269         (async.foo):
2270         * test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added.
2271         (async.foo):
2272         * test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added.
2273         (async.foo):
2274         * test262/test/language/statements/async-function/syntax-declaration.js: Added.
2275         (async.foo):
2276         (foo.then):
2277         * test262/test/language/statements/class/definition/class-method-returns-promise.js: Added.
2278         (Foo.prototype.async.method):
2279         (Foo):
2280         * test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added.
2281         (Foo.prototype.async.bar):
2282         (Foo):
2283         * test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added.
2284         (Foo.prototype.async.foo):
2285         (Foo):
2286         * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added.
2287         (Foo.prototype.async.foo):
2288         (Foo):
2289         * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added.
2290         (Foo.prototype.async.foo):
2291         (Foo):
2292         * test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added.
2293         (Foo.prototype.async.foo):
2294         (Foo):
2295         * test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added.
2296         (Foo.prototype.async.foo):
2297         (Foo):
2298         * test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added.
2299         (Foo.prototype.async.foo):
2300         (Foo):
2301         * test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added.
2302         (Foo.async.foo):
2303         (Foo):
2304         * test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added.
2305         (Foo.prototype.async.foo):
2306         (Foo):
2307         * test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added.
2308         (A.prototype.async.method):
2309         (A):
2310         (B.prototype.async.method):
2311         (B):
2312         * test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added.
2313         (A.prototype.async.method):
2314         (A):
2315         (B.prototype.async.method):
2316         (B):
2317         * test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added.
2318         (C.prototype.f1):
2319         (C.prototype.f2):
2320         (C):
2321         * test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added.
2322         (C.prototype.one):
2323         (C.prototype.two):
2324         (C):
2325         * test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added.
2326         (C.prototype.m):
2327         (C):
2328         * test262/test/language/statements/class/definition/params-trailing-comma.js: Added.
2329         (C.prototype.one):
2330         (C.prototype.two):
2331         (C):
2332         * test262/test/language/statements/function/arguments-with-arguments-fn.js: Added.
2333         (f):
2334         * test262/test/language/statements/function/arguments-with-arguments-lex.js: Added.
2335         (f):
2336         * test262/test/language/statements/function/params-trailing-comma-arguments.js: Added.
2337         (f1):
2338         (f2):
2339         * test262/test/language/statements/function/params-trailing-comma-length.js: Added.
2340         (one):
2341         (two):
2342         * test262/test/language/statements/function/params-trailing-comma.js: Added.
2343         (one):
2344         (two):
2345         * test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added.
2346         (g):
2347         * test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added.
2348         (g):
2349         * test262/test/language/statements/generators/params-trailing-comma-length.js: Added.
2350         (one):
2351         (two):
2352         * test262/test/language/statements/generators/params-trailing-comma.js: Added.
2353         (one):
2354         (two):
2355         * test262/test262-Revision.txt:
2356
2357 2016-08-23  Benjamin Poulain  <bpoulain@apple.com>
2358
2359         [JSC] Make Math.cos() and Math.sin() work with any argument type
2360         https://bugs.webkit.org/show_bug.cgi?id=161069
2361
2362         Reviewed by Geoffrey Garen.
2363
2364         * stress/arith-cos-on-various-types.js: Added.
2365         * stress/arith-sin-on-various-types.js: Added.
2366
2367 2016-08-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2368
2369         [ES6] Module namespace object's Symbol.iterator method should only accept module namespace objects
2370         https://bugs.webkit.org/show_bug.cgi?id=161097
2371
2372         Reviewed by Keith Miller.
2373
2374         * test262.yaml:
2375
2376 2016-08-22  Yusuke Suzuki  <utatane.tea@gmail.com>
2377
2378         [ES6] Modules' `export default function/class` should be declaration
2379         https://bugs.webkit.org/show_bug.cgi?id=160499
2380
2381         Reviewed by Saam Barati.
2382
2383         Add several module tests. And flip the failed tests flags in test262.
2384
2385         * modules/export-default-function-name-in-assignment-expression.js: Added.
2386         (export.default):
2387         * modules/export-default-function-name-in-class-declaration.js: Added.
2388         * modules/export-default-function-name-in-function-declaration.js: Added.
2389         (export.default):
2390         * modules/export-default-function-name-in-generator-declaration.js: Added.
2391         (export.default):
2392         * stress/method-name.js: Added.
2393         (testSyntax):
2394         (testSyntaxError):
2395         (testSyntaxError.Hello.prototype.hello.hello):
2396         (testSyntaxError.Hello):
2397         (SyntaxError.Unexpected.identifier.string_appeared_here.Expected.an.opening.string_appeared_here.before.a.method.testSyntaxError.let.obj.hello.hello):
2398         (testSyntaxError.Hello.prototype.get hello):
2399         (testSyntaxError.Hello.prototype.set hello):
2400         * test262.yaml:
2401
2402 2016-08-22  Yusuke Suzuki  <utatane.tea@gmail.com>
2403
2404         [ES6] Module should not allow HTML comments
2405         https://bugs.webkit.org/show_bug.cgi?id=161041
2406
2407         Reviewed by Saam Barati.
2408
2409         * modules/html-comments.js: Added.
2410         (shouldThrow):
2411         * test262.yaml:
2412
2413 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
2414
2415         [DFG] Should not fixup AnyIntUse in 32_64
2416         https://bugs.webkit.org/show_bug.cgi?id=161029
2417
2418         Reviewed by Saam Barati.
2419
2420         * typeProfiler/int52-dfg.js: Added.
2421         (test):
2422
2423 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
2424
2425         Unreviewed, rolling out r204697
2426         https://bugs.webkit.org/show_bug.cgi?id=161029
2427
2428         * typeProfiler/int52-dfg.js: Removed.
2429         (test): Deleted.
2430         * typeProfiler/number-filter-dfg.js: Removed.
2431         (test): Deleted.
2432
2433 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
2434
2435         [DFG] Should not fixup AnyIntUse in 32_64
2436         https://bugs.webkit.org/show_bug.cgi?id=161029
2437
2438         Reviewed by Saam Barati.
2439
2440         * typeProfiler/int52-dfg.js: Added.
2441         (test):
2442         * typeProfiler/number-filter-dfg.js: Added.
2443         (test):
2444
2445 2016-08-19  Benjamin Poulain  <bpoulain@apple.com>
2446
2447         [JSC] ArithSqrt should work with any argument type
2448         https://bugs.webkit.org/show_bug.cgi?id=160954
2449
2450         Reviewed by Saam Barati.
2451
2452         * stress/arith-sqrt-on-various-types.js: Added.
2453         (let.validInputTypedTestCases.validInputTestCases.map):
2454         (isIdentical):
2455         (opaqueAllTypesSqrt):
2456         (testAllTypesCall):
2457         (testSingleTypeCall):
2458         (opaqueSqrtForSideEffects):
2459         (testSideEffect.let.testObject.valueOf):
2460         (testSideEffect):
2461         (opaqueSqrtForCSE):
2462         (testCSE.let.testObject.valueOf):
2463         (testCSE):
2464         (testException.opaqueSqrtWithException):
2465         (testException):
2466
2467 2016-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2468
2469         Make custom Error properties (line, column, sourceURL) configurable and writable
2470         https://bugs.webkit.org/show_bug.cgi?id=160984
2471         <rdar://problem/27905979>
2472
2473         Reviewed by Saam Barati.
2474
2475         * stress/native-error-properties.js: Added.
2476         (assert):
2477         (shouldNotThrow):
2478
2479         (checkEmptyErrorPropertiesDescriptors):
2480         (checkNonEmptyErrorPropertiesDescriptors):
2481         The spec only describes the "message" property, so
2482         ensure it has the right descriptor attributes.
2483
2484         (checkErrorPropertiesWritable):
2485         Ensure common error property names are writable.
2486         In strict mode this would have thrown an exception
2487         if they were readonly.
2488
2489 2016-08-18  Mark Lam  <mark.lam@apple.com>
2490
2491         ScopedArguments is using the wrong owner object for a write barrier.
2492         https://bugs.webkit.org/show_bug.cgi?id=160976
2493         <rdar://problem/27328506>
2494
2495         Reviewed by Keith Miller.
2496
2497         * stress/scoped-arguments-write-barrier-should-be-on-scope-object.js: Added.
2498
2499 2016-08-17  JF Bastien  <jfbastien@apple.com>
2500
2501         We allow assignments to const variables when in a for-in/for-of loop
2502         https://bugs.webkit.org/show_bug.cgi?id=156673
2503
2504         Reviewed by Filip Pizlo.
2505
2506         * stress/for-in-of-const.js: Added.
2507         (expect_nothrow):
2508         (expect_throw):
2509         (capture):
2510
2511 2016-08-17  Mark Lam  <mark.lam@apple.com>
2512
2513         Remove an invalid assertion in the DFG backend's GetById emitter.
2514         https://bugs.webkit.org/show_bug.cgi?id=160925
2515         <rdar://problem/27248961>
2516
2517         Reviewed by Filip Pizlo.
2518
2519         * stress/dfg-get-by-id-should-not-assert-non-null-prediction.js: Added.
2520
2521 2016-08-16  Ryan Haddad  <ryanhaddad@apple.com>
2522
2523         Unreviewed, rolling out r204464.
2524
2525         This is no longer needed after r204495.
2526
2527         Reverted changeset:
2528
2529         "Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js"
2530         https://bugs.webkit.org/show_bug.cgi?id=160662
2531         http://trac.webkit.org/changeset/204464
2532
2533 2016-08-15  Ryan Haddad  <ryanhaddad@apple.com>
2534
2535         Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js
2536         https://bugs.webkit.org/show_bug.cgi?id=160662
2537
2538         Unreviewed test gardening.
2539
2540         * mozilla/ecma/LexicalConventions/7.7.3.js:
2541
2542 2016-08-14  Skachkov Oleksandr  <gskachkov@gmail.com>
2543
2544         [2016] Set correct status for test262 after implementation of Object.values&Object.entries
2545         https://bugs.webkit.org/show_bug.cgi?id=160844
2546
2547         Reviewed by Saam Barati.
2548
2549         Patch contains fix statuses of specs in the test262 test collection after implementation of 
2550         Object.values and Object.entries functions. Also patch contains small fixes in tests of the 
2551         tests for Object.values/entries functions.
2552
2553         * stress/object-entries.js:
2554         (Object.getOwnPropertyDescriptor):
2555         * stress/object-values.js:
2556         (Object.getOwnPropertyDescriptor):
2557         * test262.yaml:
2558
2559 2016-08-12  Saam Barati  <sbarati@apple.com>
2560
2561         Inline store loop for CopyRest in DFG and FTL for certain array modes
2562         https://bugs.webkit.org/show_bug.cgi?id=159612
2563
2564         Reviewed by Filip Pizlo.
2565
2566         * stress/rest-parameter-having-a-bad-time.js: Added.
2567         * stress/rest-parameter-many-arguments.js: Added.
2568         * stress/rest-parameter-various-types.js: Added.
2569
2570 2016-08-12  Skachkov Oleksandr  <gskachkov@gmail.com>
2571
2572         [ES2016] Implement Object.entries
2573         https://bugs.webkit.org/show_bug.cgi?id=160412
2574
2575         Reviewed by Saam Barati.
2576
2577         Patch contains tests for Object.entries function and 
2578         fix of wrong tests for Object.values function.
2579
2580         * stress/object-entries.js: 
2581         (compare):
2582         (string_appeared_here.forEach):
2583         (const.getInvokedFunctions.):
2584         (const.getInvokedFunctions):
2585         (Array.prototype.push):
2586         * stress/object-values.js:
2587
2588 2016-08-11  Mark Lam  <mark.lam@apple.com>
2589
2590         OverridesHasInstance should not branch across register allocations.
2591         https://bugs.webkit.org/show_bug.cgi?id=160792
2592         <rdar://problem/27361778>
2593
2594         Reviewed by Benjamin Poulain.
2595
2596         * stress/OverrideHasInstance-should-not-branch-across-register-allocations.js: Added.
2597
2598 2016-08-11  Mark Lam  <mark.lam@apple.com>
2599
2600         The jsc shell's Element host constructor should throw if it fails to construct an object.
2601         https://bugs.webkit.org/show_bug.cgi?id=160773
2602         <rdar://problem/27328608>
2603
2604         Reviewed by Saam Barati.
2605
2606         * stress/generational-opaque-roots.js:
2607
2608 2016-08-11  Mark Lam  <mark.lam@apple.com>
2609
2610         Disallow synchronous sweeping for eden GCs.
2611         https://bugs.webkit.org/show_bug.cgi?id=160716
2612
2613         Reviewed by Geoffrey Garen.
2614
2615         * stress/eden-gc-with-retired-blocks.js: Added.
2616         - This test is just in case we add back support for eden GCs with synchronous
2617           sweeping in the future.
2618
2619 2016-08-10  Michael Saboff  <msaboff@apple.com>
2620
2621         Baseline GetByVal and PutByVal for cache ID stubs need to handle exceptions
2622         https://bugs.webkit.org/show_bug.cgi?id=160749
2623
2624         Reviewed by Filip Pizlo.
2625
2626         New test that causes baseline GetByValWithCachedId and PutByValWithCachedId
2627         stubs to be generated and then throws exceptions for those stub to handle
2628         to verify that they are properly handled.
2629
2630         * stress/regress-160749.js: Added.
2631         (testCachedGetByVal.):
2632         (testCachedGetByVal.get for):
2633         (testCachedGetByVal):
2634         (testCachedPutByVal.):
2635         (testCachedPutByVal.set for):
2636         (testCachedPutByVal):
2637
2638 2016-08-10  Mark Lam  <mark.lam@apple.com>
2639
2640         DFG's flushForTerminal() needs to add PhantomLocals for bytecode live locals.
2641         https://bugs.webkit.org/show_bug.cgi?id=160755
2642         <rdar://problem/27488507>
2643
2644         Reviewed by Filip Pizlo.
2645
2646         * stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js: Added.
2647
2648 2016-08-09  Skachkov Oleksandr  <gskachkov@gmail.com>
2649
2650         [ES2016] Implement Object.values
2651         https://bugs.webkit.org/show_bug.cgi?id=160410
2652
2653         Reviewed by Saam Barati, Yusuke Suzuki.
2654
2655         * stress/object-values.js: Added.
2656         (compare):
2657         (string_appeared_here.forEach):
2658         (const.getInvokedFunctions.):
2659         (const.getInvokedFunctions):
2660         (Array.prototype.push):
2661
2662 2016-08-09  Saam Barati  <sbarati@apple.com>
2663
2664         JSBoundFunction should lazily generate its name string
2665         https://bugs.webkit.org/show_bug.cgi?id=160678
2666         <rdar://problem/27043194>
2667
2668         Reviewed by Mark Lam.
2669
2670         * stress/bound-function-lazy-name-generation.js: Added.
2671         (assert):
2672         (test.let.f):
2673         (test.f):
2674         (test):
2675
2676 2016-08-08  Mark Lam  <mark.lam@apple.com>
2677
2678         ASSERTION FAILED: hasInlineStorage() in JSFinalObject::visitChildren().
2679         https://bugs.webkit.org/show_bug.cgi?id=160666
2680
2681         Reviewed by Keith Miller.
2682
2683         * stress/object-constructor-should-be-new-target-aware.js:
2684
2685 2016-08-07  Yusuke Suzuki  <utatane.tea@gmail.com>
2686
2687         [ES6] Module namespace object should not allow unset IC
2688         https://bugs.webkit.org/show_bug.cgi?id=160553
2689
2690         Reviewed by Saam Barati.
2691
2692         * modules/namespace-object-get-property.js: Added.
2693         (import.as.ns.from.string_appeared_here.shouldThrow):
2694         * modules/namespace-object-has-property.js: Added.
2695         * modules/namespace-object-inline-caching.js: Added.
2696         (import.as.A.from.string_appeared_here.import.as.B.from.string_appeared_here.lookup):
2697         (shouldBe.lookup.lookup):
2698         (shouldBe.lookup):
2699         * modules/namespace-object-inline-caching/a.js: Added.
2700         * modules/namespace-object-inline-caching/b.js: Added.
2701         * modules/namespace-object-try-get.js: Added.
2702         (import.as.ns.from.string_appeared_here.tryGetByIdText):
2703         (tryGetByIdTextStrict):
2704         * modules/namespace-object-typed-array-fast-path.js: Added.
2705         * test262.yaml:
2706
2707 2016-08-05  Saam Barati  <sbarati@apple.com>
2708
2709         various math operations don't properly check for an exception after calling toNumber() on the lhs
2710         https://bugs.webkit.org/show_bug.cgi?id=160154
2711
2712         Reviewed by Mark Lam.
2713
2714         * stress/to-number-throws-correct-exception.js: Added.
2715         (test.let.test.runTest.):
2716         (test.let.test.runTest.get f):
2717         (test.let.test.runTest):
2718         (test.let.test):
2719         (test):
2720         (test2.runTest.):
2721         (test2.runTest.get f):
2722         (test2.runTest):
2723         (test2):
2724
2725 2016-08-05  Saam Barati  <sbarati@apple.com>
2726
2727         Assertion failure when accessing TDZ variable in catch through eval
2728         https://bugs.webkit.org/show_bug.cgi?id=160554
2729
2730         Reviewed by Mark Lam and Keith Miller.
2731
2732         * stress/catch-variables-under-tdz.js: Added.
2733         (test):
2734
2735 2016-08-04  Yusuke Suzuki  <utatane.tea@gmail.com>
2736
2737         [ES6] JSModuleNamespaceObject's Symbol.iterator function should have name
2738         https://bugs.webkit.org/show_bug.cgi?id=160549
2739
2740         Reviewed by Saam Barati.
2741
2742         * modules/namespace-object-symbol-iterator-name.js: Added.
2743         * test262.yaml:
2744
2745 2016-08-04  Keith Miller  <keith_miller@apple.com>
2746
2747         ASSERTION FAILED: !hasInstanceValueNode->isCellConstant() || defaultHasInstanceFunction == hasInstanceValueNode->asCell()
2748         https://bugs.webkit.org/show_bug.cgi?id=160562
2749
2750         Reviewed by Mark Lam.
2751
2752         * stress/instanceof-late-constant-folding.js: Added.
2753         (Constructor):
2754         (value):
2755         (body):
2756
2757 2016-08-04  Caitlin Potter  <caitp@igalia.com>
2758
2759         [JSC] fix generator-syntax.js JSTest again after yield grammar fix
2760         https://bugs.webkit.org/show_bug.cgi?id=160550
2761
2762         Reviewed by Yusuke Suzuki.
2763
2764         * stress/generator-syntax.js:
2765         (testYieldBindingIdentifier):
2766
2767 2016-08-03  Caitlin Potter  <caitp@igalia.com>
2768
2769         Clarify SyntaxErrors around yield and unskip tests
2770         https://bugs.webkit.org/show_bug.cgi?id=158460
2771
2772         Reviewed by Saam Barati.
2773
2774         Fix and unskip tests which erroneously asserted that `yield` is not a
2775         valid BindingIdentifier, and improve error message for YieldExpressions
2776         occuring in Arrow formal parameters.
2777
2778         * stress/generator-syntax.js:
2779         * stress/yield-out-of-generator.js:
2780
2781 2016-08-03  Filip Pizlo  <fpizlo@apple.com>
2782
2783         REGRESSION(r203368): broke some test262 tests
2784         https://bugs.webkit.org/show_bug.cgi?id=160479
2785
2786         Reviewed by Mark Lam.
2787         
2788         Added a stress test for this case, since we don't always run test262.
2789
2790         * stress/freeze-setter.js: Added.
2791         (let.o.set foo):
2792
2793 2016-08-03  Saam Barati  <sbarati@apple.com>
2794
2795         Implement nested rest destructuring w.r.t the ES7 spec
2796         https://bugs.webkit.org/show_bug.cgi?id=160423
2797
2798         Reviewed by Filip Pizlo.
2799
2800         * stress/destructuring-rest-element.js: Added.
2801         (assert):
2802         (test):
2803         (arr):
2804         (eq):
2805         (gen):
2806         (fakeGen.return.Symbol.iterator):
2807         (fakeGen):
2808         * stress/rest-elements.js:
2809         (testSyntaxError.String.raw):
2810         * stress/rest-parameter-is-destructuring.js: Added.
2811         (assert):
2812         (test):
2813         (foo):
2814         (bar):
2815         * test262.yaml:
2816
2817 2016-08-02  Saam Barati  <sbarati@apple.com>
2818
2819         Rename Changelog to ChangeLog
2820
2821         Rubber stamped by Keith Miller.
2822
2823         * Changelog: Removed.
2824
2825 2016-08-02  Saam Barati  <sbarati@apple.com>
2826
2827         update a class extending null w.r.t the ES7 spec
2828         https://bugs.webkit.org/show_bug.cgi?id=160417
2829
2830         Reviewed by Keith Miller.
2831
2832         * Changelog:
2833         * stress/class-derived-from-null.js: Added.
2834         (assert):
2835         (test):
2836         (test1.C):
2837         (test1):
2838         (jsNull):
2839         (test2.C):
2840         (test2):
2841         (test3.C):
2842         (test3.D):
2843         (test3.E):
2844         (test3):
2845         (test4.E):
2846         (test4):
2847         (test5.E):
2848         (test5):
2849         (test6.Base):
2850         (test6.D):
2851         (test6.E):
2852         (test6.F):
2853         (test6.G):
2854         (test6):
2855         * test262.yaml:
2856
2857 2016-08-01  Filip Pizlo  <fpizlo@apple.com>
2858
2859         Rationalize varargs stack overflow checks
2860         https://bugs.webkit.org/show_bug.cgi?id=160425
2861
2862         Reviewed by Michael Saboff.
2863
2864         * stress/arity-check-ftl-throw-more-args.js: Added.
2865         (catch):
2866
2867 2016-08-01  Keith Miller  <keith_miller@apple.com>
2868
2869         We should not keep the JavaScript tests inside the Source/JavaScriptCore/ directory.
2870         https://bugs.webkit.org/show_bug.cgi?id=160372
2871
2872         Rubber stamped by Geoffrey Garen.
2873
2874         This patch moves all the JavaScript tests from Source/JavaScriptCore/tests to
2875         a new top level directory, JSTests. Having the tests in the Source directory
2876         was both confusing an inconvenient for people that just want to checkout the
2877         source code of WebKit. Since there is no other obvious place to put all the
2878         JavaScript tests a new top level directory seemed the most sensible.
2879
2880         * tests/: Deleted.