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

Last change on this file since 27467 was 27448, checked in by ggaren, 18 years ago

JavaScriptCore:

Reviewed by Darin Adler.


http://bugs.webkit.org/show_bug.cgi?id=15835

Switched List implementation from a custom heap allocator to an inline
Vector, for a disappointing .5% SunSpider speedup.


Also renamed List::slice to List::getSlice because "get" is the
conventional prefix for functions returning a value through an out
parameter.

  • kjs/array_object.cpp: (KJS::ArrayProtoFunc::callAsFunction): Removed some redundant function calls and memory accesses.
  • kjs/bool_object.cpp: (BooleanObjectImp::construct): Removed questionable use of iterator.
  • kjs/list.cpp:
  • kjs/list.h: New List class, implemented in terms of Vector. Two interesting differences:
    1. The inline capacity is 8, not 5. Many of the Lists constructed during a SunSpider run are larger than 5; almost none are larger than 8.
  1. The growth factor is 4, not 2. Since we can guarantee that Lists aren't long-lived, we can grow them more aggressively, to avoid excessive copying.
  • kjs/regexp_object.cpp: (RegExpObjectImp::construct): Removed redundant function calls.
  • kjs/string_object.cpp: (KJS::StringObjectImp::construct): Removed questionable use of iterator.
  • wtf/Vector.h: (WTF::::uncheckedAppend): Added a fast, unchecked version of append.

WebCore:

Reviewed by Darin Adler.


http://bugs.webkit.org/show_bug.cgi?id=15835

Small adaptations to new KJS::List class.

  • bindings/js/kjs_window.cpp: (KJS::WindowFunc::callAsFunction): (KJS::ScheduledAction::ScheduledAction):

WebKit:

Reviewed by Darin Adler.


http://bugs.webkit.org/show_bug.cgi?id=15835

Small adaptations to new KJS::List class.

  • ForwardingHeaders/kjs/value.h: Added.
File size: 10.6 KB
Line 
1_JSCheckScriptSyntax
2_JSClassCreate
3_JSClassRelease
4_JSClassRetain
5_JSContextGetGlobalObject
6_JSEvaluateScript
7_JSGarbageCollect
8_JSGlobalContextCreate
9_JSGlobalContextRelease
10_JSGlobalContextRetain
11_JSObjectCallAsConstructor
12_JSObjectCallAsFunction
13_JSObjectCopyPropertyNames
14_JSObjectDeleteProperty
15_JSObjectGetPrivate
16_JSObjectGetProperty
17_JSObjectGetPropertyAtIndex
18_JSObjectGetPrototype
19_JSObjectHasProperty
20_JSObjectIsConstructor
21_JSObjectIsFunction
22_JSObjectMake
23_JSObjectMakeConstructor
24_JSObjectMakeFunction
25_JSObjectMakeFunctionWithCallback
26_JSObjectSetPrivate
27_JSObjectSetProperty
28_JSObjectSetPropertyAtIndex
29_JSObjectSetPrototype
30_JSPropertyNameAccumulatorAddName
31_JSPropertyNameArrayGetCount
32_JSPropertyNameArrayGetNameAtIndex
33_JSPropertyNameArrayRelease
34_JSPropertyNameArrayRetain
35_JSStringCopyCFString
36_JSStringCreateWithCFString
37_JSStringCreateWithCharacters
38_JSStringCreateWithUTF8CString
39_JSStringGetCharactersPtr
40_JSStringGetLength
41_JSStringGetMaximumUTF8CStringSize
42_JSStringGetUTF8CString
43_JSStringIsEqual
44_JSStringIsEqualToUTF8CString
45_JSStringRelease
46_JSStringRetain
47_JSValueGetType
48_JSValueIsBoolean
49_JSValueIsEqual
50_JSValueIsInstanceOfConstructor
51_JSValueIsNull
52_JSValueIsNumber
53_JSValueIsObject
54_JSValueIsObjectOfClass
55_JSValueIsStrictEqual
56_JSValueIsString
57_JSValueIsUndefined
58_JSValueMakeBoolean
59_JSValueMakeNull
60_JSValueMakeNumber
61_JSValueMakeString
62_JSValueMakeUndefined
63_JSValueProtect
64_JSValueToBoolean
65_JSValueToNumber
66_JSValueToObject
67_JSValueToStringCopy
68_JSValueUnprotect
69_KJS_JSCreateNativeJSObject
70_KJS_JSObject_JSFinalize
71_KJS_JSObject_JSObjectCall
72_KJS_JSObject_JSObjectEval
73_KJS_JSObject_JSObjectGetMember
74_KJS_JSObject_JSObjectGetSlot
75_KJS_JSObject_JSObjectRemoveMember
76_KJS_JSObject_JSObjectSetMember
77_KJS_JSObject_JSObjectSetSlot
78_KJS_JSObject_JSObjectToString
79_WTFLog
80_WTFLogVerbose
81_WTFReportArgumentAssertionFailure
82_WTFReportAssertionFailure
83_WTFReportAssertionFailureWithMessage
84_WTFReportError
85_WTFReportFatalError
86__NPN_CreateObject
87__NPN_DeallocateObject
88__NPN_Enumerate
89__NPN_Evaluate
90__NPN_GetIntIdentifier
91__NPN_GetProperty
92__NPN_GetStringIdentifier
93__NPN_GetStringIdentifiers
94__NPN_IdentifierIsString
95__NPN_Invoke
96__NPN_InvokeDefault
97__NPN_ReleaseObject
98__NPN_ReleaseVariantValue
99__NPN_RemoveProperty
100__NPN_RetainObject
101__NPN_SetException
102__NPN_SetProperty
103__NPN_UTF8FromIdentifier
104__Z23_NPN_CreateScriptObjectP4_NPPPN3KJS8JSObjectEN3WTF10PassRefPtrINS1_8Bindings10RootObjectEEES8_
105__Z25_NPN_CreateNoScriptObjectv
106__ZN3KJS10Identifier11addSlowCaseEPNS_7UString3RepE
107__ZN3KJS10Identifier3addEPKNS_5UCharEi
108__ZN3KJS10Identifier3addEPKc
109__ZN3KJS10Identifier5equalEPKNS_7UString3RepEPKc
110__ZN3KJS10throwErrorEPNS_9ExecStateENS_9ErrorTypeE
111__ZN3KJS10throwErrorEPNS_9ExecStateENS_9ErrorTypeEPKc
112__ZN3KJS11Interpreter10globalExecEv
113__ZN3KJS11Interpreter11checkSyntaxERKNS_7UStringEiPKNS_5UCharEi
114__ZN3KJS11Interpreter11checkSyntaxERKNS_7UStringEiS3_
115__ZN3KJS11Interpreter15restoreBuiltinsERKNS_13SavedBuiltinsE
116__ZN3KJS11Interpreter16initGlobalObjectEv
117__ZN3KJS11Interpreter16stopTimeoutCheckEv
118__ZN3KJS11Interpreter17startTimeoutCheckEv
119__ZN3KJS11Interpreter21shouldPrintExceptionsEv
120__ZN3KJS11Interpreter24setShouldPrintExceptionsEb
121__ZN3KJS11Interpreter4markEv
122__ZN3KJS11Interpreter6s_hookE
123__ZN3KJS11Interpreter8evaluateERKNS_7UStringEiPKNS_5UCharEiPNS_7JSValueE
124__ZN3KJS11Interpreter8evaluateERKNS_7UStringEiS3_PNS_7JSValueE
125__ZN3KJS11InterpreterC1EPNS_14JSGlobalObjectE
126__ZN3KJS11InterpreterC1EPNS_14JSGlobalObjectE
127__ZN3KJS11InterpreterC1Ev
128__ZN3KJS11InterpreterC2EPNS_14JSGlobalObjectE
129__ZN3KJS11InterpreterD1Ev
130__ZN3KJS11InterpreterD2Ev
131__ZN3KJS11JSImmediate4typeEPKNS_7JSValueE
132__ZN3KJS11JSImmediate8toObjectEPKNS_7JSValueEPNS_9ExecStateE
133__ZN3KJS11JSImmediate8toStringEPKNS_7JSValueE
134__ZN3KJS11PropertyMap11getLocationERKNS_10IdentifierE
135__ZN3KJS11PropertyMap5clearEv
136__ZN3KJS11PropertyMap7restoreERKNS_15SavedPropertiesE
137__ZN3KJS11PropertyMapD1Ev
138__ZN3KJS12DateInstance4infoE
139__ZN3KJS12PropertySlot15undefinedGetterEPNS_9ExecStateEPNS_8JSObjectERKNS_10IdentifierERKS0_
140__ZN3KJS12jsNumberCellEd
141__ZN3KJS13ArrayInstance4infoE
142__ZN3KJS13SavedBuiltinsC1Ev
143__ZN3KJS13SavedBuiltinsD1Ev
144__ZN3KJS13jsOwnedStringERKNS_7UStringE
145__ZN3KJS14StringInstance14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
146__ZN3KJS14StringInstance16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayE
147__ZN3KJS14StringInstance18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
148__ZN3KJS14StringInstance18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
149__ZN3KJS14StringInstance3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEi
150__ZN3KJS14StringInstance4infoE
151__ZN3KJS14StringInstanceC1EPNS_8JSObjectERKNS_7UStringE
152__ZN3KJS14StringInstanceC2EPNS_8JSObjectERKNS_7UStringE
153__ZN3KJS15JSWrapperObject4markEv
154__ZN3KJS15SavedPropertiesC1Ev
155__ZN3KJS15SavedPropertiesD1Ev
156__ZN3KJS16RuntimeObjectImp4infoE
157__ZN3KJS16RuntimeObjectImpC1EPNS_8Bindings8InstanceE
158__ZN3KJS17PropertyNameArray3addERKNS_10IdentifierE
159__ZN3KJS19InternalFunctionImp4infoE
160__ZN3KJS19InternalFunctionImpC2EPNS_17FunctionPrototypeERKNS_10IdentifierE
161__ZN3KJS4List15expandAndAppendEPNS_7JSValueE
162__ZN3KJS4List7markSetEv
163__ZN3KJS6JSCell9getObjectEv
164__ZN3KJS6JSCellnwEm
165__ZN3KJS6JSLock12DropAllLocksC1Ev
166__ZN3KJS6JSLock12DropAllLocksD1Ev
167__ZN3KJS6JSLock14registerThreadEv
168__ZN3KJS6JSLock4lockEv
169__ZN3KJS6JSLock6unlockEv
170__ZN3KJS6JSLock9lockCountEv
171__ZN3KJS6Lookup9findEntryEPKNS_9HashTableERKNS_10IdentifierE
172__ZN3KJS6Parser11prettyPrintERKNS_7UStringEPiPS1_
173__ZN3KJS7CStringD1Ev
174__ZN3KJS7UString3Rep4nullE
175__ZN3KJS7UString3Rep7destroyEv
176__ZN3KJS7UString6appendERKS0_
177__ZN3KJS7UStringC1EPKNS_5UCharEi
178__ZN3KJS7UStringC1EPKc
179__ZN3KJS7UStringC1ERKS0_S2_
180__ZN3KJS7UStringaSEPKc
181__ZN3KJS8Bindings10RootObject10invalidateEv
182__ZN3KJS8Bindings10RootObject11gcUnprotectEPNS_8JSObjectE
183__ZN3KJS8Bindings10RootObject17_createRootObjectE
184__ZN3KJS8Bindings10RootObject19setCreateRootObjectEPFN3WTF10PassRefPtrIS1_EEPvE
185__ZN3KJS8Bindings10RootObject6createEPKvN3WTF10PassRefPtrINS_11InterpreterEEE
186__ZN3KJS8Bindings10RootObject9gcProtectEPNS_8JSObjectE
187__ZN3KJS8Bindings10RootObjectD1Ev
188__ZN3KJS8Bindings10throwErrorEPNS_9ExecStateENS_9ErrorTypeEP8NSString
189__ZN3KJS8Bindings23convertObjcValueToValueEPNS_9ExecStateEPvNS0_13ObjcValueTypeEPNS0_10RootObjectE
190__ZN3KJS8Bindings23convertValueToObjcValueEPNS_9ExecStateEPNS_7JSValueENS0_13ObjcValueTypeE
191__ZN3KJS8Bindings8Instance18didExecuteFunctionEv
192__ZN3KJS8Bindings8Instance21setDidExecuteFunctionEPFvPNS_9ExecStateEPNS_8JSObjectEE
193__ZN3KJS8Bindings8Instance32createBindingForLanguageInstanceENS1_15BindingLanguageEPvN3WTF10PassRefPtrINS0_10RootObjectEEE
194__ZN3KJS8Debugger12sourceUnusedEPNS_9ExecStateEi
195__ZN3KJS8Debugger6attachEPNS_11InterpreterE
196__ZN3KJS8Debugger9exceptionEPNS_9ExecStateEiiPNS_7JSValueE
197__ZN3KJS8DebuggerC2Ev
198__ZN3KJS8DebuggerD2Ev
199__ZN3KJS8JSObject11hasInstanceEPNS_9ExecStateEPNS_7JSValueE
200__ZN3KJS8JSObject12removeDirectERKNS_10IdentifierE
201__ZN3KJS8JSObject14callAsFunctionEPNS_9ExecStateEPS0_RKNS_4ListE
202__ZN3KJS8JSObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
203__ZN3KJS8JSObject14deletePropertyEPNS_9ExecStateEj
204__ZN3KJS8JSObject16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayE
205__ZN3KJS8JSObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
206__ZN3KJS8JSObject22fillGetterPropertySlotERNS_12PropertySlotEPPNS_7JSValueE
207__ZN3KJS8JSObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEi
208__ZN3KJS8JSObject3putEPNS_9ExecStateEjPNS_7JSValueEi
209__ZN3KJS8JSObject4callEPNS_9ExecStateEPS0_RKNS_4ListE
210__ZN3KJS8JSObject4markEv
211__ZN3KJS8JSObject9constructEPNS_9ExecStateERKNS_4ListE
212__ZN3KJS8JSObject9constructEPNS_9ExecStateERKNS_4ListERKNS_10IdentifierERKNS_7UStringEi
213__ZN3KJS8JSObject9putDirectERKNS_10IdentifierEPNS_7JSValueEi
214__ZN3KJS8JSObject9putDirectERKNS_10IdentifierEii
215__ZN3KJS8jsStringEPKc
216__ZN3KJS8jsStringERKNS_7UStringE
217__ZN3KJS9Collector15numInterpretersEv
218__ZN3KJS9Collector15recordExtraCostEm
219__ZN3KJS9Collector19numProtectedObjectsEv
220__ZN3KJS9Collector20rootObjectTypeCountsEv
221__ZN3KJS9Collector23collectOnMainThreadOnlyEPNS_7JSValueE
222__ZN3KJS9Collector4sizeEv
223__ZN3KJS9Collector7collectEv
224__ZN3KJS9Collector7protectEPNS_7JSValueE
225__ZN3KJS9Collector9unprotectEPNS_7JSValueE
226__ZN3KJSeqERKNS_7UStringEPKc
227__ZN3WTF10fastCallocEmm
228__ZN3WTF10fastMallocEm
229__ZN3WTF11fastReallocEPvm
230__ZN3WTF8fastFreeEPv
231__ZNK3KJS11Interpreter12builtinArrayEv
232__ZNK3KJS11Interpreter12globalObjectEv
233__ZNK3KJS11Interpreter12saveBuiltinsERNS_13SavedBuiltinsE
234__ZNK3KJS11Interpreter15builtinFunctionEv
235__ZNK3KJS11Interpreter22builtinObjectPrototypeEv
236__ZNK3KJS11Interpreter22builtinStringPrototypeEv
237__ZNK3KJS11Interpreter24builtinFunctionPrototypeEv
238__ZNK3KJS11PropertyMap3getERKNS_10IdentifierE
239__ZNK3KJS11PropertyMap4saveERNS_15SavedPropertiesE
240__ZNK3KJS12DateInstance7getTimeERdRi
241__ZNK3KJS13ArrayInstance7getItemEj
242__ZNK3KJS19InternalFunctionImp14implementsCallEv
243__ZNK3KJS19InternalFunctionImp21implementsHasInstanceEv
244__ZNK3KJS4List8getSliceEiRS0_
245__ZNK3KJS6JSCell17getTruncatedInt32ERi
246__ZNK3KJS6JSCell17getTruncatedInt32ERi
247__ZNK3KJS6JSCell18getTruncatedUInt32ERj
248__ZNK3KJS6JSCell18getTruncatedUInt32ERj
249__ZNK3KJS6JSCell9getNumberERd
250__ZNK3KJS6JSCell9getNumberEv
251__ZNK3KJS6JSCell9getStringERNS_7UStringE
252__ZNK3KJS6JSCell9getStringEv
253__ZNK3KJS6JSCell9getUInt32ERj
254__ZNK3KJS7JSValue15toInt32SlowCaseEPNS_9ExecStateERb
255__ZNK3KJS7JSValue16toUInt32SlowCaseEPNS_9ExecStateERb
256__ZNK3KJS7JSValue7toFloatEPNS_9ExecStateE
257__ZNK3KJS7JSValue9toIntegerEPNS_9ExecStateE
258__ZNK3KJS7UString10UTF8StringEv
259__ZNK3KJS7UString14toStrictUInt32EPb
260__ZNK3KJS7UString5asciiEv
261__ZNK3KJS7UString6is8BitEv
262__ZNK3KJS7UString8toUInt32EPb
263__ZNK3KJS7UString8toUInt32EPbb
264__ZNK3KJS8Bindings10RootObject11interpreterEv
265__ZNK3KJS8Bindings8Instance10rootObjectEv
266__ZNK3KJS8JSObject11hasPropertyEPNS_9ExecStateERKNS_10IdentifierE
267__ZNK3KJS8JSObject12defaultValueEPNS_9ExecStateENS_6JSTypeE
268__ZNK3KJS8JSObject14implementsCallEv
269__ZNK3KJS8JSObject18getPrimitiveNumberEPNS_9ExecStateERd
270__ZNK3KJS8JSObject18getPrimitiveNumberEPNS_9ExecStateERd
271__ZNK3KJS8JSObject19implementsConstructEv
272__ZNK3KJS8JSObject21implementsHasInstanceEv
273__ZNK3KJS8JSObject3getEPNS_9ExecStateERKNS_10IdentifierE
274__ZNK3KJS8JSObject3getEPNS_9ExecStateEj
275__ZNK3KJS8JSObject4typeEv
276__ZNK3KJS8JSObject6canPutEPNS_9ExecStateERKNS_10IdentifierE
277__ZNK3KJS8JSObject8toNumberEPNS_9ExecStateE
278__ZNK3KJS8JSObject8toObjectEPNS_9ExecStateE
279__ZNK3KJS8JSObject8toStringEPNS_9ExecStateE
280__ZNK3KJS8JSObject9classInfoEv
281__ZNK3KJS8JSObject9classNameEv
282__ZNK3KJS8JSObject9toBooleanEPNS_9ExecStateE
283__ZNK3KJS9ExecState18lexicalInterpreterEv
284__ZTVN3KJS14StringInstanceE
285__ZTVN3KJS15JSWrapperObjectE
286__ZTVN3KJS19InternalFunctionImpE
287__ZTVN3KJS8JSObjectE
288_jsRegExpCompile
289_jsRegExpExecute
290_jsRegExpFree
291_jscore_collector_introspection
292_jscore_fastmalloc_introspection
293_kJSClassDefinitionEmpty
294_kjs_strtod
Note: See TracBrowser for help on using the repository browser.