Skip to content
  • barraclough@apple.com's avatar
    Bug 40094 - The return type of NativeFunction should be EncodedJSValue · 99ff3435
    barraclough@apple.com authored
    On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
    
    Reviewed by Oliver Hunt.
    
    JavaScriptCore: 
    
    * API/JSCallbackFunction.cpp:
    (JSC::JSCallbackFunction::call):
    * API/JSCallbackFunction.h:
    * API/JSCallbackObject.h:
    * API/JSCallbackObjectFunctions.h:
    (JSC::::call):
    * JavaScriptCore.exp:
    * interpreter/Interpreter.cpp:
    (JSC::Interpreter::executeCall):
    * jit/JITStubs.cpp:
    (JSC::DEFINE_STUB_FUNCTION):
    * jit/JITStubs.h:
    * jsc.cpp:
    (functionPrint):
    (functionDebug):
    (functionGC):
    (functionVersion):
    (functionRun):
    (functionLoad):
    (functionCheckSyntax):
    (functionSetSamplingFlags):
    (functionClearSamplingFlags):
    (functionReadline):
    (functionQuit):
    * runtime/ArrayConstructor.cpp:
    (JSC::callArrayConstructor):
    (JSC::arrayConstructorIsArray):
    * runtime/ArrayPrototype.cpp:
    (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):
    * runtime/BooleanPrototype.cpp:
    (JSC::booleanProtoFuncToString):
    (JSC::booleanProtoFuncValueOf):
    * runtime/CallData.h:
    * runtime/DateConstructor.cpp:
    (JSC::callDate):
    (JSC::dateParse):
    (JSC::dateNow):
    (JSC::dateUTC):
    * runtime/DatePrototype.cpp:
    (JSC::dateProtoFuncToString):
    (JSC::dateProtoFuncToUTCString):
    (JSC::dateProtoFuncToISOString):
    (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::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):
    (JSC::dateProtoFuncToJSON):
    * runtime/ErrorConstructor.cpp:
    (JSC::callErrorConstructor):
    * runtime/ErrorPrototype.cpp:
    (JSC::errorProtoFuncToString):
    * runtime/FunctionConstructor.cpp:
    (JSC::callFunctionConstructor):
    * runtime/FunctionPrototype.cpp:
    (JSC::callFunctionPrototype):
    (JSC::functionProtoFuncToString):
    (JSC::functionProtoFuncApply):
    (JSC::functionProtoFuncCall):
    * runtime/JSCell.h:
    (JSC::getCallData):
    (JSC::getConstructData):
    * runtime/JSFunction.cpp:
    (JSC::callHostFunctionAsConstructor):
    * runtime/JSFunction.h:
    * runtime/JSGlobalObjectFunctions.cpp:
    (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/JSONObject.cpp:
    (JSC::JSONProtoFuncParse):
    (JSC::JSONProtoFuncStringify):
    * runtime/JSObject.cpp:
    (JSC::callDefaultValueFunction):
    * runtime/JSValue.h:
    * 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/NativeErrorConstructor.cpp:
    (JSC::callNativeErrorConstructor):
    * runtime/NumberConstructor.cpp:
    (JSC::callNumberConstructor):
    * runtime/NumberPrototype.cpp:
    (JSC::numberProtoFuncToString):
    (JSC::numberProtoFuncToLocaleString):
    (JSC::numberProtoFuncValueOf):
    (JSC::numberProtoFuncToFixed):
    (JSC::numberProtoFuncToExponential):
    (JSC::numberProtoFuncToPrecision):
    * runtime/ObjectConstructor.cpp:
    (JSC::callObjectConstructor):
    (JSC::objectConstructorGetPrototypeOf):
    (JSC::objectConstructorGetOwnPropertyDescriptor):
    (JSC::objectConstructorGetOwnPropertyNames):
    (JSC::objectConstructorKeys):
    (JSC::toPropertyDescriptor):
    (JSC::objectConstructorDefineProperty):
    (JSC::objectConstructorDefineProperties):
    (JSC::objectConstructorCreate):
    * 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/RegExpConstructor.cpp:
    (JSC::callRegExpConstructor):
    * runtime/RegExpObject.cpp:
    (JSC::callRegExpObject):
    * runtime/RegExpPrototype.cpp:
    (JSC::regExpProtoFuncTest):
    (JSC::regExpProtoFuncExec):
    (JSC::regExpProtoFuncCompile):
    (JSC::regExpProtoFuncToString):
    * runtime/StringConstructor.cpp:
    (JSC::stringFromCharCode):
    (JSC::callStringConstructor):
    * 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):
    (JSC::stringProtoFuncTrim):
    (JSC::stringProtoFuncTrimLeft):
    (JSC::stringProtoFuncTrimRight):
    
    JavaScriptGlue: 
    
    * JSObject.cpp:
    (nativeCallFunction):
    
    WebCore: 
    
    * bindings/js/JSCallbackData.cpp:
    (WebCore::JSCallbackData::invokeCallback):
    * bindings/js/JSCustomXPathNSResolver.cpp:
    (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
    * bindings/js/JSEventListener.cpp:
    (WebCore::JSEventListener::handleEvent):
    * bindings/js/JSHTMLAllCollectionCustom.cpp:
    (WebCore::callHTMLAllCollection):
    * bindings/js/JSHTMLCollectionCustom.cpp:
    (WebCore::callHTMLCollection):
    * bindings/js/JSHTMLDocumentCustom.cpp:
    (WebCore::JSHTMLDocument::open):
    * bindings/js/JSInjectedScriptHostCustom.cpp:
    (WebCore::InjectedScriptHost::createInjectedScript):
    * bindings/js/JSNodeFilterCondition.cpp:
    (WebCore::JSNodeFilterCondition::acceptNode):
    * bindings/js/JSNodeListCustom.cpp:
    (WebCore::callNodeList):
    * bindings/js/JSPluginElementFunctions.cpp:
    (WebCore::callPlugin):
    * bindings/js/ScheduledAction.cpp:
    (WebCore::ScheduledAction::create):
    (WebCore::ScheduledAction::executeFunctionInContext):
    * bindings/js/ScriptFunctionCall.cpp:
    (WebCore::ScriptFunctionCall::call):
    * bindings/js/SerializedScriptValue.cpp:
    (WebCore::SerializingTreeWalker::convertIfTerminal):
    * bindings/objc/WebScriptObject.mm:
    (-[WebScriptObject callWebScriptMethod:withArguments:]):
    * bindings/scripts/CodeGeneratorJS.pm:
    * bridge/NP_jsobject.cpp:
    (_NPN_InvokeDefault):
    (_NPN_Invoke):
    (_NPN_Construct):
    * bridge/jni/jni_jsobject.mm:
    (JavaJSObject::call):
    * bridge/objc/objc_runtime.mm:
    (JSC::Bindings::callObjCFallbackObject):
    * bridge/runtime_method.cpp:
    (JSC::callRuntimeMethod):
    * bridge/runtime_object.cpp:
    (JSC::Bindings::callRuntimeObject):
    
    WebKit/mac: 
    
    * Plugins/Hosted/NetscapePluginInstanceProxy.h:
    * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
    (WebKit::NetscapePluginInstanceProxy::invoke):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    99ff3435