[Webkit-unassigned] [Bug 167963] [ESnext] Implement Object Spread
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Mar 14 11:30:19 PDT 2017
https://bugs.webkit.org/show_bug.cgi?id=167963
Yusuke Suzuki <utatane.tea at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #304214|review? |review+
Flags| |
--- Comment #3 from Yusuke Suzuki <utatane.tea at gmail.com> ---
Comment on attachment 304214
--> https://bugs.webkit.org/attachment.cgi?id=304214
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=304214&action=review
r=me with comments.
> Source/JavaScriptCore/builtins/BuiltinNames.h:73
> + macro(getOwnPropertySymbols) \
I think it is not necessary. The reason will be described in the following comments :).
> Source/JavaScriptCore/builtins/GlobalOperations.js:90
> return target;
How about just using `== null`?
> Source/JavaScriptCore/builtins/GlobalOperations.js:92
> let from = @toObject(source);
I think we should use `@Object(source)` here. And we can drop `@toObject`.
`@Object` is nice because it is well handled in DFG :) (Like, if source is likely an object, we emit the fixup edge and drop @Object call!).
> Source/JavaScriptCore/builtins/GlobalOperations.js:94
> + let propertyNames = @Object. at getOwnPropertyNames(from);
> + let keys = propertyNames. at concat(@Object. at getOwnPropertySymbols(from));
You can use @Reflect. at ownKeys().
> Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:4238
> + HashSet<UniquedStringImpl*> excludedSet;
BTW, who guarantees this UniquedStringImpl*'s lifetime? Is HashSet<Ref<UniquedStringImpl>> correct?
> Source/JavaScriptCore/parser/NodeConstructors.h:239
> + : m_name(0)
Use nullptr.
> Source/JavaScriptCore/runtime/ArrayPrototype.cpp:93
> + JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->builtinNames().concatPrivateName(), arrayPrototypeConcatCodeGenerator, DontEnum | DontDelete | ReadOnly);
So I think it is not necessary.
> Source/JavaScriptCore/runtime/ObjectConstructor.cpp:108
> + JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->builtinNames().getOwnPropertySymbolsPrivateName(), objectConstructorGetOwnPropertySymbols, DontEnum, 1);
Ditto.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170314/cb9e9920/attachment.html>
More information about the webkit-unassigned
mailing list