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.
Created attachment 23448 [details] The patch
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"
*wag I said wag!
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.