1. 15 Jun, 2008 11 commits
    • darin@apple.com's avatar
      JavaScriptCore: · 3dcb636f
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSClassRef.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSStringRef.cpp:
              * API/JSStringRefCF.cpp:
              * API/JSValueRef.cpp:
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/CodeBlock.cpp:
              * VM/CodeGenerator.cpp:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/Machine.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/DateMath.cpp:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/ExecState.cpp:
              * kjs/JSActivation.cpp:
              * kjs/JSFunction.cpp: Copied from JavaScriptCore/kjs/function.cpp.
              * kjs/JSFunction.h: Copied from JavaScriptCore/kjs/function.h.
              * kjs/JSImmediate.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSObject.cpp: Copied from JavaScriptCore/kjs/object.cpp.
              * kjs/JSObject.h: Copied from JavaScriptCore/kjs/object.h.
              * kjs/JSString.h: Copied from JavaScriptCore/kjs/internal.h.
              * kjs/JSValue.cpp: Copied from JavaScriptCore/kjs/value.cpp.
              * kjs/JSValue.h: Copied from JavaScriptCore/kjs/value.h.
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.h:
              * kjs/Shell.cpp:
              * kjs/SymbolTable.h:
              * kjs/array_instance.h:
              * kjs/collector.cpp:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              * kjs/function.cpp: Removed.
              * kjs/function.h: Removed.
              * kjs/function_object.cpp:
              * kjs/function_object.h:
              * kjs/grammar.y:
              * kjs/internal.cpp:
              * kjs/internal.h: Removed.
              * kjs/lexer.cpp:
              * kjs/list.h:
              * kjs/lookup.h:
              * kjs/nodes.h:
              * kjs/object.cpp: Removed.
              * kjs/object.h: Removed.
              * kjs/object_object.h:
              * kjs/operations.cpp:
              * kjs/property_map.cpp:
              * kjs/property_slot.cpp:
              * kjs/property_slot.h:
              * kjs/protect.h:
              * kjs/regexp_object.cpp:
              * kjs/scope_chain.cpp:
              * kjs/string_object.h:
              * kjs/ustring.cpp:
              * kjs/value.cpp: Removed.
              * kjs/value.h: Removed.
              * profiler/Profile.cpp:
              * profiler/Profiler.cpp:
      
      JavaScriptGlue:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
              * ForwardingHeaders/kjs/value.h: Removed.
              * JSUtils.h:
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * ForwardingHeaders/kjs/JSFunction.h: Copied from WebCore/ForwardingHeaders/kjs/function.h.
              * ForwardingHeaders/kjs/JSObject.h: Copied from WebCore/ForwardingHeaders/kjs/object.h.
              * ForwardingHeaders/kjs/JSString.h: Copied from WebCore/ForwardingHeaders/kjs/internal.h.
              * ForwardingHeaders/kjs/JSValue.h: Copied from WebCore/ForwardingHeaders/kjs/value.h.
              * ForwardingHeaders/kjs/function.h: Removed.
              * ForwardingHeaders/kjs/internal.h: Removed.
              * ForwardingHeaders/kjs/object.h: Removed.
              * ForwardingHeaders/kjs/value.h: Removed.
              * WebCore.vcproj/WebCore.vcproj:
              * bindings/js/JSCustomSQLStatementCallback.h:
              * bindings/js/JSCustomSQLStatementErrorCallback.h:
              * bindings/js/JSCustomSQLTransactionErrorCallback.h:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDOMWindowShell.cpp:
              * bindings/js/JSQuarantinedObjectWrapper.h:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_utility.h:
              * bridge/qt/qt_runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_array.h:
              * bridge/runtime_method.h:
              * bridge/runtime_object.h:
              * bridge/testbindings.cpp:
              * bridge/testbindings.mm:
              * bridge/testqtbindings.cpp:
              * loader/FrameLoader.cpp:
              * page/JavaScriptCallFrame.cpp:
              * page/JavaScriptProfile.cpp:
              * page/JavaScriptProfileNode.cpp:
              * platform/graphics/gtk/VideoSinkGStreamer.h:
              * plugins/PluginView.cpp:
              * plugins/gtk/PluginViewGtk.cpp:
              * plugins/qt/PluginViewQt.cpp:
              * plugins/win/PluginViewWin.cpp:
      
      WebKit/gtk:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * WebCoreSupport/ContextMenuClientGtk.cpp:
              * webkit/webkitnetworkrequest.h:
              * webkit/webkitwebbackforwardlist.h:
              * webkit/webkitwebframe.h:
              * webkit/webkitwebhistoryitem.h:
              * webkit/webkitwebsettings.h:
      
      WebKit/mac:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
              * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
              * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
              * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
              * ForwardingHeaders/kjs/function.h: Removed.
              * ForwardingHeaders/kjs/internal.h: Removed.
              * ForwardingHeaders/kjs/object.h: Removed.
              * ForwardingHeaders/kjs/value.h: Removed.
              * WebView/WebScriptDebugDelegate.mm:
      
      WebKit/qt:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * Api/qwebframe.cpp:
      
      WebKit/win:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * WebView.cpp:
      
      WebKit/wx:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - new names for a few key JavaScriptCore files
      
              * WebView.cpp:
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/do-file-rename: Updated for the latest round of renaming.
              * Scripts/do-webcore-rename: Tweaked and reorganized a bit.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3dcb636f
    • darin@apple.com's avatar
      JavaScriptCore: · 6de4edca
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - cut down on confusing uses of "Object" and "Imp" in
                JavaScriptCore class names
      
              * API/JSCallbackFunction.cpp:
              (KJS::JSCallbackFunction::JSCallbackFunction):
              * API/JSCallbackFunction.h:
              * VM/Machine.cpp:
              (KJS::Machine::privateExecute):
              * kjs/ExecState.h:
              (KJS::ExecState::regExpTable):
              (KJS::ExecState::regExpConstructorTable):
              * kjs/JSGlobalData.cpp:
              (KJS::JSGlobalData::JSGlobalData):
              (KJS::JSGlobalData::~JSGlobalData):
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::reset):
              * kjs/JSGlobalObject.h:
              (KJS::JSGlobalObject::objectConstructor):
              (KJS::JSGlobalObject::functionConstructor):
              (KJS::JSGlobalObject::arrayConstructor):
              (KJS::JSGlobalObject::booleanConstructor):
              (KJS::JSGlobalObject::stringConstructor):
              (KJS::JSGlobalObject::numberConstructor):
              (KJS::JSGlobalObject::dateConstructor):
              (KJS::JSGlobalObject::regExpConstructor):
              (KJS::JSGlobalObject::errorConstructor):
              (KJS::JSGlobalObject::evalErrorConstructor):
              (KJS::JSGlobalObject::rangeErrorConstructor):
              (KJS::JSGlobalObject::referenceErrorConstructor):
              (KJS::JSGlobalObject::syntaxErrorConstructor):
              (KJS::JSGlobalObject::typeErrorConstructor):
              (KJS::JSGlobalObject::URIErrorConstructor):
              * kjs/array_object.cpp:
              (KJS::ArrayConstructor::ArrayConstructor):
              (KJS::ArrayConstructor::getConstructData):
              (KJS::ArrayConstructor::construct):
              (KJS::ArrayConstructor::callAsFunction):
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              (KJS::BooleanObject::BooleanObject):
              (KJS::BooleanPrototype::BooleanPrototype):
              (KJS::booleanProtoFuncToString):
              (KJS::booleanProtoFuncValueOf):
              (KJS::BooleanConstructor::BooleanConstructor):
              (KJS::BooleanConstructor::getConstructData):
              (KJS::BooleanConstructor::construct):
              (KJS::BooleanConstructor::callAsFunction):
              * kjs/bool_object.h:
              * kjs/date_object.cpp:
              (KJS::DatePrototype::DatePrototype):
              (KJS::DateConstructor::DateConstructor):
              (KJS::DateConstructor::getConstructData):
              (KJS::DateConstructor::construct):
              (KJS::DateConstructor::callAsFunction):
              (KJS::DateFunction::DateFunction):
              (KJS::DateFunction::callAsFunction):
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              (KJS::ErrorPrototype::ErrorPrototype):
              (KJS::ErrorConstructor::ErrorConstructor):
              (KJS::ErrorConstructor::getConstructData):
              (KJS::ErrorConstructor::construct):
              (KJS::ErrorConstructor::callAsFunction):
              (KJS::NativeErrorConstructor::NativeErrorConstructor):
              (KJS::NativeErrorConstructor::getConstructData):
              (KJS::NativeErrorConstructor::construct):
              (KJS::NativeErrorConstructor::callAsFunction):
              (KJS::NativeErrorConstructor::mark):
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::JSFunction::JSFunction):
              (KJS::JSFunction::mark):
              (KJS::JSFunction::getOwnPropertySlot):
              (KJS::JSFunction::put):
              (KJS::JSFunction::deleteProperty):
              (KJS::PrototypeFunction::PrototypeFunction):
              (KJS::PrototypeReflexiveFunction::PrototypeReflexiveFunction):
              (KJS::PrototypeReflexiveFunction::mark):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (KJS::functionProtoFuncToString):
              (KJS::FunctionConstructor::FunctionConstructor):
              (KJS::FunctionConstructor::getConstructData):
              (KJS::FunctionConstructor::construct):
              (KJS::FunctionConstructor::callAsFunction):
              * kjs/function_object.h:
              * kjs/internal.cpp:
              (KJS::StringObject::create):
              (KJS::JSString::toObject):
              (KJS::JSString::toThisObject):
              (KJS::JSString::getOwnPropertySlot):
              (KJS::InternalFunction::InternalFunction):
              (KJS::InternalFunction::getCallData):
              (KJS::InternalFunction::implementsHasInstance):
              * kjs/math_object.cpp:
              (KJS::MathObject::MathObject):
              (KJS::MathObject::getOwnPropertySlot):
              (KJS::MathObject::getValueProperty):
              * kjs/math_object.h:
              * kjs/number_object.cpp:
              (KJS::NumberObject::NumberObject):
              (KJS::NumberPrototype::NumberPrototype):
              (KJS::numberProtoFuncToString):
              (KJS::numberProtoFuncToLocaleString):
              (KJS::numberProtoFuncValueOf):
              (KJS::numberProtoFuncToFixed):
              (KJS::numberProtoFuncToExponential):
              (KJS::numberProtoFuncToPrecision):
              (KJS::NumberConstructor::NumberConstructor):
              (KJS::NumberConstructor::getOwnPropertySlot):
              (KJS::NumberConstructor::getValueProperty):
              (KJS::NumberConstructor::getConstructData):
              (KJS::NumberConstructor::construct):
              (KJS::NumberConstructor::callAsFunction):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::JSObject::putDirectFunction):
              * kjs/object.h:
              * kjs/object_object.cpp:
              (KJS::ObjectConstructor::ObjectConstructor):
              (KJS::ObjectConstructor::getConstructData):
              (KJS::ObjectConstructor::construct):
              (KJS::ObjectConstructor::callAsFunction):
              * kjs/object_object.h:
              * kjs/regexp.cpp:
              (KJS::RegExp::RegExp):
              * kjs/regexp_object.cpp:
              (KJS::regExpProtoFuncTest):
              (KJS::regExpProtoFuncExec):
              (KJS::regExpProtoFuncCompile):
              (KJS::regExpProtoFuncToString):
              (KJS::RegExpObject::RegExpObject):
              (KJS::RegExpObject::~RegExpObject):
              (KJS::RegExpObject::getOwnPropertySlot):
              (KJS::RegExpObject::getValueProperty):
              (KJS::RegExpObject::put):
              (KJS::RegExpObject::putValueProperty):
              (KJS::RegExpObject::match):
              (KJS::RegExpObject::test):
              (KJS::RegExpObject::exec):
              (KJS::RegExpObject::getCallData):
              (KJS::RegExpObject::callAsFunction):
              (KJS::RegExpConstructorPrivate::RegExpConstructorPrivate):
              (KJS::RegExpConstructor::RegExpConstructor):
              (KJS::RegExpConstructor::performMatch):
              (KJS::RegExpMatchesArray::RegExpMatchesArray):
              (KJS::RegExpMatchesArray::~RegExpMatchesArray):
              (KJS::RegExpMatchesArray::fillArrayInstance):
              (KJS::RegExpConstructor::arrayOfMatches):
              (KJS::RegExpConstructor::getBackref):
              (KJS::RegExpConstructor::getLastParen):
              (KJS::RegExpConstructor::getLeftContext):
              (KJS::RegExpConstructor::getRightContext):
              (KJS::RegExpConstructor::getOwnPropertySlot):
              (KJS::RegExpConstructor::getValueProperty):
              (KJS::RegExpConstructor::put):
              (KJS::RegExpConstructor::putValueProperty):
              (KJS::RegExpConstructor::getConstructData):
              (KJS::RegExpConstructor::construct):
              (KJS::RegExpConstructor::callAsFunction):
              (KJS::RegExpConstructor::input):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (KJS::StringObject::StringObject):
              (KJS::StringObject::getOwnPropertySlot):
              (KJS::StringObject::put):
              (KJS::StringObject::deleteProperty):
              (KJS::StringObject::getPropertyNames):
              (KJS::StringPrototype::StringPrototype):
              (KJS::StringPrototype::getOwnPropertySlot):
              (KJS::replace):
              (KJS::stringProtoFuncToString):
              (KJS::stringProtoFuncValueOf):
              (KJS::stringProtoFuncCharAt):
              (KJS::stringProtoFuncCharCodeAt):
              (KJS::stringProtoFuncConcat):
              (KJS::stringProtoFuncIndexOf):
              (KJS::stringProtoFuncLastIndexOf):
              (KJS::stringProtoFuncMatch):
              (KJS::stringProtoFuncSearch):
              (KJS::stringProtoFuncReplace):
              (KJS::stringProtoFuncSlice):
              (KJS::stringProtoFuncSplit):
              (KJS::stringProtoFuncSubstr):
              (KJS::stringProtoFuncSubstring):
              (KJS::stringProtoFuncToLowerCase):
              (KJS::stringProtoFuncToUpperCase):
              (KJS::stringProtoFuncToLocaleLowerCase):
              (KJS::stringProtoFuncToLocaleUpperCase):
              (KJS::stringProtoFuncLocaleCompare):
              (KJS::stringProtoFuncBig):
              (KJS::stringProtoFuncSmall):
              (KJS::stringProtoFuncBlink):
              (KJS::stringProtoFuncBold):
              (KJS::stringProtoFuncFixed):
              (KJS::stringProtoFuncItalics):
              (KJS::stringProtoFuncStrike):
              (KJS::stringProtoFuncSub):
              (KJS::stringProtoFuncSup):
              (KJS::stringProtoFuncFontcolor):
              (KJS::stringProtoFuncFontsize):
              (KJS::stringProtoFuncAnchor):
              (KJS::stringProtoFuncLink):
              (KJS::StringConstructor::StringConstructor):
              (KJS::StringConstructor::getConstructData):
              (KJS::StringConstructor::construct):
              (KJS::StringConstructor::callAsFunction):
              (KJS::StringConstructorFunction::StringConstructorFunction):
              (KJS::StringConstructorFunction::callAsFunction):
              * kjs/string_object.h:
              (KJS::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
              * profiler/Profiler.cpp:
              (KJS::createCallIdentifier):
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - cut down on confusing uses of "Object" and "Imp" in
                JavaScriptCore class names
      
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              * bridge/qt/qt_runtime.cpp:
              (KJS::Bindings::valueRealType):
              (KJS::Bindings::convertValueToQVariant):
              (KJS::Bindings::convertQVariantToValue):
              (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
              * bridge/qt/qt_runtime.h:
              * bridge/runtime_method.cpp:
              (RuntimeMethod::RuntimeMethod):
              (RuntimeMethod::getOwnPropertySlot):
              * bridge/runtime_method.h:
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/create-exports: Added.
              * Scripts/do-file-rename: Added some planned renames.
              * Scripts/do-webcore-rename: Updated for the latest round of renaming.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6de4edca
    • darin@apple.com's avatar
      JavaScriptCore: · 980c614d
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * JavaScriptCore.exp:
              * VM/Machine.cpp:
              (KJS::jsLess):
              (KJS::jsLessEq):
              (KJS::jsAdd):
              (KJS::callEval):
              (KJS::Machine::execute):
              (KJS::Machine::retrieveArguments):
              (KJS::Machine::retrieveCaller):
              (KJS::Machine::getCallFrame):
              (KJS::Machine::getFunctionAndArguments):
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/DebuggerCallFrame.cpp:
              (KJS::DebuggerCallFrame::functionName):
              * kjs/ExecState.h:
              * kjs/JSActivation.cpp:
              (KJS::JSActivation::createArgumentsObject):
              * kjs/array_instance.cpp:
              (KJS::):
              (KJS::JSArray::checkConsistency):
              (KJS::JSArray::JSArray):
              (KJS::JSArray::~JSArray):
              (KJS::JSArray::getItem):
              (KJS::JSArray::lengthGetter):
              (KJS::JSArray::inlineGetOwnPropertySlot):
              (KJS::JSArray::getOwnPropertySlot):
              (KJS::JSArray::put):
              (KJS::JSArray::deleteProperty):
              (KJS::JSArray::getPropertyNames):
              (KJS::JSArray::increaseVectorLength):
              (KJS::JSArray::setLength):
              (KJS::JSArray::mark):
              (KJS::JSArray::sort):
              (KJS::JSArray::compactForSorting):
              (KJS::JSArray::lazyCreationData):
              (KJS::JSArray::setLazyCreationData):
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (KJS::):
              (KJS::ArrayPrototype::ArrayPrototype):
              (KJS::ArrayPrototype::getOwnPropertySlot):
              (KJS::arrayProtoFuncToString):
              (KJS::arrayProtoFuncToLocaleString):
              (KJS::arrayProtoFuncConcat):
              (KJS::arrayProtoFuncSort):
              (KJS::ArrayObjectImp::construct):
              * kjs/array_object.h:
              * kjs/completion.h:
              * kjs/function.cpp:
              (KJS::):
              (KJS::JSFunction::JSFunction):
              (KJS::JSFunction::mark):
              (KJS::JSFunction::getCallData):
              (KJS::JSFunction::callAsFunction):
              (KJS::JSFunction::argumentsGetter):
              (KJS::JSFunction::callerGetter):
              (KJS::JSFunction::lengthGetter):
              (KJS::JSFunction::getOwnPropertySlot):
              (KJS::JSFunction::put):
              (KJS::JSFunction::deleteProperty):
              (KJS::JSFunction::getParameterName):
              (KJS::JSFunction::getConstructData):
              (KJS::JSFunction::construct):
              (KJS::IndexToNameMap::IndexToNameMap):
              (KJS::Arguments::Arguments):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (KJS::functionProtoFuncToString):
              (KJS::functionProtoFuncApply):
              (KJS::FunctionObjectImp::construct):
              * kjs/internal.cpp:
              (KJS::JSString::toPrimitive):
              (KJS::JSString::getPrimitiveNumber):
              (KJS::JSString::toBoolean):
              (KJS::JSString::toNumber):
              (KJS::JSString::toString):
              (KJS::StringInstance::create):
              (KJS::JSString::toObject):
              (KJS::JSString::toThisObject):
              (KJS::JSString::lengthGetter):
              (KJS::JSString::indexGetter):
              (KJS::JSString::indexNumericPropertyGetter):
              (KJS::JSString::getOwnPropertySlot):
              (KJS::JSNumberCell::type):
              (KJS::JSNumberCell::toPrimitive):
              (KJS::JSNumberCell::getPrimitiveNumber):
              (KJS::JSNumberCell::toBoolean):
              (KJS::JSNumberCell::toNumber):
              (KJS::JSNumberCell::toString):
              (KJS::JSNumberCell::toObject):
              (KJS::JSNumberCell::toThisObject):
              (KJS::JSNumberCell::getUInt32):
              (KJS::JSNumberCell::getTruncatedInt32):
              (KJS::JSNumberCell::getTruncatedUInt32):
              (KJS::GetterSetter::mark):
              (KJS::GetterSetter::toPrimitive):
              (KJS::GetterSetter::getPrimitiveNumber):
              (KJS::GetterSetter::toBoolean):
              (KJS::GetterSetter::toNumber):
              (KJS::GetterSetter::toString):
              (KJS::GetterSetter::toObject):
              (KJS::GetterSetter::getOwnPropertySlot):
              (KJS::GetterSetter::put):
              (KJS::GetterSetter::toThisObject):
              * kjs/internal.h:
              (KJS::JSString::JSString):
              (KJS::JSString::getStringPropertySlot):
              * kjs/nodes.cpp:
              (KJS::FuncDeclNode::makeFunction):
              (KJS::FuncExprNode::makeFunction):
              * kjs/nodes.h:
              * kjs/object.cpp:
              (KJS::JSObject::put):
              (KJS::JSObject::deleteProperty):
              (KJS::JSObject::defineGetter):
              (KJS::JSObject::defineSetter):
              (KJS::JSObject::lookupGetter):
              (KJS::JSObject::lookupSetter):
              (KJS::JSObject::fillGetterPropertySlot):
              * kjs/object.h:
              (KJS::):
              (KJS::GetterSetter::GetterSetter):
              * kjs/operations.cpp:
              (KJS::equal):
              (KJS::strictEqual):
              * kjs/property_map.cpp:
              (KJS::PropertyMap::containsGettersOrSetters):
              * kjs/regexp_object.cpp:
              (KJS::RegExpMatchesArray::getOwnPropertySlot):
              (KJS::RegExpMatchesArray::put):
              (KJS::RegExpMatchesArray::deleteProperty):
              (KJS::RegExpMatchesArray::getPropertyNames):
              (KJS::RegExpMatchesArray::RegExpMatchesArray):
              (KJS::RegExpMatchesArray::fillArrayInstance):
              * kjs/string_object.cpp:
              (KJS::StringInstance::StringInstance):
              (KJS::replace):
              (KJS::stringProtoFuncReplace):
              (KJS::stringProtoFuncToLowerCase):
              (KJS::stringProtoFuncToUpperCase):
              (KJS::stringProtoFuncToLocaleLowerCase):
              (KJS::stringProtoFuncToLocaleUpperCase):
              * kjs/string_object.h:
              (KJS::StringInstance::internalValue):
              * kjs/value.cpp:
              (KJS::JSCell::getNumber):
              (KJS::JSCell::getString):
              (KJS::JSCell::getObject):
              (KJS::jsString):
              (KJS::jsOwnedString):
              * kjs/value.h:
              (KJS::JSNumberCell::JSNumberCell):
              (KJS::jsNumberCell):
              (KJS::JSValue::uncheckedGetNumber):
              * profiler/Profiler.cpp:
              (KJS::createCallIdentifier):
              (KJS::createCallIdentifierFromFunctionImp):
      
      WebCore:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::needsYouTubeQuirk):
              * bindings/js/kjs_events.cpp:
              (WebCore::JSLazyEventListener::parseCode):
              * bridge/jni/jni_utility.cpp:
              (KJS::Bindings::convertArrayInstanceToJavaArray):
              (KJS::Bindings::convertValueToJValue):
              * bridge/qt/qt_runtime.cpp:
              (KJS::Bindings::valueRealType):
              (KJS::Bindings::convertValueToQVariant):
              (KJS::Bindings::QtConnectionObject::execute):
              * bridge/runtime_array.cpp:
      
      WebKit/mac:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * WebView/WebView.mm:
              (aeDescFromJSValue):
      
      WebKit/win:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Sam.
      
              - use JS prefix and simpler names for basic JavaScriptCore types,
                to complement JSValue and JSObject
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::functionName):
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/do-webcore-rename: Updated for the latest round of renaming.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      980c614d
    • mjs@apple.com's avatar
      2008-06-15 Maciej Stachowiak <mjs@apple.com> · 33b7578c
      mjs@apple.com authored
              Reviewed by Alexey.
              
              - add emitUnaryOp, emitNullaryOp and emitUnaryOpNoDst; use them
              
              This removes some boilerplate code and also reduces the number of
              places that will need to be changed to do on-demand emit of
              loads (and thus support k operands).
      
              * VM/CodeGenerator.cpp:
              (KJS::CodeGenerator::emitUnaryOp):
              (KJS::CodeGenerator::emitNullaryOp):
              (KJS::CodeGenerator::emitUnaryOpNoDst):
              (KJS::CodeGenerator::emitPushScope):
              * VM/CodeGenerator.h:
              (KJS::CodeGenerator::emitNewObject):
              (KJS::CodeGenerator::emitNewArray):
              (KJS::CodeGenerator::emitNot):
              (KJS::CodeGenerator::emitBitNot):
              (KJS::CodeGenerator::emitToJSNumber):
              (KJS::CodeGenerator::emitNegate):
              (KJS::CodeGenerator::emitInstanceOf):
              (KJS::CodeGenerator::emitTypeOf):
              (KJS::CodeGenerator::emitIn):
              (KJS::CodeGenerator::emitReturn):
              (KJS::CodeGenerator::emitEnd):
              (KJS::CodeGenerator::emitGetPropertyNames):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      33b7578c
    • alp@webkit.org's avatar
      2008-06-15 Alp Toker <alp@nuanti.com> · 643f3eff
      alp@webkit.org authored
              Rubber-stamped by Maciej.
      
              Install 'jsc' application by default.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      643f3eff
    • mjs@apple.com's avatar
      JavaScriptCore: · 13202588
      mjs@apple.com authored
      2008-06-15  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Oliver.
              
              - rename testkjs to jsc
      
              * GNUmakefile.am:
              * JavaScriptCore.vcproj/JavaScriptCore.sln:
              * JavaScriptCore.vcproj/jsc: Added.
              * JavaScriptCore.vcproj/jsc/jsc.vcproj: Copied from JavaScriptCore.vcproj/testkjs/testkjs.vcproj.
              * JavaScriptCore.vcproj/testkjs: Removed.
              * JavaScriptCore.vcproj/testkjs/testkjs.vcproj: Removed.
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * jscore.bkl:
              * kjs/Shell.cpp: Copied from kjs/testkjs.cpp.
              (main):
              (printUsageStatement):
              (jscmain):
              * kjs/jsc.pro: Copied from kjs/testkjs.pro.
              * kjs/testkjs.cpp: Removed.
              * kjs/testkjs.pro: Removed.
              * tests/mozilla/expected.html:
              * tests/mozilla/js1_2/Array/tostring_1.js:
              * tests/mozilla/js1_2/Array/tostring_2.js:
              * tests/mozilla/jsDriver.pl:
      
      WebKitTools:
      
      2008-06-15  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Oliver.
              
              - rename testkjs to jsc
      
              * Scripts/build-jsc: Copied from Scripts/build-testkjs.
              * Scripts/build-testkjs: Removed.
              * Scripts/run-javascriptcore-tests:
              * Scripts/run-jsc: Copied from Scripts/run-testkjs.
              * Scripts/run-sunspider:
              * Scripts/run-testkjs: Removed.
              * Scripts/sunspider-compare-results:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13202588
    • cwzwarich@webkit.org's avatar
      2008-06-15 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 0ce29fde
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Mac build fix.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/nodes.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0ce29fde
    • cwzwarich@webkit.org's avatar
      2008-06-15 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 7c15e709
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Change the spelling of PrecMultiplicitave to PrecMultiplicative.
      
              * kjs/nodes.h:
              (KJS::):
              (KJS::MultNode::precedence):
              (KJS::DivNode::precedence):
              (KJS::ModNode::precedence):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c15e709
    • cwzwarich@webkit.org's avatar
      2008-06-15 Cameron Zwarich <cwzwarich@uwaterloo.ca> · fc13377a
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Remove unused preprocessor macros related to exceptions in the old
              interpreter.
      
              * kjs/nodes.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc13377a
    • cwzwarich@webkit.org's avatar
      2008-06-15 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 875318ae
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Bug 19484: More instructions needs to use temporary registers
              <https://bugs.webkit.org/show_bug.cgi?id=19484>
      
              Fix codegen for all binary operations so that temporaries are used if
              necessary. This was done by making BinaryOpNode and ReverseBinaryOpNode
              subclasses of ExpressionNode, and eliminating the custom emitCode()
              methods for the individual node classes.
      
              This only adds 3 new instructions to SunSpider code, and there is no
              difference in SunSpider execution time.
      
              JavaScriptCore:
      
              * VM/CodeGenerator.cpp:
              (KJS::CodeGenerator::emitBitNot):
              (KJS::CodeGenerator::emitBinaryOp):
              * VM/CodeGenerator.h:
              * kjs/grammar.y:
              * kjs/nodes.cpp:
              (KJS::PreIncResolveNode::emitCode):
              (KJS::PreDecResolveNode::emitCode):
              (KJS::BinaryOpNode::emitCode):
              (KJS::ReverseBinaryOpNode::emitCode):
              (KJS::emitReadModifyAssignment):
              (KJS::CaseBlockNode::emitCodeForBlock):
              * kjs/nodes.h:
              (KJS::BinaryOpNode::BinaryOpNode):
              (KJS::ReverseBinaryOpNode::ReverseBinaryOpNode):
              (KJS::MultNode::):
              (KJS::DivNode::):
              (KJS::DivNode::precedence):
              (KJS::ModNode::):
              (KJS::ModNode::precedence):
              (KJS::AddNode::):
              (KJS::AddNode::precedence):
              (KJS::SubNode::):
              (KJS::SubNode::precedence):
              (KJS::LeftShiftNode::):
              (KJS::LeftShiftNode::precedence):
              (KJS::RightShiftNode::):
              (KJS::RightShiftNode::precedence):
              (KJS::UnsignedRightShiftNode::):
              (KJS::UnsignedRightShiftNode::precedence):
              (KJS::LessNode::):
              (KJS::LessNode::precedence):
              (KJS::GreaterNode::):
              (KJS::GreaterNode::precedence):
              (KJS::LessEqNode::):
              (KJS::LessEqNode::precedence):
              (KJS::GreaterEqNode::):
              (KJS::GreaterEqNode::precedence):
              (KJS::InstanceOfNode::):
              (KJS::InstanceOfNode::precedence):
              (KJS::InNode::):
              (KJS::InNode::precedence):
              (KJS::EqualNode::):
              (KJS::EqualNode::precedence):
              (KJS::NotEqualNode::):
              (KJS::NotEqualNode::precedence):
              (KJS::StrictEqualNode::):
              (KJS::StrictEqualNode::precedence):
              (KJS::NotStrictEqualNode::):
              (KJS::NotStrictEqualNode::precedence):
              (KJS::BitAndNode::):
              (KJS::BitAndNode::precedence):
              (KJS::BitOrNode::):
              (KJS::BitOrNode::precedence):
              (KJS::BitXOrNode::):
              (KJS::BitXOrNode::precedence):
              * kjs/nodes2string.cpp:
              (KJS::LessNode::streamTo):
              (KJS::GreaterNode::streamTo):
              (KJS::LessEqNode::streamTo):
              (KJS::GreaterEqNode::streamTo):
              (KJS::InstanceOfNode::streamTo):
              (KJS::InNode::streamTo):
              (KJS::EqualNode::streamTo):
              (KJS::NotEqualNode::streamTo):
              (KJS::StrictEqualNode::streamTo):
              (KJS::NotStrictEqualNode::streamTo):
              (KJS::BitAndNode::streamTo):
              (KJS::BitXOrNode::streamTo):
              (KJS::BitOrNode::streamTo):
      
              LayoutTests:
      
              * fast/js/codegen-temporaries-expected.txt:
              * fast/js/resources/codegen-temporaries.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      875318ae
    • darin@apple.com's avatar
      2008-06-14 Darin Adler <darin@apple.com> · 51d6b26b
      darin@apple.com authored
              Rubber stamped by Sam.
      
              - rename a bunch of local symbols within the regular expression code to
                follow our usual coding style, and do a few other name tweaks
      
              * pcre/pcre_compile.cpp:
              (CompileData::CompileData):
              (checkEscape):
              (readRepeatCounts):
              (compileBranch):
              (compileBracket):
              (calculateCompiledPatternLength):
              (returnError):
              (jsRegExpCompile):
              * pcre/pcre_exec.cpp:
              (MatchStack::MatchStack):
              (MatchStack::canUseStackBufferForNextFrame):
              (MatchStack::popCurrentFrame):
              (match):
              (tryFirstByteOptimization):
              (tryRequiredByteOptimization):
              (jsRegExpExecute):
              * pcre/pcre_internal.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51d6b26b
  2. 14 Jun, 2008 6 commits
    • cwzwarich@webkit.org's avatar
      2008-06-14 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 5cbef674
      cwzwarich@webkit.org authored
              Reviewed by Darin.
      
              Remove redundant uses of get().
      
              * kjs/nodes.cpp:
              (KJS::BracketAccessorNode::emitCode):
              (KJS::AddNode::emitCode):
              (KJS::SubNode::emitCode):
              (KJS::ReadModifyResolveNode::emitCode):
              (KJS::AssignDotNode::emitCode):
              (KJS::ReadModifyDotNode::emitCode):
              (KJS::AssignBracketNode::emitCode):
              (KJS::ReadModifyBracketNode::emitCode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5cbef674
    • cwzwarich@webkit.org's avatar
      2008-06-14 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 29477592
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Make code generation not use a temporary for the left-hand side of an
              expression if the right-hand side is a local variable.
      
              * VM/CodeGenerator.cpp:
              (KJS::CodeGenerator::isLocal):
              * VM/CodeGenerator.h:
              (KJS::CodeGenerator::leftHandSideNeedsCopy):
              (KJS::CodeGenerator::emitNodeForLeftHandSide):
              * kjs/nodes.cpp:
              (KJS::ResolveNode::isPure):
              (KJS::BracketAccessorNode::emitCode):
              (KJS::AddNode::emitCode):
              (KJS::SubNode::emitCode):
              (KJS::ReadModifyResolveNode::emitCode):
              (KJS::AssignDotNode::emitCode):
              (KJS::ReadModifyDotNode::emitCode):
              (KJS::AssignBracketNode::emitCode):
              (KJS::ReadModifyBracketNode::emitCode):
              * kjs/nodes.h:
              (KJS::ExpressionNode::):
              (KJS::BooleanNode::):
              (KJS::NumberNode::):
              (KJS::StringNode::):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29477592
    • darin@apple.com's avatar
      JavaScriptCore: · d5ceaf86
      darin@apple.com authored
      2008-06-14  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam.
      
              - more of https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * kjs/nodes.cpp:
              (KJS::ParserRefCounted::hasOneRef): Added. Replaces refcount.
              * kjs/nodes.h: Replaced refcount with hasOneRef.
      
              * wtf/ListRefPtr.h:
              (WTF::ListRefPtr::~ListRefPtr): Changed to use hasOneRef instead of
              refcount, so this class can be used with the RefCounted template.
      
              * wtf/RefCounted.h:
              (WTF::RefCounted::hasOneRef): Made const, since there's no reason for
              it to be non-const.
      
      WebCore:
      
      2008-06-14  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam.
      
              - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * WebCore.base.exp: Added some new exports needed for functions that are now
              non-virtual.
      
              * WebCore.xcodeproj/project.pbxproj: Moved the "icon" group to the correct
              location in the project. Before it was inside "appcache"!
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              * dom/Clipboard.cpp:
              (WebCore::Clipboard::Clipboard):
              * editing/mac/EditorMac.mm:
              (WebCore::Editor::newGeneralClipboard):
              * editing/qt/EditorQt.cpp:
              (WebCore::Editor::newGeneralClipboard):
              * editing/wx/EditorWx.cpp:
              (WebCore::Editor::newGeneralClipboard):
              * loader/DocumentLoader.cpp:
              (WebCore::DocumentLoader::DocumentLoader):
              * loader/DocumentLoader.h:
              (WebCore::DocumentLoader::create):
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::defaultIcon):
              (WebCore::IconDatabase::setIconDataForIconURL):
              (WebCore::IconDatabase::setIconURLForPageURL):
              (WebCore::IconDatabase::getOrCreateIconRecord):
              (WebCore::IconDatabase::performURLImport):
              * loader/icon/IconDatabase.h:
              * loader/icon/IconRecord.cpp:
              (WebCore::IconRecord::IconRecord):
              * loader/icon/IconRecord.h:
              (WebCore::IconRecord::create):
              * page/EventHandler.h:
              * page/Frame.cpp:
              (WebCore::Frame::Frame):
              * page/Frame.h:
              (WebCore::Frame::create):
              * page/gtk/EventHandlerGtk.cpp:
              (WebCore::EventHandler::createDraggingClipboard):
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::createDraggingClipboard):
              * page/qt/EventHandlerQt.cpp:
              (WebCore::EventHandler::createDraggingClipboard):
              * page/win/EventHandlerWin.cpp:
              (WebCore::EventHandler::createDraggingClipboard):
              * page/wx/EventHandlerWx.cpp:
              (WebCore::EventHandler::createDraggingClipboard):
              * platform/Cursor.h:
              (WebCore::SharedCursor::create):
              (WebCore::SharedCursor::~SharedCursor):
              (WebCore::SharedCursor::SharedCursor):
              * platform/DragData.h:
              * platform/PopupMenu.h:
              (WebCore::PopupMenu::create):
              (WebCore::PopupMenu::isActive):
              * platform/ScrollBar.cpp:
              (WebCore::Scrollbar::Scrollbar):
              * platform/SearchPopupMenu.h:
              (WebCore::SearchPopupMenu::create):
              * platform/graphics/FontFamily.cpp:
              (WebCore::FontFamily::FontFamily):
              (WebCore::operator==):
              * platform/graphics/FontFamily.h:
              (WebCore::FontFamily::FontFamily):
              (WebCore::SharedFontFamily::create):
              (WebCore::SharedFontFamily::SharedFontFamily):
              (WebCore::operator!=):
              (WebCore::FontFamily::next):
              (WebCore::FontFamily::appendFamily):
              (WebCore::FontFamily::releaseNext):
              * platform/graphics/Icon.h:
              * platform/graphics/gtk/IconGtk.cpp:
              (WebCore::Icon::Icon):
              (WebCore::Icon::~Icon):
              (WebCore::Icon::newIconForFile):
              * platform/graphics/mac/IconMac.mm:
              (WebCore::Icon::Icon):
              (WebCore::Icon::newIconForFile):
              * platform/graphics/qt/IconQt.cpp:
              (WebCore::Icon::Icon):
              (WebCore::Icon::newIconForFile):
              * platform/graphics/win/IconWin.cpp:
              (WebCore::Icon::Icon):
              (WebCore::Icon::~Icon):
              (WebCore::Icon::newIconForFile):
              * platform/gtk/ClipboardGtk.cpp:
              (WebCore::Editor::newGeneralClipboard):
              * platform/gtk/ClipboardGtk.h:
              (WebCore::ClipboardGtk::create):
              * platform/gtk/PlatformScrollBar.h:
              (WebCore::PlatformScrollbar::create):
              * platform/gtk/PopupMenuGtk.cpp:
              (WebCore::PopupMenu::PopupMenu):
              * platform/gtk/ScrollViewGtk.cpp:
              (WebCore::ScrollViewScrollbar::create):
              (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
              (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
              * platform/mac/ClipboardMac.h:
              (WebCore::ClipboardMac::create):
              * platform/mac/DragDataMac.mm:
              (WebCore::DragData::createClipboard):
              (WebCore::DragData::containsCompatibleContent):
              * platform/mac/PlatformScrollBar.h:
              (WebCore::PlatformScrollbar::create):
              (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
              (WebCore::PlatformScrollbar::verticalScrollbarWidth):
              * platform/mac/PopupMenuMac.mm:
              (WebCore::PopupMenu::PopupMenu):
              * platform/qt/ClipboardQt.h:
              (WebCore::ClipboardQt::create):
              * platform/qt/DragDataQt.cpp:
              (WebCore::DragData::createClipboard):
              * platform/qt/PlatformScrollBar.h:
              (WebCore::PlatformScrollbar::create):
              * platform/qt/PopupMenuQt.cpp:
              (WebCore::PopupMenu::PopupMenu):
              * platform/qt/ScrollViewQt.cpp:
              (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
              (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
              * platform/win/ClipboardWin.h:
              (WebCore::ClipboardWin::create):
              * platform/win/CursorWin.cpp:
              (WebCore::Cursor::Cursor):
              (WebCore::loadSharedCursor):
              * platform/win/DragDataWin.cpp:
              (WebCore::DragData::createClipboard):
              * platform/win/EditorWin.cpp:
              (WebCore::Editor::newGeneralClipboard):
              * platform/win/PlatformScrollBar.h:
              (WebCore::PlatformScrollbar::create):
              * platform/win/PopupMenuWin.cpp:
              (WebCore::PopupMenu::PopupMenu):
              (WebCore::PopupMenu::show):
              * platform/win/ScrollViewWin.cpp:
              (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
              (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
              * platform/wx/ClipboardWx.h:
              (WebCore::ClipboardWx::create):
              * platform/wx/PlatformScrollBar.h:
              (WebCore::PlatformScrollbar::create):
              * platform/wx/PopupMenuWx.cpp:
              (WebCore::PopupMenu::PopupMenu):
              * platform/wx/TemporaryLinkStubs.cpp:
              (Icon::Icon):
              (Icon::newIconForFile):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::createScrollbar):
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::updateFromElement):
              * svg/graphics/SVGImage.cpp:
              (WebCore::SVGImage::dataChanged):
              * svg/graphics/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
      
      WebKit/gtk:
      
      2008-06-14  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam.
      
              - more https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * WebCoreSupport/FrameLoaderClientGtk.cpp:
              (WebKit::FrameLoaderClient::createDocumentLoader): Use create instead of new.
              * webkit/webkitwebframe.cpp:
              (webkit_web_frame_new): Ditto.
              (webkit_web_frame_init_with_web_view): Ditto.
      
      WebKit/mac:
      
      2008-06-14  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam.
      
              - more of https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
              (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
              a ref call inside the Frame constructor. The lifetime rules for Frame are now the
              conventional ones without a special case.
      
              * WebView/WebDataSource.mm:
              (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
              this function takes ownership of the DocumentLoader.
              (-[WebDataSource initWithRequest:]): Use create instead of new.
              * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
              PassRefPtr and also cleaned up the header a bit.
      
              * WebView/WebDocumentLoaderMac.h:
              (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
              functions private.
      
              * WebView/WebFrame.mm:
              (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
              of new.
      
      WebKit/qt:
      
      2008-06-14  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam.
      
              - more https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * Api/qwebframe.cpp:
              (QWebFramePrivate::init): Use create instead of new.
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::createDocumentLoader): Ditto.
      
      WebKit/win:
      
      2008-06-14  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam.
      
              - more of https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * WebCoreSupport/WebFrameLoaderClient.cpp:
              (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
              a ref call inside the Frame constructor. The lifetime rules for Frame are now the
              conventional ones without a special case.
      
              * WebFrame.cpp:
              (WebFrame::init): Renamed function from initWithWebFrameView and removed the unused
              IWebFrameView argument (every caller was passing 0). Also changed this to return the
              WebCore Frame object, which is needed to straighten out the lifetime and ownership
              issues.
              * WebFrame.h: Ditto.
      
              * WebView.cpp:
              (WebView::initWithFrame): Changed to call new init function and use the return value.
      
      WebKit/wx:
      
      2008-06-14  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam.
      
              - more https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * WebKitSupport/FrameLoaderClientWx.cpp:
              (WebCore::FrameLoaderClientWx::createDocumentLoader): Use create function
              instead of new.
      
      LayoutTests:
      
      2008-06-14  Darin Adler  <darin@apple.com>
      
              Reviewed by Maciej.
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=19538
                <rdar://problem/5957595> Reading transition property from the style JS gives the wrong value
      
              * fast/dom/CSSStyleDeclaration/resources/transition-property-names.js: Added.
              * fast/dom/CSSStyleDeclaration/transition-property-names-expected.txt: Added.
              * fast/dom/CSSStyleDeclaration/transition-property-names.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d5ceaf86
    • mjs@apple.com's avatar
      2008-06-14 Maciej Stachowiak <mjs@apple.com> · ff10c48f
      mjs@apple.com authored
              Reviewed by Oliver.
              
              - initialize local vars as side effect of call instead of in bytecode
              1.004x speedup on SunSpider.
      
              This removes just the dispatch overhead for these loads - in the
              future, dead store elimination might be able to eliminate them
              entirely.
              
              * VM/CodeGenerator.cpp:
              (KJS::CodeGenerator::CodeGenerator): For function blocks, don't
              emit loads of undefined for var initialization.
              * VM/Machine.cpp:
              (KJS::slideRegisterWindowForCall): Instead, initialize locals
              as part of the call.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff10c48f
    • cwzwarich@webkit.org's avatar
      2008-06-14 Cameron Zwarich <cwzwarich@uwaterloo.ca> · ac94d2dc
      cwzwarich@webkit.org authored
              Reviewed by Oliver.
      
              Remove helper functions in the parser that are no longer needed.
      
              * kjs/grammar.y:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac94d2dc
    • cwzwarich@webkit.org's avatar
      2008-06-14 Cameron Zwarich <cwzwarich@uwaterloo.ca> · ce46a1c5
      cwzwarich@webkit.org authored
              Reviewed by Oliver.
      
              Bug 19484: More instructions needs to use temporary registers
              <https://bugs.webkit.org/show_bug.cgi?id=19484>
      
              Make code generation for AddNode and SubNode use temporaries when
              necessary.
      
              JavaScriptCore:
      
              * kjs/grammar.y:
              * kjs/nodes.cpp:
              (KJS::AddNode::emitCode):
              (KJS::SubNode::emitCode):
              * kjs/nodes.h:
              (KJS::AddNode::):
              (KJS::SubNode::):
      
              LayoutTests:
      
              * fast/js/codegen-temporaries-expected.txt:
              * fast/js/resources/codegen-temporaries.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ce46a1c5
  3. 13 Jun, 2008 4 commits
    • cwzwarich@webkit.org's avatar
      2008-06-13 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 9cb74e33
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Combine TrueNode and FalseNode to make BooleanNode, and remove the
              unused class PlaceholderTrueNode.
      
              * kjs/grammar.y:
              * kjs/nodes.cpp:
              (KJS::BooleanNode::emitCode):
              * kjs/nodes.h:
              (KJS::BooleanNode::):
              (KJS::BooleanNode::precedence):
              * kjs/nodes2string.cpp:
              (KJS::BooleanNode::streamTo):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9cb74e33
    • cwzwarich@webkit.org's avatar
      2008-06-13 Cameron Zwarich <cwzwarich@uwaterloo.ca> · e5ab63c4
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Eliminate the use of temporaries to store the left hand side of an
              expression when the right hand side is a constant. This slightly
              improves the generated bytecode for a few SunSpider tests, but it is
              mostly in preparation for fixing
      
              Bug 19484: More instructions needs to use temporary registers
              <https://bugs.webkit.org/show_bug.cgi?id=19484>
      
              * VM/CodeGenerator.h:
              (KJS::CodeGenerator::leftHandSideNeedsCopy):
              (KJS::CodeGenerator::emitNodeForLeftHandSide):
              * kjs/nodes.cpp:
              (KJS::BracketAccessorNode::emitCode):
              (KJS::ReadModifyResolveNode::emitCode):
              (KJS::AssignDotNode::emitCode):
              (KJS::ReadModifyDotNode::emitCode):
              (KJS::AssignBracketNode::emitCode):
              (KJS::ReadModifyBracketNode::emitCode):
              * kjs/nodes.h:
              (KJS::ExpressionNode::):
              (KJS::FalseNode::):
              (KJS::TrueNode::):
              (KJS::NumberNode::):
              (KJS::StringNode::):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5ab63c4
    • mjs@apple.com's avatar
      2008-06-13 Maciej Stachowiak <mjs@apple.com> · 51ad1d0e
      mjs@apple.com authored
              Reviewed by Oliver.
              
              - prettify opcode stats output
              
              I changed things to be a bit more aligned, also there is a new
              section listing most common opcodes and most common sequences that
              include them.
      
              * VM/Opcode.cpp:
              (KJS::):
              (KJS::OpcodeStats::~OpcodeStats):
              * VM/Opcode.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51ad1d0e
    • kmccullough@apple.com's avatar
      2008-06-13 Kevin McCullough <kmccullough@apple.com> · 25284dfd
      kmccullough@apple.com authored
              Reviewed by Geoff.
      
              <rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
              profiler.
              - Remove recursion from exclude().  This leaves only focus() to fix.
      
              * JavaScriptCore.exp: Change the signatures of the exported functions.
              * profiler/Profile.cpp:
              (KJS::Profile::forEach): I added a traverseNextNodePreOrder() function
              and so needed to distinguish the other function by labeling it
              traverseNextNodePostOrder().
              (KJS::Profile::exclude): All new exclude that iteratively walks the tree
              * profiler/Profile.h:
              (KJS::Profile::focus): Add a null check for m_head.
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::traverseNextNodePostOrder): Renamed
              (KJS::ProfileNode::traverseNextNodePreOrder): Walks the tree in pre-
              order, where the parent is processed before the children.
              (KJS::ProfileNode::setTreeVisible): Iterate over the sub-tree and set
              all of the nodes visible value.  This changes another function that used
              recursion.
              (KJS::ProfileNode::exclude): Remove recursion from this function.
              Because we now check for m_visible and we are walking the tree in pre-
              order we do not need to check if an excluded node is in an excluded
              sub-tree.
              * profiler/ProfileNode.h: Added specific selfTime functions to
              facilitate exclude().
              (KJS::ProfileNode::setSelfTime):
              (KJS::ProfileNode::setActualSelfTime):
              (KJS::ProfileNode::setVisibleSelfTime):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      25284dfd
  4. 12 Jun, 2008 3 commits
    • darin@apple.com's avatar
      2008-06-12 Darin Adler <darin@apple.com> · 68dbe316
      darin@apple.com authored
              Reviewed by Maciej.
      
              - https://bugs.webkit.org/show_bug.cgi?id=19434
                speed up SunSpider by avoiding some string boxing
      
              Speeds up SunSpider by 1.1%.
      
              Optimized code path for getting built-in properties from strings -- avoid
              boxing with a string object in that case. We can make further changes to avoid
              even more boxing, but this change alone is a win.
      
              * API/JSCallbackObjectFunctions.h:
              (KJS::JSCallbackObject::staticValueGetter): Use isObject instead of inherits
              in asssert, since the type of slotBase() is now JSValue, not JSObject.
              (KJS::JSCallbackObject::staticFunctionGetter): Ditto.
              (KJS::JSCallbackObject::callbackGetter): Ditto.
      
              * kjs/internal.cpp:
              (KJS::StringImp::getPrimitiveNumber): Updated for change of data member name.
              (KJS::StringImp::toBoolean): Ditto.
              (KJS::StringImp::toNumber): Ditto.
              (KJS::StringImp::toString): Ditto.
              (KJS::StringInstance::create): Added; avoids a bit of cut and paste code.
              (KJS::StringImp::toObject): Use StringInstance::create.
              (KJS::StringImp::toThisObject): Ditto.
              (KJS::StringImp::lengthGetter): Added. Replaces the getter that used to live in
              the StringInstance class.
              (KJS::StringImp::indexGetter): Ditto.
              (KJS::StringImp::indexNumericPropertyGetter): Ditto.
              (KJS::StringImp::getOwnPropertySlot): Added. Deals with built in properties of
              the string class without creating a StringInstance.
      
              * kjs/internal.h:
              (KJS::StringImp::getStringPropertySlot): Added. To be used by both the string
              and string object getOwnPropertySlot function.
      
              * kjs/lookup.h:
              (KJS::staticFunctionGetter): Updated since slotBase() is now a JSValue rather
              than a JSObject.
      
              * kjs/object.h: Removed PropertySlot::slotBase() function, which can now move
              back into property_slot.h where it belongs since it doesn't have to cast to
              JSObject*.
      
              * kjs/property_slot.cpp:
              (KJS::PropertySlot::functionGetter): Updated since slot.slotBase() is now a JSValue*
              instead of JSObject*. setGetterSlot still guarantees the base is a JSObject*.
              * kjs/property_slot.h:
              (KJS::PropertySlot::PropertySlot): Changed base to JSValue* intead of JSCell*.
              (KJS::PropertySlot::setStaticEntry): Ditto.
              (KJS::PropertySlot::setCustom): Ditto.
              (KJS::PropertySlot::setCustomIndex): Ditto.
              (KJS::PropertySlot::setCustomNumeric): Ditto.
              (KJS::PropertySlot::slotBase): Moved inline here since it no longer involves a
              downcast to JSObject*.
              (KJS::PropertySlot::setBase): Changed to JSValue*.
      
              * kjs/string_object.cpp:
              (KJS::StringInstance::getOwnPropertySlot): Changed to use getStringPropertySlot
              instead of coding the properties here. This allows sharing the code with StringImp.
      
              * kjs/string_object.h: Removed inlineGetOwnPropertySlot, lengthGetter, and indexGetter.
              Made one of the constructors protected.
      
              * kjs/value.h: Made getOwnPropertySlot private in the JSCell class -- this is better
              since it's not the real JSObject getOwnPropertySlot semantic and most callers shouldn't
              use it.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68dbe316
    • ap@webkit.org's avatar
      Reviewed by Maciej. · a1669f32
      ap@webkit.org authored
              Preparation to making JavaScript heap per-thread.
      
              * kjs/collector.cpp:
              (KJS::Collector::collect):
              * kjs/collector.h:
              (KJS::Collector::markListSet):
              The collector now holds the list of protected lists itself, to be made per-instance.
      
              * kjs/list.h: Changed to hold a pointer to a mark set this list is in, if any.
              (KJS::List::List): Explicitly initialize m_size with zero, as m_vector.size() is
              guaranteed to be such anyway.
              (KJS::List::append): Changed the fast case to only be executed as long as inline buffer
              is used, because otherwise, we now do more expensive checks.
      
              * kjs/list.cpp:
              (KJS::List::markLists): Renamed from markProtectedListsSlowCase, made it take the list set
              as a parameter.
              (KJS::List::slowAppend): If a non-immediate value is appended, the list needs to be added
              to an appropriate Heap's protected list. For now, a static Collector::markListSet() is
              used, but the code is layed out in preparation to making the switch to multiple heaps.
      
              * JavaScriptCore.exp: Updated export list.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1669f32
    • cwzwarich@webkit.org's avatar
      2008-06-12 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 75a1fc11
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Bug 19510: CodeBlock::needsFullScopeChain not always set for global code
              <https://bugs.webkit.org/show_bug.cgi?id=19510>
      
              This fixes the symptoms by using CodeGenerator::m_codeType to determine
              when to use temporaries instead of CodeBlock::needsFullScopeChain, but
              it does not fix the problem itself.
      
              JavaScriptCore:
      
              * VM/CodeGenerator.h:
              (KJS::CodeGenerator::leftHandSideNeedsCopy):
      
              LayoutTests:
      
              * fast/js/codegen-temporaries-multiple-global-blocks-expected.txt: Added.
              * fast/js/codegen-temporaries-multiple-global-blocks.html: Added.
              * fast/js/resources/codegen-temporaries-multiple-global-blocks-1.js: Added.
              * fast/js/resources/codegen-temporaries-multiple-global-blocks-2.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75a1fc11
  5. 11 Jun, 2008 4 commits
    • cwzwarich@webkit.org's avatar
      2008-06-11 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 6acdff63
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
      
              Bug 19498: REGRESSION (r34497): crash while loading GMail
              <https://bugs.webkit.org/show_bug.cgi?id=19498>
      
              JavaScriptCore:
      
              * VM/CodeGenerator.cpp:
              (KJS::CodeGenerator::emitJumpIfTrueOptimized):
              (KJS::CodeGenerator::emitJumpIfTrue):
              * VM/CodeGenerator.h:
              * kjs/nodes.cpp:
              (KJS::DoWhileNode::emitCode):
              (KJS::WhileNode::emitCode):
              (KJS::ForNode::emitCode):
              (KJS::CaseBlockNode::emitCodeForBlock):
      
              LayoutTests:
      
              * fast/js/logical-or-jless-expected.txt: Added.
              * fast/js/logical-or-jless.html: Added.
              * fast/js/resources/logical-or-jless.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6acdff63
    • darin@apple.com's avatar
      2008-06-11 Darin Adler <darin@apple.com> · 1ac13a61
      darin@apple.com authored
              Reviewed by Maciej.
      
              - a little bit of cleanup and prep for some upcoming optimizations
      
              * JavaScriptCore.exp: Re-sorted this file (with sort command line tool).
              * VM/CodeBlock.cpp:
              (KJS::CodeBlock::dump): Fixed printf to avoid warnings -- to use %lu we
              need to make sure the type is unsigned long.
              * kjs/object.cpp:
              (KJS::Error::create): Eliminated unused error names array, and also put
              the strings into the code since there was already a switch statment.
              This also avoids having to contemplate a hypothetical access past the
              end of the array.
              * kjs/object.h: Got rid of errorNames.
              * kjs/property_slot.cpp: Deleted unused ungettableGetter.
              * kjs/property_slot.h: Ditto.
              * wtf/AlwaysInline.h: Added LIKELY alongside UNLIKELY.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ac13a61
    • cwzwarich@webkit.org's avatar
      2008-06-11 Cameron Zwarich <cwzwarich@uwaterloo.ca> · d195dd81
      cwzwarich@webkit.org authored
              Reviewed by Darin.
      
              Bug 19457: Create fused opcodes for tests and conditional jumps
              <https://bugs.webkit.org/show_bug.cgi?id=19457>
      
              Add a new jless instruction, and modify the code generator to emit it
              instead of the pair (less, jtrue).
      
              Gives a 3.6% improvement on SunSpider.
      
              * VM/CodeBlock.cpp:
              (KJS::CodeBlock::dump):
              * VM/CodeGenerator.cpp:
              (KJS::CodeGenerator::CodeGenerator):
              (KJS::CodeGenerator::emitOpcode):
              (KJS::CodeGenerator::retrieveLastBinaryOp):
              (KJS::CodeGenerator::rewindBinaryOp):
              (KJS::CodeGenerator::emitJump):
              (KJS::CodeGenerator::emitJumpIfTrue):
              (KJS::CodeGenerator::emitJumpIfFalse):
              (KJS::CodeGenerator::emitMove):
              (KJS::CodeGenerator::emitNot):
              (KJS::CodeGenerator::emitEqual):
              (KJS::CodeGenerator::emitNotEqual):
              (KJS::CodeGenerator::emitStrictEqual):
              (KJS::CodeGenerator::emitNotStrictEqual):
              (KJS::CodeGenerator::emitLess):
              (KJS::CodeGenerator::emitLessEq):
              (KJS::CodeGenerator::emitPreInc):
              (KJS::CodeGenerator::emitPreDec):
              (KJS::CodeGenerator::emitPostInc):
              (KJS::CodeGenerator::emitPostDec):
              (KJS::CodeGenerator::emitToJSNumber):
              (KJS::CodeGenerator::emitNegate):
              (KJS::CodeGenerator::emitAdd):
              (KJS::CodeGenerator::emitMul):
              (KJS::CodeGenerator::emitDiv):
              (KJS::CodeGenerator::emitMod):
              (KJS::CodeGenerator::emitSub):
              (KJS::CodeGenerator::emitLeftShift):
              (KJS::CodeGenerator::emitRightShift):
              (KJS::CodeGenerator::emitUnsignedRightShift):
              (KJS::CodeGenerator::emitBitAnd):
              (KJS::CodeGenerator::emitBitXOr):
              (KJS::CodeGenerator::emitBitOr):
              (KJS::CodeGenerator::emitBitNot):
              (KJS::CodeGenerator::emitInstanceOf):
              (KJS::CodeGenerator::emitTypeOf):
              (KJS::CodeGenerator::emitIn):
              (KJS::CodeGenerator::emitLoad):
              (KJS::CodeGenerator::emitNewObject):
              (KJS::CodeGenerator::emitNewArray):
              (KJS::CodeGenerator::emitResolve):
              (KJS::CodeGenerator::emitGetScopedVar):
              (KJS::CodeGenerator::emitPutScopedVar):
              (KJS::CodeGenerator::emitResolveBase):
              (KJS::CodeGenerator::emitResolveWithBase):
              (KJS::CodeGenerator::emitResolveFunction):
              (KJS::CodeGenerator::emitGetById):
              (KJS::CodeGenerator::emitPutById):
              (KJS::CodeGenerator::emitPutGetter):
              (KJS::CodeGenerator::emitPutSetter):
              (KJS::CodeGenerator::emitDeleteById):
              (KJS::CodeGenerator::emitGetByVal):
              (KJS::CodeGenerator::emitPutByVal):
              (KJS::CodeGenerator::emitDeleteByVal):
              (KJS::CodeGenerator::emitPutByIndex):
              (KJS::CodeGenerator::emitNewFunction):
              (KJS::CodeGenerator::emitNewRegExp):
              (KJS::CodeGenerator::emitNewFunctionExpression):
              (KJS::CodeGenerator::emitCall):
              (KJS::CodeGenerator::emitReturn):
              (KJS::CodeGenerator::emitEnd):
              (KJS::CodeGenerator::emitConstruct):
              (KJS::CodeGenerator::emitPushScope):
              (KJS::CodeGenerator::emitPopScope):
              (KJS::CodeGenerator::emitDebugHook):
              (KJS::CodeGenerator::emitComplexJumpScopes):
              (KJS::CodeGenerator::emitJumpScopes):
              (KJS::CodeGenerator::emitNextPropertyName):
              (KJS::CodeGenerator::emitGetPropertyNames):
              (KJS::CodeGenerator::emitCatch):
              (KJS::CodeGenerator::emitThrow):
              (KJS::CodeGenerator::emitNewError):
              (KJS::CodeGenerator::emitJumpSubroutine):
              (KJS::CodeGenerator::emitSubroutineReturn):
              * VM/CodeGenerator.h:
              * VM/Machine.cpp:
              (KJS::Machine::privateExecute):
              * VM/Opcode.cpp:
              (KJS::):
              * VM/Opcode.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d195dd81
    • darin@apple.com's avatar
      2008-06-11 Darin Adler <darin@apple.com> · 772b7730
      darin@apple.com authored
              Reviewed by Alexey.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=19442
                JavaScript array implementation doesn't maintain m_numValuesInVector when sorting
      
              * kjs/array_instance.cpp:
              (KJS::ArrayInstance::checkConsistency): Added. Empty inline version for when
              consistency checks are turned off.
              (KJS::ArrayInstance::ArrayInstance): Check consistency after construction.
              (KJS::ArrayInstance::~ArrayInstance): Check consistency before destruction.
              (KJS::ArrayInstance::put): Check consistency before and after.
              (KJS::ArrayInstance::deleteProperty): Ditto.
              (KJS::ArrayInstance::setLength): Ditto.
              (KJS::compareByStringPairForQSort): Use typedef for clarity.
              (KJS::ArrayInstance::sort): Check consistency before and after. Also broke the loop
              to set up sorting into two separate passes. Added FIXMEs about various exception
              safety issues. Added code to set m_numValuesInVector after sorting.
              (KJS::ArrayInstance::compactForSorting): Ditto.
      
              * kjs/array_instance.h: Added a definition of an enum for the types of consistency
              check and a declaration of the consistency checking function.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      772b7730
  6. 10 Jun, 2008 2 commits
  7. 09 Jun, 2008 3 commits
  8. 08 Jun, 2008 1 commit
    • cwzwarich@webkit.org's avatar
      2008-06-08 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 46bbbf6d
      cwzwarich@webkit.org authored
              Reviewed by Darin.
      
              Bug 19346: REGRESSION: Mootools 1.2 Class inheritance broken in post-SquirrelFish merge
              <https://bugs.webkit.org/show_bug.cgi?id=19346>
      
              A check for whether a function's caller is eval code accidentally included
              the case where the caller's caller is native code. Add a CodeType field to
              CodeBlock and use this for the eval caller test instead.
      
              JavaScriptCore:
      
              * VM/CodeBlock.h:
              (KJS::CodeBlock::CodeBlock):
              (KJS::ProgramCodeBlock::ProgramCodeBlock):
              (KJS::EvalCodeBlock::EvalCodeBlock):
              * VM/Machine.cpp:
              (KJS::getCallerFunctionOffset):
              * kjs/nodes.cpp:
              (KJS::FunctionBodyNode::generateCode):
              (KJS::ProgramNode::generateCode):
      
              LayoutTests:
      
              * fast/js/function-dot-arguments-and-caller-expected.txt:
              * fast/js/function-dot-arguments-and-caller.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46bbbf6d
  9. 07 Jun, 2008 6 commits