source: webkit/trunk/JavaScriptCore/JavaScriptCore.exp@ 60512

Last change on this file since 60512 was 60392, checked in by [email protected], 15 years ago

JavaScriptCore: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

22.5% speedup on 32-bit host function calls. 9.5% speedup on 64-bit host
function calls.

No change on SunSpider.

All JS calls (but not constructs, yet) now go through the normal JS
calling convention via the RegisterFile. As a result, the host calling
convention, which used to be this

JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*, JSObject*, JSValue thisValue, const ArgList&)


is now this

JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*)


Callee, 'this', and argument access all hapen relative to the ExecState*,
which is a pointer into the RegisterFile.

This patch comes in two parts.

PART ONE: Functional code changes.

  • wtf/Platform.h: Disabled optimized calls on platforms I didn't test.

We can re-enable once we verify that host calls on these platforms are
correct.

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::functionName):
(JSC::DebuggerCallFrame::calculatedFunctionName): Updated for change to
ExecState::callee().

(JSC::DebuggerCallFrame::thisObject): Updated for removal of ExecState::thisValue().

  • interpreter/CallFrame.cpp:
  • interpreter/CallFrame.h:

(JSC::ExecState::callee):
(JSC::ExecState::scopeChain):
(JSC::ExecState::init): Changed callee() to be JSObject* instead of
JSFunction* -- now, it might be some other callable host object.

(JSC::ExecState::hostThisRegister):
(JSC::ExecState::hostThisValue):
(JSC::ExecState::argumentCount):
(JSC::ExecState::argumentCountIncludingThis):
(JSC::ExecState::argument):
(JSC::ExecState::setArgumentCountIncludingThis):
(JSC::ExecState::setCallee): Added convenient accessors for arguments
from within a host function. Removed thisValue() because it was too
tempting to use incorrectly, and it only had one or two clients, anyway.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::callEval): Updated for removal of ExecState::thisValue().

(JSC::Interpreter::throwException): Be sure to shrink the register file
before invoking the exception handler, to reduce the chances that the
handler will re-throw in the case of stack overflow. (Re-throwing is now
more likely than it used to be, since standardizing the calling convention
implicitly added stack overflow checks to some places where they used to be missing.)

(JSC::Interpreter::execute): Clarified the scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change.

(JSC::Interpreter::executeCall): Clarified scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change. Added support for calling a host
function.

(JSC::Interpreter::executeConstruct): Clarified scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change.

(JSC::Interpreter::prepareForRepeatCall): Updated for CallFrame::init API change.

(JSC::Interpreter::privateExecute): Updated for CallFrame::init API change.
Added some explicit JSValue(JSObject*) initialization, since relaxing
the JSFunction* restriction on callee has made register types more ambiguous.
Removed toThisObject() conversion, since all callees do it themselves now.
Updated host function call for new host function signature. Updated for
change to ExecState::argumentCount() API.

  • interpreter/Register.h:

(JSC::Register::):
(JSC::Register::operator=):
(JSC::Register::function): Changed callee() to be JSObject* instead of
JSFunction* -- now, it might be some other callable host object.

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall): Deleted a bunch of code that
set up the arguments to host functions -- all but one of the arguments
are gone now. This is the actual optimization.

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION): Updated for ExecState and Register API
changes noted above. Removed toThisObject() conversion, since all callees
do it themselves now.

  • runtime/ArgList.h:

(JSC::ArgList::ArgList): ArgList is getting close to unused. Added a
temporary shim for converting from ExecState* to ArgList where it's still
necessary.

  • runtime/Arguments.h:

(JSC::Arguments::getArgumentsData):
(JSC::Arguments::Arguments): Updated for ExecState and Register API
changes noted above.

  • runtime/CallData.cpp:

(JSC::call): Changed call always to call Interpreter::executeCall, even
for host functions. This ensures that the normal calling convention is
set up in the RegsiterFile when calling from C++ to host function.

  • runtime/CallData.h: Changed host function signature as described above.
  • runtime/ConstructData.cpp:

(JSC::construct): Moved JSFunction::construct code here so I could nix
JSFunction::call and JSFunction::call. We want a JSFunction-agnostic
way to call and construct, so that everything works naturally for non-
JSFunction objects.

  • runtime/JSFunction.cpp:

(JSC::callHostFunctionAsConstructor):

  • runtime/JSFunction.h: Updated for ExecState and Register API changes

noted above. Nixed JSFunction::call and JSFunction::construct, noted above.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init): Ditto.

PART TWO: Global search and replace.

In the areas below, I used global search-and-replace to change

(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)

  • API/JSCallbackFunction.cpp:

(JSC::JSCallbackFunction::call):

  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:

(JSC::::call):

(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/DateConstructor.cpp:

(JSC::callDate):
(JSC::dateParse):
(JSC::dateNow):
(JSC::dateUTC):

  • runtime/DatePrototype.cpp:

(JSC::formatLocaleDate):
(JSC::fillStructuresUsingTimeArgs):
(JSC::fillStructuresUsingDateArgs):
(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::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):
(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/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/JSONObject.cpp:

(JSC::JSONProtoFuncParse):
(JSC::JSONProtoFuncStringify):

  • runtime/JSString.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::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/Operations.h:

(JSC::jsString):

  • runtime/RegExpConstructor.cpp:

(JSC::callRegExpConstructor):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::test):
(JSC::RegExpObject::exec):
(JSC::callRegExpObject):
(JSC::RegExpObject::match):

  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoFuncTest):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):

  • runtime/StringConstructor.cpp:

(JSC::stringFromCharCodeSlowCase):
(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: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

PART ONE: Functional code changes.

[ None in JavaScriptGlue ]

PART TWO: Global search and replace.

In the areas below, I used global search-and-replace to change

(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)

  • JSObject.cpp:

(nativeCallFunction):

  • UserObjectImp.cpp:

(UserObjectImp::callAsFunction):

  • UserObjectImp.h:

WebCore: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

PART ONE: Functional code changes.

[ None in WebCore ]

PART TWO: Global search and replace.

In the areas below, I used global search-and-replace to change

(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)

  • bindings/js/JSArrayBufferViewCustom.cpp:

(WebCore::JSArrayBufferView::slice):

  • bindings/js/JSArrayBufferViewHelper.h:

(WebCore::setWebGLArrayHelper):

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
(WebCore::JSCanvasRenderingContext2D::strokeRect):
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
(WebCore::JSCanvasRenderingContext2D::createPattern):
(WebCore::JSCanvasRenderingContext2D::createImageData):
(WebCore::JSCanvasRenderingContext2D::putImageData):
(WebCore::JSCanvasRenderingContext2D::fillText):
(WebCore::JSCanvasRenderingContext2D::strokeText):

  • bindings/js/JSClipboardCustom.cpp:

(WebCore::JSClipboard::clearData):
(WebCore::JSClipboard::getData):
(WebCore::JSClipboard::setDragImage):

  • bindings/js/JSDOMApplicationCacheCustom.cpp:

(WebCore::JSDOMApplicationCache::hasItem):
(WebCore::JSDOMApplicationCache::add):
(WebCore::JSDOMApplicationCache::remove):

  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::JSDOMFormData::append):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::JSDOMWindow::postMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
(WebCore::JSDOMWindow::openDatabase):

  • bindings/js/JSDatabaseCustom.cpp:

(WebCore::JSDatabase::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabase::transaction):
(WebCore::JSDatabase::readTransaction):

  • bindings/js/JSDatabaseSyncCustom.cpp:

(WebCore::JSDatabaseSync::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabaseSync::transaction):
(WebCore::JSDatabaseSync::readTransaction):

  • bindings/js/JSDedicatedWorkerContextCustom.cpp:

(WebCore::JSDedicatedWorkerContext::postMessage):

  • bindings/js/JSDesktopNotificationsCustom.cpp:

(WebCore::JSNotificationCenter::requestPermission):

  • bindings/js/JSFloatArrayCustom.cpp:

(WebCore::JSFloatArray::set):

  • bindings/js/JSGeolocationCustom.cpp:

(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):
(WebCore::JSHTMLAllCollection::namedItem):

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::callHTMLCollection):
(WebCore::JSHTMLCollection::item):
(WebCore::JSHTMLCollection::namedItem):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::open):
(WebCore::documentWrite):
(WebCore::JSHTMLDocument::write):
(WebCore::JSHTMLDocument::writeln):

  • bindings/js/JSHTMLInputElementCustom.cpp:

(WebCore::JSHTMLInputElement::setSelectionRange):

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::add):
(WebCore::JSHTMLOptionsCollection::remove):

  • bindings/js/JSHTMLSelectElementCustom.cpp:

(WebCore::JSHTMLSelectElement::remove):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::databaseForId):
(WebCore::JSInjectedScriptHost::currentCallFrame):
(WebCore::JSInjectedScriptHost::nodeForId):
(WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
(WebCore::JSInjectedScriptHost::selectDatabase):
(WebCore::JSInjectedScriptHost::selectDOMStorage):
(WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):

  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::platform):
(WebCore::JSInspectorFrontendHost::port):
(WebCore::JSInspectorFrontendHost::showContextMenu):

  • bindings/js/JSInt16ArrayCustom.cpp:

(WebCore::JSInt16Array::set):

  • bindings/js/JSInt32ArrayCustom.cpp:

(WebCore::JSInt32Array::set):

  • bindings/js/JSInt8ArrayCustom.cpp:

(WebCore::JSInt8Array::set):

  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::evaluate):
(WebCore::JSJavaScriptCallFrame::scopeType):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::replace):
(WebCore::JSLocation::reload):
(WebCore::JSLocation::assign):
(WebCore::JSLocation::toString):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::initMessageEvent):

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::JSMessagePort::postMessage):

  • bindings/js/JSMessagePortCustom.h:

(WebCore::handlePostMessage):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::callNodeList):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::callPlugin):

  • bindings/js/JSSQLResultSetRowListCustom.cpp:

(WebCore::JSSQLResultSetRowList::item):

  • bindings/js/JSSQLTransactionCustom.cpp:

(WebCore::JSSQLTransaction::executeSql):

  • bindings/js/JSSQLTransactionSyncCustom.cpp:

(WebCore::JSSQLTransactionSync::executeSql):

  • bindings/js/JSSVGLengthCustom.cpp:

(WebCore::JSSVGLength::convertToSpecifiedUnits):

  • bindings/js/JSSVGMatrixCustom.cpp:

(WebCore::JSSVGMatrix::multiply):
(WebCore::JSSVGMatrix::inverse):
(WebCore::JSSVGMatrix::rotateFromVector):

  • bindings/js/JSSVGPODListCustom.h:

(WebCore::JSSVGPODListCustom::clear):
(WebCore::JSSVGPODListCustom::initialize):
(WebCore::JSSVGPODListCustom::getItem):
(WebCore::JSSVGPODListCustom::insertItemBefore):
(WebCore::JSSVGPODListCustom::replaceItem):
(WebCore::JSSVGPODListCustom::removeItem):
(WebCore::JSSVGPODListCustom::appendItem):

  • 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/JSUint16ArrayCustom.cpp:

(WebCore::JSUint16Array::set):

  • bindings/js/JSUint32ArrayCustom.cpp:

(WebCore::JSUint32Array::set):

  • bindings/js/JSUint8ArrayCustom.cpp:

(WebCore::JSUint8Array::set):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::bufferData):
(WebCore::JSWebGLRenderingContext::bufferSubData):
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContext::getBufferParameter):
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContext::getParameter):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getTexParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::JSWebGLRenderingContext::getVertexAttrib):
(WebCore::JSWebGLRenderingContext::texImage2D):
(WebCore::JSWebGLRenderingContext::texSubImage2D):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
(WebCore::JSWebGLRenderingContext::uniform1fv):
(WebCore::JSWebGLRenderingContext::uniform1iv):
(WebCore::JSWebGLRenderingContext::uniform2fv):
(WebCore::JSWebGLRenderingContext::uniform2iv):
(WebCore::JSWebGLRenderingContext::uniform3fv):
(WebCore::JSWebGLRenderingContext::uniform3iv):
(WebCore::JSWebGLRenderingContext::uniform4fv):
(WebCore::JSWebGLRenderingContext::uniform4iv):
(WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
(WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
(WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib4fv):

  • bindings/js/JSWebSocketCustom.cpp:

(WebCore::JSWebSocket::send):

  • bindings/js/JSWorkerContextCustom.cpp:

(WebCore::JSWorkerContext::importScripts):
(WebCore::JSWorkerContext::setTimeout):
(WebCore::JSWorkerContext::setInterval):
(WebCore::JSWorkerContext::openDatabase):
(WebCore::JSWorkerContext::openDatabaseSync):

  • bindings/js/JSWorkerCustom.cpp:

(WebCore::JSWorker::postMessage):

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::open):
(WebCore::JSXMLHttpRequest::send):

  • 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):

  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptCallFrame.cpp:

(WebCore::ScriptCallFrame::ScriptCallFrame):

  • bindings/js/ScriptCallFrame.h:
  • bindings/js/ScriptCallStack.cpp:

(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::initialize):

  • bindings/js/ScriptCallStack.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):

  • bridge/c/c_instance.h:
  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaInstance::invokeMethod):

  • bridge/jni/jsc/JavaInstanceJSC.h:
  • bridge/jsc/BridgeJSC.h:

(JSC::Bindings::Instance::invokeDefaultMethod):

  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_instance.mm:

(ObjcInstance::invokeMethod):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::callObjCFallbackObject):

  • bridge/runtime_method.cpp:

(JSC::callRuntimeMethod):

  • bridge/runtime_object.cpp:

(JSC::Bindings::callRuntimeObject):

WebKit/mac: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

PART ONE: Functional code changes.

[ None in WebKit ]

PART TWO: Global search and replace.

In the areas below, I used global search-and-replace to change

(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)

  • Plugins/Hosted/ProxyInstance.h:
  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::invokeMethod):
(WebKit::ProxyInstance::invokeDefaultMethod):

LayoutTests: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

Changed these results to expect to fail to stringify their exception
objects in the case of stack overflow. (Standardizing the calling
convention has implicitly added stack overflow checks to some places
where they used to be missing.)

In a future patch, I plan to implement a more reliable way to stringify
exceptions without invoking a JS function. For now, though, it seems best
to match other test results, instead of silently overflowing the stack.

  • fast/js/global-recursion-on-full-stack-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-recursive-sync-event-expected.txt:
  • Property svn:eol-style set to native
File size: 22.5 KB
Line 
1_JSCheckScriptSyntax
2_JSClassCreate
3_JSClassRelease
4_JSClassRetain
5_JSContextGetGlobalContext
6_JSContextGetGlobalObject
7_JSContextGetGroup
8_JSContextGroupCreate
9_JSContextGroupRelease
10_JSContextGroupRetain
11_JSEndProfiling
12_JSEvaluateScript
13_JSGarbageCollect
14_JSGlobalContextCreate
15_JSGlobalContextCreateInGroup
16_JSGlobalContextRelease
17_JSGlobalContextRetain
18_JSObjectCallAsConstructor
19_JSObjectCallAsFunction
20_JSObjectCopyPropertyNames
21_JSObjectDeletePrivateProperty
22_JSObjectDeleteProperty
23_JSObjectGetPrivate
24_JSObjectGetPrivateProperty
25_JSObjectGetProperty
26_JSObjectGetPropertyAtIndex
27_JSObjectGetPrototype
28_JSObjectHasProperty
29_JSObjectIsConstructor
30_JSObjectIsFunction
31_JSObjectMake
32_JSObjectMakeArray
33_JSObjectMakeConstructor
34_JSObjectMakeDate
35_JSObjectMakeError
36_JSObjectMakeFunction
37_JSObjectMakeFunctionWithCallback
38_JSObjectMakeRegExp
39_JSObjectSetPrivate
40_JSObjectSetPrivateProperty
41_JSObjectSetProperty
42_JSObjectSetPropertyAtIndex
43_JSObjectSetPrototype
44_JSPropertyNameAccumulatorAddName
45_JSPropertyNameArrayGetCount
46_JSPropertyNameArrayGetNameAtIndex
47_JSPropertyNameArrayRelease
48_JSPropertyNameArrayRetain
49_JSReportExtraMemoryCost
50_JSStartProfiling
51_JSStringCopyCFString
52_JSStringCreateWithCFString
53_JSStringCreateWithCharacters
54_JSStringCreateWithUTF8CString
55_JSStringGetCharactersPtr
56_JSStringGetLength
57_JSStringGetMaximumUTF8CStringSize
58_JSStringGetUTF8CString
59_JSStringIsEqual
60_JSStringIsEqualToUTF8CString
61_JSStringRelease
62_JSStringRetain
63_JSValueCreateJSONString
64_JSValueGetType
65_JSValueIsBoolean
66_JSValueIsEqual
67_JSValueIsInstanceOfConstructor
68_JSValueIsNull
69_JSValueIsNumber
70_JSValueIsObject
71_JSValueIsObjectOfClass
72_JSValueIsStrictEqual
73_JSValueIsString
74_JSValueIsUndefined
75_JSValueMakeBoolean
76_JSValueMakeFromJSONString
77_JSValueMakeNull
78_JSValueMakeNumber
79_JSValueMakeString
80_JSValueMakeUndefined
81_JSValueProtect
82_JSValueToBoolean
83_JSValueToNumber
84_JSValueToObject
85_JSValueToStringCopy
86_JSValueUnprotect
87_JSWeakObjectMapClear
88_JSWeakObjectMapCreate
89_JSWeakObjectMapGet
90_JSWeakObjectMapSet
91_WTFLog
92_WTFLogVerbose
93_WTFReportArgumentAssertionFailure
94_WTFReportAssertionFailure
95_WTFReportAssertionFailureWithMessage
96_WTFReportError
97_WTFReportFatalError
98__Z12jsRegExpFreeP8JSRegExp
99__Z15jsRegExpCompilePKti24JSRegExpIgnoreCaseOption23JSRegExpMultilineOptionPjPPKc
100__Z15jsRegExpExecutePK8JSRegExpPKtiiPii
101__ZN14OpaqueJSString6createERKN3JSC7UStringE
102__ZN3JSC10Identifier11addSlowCaseEPNS_12JSGlobalDataEPN7WebCore10StringImplE
103__ZN3JSC10Identifier11addSlowCaseEPNS_9ExecStateEPN7WebCore10StringImplE
104__ZN3JSC10Identifier27checkCurrentIdentifierTableEPNS_12JSGlobalDataE
105__ZN3JSC10Identifier27checkCurrentIdentifierTableEPNS_9ExecStateE
106__ZN3JSC10Identifier3addEPNS_9ExecStateEPKc
107__ZN3JSC10Identifier4fromEPNS_9ExecStateEi
108__ZN3JSC10Identifier4fromEPNS_9ExecStateEj
109__ZN3JSC10Identifier5equalEPKN7WebCore10StringImplEPKc
110__ZN3JSC10JSFunction4infoE
111__ZN3JSC10JSFunction4nameEPNS_9ExecStateE
112__ZN3JSC10JSFunctionC1EPNS_9ExecStateEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEEiRKNS_10IdentifierEPFNS_7JSValueES2_E
113__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeE
114__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeEPKc
115__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeERKNS_7UStringE
116__ZN3JSC11JSByteArray15createStructureENS_7JSValueE
117__ZN3JSC11JSByteArrayC1EPNS_9ExecStateEN3WTF17NonNullPassRefPtrINS_9StructureEEEPNS3_9ByteArrayEPKNS_9ClassInfoE
118__ZN3JSC11ParserArena5resetEv
119__ZN3JSC11checkSyntaxEPNS_9ExecStateERKNS_10SourceCodeE
120__ZN3JSC12DateInstance4infoE
121__ZN3JSC12DateInstanceC1EPNS_9ExecStateEN3WTF17NonNullPassRefPtrINS_9StructureEEEd
122__ZN3JSC12DateInstanceC1EPNS_9ExecStateEd
123__ZN3JSC12JSGlobalData10ClientDataD2Ev
124__ZN3JSC12JSGlobalData11jsArrayVPtrE
125__ZN3JSC12JSGlobalData12createLeakedENS_15ThreadStackTypeE
126__ZN3JSC12JSGlobalData12jsStringVPtrE
127__ZN3JSC12JSGlobalData12stopSamplingEv
128__ZN3JSC12JSGlobalData13startSamplingEv
129__ZN3JSC12JSGlobalData14dumpSampleDataEPNS_9ExecStateE
130__ZN3JSC12JSGlobalData14resetDateCacheEv
131__ZN3JSC12JSGlobalData14sharedInstanceEv
132__ZN3JSC12JSGlobalData6createENS_15ThreadStackTypeE
133__ZN3JSC12JSGlobalDataD1Ev
134__ZN3JSC12SamplingTool5setupEv
135__ZN3JSC12SmallStrings17createEmptyStringEPNS_12JSGlobalDataE
136__ZN3JSC12SmallStrings27createSingleCharacterStringEPNS_12JSGlobalDataEh
137__ZN3JSC12StringObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
138__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
139__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
140__ZN3JSC12StringObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
141__ZN3JSC12StringObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
142__ZN3JSC12StringObject3putEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
143__ZN3JSC12StringObject4infoE
144__ZN3JSC12StringObjectC2EPNS_9ExecStateEN3WTF17NonNullPassRefPtrINS_9StructureEEERKNS_7UStringE
145__ZN3JSC12jsNumberCellEPNS_9ExecStateEd
146__ZN3JSC12nonInlineNaNEv
147__ZN3JSC13SamplingFlags4stopEv
148__ZN3JSC13SamplingFlags5startEv
149__ZN3JSC13SamplingFlags7s_flagsE
150__ZN3JSC13StatementNode6setLocEii
151__ZN3JSC14JSGlobalObject10globalExecEv
152__ZN3JSC14JSGlobalObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectEj
153__ZN3JSC14JSGlobalObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectEj
154__ZN3JSC14JSGlobalObject12markChildrenERNS_9MarkStackE
155__ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueEj
156__ZN3JSC14JSGlobalObject25destroyJSGlobalObjectDataEPv
157__ZN3JSC14JSGlobalObject3putEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
158__ZN3JSC14JSGlobalObject4initEPNS_8JSObjectE
159__ZN3JSC14JSGlobalObjectD2Ev
160__ZN3JSC14JSGlobalObjectnwEmPNS_12JSGlobalDataE
161__ZN3JSC14SamplingThread4stopEv
162__ZN3JSC14SamplingThread5startEj
163__ZN3JSC14TimeoutChecker10didTimeOutEPNS_9ExecStateE
164__ZN3JSC14TimeoutChecker5resetEv
165__ZN3JSC15JSWrapperObject12markChildrenERNS_9MarkStackE
166__ZN3JSC15createTypeErrorEPNS_9ExecStateEPKc
167__ZN3JSC15toInt32SlowCaseEdRb
168__ZN3JSC16InternalFunction4infoE
169__ZN3JSC16InternalFunction4nameEPNS_9ExecStateE
170__ZN3JSC16InternalFunctionC2EPNS_12JSGlobalDataEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEERKNS_10IdentifierE
171__ZN3JSC16JSVariableObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
172__ZN3JSC16JSVariableObject14symbolTableGetERKNS_10IdentifierERNS_18PropertyDescriptorE
173__ZN3JSC16JSVariableObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
174__ZN3JSC16toUInt32SlowCaseEdRb
175__ZN3JSC17BytecodeGenerator21setDumpsGeneratedCodeEb
176__ZN3JSC17PropertyNameArray3addEPN7WebCore10StringImplE
177__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEEiRKNS_10IdentifierEPFNS_7JSValueES2_E
178__ZN3JSC17constructFunctionEPNS_9ExecStateERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
179__ZN3JSC18DebuggerActivationC1EPNS_8JSObjectE
180__ZN3JSC18PropertyDescriptor11setWritableEb
181__ZN3JSC18PropertyDescriptor12setUndefinedEv
182__ZN3JSC18PropertyDescriptor13setDescriptorENS_7JSValueEj
183__ZN3JSC18PropertyDescriptor13setEnumerableEb
184__ZN3JSC18PropertyDescriptor15setConfigurableEb
185__ZN3JSC18PropertyDescriptor17defaultAttributesE
186__ZN3JSC18PropertyDescriptor21setAccessorDescriptorENS_7JSValueES1_j
187__ZN3JSC18PropertyDescriptor9setGetterENS_7JSValueE
188__ZN3JSC18PropertyDescriptor9setSetterENS_7JSValueE
189__ZN3JSC19initializeThreadingEv
190__ZN3JSC20MarkedArgumentBuffer10slowAppendENS_7JSValueE
191__ZN3JSC23AbstractSamplingCounter4dumpEv
192__ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateE
193__ZN3JSC23setUpStaticFunctionSlotEPNS_9ExecStateEPKNS_9HashEntryEPNS_8JSObjectERKNS_10IdentifierERNS_12PropertySlotE
194__ZN3JSC24JSObjectWithGlobalObjectC2EPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEE
195__ZN3JSC24createStackOverflowErrorEPNS_9ExecStateE
196__ZN3JSC24createStackOverflowErrorEPNS_9ExecStateE
197__ZN3JSC25evaluateInGlobalCallFrameERKNS_7UStringERNS_7JSValueEPNS_14JSGlobalObjectE
198__ZN3JSC35createInterruptedExecutionExceptionEPNS_12JSGlobalDataE
199__ZN3JSC3NaNE
200__ZN3JSC4Heap14primaryHeapEndEv
201__ZN3JSC4Heap15recordExtraCostEm
202__ZN3JSC4Heap16objectTypeCountsEv
203__ZN3JSC4Heap16primaryHeapBeginEv
204__ZN3JSC4Heap17collectAllGarbageEv
205__ZN3JSC4Heap17globalObjectCountEv
206__ZN3JSC4Heap20protectedObjectCountEv
207__ZN3JSC4Heap25protectedObjectTypeCountsEv
208__ZN3JSC4Heap26protectedGlobalObjectCountEv
209__ZN3JSC4Heap6isBusyEv
210__ZN3JSC4Heap7destroyEv
211__ZN3JSC4Heap7protectENS_7JSValueE
212__ZN3JSC4Heap8allocateEm
213__ZN3JSC4Heap9unprotectENS_7JSValueE
214__ZN3JSC4callEPNS_9ExecStateENS_7JSValueENS_8CallTypeERKNS_8CallDataES2_RKNS_7ArgListE
215__ZN3JSC6JSCell11getCallDataERNS_8CallDataE
216__ZN3JSC6JSCell11getJSNumberEv
217__ZN3JSC6JSCell14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
218__ZN3JSC6JSCell14deletePropertyEPNS_9ExecStateEj
219__ZN3JSC6JSCell16getConstructDataERNS_13ConstructDataE
220__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
221__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
222__ZN3JSC6JSCell18getPrimitiveNumberEPNS_9ExecStateERdRNS_7JSValueE
223__ZN3JSC6JSCell3putEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
224__ZN3JSC6JSCell3putEPNS_9ExecStateEjNS_7JSValueE
225__ZN3JSC6JSCell9getObjectEv
226__ZN3JSC6JSLock12DropAllLocksC1ENS_14JSLockBehaviorE
227__ZN3JSC6JSLock12DropAllLocksC1EPNS_9ExecStateE
228__ZN3JSC6JSLock12DropAllLocksD1Ev
229__ZN3JSC6JSLock4lockENS_14JSLockBehaviorE
230__ZN3JSC6JSLock6unlockENS_14JSLockBehaviorE
231__ZN3JSC6JSLock9lockCountEv
232__ZN3JSC6JSLockC1EPNS_9ExecStateE
233__ZN3JSC6Parser5parseEPNS_12JSGlobalDataEPiPNS_7UStringE
234__ZN3JSC7JSArray12markChildrenERNS_9MarkStackE
235__ZN3JSC7JSArray15setSubclassDataEPv
236__ZN3JSC7JSArray4infoE
237__ZN3JSC7JSArray9setLengthEj
238__ZN3JSC7JSArrayC1EN3WTF17NonNullPassRefPtrINS_9StructureEEE
239__ZN3JSC7JSArrayC1EN3WTF17NonNullPassRefPtrINS_9StructureEEERKNS_7ArgListE
240__ZN3JSC7JSArrayC2EN3WTF17NonNullPassRefPtrINS_9StructureEEE
241__ZN3JSC7JSArrayD2Ev
242__ZN3JSC7JSValue13isValidCalleeEv
243__ZN3JSC7Profile10restoreAllEv
244__ZN3JSC7Profile5focusEPKNS_11ProfileNodeE
245__ZN3JSC7Profile7excludeEPKNS_11ProfileNodeE
246__ZN3JSC7Profile7forEachEMNS_11ProfileNodeEFvvE
247__ZN3JSC7UString4fromEd
248__ZN3JSC7UString4fromEi
249__ZN3JSC7UString4fromEj
250__ZN3JSC7UString4fromEl
251__ZN3JSC7UStringC1EPKc
252__ZN3JSC7UStringC1EPKtj
253__ZN3JSC8Debugger23recompileAllJSFunctionsEPNS_12JSGlobalDataE
254__ZN3JSC8Debugger6attachEPNS_14JSGlobalObjectE
255__ZN3JSC8Debugger6detachEPNS_14JSGlobalObjectE
256__ZN3JSC8DebuggerD2Ev
257__ZN3JSC8JSObject11hasInstanceEPNS_9ExecStateENS_7JSValueES3_
258__ZN3JSC8JSObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPS0_j
259__ZN3JSC8JSObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPS0_j
260__ZN3JSC8JSObject12lookupGetterEPNS_9ExecStateERKNS_10IdentifierE
261__ZN3JSC8JSObject12lookupSetterEPNS_9ExecStateERKNS_10IdentifierE
262__ZN3JSC8JSObject12markChildrenERNS_9MarkStackE
263__ZN3JSC8JSObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
264__ZN3JSC8JSObject14deletePropertyEPNS_9ExecStateEj
265__ZN3JSC8JSObject15unwrappedObjectEv
266__ZN3JSC8JSObject16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
267__ZN3JSC8JSObject17createInheritorIDEv
268__ZN3JSC8JSObject17defineOwnPropertyEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorEb
269__ZN3JSC8JSObject17putDirectFunctionEPNS_9ExecStateEPNS_10JSFunctionEj
270__ZN3JSC8JSObject17putDirectFunctionEPNS_9ExecStateEPNS_16InternalFunctionEj
271__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueEj
272__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueEjbRNS_15PutPropertySlotE
273__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateEjNS_7JSValueEj
274__ZN3JSC8JSObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
275__ZN3JSC8JSObject18getPrimitiveNumberEPNS_9ExecStateERdRNS_7JSValueE
276__ZN3JSC8JSObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
277__ZN3JSC8JSObject21getPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
278__ZN3JSC8JSObject22fillGetterPropertySlotERNS_12PropertySlotEPNS_7JSValueE
279__ZN3JSC8JSObject23allocatePropertyStorageEmm
280__ZN3JSC8JSObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
281__ZN3JSC8JSObject3putEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
282__ZN3JSC8JSObject3putEPNS_9ExecStateEjNS_7JSValueE
283__ZN3JSC8Profiler13stopProfilingEPNS_9ExecStateERKNS_7UStringE
284__ZN3JSC8Profiler14startProfilingEPNS_9ExecStateERKNS_7UStringE
285__ZN3JSC8Profiler8profilerEv
286__ZN3JSC8evaluateEPNS_9ExecStateERNS_10ScopeChainERKNS_10SourceCodeENS_7JSValueE
287__ZN3JSC9CodeBlockD1Ev
288__ZN3JSC9CodeBlockD2Ev
289__ZN3JSC9MarkStack10s_pageSizeE
290__ZN3JSC9MarkStack12releaseStackEPvm
291__ZN3JSC9MarkStack13allocateStackEm
292__ZN3JSC9MarkStack18initializePagesizeEv
293__ZN3JSC9Structure13hasTransitionEPN7WebCore10StringImplEj
294__ZN3JSC9Structure17stopIgnoringLeaksEv
295__ZN3JSC9Structure18startIgnoringLeaksEv
296__ZN3JSC9Structure21addPropertyTransitionEPS0_RKNS_10IdentifierEjPNS_6JSCellERm
297__ZN3JSC9Structure22materializePropertyMapEv
298__ZN3JSC9Structure25changePrototypeTransitionEPS0_NS_7JSValueE
299__ZN3JSC9Structure27despecifyDictionaryFunctionERKNS_10IdentifierE
300__ZN3JSC9Structure27despecifyFunctionTransitionEPS0_RKNS_10IdentifierE
301__ZN3JSC9Structure28addPropertyWithoutTransitionERKNS_10IdentifierEjPNS_6JSCellE
302__ZN3JSC9Structure3getEPKN7WebCore10StringImplERjRPNS_6JSCellE
303__ZN3JSC9Structure40addPropertyTransitionToExistingStructureEPS0_RKNS_10IdentifierEjPNS_6JSCellERm
304__ZN3JSC9StructureC1ENS_7JSValueERKNS_8TypeInfoEj
305__ZN3JSC9StructureD1Ev
306__ZN3JSC9constructEPNS_9ExecStateENS_7JSValueENS_13ConstructTypeERKNS_13ConstructDataERKNS_7ArgListE
307__ZN3JSCeqERKNS_7UStringEPKc
308__ZN3JSCgtERKNS_7UStringES2_
309__ZN3JSCltERKNS_7UStringES2_
310__ZN3WTF10fastCallocEmm
311__ZN3WTF10fastMallocEm
312__ZN3WTF10fastStrDupEPKc
313__ZN3WTF11currentTimeEv
314__ZN3WTF11fastReallocEPvm
315__ZN3WTF12createThreadEPFPvS0_ES0_
316__ZN3WTF12createThreadEPFPvS0_ES0_PKc
317__ZN3WTF12detachThreadEj
318__ZN3WTF12isMainThreadEv
319__ZN3WTF12randomNumberEv
320__ZN3WTF13WTFThreadData10staticDataE
321__ZN3WTF13WTFThreadDataC1Ev
322__ZN3WTF13WTFThreadDataD1Ev
323__ZN3WTF13currentThreadEv
324__ZN3WTF13tryFastCallocEmm
325__ZN3WTF13tryFastMallocEm
326__ZN3WTF14fastMallocSizeEPKv
327__ZN3WTF15ThreadCondition4waitERNS_5MutexE
328__ZN3WTF15ThreadCondition6signalEv
329__ZN3WTF15ThreadCondition9broadcastEv
330__ZN3WTF15ThreadCondition9timedWaitERNS_5MutexEd
331__ZN3WTF15ThreadConditionC1Ev
332__ZN3WTF15ThreadConditionD1Ev
333__ZN3WTF16callOnMainThreadEPFvPvES0_
334__ZN3WTF16fastZeroedMallocEm
335__ZN3WTF18dateToDaysFrom1970Eiii
336__ZN3WTF18monthFromDayInYearEib
337__ZN3WTF19initializeThreadingEv
338__ZN3WTF20fastMallocStatisticsEv
339__ZN3WTF20initializeMainThreadEv
340__ZN3WTF21RefCountedLeakCounter16suppressMessagesEPKc
341__ZN3WTF21RefCountedLeakCounter24cancelMessageSuppressionEPKc
342__ZN3WTF21RefCountedLeakCounter9decrementEv
343__ZN3WTF21RefCountedLeakCounter9incrementEv
344__ZN3WTF21RefCountedLeakCounterC1EPKc
345__ZN3WTF21RefCountedLeakCounterD1Ev
346__ZN3WTF23callOnMainThreadAndWaitEPFvPvES0_
347__ZN3WTF23dayInMonthFromDayInYearEib
348__ZN3WTF23waitForThreadCompletionEjPPv
349__ZN3WTF27releaseFastMallocFreeMemoryEv
350__ZN3WTF28setMainThreadCallbacksPausedEb
351__ZN3WTF32doubleToStringInJavaScriptFormatEdPcPj
352__ZN3WTF36lockAtomicallyInitializedStaticMutexEv
353__ZN3WTF37parseDateFromNullTerminatedCharactersEPKc
354__ZN3WTF38unlockAtomicallyInitializedStaticMutexEv
355__ZN3WTF39initializeMainThreadToProcessMainThreadEv
356__ZN3WTF3MD58addBytesEPKhm
357__ZN3WTF3MD58checksumERNS_6VectorIhLm16EEE
358__ZN3WTF3MD5C1Ev
359__ZN3WTF5Mutex4lockEv
360__ZN3WTF5Mutex6unlockEv
361__ZN3WTF5Mutex7tryLockEv
362__ZN3WTF5MutexC1Ev
363__ZN3WTF5MutexD1Ev
364__ZN3WTF6strtodEPKcPPc
365__ZN3WTF7CString11mutableDataEv
366__ZN3WTF7CString16newUninitializedEmRPc
367__ZN3WTF7CStringC1EPKc
368__ZN3WTF7CStringC1EPKcj
369__ZN3WTF7Unicode18convertUTF16ToUTF8EPPKtS2_PPcS4_b
370__ZN3WTF7Unicode18convertUTF8ToUTF16EPPKcS2_PPtS4_b
371__ZN3WTF8Collator18setOrderLowerFirstEb
372__ZN3WTF8CollatorC1EPKc
373__ZN3WTF8CollatorD1Ev
374__ZN3WTF8fastFreeEPv
375__ZN3WTF8msToYearEd
376__ZN3WTF9ByteArray6createEm
377__ZN3WTF9dayInYearEdi
378__ZN3WTFeqERKNS_7CStringES2_
379__ZN7WebCore10StringImpl11reverseFindEPS0_ib
380__ZN7WebCore10StringImpl11reverseFindEti
381__ZN7WebCore10StringImpl12sharedBufferEv
382__ZN7WebCore10StringImpl18simplifyWhiteSpaceEv
383__ZN7WebCore10StringImpl19characterStartingAtEj
384__ZN7WebCore10StringImpl19createUninitializedEjRPt
385__ZN7WebCore10StringImpl22containsOnlyWhitespaceEv
386__ZN7WebCore10StringImpl23defaultWritingDirectionEv
387__ZN7WebCore10StringImpl37createStrippingNullCharactersSlowCaseEPKtj
388__ZN7WebCore10StringImpl4findEPFbtEi
389__ZN7WebCore10StringImpl4findEPKcib
390__ZN7WebCore10StringImpl4findEPS0_ib
391__ZN7WebCore10StringImpl4findEti
392__ZN7WebCore10StringImpl5adoptERNS_12StringBufferE
393__ZN7WebCore10StringImpl5emptyEv
394__ZN7WebCore10StringImpl5lowerEv
395__ZN7WebCore10StringImpl5toIntEPb
396__ZN7WebCore10StringImpl5upperEv
397__ZN7WebCore10StringImpl6createEPKc
398__ZN7WebCore10StringImpl6createEPKcj
399__ZN7WebCore10StringImpl6createEPKtj
400__ZN7WebCore10StringImpl6createEPKtjN3WTF10PassRefPtrINS3_21CrossThreadRefCountedINS3_16OwnFastMallocPtrIS1_EEEEEE
401__ZN7WebCore10StringImpl6secureEt
402__ZN7WebCore10StringImpl7replaceEPS0_S1_
403__ZN7WebCore10StringImpl7replaceEjjPS0_
404__ZN7WebCore10StringImpl7replaceEtPS0_
405__ZN7WebCore10StringImpl7replaceEtt
406__ZN7WebCore10StringImpl8endsWithEPS0_b
407__ZN7WebCore10StringImpl9substringEjj
408__ZN7WebCore10StringImplD1Ev
409__ZN7WebCore11commentAtomE
410__ZN7WebCore12AtomicString11addSlowCaseEPNS_10StringImplE
411__ZN7WebCore12AtomicString3addEPKc
412__ZN7WebCore12AtomicString3addEPKt
413__ZN7WebCore12AtomicString3addEPKtj
414__ZN7WebCore12AtomicString3addEPKtjj
415__ZN7WebCore12AtomicString4findEPKtjj
416__ZN7WebCore12AtomicString4initEv
417__ZN7WebCore15charactersToIntEPKtmPb
418__ZN7WebCore17charactersToFloatEPKtmPb
419__ZN7WebCore17equalIgnoringCaseEPKtPKcj
420__ZN7WebCore17equalIgnoringCaseEPNS_10StringImplEPKc
421__ZN7WebCore17equalIgnoringCaseEPNS_10StringImplES1_
422__ZN7WebCore18charactersToDoubleEPKtmPb
423__ZN7WebCore20equalIgnoringNullityEPNS_10StringImplES1_
424__ZN7WebCore21charactersToIntStrictEPKtmPbi
425__ZN7WebCore22charactersToUIntStrictEPKtmPbi
426__ZN7WebCore5equalEPKNS_10StringImplEPKc
427__ZN7WebCore5equalEPKNS_10StringImplES2_
428__ZN7WebCore6String26fromUTF8WithLatin1FallbackEPKcm
429__ZN7WebCore6String29charactersWithNullTerminationEv
430__ZN7WebCore6String6appendEPKtj
431__ZN7WebCore6String6appendERKS0_
432__ZN7WebCore6String6appendEc
433__ZN7WebCore6String6appendEt
434__ZN7WebCore6String6formatEPKcz
435__ZN7WebCore6String6insertERKS0_j
436__ZN7WebCore6String6numberEd
437__ZN7WebCore6String6numberEi
438__ZN7WebCore6String6numberEj
439__ZN7WebCore6String6numberEl
440__ZN7WebCore6String6numberEm
441__ZN7WebCore6String6numberEt
442__ZN7WebCore6String6numberEx
443__ZN7WebCore6String6numberEy
444__ZN7WebCore6String6removeEji
445__ZN7WebCore6String8fromUTF8EPKc
446__ZN7WebCore6String8fromUTF8EPKcm
447__ZN7WebCore6String8truncateEj
448__ZN7WebCore6StringC1EPKt
449__ZN7WebCore7xmlAtomE
450__ZN7WebCore8nullAtomE
451__ZN7WebCore8starAtomE
452__ZN7WebCore8textAtomE
453__ZN7WebCore9emptyAtomE
454__ZN7WebCore9xmlnsAtomE
455__ZN7WebCoreeqERKNS_12AtomicStringEPKc
456__ZN7WebCoreplEPKcRKNS_6StringE
457__ZN7WebCoreplERKNS_6StringEPKc
458__ZN7WebCoreplERKNS_6StringES2_
459__ZNK3JSC10JSFunction23isHostFunctionNonInlineEv
460__ZNK3JSC11Interpreter14retrieveCallerEPNS_9ExecStateEPNS_10JSFunctionE
461__ZNK3JSC11Interpreter18retrieveLastCallerEPNS_9ExecStateERiRlRNS_7UStringERNS_7JSValueE
462__ZNK3JSC12PropertySlot14functionGetterEPNS_9ExecStateE
463__ZNK3JSC14JSGlobalObject14isDynamicScopeERb
464__ZNK3JSC16InternalFunction9classInfoEv
465__ZNK3JSC16JSVariableObject16isVariableObjectEv
466__ZNK3JSC17DebuggerCallFrame10thisObjectEv
467__ZNK3JSC17DebuggerCallFrame12functionNameEv
468__ZNK3JSC17DebuggerCallFrame22calculatedFunctionNameEv
469__ZNK3JSC17DebuggerCallFrame4typeEv
470__ZNK3JSC17DebuggerCallFrame8evaluateERKNS_7UStringERNS_7JSValueE
471__ZNK3JSC18PropertyDescriptor10enumerableEv
472__ZNK3JSC18PropertyDescriptor12configurableEv
473__ZNK3JSC18PropertyDescriptor16isDataDescriptorEv
474__ZNK3JSC18PropertyDescriptor20isAccessorDescriptorEv
475__ZNK3JSC18PropertyDescriptor6getterEv
476__ZNK3JSC18PropertyDescriptor6setterEv
477__ZNK3JSC18PropertyDescriptor8writableEv
478__ZNK3JSC24JSObjectWithGlobalObject12globalObjectEv
479__ZNK3JSC4Heap10statisticsEv
480__ZNK3JSC4Heap11objectCountEv
481__ZNK3JSC4Heap4sizeEv
482__ZNK3JSC6JSCell11toPrimitiveEPNS_9ExecStateENS_22PreferredPrimitiveTypeE
483__ZNK3JSC6JSCell12toThisObjectEPNS_9ExecStateE
484__ZNK3JSC6JSCell14isGetterSetterEv
485__ZNK3JSC6JSCell8toNumberEPNS_9ExecStateE
486__ZNK3JSC6JSCell8toObjectEPNS_9ExecStateE
487__ZNK3JSC6JSCell8toStringEPNS_9ExecStateE
488__ZNK3JSC6JSCell9classInfoEv
489__ZNK3JSC6JSCell9getStringEPNS_9ExecStateE
490__ZNK3JSC6JSCell9getStringEPNS_9ExecStateERNS_7UStringE
491__ZNK3JSC6JSCell9getUInt32ERj
492__ZNK3JSC6JSCell9toBooleanEPNS_9ExecStateE
493__ZNK3JSC7ArgList8getSliceEiRS0_
494__ZNK3JSC7JSArray12subclassDataEv
495__ZNK3JSC7JSValue16toObjectSlowCaseEPNS_9ExecStateE
496__ZNK3JSC7JSValue19synthesizePrototypeEPNS_9ExecStateE
497__ZNK3JSC7JSValue20toThisObjectSlowCaseEPNS_9ExecStateE
498__ZNK3JSC7JSValue9toIntegerEPNS_9ExecStateE
499__ZNK3JSC7UString10UTF8StringEb
500__ZNK3JSC7UString14toStrictUInt32EPb
501__ZNK3JSC7UString5asciiEv
502__ZNK3JSC7UString6is8BitEv
503__ZNK3JSC7UString6substrEjj
504__ZNK3JSC7UString8toUInt32EPb
505__ZNK3JSC7UString8toUInt32EPbb
506__ZNK3JSC8JSObject11hasPropertyEPNS_9ExecStateERKNS_10IdentifierE
507__ZNK3JSC8JSObject11hasPropertyEPNS_9ExecStateEj
508__ZNK3JSC8JSObject12defaultValueEPNS_9ExecStateENS_22PreferredPrimitiveTypeE
509__ZNK3JSC8JSObject12toThisObjectEPNS_9ExecStateE
510__ZNK3JSC8JSObject8toNumberEPNS_9ExecStateE
511__ZNK3JSC8JSObject8toObjectEPNS_9ExecStateE
512__ZNK3JSC8JSObject8toStringEPNS_9ExecStateE
513__ZNK3JSC8JSObject9classNameEv
514__ZNK3JSC8JSObject9toBooleanEPNS_9ExecStateE
515__ZNK3JSC8JSString11resolveRopeEPNS_9ExecStateE
516__ZNK3JSC9HashTable11createTableEPNS_12JSGlobalDataE
517__ZNK3JSC9HashTable11deleteTableEv
518__ZNK3WTF8Collator7collateEPKtmS2_m
519__ZNK7WebCore12AtomicString5lowerEv
520__ZNK7WebCore6String11toIntStrictEPbi
521__ZNK7WebCore6String12toUIntStrictEPbi
522__ZNK7WebCore6String14threadsafeCopyEv
523__ZNK7WebCore6String15stripWhiteSpaceEv
524__ZNK7WebCore6String16removeCharactersEPFbtE
525__ZNK7WebCore6String17crossThreadStringEv
526__ZNK7WebCore6String18simplifyWhiteSpaceEv
527__ZNK7WebCore6String19characterStartingAtEj
528__ZNK7WebCore6String4utf8Ev
529__ZNK7WebCore6String5asciiEv
530__ZNK7WebCore6String5lowerEv
531__ZNK7WebCore6String5splitERKS0_RN3WTF6VectorIS0_Lm0EEE
532__ZNK7WebCore6String5splitERKS0_bRN3WTF6VectorIS0_Lm0EEE
533__ZNK7WebCore6String5splitEtRN3WTF6VectorIS0_Lm0EEE
534__ZNK7WebCore6String5splitEtbRN3WTF6VectorIS0_Lm0EEE
535__ZNK7WebCore6String5toIntEPb
536__ZNK7WebCore6String5upperEv
537__ZNK7WebCore6String6latin1Ev
538__ZNK7WebCore6String6toUIntEPb
539__ZNK7WebCore6String7toFloatEPb
540__ZNK7WebCore6String8foldCaseEv
541__ZNK7WebCore6String8toDoubleEPb
542__ZNK7WebCore6String8toIntPtrEPb
543__ZNK7WebCore6String8toUInt64EPb
544__ZNK7WebCore6String9substringEjj
545__ZTVN3JSC12StringObjectE
546__ZTVN3JSC14JSGlobalObjectE
547__ZTVN3JSC15JSWrapperObjectE
548__ZTVN3JSC16InternalFunctionE
549__ZTVN3JSC16JSVariableObjectE
550__ZTVN3JSC8DebuggerE
551__ZTVN3JSC8JSObjectE
552__ZTVN3JSC8JSStringE
553_jscore_fastmalloc_introspection
554_kJSClassDefinitionEmpty
Note: See TracBrowser for help on using the repository browser.