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