[webkit-reviews] review granted: [Bug 212519] [JSC] for-in should allocate new temporary register for base : [Attachment 400615] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri May 29 14:42:57 PDT 2020
Saam Barati <sbarati at apple.com> has granted Yusuke Suzuki <ysuzuki at apple.com>'s
request for review:
Bug 212519: [JSC] for-in should allocate new temporary register for base
https://bugs.webkit.org/show_bug.cgi?id=212519
Attachment 400615: Patch
https://bugs.webkit.org/attachment.cgi?id=400615&action=review
--- Comment #4 from Saam Barati <sbarati at apple.com> ---
Comment on attachment 400615
--> https://bugs.webkit.org/attachment.cgi?id=400615
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=400615&action=review
Nice!
r=me
> Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:1855
> + auto canUseFastHasOwnProperty = [&] {
nice!
> Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:1865
> + return
generator.variable(generator.propertyNames().thisIdentifier,
ThisResolutionType::Local) == structureContext->baseVariable().value();
what happens for heap |this| inside arrow function?
> Source/JavaScriptCore/parser/ASTBuilder.h:1454
> + && (dot->base()->isResolveNode() || dot->base()->isThisNode())
> + && (!dot->base()->isResolveNode() ||
static_cast<ResolveNode*>(dot->base())->identifier() != "Reflect")) {
nit: you could make it:
((dot->base->isResolveNode() && ...->id() != "Reflect) ||
dot->base->isThisNode())
to avoid double vtable call
More information about the webkit-reviews
mailing list