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