- 23 Jun, 2021 1 commit
-
-
Timothy Gu authored
https://github.com/tc39/ecma262/pull/1490 changed the spec so that the "name" property of a class should be installed after "length" but before "prototype". This CL adapts accordingly. After this change, there is now no need for the separate code path to set the "name" accessor at runtime. Delete the relevant runtime code as well. Bug: v8:8771 Change-Id: I8f809b45bf209c899cf5df76d0ebf6d9a45a6d4e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2974772 Commit-Queue: Timothy Gu <timothygu@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#75340}
-
- 18 Aug, 2020 1 commit
-
-
Shu-yu Guo authored
This is a normative PR that reached consensus at the June 2019 TC39: https://github.com/tc39/test262/pull/2299 Bug: v8:9646 Change-Id: I8cb927b9e9231dfb71ebf47171205a096350e38b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360905Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#69460}
-
- 27 Nov, 2019 1 commit
-
-
Joshua Litt authored
This reverts commit 48c9ca44. Reason for revert: Possible clusterfuzz issues Bug: chromium:1028952 Original change's description: > [names] Fix some test262 name tests to conform with spec changes > > In order to reflect web reality, TC39 has made some slight changes to > name descriptors, see https://github.com/tc39/ecma262/pull/1490 for > details. V8 was mostly already in compliance with these changes, but > ThrowTypeError and anonymous classes needed some slight changes. > > Bug: v8:9646 > Change-Id: I163238954938f0c005e3adbc61b90498e01436da > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1764622 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63373} TBR=gsathya@chromium.org,joshualitt@chromium.org Bug: v8:9646 Change-Id: I06dd5527d30052d9c9dfc45a2862be930274aba7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1939948Reviewed-by:
Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65216}
-
- 23 Aug, 2019 1 commit
-
-
Joshua Litt authored
In order to reflect web reality, TC39 has made some slight changes to name descriptors, see https://github.com/tc39/ecma262/pull/1490 for details. V8 was mostly already in compliance with these changes, but ThrowTypeError and anonymous classes needed some slight changes. Bug: v8:9646 Change-Id: I163238954938f0c005e3adbc61b90498e01436da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1764622Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63373}
-
- 20 Jun, 2017 1 commit
-
-
Igor Sheludko authored
The initial implementation did not work in certain cases. For example, in the following case 'f' didn't have a shared name while it should have had an empty shared name: var f = (function() { return function() { return 42; } }(); The new implementation ensures that all anonymous functions have empty shared name and if any of them happen to be an object literal property value or an accessor function or a concise method then such a function is marked as having no shared name. Bug: v8:6459 Change-Id: I0f936afce0c152d91b2b41c1dc475a5ed841eca0 Reviewed-on: https://chromium-review.googlesource.com/538666Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46026}
-
- 06 Jun, 2017 1 commit
-
-
Igor Sheludko authored
Properly propagate the fact that the function has a statically known name from parser to SharedFunctionInfo objects. The empty string that has been set as name before this CL does not help to distinguish cases like: var o1 = { ''(){} }; var o1 = { [foo()](){} }; or var o2 = { get ''(){} }; var o2 = { get [foo()](){} }; This is a preliminary step for using different layouts for closure objects with and without computed names. TBR=bmeurer@chromium.org, marja@chromium.org Bug: v8:6459 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I10afa6f4bda7881c3714711a75f720f83c1d875d Reviewed-on: https://chromium-review.googlesource.com/522073 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45744}
-
- 14 Dec, 2016 1 commit
-
-
nikolaos authored
Without this patch, the tests on lines 410, 414, 418 and 422 in function testNonStaticName of test/mjsunit/es6/function-name.js would all fail. The bug caused non-static "name" methods and properties to be mistaken for static ones. R=adamk@chromium.org, verwaest@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2567343004 Cr-Commit-Position: refs/heads/master@{#41692}
-
- 07 Dec, 2016 1 commit
-
-
henrique.ferreiro authored
This allows to detect a static property also named 'name', and also makes sure 'name' is added last, to be standards-compliant. BUG=v8:4199 Review-Url: https://codereview.chromium.org/2423053002 Cr-Commit-Position: refs/heads/master@{#41546}
-
- 06 Sep, 2016 1 commit
-
-
bakkot authored
Move the code to perform function name inference for properties into parsing the properties themselves, instead of the containing object. This allows us to avoid unnecessary calls when parsing shorthand properties and methods and simplifies the logic in the remaining cases. Also fixes an edge case bug: inferring the name of the getter in `class { static get constructor(){} }`. Review-Url: https://codereview.chromium.org/2313723005 Cr-Commit-Position: refs/heads/master@{#39222}
-
- 22 Jul, 2016 1 commit
-
-
jwolfe authored
See discussion in https://codereview.chromium.org/2156303002/#msg8 With the new --harmony-function-tostring behavior, these tests would fail without this change. This change makes the tests pass regardless of whether or not --harmony-function-tostring is used. All of these changes are simply inserting a space after the "function" keyword to match the current function toString behavior. When --harmony-function-tostring is enabled, the toString behavior matches the spacing used in the function declaration. With the declaration matching the current formatting, the toString behavior becomes unaffected by --harmony-function-tostring. BUG=v8:4958 LOG=n Review-Url: https://codereview.chromium.org/2161413002 Cr-Commit-Position: refs/heads/master@{#37959}
-
- 24 Jun, 2016 1 commit
-
-
adamk authored
Flags removed (all begin with "harmony-"): function-name instanceof iterator-close unicode-regexps regexp-exec regexp-subclass species BUG=v8:3566, v8:3648, v8:3699, v8:4093, v8:4447, v8:4602 Review-Url: https://codereview.chromium.org/2096933002 Cr-Commit-Position: refs/heads/master@{#37235}
-
- 10 Mar, 2016 1 commit
-
-
adamk authored
These flags have been on by default since version 4.9, which has been in stable Chrome for over a week now, demonstrating that they're here to stay. Also moved the tests out of harmony/ and into es6/. Review URL: https://codereview.chromium.org/1776683003 Cr-Commit-Position: refs/heads/master@{#34692}
-
- 19 Feb, 2016 1 commit
-
-
adamk authored
Various syntactic forms now cause functions to have names where they didn't before. Per the upcoming changes to the toString spec, only a name that was literally part of a function's expression or declaration is meant to be reflected in toString. This also happens to be the same set of names that V8 currently outputs (without the --harmony-function-name flag). This required distinguishing anonymous FunctionExpressions from other sorts of function definitions (like methods and getters/setters) in the AST, parser, and at runtime. The patch also takes the opportunity to remove one more argument (and enum) from FunctionLiteral, as well as adding a special factory method for the case of a FunctionLiteral representing toplevel or eval'd code. BUG=v8:4760 LOG=n Review URL: https://codereview.chromium.org/1712833002 Cr-Commit-Position: refs/heads/master@{#34132}
-
- 04 Feb, 2016 1 commit
-
-
adamk authored
Adds a new runtime function, %DefineDataPropertyInLiteral, which takes a fifth argument specifying whether the property and value are syntactically such that the value is a function (or class) literal that should have its name set at runtime. The new runtime call also allows us to eliminate the now-redundant %DefineClassMethod runtime function. This should get much less ugly once we can desugar the "dynamic" part of object literals in the parser (but that work is currently blocked on having a performant way of desugaring literals). BUG=v8:3699, v8:3761 LOG=n Review URL: https://codereview.chromium.org/1626423003 Cr-Commit-Position: refs/heads/master@{#33756}
-
- 27 Jan, 2016 1 commit
-
-
adamk authored
Note that in these cases, we don't support computed property names yet, just as we don't for object and class literals. BUG=v8:3699, v8:4710 LOG=n Review URL: https://codereview.chromium.org/1634403002 Cr-Commit-Position: refs/heads/master@{#33562}
-
- 13 Jan, 2016 1 commit
-
-
caitpotter88 authored
BUG=v8:3699 LOG=N R=adamk@chromium.org, rossberg@chromium.org, littledan@chromium.org Review URL: https://codereview.chromium.org/1582783004 Cr-Commit-Position: refs/heads/master@{#33276}
-
- 06 Jan, 2016 1 commit
-
-
adamk authored
This required refactoring ParsePropertyDefinition to pass the parsed string name as an out param, since ObjectLiteralProperty stores Smis for Smi-representable property keys. Computed properties are not yet handled in this patch. BUG=v8:3699 LOG=n Review URL: https://codereview.chromium.org/1563923002 Cr-Commit-Position: refs/heads/master@{#33141}
-
- 12 Dec, 2015 1 commit
-
-
adamk authored
This is behind the --harmony-function-name flag, currently disabled. With the flag enabled, we now pass the relevant tests in language/statements/*/fn-name-*. BUG=v8:3699 LOG=y Review URL: https://codereview.chromium.org/1518873004 Cr-Commit-Position: refs/heads/master@{#32817}
-