Description[intl] Clean up function name handling in AddBoundMethod
AddBoundMethod, in i18n.js, returns functions all of which share the
same backing SharedFunctionInfo, which means that its calls to
InstallGetter were causing all such functions to have a single name
(that of the last caller, "get breakType").
This patch skips calling InstallGetter and instead directly calls
%DefineGetterPropertyUnchecked, which itself sets the name property
on the JSFunction instance (it knows how to do this in order to handle
getters that have computed property names).
Also takes care of a TODO having to do with the inner boundMethod:
its name is now made empty, by using a new macro that gets around
ES2015's function name inference.
Finally, removes a redundant %FunctionRemovePrototype: arrow functions
have no prototypes to begin with.
R=littledan@chromium.org
BUG=v8:4778
Committed: https://crrev.com/54ce1935b5160045822fa5f17ab7cd01d54cf884
Cr-Commit-Position: refs/heads/master@{#37459}
Patch Set 1 #
Total comments: 3
Patch Set 2 : Simpler, but hackier approach #Patch Set 3 : Use an arrow function #Patch Set 4 : Getter cannot be an arrow function, of course #Patch Set 5 : Fix build, I think #
Messages
Total messages: 20 (8 generated)
|