RESOLVED FIXED 184400
[JSC] Introduce @putByIdDirectPrivate
https://bugs.webkit.org/show_bug.cgi?id=184400
Summary [JSC] Introduce @putByIdDirectPrivate
Yusuke Suzuki
Reported 2018-04-08 10:03:45 PDT
[JSC] Introduce @putByIdDirectPrivate
Attachments
Patch (25.35 KB, patch)
2018-04-08 10:04 PDT, Yusuke Suzuki
saam: review+
Yusuke Suzuki
Comment 1 2018-04-08 10:04:57 PDT
Saam Barati
Comment 2 2018-04-09 11:06:23 PDT
Comment on attachment 337460 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=337460&action=review r=me > Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:994 > +RegisterID* BytecodeIntrinsicNode::emit_intrinsic_putByIdDirect(BytecodeGenerator& generator, RegisterID* dst) Do we need this since it's unused?
Saam Barati
Comment 3 2018-04-09 11:06:56 PDT
Comment on attachment 337460 [details] Patch Would also be good to add a test that shows how this fixes the property being in the prototype chain.
Caio Lima
Comment 4 2018-04-09 11:08:45 PDT
I think it would be good explain in the ChangeLog the reason for introduction of this new intrinsic. It is not straight forward figure out that just looking into the code.
Yusuke Suzuki
Comment 5 2018-04-09 17:58:25 PDT
Comment on attachment 337460 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=337460&action=review >> Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:994 >> +RegisterID* BytecodeIntrinsicNode::emit_intrinsic_putByIdDirect(BytecodeGenerator& generator, RegisterID* dst) > > Do we need this since it's unused? I'll keep this to test this feature easily. I added the test for this.
Yusuke Suzuki
Comment 6 2018-04-09 17:58:35 PDT
(In reply to Caio Lima from comment #4) > I think it would be good explain in the ChangeLog the reason for > introduction of this new intrinsic. It is not straight forward figure out > that just looking into the code. Added
Yusuke Suzuki
Comment 7 2018-04-09 18:05:48 PDT
Radar WebKit Bug Importer
Comment 8 2018-04-09 18:06:23 PDT
Saam Barati
Comment 9 2018-04-10 18:35:33 PDT
This or https://bugs.webkit.org/show_bug.cgi?id=184372 seems to have caused a 3% Kraken regression.
Saam Barati
Comment 10 2018-04-10 18:42:05 PDT
(In reply to Saam Barati from comment #9) > This or https://bugs.webkit.org/show_bug.cgi?id=184372 seems to have caused > a 3% Kraken regression. Ignore me, surprisingly, it seems this is responsible: https://bugs.webkit.org/show_bug.cgi?id=184322
Saam Barati
Comment 11 2018-04-12 19:26:22 PDT
Comment on attachment 337460 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=337460&action=review > Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:1022 > + return generator.moveToDestinationIfNeeded(dst, generator.emitDirectPutById(base.get(), *ident, value.get(), PropertyNode::KnownDirect)); I just thought of this: We should probably make emitDirectPutById talk to the static property analyzer since we use this inside constructors
Yusuke Suzuki
Comment 12 2018-04-13 02:00:17 PDT
(In reply to Saam Barati from comment #11) > Comment on attachment 337460 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=337460&action=review > > > Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:1022 > > + return generator.moveToDestinationIfNeeded(dst, generator.emitDirectPutById(base.get(), *ident, value.get(), PropertyNode::KnownDirect)); > > I just thought of this: We should probably make emitDirectPutById talk to > the static property analyzer since we use this inside constructors emitDirectPutById contacts with StaticPropertyAnalyzer :)
Note You need to log in before you can comment on or make changes to this bug.