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