1. 06 Jun, 2010 1 commit
  2. 29 May, 2010 1 commit
  3. 27 May, 2010 1 commit
  4. 21 May, 2010 1 commit
  5. 15 May, 2010 1 commit
  6. 14 May, 2010 1 commit
  7. 29 Apr, 2010 1 commit
  8. 15 Apr, 2010 1 commit
    • eric@webkit.org's avatar
      2010-04-15 Bruno Schmidt <bruno.schmidt@gmail.com> · 1c041ea2
      eric@webkit.org authored
              Reviewed by Kenneth Rohde Christiansen.
      
              [Qt] Null QObjects properties cause Segmentation Fault
              https://bugs.webkit.org/show_bug.cgi?id=34730
      
              QObjects exported to the QWebkit javascript with properties that are
              a null "QObject*" cause Segmentation Fault.
      
              If an QObject is added to the javascript context and it contains
              properties of the type QObject* with NULL value, calling the property
              causes Segmentation Fault.
              So now the code below properly checks for null pointers:
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getClass): may return NULL
              (JSC::Bindings::QtInstance::getMethod): may return jsNull()
              (JSC::Bindings::QtInstance::stringValue): may return jsNull()
              (JSC::Bindings::QtInstance::booleanValue): may return false
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::convertValueToQVariant):
              (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
      2010-04-15  Bruno Schmidt  <bruno.schmidt@gmail.com>
      
              Reviewed by Kenneth Rohde Christiansen.
      
              [Qt] Null QObjects properties cause Segmentation Fault
              https://bugs.webkit.org/show_bug.cgi?id=34730
      
              QObjects exported to the QWebkit javascript with properties that are
              a null "QObject*" cause Segmentation Fault.
      
              If an QObject is added to the javascript context and it contains
              properties of the type QObject* with NULL value, calling the property
              causes Segmentation Fault.
      
              Follow the tests for the corrections done over WebCore.
      
              * tests/qwebframe/tst_qwebframe.cpp:
              (MyQObject::MyQObject): init the field m_objectStar
              (MyQObject::objectStarProperty): read the Object* prop
              (MyQObject::setObjectStarProperty): write the Object* prop
              (tst_QWebFrame::getSetStaticProperty): new tests for the new prop
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c041ea2
  9. 09 Apr, 2010 1 commit
  10. 26 Feb, 2010 1 commit
    • barraclough@apple.com's avatar
      Bug 35401 - Fix handling of errors in handling calls over bridge, · a4c520b1
      barraclough@apple.com authored
      where base object bridge-type does not match method bridge-type.
      
      Reviewed by Alexey Proskuryakov.
      
      The code assumes users will only attempt to invoke a Java method
      on a Java base object, etc.
      Add language specific subclasses of RuntimeMethod, and pass the
      RuntimeMethod into invokeMethod, so we can typecheck before
      casting.  Throw an exception on type mismatch.
      
      WebCore: 
      
      * WebCore.base.exp:
      * WebCore.xcodeproj/project.pbxproj:
      * bridge/c/c_instance.cpp:
      (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):new class to distinguish this type of RuntimeMethod.
      (JSC::Bindings::CInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
      (JSC::Bindings::CInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
      * bridge/c/c_instance.h:
      * bridge/jni/jsc/JavaInstanceJSC.cpp:
      (JavaRuntimeMethod::JavaRuntimeMethod): new class to distinguish this type of RuntimeMethod.
      (JavaInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
      (JavaInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
      * bridge/jni/jsc/JavaInstanceJSC.h:
      * bridge/jsc/BridgeJSC.h:
      * bridge/objc/objc_instance.h:
      * bridge/objc/objc_instance.mm:
      (ObjcRuntimeMethod::ObjcRuntimeMethod): new class to distinguish this type of RuntimeMethod.
      (ObjcInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
      (ObjcInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
      (ObjcInstance::invokeObjcMethod): new method, takes an ObjcMethod* as an argument so that we don't need to dynamically determine the type.
      * bridge/objc/objc_runtime.mm:
      (JSC::Bindings::callObjCFallbackObject): use new invokeObjcMethod method.
      * bridge/runtime_method.cpp:
      (JSC::callRuntimeMethod): pass RuntimeMethod as argument to invokeMethod, rather than its MethodList.
      * bridge/runtime_object.cpp:
      (JSC::RuntimeObject::methodGetter): use new getMethod method.
      
      WebKit/mac: 
      
      * Plugins/Hosted/ProxyInstance.h:
      * Plugins/Hosted/ProxyInstance.mm:
      (WebKit::PluginRuntimeMethod::PluginRuntimeMethod): new class to distinguish this type of RuntimeMethod.
      (WebKit::ProxyInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
      (WebKit::ProxyInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
      
      LayoutTests: 
      
      * java/java-and-plugins.html: Add tests for passing mismatched this objects to methdods.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4c520b1
  11. 22 Feb, 2010 1 commit
  12. 28 Jan, 2010 1 commit
  13. 23 Nov, 2009 1 commit
    • eric@webkit.org's avatar
      2009-11-23 Simon Hausmann <simon.hausmann@nokia.com> · 7a83cbfa
      eric@webkit.org authored
              Reviewed by Kenneth Rohde Christiansen.
      
              [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
              the wrapped object died before the gc removed the instance.
      
              https://bugs.webkit.org/show_bug.cgi?id=31681
      
              Before using a cached instance, verify that its wrapped QObject is
              still alive.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getQtInstance):
              * bridge/qt/qt_instance.h:
              (JSC::Bindings::QtInstance::hashKey):
      2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
      
              Reviewed by Kenneth Rohde Christiansen.
      
              [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
              the wrapped object died before the gc removed the instance.
      
              https://bugs.webkit.org/show_bug.cgi?id=31681
      
              Added a unit-test to verify that wrapping a QObject with the
              same identity as a previously but now dead object works.
      
              * tests/qwebframe/tst_qwebframe.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a83cbfa
  14. 16 Nov, 2009 1 commit
  15. 18 Sep, 2009 1 commit
    • darin@apple.com's avatar
      Each wrapped Objective-C object should use a single RuntimeObjectImp · f55539ca
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=29351
      rdar://problem/7142294
      
      Patch by Darin Adler <darin@apple.com> on 2009-09-18
      Reviewed by Sam Weinig.
      
      * WebCore.base.exp: Added a newly-needed exported symbol.
      
      * bindings/objc/DOMInternal.h: Eliminated unused
      createWrapperCacheWithIntegerKeys; it has not been needed since the
      RGBColor wrappers were reworked.
      * bindings/objc/DOMInternal.mm: Ditto.
      
      * bridge/objc/objc_instance.h: Made the create function non-inline.
      * bridge/objc/objc_instance.mm:
      (createInstanceWrapperCache): Added. Creates an appropriate map table.
      (ObjcInstance::create): Moved here from header. Uses NSMapGet and
      NSMapInsert to cache the instance in a map table.
      (ObjcInstance::~ObjcInstance): Added a call to NSMapRemove to remove
      the instance from the map table.
      
      * bridge/qt/qt_instance.cpp:
      (JSC::Bindings::QtInstance::~QtInstance): Remove unneeded code to remove
      the instance from cachedObjects, which no longer exists.
      (JSC::Bindings::QtInstance::newRuntimeObject): Renamed to overload new
      bottleneck. Caching is now handled by the base class.
      
      * bridge/runtime.cpp:
      (JSC::Bindings::Instance::Instance): Initialize m_runtimeObject to 0.
      (JSC::Bindings::Instance::~Instance): Assert m_runtimeObject is 0.
      (JSC::Bindings::Instance::createRuntimeObject): Use m_runtimeObject
      if it's already set. Set m_runtimeObject and call addRuntimeObject
      if it's not.
      (JSC::Bindings::Instance::newRuntimeObject): Added. Virtual function,
      used only by createRuntimeObject.
      (JSC::Bindings::Instance::willDestroyRuntimeObject): Added.
      Calls removeRuntimeObject and then clears m_runtimeObject.
      (JSC::Bindings::Instance::willInvalidateRuntimeObject): Added.
      Clears m_runtimeObject.
      
      * bridge/runtime.h: Made createRuntimeObject non-virtual. Added
      willDestroyRuntimeObject, willInvalidateRuntimeObject,
      newRuntimeObject, and m_runtimeObject.
      
      * bridge/runtime_object.cpp:
      (JSC::RuntimeObjectImp::RuntimeObjectImp): Removed addRuntimeObject
      call, now handled by caller.
      (JSC::RuntimeObjectImp::~RuntimeObjectImp): Replaced removeRuntimeObject
      call with willDestroyRuntimeObject call; the latter nows calls
      removeRuntimeObject.
      (JSC::RuntimeObjectImp::invalidate): Added willInvalidateRuntimeObject
      call.
      
      * bridge/runtime_object.h: Made invalidate non-virtual.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f55539ca
  16. 11 Aug, 2009 1 commit
    • hausmann@webkit.org's avatar
      Fix the Qt build after r47022. · d097da83
      hausmann@webkit.org authored
      Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2009-08-11
      Reviewed by NOBODY (build fix).
      
      Use the new markChildren() pattern for marking aggregate/child objects.
      
      * bridge/qt/qt_instance.cpp:
      (JSC::Bindings::QtRuntimeObjectImp::markChildren):
      (JSC::Bindings::QtInstance::markAggregate):
      * bridge/qt/qt_instance.h:
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
      * bridge/qt/qt_runtime.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d097da83
  17. 27 Jul, 2009 1 commit
  18. 23 Jul, 2009 1 commit
    • hausmann@webkit.org's avatar
      WebCore: · a20dc7d6
      hausmann@webkit.org authored
      2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
      
              Reviewed by Holger Freyther.
      
              Fix crashes with the QObject bindings after garbage collection.
      
              There is one QtInstance per wrapped QObject, and that QtInstance keeps
              references to cached JSObjects for slots. When those objects get
              deleted due to GC, then they becoming dangling pointers.
      
              When a cached member dies, it is now removed from the QtInstance's
              cache.
      
              As we cannot track the lifetime of the children, we have to remove
              them from QtInstance alltogether. They are not cached and were
              only used for mark(), but we _want_ them to be subject to gc.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
              use qDeleteAll().
              (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
              clean m_methods and m_defaultMethod.
              (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
              (JSC::Bindings::QtField::valueFromInstance): Don't save children for
              marking.
              * bridge/qt/qt_instance.h: Declare removeCachedMethod.
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
              with this on the instance.
      
      WebKit/qt:
      
      2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
      
              Reviewed by Holger Freyther.
      
              Added a testcase to verify that cached methods in the QOBject bindings
              remain alife even after garbage collection.
      
              * tests/qwebpage/tst_qwebpage.cpp:
              (tst_QWebPage::protectBindingsRuntimeObjectsFromCollector):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@46265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a20dc7d6
  19. 11 Jul, 2009 1 commit
  20. 01 May, 2009 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · dc067b62
      ggaren@apple.com authored
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * API/APICast.h:
              (toJS):
              (toRef):
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.cpp:
              (JSC::JSCallbackFunction::call):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::asCallbackObject):
              (JSC::::put):
              (JSC::::hasInstance):
              (JSC::::call):
              (JSC::::staticValueGetter):
              (JSC::::staticFunctionGetter):
              (JSC::::callbackGetter):
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              (JSObjectSetPrototype):
              (JSObjectGetProperty):
              (JSObjectSetProperty):
              (JSObjectGetPropertyAtIndex):
              (JSObjectSetPropertyAtIndex):
              * API/JSValueRef.cpp:
              (JSValueGetType):
              (JSValueIsUndefined):
              (JSValueIsNull):
              (JSValueIsBoolean):
              (JSValueIsNumber):
              (JSValueIsString):
              (JSValueIsObject):
              (JSValueIsObjectOfClass):
              (JSValueIsEqual):
              (JSValueIsStrictEqual):
              (JSValueIsInstanceOfConstructor):
              (JSValueToBoolean):
              (JSValueToNumber):
              (JSValueToStringCopy):
              (JSValueToObject):
              (JSValueProtect):
              (JSValueUnprotect):
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::valueToSourceString):
              (JSC::constantName):
              (JSC::CodeBlock::dump):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::getConstant):
              (JSC::CodeBlock::addUnexpectedConstant):
              (JSC::CodeBlock::unexpectedConstant):
              * bytecode/EvalCodeCache.h:
              (JSC::EvalCodeCache::get):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::addConstant):
              (JSC::BytecodeGenerator::addUnexpectedConstant):
              (JSC::BytecodeGenerator::emitLoad):
              (JSC::BytecodeGenerator::emitGetScopedVar):
              (JSC::BytecodeGenerator::emitPutScopedVar):
              (JSC::BytecodeGenerator::emitNewError):
              (JSC::keyForImmediateSwitch):
              * bytecompiler/BytecodeGenerator.h:
              (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue):
              (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
              * debugger/Debugger.cpp:
              (JSC::evaluateInGlobalCallFrame):
              * debugger/Debugger.h:
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::put):
              (JSC::DebuggerActivation::putWithAttributes):
              (JSC::DebuggerActivation::lookupGetter):
              (JSC::DebuggerActivation::lookupSetter):
              * debugger/DebuggerActivation.h:
              (JSC::DebuggerActivation::createStructure):
              * debugger/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate):
              * debugger/DebuggerCallFrame.h:
              (JSC::DebuggerCallFrame::DebuggerCallFrame):
              (JSC::DebuggerCallFrame::exception):
              * interpreter/CachedCall.h:
              (JSC::CachedCall::CachedCall):
              (JSC::CachedCall::call):
              (JSC::CachedCall::setThis):
              (JSC::CachedCall::setArgument):
              * interpreter/CallFrame.cpp:
              (JSC::CallFrame::thisValue):
              (JSC::CallFrame::dumpCaller):
              * interpreter/CallFrame.h:
              (JSC::ExecState::setException):
              (JSC::ExecState::exception):
              (JSC::ExecState::exceptionSlot):
              * interpreter/CallFrameClosure.h:
              (JSC::CallFrameClosure::setArgument):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::Interpreter::resolveBase):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::resolveBaseAndFunc):
              (JSC::isNotObject):
              (JSC::Interpreter::callEval):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::throwException):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::prepareForRepeatCall):
              (JSC::Interpreter::createExceptionScope):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::retrieveArguments):
              (JSC::Interpreter::retrieveCaller):
              (JSC::Interpreter::retrieveLastCaller):
              * interpreter/Interpreter.h:
              * interpreter/Register.h:
              (JSC::Register::):
              (JSC::Register::Register):
              (JSC::Register::jsValue):
              * jit/JIT.cpp:
              (JSC::):
              (JSC::JIT::privateCompileMainPass):
              * jit/JIT.h:
              * jit/JITArithmetic.cpp:
              (JSC::JIT::compileFastArith_op_mod):
              * jit/JITCall.cpp:
              (JSC::JIT::unlinkCall):
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCall):
              * jit/JITCode.h:
              (JSC::):
              (JSC::JITCode::execute):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitGetVirtualRegister):
              (JSC::JIT::getConstantOperand):
              (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
              (JSC::JIT::emitInitRegister):
              * jit/JITPropertyAccess.cpp:
              (JSC::JIT::privateCompilePutByIdTransition):
              (JSC::JIT::patchGetByIdSelf):
              (JSC::JIT::patchPutByIdReplace):
              (JSC::JIT::privateCompileGetByIdSelf):
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              (JSC::JIT::privateCompilePutByIdReplace):
              * jit/JITStubs.cpp:
              (JSC::JITStubs::tryCachePutByID):
              (JSC::JITStubs::tryCacheGetByID):
              (JSC::JITStubs::cti_op_convert_this):
              (JSC::JITStubs::cti_op_add):
              (JSC::JITStubs::cti_op_pre_inc):
              (JSC::JITStubs::cti_op_loop_if_less):
              (JSC::JITStubs::cti_op_loop_if_lesseq):
              (JSC::JITStubs::cti_op_get_by_id_generic):
              (JSC::JITStubs::cti_op_get_by_id):
              (JSC::JITStubs::cti_op_get_by_id_second):
              (JSC::JITStubs::cti_op_get_by_id_self_fail):
              (JSC::JITStubs::cti_op_get_by_id_proto_list):
              (JSC::JITStubs::cti_op_get_by_id_proto_list_full):
              (JSC::JITStubs::cti_op_get_by_id_proto_fail):
              (JSC::JITStubs::cti_op_get_by_id_array_fail):
              (JSC::JITStubs::cti_op_get_by_id_string_fail):
              (JSC::JITStubs::cti_op_instanceof):
              (JSC::JITStubs::cti_op_del_by_id):
              (JSC::JITStubs::cti_op_mul):
              (JSC::JITStubs::cti_op_call_NotJSFunction):
              (JSC::JITStubs::cti_op_resolve):
              (JSC::JITStubs::cti_op_construct_NotJSConstruct):
              (JSC::JITStubs::cti_op_get_by_val):
              (JSC::JITStubs::cti_op_get_by_val_string):
              (JSC::JITStubs::cti_op_get_by_val_byte_array):
              (JSC::JITStubs::cti_op_resolve_func):
              (JSC::JITStubs::cti_op_sub):
              (JSC::JITStubs::cti_op_put_by_val):
              (JSC::JITStubs::cti_op_put_by_val_array):
              (JSC::JITStubs::cti_op_put_by_val_byte_array):
              (JSC::JITStubs::cti_op_lesseq):
              (JSC::JITStubs::cti_op_loop_if_true):
              (JSC::JITStubs::cti_op_load_varargs):
              (JSC::JITStubs::cti_op_negate):
              (JSC::JITStubs::cti_op_resolve_base):
              (JSC::JITStubs::cti_op_resolve_skip):
              (JSC::JITStubs::cti_op_resolve_global):
              (JSC::JITStubs::cti_op_div):
              (JSC::JITStubs::cti_op_pre_dec):
              (JSC::JITStubs::cti_op_jless):
              (JSC::JITStubs::cti_op_not):
              (JSC::JITStubs::cti_op_jtrue):
              (JSC::JITStubs::cti_op_post_inc):
              (JSC::JITStubs::cti_op_eq):
              (JSC::JITStubs::cti_op_lshift):
              (JSC::JITStubs::cti_op_bitand):
              (JSC::JITStubs::cti_op_rshift):
              (JSC::JITStubs::cti_op_bitnot):
              (JSC::JITStubs::cti_op_resolve_with_base):
              (JSC::JITStubs::cti_op_mod):
              (JSC::JITStubs::cti_op_less):
              (JSC::JITStubs::cti_op_neq):
              (JSC::JITStubs::cti_op_post_dec):
              (JSC::JITStubs::cti_op_urshift):
              (JSC::JITStubs::cti_op_bitxor):
              (JSC::JITStubs::cti_op_bitor):
              (JSC::JITStubs::cti_op_call_eval):
              (JSC::JITStubs::cti_op_throw):
              (JSC::JITStubs::cti_op_next_pname):
              (JSC::JITStubs::cti_op_typeof):
              (JSC::JITStubs::cti_op_is_undefined):
              (JSC::JITStubs::cti_op_is_boolean):
              (JSC::JITStubs::cti_op_is_number):
              (JSC::JITStubs::cti_op_is_string):
              (JSC::JITStubs::cti_op_is_object):
              (JSC::JITStubs::cti_op_is_function):
              (JSC::JITStubs::cti_op_stricteq):
              (JSC::JITStubs::cti_op_nstricteq):
              (JSC::JITStubs::cti_op_to_jsnumber):
              (JSC::JITStubs::cti_op_in):
              (JSC::JITStubs::cti_op_switch_imm):
              (JSC::JITStubs::cti_op_switch_char):
              (JSC::JITStubs::cti_op_switch_string):
              (JSC::JITStubs::cti_op_del_by_val):
              (JSC::JITStubs::cti_op_new_error):
              (JSC::JITStubs::cti_vm_throw):
              * jit/JITStubs.h:
              * jsc.cpp:
              (functionPrint):
              (functionDebug):
              (functionGC):
              (functionVersion):
              (functionRun):
              (functionLoad):
              (functionSetSamplingFlag):
              (functionClearSamplingFlag):
              (functionReadline):
              (functionQuit):
              * parser/Nodes.cpp:
              (JSC::processClauseList):
              * profiler/ProfileGenerator.cpp:
              (JSC::ProfileGenerator::addParentForConsoleStart):
              * profiler/Profiler.cpp:
              (JSC::Profiler::willExecute):
              (JSC::Profiler::didExecute):
              (JSC::Profiler::createCallIdentifier):
              * profiler/Profiler.h:
              * runtime/ArgList.cpp:
              (JSC::MarkedArgumentBuffer::slowAppend):
              * runtime/ArgList.h:
              (JSC::MarkedArgumentBuffer::at):
              (JSC::MarkedArgumentBuffer::append):
              (JSC::ArgList::ArgList):
              (JSC::ArgList::at):
              * runtime/Arguments.cpp:
              (JSC::Arguments::put):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              (JSC::asArguments):
              * runtime/ArrayConstructor.cpp:
              (JSC::callArrayConstructor):
              * runtime/ArrayPrototype.cpp:
              (JSC::getProperty):
              (JSC::putProperty):
              (JSC::arrayProtoFuncToString):
              (JSC::arrayProtoFuncToLocaleString):
              (JSC::arrayProtoFuncJoin):
              (JSC::arrayProtoFuncConcat):
              (JSC::arrayProtoFuncPop):
              (JSC::arrayProtoFuncPush):
              (JSC::arrayProtoFuncReverse):
              (JSC::arrayProtoFuncShift):
              (JSC::arrayProtoFuncSlice):
              (JSC::arrayProtoFuncSort):
              (JSC::arrayProtoFuncSplice):
              (JSC::arrayProtoFuncUnShift):
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncMap):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncForEach):
              (JSC::arrayProtoFuncSome):
              (JSC::arrayProtoFuncReduce):
              (JSC::arrayProtoFuncReduceRight):
              (JSC::arrayProtoFuncIndexOf):
              (JSC::arrayProtoFuncLastIndexOf):
              * runtime/BooleanConstructor.cpp:
              (JSC::callBooleanConstructor):
              (JSC::constructBooleanFromImmediateBoolean):
              * runtime/BooleanConstructor.h:
              * runtime/BooleanObject.h:
              (JSC::asBooleanObject):
              * runtime/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncToString):
              (JSC::booleanProtoFuncValueOf):
              * runtime/CallData.cpp:
              (JSC::call):
              * runtime/CallData.h:
              * runtime/Collector.cpp:
              (JSC::Heap::protect):
              (JSC::Heap::unprotect):
              (JSC::Heap::heap):
              * runtime/Collector.h:
              * runtime/Completion.cpp:
              (JSC::evaluate):
              * runtime/Completion.h:
              (JSC::Completion::Completion):
              (JSC::Completion::value):
              (JSC::Completion::setValue):
              * runtime/ConstructData.cpp:
              (JSC::construct):
              * runtime/ConstructData.h:
              * runtime/DateConstructor.cpp:
              (JSC::constructDate):
              (JSC::callDate):
              (JSC::dateParse):
              (JSC::dateNow):
              (JSC::dateUTC):
              * runtime/DateInstance.h:
              (JSC::asDateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncToString):
              (JSC::dateProtoFuncToUTCString):
              (JSC::dateProtoFuncToDateString):
              (JSC::dateProtoFuncToTimeString):
              (JSC::dateProtoFuncToLocaleString):
              (JSC::dateProtoFuncToLocaleDateString):
              (JSC::dateProtoFuncToLocaleTimeString):
              (JSC::dateProtoFuncGetTime):
              (JSC::dateProtoFuncGetFullYear):
              (JSC::dateProtoFuncGetUTCFullYear):
              (JSC::dateProtoFuncToGMTString):
              (JSC::dateProtoFuncGetMonth):
              (JSC::dateProtoFuncGetUTCMonth):
              (JSC::dateProtoFuncGetDate):
              (JSC::dateProtoFuncGetUTCDate):
              (JSC::dateProtoFuncGetDay):
              (JSC::dateProtoFuncGetUTCDay):
              (JSC::dateProtoFuncGetHours):
              (JSC::dateProtoFuncGetUTCHours):
              (JSC::dateProtoFuncGetMinutes):
              (JSC::dateProtoFuncGetUTCMinutes):
              (JSC::dateProtoFuncGetSeconds):
              (JSC::dateProtoFuncGetUTCSeconds):
              (JSC::dateProtoFuncGetMilliSeconds):
              (JSC::dateProtoFuncGetUTCMilliseconds):
              (JSC::dateProtoFuncGetTimezoneOffset):
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetMilliSeconds):
              (JSC::dateProtoFuncSetUTCMilliseconds):
              (JSC::dateProtoFuncSetSeconds):
              (JSC::dateProtoFuncSetUTCSeconds):
              (JSC::dateProtoFuncSetMinutes):
              (JSC::dateProtoFuncSetUTCMinutes):
              (JSC::dateProtoFuncSetHours):
              (JSC::dateProtoFuncSetUTCHours):
              (JSC::dateProtoFuncSetDate):
              (JSC::dateProtoFuncSetUTCDate):
              (JSC::dateProtoFuncSetMonth):
              (JSC::dateProtoFuncSetUTCMonth):
              (JSC::dateProtoFuncSetFullYear):
              (JSC::dateProtoFuncSetUTCFullYear):
              (JSC::dateProtoFuncSetYear):
              (JSC::dateProtoFuncGetYear):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/ErrorConstructor.cpp:
              (JSC::callErrorConstructor):
              * runtime/ErrorPrototype.cpp:
              (JSC::errorProtoFuncToString):
              * runtime/ExceptionHelpers.cpp:
              (JSC::createInterruptedExecutionException):
              (JSC::createError):
              (JSC::createStackOverflowError):
              (JSC::createUndefinedVariableError):
              (JSC::createErrorMessage):
              (JSC::createInvalidParamError):
              (JSC::createNotAConstructorError):
              (JSC::createNotAFunctionError):
              * runtime/ExceptionHelpers.h:
              * runtime/FunctionConstructor.cpp:
              (JSC::callFunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::callFunctionPrototype):
              (JSC::functionProtoFuncToString):
              (JSC::functionProtoFuncApply):
              (JSC::functionProtoFuncCall):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::toPrimitive):
              (JSC::GetterSetter::getPrimitiveNumber):
              * runtime/GetterSetter.h:
              (JSC::asGetterSetter):
              * runtime/InternalFunction.cpp:
              (JSC::InternalFunction::displayName):
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              (JSC::asInternalFunction):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::getOwnPropertySlot):
              (JSC::JSActivation::put):
              (JSC::JSActivation::putWithAttributes):
              (JSC::JSActivation::argumentsGetter):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              (JSC::asActivation):
              * runtime/JSArray.cpp:
              (JSC::storageSize):
              (JSC::JSArray::JSArray):
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::put):
              (JSC::JSArray::putSlowCase):
              (JSC::JSArray::deleteProperty):
              (JSC::JSArray::setLength):
              (JSC::JSArray::pop):
              (JSC::JSArray::push):
              (JSC::JSArray::mark):
              (JSC::compareNumbersForQSort):
              (JSC::JSArray::sortNumeric):
              (JSC::JSArray::sort):
              (JSC::JSArray::compactForSorting):
              (JSC::JSArray::checkConsistency):
              (JSC::constructArray):
              * runtime/JSArray.h:
              (JSC::JSArray::getIndex):
              (JSC::JSArray::setIndex):
              (JSC::JSArray::createStructure):
              (JSC::asArray):
              (JSC::isJSArray):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::createStructure):
              (JSC::JSByteArray::put):
              * runtime/JSByteArray.h:
              (JSC::JSByteArray::getIndex):
              (JSC::JSByteArray::setIndex):
              (JSC::asByteArray):
              (JSC::isJSByteArray):
              * runtime/JSCell.cpp:
              (JSC::JSCell::put):
              (JSC::JSCell::getJSNumber):
              * runtime/JSCell.h:
              (JSC::asCell):
              (JSC::JSValue::asCell):
              (JSC::JSValue::isString):
              (JSC::JSValue::isGetterSetter):
              (JSC::JSValue::isObject):
              (JSC::JSValue::getString):
              (JSC::JSValue::getObject):
              (JSC::JSValue::getCallData):
              (JSC::JSValue::getConstructData):
              (JSC::JSValue::getUInt32):
              (JSC::JSValue::getTruncatedInt32):
              (JSC::JSValue::getTruncatedUInt32):
              (JSC::JSValue::mark):
              (JSC::JSValue::marked):
              (JSC::JSValue::toPrimitive):
              (JSC::JSValue::getPrimitiveNumber):
              (JSC::JSValue::toBoolean):
              (JSC::JSValue::toNumber):
              (JSC::JSValue::toString):
              (JSC::JSValue::toObject):
              (JSC::JSValue::toThisObject):
              (JSC::JSValue::needsThisConversion):
              (JSC::JSValue::toThisString):
              (JSC::JSValue::getJSNumber):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::call):
              (JSC::JSFunction::argumentsGetter):
              (JSC::JSFunction::callerGetter):
              (JSC::JSFunction::lengthGetter):
              (JSC::JSFunction::getOwnPropertySlot):
              (JSC::JSFunction::put):
              (JSC::JSFunction::construct):
              * runtime/JSFunction.h:
              (JSC::JSFunction::createStructure):
              (JSC::asFunction):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::put):
              (JSC::JSGlobalObject::putWithAttributes):
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::resetPrototype):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::createStructure):
              (JSC::JSGlobalObject::GlobalPropertyInfo::GlobalPropertyInfo):
              (JSC::asGlobalObject):
              (JSC::Structure::prototypeForLookup):
              (JSC::Structure::prototypeChain):
              (JSC::Structure::isValid):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::encode):
              (JSC::decode):
              (JSC::globalFuncEval):
              (JSC::globalFuncParseInt):
              (JSC::globalFuncParseFloat):
              (JSC::globalFuncIsNaN):
              (JSC::globalFuncIsFinite):
              (JSC::globalFuncDecodeURI):
              (JSC::globalFuncDecodeURIComponent):
              (JSC::globalFuncEncodeURI):
              (JSC::globalFuncEncodeURIComponent):
              (JSC::globalFuncEscape):
              (JSC::globalFuncUnescape):
              (JSC::globalFuncJSCPrint):
              * runtime/JSGlobalObjectFunctions.h:
              * runtime/JSImmediate.cpp:
              (JSC::JSImmediate::toThisObject):
              (JSC::JSImmediate::toObject):
              (JSC::JSImmediate::prototype):
              (JSC::JSImmediate::toString):
              * runtime/JSImmediate.h:
              (JSC::JSImmediate::isImmediate):
              (JSC::JSImmediate::isNumber):
              (JSC::JSImmediate::isIntegerNumber):
              (JSC::JSImmediate::isDoubleNumber):
              (JSC::JSImmediate::isPositiveIntegerNumber):
              (JSC::JSImmediate::isBoolean):
              (JSC::JSImmediate::isUndefinedOrNull):
              (JSC::JSImmediate::isEitherImmediate):
              (JSC::JSImmediate::areBothImmediate):
              (JSC::JSImmediate::areBothImmediateIntegerNumbers):
              (JSC::JSImmediate::makeValue):
              (JSC::JSImmediate::makeInt):
              (JSC::JSImmediate::makeDouble):
              (JSC::JSImmediate::makeBool):
              (JSC::JSImmediate::makeUndefined):
              (JSC::JSImmediate::makeNull):
              (JSC::JSImmediate::doubleValue):
              (JSC::JSImmediate::intValue):
              (JSC::JSImmediate::uintValue):
              (JSC::JSImmediate::boolValue):
              (JSC::JSImmediate::rawValue):
              (JSC::JSImmediate::trueImmediate):
              (JSC::JSImmediate::falseImmediate):
              (JSC::JSImmediate::undefinedImmediate):
              (JSC::JSImmediate::nullImmediate):
              (JSC::JSImmediate::zeroImmediate):
              (JSC::JSImmediate::oneImmediate):
              (JSC::JSImmediate::impossibleValue):
              (JSC::JSImmediate::toBoolean):
              (JSC::JSImmediate::getTruncatedUInt32):
              (JSC::JSImmediate::fromNumberOutsideIntegerRange):
              (JSC::JSImmediate::from):
              (JSC::JSImmediate::getTruncatedInt32):
              (JSC::JSImmediate::toDouble):
              (JSC::JSImmediate::getUInt32):
              (JSC::JSValue::JSValue):
              (JSC::JSValue::isUndefinedOrNull):
              (JSC::JSValue::isBoolean):
              (JSC::JSValue::getBoolean):
              (JSC::JSValue::toInt32):
              (JSC::JSValue::toUInt32):
              (JSC::JSValue::isCell):
              (JSC::JSValue::isInt32Fast):
              (JSC::JSValue::getInt32Fast):
              (JSC::JSValue::isUInt32Fast):
              (JSC::JSValue::getUInt32Fast):
              (JSC::JSValue::makeInt32Fast):
              (JSC::JSValue::areBothInt32Fast):
              (JSC::JSFastMath::canDoFastBitwiseOperations):
              (JSC::JSFastMath::equal):
              (JSC::JSFastMath::notEqual):
              (JSC::JSFastMath::andImmediateNumbers):
              (JSC::JSFastMath::xorImmediateNumbers):
              (JSC::JSFastMath::orImmediateNumbers):
              (JSC::JSFastMath::canDoFastRshift):
              (JSC::JSFastMath::canDoFastUrshift):
              (JSC::JSFastMath::rightShiftImmediateNumbers):
              (JSC::JSFastMath::canDoFastAdditiveOperations):
              (JSC::JSFastMath::addImmediateNumbers):
              (JSC::JSFastMath::subImmediateNumbers):
              (JSC::JSFastMath::incImmediateNumber):
              (JSC::JSFastMath::decImmediateNumber):
              * runtime/JSNotAnObject.cpp:
              (JSC::JSNotAnObject::toPrimitive):
              (JSC::JSNotAnObject::getPrimitiveNumber):
              (JSC::JSNotAnObject::put):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSNumberCell.cpp:
              (JSC::JSNumberCell::toPrimitive):
              (JSC::JSNumberCell::getPrimitiveNumber):
              (JSC::JSNumberCell::getJSNumber):
              (JSC::jsNumberCell):
              * runtime/JSNumberCell.h:
              (JSC::JSNumberCell::createStructure):
              (JSC::isNumberCell):
              (JSC::asNumberCell):
              (JSC::jsNumber):
              (JSC::JSValue::isDoubleNumber):
              (JSC::JSValue::getDoubleNumber):
              (JSC::JSValue::isNumber):
              (JSC::JSValue::uncheckedGetNumber):
              (JSC::jsNaN):
              (JSC::JSValue::toJSNumber):
              (JSC::JSValue::getNumber):
              (JSC::JSValue::numberToInt32):
              (JSC::JSValue::numberToUInt32):
              * runtime/JSObject.cpp:
              (JSC::JSObject::mark):
              (JSC::JSObject::put):
              (JSC::JSObject::putWithAttributes):
              (JSC::callDefaultValueFunction):
              (JSC::JSObject::getPrimitiveNumber):
              (JSC::JSObject::defaultValue):
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::lookupGetter):
              (JSC::JSObject::lookupSetter):
              (JSC::JSObject::hasInstance):
              (JSC::JSObject::toNumber):
              (JSC::JSObject::toString):
              (JSC::JSObject::fillGetterPropertySlot):
              * runtime/JSObject.h:
              (JSC::JSObject::getDirect):
              (JSC::JSObject::getDirectLocation):
              (JSC::JSObject::offsetForLocation):
              (JSC::JSObject::locationForOffset):
              (JSC::JSObject::getDirectOffset):
              (JSC::JSObject::putDirectOffset):
              (JSC::JSObject::createStructure):
              (JSC::asObject):
              (JSC::JSObject::prototype):
              (JSC::JSObject::setPrototype):
              (JSC::JSValue::isObject):
              (JSC::JSObject::inlineGetOwnPropertySlot):
              (JSC::JSObject::getOwnPropertySlotForWrite):
              (JSC::JSObject::getPropertySlot):
              (JSC::JSObject::get):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::toPrimitive):
              (JSC::JSValue::get):
              (JSC::JSValue::put):
              (JSC::JSObject::allocatePropertyStorageInline):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::toPrimitive):
              (JSC::JSPropertyNameIterator::getPrimitiveNumber):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::next):
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::put):
              (JSC::JSStaticScopeObject::putWithAttributes):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::JSStaticScopeObject):
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.cpp:
              (JSC::JSString::toPrimitive):
              (JSC::JSString::getPrimitiveNumber):
              (JSC::JSString::getOwnPropertySlot):
              * runtime/JSString.h:
              (JSC::JSString::createStructure):
              (JSC::asString):
              (JSC::isJSString):
              (JSC::JSValue::toThisJSString):
              * runtime/JSValue.cpp:
              (JSC::JSValue::toInteger):
              (JSC::JSValue::toIntegerPreserveNaN):
              * runtime/JSValue.h:
              (JSC::JSValue::makeImmediate):
              (JSC::JSValue::asValue):
              (JSC::noValue):
              (JSC::jsImpossibleValue):
              (JSC::jsNull):
              (JSC::jsUndefined):
              (JSC::jsBoolean):
              (JSC::operator==):
              (JSC::operator!=):
              (JSC::JSValue::encode):
              (JSC::JSValue::decode):
              (JSC::JSValue::JSValue):
              (JSC::JSValue::operator bool):
              (JSC::JSValue::operator==):
              (JSC::JSValue::operator!=):
              (JSC::JSValue::isUndefined):
              (JSC::JSValue::isNull):
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::symbolTablePut):
              (JSC::JSVariableObject::symbolTablePutWithAttributes):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::internalValue):
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/Lookup.cpp:
              (JSC::setUpStaticFunctionSlot):
              * runtime/Lookup.h:
              (JSC::lookupPut):
              * runtime/MathObject.cpp:
              (JSC::mathProtoFuncAbs):
              (JSC::mathProtoFuncACos):
              (JSC::mathProtoFuncASin):
              (JSC::mathProtoFuncATan):
              (JSC::mathProtoFuncATan2):
              (JSC::mathProtoFuncCeil):
              (JSC::mathProtoFuncCos):
              (JSC::mathProtoFuncExp):
              (JSC::mathProtoFuncFloor):
              (JSC::mathProtoFuncLog):
              (JSC::mathProtoFuncMax):
              (JSC::mathProtoFuncMin):
              (JSC::mathProtoFuncPow):
              (JSC::mathProtoFuncRandom):
              (JSC::mathProtoFuncRound):
              (JSC::mathProtoFuncSin):
              (JSC::mathProtoFuncSqrt):
              (JSC::mathProtoFuncTan):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::callNativeErrorConstructor):
              * runtime/NumberConstructor.cpp:
              (JSC::numberConstructorNaNValue):
              (JSC::numberConstructorNegInfinity):
              (JSC::numberConstructorPosInfinity):
              (JSC::numberConstructorMaxValue):
              (JSC::numberConstructorMinValue):
              (JSC::callNumberConstructor):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.cpp:
              (JSC::NumberObject::getJSNumber):
              (JSC::constructNumber):
              * runtime/NumberObject.h:
              * runtime/NumberPrototype.cpp:
              (JSC::numberProtoFuncToString):
              (JSC::numberProtoFuncToLocaleString):
              (JSC::numberProtoFuncValueOf):
              (JSC::numberProtoFuncToFixed):
              (JSC::numberProtoFuncToExponential):
              (JSC::numberProtoFuncToPrecision):
              * runtime/ObjectConstructor.cpp:
              (JSC::constructObject):
              (JSC::callObjectConstructor):
              * runtime/ObjectPrototype.cpp:
              (JSC::objectProtoFuncValueOf):
              (JSC::objectProtoFuncHasOwnProperty):
              (JSC::objectProtoFuncIsPrototypeOf):
              (JSC::objectProtoFuncDefineGetter):
              (JSC::objectProtoFuncDefineSetter):
              (JSC::objectProtoFuncLookupGetter):
              (JSC::objectProtoFuncLookupSetter):
              (JSC::objectProtoFuncPropertyIsEnumerable):
              (JSC::objectProtoFuncToLocaleString):
              (JSC::objectProtoFuncToString):
              * runtime/ObjectPrototype.h:
              * runtime/Operations.cpp:
              (JSC::JSValue::equalSlowCase):
              (JSC::JSValue::strictEqualSlowCase):
              (JSC::throwOutOfMemoryError):
              (JSC::jsAddSlowCase):
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::jsIsFunctionType):
              * runtime/Operations.h:
              (JSC::JSValue::equal):
              (JSC::JSValue::equalSlowCaseInline):
              (JSC::JSValue::strictEqual):
              (JSC::JSValue::strictEqualSlowCaseInline):
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAdd):
              (JSC::countPrototypeChainEntriesAndCheckForProxies):
              (JSC::resolveBase):
              * runtime/PropertySlot.cpp:
              (JSC::PropertySlot::functionGetter):
              * runtime/PropertySlot.h:
              (JSC::PropertySlot::PropertySlot):
              (JSC::PropertySlot::getValue):
              (JSC::PropertySlot::putValue):
              (JSC::PropertySlot::setValueSlot):
              (JSC::PropertySlot::setValue):
              (JSC::PropertySlot::setCustom):
              (JSC::PropertySlot::setCustomIndex):
              (JSC::PropertySlot::slotBase):
              (JSC::PropertySlot::setBase):
              (JSC::PropertySlot::):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
              (JSC::ProtectedPtr::operator JSValue):
              (JSC::ProtectedJSValue::ProtectedJSValue):
              (JSC::ProtectedJSValue::get):
              (JSC::ProtectedJSValue::operator JSValue):
              (JSC::ProtectedJSValue::operator->):
              (JSC::ProtectedJSValue::~ProtectedJSValue):
              (JSC::ProtectedJSValue::operator=):
              (JSC::operator==):
              (JSC::operator!=):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::getBackref):
              (JSC::RegExpConstructor::getLastParen):
              (JSC::RegExpConstructor::getLeftContext):
              (JSC::RegExpConstructor::getRightContext):
              (JSC::regExpConstructorDollar1):
              (JSC::regExpConstructorDollar2):
              (JSC::regExpConstructorDollar3):
              (JSC::regExpConstructorDollar4):
              (JSC::regExpConstructorDollar5):
              (JSC::regExpConstructorDollar6):
              (JSC::regExpConstructorDollar7):
              (JSC::regExpConstructorDollar8):
              (JSC::regExpConstructorDollar9):
              (JSC::regExpConstructorInput):
              (JSC::regExpConstructorMultiline):
              (JSC::regExpConstructorLastMatch):
              (JSC::regExpConstructorLastParen):
              (JSC::regExpConstructorLeftContext):
              (JSC::regExpConstructorRightContext):
              (JSC::RegExpConstructor::put):
              (JSC::setRegExpConstructorInput):
              (JSC::setRegExpConstructorMultiline):
              (JSC::constructRegExp):
              (JSC::callRegExpConstructor):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              (JSC::asRegExpConstructor):
              * runtime/RegExpMatchesArray.h:
              (JSC::RegExpMatchesArray::put):
              * runtime/RegExpObject.cpp:
              (JSC::regExpObjectGlobal):
              (JSC::regExpObjectIgnoreCase):
              (JSC::regExpObjectMultiline):
              (JSC::regExpObjectSource):
              (JSC::regExpObjectLastIndex):
              (JSC::RegExpObject::put):
              (JSC::setRegExpObjectLastIndex):
              (JSC::RegExpObject::test):
              (JSC::RegExpObject::exec):
              (JSC::callRegExpObject):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              (JSC::asRegExpObject):
              * runtime/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncTest):
              (JSC::regExpProtoFuncExec):
              (JSC::regExpProtoFuncCompile):
              (JSC::regExpProtoFuncToString):
              * runtime/StringConstructor.cpp:
              (JSC::stringFromCharCodeSlowCase):
              (JSC::stringFromCharCode):
              (JSC::callStringConstructor):
              * runtime/StringObject.cpp:
              (JSC::StringObject::put):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              (JSC::asStringObject):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace):
              (JSC::stringProtoFuncToString):
              (JSC::stringProtoFuncCharAt):
              (JSC::stringProtoFuncCharCodeAt):
              (JSC::stringProtoFuncConcat):
              (JSC::stringProtoFuncIndexOf):
              (JSC::stringProtoFuncLastIndexOf):
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              (JSC::stringProtoFuncSlice):
              (JSC::stringProtoFuncSplit):
              (JSC::stringProtoFuncSubstr):
              (JSC::stringProtoFuncSubstring):
              (JSC::stringProtoFuncToLowerCase):
              (JSC::stringProtoFuncToUpperCase):
              (JSC::stringProtoFuncLocaleCompare):
              (JSC::stringProtoFuncBig):
              (JSC::stringProtoFuncSmall):
              (JSC::stringProtoFuncBlink):
              (JSC::stringProtoFuncBold):
              (JSC::stringProtoFuncFixed):
              (JSC::stringProtoFuncItalics):
              (JSC::stringProtoFuncStrike):
              (JSC::stringProtoFuncSub):
              (JSC::stringProtoFuncSup):
              (JSC::stringProtoFuncFontcolor):
              (JSC::stringProtoFuncFontsize):
              (JSC::stringProtoFuncAnchor):
              (JSC::stringProtoFuncLink):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::changePrototypeTransition):
              * runtime/Structure.h:
              (JSC::Structure::create):
              (JSC::Structure::setPrototypeWithoutTransition):
              (JSC::Structure::storedPrototype):
      
      JavaScriptGlue:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * JSObject.cpp:
              (nativeCallFunction):
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (JSObjectKJSValue):
              (KJSValueToCFTypeInternal):
              (KJSValueToCFType):
              * JSUtils.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              (JSValueWrapper::GetValue):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              (UserObjectImp::userObjectGetter):
              (UserObjectImp::getOwnPropertySlot):
              (UserObjectImp::put):
              (UserObjectImp::toPrimitive):
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      
      WebCore:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::setValue):
              * bindings/js/JSCDATASectionCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              (WebCore::JSCSSStyleDeclaration::customPut):
              * bindings/js/JSCSSValueCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::toJS):
              (WebCore::toHTMLCanvasStyle):
              (WebCore::JSCanvasRenderingContext2D::strokeStyle):
              (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
              (WebCore::JSCanvasRenderingContext2D::fillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillColor):
              (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
              (WebCore::JSCanvasRenderingContext2D::strokeRect):
              (WebCore::JSCanvasRenderingContext2D::drawImage):
              (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
              (WebCore::JSCanvasRenderingContext2D::setShadow):
              (WebCore::JSCanvasRenderingContext2D::createPattern):
              (WebCore::JSCanvasRenderingContext2D::putImageData):
              (WebCore::JSCanvasRenderingContext2D::fillText):
              (WebCore::JSCanvasRenderingContext2D::strokeText):
              * bindings/js/JSClipboardCustom.cpp:
              (WebCore::JSClipboard::types):
              (WebCore::JSClipboard::clearData):
              (WebCore::JSClipboard::getData):
              (WebCore::JSClipboard::setData):
              (WebCore::JSClipboard::setDragImage):
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::profiles):
              * bindings/js/JSCoordinatesCustom.cpp:
              (WebCore::JSCoordinates::altitude):
              (WebCore::JSCoordinates::altitudeAccuracy):
              (WebCore::JSCoordinates::heading):
              (WebCore::JSCoordinates::speed):
              * bindings/js/JSCustomPositionCallback.cpp:
              (WebCore::JSCustomPositionCallback::handleEvent):
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              (WebCore::JSCustomPositionErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              (WebCore::toVoidCallback):
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::hasItem):
              (WebCore::JSDOMApplicationCache::add):
              (WebCore::JSDOMApplicationCache::remove):
              (WebCore::JSDOMApplicationCache::addEventListener):
              (WebCore::JSDOMApplicationCache::removeEventListener):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::jsStringOrNull):
              (WebCore::jsOwnedStringOrNull):
              (WebCore::jsStringOrUndefined):
              (WebCore::jsStringOrFalse):
              (WebCore::valueToStringWithNullCheck):
              (WebCore::valueToStringWithUndefinedOrNullCheck):
              (WebCore::reportException):
              (WebCore::reportCurrentException):
              (WebCore::setDOMException):
              (WebCore::objectToStringFunctionGetter):
              * bindings/js/JSDOMBinding.h:
              (WebCore::getDOMObjectWrapper):
              (WebCore::getDOMNodeWrapper):
              (WebCore::toJS):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::findJSEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
              (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
              * bindings/js/JSDOMGlobalObject.h:
              * bindings/js/JSDOMStringListCustom.cpp:
              (WebCore::JSDOMStringList::getByIndex):
              (WebCore::JSDOMStringList::item):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::childFrameGetter):
              (WebCore::JSDOMWindowBase::indexGetter):
              (WebCore::JSDOMWindowBase::namedItemGetter):
              (WebCore::JSDOMWindowBase::getOwnPropertySlot):
              (WebCore::JSDOMWindowBase::put):
              (WebCore::JSDOMWindowBase::setReturnValueSlot):
              (WebCore::toJS):
              (WebCore::toJSDOMWindow):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::lookupGetter):
              (WebCore::JSDOMWindow::lookupSetter):
              (WebCore::JSDOMWindow::history):
              (WebCore::JSDOMWindow::location):
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::JSDOMWindow::crypto):
              (WebCore::JSDOMWindow::event):
              (WebCore::JSDOMWindow::image):
              (WebCore::JSDOMWindow::option):
              (WebCore::JSDOMWindow::audio):
              (WebCore::JSDOMWindow::webKitPoint):
              (WebCore::JSDOMWindow::webKitCSSMatrix):
              (WebCore::JSDOMWindow::xmlHttpRequest):
              (WebCore::JSDOMWindow::xsltProcessor):
              (WebCore::JSDOMWindow::messageChannel):
              (WebCore::JSDOMWindow::worker):
              (WebCore::createWindow):
              (WebCore::JSDOMWindow::open):
              (WebCore::JSDOMWindow::showModalDialog):
              (WebCore::JSDOMWindow::postMessage):
              (WebCore::JSDOMWindow::setTimeout):
              (WebCore::JSDOMWindow::setInterval):
              (WebCore::JSDOMWindow::atob):
              (WebCore::JSDOMWindow::btoa):
              (WebCore::JSDOMWindow::addEventListener):
              (WebCore::JSDOMWindow::removeEventListener):
              (WebCore::toDOMWindow):
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::nonCachingStaticFunctionGetter):
              (WebCore::JSDOMWindow::customPut):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::put):
              (WebCore::JSDOMWindowShell::putWithAttributes):
              (WebCore::JSDOMWindowShell::lookupGetter):
              (WebCore::JSDOMWindowShell::lookupSetter):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/js/JSDatabaseCustom.cpp:
              (WebCore::JSDatabase::changeVersion):
              (WebCore::JSDatabase::transaction):
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::location):
              (WebCore::JSDocument::setLocation):
              (WebCore::toJS):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::JSElement::setAttribute):
              (WebCore::JSElement::setAttributeNode):
              (WebCore::JSElement::setAttributeNS):
              (WebCore::JSElement::setAttributeNodeNS):
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSEventCustom.cpp:
              (WebCore::JSEvent::clipboardData):
              (WebCore::toJS):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::handleEvent):
              * bindings/js/JSEventTarget.cpp:
              (WebCore::toJS):
              (WebCore::toEventTarget):
              * bindings/js/JSEventTarget.h:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSGeolocationCustom.cpp:
              (WebCore::createPositionOptions):
              (WebCore::JSGeolocation::getCurrentPosition):
              (WebCore::JSGeolocation::watchPosition):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::createStructure):
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              (WebCore::JSHTMLAppletElement::customPut):
              (WebCore::JSHTMLAppletElement::nameGetter):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::getNamedItems):
              (WebCore::callHTMLCollection):
              (WebCore::JSHTMLCollection::nameGetter):
              (WebCore::JSHTMLCollection::item):
              (WebCore::JSHTMLCollection::namedItem):
              (WebCore::toJS):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::nameGetter):
              (WebCore::JSHTMLDocument::all):
              (WebCore::JSHTMLDocument::setAll):
              (WebCore::JSHTMLDocument::open):
              (WebCore::JSHTMLDocument::write):
              (WebCore::JSHTMLDocument::writeln):
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              (WebCore::JSHTMLEmbedElement::customPut):
              (WebCore::JSHTMLEmbedElement::nameGetter):
              * bindings/js/JSHTMLFormElementCustom.cpp:
              (WebCore::JSHTMLFormElement::nameGetter):
              (WebCore::JSHTMLFormElement::submit):
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              (WebCore::JSHTMLFrameElement::setSrc):
              (WebCore::JSHTMLFrameElement::setLocation):
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              (WebCore::JSHTMLFrameSetElement::nameGetter):
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              (WebCore::JSHTMLIFrameElement::setSrc):
              * bindings/js/JSHTMLInputElementCustom.cpp:
              (WebCore::JSHTMLInputElement::selectionStart):
              (WebCore::JSHTMLInputElement::setSelectionStart):
              (WebCore::JSHTMLInputElement::selectionEnd):
              (WebCore::JSHTMLInputElement::setSelectionEnd):
              (WebCore::JSHTMLInputElement::setSelectionRange):
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              (WebCore::JSHTMLObjectElement::customPut):
              (WebCore::JSHTMLObjectElement::nameGetter):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::length):
              (WebCore::JSHTMLOptionsCollection::setLength):
              (WebCore::JSHTMLOptionsCollection::indexSetter):
              (WebCore::JSHTMLOptionsCollection::add):
              (WebCore::JSHTMLOptionsCollection::remove):
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::JSHTMLSelectElement::remove):
              (WebCore::selectIndexSetter):
              (WebCore::JSHTMLSelectElement::indexSetter):
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              (WebCore::nonCachingStaticBackFunctionGetter):
              (WebCore::nonCachingStaticForwardFunctionGetter):
              (WebCore::nonCachingStaticGoFunctionGetter):
              (WebCore::JSHistory::customPut):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              (WebCore::JSInspectedObjectWrapper::wrap):
              (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              (WebCore::JSInspectorCallbackWrapper::wrap):
              (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
              * bindings/js/JSInspectorCallbackWrapper.h:
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
              * bindings/js/JSInspectorControllerCustom.cpp:
              (WebCore::JSInspectorController::highlightDOMNode):
              (WebCore::JSInspectorController::addResourceSourceToFrame):
              (WebCore::JSInspectorController::addSourceToFrame):
              (WebCore::JSInspectorController::getResourceDocumentNode):
              (WebCore::JSInspectorController::search):
              (WebCore::JSInspectorController::databaseTableNames):
              (WebCore::JSInspectorController::inspectedWindow):
              (WebCore::JSInspectorController::setting):
              (WebCore::JSInspectorController::setSetting):
              (WebCore::JSInspectorController::wrapCallback):
              (WebCore::JSInspectorController::currentCallFrame):
              (WebCore::JSInspectorController::profiles):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::evaluate):
              (WebCore::JSJavaScriptCallFrame::thisObject):
              (WebCore::JSJavaScriptCallFrame::type):
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::nonCachingStaticReplaceFunctionGetter):
              (WebCore::nonCachingStaticReloadFunctionGetter):
              (WebCore::nonCachingStaticAssignFunctionGetter):
              (WebCore::JSLocation::customPut):
              (WebCore::JSLocation::setHref):
              (WebCore::JSLocation::setProtocol):
              (WebCore::JSLocation::setHost):
              (WebCore::JSLocation::setHostname):
              (WebCore::JSLocation::setPort):
              (WebCore::JSLocation::setPathname):
              (WebCore::JSLocation::setSearch):
              (WebCore::JSLocation::setHash):
              (WebCore::JSLocation::replace):
              (WebCore::JSLocation::reload):
              (WebCore::JSLocation::assign):
              (WebCore::JSLocation::toString):
              (WebCore::JSLocationPrototype::customPut):
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::startConversation):
              (WebCore::JSMessagePort::addEventListener):
              (WebCore::JSMessagePort::removeEventListener):
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              (WebCore::JSMimeTypeArray::nameGetter):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMap::nameGetter):
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::JSNamedNodesCollection::lengthGetter):
              (WebCore::JSNamedNodesCollection::indexGetter):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::createStructure):
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::needsYouTubeQuirk):
              (WebCore::JSNavigator::appVersion):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::insertBefore):
              (WebCore::JSNode::replaceChild):
              (WebCore::JSNode::removeChild):
              (WebCore::JSNode::appendChild):
              (WebCore::JSNode::addEventListener):
              (WebCore::JSNode::removeEventListener):
              (WebCore::createWrapper):
              (WebCore::toJSNewlyCreated):
              (WebCore::toJS):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::acceptNode):
              (WebCore::toNodeFilter):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::nextNode):
              (WebCore::JSNodeIterator::previousNode):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::callNodeList):
              (WebCore::JSNodeList::nameGetter):
              * bindings/js/JSPluginArrayCustom.cpp:
              (WebCore::JSPluginArray::nameGetter):
              * bindings/js/JSPluginCustom.cpp:
              (WebCore::JSPlugin::nameGetter):
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::runtimeObjectGetter):
              (WebCore::runtimeObjectPropertyGetter):
              (WebCore::runtimeObjectCustomPut):
              (WebCore::callPlugin):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::asWrapper):
              (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
              (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
              (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
              (WebCore::JSQuarantinedObjectWrapper::put):
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::hasInstance):
              (WebCore::JSQuarantinedObjectWrapper::call):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::createStructure):
              * bindings/js/JSRGBColor.cpp:
              (WebCore::getJSRGBColor):
              (jsRGBColorRed):
              (jsRGBColorGreen):
              (jsRGBColorBlue):
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::createStructure):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/JSSQLTransactionCustom.cpp:
              (WebCore::JSSQLTransaction::executeSql):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::addEventListener):
              (WebCore::JSSVGElementInstance::removeEventListener):
              (WebCore::toJS):
              * bindings/js/JSSVGLengthCustom.cpp:
              (WebCore::JSSVGLength::value):
              (WebCore::JSSVGLength::convertToSpecifiedUnits):
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::rotateFromVector):
              * bindings/js/JSSVGPathSegCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp:
              (WebCore::JSSVGPathSegList::clear):
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/js/JSSVGPointListCustom.cpp:
              (WebCore::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (WebCore::JSSVGPointList::clear):
              (WebCore::JSSVGPointList::initialize):
              (WebCore::JSSVGPointList::getItem):
              (WebCore::JSSVGPointList::insertItemBefore):
              (WebCore::JSSVGPointList::replaceItem):
              (WebCore::JSSVGPointList::removeItem):
              (WebCore::JSSVGPointList::appendItem):
              * bindings/js/JSSVGTransformListCustom.cpp:
              (WebCore::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (WebCore::JSSVGTransformList::clear):
              (WebCore::JSSVGTransformList::initialize):
              (WebCore::JSSVGTransformList::getItem):
              (WebCore::JSSVGTransformList::insertItemBefore):
              (WebCore::JSSVGTransformList::replaceItem):
              (WebCore::JSSVGTransformList::removeItem):
              (WebCore::JSSVGTransformList::appendItem):
              * bindings/js/JSStorageCustom.cpp:
              (WebCore::JSStorage::nameGetter):
              (WebCore::JSStorage::deleteProperty):
              (WebCore::JSStorage::customPut):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSStyleSheetListCustom.cpp:
              (WebCore::JSStyleSheetList::nameGetter):
              * bindings/js/JSTextCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::parentNode):
              (WebCore::JSTreeWalker::firstChild):
              (WebCore::JSTreeWalker::lastChild):
              (WebCore::JSTreeWalker::nextSibling):
              (WebCore::JSTreeWalker::previousSibling):
              (WebCore::JSTreeWalker::previousNode):
              (WebCore::JSTreeWalker::nextNode):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::self):
              (WebCore::JSWorkerContext::setSelf):
              (WebCore::JSWorkerContext::xmlHttpRequest):
              (WebCore::JSWorkerContext::importScripts):
              (WebCore::JSWorkerContext::addEventListener):
              (WebCore::JSWorkerContext::removeEventListener):
              (WebCore::JSWorkerContext::setTimeout):
              (WebCore::JSWorkerContext::setInterval):
              * bindings/js/JSWorkerCustom.cpp:
              (WebCore::JSWorker::addEventListener):
              (WebCore::JSWorker::removeEventListener):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::open):
              (WebCore::JSXMLHttpRequest::setRequestHeader):
              (WebCore::JSXMLHttpRequest::send):
              (WebCore::JSXMLHttpRequest::getResponseHeader):
              (WebCore::JSXMLHttpRequest::overrideMimeType):
              (WebCore::JSXMLHttpRequest::addEventListener):
              (WebCore::JSXMLHttpRequest::removeEventListener):
              (WebCore::JSXMLHttpRequest::responseText):
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              (WebCore::JSXMLHttpRequestUpload::addEventListener):
              (WebCore::JSXMLHttpRequestUpload::removeEventListener):
              * bindings/js/JSXSLTProcessorCustom.cpp:
              (WebCore::JSXSLTProcessor::importStylesheet):
              (WebCore::JSXSLTProcessor::transformToFragment):
              (WebCore::JSXSLTProcessor::transformToDocument):
              (WebCore::JSXSLTProcessor::setParameter):
              (WebCore::JSXSLTProcessor::getParameter):
              (WebCore::JSXSLTProcessor::removeParameter):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::create):
              (WebCore::ScheduledAction::ScheduledAction):
              (WebCore::ScheduledAction::executeFunctionInContext):
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptCallStack.cpp:
              (WebCore::ScriptCallStack::ScriptCallStack):
              (WebCore::ScriptCallStack::initialize):
              * bindings/js/ScriptCallStack.h:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::jsObjectForPluginElement):
              * bindings/js/ScriptFunctionCall.cpp:
              (WebCore::ScriptFunctionCall::appendArgument):
              (WebCore::ScriptFunctionCall::call):
              (WebCore::ScriptFunctionCall::construct):
              * bindings/js/ScriptFunctionCall.h:
              * bindings/js/ScriptObject.cpp:
              (WebCore::ScriptGlobalObject::get):
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::ScriptValue):
              (WebCore::ScriptValue::jsValue):
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bridge/NP_jsobject.cpp:
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_HasMethod):
              (_NPN_Construct):
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::invokeMethod):
              (JSC::Bindings::CInstance::invokeDefaultMethod):
              (JSC::Bindings::CInstance::invokeConstruct):
              (JSC::Bindings::CInstance::defaultValue):
              (JSC::Bindings::CInstance::stringValue):
              (JSC::Bindings::CInstance::numberValue):
              (JSC::Bindings::CInstance::booleanValue):
              (JSC::Bindings::CInstance::valueOf):
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              (JSC::Bindings::CField::valueFromInstance):
              (JSC::Bindings::CField::setValueToInstance):
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertValueToNPVariant):
              (JSC::Bindings::convertNPVariantToValue):
              * bridge/c/c_utility.h:
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::stringValue):
              (JavaInstance::numberValue):
              (JavaInstance::booleanValue):
              (JavaInstance::invokeMethod):
              (JavaInstance::defaultValue):
              (JavaInstance::valueOf):
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::eval):
              (JavaJSObject::getMember):
              (JavaJSObject::getSlot):
              (JavaJSObject::convertValueToJObject):
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_objc.mm:
              (JSC::Bindings::dispatchJNICall):
              * bridge/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              (JavaArray::setValueAt):
              (JavaArray::valueAt):
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              (JSC::Bindings::convertArrayInstanceToJavaArray):
              (JSC::Bindings::convertValueToJValue):
              * bridge/jni/jni_utility.h:
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              (JSC::Bindings::ObjcClass::fallbackObject):
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::setValueOfUndefinedField):
              (ObjcInstance::getValueOfUndefinedField):
              (ObjcInstance::defaultValue):
              (ObjcInstance::stringValue):
              (ObjcInstance::numberValue):
              (ObjcInstance::booleanValue):
              (ObjcInstance::valueOf):
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/objc/objc_runtime.mm:
              (JSC::Bindings::ObjcField::valueFromInstance):
              (JSC::Bindings::convertValueToObjcObject):
              (JSC::Bindings::ObjcField::setValueToInstance):
              (JSC::Bindings::ObjcArray::setValueAt):
              (JSC::Bindings::ObjcArray::valueAt):
              (JSC::Bindings::ObjcFallbackObjectImp::put):
              (JSC::Bindings::callObjCFallbackObject):
              (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertValueToObjcValue):
              (JSC::Bindings::convertNSStringToString):
              (JSC::Bindings::convertObjcValueToValue):
              * bridge/runtime.h:
              (JSC::Bindings::Class::fallbackObject):
              (JSC::Bindings::Instance::setValueOfUndefinedField):
              (JSC::Bindings::Instance::invokeDefaultMethod):
              (JSC::Bindings::Instance::invokeConstruct):
              (JSC::Bindings::Instance::put):
              * bridge/runtime_array.cpp:
              (JSC::RuntimeArray::lengthGetter):
              (JSC::RuntimeArray::indexGetter):
              (JSC::RuntimeArray::put):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.cpp:
              (JSC::RuntimeMethod::lengthGetter):
              (JSC::callRuntimeMethod):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::fallbackObjectGetter):
              (JSC::RuntimeObjectImp::fieldGetter):
              (JSC::RuntimeObjectImp::methodGetter):
              (JSC::RuntimeObjectImp::put):
              (JSC::RuntimeObjectImp::defaultValue):
              (JSC::callRuntimeObject):
              (JSC::callRuntimeConstructor):
              * bridge/runtime_object.h:
              (JSC::RuntimeObjectImp::createStructure):
              * inspector/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::evaluate):
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfile.h:
              * inspector/JavaScriptProfileNode.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfileNode.h:
      
      WebKit/mac:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * Plugins/Hosted/NetscapePluginInstanceProxy.h:
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::evaluate):
              (WebKit::NetscapePluginInstanceProxy::invoke):
              (WebKit::NetscapePluginInstanceProxy::invokeDefault):
              (WebKit::NetscapePluginInstanceProxy::construct):
              (WebKit::NetscapePluginInstanceProxy::getProperty):
              (WebKit::NetscapePluginInstanceProxy::setProperty):
              (WebKit::NetscapePluginInstanceProxy::hasMethod):
              (WebKit::NetscapePluginInstanceProxy::addValueToArray):
              (WebKit::NetscapePluginInstanceProxy::marshalValue):
              (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
              (WebKit::NetscapePluginInstanceProxy::demarshalValue):
              (WebKit::NetscapePluginInstanceProxy::demarshalValues):
              * Plugins/Hosted/ProxyInstance.h:
              * Plugins/Hosted/ProxyInstance.mm:
              (WebKit::ProxyField::valueFromInstance):
              (WebKit::ProxyField::setValueToInstance):
              (WebKit::ProxyInstance::invoke):
              (WebKit::ProxyInstance::invokeMethod):
              (WebKit::ProxyInstance::invokeDefaultMethod):
              (WebKit::ProxyInstance::invokeConstruct):
              (WebKit::ProxyInstance::defaultValue):
              (WebKit::ProxyInstance::stringValue):
              (WebKit::ProxyInstance::numberValue):
              (WebKit::ProxyInstance::booleanValue):
              (WebKit::ProxyInstance::valueOf):
              (WebKit::ProxyInstance::fieldValue):
              (WebKit::ProxyInstance::setFieldValue):
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame _convertValueToObjcValue:]):
              (-[WebScriptCallFrame exception]):
              (-[WebScriptCallFrame evaluateWebScript:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
      
      WebKit/qt:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * Api/qwebelement.cpp:
              (setupScriptContext):
              (setupScriptObject):
              (QWebElement::evaluateScript):
              (QWebElement::functions):
              (QWebElement::scriptableProperty):
              (QWebElement::setScriptableProperty):
              (QWebElement::scriptableProperties):
      
      WebKit/win:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString):
      
      WebKit/wx:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc067b62
  21. 06 Feb, 2009 1 commit
    • hausmann@webkit.org's avatar
      WebCore: · 5256c46a
      hausmann@webkit.org authored
          2009-02-06  Simon Hausmann  <simon.hausmann@nokia.com>
      
                  Reviewed by Tor Arne Vestbø.
      
                  Added support for different ownership models for wrapped QObjects in
                  the JavaScript environment.
      
      WebKit/qt:
      
          2009-02-06  Simon Hausmann  <simon.hausmann@nokia.com>
      
                  Reviewed by Tor Arne Vestbø.
      
                  Added an overload of QWebFrame::addToJavaScriptWindowObject that takes a QScriptEngine::ValueOwnership parameter.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40717 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5256c46a
  22. 19 Jan, 2009 1 commit
  23. 16 Jan, 2009 1 commit
  24. 15 Jan, 2009 5 commits
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 5a519291
      andersca@apple.com authored
              Another attempt at fixing the Qt build.
              
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getOwnPropertySlot):
              (JSC::Bindings::QtInstance::put):
              * bridge/qt/qt_instance.h:
              * bridge/runtime.h:
              (JSC::Bindings::Instance::getOwnPropertySlot):
              (JSC::Bindings::Instance::put):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::getOwnPropertySlot):
              (JSC::RuntimeObjectImp::put):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a519291
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 6bccd296
      andersca@apple.com authored
              Reviewed by Darin Adler.
      
              Add QtInstance::getInstance and start using it.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtRuntimeObjectImp::mark):
              (JSC::Bindings::QtRuntimeObjectImp::classInfo):
              (JSC::Bindings::):
              (JSC::Bindings::QtInstance::getInstance):
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::convertValueToQVariant):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bccd296
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 9a6431c9
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Add the ability for Instance objects to override getOwnPropertySlot/put for runtime objects.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getOwnPropertySlot):
              (JSC::Bindings::QtInstance::put):
              * bridge/qt/qt_instance.h:
              * bridge/runtime.h:
              (JSC::Bindings::Instance::getOwnPropertySlot):
              (JSC::Bindings::Instance::put):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::getOwnPropertySlot):
              (JSC::RuntimeObjectImp::put):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a6431c9
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 59b221ea
      andersca@apple.com authored
              Fix the QT build.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::createRuntimeObject):
              * bridge/qt/qt_instance.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59b221ea
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · bfe905be
      andersca@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make Instance::createRuntimeObject a virtual function and override it for QtInstance.
              
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::getRuntimeObject):
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertNPVariantToValue):
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::invokeMethod):
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_runtime.cpp:
              (JavaField::valueFromInstance):
              (JavaArray::valueAt):
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertObjcValueToValue):
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getRuntimeObject):
              (JSC::Bindings::QtInstance::createRuntimeObject):
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::convertQVariantToValue):
              (JSC::Bindings::QtConnectionObject::execute):
              * bridge/runtime.cpp:
              (JSC::Bindings::Instance::createRuntimeObject):
              * bridge/runtime.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfe905be
  25. 07 Jan, 2009 1 commit
    • hausmann@webkit.org's avatar
      2009-01-07 Ariya Hidayat <ariya.hidayat@trolltech.com> · 32c5b83b
      hausmann@webkit.org authored
              Rubber-stamped by Simon Hausmann.
      
              Qt build fix after r39670.
      
              * bridge/qt/qt_class.cpp:
              (JSC::Bindings::QtClass::fallbackObject):
              * bridge/qt/qt_class.h:
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::mark):
              (JSC::Bindings::QtInstance::invokeMethod):
              (JSC::Bindings::QtInstance::defaultValue):
              (JSC::Bindings::QtInstance::stringValue):
              (JSC::Bindings::QtInstance::numberValue):
              (JSC::Bindings::QtInstance::booleanValue):
              (JSC::Bindings::QtInstance::valueOf):
              (JSC::Bindings::QtField::valueFromInstance):
              (JSC::Bindings::QtField::setValueToInstance):
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::valueRealType):
              (JSC::Bindings::convertValueToQVariant):
              (JSC::Bindings::convertQVariantToValue):
              (JSC::Bindings::findMethodIndex):
              (JSC::Bindings::QtRuntimeMetaMethod::call):
              (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
              (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
              (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
              (JSC::Bindings::QtRuntimeConnectionMethod::call):
              (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
              (JSC::Bindings::::setValueAt):
              (JSC::Bindings::::valueAt):
              * bridge/qt/qt_runtime.h:
              (JSC::Bindings::QtRuntimeMethod::createStructure):
      
      2009-01-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>
      
              Rubber-stamped by Simon Hausmann.
      
              Qt build fix after r39670.
      
              * Api/qwebframe.cpp:
              (QWebFrame::evaluateJavaScript):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39677 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32c5b83b
  26. 24 Oct, 2008 2 commits
    • darin@apple.com's avatar
      JavaScriptCore: · 44331f8b
      darin@apple.com authored
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * API/APICast.h:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSValueRef.cpp:
              * VM/CTI.cpp:
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayPrototype.cpp:
              * kjs/Boo...
      44331f8b
    • hausmann@webkit.org's avatar
      2008-10-24 Simon Hausmann <hausmann@webkit.org> · cffb4f44
      hausmann@webkit.org authored
              Fix the Qt build.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cffb4f44
  27. 20 Oct, 2008 1 commit
  28. 19 Oct, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 989a6f84
      darin@apple.com authored
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * VM/Machine.cpp:
              (JSC::fastToUInt32): Call toUInt32SlowCase function; no longer a member
              of JSValue.
              * kjs/JSNumberCell.h:
              (JSC::JSNumberCell::toInt32): Ditto.
              (JSC::JSNumberCell::toUInt32): Ditto.
      
              * kjs/JSValue.cpp:
              (JSC::toInt32SlowCase): Made a non-member function.
              (JSC::JSValue::toInt32SlowCase): Changed to call non-member function.
              (JSC::toUInt32SlowCase): More of the same.
              (JSC::JSValue::toUInt32SlowCase): Ditto.
      
              * kjs/JSValue.h: Moved static member function so they are no longer
              member functions at all.
      
              * VM/CTI.h: Removed forward declaration of JSValue.
              * VM/ExceptionHelpers.h: Ditto.
              * kjs/CallData.h: Ditto.
              * kjs/ConstructData.h: Ditto.
              * kjs/JSGlobalObjectFunctions.h: Ditto.
              * kjs/PropertyMap.h: Ditto.
              * kjs/StructureID.h: Ditto.
              * kjs/collector.h: Ditto.
              * kjs/completion.h: Ditto.
      
              * kjs/grammar.y:
              (JSC::makeBitwiseNotNode): Call new non-member toInt32 function.
              (JSC::makeLeftShiftNode): More of the same.
              (JSC::makeRightShiftNode): Ditto.
      
              * kjs/protect.h: Added a specialization for ProtectedPtr<JSValuePtr>
              so this can be used with JSValuePtr.
      
      JavaScriptGlue:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
      
      WebCore:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
              and used JSValuePtr instead.
              * bindings/js/JSEventTarget.h: Ditto.
              * bindings/js/JSNodeFilterCondition.h: Ditto.
              * bindings/js/ScheduledAction.h: Ditto.
              * bindings/js/ScriptController.h: Ditto.
              * bindings/objc/WebScriptObjectPrivate.h: Ditto.
              * bridge/c/c_utility.h: Ditto.
              * bridge/jni/jni_jsobject.h: Ditto.
              * bridge/jni/jni_utility.h: Ditto.
              * bridge/objc/WebScriptObject.h: Ditto.
              * dom/Traversal.h: Ditto.
              * inspector/InspectorController.cpp: Ditto.
              * inspector/JavaScriptProfile.h: Ditto.
              * inspector/JavaScriptProfileNode.h: Ditto.
              * loader/FrameLoader.h: Ditto.
              * page/Console.h: Ditto.
              * plugins/MimeTypeArray.h: Ditto.
              * plugins/Plugin.h: Ditto.
              * plugins/PluginArray.h: Ditto.
              * plugins/PluginView.cpp:
              (WebCore::getString): Ditto.
              (WebCore::PluginView::performRequest): Ditto.
              * plugins/gtk/PluginViewGtk.cpp: Ditto.
              * plugins/qt/PluginViewQt.cpp: Ditto.
              * plugins/win/PluginViewWin.cpp: Ditto.
      
              * bridge/qt/qt_class.cpp:
              (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
              instead of JSValue*.
              * bridge/qt/qt_class.h: Ditto.
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::mark): Ditto.
              (JSC::Bindings::QtInstance::invokeMethod): Ditto.
              (JSC::Bindings::QtInstance::defaultValue): Ditto.
              (JSC::Bindings::QtInstance::stringValue): Ditto.
              (JSC::Bindings::QtInstance::numberValue): Ditto.
              (JSC::Bindings::QtInstance::booleanValue): Ditto.
              (JSC::Bindings::QtInstance::valueOf): Ditto.
              (JSC::Bindings::QtField::valueFromInstance): Ditto.
              (JSC::Bindings::QtField::setValueToInstance): Ditto.
              * bridge/qt/qt_instance.h: Ditto.
              * bridge/qt/qt_runtime.cpp: Ditto.
              (JSC::Bindings::valueRealType): Ditto.
              (JSC::Bindings::convertValueToQVariant): Ditto.
              (JSC::Bindings::convertQVariantToValue): Ditto.
              (JSC::Bindings::findMethodIndex): Ditto.
              (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
              (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
              (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
              (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
              (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
              (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
              (JSC::Bindings::QtArray::setValueAt): Ditto.
              (JSC::Bindings::QtArray::valueAt): Ditto.
              * bridge/qt/qt_runtime.h: Ditto.
      
              * bridge/testqtbindings.cpp:
              (main): Use JSValuePtr.
      
      WebKit/mac:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              Use JSValuePtr instead of JSValue.
              * WebView/WebScriptDebugger.h: Removed declaration of JSValue.
      
      WebKit/qt:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * Api/qwebframe.cpp:
              (QWebFrame::evaluateJavaScript): Use JSValuePtr.
      
      WebKit/win:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString): Use JSValuePtr.
              (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Ditto.
              (WebScriptCallFrame::valueForVariable): Put more code inside and ifdef.
              (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Ditto.
              * WebScriptCallFrame.h: Use JSValuePtr.
      
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString): Use JSValuePtr.
      
      WebKit/wx:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript): Use JSValuePtr.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      989a6f84
  29. 18 Oct, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 5a49442f
      darin@apple.com authored
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove casts from JSValue* to derived classes, replacing them with
              calls to inline casting functions. These functions are also a bit
              better than aidrect cast because they also do a runtime assertion.
      
              Removed use of 0 as for JSValue*, changing call sites to use a
              noValue() function instead.
      
              Move things needed by classes derived from JSValue out of the class,
              since the classes won't be deriving from JSValue any more soon.
      
              I did most of these changes by changing JSValue to not be JSValue* any
              more, then fixing a lot of the compilation problems, then rolling out
              the JSValue change.
      
              1.011x as fast on SunSpider (presumably due to some of the Machine.cpp changes)
      
              * API/APICast.h: Removed unneeded forward declarations.
      
              * API/JSCallbackObject.h: Added an asCallbackObject function for casting.
              * API/JSCallbackObjectFunctions.h:
              (JSC::JSCallbackObject::asCallbackObject): Added.
              (JSC::JSCallbackObject::getOwnPropertySlot): Use asObject.
              (JSC::JSCallbackObject::call): Use noValue.
              (JSC::JSCallbackObject::staticValueGetter): Use asCallbackObject.
              (JSC::JSCallbackObject::staticFunctionGetter): Ditto.
              (JSC::JSCallbackObject::callbackGetter): Ditto.
      
              * JavaScriptCore.exp: Updated.
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Added RegExpMatchesArray.h.
      
              * VM/CTI.cpp:
              (JSC::CTI::asInteger): Added. For use casting a JSValue to an integer.
              (JSC::CTI::emitGetArg): Use asInteger.
              (JSC::CTI::emitGetPutArg): Ditto.
              (JSC::CTI::getConstantImmediateNumericArg): Ditto. Also use noValue.
              (JSC::CTI::emitInitRegister): Use asInteger.
              (JSC::CTI::getDeTaggedConstantImmediate): Ditto.
              (JSC::CTI::compileOpCallInitializeCallFrame): Ditto.
              (JSC::CTI::compileOpCall): Ditto.
              (JSC::CTI::compileOpStrictEq): Ditto.
              (JSC::CTI::privateCompileMainPass): Ditto.
              (JSC::CTI::privateCompileGetByIdProto): Ditto.
              (JSC::CTI::privateCompileGetByIdChain): Ditto.
              (JSC::CTI::privateCompilePutByIdTransition): Ditto.
              * VM/CTI.h: Rewrite the ARG-related macros to use C++ casts instead of
              C casts and get rid of some extra parentheses. Addd declaration of
              asInteger.
      
              * VM/CodeGenerator.cpp:
              (JSC::CodeGenerator::emitEqualityOp): Use asString.
              (JSC::CodeGenerator::emitLoad): Use noValue.
              (JSC::CodeGenerator::findScopedProperty): Change globalObject argument
              to JSObject* instead of JSValue*.
              (JSC::CodeGenerator::emitResolve): Remove unneeded cast.
              (JSC::CodeGenerator::emitGetScopedVar): Use asCell.
              (JSC::CodeGenerator::emitPutScopedVar): Ditto.
              * VM/CodeGenerator.h: Changed out argument of findScopedProperty.
              Also change the JSValueMap to use PtrHash explicitly instead of
              getting it from DefaultHash.
      
              * VM/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::toPrimitive): Use noValue.
              * VM/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::next): Ditto.
      
              * VM/Machine.cpp:
              (JSC::fastIsNumber): Moved isImmediate check here instead of
              checking for 0 inside Heap::isNumber. Use asCell and asNumberCell.
              (JSC::fastToInt32): Ditto.
              (JSC::fastToUInt32): Ditto.
              (JSC::jsLess): Use asString.
              (JSC::jsLessEq): Ditto.
              (JSC::jsAdd): Ditto.
              (JSC::jsTypeStringForValue): Use asObject.
              (JSC::jsIsObjectType): Ditto.
              (JSC::jsIsFunctionType): Ditto.
              (JSC::inlineResolveBase): Use noValue.
              (JSC::Machine::callEval): Use asString. Initialize result to
              undefined, not 0.
              (JSC::Machine::Machine): Remove unneeded casts to JSCell*.
              (JSC::Machine::throwException): Use asObject.
              (JSC::Machine::debug): Remove explicit calls to the DebuggerCallFrame
              constructor.
              (JSC::Machine::checkTimeout): Use noValue.
              (JSC::cachePrototypeChain): Use asObject.
              (JSC::Machine::tryCachePutByID): Use asCell.
              (JSC::Machine::tryCacheGetByID): Use aCell and asObject.
              (JSC::Machine::privateExecute): Use noValue, asCell, asObject, asString,
              asArray, asActivation, asFunction. Changed code that creates call frames
              for host functions to pass 0 for the function pointer -- the call frame
              needs a JSFunction* and a host function object is not one. This was
              caught by the assertions in the casting functions. Also remove some
              unneeded casts in cases where two values are compared.
              (JSC::Machine::retrieveLastCaller): Use noValue.
              (JSC::Machine::tryCTICachePutByID): Use asCell.
              (JSC::Machine::tryCTICacheGetByID): Use aCell and asObject.
              (JSC::setUpThrowTrampolineReturnAddress): Added this function to restore
              the PIC-branch-avoidance that was recently lost.
              (JSC::Machine::cti_op_add): Use asString.
              (JSC::Machine::cti_op_instanceof): Use asCell and asObject.
              (JSC::Machine::cti_op_call_JSFunction): Use asFunction.
              (JSC::Machine::cti_op_call_NotJSFunction): Changed code to pass 0 for
              the function pointer, since we don't have a JSFunction. Use asObject.
              (JSC::Machine::cti_op_tear_off_activation): Use asActivation.
              (JSC::Machine::cti_op_construct_JSConstruct): Use asFunction and asObject.
              (JSC::Machine::cti_op_construct_NotJSConstruct): use asObject.
              (JSC::Machine::cti_op_get_by_val): Use asArray and asString.
              (JSC::Machine::cti_op_resolve_func): Use asPointer; this helps prepare
              us for a situation where JSValue is not a pointer.
              (JSC::Machine::cti_op_put_by_val): Use asArray.
              (JSC::Machine::cti_op_put_by_val_array): Ditto.
              (JSC::Machine::cti_op_resolve_global): Use asGlobalObject.
              (JSC::Machine::cti_op_post_inc): Change VM_CHECK_EXCEPTION_2 to
              VM_CHECK_EXCEPTION_AT_END, since there's no observable work done after
              that point. Also use asPointer.
              (JSC::Machine::cti_op_resolve_with_base): Use asPointer.
              (JSC::Machine::cti_op_post_dec): Change VM_CHECK_EXCEPTION_2 to
              VM_CHECK_EXCEPTION_AT_END, since there's no observable work done after
              that point. Also use asPointer.
              (JSC::Machine::cti_op_call_eval): Use asObject, noValue, and change
              VM_CHECK_EXCEPTION_ARG to VM_THROW_EXCEPTION_AT_END.
              (JSC::Machine::cti_op_throw): Change return value to a JSValue*.
              (JSC::Machine::cti_op_in): Use asObject.
              (JSC::Machine::cti_op_switch_char): Use asString.
              (JSC::Machine::cti_op_switch_string): Ditto.
              (JSC::Machine::cti_op_put_getter): Use asObject.
              (JSC::Machine::cti_op_put_setter): Ditto.
              (JSC::Machine::cti_vm_throw): Change return value to a JSValue*.
              Use noValue.
              * VM/Machine.h: Change return values of both cti_op_throw and
              cti_vm_throw to JSValue*.
      
              * VM/Register.h: Remove nullJSValue, which is the same thing
              as noValue(). Also removed unneeded definition of JSValue.
      
              * kjs/ArgList.h: Removed unneeded definition of JSValue.
      
              * kjs/Arguments.h:
              (JSC::asArguments): Added.
      
              * kjs/ArrayPrototype.cpp:
              (JSC::getProperty): Use noValue.
              (JSC::arrayProtoFuncToString): Use asArray.
              (JSC::arrayProtoFuncToLocaleString): Ditto.
              (JSC::arrayProtoFuncConcat): Ditto.
              (JSC::arrayProtoFuncPop): Ditto. Also removed unneeded initialization
              of the result, which is set in both sides of the branch.
              (JSC::arrayProtoFuncPush): Ditto.
              (JSC::arrayProtoFuncShift): Removed unneeded initialization
              of the result, which is set in both sides of the branch.
              (JSC::arrayProtoFuncSort): Use asArray.
      
              * kjs/BooleanObject.h:
              (JSC::asBooleanObject): Added.
      
              * kjs/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncToString): Use asBooleanObject.
              (JSC::booleanProtoFuncValueOf): Ditto.
      
              * kjs/CallData.cpp:
              (JSC::call): Use asObject and asFunction.
              * kjs/ConstructData.cpp:
              (JSC::construct): Ditto.
      
              * kjs/DateConstructor.cpp:
              (JSC::constructDate): Use asDateInstance.
      
              * kjs/DateInstance.h:
              (JSC::asDateInstance): Added.
      
              * kjs/DatePrototype.cpp:
              (JSC::dateProtoFuncToString): Use asDateInstance.
              (JSC::dateProtoFuncToUTCString): Ditto.
              (JSC::dateProtoFuncToDateString): Ditto.
              (JSC::dateProtoFuncToTimeString): Ditto.
              (JSC::dateProtoFuncToLocaleString): Ditto.
              (JSC::dateProtoFuncToLocaleDateString): Ditto.
              (JSC::dateProtoFuncToLocaleTimeString): Ditto.
              (JSC::dateProtoFuncValueOf): Ditto.
              (JSC::dateProtoFuncGetTime): Ditto.
              (JSC::dateProtoFuncGetFullYear): Ditto.
              (JSC::dateProtoFuncGetUTCFullYear): Ditto.
              (JSC::dateProtoFuncToGMTString): Ditto.
              (JSC::dateProtoFuncGetMonth): Ditto.
              (JSC::dateProtoFuncGetUTCMonth): Ditto.
              (JSC::dateProtoFuncGetDate): Ditto.
              (JSC::dateProtoFuncGetUTCDate): Ditto.
              (JSC::dateProtoFuncGetDay): Ditto.
              (JSC::dateProtoFuncGetUTCDay): Ditto.
              (JSC::dateProtoFuncGetHours): Ditto.
              (JSC::dateProtoFuncGetUTCHours): Ditto.
              (JSC::dateProtoFuncGetMinutes): Ditto.
              (JSC::dateProtoFuncGetUTCMinutes): Ditto.
              (JSC::dateProtoFuncGetSeconds): Ditto.
              (JSC::dateProtoFuncGetUTCSeconds): Ditto.
              (JSC::dateProtoFuncGetMilliSeconds): Ditto.
              (JSC::dateProtoFuncGetUTCMilliseconds): Ditto.
              (JSC::dateProtoFuncGetTimezoneOffset): Ditto.
              (JSC::dateProtoFuncSetTime): Ditto.
              (JSC::setNewValueFromTimeArgs): Ditto.
              (JSC::setNewValueFromDateArgs): Ditto.
              (JSC::dateProtoFuncSetYear): Ditto.
              (JSC::dateProtoFuncGetYear): Ditto.
      
              * kjs/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::thisObject): Use asObject.
              (JSC::DebuggerCallFrame::evaluate): Use noValue.
              * kjs/DebuggerCallFrame.h: Added a constructor that
              takes only a callFrame.
      
              * kjs/ExecState.h:
              (JSC::ExecState::clearException): Use noValue.
      
              * kjs/FunctionPrototype.cpp:
              (JSC::functionProtoFuncToString): Use asFunction.
              (JSC::functionProtoFuncApply): Use asArguments and asArray.
      
              * kjs/GetterSetter.cpp:
              (JSC::GetterSetter::getPrimitiveNumber): Use noValue.
      
              * kjs/GetterSetter.h:
              (JSC::asGetterSetter): Added.
      
              * kjs/InternalFunction.cpp:
              (JSC::InternalFunction::name): Use asString.
      
              * kjs/InternalFunction.h:
              (JSC::asInternalFunction): Added.
      
              * kjs/JSActivation.cpp:
              (JSC::JSActivation::argumentsGetter): Use asActivation.
      
              * kjs/JSActivation.h:
              (JSC::asActivation): Added.
      
              * kjs/JSArray.cpp:
              (JSC::JSArray::putSlowCase): Use noValue.
              (JSC::JSArray::deleteProperty): Ditto.
              (JSC::JSArray::increaseVectorLength): Ditto.
              (JSC::JSArray::setLength): Ditto.
              (JSC::JSArray::pop): Ditto.
              (JSC::JSArray::sort): Ditto.
              (JSC::JSArray::compactForSorting): Ditto.
              * kjs/JSArray.h:
              (JSC::asArray): Added.
      
              * kjs/JSCell.cpp:
              (JSC::JSCell::getJSNumber): Use noValue.
      
              * kjs/JSCell.h:
              (JSC::asCell): Added.
              (JSC::JSValue::asCell): Changed to not preserve const.
              Given the wide use of JSValue* and JSCell*, it's not
              really useful to use const.
              (JSC::JSValue::isNumber): Use asValue.
              (JSC::JSValue::isString): Ditto.
              (JSC::JSValue::isGetterSetter): Ditto.
              (JSC::JSValue::isObject): Ditto.
              (JSC::JSValue::getNumber): Ditto.
              (JSC::JSValue::getString): Ditto.
              (JSC::JSValue::getObject): Ditto.
              (JSC::JSValue::getCallData): Ditto.
              (JSC::JSValue::getConstructData): Ditto.
              (JSC::JSValue::getUInt32): Ditto.
              (JSC::JSValue::getTruncatedInt32): Ditto.
              (JSC::JSValue::getTruncatedUInt32): Ditto.
              (JSC::JSValue::mark): Ditto.
              (JSC::JSValue::marked): Ditto.
              (JSC::JSValue::toPrimitive): Ditto.
              (JSC::JSValue::getPrimitiveNumber): Ditto.
              (JSC::JSValue::toBoolean): Ditto.
              (JSC::JSValue::toNumber): Ditto.
              (JSC::JSValue::toString): Ditto.
              (JSC::JSValue::toObject): Ditto.
              (JSC::JSValue::toThisObject): Ditto.
              (JSC::JSValue::needsThisConversion): Ditto.
              (JSC::JSValue::toThisString): Ditto.
              (JSC::JSValue::getJSNumber): Ditto.
      
              * kjs/JSFunction.cpp:
              (JSC::JSFunction::argumentsGetter): Use asFunction.
              (JSC::JSFunction::callerGetter): Ditto.
              (JSC::JSFunction::lengthGetter): Ditto.
              (JSC::JSFunction::construct): Use asObject.
      
              * kjs/JSFunction.h:
              (JSC::asFunction): Added.
      
              * kjs/JSGlobalObject.cpp:
              (JSC::lastInPrototypeChain): Use asObject.
      
              * kjs/JSGlobalObject.h:
              (JSC::asGlobalObject): Added.
              (JSC::ScopeChainNode::globalObject): Use asGlobalObject.
      
              * kjs/JSImmediate.h: Added noValue, asPointer, and makeValue
              functions. Use rawValue, makeValue, and noValue consistently
              instead of doing reinterpret_cast in various functions.
      
              * kjs/JSNumberCell.h:
              (JSC::asNumberCell): Added.
              (JSC::JSValue::uncheckedGetNumber): Use asValue and asNumberCell.
              (JSC::JSValue::toJSNumber): Use asValue.
      
              * kjs/JSObject.cpp:
              (JSC::JSObject::put): Use asObject and asGetterSetter.
              (JSC::callDefaultValueFunction): Use noValue.
              (JSC::JSObject::defineGetter): Use asGetterSetter.
              (JSC::JSObject::defineSetter): Ditto.
              (JSC::JSObject::lookupGetter): Ditto. Also use asObject.
              (JSC::JSObject::lookupSetter): Ditto.
              (JSC::JSObject::hasInstance): Use asObject.
              (JSC::JSObject::fillGetterPropertySlot): Use asGetterSetter.
      
              * kjs/JSObject.h:
              (JSC::JSObject::getDirect): Use noValue.
              (JSC::asObject): Added.
              (JSC::JSValue::isObject): Use asValue.
              (JSC::JSObject::get): Removed unneeded const_cast.
              (JSC::JSObject::getPropertySlot): Use asObject.
              (JSC::JSValue::get): Removed unneeded const_cast.
              Use asValue, asCell, and asObject.
              (JSC::JSValue::put): Ditto.
              (JSC::JSObject::allocatePropertyStorageInline): Fixed spelling
              of "oldPropertStorage".
      
              * kjs/JSString.cpp:
              (JSC::JSString::getOwnPropertySlot): Use asObject.
      
              * kjs/JSString.h:
              (JSC::asString): Added.
              (JSC::JSValue::toThisJSString): Use asValue.
      
              * kjs/JSValue.h: Make PreferredPrimitiveType a top level enum
              instead of a member of JSValue. Added an asValue function that
              returns this. Removed overload of asCell for const. Use asValue
              instead of getting right at this.
      
              * kjs/ObjectPrototype.cpp:
              (JSC::objectProtoFuncIsPrototypeOf): Use asObject.
              (JSC::objectProtoFuncDefineGetter): Ditto.
              (JSC::objectProtoFuncDefineSetter): Ditto.
      
              * kjs/PropertySlot.h:
              (JSC::PropertySlot::PropertySlot): Take a const JSValue* so the
              callers don't have to worry about const.
              (JSC::PropertySlot::clearBase): Use noValue.
              (JSC::PropertySlot::clearValue): Ditto.
      
              * kjs/RegExpConstructor.cpp:
              (JSC::regExpConstructorDollar1): Use asRegExpConstructor.
              (JSC::regExpConstructorDollar2): Ditto.
              (JSC::regExpConstructorDollar3): Ditto.
              (JSC::regExpConstructorDollar4): Ditto.
              (JSC::regExpConstructorDollar5): Ditto.
              (JSC::regExpConstructorDollar6): Ditto.
              (JSC::regExpConstructorDollar7): Ditto.
              (JSC::regExpConstructorDollar8): Ditto.
              (JSC::regExpConstructorDollar9): Ditto.
              (JSC::regExpConstructorInput): Ditto.
              (JSC::regExpConstructorMultiline): Ditto.
              (JSC::regExpConstructorLastMatch): Ditto.
              (JSC::regExpConstructorLastParen): Ditto.
              (JSC::regExpConstructorLeftContext): Ditto.
              (JSC::regExpConstructorRightContext): Ditto.
              (JSC::setRegExpConstructorInput): Ditto.
              (JSC::setRegExpConstructorMultiline): Ditto.
              (JSC::constructRegExp): Use asObject.
      
              * kjs/RegExpConstructor.h:
              (JSC::asRegExpConstructor): Added.
      
              * kjs/RegExpObject.cpp:
              (JSC::regExpObjectGlobal): Use asRegExpObject.
              (JSC::regExpObjectIgnoreCase): Ditto.
              (JSC::regExpObjectMultiline): Ditto.
              (JSC::regExpObjectSource): Ditto.
              (JSC::regExpObjectLastIndex): Ditto.
              (JSC::setRegExpObjectLastIndex): Ditto.
              (JSC::callRegExpObject): Ditto.
      
              * kjs/RegExpObject.h:
              (JSC::asRegExpObject): Added.
      
              * kjs/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncTest): Use asRegExpObject.
              (JSC::regExpProtoFuncExec): Ditto.
              (JSC::regExpProtoFuncCompile): Ditto.
              (JSC::regExpProtoFuncToString): Ditto.
      
              * kjs/StringObject.h:
              (JSC::StringObject::internalValue): Use asString.
              (JSC::asStringObject): Added.
      
              * kjs/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace): Use asRegExpObject.
              (JSC::stringProtoFuncToString): Ue asStringObject.
              (JSC::stringProtoFuncMatch): Use asRegExpObject.
              (JSC::stringProtoFuncSearch): Ditto.
              (JSC::stringProtoFuncSplit): Ditto.
      
              * kjs/StructureID.cpp:
              (JSC::StructureID::getEnumerablePropertyNames): Use asObject.
              (JSC::StructureID::createCachedPrototypeChain): Ditto.
              (JSC::StructureIDChain::StructureIDChain): Use asCell and asObject.
      
              * kjs/collector.h:
              (JSC::Heap::isNumber): Removed null handling. This can only be called
              on valid cells.
              (JSC::Heap::cellBlock): Removed overload for const and non-const.
              Whether the JSCell* is const or not really should have no effect on
              whether you can modify the collector block it's in.
      
              * kjs/interpreter.cpp:
              (JSC::Interpreter::evaluate): Use noValue and noObject.
      
              * kjs/nodes.cpp:
              (JSC::FunctionCallResolveNode::emitCode): Use JSObject for the global
              object rather than JSValue.
              (JSC::PostfixResolveNode::emitCode): Ditto.
              (JSC::PrefixResolveNode::emitCode): Ditto.
              (JSC::ReadModifyResolveNode::emitCode): Ditto.
              (JSC::AssignResolveNode::emitCode): Ditto.
      
              * kjs/operations.h:
              (JSC::equalSlowCaseInline): Use asString, asCell, asNumberCell, 
              (JSC::strictEqualSlowCaseInline): Ditto.
      
      WebCore:
      
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Update for change to make PreferredPrimitiveType no longer
              a member of JSValue.
      
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::defaultValue): Ditto.
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::defaultValue): Ditto.
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::defaultValue): Ditto.
              * bridge/runtime.h: Ditto. Also removed typedef.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a49442f
  30. 29 Sep, 2008 1 commit
  31. 24 Sep, 2008 1 commit
  32. 22 Sep, 2008 1 commit
  33. 20 Sep, 2008 1 commit
  34. 19 Sep, 2008 1 commit
  35. 15 Sep, 2008 1 commit