RESOLVED FIXED156330
Rationalize the handling of PutById transitions a bit
https://bugs.webkit.org/show_bug.cgi?id=156330
Summary Rationalize the handling of PutById transitions a bit
Filip Pizlo
Reported 2016-04-06 21:37:12 PDT
Patch forthcoming.
Attachments
work in progress (9.40 KB, patch)
2016-04-06 21:37 PDT, Filip Pizlo
no flags
the patch (10.60 KB, patch)
2016-04-07 10:33 PDT, Filip Pizlo
mark.lam: review+
Filip Pizlo
Comment 1 2016-04-06 21:37:43 PDT
Created attachment 275862 [details] work in progress
Filip Pizlo
Comment 2 2016-04-07 10:33:11 PDT
Created attachment 275894 [details] the patch
Mark Lam
Comment 3 2016-04-07 10:55:59 PDT
Comment on attachment 275894 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=275894&action=review r=me with fix. > Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp:1050 > - if (newStructure()->outOfLineCapacity() != structure()->outOfLineCapacity() > - && structure()->outOfLineCapacity()) > + if (allocating) This should be "if (reallocating)".
Filip Pizlo
Comment 4 2016-04-07 10:58:10 PDT
(In reply to comment #3) > Comment on attachment 275894 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=275894&action=review > > r=me with fix. > > > Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp:1050 > > - if (newStructure()->outOfLineCapacity() != structure()->outOfLineCapacity() > > - && structure()->outOfLineCapacity()) > > + if (allocating) > > This should be "if (reallocating)". Actually, it needs to be "allocating" because we now use scratchGPR3 in the store barrier slow path, which happens when we're either allocating or reallocating.
Mark Lam
Comment 5 2016-04-07 10:58:50 PDT
Comment on attachment 275894 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=275894&action=review >>> Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp:1050 >>> + if (allocating) >> >> This should be "if (reallocating)". > > Actually, it needs to be "allocating" because we now use scratchGPR3 in the store barrier slow path, which happens when we're either allocating or reallocating. Oh, I missed that. LGTM.
Filip Pizlo
Comment 6 2016-04-07 11:17:25 PDT
Note You need to log in before you can comment on or make changes to this bug.