Ignore:
Timestamp:
Sep 15, 2008, 4:33:25 PM (17 years ago)
Author:
[email protected]
Message:

2008-09-15 Gavin Barraclough <[email protected]>

Reviewed by Geoff Garen.

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.

  • VM/CTI.cpp: (JSC::CTI::emitJumpSlowCaseIfIsJSCell): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::Machine): (JSC::Machine::cti_op_eq_null): (JSC::Machine::cti_op_neq_null):
  • VM/Machine.h: (JSC::Machine::doesMasqueradesAsUndefined):
  • kjs/JSWrapperObject.h: (JSC::JSWrapperObject::): (JSC::JSWrapperObject::JSWrapperObject):
  • kjs/StringObject.h: (JSC::StringObject::StringObject):
  • kjs/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/StringObjectThatMasqueradesAsUndefined.h

    r36263 r36462  
    3030    class StringObjectThatMasqueradesAsUndefined : public StringObject {
    3131    public:
     32        StringObjectThatMasqueradesAsUndefined(VPtrStealingHackType type)
     33            : StringObject(type)
     34        {
     35        }
    3236        StringObjectThatMasqueradesAsUndefined(ExecState* exec, JSObject* prototype, const UString& string)
    3337            : StringObject(exec, prototype, string)
Note: See TracChangeset for help on using the changeset viewer.