RESOLVED WONTFIX 130857
Avoid fetching JSObject::structure() repeatedly in putDirectInternal.
https://bugs.webkit.org/show_bug.cgi?id=130857
Summary Avoid fetching JSObject::structure() repeatedly in putDirectInternal.
Andreas Kling
Reported 2014-03-27 13:45:16 PDT
Avoid fetching JSObject::structure() repeatedly in putDirectInternal.
Attachments
Patch (3.83 KB, patch)
2014-03-27 13:45 PDT, Andreas Kling
mhahnenberg: review+
Andreas Kling
Comment 1 2014-03-27 13:45:51 PDT
Mark Hahnenberg
Comment 2 2014-03-27 15:20:33 PDT
Comment on attachment 227974 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=227974&action=review r=me > Source/JavaScriptCore/runtime/JSObject.h:1346 > + if (Structure* newStructure = Structure::addPropertyTransitionToExistingStructure(this->structure(), propertyName, attributes, specificFunction, offset)) { s/this->structure()/structure/ right?
Andreas Kling
Comment 3 2014-03-27 15:39:49 PDT
Filip Pizlo
Comment 4 2014-03-27 16:51:37 PDT
Comment on attachment 227974 [details] Patch This really should have asserted, in all of the places that you removed a load of the structure, that the structure didn't change. That's very important since there are subtle ways in which things could *become* effectful and obviously this code could break if that happened.
Andreas Kling
Comment 5 2014-03-27 16:54:20 PDT
(In reply to comment #4) > (From update of attachment 227974 [details]) > This really should have asserted, in all of the places that you removed a load of the structure, that the structure didn't change. That's very important since there are subtle ways in which things could *become* effectful and obviously this code could break if that happened. Sure, I'll slap that in there.
WebKit Commit Bot
Comment 6 2014-03-27 22:21:48 PDT
Re-opened since this is blocked by bug 130887
Andreas Kling
Comment 7 2014-03-27 22:33:39 PDT
(In reply to comment #5) > (In reply to comment #4) > > (From update of attachment 227974 [details] [details]) > > This really should have asserted, in all of the places that you removed a load of the structure, that the structure didn't change. That's very important since there are subtle ways in which things could *become* effectful and obviously this code could break if that happened. > > Sure, I'll slap that in there. Ended up rolling this out instead. I had misread the profile that lead to making this change.
Note You need to log in before you can comment on or make changes to this bug.