RESOLVED FIXED 20862
Inline code generation of eq_null/neq_null for CTI.
https://bugs.webkit.org/show_bug.cgi?id=20862
Summary Inline code generation of eq_null/neq_null for CTI.
Gavin Barraclough
Reported 2008-09-15 15:29:31 PDT
Inline code generation of eq_null/neq_null for CTI. Uses vptr checking for StringObjectsThatAreMasqueradingAsBeingUndefined. In the long run, the masquerading may be handled differently (through the StructureIDs - see bug #20823). >1% on v8-tests.
Attachments
The patch (12.31 KB, patch)
2008-09-15 15:31 PDT, Gavin Barraclough
ggaren: review+
Gavin Barraclough
Comment 1 2008-09-15 15:31:28 PDT
Created attachment 23448 [details] The patch
Geoffrey Garen
Comment 2 2008-09-15 15:40:34 PDT
Comment on attachment 23448 [details] The patch r=me, but i give a stern parental was of the index finger at this vptr abuse -- we need to get off of it! Also, please add a comment in JSObject.h by the declaration of JSObject::masqueradesAsUndefined that basically says, "You can't usefully override this virtual function without hand-coding some assembly in CTI.cpp"
Geoffrey Garen
Comment 3 2008-09-15 15:41:03 PDT
*wag I said wag!
Gavin Barraclough
Comment 4 2008-09-15 16:33:52 PDT
Sending JavaScriptCore/ChangeLog Sending JavaScriptCore/VM/CTI.cpp Sending JavaScriptCore/VM/CTI.h Sending JavaScriptCore/VM/Machine.cpp Sending JavaScriptCore/VM/Machine.h Sending JavaScriptCore/kjs/JSCell.h Sending JavaScriptCore/kjs/JSWrapperObject.h Sending JavaScriptCore/kjs/StringObject.h Sending JavaScriptCore/kjs/StringObjectThatMasqueradesAsUndefined.h Transmitting file data ......... Committed revision 36462.
Note You need to log in before you can comment on or make changes to this bug.