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

Last change on this file since 36821 was 36821, checked in by [email protected], 17 years ago

2008-09-23 Geoffrey Garen <[email protected]>

Reviewed by Darin Adler.


Changed the layout of the call frame from


{ header, parameters, locals | constants, temporaries }


to


{ parameters, header | locals, constants, temporaries }


This simplifies function entry+exit, and enables a number of future
optimizations.


13.5% speedup on empty call benchmark for bytecode; 23.6% speedup on
empty call benchmark for CTI.


SunSpider says no change. SunSpider --v8 says 1% faster.

  • VM/CTI.cpp:


Added a bit of abstraction for calculating whether a register is a
constant, since this patch changes that calculation:
(JSC::CTI::isConstant):
(JSC::CTI::getConstant):
(JSC::CTI::emitGetArg):
(JSC::CTI::emitGetPutArg):
(JSC::CTI::getConstantImmediateNumericArg):

Updated for changes to callframe header location:
(JSC::CTI::emitPutToCallFrameHeader):
(JSC::CTI::emitGetFromCallFrameHeader):
(JSC::CTI::printOpcodeOperandTypes):


Renamed to spite Oliver:
(JSC::CTI::emitInitRegister):


Added an abstraction for emitting a call through a register, so that
calls through registers generate exception info, too:
(JSC::CTI::emitCall):

Updated to match the new callframe header layout, and to support calls
through registers, which have no destination address:
(JSC::CTI::compileOpCall):
(JSC::CTI::privateCompileMainPass):
(JSC::CTI::privateCompileSlowCases):
(JSC::CTI::privateCompile):

  • VM/CTI.h:

More of the above:
(JSC::CallRecord::CallRecord):

  • VM/CodeBlock.cpp:

Updated for new register layout:
(JSC::registerName):
(JSC::CodeBlock::dump):

  • VM/CodeBlock.h:


Updated CodeBlock to track slightly different information about the
register frame, and tweaked the style of an ASSERT_NOT_REACHED.
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::getStubInfo):

  • VM/CodeGenerator.cpp:


Added some abstraction around constant register allocation, since this
patch changes it, changed codegen to account for the new callframe
layout, and added abstraction around register fetching code
that used to assume that all local registers lived at negative indices,
since vars now live at positive indices:
(JSC::CodeGenerator::generate):
(JSC::CodeGenerator::addVar):
(JSC::CodeGenerator::addGlobalVar):
(JSC::CodeGenerator::allocateConstants):
(JSC::CodeGenerator::CodeGenerator):
(JSC::CodeGenerator::addParameter):
(JSC::CodeGenerator::registerFor):
(JSC::CodeGenerator::constRegisterFor):
(JSC::CodeGenerator::newRegister):
(JSC::CodeGenerator::newTemporary):
(JSC::CodeGenerator::highestUsedRegister):
(JSC::CodeGenerator::addConstant):


ASSERT that our caller referenced the registers it passed to us.
Otherwise, we might overwrite them with parameters:
(JSC::CodeGenerator::emitCall):
(JSC::CodeGenerator::emitConstruct):

  • VM/CodeGenerator.h:


Added some abstraction for getting a RegisterID for a given index,
since the rules are a little weird:
(JSC::CodeGenerator::registerFor):

  • VM/Machine.cpp:

Utility function to transform a machine return PC to a virtual machine
return VPC, for the sake of stack unwinding, since both PCs are stored
in the same location now:
(JSC::vPCForPC):

Tweaked to account for new call frame:
(JSC::Machine::initializeCallFrame):


Tweaked to account for registerOffset supplied by caller:
(JSC::slideRegisterWindowForCall):

Tweaked to account for new register layout:
(JSC::scopeChainForCall):
(JSC::Machine::callEval):
(JSC::Machine::dumpRegisters):
(JSC::Machine::unwindCallFrame):
(JSC::Machine::execute):

Changed op_call and op_construct to implement the new calling convention:
(JSC::Machine::privateExecute):

Tweaked to account for the new register layout:
(JSC::Machine::retrieveArguments):
(JSC::Machine::retrieveCaller):
(JSC::Machine::retrieveLastCaller):
(JSC::Machine::callFrame):
(JSC::Machine::getArgumentsData):

Changed CTI call helpers to implement the new calling convention:
(JSC::Machine::cti_op_call_JSFunction):
(JSC::Machine::cti_op_call_NotJSFunction):
(JSC::Machine::cti_op_ret_activation):
(JSC::Machine::cti_op_ret_profiler):
(JSC::Machine::cti_op_construct_JSConstruct):
(JSC::Machine::cti_op_construct_NotJSConstruct):
(JSC::Machine::cti_op_call_eval):

  • VM/Machine.h:
  • VM/Opcode.h:


Renamed op_initialise_locals to op_init, because this opcode
doesn't initialize all locals, and it doesn't initialize only locals.
Also, to spite Oliver.


  • VM/RegisterFile.h:


New call frame enumeration values:
(JSC::RegisterFile::):

Simplified the calculation of whether a RegisterID is a temporary,
since we can no longer assume that all positive non-constant registers
are temporaries:

  • VM/RegisterID.h: (JSC::RegisterID::RegisterID): (JSC::RegisterID::setTemporary): (JSC::RegisterID::isTemporary):

Renamed firstArgumentIndex to firstParameterIndex because the assumption
that this variable pertained to the actual arguments supplied by the
caller caused me to write some buggy code:

  • kjs/Arguments.cpp: (JSC::ArgumentsData::ArgumentsData): (JSC::Arguments::Arguments): (JSC::Arguments::fillArgList): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::put):

Updated for new call frame layout:

  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::type):
  • kjs/DebuggerCallFrame.h:

Changed the activation object to account for the fact that a call frame
header now sits between parameters and local variables. This change
requires all variable objects to do their own marking, since they
now use their register storage differently:

  • kjs/JSActivation.cpp: (JSC::JSActivation::mark): (JSC::JSActivation::copyRegisters): (JSC::JSActivation::createArgumentsObject):
  • kjs/JSActivation.h:

Updated global object to use the new interfaces required by the change
to JSActivation above:

  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): (JSC::JSGlobalObject::mark): (JSC::JSGlobalObject::copyGlobalsFrom): (JSC::JSGlobalObject::copyGlobalsTo):
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::addStaticGlobals):

Updated static scope object to use the new interfaces required by the
change to JSActivation above:

  • kjs/JSStaticScopeObject.cpp: (JSC::JSStaticScopeObject::mark): (JSC::JSStaticScopeObject::~JSStaticScopeObject):
  • kjs/JSStaticScopeObject.h: (JSC::JSStaticScopeObject::JSStaticScopeObject): (JSC::JSStaticScopeObject::d):

Updated variable object to use the new interfaces required by the
change to JSActivation above:

  • kjs/JSVariableObject.cpp: (JSC::JSVariableObject::copyRegisterArray): (JSC::JSVariableObject::setRegisters):
  • kjs/JSVariableObject.h:

Changed the bit twiddling in symbol table not to assume that all indices
are negative, since they can be positive now:

  • kjs/SymbolTable.h: (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::isNull): (JSC::SymbolTableEntry::getIndex): (JSC::SymbolTableEntry::getAttributes): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::isReadOnly): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidIndex):

Changed call and construct nodes to ref their functions and/or bases,
so that emitCall/emitConstruct doesn't overwrite them with parameters.
Also, updated for rename to registerFor:

  • kjs/nodes.cpp: (JSC::ResolveNode::emitCode): (JSC::NewExprNode::emitCode): (JSC::EvalFunctionCallNode::emitCode): (JSC::FunctionCallValueNode::emitCode): (JSC::FunctionCallResolveNode::emitCode): (JSC::FunctionCallBracketNode::emitCode): (JSC::FunctionCallDotNode::emitCode): (JSC::PostfixResolveNode::emitCode): (JSC::DeleteResolveNode::emitCode): (JSC::TypeOfResolveNode::emitCode): (JSC::PrefixResolveNode::emitCode): (JSC::ReadModifyResolveNode::emitCode): (JSC::AssignResolveNode::emitCode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::ForInNode::emitCode):

Added abstraction for getting exception info out of a call through a
register:

  • masm/X86Assembler.h: (JSC::X86Assembler::emitCall):


Removed duplicate #if:

  • wtf/Platform.h:
  • Property svn:eol-style set to native
File size: 14.4 KB
Line 
1_JSCheckScriptSyntax
2_JSClassCreate
3_JSClassRelease
4_JSClassRetain
5_JSContextGetGlobalObject
6_JSContextGetGroup
7_JSContextGroupCreate
8_JSContextGroupRelease
9_JSContextGroupRetain
10_JSEndProfiling
11_JSEvaluateScript
12_JSGarbageCollect
13_JSGlobalContextCreate
14_JSGlobalContextCreateInGroup
15_JSGlobalContextRelease
16_JSGlobalContextRetain
17_JSObjectCallAsConstructor
18_JSObjectCallAsFunction
19_JSObjectCopyPropertyNames
20_JSObjectDeleteProperty
21_JSObjectGetPrivate
22_JSObjectGetProperty
23_JSObjectGetPropertyAtIndex
24_JSObjectGetPrototype
25_JSObjectHasProperty
26_JSObjectIsConstructor
27_JSObjectIsFunction
28_JSObjectMake
29_JSObjectMakeArray
30_JSObjectMakeConstructor
31_JSObjectMakeDate
32_JSObjectMakeError
33_JSObjectMakeFunction
34_JSObjectMakeFunctionWithCallback
35_JSObjectMakeRegExp
36_JSObjectSetPrivate
37_JSObjectSetProperty
38_JSObjectSetPropertyAtIndex
39_JSObjectSetPrototype
40_JSPropertyNameAccumulatorAddName
41_JSPropertyNameArrayGetCount
42_JSPropertyNameArrayGetNameAtIndex
43_JSPropertyNameArrayRelease
44_JSPropertyNameArrayRetain
45_JSStartProfiling
46_JSStringCopyCFString
47_JSStringCreateWithCFString
48_JSStringCreateWithCharacters
49_JSStringCreateWithUTF8CString
50_JSStringGetCharactersPtr
51_JSStringGetLength
52_JSStringGetMaximumUTF8CStringSize
53_JSStringGetUTF8CString
54_JSStringIsEqual
55_JSStringIsEqualToUTF8CString
56_JSStringRelease
57_JSStringRetain
58_JSValueGetType
59_JSValueIsBoolean
60_JSValueIsEqual
61_JSValueIsInstanceOfConstructor
62_JSValueIsNull
63_JSValueIsNumber
64_JSValueIsObject
65_JSValueIsObjectOfClass
66_JSValueIsStrictEqual
67_JSValueIsString
68_JSValueIsUndefined
69_JSValueMakeBoolean
70_JSValueMakeNull
71_JSValueMakeNumber
72_JSValueMakeString
73_JSValueMakeUndefined
74_JSValueProtect
75_JSValueToBoolean
76_JSValueToNumber
77_JSValueToObject
78_JSValueToStringCopy
79_JSValueUnprotect
80_WTFLog
81_WTFLogVerbose
82_WTFReportArgumentAssertionFailure
83_WTFReportAssertionFailure
84_WTFReportAssertionFailureWithMessage
85_WTFReportError
86_WTFReportFatalError
87__Z12jsRegExpFreeP8JSRegExp
88__Z15jsRegExpCompilePKti24JSRegExpIgnoreCaseOption23JSRegExpMultilineOptionPjPPKc
89__Z15jsRegExpExecutePK8JSRegExpPKtiiPii
90__ZN14OpaqueJSString6createERKN3JSC7UStringE
91__ZN3JSC10Identifier11addSlowCaseEPNS_12JSGlobalDataEPNS_7UString3RepE
92__ZN3JSC10Identifier11addSlowCaseEPNS_9ExecStateEPNS_7UString3RepE
93__ZN3JSC10Identifier24checkSameIdentifierTableEPNS_12JSGlobalDataEPNS_7UString3RepE
94__ZN3JSC10Identifier24checkSameIdentifierTableEPNS_9ExecStateEPNS_7UString3RepE
95__ZN3JSC10Identifier3addEPNS_9ExecStateEPKc
96__ZN3JSC10Identifier5equalEPKNS_7UString3RepEPKc
97__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeE
98__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeEPKc
99__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeERKNS_7UStringE
100__ZN3JSC11Interpreter11checkSyntaxEPNS_9ExecStateERKNS_7UStringEiS5_
101__ZN3JSC11Interpreter21shouldPrintExceptionsEv
102__ZN3JSC11Interpreter24setShouldPrintExceptionsEb
103__ZN3JSC11Interpreter8evaluateEPNS_9ExecStateERNS_10ScopeChainERKNS_7UStringEiN3WTF10PassRefPtrINS_14SourceProviderEEEPNS_7JSValueE
104__ZN3JSC11Interpreter8evaluateEPNS_9ExecStateERNS_10ScopeChainERKNS_7UStringEiS7_PNS_7JSValueE
105__ZN3JSC11JSImmediate12nonInlineNaNEv
106__ZN3JSC11JSImmediate8toObjectEPKNS_7JSValueEPNS_9ExecStateE
107__ZN3JSC11JSImmediate8toStringEPKNS_7JSValueE
108__ZN3JSC11JSImmediate9prototypeEPKNS_7JSValueEPNS_9ExecStateE
109__ZN3JSC11ProfileNode4sortEPFbRKN3WTF6RefPtrIS0_EES5_E
110__ZN3JSC11ProgramNode6createEPNS_12JSGlobalDataEPNS_14SourceElementsEPN3WTF6VectorISt4pairINS_10IdentifierEjELm16EEEPNS6_INS5_6RefPtrINS_12FuncDeclNodeEEELm16EEEPNS_14SourceProviderEbbi
111__ZN3JSC11PropertyMap3putERKNS_10IdentifierEPNS_7JSValueEjbPNS_8JSObjectERNS_15PutPropertySlotERPS5_
112__ZN3JSC11PropertyMap9getOffsetERKNS_10IdentifierE
113__ZN3JSC11PropertyMap9getOffsetERKNS_10IdentifierERj
114__ZN3JSC11PropertyMapD1Ev
115__ZN3JSC11StructureID21addPropertyTransitionEPS0_RKNS_10IdentifierEPNS_7JSValueEjPNS_8JSObjectERNS_15PutPropertySlotERPS6_
116__ZN3JSC11StructureID21clearEnumerationCacheEv
117__ZN3JSC11StructureID24fromDictionaryTransitionEPS0_
118__ZN3JSC11StructureID25changePrototypeTransitionEPS0_PNS_7JSValueE
119__ZN3JSC11StructureIDC1EPNS_7JSValueERKNS_8TypeInfoE
120__ZN3JSC11StructureIDD1Ev
121__ZN3JSC12DateInstance4infoE
122__ZN3JSC12JSGlobalData6createEv
123__ZN3JSC12JSGlobalDataD1Ev
124__ZN3JSC12SamplingTool4dumpEPNS_9ExecStateE
125__ZN3JSC12SamplingTool4stopEv
126__ZN3JSC12SamplingTool5startEj
127__ZN3JSC12SmallStrings17createEmptyStringEPNS_9ExecStateE
128__ZN3JSC12StringObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
129__ZN3JSC12StringObject14toThisJSStringEPNS_9ExecStateE
130__ZN3JSC12StringObject16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayE
131__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
132__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
133__ZN3JSC12StringObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
134__ZN3JSC12StringObject4infoE
135__ZN3JSC12StringObjectC2EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEERKNS_7UStringE
136__ZN3JSC12jsNumberCellEPNS_9ExecStateEd
137__ZN3JSC13CodeGenerator21setDumpsGeneratedCodeEb
138__ZN3JSC13StatementNode6setLocEii
139__ZN3JSC13jsOwnedStringEPNS_9ExecStateERKNS_7UStringE
140__ZN3JSC14JSGlobalObject10globalExecEv
141__ZN3JSC14JSGlobalObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectE
142__ZN3JSC14JSGlobalObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectE
143__ZN3JSC14JSGlobalObject14setTimeoutTimeEj
144__ZN3JSC14JSGlobalObject16stopTimeoutCheckEv
145__ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEj
146__ZN3JSC14JSGlobalObject17startTimeoutCheckEv
147__ZN3JSC14JSGlobalObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
148__ZN3JSC14JSGlobalObject4initEPNS_8JSObjectE
149__ZN3JSC14JSGlobalObject4markEv
150__ZN3JSC14JSGlobalObjectD2Ev
151__ZN3JSC14JSGlobalObjectnwEmPNS_12JSGlobalDataE
152__ZN3JSC14constructArrayEPNS_9ExecStateERKNS_7ArgListE
153__ZN3JSC15JSWrapperObject4markEv
154__ZN3JSC16InternalFunction4infoE
155__ZN3JSC16InternalFunctionC2EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEERKNS_10IdentifierE
156__ZN3JSC16JSVariableObject12setRegistersEPNS_8RegisterES2_m
157__ZN3JSC16JSVariableObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
158__ZN3JSC16JSVariableObject16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayE
159__ZN3JSC16ParserRefCounted3refEv
160__ZN3JSC16ParserRefCounted5derefEv
161__ZN3JSC17PropertyNameArray3addEPNS_7UString3RepE
162__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectESB_RKNS_7ArgListEE
163__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectES7_RKNS_7ArgListEE
164__ZN3JSC17constructFunctionEPNS_9ExecStateERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
165__ZN3JSC19constructEmptyArrayEPNS_9ExecStateE
166__ZN3JSC19initializeThreadingEv
167__ZN3JSC20constructEmptyObjectEPNS_9ExecStateE
168__ZN3JSC20staticFunctionGetterEPNS_9ExecStateERKNS_10IdentifierERKNS_12PropertySlotE
169__ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectEPNS_7JSValueERKNS_7ArgListE
170__ZN3JSC23setUpStaticFunctionSlotEPNS_9ExecStateEPKNS_9HashEntryEPNS_8JSObjectERKNS_10IdentifierERNS_12PropertySlotE
171__ZN3JSC4Heap14allocateNumberEm
172__ZN3JSC4Heap15recordExtraCostEm
173__ZN3JSC4Heap17globalObjectCountEv
174__ZN3JSC4Heap20protectedObjectCountEv
175__ZN3JSC4Heap24setGCProtectNeedsLockingEv
176__ZN3JSC4Heap25protectedObjectTypeCountsEv
177__ZN3JSC4Heap26protectedGlobalObjectCountEv
178__ZN3JSC4Heap4heapEPKNS_7JSValueE
179__ZN3JSC4Heap4sizeEv
180__ZN3JSC4Heap7collectEv
181__ZN3JSC4Heap7protectEPNS_7JSValueE
182__ZN3JSC4Heap8allocateEm
183__ZN3JSC4Heap9unprotectEPNS_7JSValueE
184__ZN3JSC4callEPNS_9ExecStateEPNS_7JSValueENS_8CallTypeERKNS_8CallDataES3_RKNS_7ArgListE
185__ZN3JSC5equalEPKNS_7UString3RepES3_
186__ZN3JSC6JSCell11getCallDataERNS_8CallDataE
187__ZN3JSC6JSCell11getJSNumberEv
188__ZN3JSC6JSCell14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
189__ZN3JSC6JSCell14deletePropertyEPNS_9ExecStateEj
190__ZN3JSC6JSCell14toThisJSStringEPNS_9ExecStateE
191__ZN3JSC6JSCell16getConstructDataERNS_13ConstructDataE
192__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
193__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
194__ZN3JSC6JSCell3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
195__ZN3JSC6JSCell3putEPNS_9ExecStateEjPNS_7JSValueE
196__ZN3JSC6JSCell9getObjectEv
197__ZN3JSC6JSCellnwEmPNS_9ExecStateE
198__ZN3JSC6JSLock12DropAllLocksC1EPNS_9ExecStateE
199__ZN3JSC6JSLock12DropAllLocksC1Eb
200__ZN3JSC6JSLock12DropAllLocksD1Ev
201__ZN3JSC6JSLock4lockEb
202__ZN3JSC6JSLock6unlockEb
203__ZN3JSC6JSLock9lockCountEv
204__ZN3JSC6JSLockC1EPNS_9ExecStateE
205__ZN3JSC6Parser5parseEPNS_9ExecStateERKNS_7UStringEiN3WTF10PassRefPtrINS_14SourceProviderEEEPiSA_PS3_
206__ZN3JSC6strtodEPKcPPc
207__ZN3JSC7ArgList10slowAppendEPNS_7JSValueE
208__ZN3JSC7CStringD1Ev
209__ZN3JSC7CStringaSERKS0_
210__ZN3JSC7JSArray4infoE
211__ZN3JSC7Profile10restoreAllEv
212__ZN3JSC7Profile5focusEPKNS_11ProfileNodeE
213__ZN3JSC7Profile7excludeEPKNS_11ProfileNodeE
214__ZN3JSC7Profile7forEachEMNS_11ProfileNodeEFvvE
215__ZN3JSC7UString3Rep11computeHashEPKti
216__ZN3JSC7UString3Rep4nullE
217__ZN3JSC7UString3Rep7destroyEv
218__ZN3JSC7UString4fromEj
219__ZN3JSC7UString6appendEPKc
220__ZN3JSC7UString6appendERKS0_
221__ZN3JSC7UStringC1EPKc
222__ZN3JSC7UStringC1EPKti
223__ZN3JSC7UStringaSEPKc
224__ZN3JSC8Debugger6attachEPNS_14JSGlobalObjectE
225__ZN3JSC8Debugger6detachEPNS_14JSGlobalObjectE
226__ZN3JSC8DebuggerC2Ev
227__ZN3JSC8DebuggerD2Ev
228__ZN3JSC8JSObject11hasInstanceEPNS_9ExecStateEPNS_7JSValueES4_
229__ZN3JSC8JSObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPS0_
230__ZN3JSC8JSObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPS0_
231__ZN3JSC8JSObject12lookupGetterEPNS_9ExecStateERKNS_10IdentifierE
232__ZN3JSC8JSObject12lookupSetterEPNS_9ExecStateERKNS_10IdentifierE
233__ZN3JSC8JSObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
234__ZN3JSC8JSObject14deletePropertyEPNS_9ExecStateEj
235__ZN3JSC8JSObject16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayE
236__ZN3JSC8JSObject17createInheritorIDEv
237__ZN3JSC8JSObject17putDirectFunctionEPNS_9ExecStateEPNS_16InternalFunctionEj
238__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEj
239__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateEjPNS_7JSValueEj
240__ZN3JSC8JSObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
241__ZN3JSC8JSObject18getPrimitiveNumberEPNS_9ExecStateERdRPNS_7JSValueE
242__ZN3JSC8JSObject22fillGetterPropertySlotERNS_12PropertySlotEPPNS_7JSValueE
243__ZN3JSC8JSObject23allocatePropertyStorageEmm
244__ZN3JSC8JSObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
245__ZN3JSC8JSObject3putEPNS_9ExecStateEjPNS_7JSValueE
246__ZN3JSC8JSObject4markEv
247__ZN3JSC8Profiler13stopProfilingEPNS_9ExecStateERKNS_7UStringE
248__ZN3JSC8Profiler14startProfilingEPNS_9ExecStateERKNS_7UStringE
249__ZN3JSC8Profiler8profilerEv
250__ZN3JSC8jsStringEPNS_9ExecStateERKNS_7UStringE
251__ZN3JSC9CodeBlockD1Ev
252__ZN3JSC9CodeBlockD2Ev
253__ZN3JSC9constructEPNS_9ExecStateEPNS_7JSValueENS_13ConstructTypeERKNS_13ConstructDataERKNS_7ArgListE
254__ZN3JSCeqERKNS_7UStringEPKc
255__ZN3JSCgtERKNS_7UStringES2_
256__ZN3JSCltERKNS_7UStringES2_
257__ZN3WTF10fastCallocEmm
258__ZN3WTF10fastMallocEm
259__ZN3WTF11fastReallocEPvm
260__ZN3WTF12createThreadEPFPvS0_ES0_
261__ZN3WTF12createThreadEPFPvS0_ES0_PKc
262__ZN3WTF12detachThreadEj
263__ZN3WTF12isMainThreadEv
264__ZN3WTF13currentThreadEv
265__ZN3WTF13tryFastCallocEmm
266__ZN3WTF15ThreadCondition4waitERNS_5MutexE
267__ZN3WTF15ThreadCondition6signalEv
268__ZN3WTF15ThreadCondition9broadcastEv
269__ZN3WTF15ThreadConditionC1Ev
270__ZN3WTF15ThreadConditionD1Ev
271__ZN3WTF16callOnMainThreadEPFvPvES0_
272__ZN3WTF16fastZeroedMallocEm
273__ZN3WTF19initializeThreadingEv
274__ZN3WTF21RefCountedLeakCounter16suppressMessagesEPKc
275__ZN3WTF21RefCountedLeakCounter24cancelMessageSuppressionEPKc
276__ZN3WTF21RefCountedLeakCounter9decrementEv
277__ZN3WTF21RefCountedLeakCounter9incrementEv
278__ZN3WTF21RefCountedLeakCounterC1EPKc
279__ZN3WTF21RefCountedLeakCounterD1Ev
280__ZN3WTF23waitForThreadCompletionEjPPv
281__ZN3WTF27releaseFastMallocFreeMemoryEv
282__ZN3WTF28setMainThreadCallbacksPausedEb
283__ZN3WTF5Mutex4lockEv
284__ZN3WTF5Mutex6unlockEv
285__ZN3WTF5Mutex7tryLockEv
286__ZN3WTF5MutexC1Ev
287__ZN3WTF5MutexD1Ev
288__ZN3WTF7Unicode18convertUTF16ToUTF8EPPKtS2_PPcS4_b
289__ZN3WTF8Collator18setOrderLowerFirstEb
290__ZN3WTF8CollatorC1EPKc
291__ZN3WTF8CollatorD1Ev
292__ZN3WTF8fastFreeEPv
293__ZNK3JSC12DateInstance7getTimeERdRi
294__ZNK3JSC12StringObject12toThisStringEPNS_9ExecStateE
295__ZNK3JSC12StringObject8toStringEPNS_9ExecStateE
296__ZNK3JSC14JSGlobalObject14isDynamicScopeEv
297__ZNK3JSC14JSGlobalObject14toGlobalObjectEPNS_9ExecStateE
298__ZNK3JSC16JSVariableObject16isVariableObjectEv
299__ZNK3JSC16JSVariableObject21getPropertyAttributesEPNS_9ExecStateERKNS_10IdentifierERj
300__ZNK3JSC17DebuggerCallFrame10thisObjectEv
301__ZNK3JSC17DebuggerCallFrame12functionNameEv
302__ZNK3JSC17DebuggerCallFrame4typeEv
303__ZNK3JSC17DebuggerCallFrame8evaluateERKNS_7UStringERPNS_7JSValueE
304__ZNK3JSC4Node8toStringEv
305__ZNK3JSC6JSCell12toThisObjectEPNS_9ExecStateE
306__ZNK3JSC6JSCell12toThisStringEPNS_9ExecStateE
307__ZNK3JSC6JSCell14isGetterSetterEv
308__ZNK3JSC6JSCell17getTruncatedInt32ERi
309__ZNK3JSC6JSCell18getTruncatedUInt32ERj
310__ZNK3JSC6JSCell9classInfoEv
311__ZNK3JSC6JSCell9getNumberEv
312__ZNK3JSC6JSCell9getStringERNS_7UStringE
313__ZNK3JSC6JSCell9getStringEv
314__ZNK3JSC6JSCell9getUInt32ERj
315__ZNK3JSC7ArgList8getSliceEiRS0_
316__ZNK3JSC7JSValue15toInt32SlowCaseEPNS_9ExecStateERb
317__ZNK3JSC7JSValue16toUInt32SlowCaseEPNS_9ExecStateERb
318__ZNK3JSC7JSValue7toFloatEPNS_9ExecStateE
319__ZNK3JSC7JSValue9toIntegerEPNS_9ExecStateE
320__ZNK3JSC7Machine18retrieveLastCallerEPNS_9ExecStateERiS3_RNS_7UStringERPNS_7JSValueE
321__ZNK3JSC7UString10UTF8StringEb
322__ZNK3JSC7UString14toStrictUInt32EPb
323__ZNK3JSC7UString5asciiEv
324__ZNK3JSC7UString6is8BitEv
325__ZNK3JSC7UString6substrEii
326__ZNK3JSC7UString8toUInt32EPb
327__ZNK3JSC7UString8toUInt32EPbb
328__ZNK3JSC8JSObject11hasPropertyEPNS_9ExecStateERKNS_10IdentifierE
329__ZNK3JSC8JSObject11hasPropertyEPNS_9ExecStateEj
330__ZNK3JSC8JSObject12defaultValueEPNS_9ExecStateENS_7JSValue22PreferredPrimitiveTypeE
331__ZNK3JSC8JSObject12toThisObjectEPNS_9ExecStateE
332__ZNK3JSC8JSObject14toGlobalObjectEPNS_9ExecStateE
333__ZNK3JSC8JSObject21getPropertyAttributesEPNS_9ExecStateERKNS_10IdentifierERj
334__ZNK3JSC8JSObject8toNumberEPNS_9ExecStateE
335__ZNK3JSC8JSObject8toObjectEPNS_9ExecStateE
336__ZNK3JSC8JSObject8toStringEPNS_9ExecStateE
337__ZNK3JSC8JSObject9classNameEv
338__ZNK3JSC8JSObject9toBooleanEPNS_9ExecStateE
339__ZNK3JSC9CodeBlock17derefStructureIDsEPNS_11InstructionE
340__ZNK3JSC9HashTable11createTableEPNS_12JSGlobalDataE
341__ZNK3WTF8Collator7collateEPKtmS2_m
342__ZTVN3JSC12JSNumberCellE
343__ZTVN3JSC12StringObjectE
344__ZTVN3JSC14JSGlobalObjectE
345__ZTVN3JSC15JSWrapperObjectE
346__ZTVN3JSC16InternalFunctionE
347__ZTVN3JSC16JSVariableObjectE
348__ZTVN3JSC8JSObjectE
349__ZTVN3JSC8JSStringE
350_jscore_fastmalloc_introspection
351_kJSClassDefinitionEmpty
Note: See TracBrowser for help on using the repository browser.