Skip to content

Commit ce9f08e

Browse files
author
Andreas Kling
committed
Static hash tables no longer need to be coupled with a VM.
<https://webkit.org/b/135421> Source/JavaScriptCore: Now that the static hash tables are using char** instead of StringImpl**, it's no longer necessary to make them per-VM. This patch removes the hook in ClassInfo for providing your own static hash table getter. Everyone now uses ClassInfo::staticPropHashTable. Most of this patch is tweaking ClassInfo construction sites to pass one less null pointer. Also simplified Lookup.h to stop requiring ExecState/VM to access the static hash tables. Reviewed by Geoffrey Garen. * API/JSAPIWrapperObject.mm: * API/JSCallbackConstructor.cpp: * API/JSCallbackFunction.cpp: * API/JSCallbackObject.cpp: * API/ObjCCallbackFunction.mm: * bytecode/UnlinkedCodeBlock.cpp: * create_hash_table: * debugger/DebuggerScope.cpp: * inspector/JSInjectedScriptHost.cpp: * inspector/JSInjectedScriptHostPrototype.cpp: * inspector/JSJavaScriptCallFrame.cpp: * inspector/JSJavaScriptCallFramePrototype.cpp: * interpreter/CallFrame.h: (JSC::ExecState::arrayConstructorTable): Deleted. (JSC::ExecState::arrayPrototypeTable): Deleted. (JSC::ExecState::booleanPrototypeTable): Deleted. (JSC::ExecState::dataViewTable): Deleted. (JSC::ExecState::dateTable): Deleted. (JSC::ExecState::dateConstructorTable): Deleted. (JSC::ExecState::errorPrototypeTable): Deleted. (JSC::ExecState::globalObjectTable): Deleted. (JSC::ExecState::jsonTable): Deleted. (JSC::ExecState::numberConstructorTable): Deleted. (JSC::ExecState::numberPrototypeTable): Deleted. (JSC::ExecState::objectConstructorTable): Deleted. (JSC::ExecState::privateNamePrototypeTable): Deleted. (JSC::ExecState::regExpTable): Deleted. (JSC::ExecState::regExpConstructorTable): Deleted. (JSC::ExecState::regExpPrototypeTable): Deleted. (JSC::ExecState::stringConstructorTable): Deleted. (JSC::ExecState::promisePrototypeTable): Deleted. (JSC::ExecState::promiseConstructorTable): Deleted. * jsc.cpp: * parser/Lexer.h: (JSC::Keywords::isKeyword): (JSC::Keywords::getKeyword): * runtime/Arguments.cpp: * runtime/ArgumentsIteratorConstructor.cpp: * runtime/ArgumentsIteratorPrototype.cpp: * runtime/ArrayBufferNeuteringWatchpoint.cpp: * runtime/ArrayConstructor.cpp: (JSC::ArrayConstructor::getOwnPropertySlot): * runtime/ArrayIteratorConstructor.cpp: * runtime/ArrayIteratorPrototype.cpp: * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::getOwnPropertySlot): * runtime/BooleanConstructor.cpp: * runtime/BooleanObject.cpp: * runtime/BooleanPrototype.cpp: (JSC::BooleanPrototype::getOwnPropertySlot): * runtime/ClassInfo.h: (JSC::ClassInfo::hasStaticProperties): (JSC::ClassInfo::propHashTable): Deleted. * runtime/ConsolePrototype.cpp: * runtime/CustomGetterSetter.cpp: * runtime/DateConstructor.cpp: (JSC::DateConstructor::getOwnPropertySlot): * runtime/DateInstance.cpp: * runtime/DatePrototype.cpp: (JSC::DatePrototype::getOwnPropertySlot): * runtime/Error.cpp: * runtime/ErrorConstructor.cpp: * runtime/ErrorInstance.cpp: * runtime/ErrorPrototype.cpp: (JSC::ErrorPrototype::getOwnPropertySlot): * runtime/ExceptionHelpers.cpp: * runtime/Executable.cpp: * runtime/FunctionConstructor.cpp: * runtime/FunctionPrototype.cpp: * runtime/GetterSetter.cpp: * runtime/InternalFunction.cpp: * runtime/JSAPIValueWrapper.cpp: * runtime/JSActivation.cpp: * runtime/JSArgumentsIterator.cpp: * runtime/JSArray.cpp: * runtime/JSArrayBuffer.cpp: * runtime/JSArrayBufferConstructor.cpp: * runtime/JSArrayBufferPrototype.cpp: * runtime/JSArrayBufferView.cpp: * runtime/JSArrayIterator.cpp: * runtime/JSBoundFunction.cpp: * runtime/JSConsole.cpp: * runtime/JSDataView.cpp: * runtime/JSDataViewPrototype.cpp: (JSC::JSDataViewPrototype::getOwnPropertySlot): * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::getOwnPropertySlot): * runtime/JSMap.cpp: * runtime/JSMapIterator.cpp: * runtime/JSNameScope.cpp: * runtime/JSNotAnObject.cpp: * runtime/JSONObject.cpp: (JSC::JSONObject::getOwnPropertySlot): * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::put): (JSC::JSObject::deleteProperty): (JSC::JSObject::findPropertyHashEntry): (JSC::JSObject::reifyStaticFunctionsForDelete): * runtime/JSObject.h: * runtime/JSPromise.cpp: * runtime/JSPromiseConstructor.cpp: (JSC::JSPromiseConstructor::getOwnPropertySlot): * runtime/JSPromiseDeferred.cpp: * runtime/JSPromisePrototype.cpp: (JSC::JSPromisePrototype::getOwnPropertySlot): * runtime/JSPromiseReaction.cpp: * runtime/JSPropertyNameIterator.cpp: * runtime/JSProxy.cpp: * runtime/JSSet.cpp: * runtime/JSSetIterator.cpp: * runtime/JSString.cpp: * runtime/JSTypedArrayConstructors.cpp: * runtime/JSTypedArrayPrototypes.cpp: * runtime/JSTypedArrays.cpp: * runtime/JSVariableObject.cpp: * runtime/JSWeakMap.cpp: * runtime/JSWithScope.cpp: * runtime/Lookup.cpp: (JSC::HashTable::createTable): * runtime/Lookup.h: (JSC::HashTable::initializeIfNeeded): (JSC::HashTable::entry): (JSC::HashTable::begin): (JSC::HashTable::end): (JSC::getStaticPropertySlot): (JSC::getStaticFunctionSlot): (JSC::getStaticValueSlot): (JSC::lookupPut): * runtime/MapConstructor.cpp: * runtime/MapData.cpp: * runtime/MapIteratorConstructor.cpp: * runtime/MapIteratorPrototype.cpp: * runtime/MapPrototype.cpp: * runtime/MathObject.cpp: * runtime/NameConstructor.cpp: * runtime/NameInstance.cpp: * runtime/NamePrototype.cpp: (JSC::NamePrototype::getOwnPropertySlot): * runtime/NativeErrorConstructor.cpp: * runtime/NumberConstructor.cpp: (JSC::NumberConstructor::getOwnPropertySlot): * runtime/NumberObject.cpp: * runtime/NumberPrototype.cpp: (JSC::NumberPrototype::getOwnPropertySlot): * runtime/ObjectConstructor.cpp: (JSC::ObjectConstructor::getOwnPropertySlot): * runtime/ObjectPrototype.cpp: * runtime/PropertyTable.cpp: * runtime/RegExp.cpp: * runtime/RegExpConstructor.cpp: (JSC::RegExpConstructor::getOwnPropertySlot): * runtime/RegExpMatchesArray.cpp: * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): * runtime/RegExpPrototype.cpp: (JSC::RegExpPrototype::getOwnPropertySlot): * runtime/SetConstructor.cpp: * runtime/SetIteratorConstructor.cpp: * runtime/SetIteratorPrototype.cpp: * runtime/SetPrototype.cpp: * runtime/SparseArrayValueMap.cpp: * runtime/StrictEvalActivation.cpp: * runtime/StringConstructor.cpp: (JSC::StringConstructor::getOwnPropertySlot): * runtime/StringObject.cpp: * runtime/StringPrototype.cpp: * runtime/Structure.cpp: (JSC::Structure::Structure): (JSC::Structure::freezeTransition): (JSC::ClassInfo::hasStaticSetterOrReadonlyProperties): * runtime/StructureChain.cpp: * runtime/StructureRareData.cpp: * runtime/SymbolTable.cpp: * runtime/VM.cpp: (JSC::VM::VM): (JSC::VM::~VM): * runtime/VM.h: * runtime/WeakMapConstructor.cpp: * runtime/WeakMapData.cpp: * runtime/WeakMapPrototype.cpp: * testRegExp.cpp: Source/WebCore: Update for JSC::ClassInfo changes. Remove the JSNoStaticTables mode for IDL code generation, which was used to ensure that each VM had its own unique copy of certain static tables. This was used for interfaces that could be used in workers, and now there's no need to manually annotate these things anymore. Also remove the DOMObjectHashTableMap class that was only used for this. Reviewed by Geoffrey Garen. * Modules/indexeddb/IDBAny.idl: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBCursorWithValue.idl: * Modules/indexeddb/IDBDatabase.idl: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBOpenDBRequest.idl: * Modules/indexeddb/IDBRequest.idl: * Modules/indexeddb/IDBTransaction.idl: * Modules/indexeddb/IDBVersionChangeEvent.idl: * Modules/webdatabase/Database.idl: * Modules/webdatabase/DatabaseSync.idl: * Modules/webdatabase/SQLError.idl: * Modules/webdatabase/SQLException.idl: * Modules/webdatabase/SQLResultSet.idl: * Modules/webdatabase/SQLResultSetRowList.idl: * Modules/webdatabase/SQLTransaction.idl: * Modules/webdatabase/SQLTransactionSync.idl: * Modules/websockets/CloseEvent.idl: * Modules/websockets/WebSocket.idl: * WebCore.xcodeproj/project.pbxproj: * bindings/js/DOMObjectHashTableMap.cpp: Removed. * bindings/js/DOMObjectHashTableMap.h: Removed. * bindings/js/JSDOMBinding.cpp: (WebCore::getHashTableForGlobalData): Deleted. * bindings/js/JSDOMBinding.h: (WebCore::getStaticValueSlotEntryWithoutCaching): * bindings/js/JSDOMGlobalObject.cpp: * bindings/js/JSDOMWindowBase.cpp: * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::put): * bindings/js/JSDOMWindowShell.cpp: * bindings/js/JSImageConstructor.cpp: * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::putDelegate): * bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::deleteProperty): (WebCore::JSStorage::putDelegate): * bindings/js/JSWorkerGlobalScopeBase.cpp: * bindings/js/WebCoreJSClientData.h: * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlotBody): (GenerateImplementation): (GenerateConstructorHelperMethods): (hashTableAccessor): Deleted. (prototypeHashTableAccessor): Deleted. (constructorHashTableAccessor): Deleted. * bindings/scripts/IDLAttributes.txt: * bridge/c/CRuntimeObject.cpp: * bridge/c/c_instance.cpp: * bridge/objc/ObjCRuntimeObject.mm: * bridge/objc/objc_instance.mm: * bridge/objc/objc_runtime.mm: * bridge/runtime_array.cpp: * bridge/runtime_method.cpp: * bridge/runtime_object.cpp: * crypto/CryptoKey.idl: * css/CSSFontFaceLoadEvent.idl: * dom/DOMCoreException.idl: * dom/DOMStringList.idl: * dom/ErrorEvent.idl: * dom/Event.idl: * dom/EventException.idl: * dom/EventListener.idl: * dom/MessageChannel.idl: * dom/MessageEvent.idl: * dom/MessagePort.idl: * dom/ProgressEvent.idl: * fileapi/Blob.idl: * fileapi/File.idl: * fileapi/FileError.idl: * fileapi/FileException.idl: * fileapi/FileList.idl: * fileapi/FileReader.idl: * fileapi/FileReaderSync.idl: * html/DOMURL.idl: * page/EventSource.idl: * page/WorkerNavigator.idl: * workers/DedicatedWorkerGlobalScope.idl: * workers/SharedWorkerGlobalScope.idl: * workers/WorkerGlobalScope.idl: * workers/WorkerLocation.idl: * xml/XMLHttpRequest.idl: * xml/XMLHttpRequestException.idl: * xml/XMLHttpRequestProgressEvent.idl: * xml/XMLHttpRequestUpload.idl: Source/WebKit/mac: Reviewed by Geoffrey Garen. * Plugins/Hosted/ProxyInstance.mm: * Plugins/Hosted/ProxyRuntimeObject.mm: Source/WebKit2: Reviewed by Geoffrey Garen. * WebProcess/Plugins/Netscape/JSNPMethod.cpp: * WebProcess/Plugins/Netscape/JSNPObject.cpp: Canonical link: https://commits.webkit.org/153310@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@171824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 2e1b68b commit ce9f08e

228 files changed

Lines changed: 664 additions & 693 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎Source/JavaScriptCore/API/JSAPIWrapperObject.mm‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
namespace JSC {
7070

71-
template <> const ClassInfo JSCallbackObject<JSAPIWrapperObject>::s_info = { "JSAPIWrapperObject", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
71+
template <> const ClassInfo JSCallbackObject<JSAPIWrapperObject>::s_info = { "JSAPIWrapperObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
7272

7373
template<> const bool JSCallbackObject<JSAPIWrapperObject>::needsDestruction = true;
7474

‎Source/JavaScriptCore/API/JSCallbackConstructor.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
namespace JSC {
3939

40-
const ClassInfo JSCallbackConstructor::s_info = { "CallbackConstructor", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSCallbackConstructor) };
40+
const ClassInfo JSCallbackConstructor::s_info = { "CallbackConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallbackConstructor) };
4141

4242
JSCallbackConstructor::JSCallbackConstructor(JSGlobalObject* globalObject, Structure* structure, JSClassRef jsClass, JSObjectCallAsConstructorCallback callback)
4343
: JSDestructibleObject(globalObject->vm(), structure)

‎Source/JavaScriptCore/API/JSCallbackFunction.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ namespace JSC {
4242

4343
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSCallbackFunction);
4444

45-
const ClassInfo JSCallbackFunction::s_info = { "CallbackFunction", &InternalFunction::s_info, 0, 0, CREATE_METHOD_TABLE(JSCallbackFunction) };
45+
const ClassInfo JSCallbackFunction::s_info = { "CallbackFunction", &InternalFunction::s_info, 0, CREATE_METHOD_TABLE(JSCallbackFunction) };
4646

4747
JSCallbackFunction::JSCallbackFunction(VM& vm, Structure* structure, JSObjectCallAsFunctionCallback callback)
4848
: InternalFunction(vm, structure)

‎Source/JavaScriptCore/API/JSCallbackObject.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
namespace JSC {
3535

3636
// Define the two types of JSCallbackObjects we support.
37-
template <> const ClassInfo JSCallbackObject<JSDestructibleObject>::s_info = { "CallbackObject", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
38-
template <> const ClassInfo JSCallbackObject<JSGlobalObject>::s_info = { "CallbackGlobalObject", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
37+
template <> const ClassInfo JSCallbackObject<JSDestructibleObject>::s_info = { "CallbackObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
38+
template <> const ClassInfo JSCallbackObject<JSGlobalObject>::s_info = { "CallbackGlobalObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
3939

4040
template<> const bool JSCallbackObject<JSDestructibleObject>::needsDestruction = true;
4141
template<> const bool JSCallbackObject<JSGlobalObject>::needsDestruction = false;

‎Source/JavaScriptCore/API/ObjCCallbackFunction.mm‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ static JSObjectRef objCCallbackFunctionCallAsConstructor(JSContextRef callerCont
501501
return (JSObjectRef)result;
502502
}
503503

504-
const JSC::ClassInfo ObjCCallbackFunction::s_info = { "CallbackFunction", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(ObjCCallbackFunction) };
504+
const JSC::ClassInfo ObjCCallbackFunction::s_info = { "CallbackFunction", &Base::s_info, 0, CREATE_METHOD_TABLE(ObjCCallbackFunction) };
505505

506506
ObjCCallbackFunction::ObjCCallbackFunction(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSObjectCallAsFunctionCallback functionCallback, JSObjectCallAsConstructorCallback constructCallback, PassOwnPtr<ObjCCallbackFunctionImpl> impl)
507507
: Base(vm, globalObject->objcCallbackFunctionStructure())

‎Source/JavaScriptCore/ChangeLog‎

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,205 @@
1+
2014-07-30 Andreas Kling <akling@apple.com>
2+
3+
Static hash tables no longer need to be coupled with a VM.
4+
<https://webkit.org/b/135421>
5+
6+
Now that the static hash tables are using char** instead of StringImpl**,
7+
it's no longer necessary to make them per-VM.
8+
9+
This patch removes the hook in ClassInfo for providing your own static
10+
hash table getter. Everyone now uses ClassInfo::staticPropHashTable.
11+
Most of this patch is tweaking ClassInfo construction sites to pass one
12+
less null pointer.
13+
14+
Also simplified Lookup.h to stop requiring ExecState/VM to access the
15+
static hash tables.
16+
17+
Reviewed by Geoffrey Garen.
18+
19+
* API/JSAPIWrapperObject.mm:
20+
* API/JSCallbackConstructor.cpp:
21+
* API/JSCallbackFunction.cpp:
22+
* API/JSCallbackObject.cpp:
23+
* API/ObjCCallbackFunction.mm:
24+
* bytecode/UnlinkedCodeBlock.cpp:
25+
* create_hash_table:
26+
* debugger/DebuggerScope.cpp:
27+
* inspector/JSInjectedScriptHost.cpp:
28+
* inspector/JSInjectedScriptHostPrototype.cpp:
29+
* inspector/JSJavaScriptCallFrame.cpp:
30+
* inspector/JSJavaScriptCallFramePrototype.cpp:
31+
* interpreter/CallFrame.h:
32+
(JSC::ExecState::arrayConstructorTable): Deleted.
33+
(JSC::ExecState::arrayPrototypeTable): Deleted.
34+
(JSC::ExecState::booleanPrototypeTable): Deleted.
35+
(JSC::ExecState::dataViewTable): Deleted.
36+
(JSC::ExecState::dateTable): Deleted.
37+
(JSC::ExecState::dateConstructorTable): Deleted.
38+
(JSC::ExecState::errorPrototypeTable): Deleted.
39+
(JSC::ExecState::globalObjectTable): Deleted.
40+
(JSC::ExecState::jsonTable): Deleted.
41+
(JSC::ExecState::numberConstructorTable): Deleted.
42+
(JSC::ExecState::numberPrototypeTable): Deleted.
43+
(JSC::ExecState::objectConstructorTable): Deleted.
44+
(JSC::ExecState::privateNamePrototypeTable): Deleted.
45+
(JSC::ExecState::regExpTable): Deleted.
46+
(JSC::ExecState::regExpConstructorTable): Deleted.
47+
(JSC::ExecState::regExpPrototypeTable): Deleted.
48+
(JSC::ExecState::stringConstructorTable): Deleted.
49+
(JSC::ExecState::promisePrototypeTable): Deleted.
50+
(JSC::ExecState::promiseConstructorTable): Deleted.
51+
* jsc.cpp:
52+
* parser/Lexer.h:
53+
(JSC::Keywords::isKeyword):
54+
(JSC::Keywords::getKeyword):
55+
* runtime/Arguments.cpp:
56+
* runtime/ArgumentsIteratorConstructor.cpp:
57+
* runtime/ArgumentsIteratorPrototype.cpp:
58+
* runtime/ArrayBufferNeuteringWatchpoint.cpp:
59+
* runtime/ArrayConstructor.cpp:
60+
(JSC::ArrayConstructor::getOwnPropertySlot):
61+
* runtime/ArrayIteratorConstructor.cpp:
62+
* runtime/ArrayIteratorPrototype.cpp:
63+
* runtime/ArrayPrototype.cpp:
64+
(JSC::ArrayPrototype::getOwnPropertySlot):
65+
* runtime/BooleanConstructor.cpp:
66+
* runtime/BooleanObject.cpp:
67+
* runtime/BooleanPrototype.cpp:
68+
(JSC::BooleanPrototype::getOwnPropertySlot):
69+
* runtime/ClassInfo.h:
70+
(JSC::ClassInfo::hasStaticProperties):
71+
(JSC::ClassInfo::propHashTable): Deleted.
72+
* runtime/ConsolePrototype.cpp:
73+
* runtime/CustomGetterSetter.cpp:
74+
* runtime/DateConstructor.cpp:
75+
(JSC::DateConstructor::getOwnPropertySlot):
76+
* runtime/DateInstance.cpp:
77+
* runtime/DatePrototype.cpp:
78+
(JSC::DatePrototype::getOwnPropertySlot):
79+
* runtime/Error.cpp:
80+
* runtime/ErrorConstructor.cpp:
81+
* runtime/ErrorInstance.cpp:
82+
* runtime/ErrorPrototype.cpp:
83+
(JSC::ErrorPrototype::getOwnPropertySlot):
84+
* runtime/ExceptionHelpers.cpp:
85+
* runtime/Executable.cpp:
86+
* runtime/FunctionConstructor.cpp:
87+
* runtime/FunctionPrototype.cpp:
88+
* runtime/GetterSetter.cpp:
89+
* runtime/InternalFunction.cpp:
90+
* runtime/JSAPIValueWrapper.cpp:
91+
* runtime/JSActivation.cpp:
92+
* runtime/JSArgumentsIterator.cpp:
93+
* runtime/JSArray.cpp:
94+
* runtime/JSArrayBuffer.cpp:
95+
* runtime/JSArrayBufferConstructor.cpp:
96+
* runtime/JSArrayBufferPrototype.cpp:
97+
* runtime/JSArrayBufferView.cpp:
98+
* runtime/JSArrayIterator.cpp:
99+
* runtime/JSBoundFunction.cpp:
100+
* runtime/JSConsole.cpp:
101+
* runtime/JSDataView.cpp:
102+
* runtime/JSDataViewPrototype.cpp:
103+
(JSC::JSDataViewPrototype::getOwnPropertySlot):
104+
* runtime/JSFunction.cpp:
105+
* runtime/JSGlobalObject.cpp:
106+
(JSC::JSGlobalObject::getOwnPropertySlot):
107+
* runtime/JSMap.cpp:
108+
* runtime/JSMapIterator.cpp:
109+
* runtime/JSNameScope.cpp:
110+
* runtime/JSNotAnObject.cpp:
111+
* runtime/JSONObject.cpp:
112+
(JSC::JSONObject::getOwnPropertySlot):
113+
* runtime/JSObject.cpp:
114+
(JSC::getClassPropertyNames):
115+
(JSC::JSObject::put):
116+
(JSC::JSObject::deleteProperty):
117+
(JSC::JSObject::findPropertyHashEntry):
118+
(JSC::JSObject::reifyStaticFunctionsForDelete):
119+
* runtime/JSObject.h:
120+
* runtime/JSPromise.cpp:
121+
* runtime/JSPromiseConstructor.cpp:
122+
(JSC::JSPromiseConstructor::getOwnPropertySlot):
123+
* runtime/JSPromiseDeferred.cpp:
124+
* runtime/JSPromisePrototype.cpp:
125+
(JSC::JSPromisePrototype::getOwnPropertySlot):
126+
* runtime/JSPromiseReaction.cpp:
127+
* runtime/JSPropertyNameIterator.cpp:
128+
* runtime/JSProxy.cpp:
129+
* runtime/JSSet.cpp:
130+
* runtime/JSSetIterator.cpp:
131+
* runtime/JSString.cpp:
132+
* runtime/JSTypedArrayConstructors.cpp:
133+
* runtime/JSTypedArrayPrototypes.cpp:
134+
* runtime/JSTypedArrays.cpp:
135+
* runtime/JSVariableObject.cpp:
136+
* runtime/JSWeakMap.cpp:
137+
* runtime/JSWithScope.cpp:
138+
* runtime/Lookup.cpp:
139+
(JSC::HashTable::createTable):
140+
* runtime/Lookup.h:
141+
(JSC::HashTable::initializeIfNeeded):
142+
(JSC::HashTable::entry):
143+
(JSC::HashTable::begin):
144+
(JSC::HashTable::end):
145+
(JSC::getStaticPropertySlot):
146+
(JSC::getStaticFunctionSlot):
147+
(JSC::getStaticValueSlot):
148+
(JSC::lookupPut):
149+
* runtime/MapConstructor.cpp:
150+
* runtime/MapData.cpp:
151+
* runtime/MapIteratorConstructor.cpp:
152+
* runtime/MapIteratorPrototype.cpp:
153+
* runtime/MapPrototype.cpp:
154+
* runtime/MathObject.cpp:
155+
* runtime/NameConstructor.cpp:
156+
* runtime/NameInstance.cpp:
157+
* runtime/NamePrototype.cpp:
158+
(JSC::NamePrototype::getOwnPropertySlot):
159+
* runtime/NativeErrorConstructor.cpp:
160+
* runtime/NumberConstructor.cpp:
161+
(JSC::NumberConstructor::getOwnPropertySlot):
162+
* runtime/NumberObject.cpp:
163+
* runtime/NumberPrototype.cpp:
164+
(JSC::NumberPrototype::getOwnPropertySlot):
165+
* runtime/ObjectConstructor.cpp:
166+
(JSC::ObjectConstructor::getOwnPropertySlot):
167+
* runtime/ObjectPrototype.cpp:
168+
* runtime/PropertyTable.cpp:
169+
* runtime/RegExp.cpp:
170+
* runtime/RegExpConstructor.cpp:
171+
(JSC::RegExpConstructor::getOwnPropertySlot):
172+
* runtime/RegExpMatchesArray.cpp:
173+
* runtime/RegExpObject.cpp:
174+
(JSC::RegExpObject::getOwnPropertySlot):
175+
* runtime/RegExpPrototype.cpp:
176+
(JSC::RegExpPrototype::getOwnPropertySlot):
177+
* runtime/SetConstructor.cpp:
178+
* runtime/SetIteratorConstructor.cpp:
179+
* runtime/SetIteratorPrototype.cpp:
180+
* runtime/SetPrototype.cpp:
181+
* runtime/SparseArrayValueMap.cpp:
182+
* runtime/StrictEvalActivation.cpp:
183+
* runtime/StringConstructor.cpp:
184+
(JSC::StringConstructor::getOwnPropertySlot):
185+
* runtime/StringObject.cpp:
186+
* runtime/StringPrototype.cpp:
187+
* runtime/Structure.cpp:
188+
(JSC::Structure::Structure):
189+
(JSC::Structure::freezeTransition):
190+
(JSC::ClassInfo::hasStaticSetterOrReadonlyProperties):
191+
* runtime/StructureChain.cpp:
192+
* runtime/StructureRareData.cpp:
193+
* runtime/SymbolTable.cpp:
194+
* runtime/VM.cpp:
195+
(JSC::VM::VM):
196+
(JSC::VM::~VM):
197+
* runtime/VM.h:
198+
* runtime/WeakMapConstructor.cpp:
199+
* runtime/WeakMapData.cpp:
200+
* runtime/WeakMapPrototype.cpp:
201+
* testRegExp.cpp:
202+
1203
2014-07-29 Brent Fulgham <bfulgham@apple.com>
2204

3205
[Win] Modify version numbering scheme to support 5-tuple versions

‎Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@
4242

4343
namespace JSC {
4444

45-
const ClassInfo UnlinkedFunctionExecutable::s_info = { "UnlinkedFunctionExecutable", 0, 0, 0, CREATE_METHOD_TABLE(UnlinkedFunctionExecutable) };
46-
const ClassInfo UnlinkedCodeBlock::s_info = { "UnlinkedCodeBlock", 0, 0, 0, CREATE_METHOD_TABLE(UnlinkedCodeBlock) };
47-
const ClassInfo UnlinkedGlobalCodeBlock::s_info = { "UnlinkedGlobalCodeBlock", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(UnlinkedGlobalCodeBlock) };
48-
const ClassInfo UnlinkedProgramCodeBlock::s_info = { "UnlinkedProgramCodeBlock", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(UnlinkedProgramCodeBlock) };
49-
const ClassInfo UnlinkedEvalCodeBlock::s_info = { "UnlinkedEvalCodeBlock", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(UnlinkedEvalCodeBlock) };
50-
const ClassInfo UnlinkedFunctionCodeBlock::s_info = { "UnlinkedFunctionCodeBlock", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(UnlinkedFunctionCodeBlock) };
45+
const ClassInfo UnlinkedFunctionExecutable::s_info = { "UnlinkedFunctionExecutable", 0, 0, CREATE_METHOD_TABLE(UnlinkedFunctionExecutable) };
46+
const ClassInfo UnlinkedCodeBlock::s_info = { "UnlinkedCodeBlock", 0, 0, CREATE_METHOD_TABLE(UnlinkedCodeBlock) };
47+
const ClassInfo UnlinkedGlobalCodeBlock::s_info = { "UnlinkedGlobalCodeBlock", &Base::s_info, 0, CREATE_METHOD_TABLE(UnlinkedGlobalCodeBlock) };
48+
const ClassInfo UnlinkedProgramCodeBlock::s_info = { "UnlinkedProgramCodeBlock", &Base::s_info, 0, CREATE_METHOD_TABLE(UnlinkedProgramCodeBlock) };
49+
const ClassInfo UnlinkedEvalCodeBlock::s_info = { "UnlinkedEvalCodeBlock", &Base::s_info, 0, CREATE_METHOD_TABLE(UnlinkedEvalCodeBlock) };
50+
const ClassInfo UnlinkedFunctionCodeBlock::s_info = { "UnlinkedFunctionCodeBlock", &Base::s_info, 0, CREATE_METHOD_TABLE(UnlinkedFunctionCodeBlock) };
5151

5252
static UnlinkedFunctionCodeBlock* generateFunctionCodeBlock(VM& vm, UnlinkedFunctionExecutable* executable, const SourceCode& source, CodeSpecializationKind kind, DebuggerMode debuggerMode, ProfilerMode profilerMode, UnlinkedFunctionKind functionKind, bool bodyIncludesBraces, ParserError& error)
5353
{

‎Source/JavaScriptCore/create_hash_table‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ sub output() {
320320
$i++;
321321
}
322322
print "};\n\n";
323-
print "extern const struct HashTable $name =\n";
323+
print "JS_EXPORT_PRIVATE extern const struct HashTable $name =\n";
324324
print " \{ $packedSize, $compactHashSizeMask, $hasSetter, $nameEntries, 0, $nameIndex \};\n";
325325
print "} // namespace\n";
326326
}

‎Source/JavaScriptCore/debugger/DebuggerScope.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ namespace JSC {
3333

3434
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DebuggerScope);
3535

36-
const ClassInfo DebuggerScope::s_info = { "DebuggerScope", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(DebuggerScope) };
36+
const ClassInfo DebuggerScope::s_info = { "DebuggerScope", &Base::s_info, 0, CREATE_METHOD_TABLE(DebuggerScope) };
3737

3838
DebuggerScope::DebuggerScope(VM& vm)
3939
: JSNonFinalObject(vm, vm.debuggerScopeStructure.get())

‎Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ using namespace JSC;
4545

4646
namespace Inspector {
4747

48-
const ClassInfo JSInjectedScriptHost::s_info = { "InjectedScriptHost", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSInjectedScriptHost) };
48+
const ClassInfo JSInjectedScriptHost::s_info = { "InjectedScriptHost", &Base::s_info, 0, CREATE_METHOD_TABLE(JSInjectedScriptHost) };
4949

5050
JSInjectedScriptHost::JSInjectedScriptHost(VM& vm, Structure* structure, PassRefPtr<InjectedScriptHost> impl)
5151
: JSDestructibleObject(vm, structure)

0 commit comments

Comments
 (0)