Ignore:
Timestamp:
Sep 22, 2008, 6:59:06 AM (17 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

2008-09-22 Maciej Stachowiak <[email protected]>

Reviewed by Dave Hyatt.


Based on initial work by Darin Adler.


0.5% speedup on SunSpider
~4% speedup on Richards benchmark


  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/Machine.cpp: (JSC::jsTypeStringForValue): (JSC::jsIsObjectType): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_is_undefined):
  • VM/Machine.h:
  • kjs/JSCell.h:
  • kjs/JSValue.h:
  • kjs/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::create): (JSC::StringObjectThatMasqueradesAsUndefined::createStructureID):
  • kjs/StructureID.h: (JSC::StructureID::mutableTypeInfo):
  • kjs/TypeInfo.h: (JSC::TypeInfo::TypeInfo): (JSC::TypeInfo::masqueradesAsUndefined):
  • kjs/operations.cpp: (JSC::equal):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::setne_r): (JSC::X86Assembler::setnz_r): (JSC::X86Assembler::testl_i32m):

WebCore:

2008-09-22 Maciej Stachowiak <[email protected]>

Reviewed by Dave Hyatt.

Based on initial work by Darin Adler.



  • WebCore.xcodeproj/project.pbxproj:
  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter):
  • bindings/js/JSHTMLAllCollection.cpp: Added. (WebCore::):
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::createStructureID): (WebCore::JSHTMLAllCollection::toBoolean):
File:
1 edited

Legend:

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

    r36726 r36764  
    2222#define StringObjectThatMasqueradesAsUndefined_h
    2323
     24#include "JSGlobalObject.h"
    2425#include "StringObject.h"
    2526#include "ustring.h"
     
    3031    class StringObjectThatMasqueradesAsUndefined : public StringObject {
    3132    public:
     33        static StringObjectThatMasqueradesAsUndefined* create(ExecState* exec, const UString& string)
     34        {
     35            return new (exec) StringObjectThatMasqueradesAsUndefined(exec,
     36                createStructureID(exec->lexicalGlobalObject()->stringPrototype()), string);
     37        }
     38
     39    private:
    3240        StringObjectThatMasqueradesAsUndefined(ExecState* exec, PassRefPtr<StructureID> structure, const UString& string)
    3341            : StringObject(exec, structure, string)
     
    3543        }
    3644
    37         virtual bool masqueradeAsUndefined() const { return true; }
     45        static PassRefPtr<StructureID> createStructureID(JSValue* proto)
     46        {
     47            return StructureID::create(proto, TypeInfo(ObjectType, MasqueradesAsUndefined));
     48        }
     49
    3850        virtual bool toBoolean(ExecState*) const { return false; }
    3951    };
Note: See TracChangeset for help on using the changeset viewer.