-
mjs@apple.com authored
2008-09-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dave Hyatt. Based on initial work by Darin Adler. - replace masqueradesAsUndefined virtual method with a flag in TypeInfo - use this to JIT inline code for eq_null and neq_null https://bugs.webkit.org/show_bug.cgi?id=20823 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 <mjs@apple.com> Reviewed by Dave Hyatt. Based on initial work by Darin Adler. - replace masqueradesAsUndefined virtual method with a flag in TypeInfo - use this to JIT inline code for eq_null and neq_null https://bugs.webkit.org/show_bug.cgi?id=20823 * 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): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
a173abd0