| Differences between
and this patch
- a/Source/JavaScriptCore/ChangeLog +317 lines
Lines 1-3 a/Source/JavaScriptCore/ChangeLog_sec1
1
2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
2
3
        [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
4
        https://bugs.webkit.org/show_bug.cgi?id=172098
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        In this patch, we generalize CheckDOM to CheckSubClass.
9
        It can accept any ClassInfo and perform ClassInfo check
10
        in DFG / FTL. Now, we add a new function pointer to ClassInfo,
11
        checkSubClassPatchpoint. It can create DOMJIT patchpoint
12
        for that ClassInfo. It it natural that ClassInfo holds the
13
        way to emit DOMJIT::Patchpoint to perform CheckSubClass
14
        rather than having it in each DOMJIT getter / function
15
        signature annotation.
16
17
        One problem is that it enlarges the size of ClassInfo.
18
        But this is the best place to put this function pointer.
19
        By doing so, we can add a patchpoint for CheckSubClass
20
        in an non-intrusive manner: WebCore can inject patchpoints
21
        without interactive JSC.
22
23
        We still have a way to reduce the size of ClassInfo if
24
        we move ArrayBuffer related methods out to the other places.
25
26
        This patch touches many files because we add a new function
27
        pointer to ClassInfo. But they are basically mechanical change.
28
29
        * API/JSAPIWrapperObject.mm:
30
        * API/JSCallbackConstructor.cpp:
31
        * API/JSCallbackFunction.cpp:
32
        * API/JSCallbackObject.cpp:
33
        * API/ObjCCallbackFunction.mm:
34
        * CMakeLists.txt:
35
        * JavaScriptCore.xcodeproj/project.pbxproj:
36
        * bytecode/CodeBlock.cpp:
37
        * bytecode/DOMJITAccessCasePatchpointParams.h:
38
        (JSC::DOMJITAccessCasePatchpointParams::DOMJITAccessCasePatchpointParams):
39
        * bytecode/EvalCodeBlock.cpp:
40
        * bytecode/FunctionCodeBlock.cpp:
41
        * bytecode/GetterSetterAccessCase.cpp:
42
        (JSC::GetterSetterAccessCase::emitDOMJITGetter):
43
        * bytecode/ModuleProgramCodeBlock.cpp:
44
        * bytecode/ProgramCodeBlock.cpp:
45
        * bytecode/UnlinkedCodeBlock.cpp:
46
        * bytecode/UnlinkedEvalCodeBlock.cpp:
47
        * bytecode/UnlinkedFunctionCodeBlock.cpp:
48
        * bytecode/UnlinkedFunctionExecutable.cpp:
49
        * bytecode/UnlinkedModuleProgramCodeBlock.cpp:
50
        * bytecode/UnlinkedProgramCodeBlock.cpp:
51
        * debugger/DebuggerScope.cpp:
52
        * dfg/DFGAbstractInterpreterInlines.h:
53
        (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
54
        * dfg/DFGByteCodeParser.cpp:
55
        (JSC::DFG::ByteCodeParser::handleDOMJITGetter):
56
        * dfg/DFGClobberize.h:
57
        (JSC::DFG::clobberize):
58
        * dfg/DFGConstantFoldingPhase.cpp:
59
        (JSC::DFG::ConstantFoldingPhase::foldConstants):
60
        * dfg/DFGDOMJITPatchpointParams.h:
61
        (JSC::DFG::DOMJITPatchpointParams::DOMJITPatchpointParams):
62
        * dfg/DFGDoesGC.cpp:
63
        (JSC::DFG::doesGC):
64
        * dfg/DFGFixupPhase.cpp:
65
        (JSC::DFG::FixupPhase::fixupNode):
66
        (JSC::DFG::FixupPhase::attemptToMakeCallDOM):
67
        (JSC::DFG::FixupPhase::fixupCheckSubClass):
68
        (JSC::DFG::FixupPhase::fixupCheckDOM): Deleted.
69
        * dfg/DFGGraph.cpp:
70
        (JSC::DFG::Graph::dump):
71
        * dfg/DFGNode.h:
72
        (JSC::DFG::Node::hasClassInfo):
73
        (JSC::DFG::Node::classInfo):
74
        (JSC::DFG::Node::hasCheckDOMPatchpoint): Deleted.
75
        (JSC::DFG::Node::checkDOMPatchpoint): Deleted.
76
        * dfg/DFGNodeType.h:
77
        * dfg/DFGPredictionPropagationPhase.cpp:
78
        * dfg/DFGSafeToExecute.h:
79
        (JSC::DFG::safeToExecute):
80
        * dfg/DFGSpeculativeJIT.cpp:
81
        (JSC::DFG::SpeculativeJIT::compileCheckSubClass):
82
        (JSC::DFG::SpeculativeJIT::compileCheckDOM): Deleted.
83
        * dfg/DFGSpeculativeJIT.h:
84
        (JSC::DFG::SpeculativeJIT::vm):
85
        * dfg/DFGSpeculativeJIT32_64.cpp:
86
        (JSC::DFG::SpeculativeJIT::compile):
87
        * dfg/DFGSpeculativeJIT64.cpp:
88
        (JSC::DFG::SpeculativeJIT::compile):
89
        * domjit/DOMJITGetterSetter.h:
90
        * domjit/DOMJITPatchpointParams.h:
91
        (JSC::DOMJIT::PatchpointParams::PatchpointParams):
92
        (JSC::DOMJIT::PatchpointParams::vm):
93
        * domjit/DOMJITSignature.h:
94
        (JSC::DOMJIT::Signature::Signature):
95
        (JSC::DOMJIT::Signature::checkDOM): Deleted.
96
        * ftl/FTLAbstractHeapRepository.h:
97
        * ftl/FTLCapabilities.cpp:
98
        (JSC::FTL::canCompile):
99
        * ftl/FTLDOMJITPatchpointParams.h:
100
        (JSC::FTL::DOMJITPatchpointParams::DOMJITPatchpointParams):
101
        * ftl/FTLLowerDFGToB3.cpp:
102
        (JSC::FTL::DFG::LowerDFGToB3::compileNode):
103
        (JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
104
        (JSC::FTL::DFG::LowerDFGToB3::compileCheckDOM): Deleted.
105
        * inspector/JSInjectedScriptHost.cpp:
106
        * inspector/JSInjectedScriptHostPrototype.cpp:
107
        * inspector/JSJavaScriptCallFrame.cpp:
108
        * inspector/JSJavaScriptCallFramePrototype.cpp:
109
        * jsc.cpp:
110
        (WTF::DOMJITNode::checkSubClassPatchpoint):
111
        (WTF::DOMJITFunctionObject::checkSubClassPatchpoint):
112
        (WTF::DOMJITFunctionObject::finishCreation):
113
        (WTF::DOMJITCheckSubClassObject::DOMJITCheckSubClassObject):
114
        (WTF::DOMJITCheckSubClassObject::createStructure):
115
        (WTF::DOMJITCheckSubClassObject::create):
116
        (WTF::DOMJITCheckSubClassObject::safeFunction):
117
        (WTF::DOMJITCheckSubClassObject::unsafeFunction):
118
        (WTF::DOMJITCheckSubClassObject::finishCreation):
119
        (GlobalObject::finishCreation):
120
        (functionCreateDOMJITCheckSubClassObject):
121
        (WTF::DOMJITNode::checkDOMJITNode): Deleted.
122
        (WTF::DOMJITFunctionObject::checkDOMJITNode): Deleted.
123
        * runtime/AbstractModuleRecord.cpp:
124
        * runtime/ArrayBufferNeuteringWatchpoint.cpp:
125
        * runtime/ArrayConstructor.cpp:
126
        * runtime/ArrayIteratorPrototype.cpp:
127
        * runtime/ArrayPrototype.cpp:
128
        * runtime/AsyncFunctionConstructor.cpp:
129
        * runtime/AsyncFunctionPrototype.cpp:
130
        * runtime/AtomicsObject.cpp:
131
        * runtime/BooleanConstructor.cpp:
132
        * runtime/BooleanObject.cpp:
133
        * runtime/BooleanPrototype.cpp:
134
        * runtime/ClassInfo.cpp: Copied from Source/JavaScriptCore/tools/JSDollarVM.cpp.
135
        (JSC::ClassInfo::dump):
136
        * runtime/ClassInfo.h:
137
        (JSC::ClassInfo::offsetOfParentClass):
138
        * runtime/ClonedArguments.cpp:
139
        * runtime/ConsoleObject.cpp:
140
        * runtime/CustomGetterSetter.cpp:
141
        * runtime/DateConstructor.cpp:
142
        * runtime/DateInstance.cpp:
143
        * runtime/DatePrototype.cpp:
144
        * runtime/DirectArguments.cpp:
145
        * runtime/Error.cpp:
146
        * runtime/ErrorConstructor.cpp:
147
        * runtime/ErrorInstance.cpp:
148
        * runtime/ErrorPrototype.cpp:
149
        * runtime/EvalExecutable.cpp:
150
        * runtime/Exception.cpp:
151
        * runtime/ExceptionHelpers.cpp:
152
        * runtime/ExecutableBase.cpp:
153
        * runtime/FunctionConstructor.cpp:
154
        * runtime/FunctionExecutable.cpp:
155
        * runtime/FunctionPrototype.cpp:
156
        * runtime/FunctionRareData.cpp:
157
        * runtime/GeneratorFunctionConstructor.cpp:
158
        * runtime/GeneratorFunctionPrototype.cpp:
159
        * runtime/GeneratorPrototype.cpp:
160
        * runtime/GetterSetter.cpp:
161
        * runtime/HashMapImpl.cpp:
162
        * runtime/HashMapImpl.h:
163
        * runtime/InferredType.cpp:
164
        (JSC::InferredType::create):
165
        * runtime/InferredTypeTable.cpp:
166
        * runtime/InferredValue.cpp:
167
        * runtime/InspectorInstrumentationObject.cpp:
168
        * runtime/InternalFunction.cpp:
169
        * runtime/IntlCollator.cpp:
170
        * runtime/IntlCollatorConstructor.cpp:
171
        * runtime/IntlCollatorPrototype.cpp:
172
        * runtime/IntlDateTimeFormat.cpp:
173
        * runtime/IntlDateTimeFormatConstructor.cpp:
174
        * runtime/IntlDateTimeFormatPrototype.cpp:
175
        * runtime/IntlNumberFormat.cpp:
176
        * runtime/IntlNumberFormatConstructor.cpp:
177
        * runtime/IntlNumberFormatPrototype.cpp:
178
        * runtime/IntlObject.cpp:
179
        * runtime/IteratorPrototype.cpp:
180
        * runtime/JSAPIValueWrapper.cpp:
181
        * runtime/JSArray.cpp:
182
        * runtime/JSArrayBuffer.cpp:
183
        * runtime/JSArrayBufferConstructor.cpp:
184
        * runtime/JSArrayBufferPrototype.cpp:
185
        * runtime/JSArrayBufferView.cpp:
186
        * runtime/JSAsyncFunction.cpp:
187
        * runtime/JSBoundFunction.cpp:
188
        * runtime/JSCallee.cpp:
189
        * runtime/JSCustomGetterSetterFunction.cpp:
190
        * runtime/JSDataView.cpp:
191
        * runtime/JSDataViewPrototype.cpp:
192
        * runtime/JSEnvironmentRecord.cpp:
193
        * runtime/JSFixedArray.cpp:
194
        * runtime/JSFunction.cpp:
195
        * runtime/JSGeneratorFunction.cpp:
196
        * runtime/JSGlobalLexicalEnvironment.cpp:
197
        * runtime/JSGlobalObject.cpp:
198
        * runtime/JSInternalPromise.cpp:
199
        * runtime/JSInternalPromiseConstructor.cpp:
200
        * runtime/JSInternalPromiseDeferred.cpp:
201
        * runtime/JSInternalPromisePrototype.cpp:
202
        * runtime/JSLexicalEnvironment.cpp:
203
        * runtime/JSMap.cpp:
204
        * runtime/JSMapIterator.cpp:
205
        * runtime/JSModuleEnvironment.cpp:
206
        * runtime/JSModuleLoader.cpp:
207
        * runtime/JSModuleNamespaceObject.cpp:
208
        * runtime/JSModuleRecord.cpp:
209
        * runtime/JSNativeStdFunction.cpp:
210
        * runtime/JSONObject.cpp:
211
        * runtime/JSObject.cpp:
212
        * runtime/JSPromise.cpp:
213
        * runtime/JSPromiseConstructor.cpp:
214
        * runtime/JSPromiseDeferred.cpp:
215
        * runtime/JSPromisePrototype.cpp:
216
        * runtime/JSPropertyNameEnumerator.cpp:
217
        * runtime/JSPropertyNameIterator.cpp:
218
        * runtime/JSProxy.cpp:
219
        * runtime/JSScriptFetcher.cpp:
220
        * runtime/JSSet.cpp:
221
        * runtime/JSSetIterator.cpp:
222
        * runtime/JSSourceCode.cpp:
223
        * runtime/JSString.cpp:
224
        * runtime/JSStringIterator.cpp:
225
        * runtime/JSSymbolTableObject.cpp:
226
        * runtime/JSTemplateRegistryKey.cpp:
227
        * runtime/JSTypedArrayConstructors.cpp:
228
        * runtime/JSTypedArrayPrototypes.cpp:
229
        * runtime/JSTypedArrayViewConstructor.cpp:
230
        * runtime/JSTypedArrays.cpp:
231
        * runtime/JSWeakMap.cpp:
232
        * runtime/JSWeakSet.cpp:
233
        * runtime/JSWithScope.cpp:
234
        * runtime/MapConstructor.cpp:
235
        * runtime/MapIteratorPrototype.cpp:
236
        * runtime/MapPrototype.cpp:
237
        * runtime/MathObject.cpp:
238
        * runtime/ModuleLoaderPrototype.cpp:
239
        * runtime/ModuleProgramExecutable.cpp:
240
        * runtime/NativeErrorConstructor.cpp:
241
        * runtime/NativeExecutable.cpp:
242
        * runtime/NativeStdFunctionCell.cpp:
243
        * runtime/NullGetterFunction.cpp:
244
        * runtime/NullSetterFunction.cpp:
245
        * runtime/NumberConstructor.cpp:
246
        * runtime/NumberObject.cpp:
247
        * runtime/NumberPrototype.cpp:
248
        * runtime/ObjectConstructor.cpp:
249
        * runtime/ObjectPrototype.cpp:
250
        * runtime/ProgramExecutable.cpp:
251
        * runtime/PropertyTable.cpp:
252
        * runtime/ProxyConstructor.cpp:
253
        * runtime/ProxyObject.cpp:
254
        * runtime/ProxyRevoke.cpp:
255
        * runtime/ReflectObject.cpp:
256
        * runtime/RegExp.cpp:
257
        * runtime/RegExpConstructor.cpp:
258
        * runtime/RegExpObject.cpp:
259
        * runtime/RegExpPrototype.cpp:
260
        * runtime/ScopedArguments.cpp:
261
        * runtime/ScopedArgumentsTable.cpp:
262
        * runtime/ScriptExecutable.cpp:
263
        * runtime/SetConstructor.cpp:
264
        * runtime/SetIteratorPrototype.cpp:
265
        * runtime/SetPrototype.cpp:
266
        * runtime/SparseArrayValueMap.cpp:
267
        * runtime/StrictEvalActivation.cpp:
268
        * runtime/StringConstructor.cpp:
269
        * runtime/StringIteratorPrototype.cpp:
270
        * runtime/StringObject.cpp:
271
        * runtime/StringPrototype.cpp:
272
        * runtime/Structure.cpp:
273
        * runtime/StructureChain.cpp:
274
        * runtime/StructureRareData.cpp:
275
        * runtime/Symbol.cpp:
276
        * runtime/SymbolConstructor.cpp:
277
        * runtime/SymbolObject.cpp:
278
        * runtime/SymbolPrototype.cpp:
279
        * runtime/SymbolTable.cpp:
280
        * runtime/WeakMapConstructor.cpp:
281
        * runtime/WeakMapData.cpp:
282
        * runtime/WeakMapPrototype.cpp:
283
        * runtime/WeakSetConstructor.cpp:
284
        * runtime/WeakSetPrototype.cpp:
285
        * testRegExp.cpp:
286
        * tools/JSDollarVM.cpp:
287
        * tools/JSDollarVMPrototype.cpp:
288
        * wasm/JSWebAssembly.cpp:
289
        * wasm/js/JSWebAssemblyCodeBlock.cpp:
290
        * wasm/js/JSWebAssemblyCompileError.cpp:
291
        * wasm/js/JSWebAssemblyInstance.cpp:
292
        * wasm/js/JSWebAssemblyLinkError.cpp:
293
        * wasm/js/JSWebAssemblyMemory.cpp:
294
        * wasm/js/JSWebAssemblyModule.cpp:
295
        * wasm/js/JSWebAssemblyRuntimeError.cpp:
296
        * wasm/js/JSWebAssemblyTable.cpp:
297
        * wasm/js/WebAssemblyCompileErrorConstructor.cpp:
298
        * wasm/js/WebAssemblyCompileErrorPrototype.cpp:
299
        * wasm/js/WebAssemblyFunction.cpp:
300
        * wasm/js/WebAssemblyFunctionBase.cpp:
301
        * wasm/js/WebAssemblyInstanceConstructor.cpp:
302
        * wasm/js/WebAssemblyInstancePrototype.cpp:
303
        * wasm/js/WebAssemblyLinkErrorConstructor.cpp:
304
        * wasm/js/WebAssemblyLinkErrorPrototype.cpp:
305
        * wasm/js/WebAssemblyMemoryConstructor.cpp:
306
        * wasm/js/WebAssemblyMemoryPrototype.cpp:
307
        * wasm/js/WebAssemblyModuleConstructor.cpp:
308
        * wasm/js/WebAssemblyModulePrototype.cpp:
309
        * wasm/js/WebAssemblyModuleRecord.cpp:
310
        * wasm/js/WebAssemblyPrototype.cpp:
311
        * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
312
        * wasm/js/WebAssemblyRuntimeErrorPrototype.cpp:
313
        * wasm/js/WebAssemblyTableConstructor.cpp:
314
        * wasm/js/WebAssemblyTablePrototype.cpp:
315
        * wasm/js/WebAssemblyToJSCallee.cpp:
316
        * wasm/js/WebAssemblyWrapperFunction.cpp:
317
1
2017-05-18  JF Bastien  <jfbastien@apple.com>
318
2017-05-18  JF Bastien  <jfbastien@apple.com>
2
319
3
        WebAssembly: exports is a getter
320
        WebAssembly: exports is a getter
- a/Source/WebCore/ChangeLog +91 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
2
3
        [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
4
        https://bugs.webkit.org/show_bug.cgi?id=172098
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Add DOMJIT interface IDL attribute. Which allows us to define checkSubClassPatchpointFor${className}
9
        function for that ClassInfo. And we move CheckSubClass patchpoint implementation to ClassInfo's member
10
11
        * CMakeLists.txt:
12
        * WebCore.xcodeproj/project.pbxproj:
13
        * bindings/js/JSDOMGlobalObject.cpp:
14
        * bindings/js/JSDOMWindowBase.cpp:
15
        * bindings/js/JSDOMWindowProperties.cpp:
16
        * bindings/js/JSDOMWindowShell.cpp:
17
        * bindings/js/JSReadableStreamPrivateConstructors.cpp:
18
        * bindings/js/JSWorkerGlobalScopeBase.cpp:
19
        * bindings/scripts/CodeGeneratorJS.pm:
20
        (GenerateHeader):
21
        (GenerateImplementation):
22
        (GenerateImplementationIterableFunctions):
23
        (GenerateConstructorHelperMethods):
24
        * bindings/scripts/IDLAttributes.json:
25
        * bindings/scripts/test/JS/JSInterfaceName.cpp:
26
        * bindings/scripts/test/JS/JSMapLike.cpp:
27
        * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
28
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
29
        * bindings/scripts/test/JS/JSTestCEReactions.cpp:
30
        * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
31
        * bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
32
        * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
33
        * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
34
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
35
        * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
36
        * bindings/scripts/test/JS/JSTestDOMJIT.h:
37
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
38
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
39
        * bindings/scripts/test/JS/JSTestException.cpp:
40
        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
41
        * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
42
        * bindings/scripts/test/JS/JSTestInterface.cpp:
43
        * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
44
        * bindings/scripts/test/JS/JSTestIterable.cpp:
45
        * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
46
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
47
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
48
        * bindings/scripts/test/JS/JSTestNode.cpp:
49
        * bindings/scripts/test/JS/JSTestObj.cpp:
50
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
51
        * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
52
        * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
53
        * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
54
        * bindings/scripts/test/JS/JSTestSerialization.cpp:
55
        * bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
56
        * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
57
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
58
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
59
        * bridge/c/CRuntimeObject.cpp:
60
        * bridge/c/c_instance.cpp:
61
        * bridge/objc/ObjCRuntimeObject.mm:
62
        * bridge/objc/objc_instance.mm:
63
        * bridge/objc/objc_runtime.mm:
64
        * bridge/runtime_array.cpp:
65
        * bridge/runtime_method.cpp:
66
        * bridge/runtime_object.cpp:
67
        * dom/Document.idl:
68
        * dom/DocumentFragment.idl:
69
        * dom/Element.idl:
70
        * dom/Event.idl:
71
        * dom/Node.idl:
72
        * domjit/JSDocumentDOMJIT.cpp:
73
        (WebCore::checkSubClassPatchpointForJSDocument):
74
        (WebCore::DocumentDocumentElementDOMJIT::checkDOM): Deleted.
75
        (WebCore::DocumentBodyDOMJIT::checkDOM): Deleted.
76
        * domjit/JSDocumentFragmentDOMJIT.cpp: Copied from Source/JavaScriptCore/runtime/JSMap.cpp.
77
        (WebCore::checkSubClassPatchpointForJSDocumentFragment):
78
        * domjit/JSElementDOMJIT.cpp: Copied from Source/JavaScriptCore/tools/JSDollarVM.cpp.
79
        (WebCore::checkSubClassPatchpointForJSElement):
80
        * domjit/JSEventDOMJIT.cpp: Copied from Source/JavaScriptCore/tools/JSDollarVM.cpp.
81
        (WebCore::checkSubClassPatchpointForJSEvent):
82
        * domjit/JSNodeDOMJIT.cpp:
83
        (WebCore::checkSubClassPatchpointForJSNode):
84
        (WebCore::NodeFirstChildDOMJIT::checkDOM): Deleted.
85
        (WebCore::NodeLastChildDOMJIT::checkDOM): Deleted.
86
        (WebCore::NodeNextSiblingDOMJIT::checkDOM): Deleted.
87
        (WebCore::NodePreviousSiblingDOMJIT::checkDOM): Deleted.
88
        (WebCore::NodeParentNodeDOMJIT::checkDOM): Deleted.
89
        (WebCore::NodeNodeTypeDOMJIT::checkDOM): Deleted.
90
        (WebCore::NodeOwnerDocumentDOMJIT::checkDOM): Deleted.
91
1
2017-05-18  Jer Noble  <jer.noble@apple.com>
92
2017-05-18  Jer Noble  <jer.noble@apple.com>
2
93
3
        [MSE][Mac] Support painting MSE video-element to canvas
94
        [MSE][Mac] Support painting MSE video-element to canvas
- a/Source/WebKit/mac/ChangeLog +10 lines
Lines 1-3 a/Source/WebKit/mac/ChangeLog_sec1
1
2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
2
3
        [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
4
        https://bugs.webkit.org/show_bug.cgi?id=172098
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * Plugins/Hosted/ProxyInstance.mm:
9
        * Plugins/Hosted/ProxyRuntimeObject.mm:
10
1
2017-05-18  Andy Estes  <aestes@apple.com>
11
2017-05-18  Andy Estes  <aestes@apple.com>
2
12
3
        ENABLE(APPLE_PAY_DELEGATE) should be NO on macOS Sierra and earlier
13
        ENABLE(APPLE_PAY_DELEGATE) should be NO on macOS Sierra and earlier
- a/Source/WebKit2/ChangeLog +10 lines
Lines 1-3 a/Source/WebKit2/ChangeLog_sec1
1
2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
2
3
        [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
4
        https://bugs.webkit.org/show_bug.cgi?id=172098
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
9
        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
10
1
2017-05-18  Andreas Kling  <akling@apple.com>
11
2017-05-18  Andreas Kling  <akling@apple.com>
2
12
3
        [WK2] Notify WebPageProxy client when an active process goes over the inactive memory limit
13
        [WK2] Notify WebPageProxy client when an active process goes over the inactive memory limit
- a/Source/JavaScriptCore/API/JSAPIWrapperObject.mm -1 / +1 lines
Lines 68-74 bool JSAPIWrapperObjectHandleOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC:: a/Source/JavaScriptCore/API/JSAPIWrapperObject.mm_sec1
68
68
69
namespace JSC {
69
namespace JSC {
70
    
70
    
71
template <> const ClassInfo JSCallbackObject<JSAPIWrapperObject>::s_info = { "JSAPIWrapperObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
71
template <> const ClassInfo JSCallbackObject<JSAPIWrapperObject>::s_info = { "JSAPIWrapperObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCallbackObject) };
72
72
73
template<> const bool JSCallbackObject<JSAPIWrapperObject>::needsDestruction = true;
73
template<> const bool JSCallbackObject<JSAPIWrapperObject>::needsDestruction = true;
74
74
- a/Source/JavaScriptCore/API/JSCallbackConstructor.cpp -1 / +1 lines
Lines 36-42 a/Source/JavaScriptCore/API/JSCallbackConstructor.cpp_sec1
36
36
37
namespace JSC {
37
namespace JSC {
38
38
39
const ClassInfo JSCallbackConstructor::s_info = { "CallbackConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallbackConstructor) };
39
const ClassInfo JSCallbackConstructor::s_info = { "CallbackConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCallbackConstructor) };
40
40
41
JSCallbackConstructor::JSCallbackConstructor(JSGlobalObject* globalObject, Structure* structure, JSClassRef jsClass, JSObjectCallAsConstructorCallback callback)
41
JSCallbackConstructor::JSCallbackConstructor(JSGlobalObject* globalObject, Structure* structure, JSClassRef jsClass, JSObjectCallAsConstructorCallback callback)
42
    : JSDestructibleObject(globalObject->vm(), structure)
42
    : JSDestructibleObject(globalObject->vm(), structure)
- a/Source/JavaScriptCore/API/JSCallbackFunction.cpp -1 / +1 lines
Lines 41-47 namespace JSC { a/Source/JavaScriptCore/API/JSCallbackFunction.cpp_sec1
41
41
42
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSCallbackFunction);
42
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSCallbackFunction);
43
43
44
const ClassInfo JSCallbackFunction::s_info = { "CallbackFunction", &InternalFunction::s_info, 0, CREATE_METHOD_TABLE(JSCallbackFunction) };
44
const ClassInfo JSCallbackFunction::s_info = { "CallbackFunction", &InternalFunction::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCallbackFunction) };
45
45
46
JSCallbackFunction::JSCallbackFunction(VM& vm, Structure* structure, JSObjectCallAsFunctionCallback callback)
46
JSCallbackFunction::JSCallbackFunction(VM& vm, Structure* structure, JSObjectCallAsFunctionCallback callback)
47
    : InternalFunction(vm, structure)
47
    : InternalFunction(vm, structure)
- a/Source/JavaScriptCore/API/JSCallbackObject.cpp -2 / +2 lines
Lines 34-41 a/Source/JavaScriptCore/API/JSCallbackObject.cpp_sec1
34
namespace JSC {
34
namespace JSC {
35
35
36
// Define the two types of JSCallbackObjects we support.
36
// Define the two types of JSCallbackObjects we support.
37
template <> const ClassInfo JSCallbackObject<JSDestructibleObject>::s_info = { "CallbackObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
37
template <> const ClassInfo JSCallbackObject<JSDestructibleObject>::s_info = { "CallbackObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCallbackObject) };
38
template <> const ClassInfo JSCallbackObject<JSGlobalObject>::s_info = { "CallbackGlobalObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallbackObject) };
38
template <> const ClassInfo JSCallbackObject<JSGlobalObject>::s_info = { "CallbackGlobalObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCallbackObject) };
39
39
40
template<> const bool JSCallbackObject<JSDestructibleObject>::needsDestruction = true;
40
template<> const bool JSCallbackObject<JSDestructibleObject>::needsDestruction = true;
41
template<> const bool JSCallbackObject<JSGlobalObject>::needsDestruction = false;
41
template<> const bool JSCallbackObject<JSGlobalObject>::needsDestruction = false;
- a/Source/JavaScriptCore/API/ObjCCallbackFunction.mm -1 / +1 lines
Lines 503-509 static JSObjectRef objCCallbackFunctionCallAsConstructor(JSContextRef callerCont a/Source/JavaScriptCore/API/ObjCCallbackFunction.mm_sec1
503
    return (JSObjectRef)result;
503
    return (JSObjectRef)result;
504
}
504
}
505
505
506
const JSC::ClassInfo ObjCCallbackFunction::s_info = { "CallbackFunction", &Base::s_info, 0, CREATE_METHOD_TABLE(ObjCCallbackFunction) };
506
const JSC::ClassInfo ObjCCallbackFunction::s_info = { "CallbackFunction", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ObjCCallbackFunction) };
507
507
508
ObjCCallbackFunction::ObjCCallbackFunction(JSC::VM& vm, JSC::Structure* structure, JSObjectCallAsFunctionCallback functionCallback, JSObjectCallAsConstructorCallback constructCallback, std::unique_ptr<ObjCCallbackFunctionImpl> impl)
508
ObjCCallbackFunction::ObjCCallbackFunction(JSC::VM& vm, JSC::Structure* structure, JSObjectCallAsFunctionCallback functionCallback, JSObjectCallAsConstructorCallback constructCallback, std::unique_ptr<ObjCCallbackFunctionImpl> impl)
509
    : Base(vm, structure)
509
    : Base(vm, structure)
- a/Source/JavaScriptCore/CMakeLists.txt +1 lines
Lines 695-700 set(JavaScriptCore_SOURCES a/Source/JavaScriptCore/CMakeLists.txt_sec1
695
    runtime/BooleanPrototype.cpp
695
    runtime/BooleanPrototype.cpp
696
    runtime/CallData.cpp
696
    runtime/CallData.cpp
697
    runtime/CatchScope.cpp
697
    runtime/CatchScope.cpp
698
    runtime/ClassInfo.cpp
698
    runtime/ClonedArguments.cpp
699
    runtime/ClonedArguments.cpp
699
    runtime/CodeCache.cpp
700
    runtime/CodeCache.cpp
700
    runtime/CodeSpecializationKind.cpp
701
    runtime/CodeSpecializationKind.cpp
- a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj +4 lines
Lines 2360-2365 a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj_sec1
2360
		E322E5A31DA64439006E7709 /* DFGDOMJITPatchpointParams.h in Headers */ = {isa = PBXBuildFile; fileRef = E322E5A11DA64435006E7709 /* DFGDOMJITPatchpointParams.h */; };
2360
		E322E5A31DA64439006E7709 /* DFGDOMJITPatchpointParams.h in Headers */ = {isa = PBXBuildFile; fileRef = E322E5A11DA64435006E7709 /* DFGDOMJITPatchpointParams.h */; };
2361
		E322E5A61DA644A8006E7709 /* FTLDOMJITPatchpointParams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E322E5A41DA644A4006E7709 /* FTLDOMJITPatchpointParams.cpp */; };
2361
		E322E5A61DA644A8006E7709 /* FTLDOMJITPatchpointParams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E322E5A41DA644A4006E7709 /* FTLDOMJITPatchpointParams.cpp */; };
2362
		E322E5A71DA644A8006E7709 /* FTLDOMJITPatchpointParams.h in Headers */ = {isa = PBXBuildFile; fileRef = E322E5A51DA644A4006E7709 /* FTLDOMJITPatchpointParams.h */; };
2362
		E322E5A71DA644A8006E7709 /* FTLDOMJITPatchpointParams.h in Headers */ = {isa = PBXBuildFile; fileRef = E322E5A51DA644A4006E7709 /* FTLDOMJITPatchpointParams.h */; };
2363
		E326C4971ECBEF6300A9A905 /* ClassInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E326C4961ECBEF5700A9A905 /* ClassInfo.cpp */; };
2363
		E328C6C71DA4304500D255FD /* MaxFrameExtentForSlowPathCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 65860177185A8F5E00030EEE /* MaxFrameExtentForSlowPathCall.h */; settings = {ATTRIBUTES = (Private, ); }; };
2364
		E328C6C71DA4304500D255FD /* MaxFrameExtentForSlowPathCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 65860177185A8F5E00030EEE /* MaxFrameExtentForSlowPathCall.h */; settings = {ATTRIBUTES = (Private, ); }; };
2364
		E328C6C81DA4306100D255FD /* RegisterAtOffsetList.h in Headers */ = {isa = PBXBuildFile; fileRef = 6540C79D1B82D99D000F6B79 /* RegisterAtOffsetList.h */; settings = {ATTRIBUTES = (Private, ); }; };
2365
		E328C6C81DA4306100D255FD /* RegisterAtOffsetList.h in Headers */ = {isa = PBXBuildFile; fileRef = 6540C79D1B82D99D000F6B79 /* RegisterAtOffsetList.h */; settings = {ATTRIBUTES = (Private, ); }; };
2365
		E328C6C91DA432F900D255FD /* RegisterAtOffset.h in Headers */ = {isa = PBXBuildFile; fileRef = 6540C79F1B82D9CE000F6B79 /* RegisterAtOffset.h */; settings = {ATTRIBUTES = (Private, ); }; };
2366
		E328C6C91DA432F900D255FD /* RegisterAtOffset.h in Headers */ = {isa = PBXBuildFile; fileRef = 6540C79F1B82D9CE000F6B79 /* RegisterAtOffset.h */; settings = {ATTRIBUTES = (Private, ); }; };
Lines 4990-4995 a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj_sec2
4990
		E322E5A11DA64435006E7709 /* DFGDOMJITPatchpointParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGDOMJITPatchpointParams.h; path = dfg/DFGDOMJITPatchpointParams.h; sourceTree = "<group>"; };
4991
		E322E5A11DA64435006E7709 /* DFGDOMJITPatchpointParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGDOMJITPatchpointParams.h; path = dfg/DFGDOMJITPatchpointParams.h; sourceTree = "<group>"; };
4991
		E322E5A41DA644A4006E7709 /* FTLDOMJITPatchpointParams.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FTLDOMJITPatchpointParams.cpp; path = ftl/FTLDOMJITPatchpointParams.cpp; sourceTree = "<group>"; };
4992
		E322E5A41DA644A4006E7709 /* FTLDOMJITPatchpointParams.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FTLDOMJITPatchpointParams.cpp; path = ftl/FTLDOMJITPatchpointParams.cpp; sourceTree = "<group>"; };
4992
		E322E5A51DA644A4006E7709 /* FTLDOMJITPatchpointParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FTLDOMJITPatchpointParams.h; path = ftl/FTLDOMJITPatchpointParams.h; sourceTree = "<group>"; };
4993
		E322E5A51DA644A4006E7709 /* FTLDOMJITPatchpointParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FTLDOMJITPatchpointParams.h; path = ftl/FTLDOMJITPatchpointParams.h; sourceTree = "<group>"; };
4994
		E326C4961ECBEF5700A9A905 /* ClassInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClassInfo.cpp; sourceTree = "<group>"; };
4993
		E33637A31B63220200EE0840 /* ReflectObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReflectObject.cpp; sourceTree = "<group>"; };
4995
		E33637A31B63220200EE0840 /* ReflectObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReflectObject.cpp; sourceTree = "<group>"; };
4994
		E33637A41B63220200EE0840 /* ReflectObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReflectObject.h; sourceTree = "<group>"; };
4996
		E33637A41B63220200EE0840 /* ReflectObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReflectObject.h; sourceTree = "<group>"; };
4995
		E33B3E251B7ABD750048DB2E /* InspectorInstrumentationObject.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorInstrumentationObject.lut.h; sourceTree = "<group>"; };
4997
		E33B3E251B7ABD750048DB2E /* InspectorInstrumentationObject.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorInstrumentationObject.lut.h; sourceTree = "<group>"; };
Lines 6584-6589 a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj_sec3
6584
				145C507F0D9DF63B0088F6B9 /* CallData.h */,
6586
				145C507F0D9DF63B0088F6B9 /* CallData.h */,
6585
				FE80C1981D775FB4008510C0 /* CatchScope.cpp */,
6587
				FE80C1981D775FB4008510C0 /* CatchScope.cpp */,
6586
				FE80C1961D775B27008510C0 /* CatchScope.h */,
6588
				FE80C1961D775B27008510C0 /* CatchScope.h */,
6589
				E326C4961ECBEF5700A9A905 /* ClassInfo.cpp */,
6587
				BC6AAAE40E1F426500AD87D8 /* ClassInfo.h */,
6590
				BC6AAAE40E1F426500AD87D8 /* ClassInfo.h */,
6588
				0FE0501C1AA9095600D33B33 /* ClonedArguments.cpp */,
6591
				0FE0501C1AA9095600D33B33 /* ClonedArguments.cpp */,
6589
				0FE0501D1AA9095600D33B33 /* ClonedArguments.h */,
6592
				0FE0501D1AA9095600D33B33 /* ClonedArguments.h */,
Lines 10201-10206 a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj_sec4
10201
				0FEC850F1BDACDAC0080FF74 /* B3Const64Value.cpp in Sources */,
10204
				0FEC850F1BDACDAC0080FF74 /* B3Const64Value.cpp in Sources */,
10202
				0FF4B4CA1E889D7B00DBBE86 /* B3VariableLiveness.cpp in Sources */,
10205
				0FF4B4CA1E889D7B00DBBE86 /* B3VariableLiveness.cpp in Sources */,
10203
				0FEC85111BDACDAC0080FF74 /* B3ConstDoubleValue.cpp in Sources */,
10206
				0FEC85111BDACDAC0080FF74 /* B3ConstDoubleValue.cpp in Sources */,
10207
				E326C4971ECBEF6300A9A905 /* ClassInfo.cpp in Sources */,
10204
				53CA73091EA533D80076049D /* WasmBBQPlan.cpp in Sources */,
10208
				53CA73091EA533D80076049D /* WasmBBQPlan.cpp in Sources */,
10205
				530FB3041E7A1146003C19DD /* WasmWorklist.cpp in Sources */,
10209
				530FB3041E7A1146003C19DD /* WasmWorklist.cpp in Sources */,
10206
				43422A621C158E6A00E2EB98 /* B3ConstFloatValue.cpp in Sources */,
10210
				43422A621C158E6A00E2EB98 /* B3ConstFloatValue.cpp in Sources */,
- a/Source/JavaScriptCore/bytecode/CodeBlock.cpp -1 / +1 lines
Lines 99-105 a/Source/JavaScriptCore/bytecode/CodeBlock.cpp_sec1
99
namespace JSC {
99
namespace JSC {
100
100
101
const ClassInfo CodeBlock::s_info = {
101
const ClassInfo CodeBlock::s_info = {
102
    "CodeBlock", 0, 0,
102
    "CodeBlock", nullptr, nullptr, nullptr,
103
    CREATE_METHOD_TABLE(CodeBlock)
103
    CREATE_METHOD_TABLE(CodeBlock)
104
};
104
};
105
105
- a/Source/JavaScriptCore/bytecode/DOMJITAccessCasePatchpointParams.h -2 / +2 lines
Lines 35-42 struct AccessGenerationState; a/Source/JavaScriptCore/bytecode/DOMJITAccessCasePatchpointParams.h_sec1
35
35
36
class DOMJITAccessCasePatchpointParams : public DOMJIT::PatchpointParams {
36
class DOMJITAccessCasePatchpointParams : public DOMJIT::PatchpointParams {
37
public:
37
public:
38
    DOMJITAccessCasePatchpointParams(Vector<DOMJIT::Value>&& regs, Vector<GPRReg>&& gpScratch, Vector<FPRReg>&& fpScratch)
38
    DOMJITAccessCasePatchpointParams(VM& vm, Vector<DOMJIT::Value>&& regs, Vector<GPRReg>&& gpScratch, Vector<FPRReg>&& fpScratch)
39
        : DOMJIT::PatchpointParams(WTFMove(regs), WTFMove(gpScratch), WTFMove(fpScratch))
39
        : DOMJIT::PatchpointParams(vm, WTFMove(regs), WTFMove(gpScratch), WTFMove(fpScratch))
40
    {
40
    {
41
    }
41
    }
42
42
- a/Source/JavaScriptCore/bytecode/EvalCodeBlock.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/bytecode/EvalCodeBlock.cpp_sec1
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo EvalCodeBlock::s_info = {
35
const ClassInfo EvalCodeBlock::s_info = {
36
    "EvalCodeBlock", &Base::s_info, 0,
36
    "EvalCodeBlock", &Base::s_info, nullptr, nullptr,
37
    CREATE_METHOD_TABLE(EvalCodeBlock)
37
    CREATE_METHOD_TABLE(EvalCodeBlock)
38
};
38
};
39
39
- a/Source/JavaScriptCore/bytecode/FunctionCodeBlock.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/bytecode/FunctionCodeBlock.cpp_sec1
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo FunctionCodeBlock::s_info = {
35
const ClassInfo FunctionCodeBlock::s_info = {
36
    "FunctionCodeBlock", &Base::s_info, 0,
36
    "FunctionCodeBlock", &Base::s_info, nullptr, nullptr,
37
    CREATE_METHOD_TABLE(FunctionCodeBlock)
37
    CREATE_METHOD_TABLE(FunctionCodeBlock)
38
};
38
};
39
39
- a/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp -1 / +1 lines
Lines 220-226 void GetterSetterAccessCase::emitDOMJITGetter(AccessGenerationState& state, GPRR a/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp_sec1
220
        registersToSpillForCCall.set(reg);
220
        registersToSpillForCCall.set(reg);
221
    registersToSpillForCCall.exclude(RegisterSet::registersToNotSaveForCCall());
221
    registersToSpillForCCall.exclude(RegisterSet::registersToNotSaveForCCall());
222
222
223
    DOMJITAccessCasePatchpointParams params(WTFMove(regs), WTFMove(gpScratch), WTFMove(fpScratch));
223
    DOMJITAccessCasePatchpointParams params(state.m_vm, WTFMove(regs), WTFMove(gpScratch), WTFMove(fpScratch));
224
    patchpoint->generator()->run(jit, params);
224
    patchpoint->generator()->run(jit, params);
225
    allocator.restoreReusedRegistersByPopping(jit, preservedState);
225
    allocator.restoreReusedRegistersByPopping(jit, preservedState);
226
    state.succeed();
226
    state.succeed();
- a/Source/JavaScriptCore/bytecode/ModuleProgramCodeBlock.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/bytecode/ModuleProgramCodeBlock.cpp_sec1
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo ModuleProgramCodeBlock::s_info = {
35
const ClassInfo ModuleProgramCodeBlock::s_info = {
36
    "ModuleProgramCodeBlock", &Base::s_info, 0,
36
    "ModuleProgramCodeBlock", &Base::s_info, nullptr, nullptr,
37
    CREATE_METHOD_TABLE(ModuleProgramCodeBlock)
37
    CREATE_METHOD_TABLE(ModuleProgramCodeBlock)
38
};
38
};
39
39
- a/Source/JavaScriptCore/bytecode/ProgramCodeBlock.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/bytecode/ProgramCodeBlock.cpp_sec1
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo ProgramCodeBlock::s_info = {
35
const ClassInfo ProgramCodeBlock::s_info = {
36
    "ProgramCodeBlock", &Base::s_info, 0,
36
    "ProgramCodeBlock", &Base::s_info, nullptr, nullptr,
37
    CREATE_METHOD_TABLE(ProgramCodeBlock)
37
    CREATE_METHOD_TABLE(ProgramCodeBlock)
38
};
38
};
39
39
- a/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp -1 / +1 lines
Lines 49-55 a/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp_sec1
49
49
50
namespace JSC {
50
namespace JSC {
51
51
52
const ClassInfo UnlinkedCodeBlock::s_info = { "UnlinkedCodeBlock", 0, 0, CREATE_METHOD_TABLE(UnlinkedCodeBlock) };
52
const ClassInfo UnlinkedCodeBlock::s_info = { "UnlinkedCodeBlock", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(UnlinkedCodeBlock) };
53
53
54
UnlinkedCodeBlock::UnlinkedCodeBlock(VM* vm, Structure* structure, CodeType codeType, const ExecutableInfo& info, DebuggerMode debuggerMode)
54
UnlinkedCodeBlock::UnlinkedCodeBlock(VM* vm, Structure* structure, CodeType codeType, const ExecutableInfo& info, DebuggerMode debuggerMode)
55
    : Base(*vm, structure)
55
    : Base(*vm, structure)
- a/Source/JavaScriptCore/bytecode/UnlinkedEvalCodeBlock.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/bytecode/UnlinkedEvalCodeBlock.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo UnlinkedEvalCodeBlock::s_info = { "UnlinkedEvalCodeBlock", &Base::s_info, 0, CREATE_METHOD_TABLE(UnlinkedEvalCodeBlock) };
33
const ClassInfo UnlinkedEvalCodeBlock::s_info = { "UnlinkedEvalCodeBlock", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(UnlinkedEvalCodeBlock) };
34
34
35
void UnlinkedEvalCodeBlock::destroy(JSCell* cell)
35
void UnlinkedEvalCodeBlock::destroy(JSCell* cell)
36
{
36
{
- a/Source/JavaScriptCore/bytecode/UnlinkedFunctionCodeBlock.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/bytecode/UnlinkedFunctionCodeBlock.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo UnlinkedFunctionCodeBlock::s_info = { "UnlinkedFunctionCodeBlock", &Base::s_info, 0, CREATE_METHOD_TABLE(UnlinkedFunctionCodeBlock) };
33
const ClassInfo UnlinkedFunctionCodeBlock::s_info = { "UnlinkedFunctionCodeBlock", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(UnlinkedFunctionCodeBlock) };
34
34
35
void UnlinkedFunctionCodeBlock::destroy(JSCell* cell)
35
void UnlinkedFunctionCodeBlock::destroy(JSCell* cell)
36
{
36
{
- a/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp -1 / +1 lines
Lines 42-48 namespace JSC { a/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp_sec1
42
42
43
static_assert(sizeof(UnlinkedFunctionExecutable) <= 256, "UnlinkedFunctionExecutable should fit in a 256-byte cell.");
43
static_assert(sizeof(UnlinkedFunctionExecutable) <= 256, "UnlinkedFunctionExecutable should fit in a 256-byte cell.");
44
44
45
const ClassInfo UnlinkedFunctionExecutable::s_info = { "UnlinkedFunctionExecutable", 0, 0, CREATE_METHOD_TABLE(UnlinkedFunctionExecutable) };
45
const ClassInfo UnlinkedFunctionExecutable::s_info = { "UnlinkedFunctionExecutable", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(UnlinkedFunctionExecutable) };
46
46
47
static UnlinkedFunctionCodeBlock* generateUnlinkedFunctionCodeBlock(
47
static UnlinkedFunctionCodeBlock* generateUnlinkedFunctionCodeBlock(
48
    VM& vm, UnlinkedFunctionExecutable* executable, const SourceCode& source,
48
    VM& vm, UnlinkedFunctionExecutable* executable, const SourceCode& source,
- a/Source/JavaScriptCore/bytecode/UnlinkedModuleProgramCodeBlock.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/bytecode/UnlinkedModuleProgramCodeBlock.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo UnlinkedModuleProgramCodeBlock::s_info = { "UnlinkedModuleProgramCodeBlock", &Base::s_info, nullptr, CREATE_METHOD_TABLE(UnlinkedModuleProgramCodeBlock) };
34
const ClassInfo UnlinkedModuleProgramCodeBlock::s_info = { "UnlinkedModuleProgramCodeBlock", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(UnlinkedModuleProgramCodeBlock) };
35
35
36
void UnlinkedModuleProgramCodeBlock::visitChildren(JSCell* cell, SlotVisitor& visitor)
36
void UnlinkedModuleProgramCodeBlock::visitChildren(JSCell* cell, SlotVisitor& visitor)
37
{
37
{
- a/Source/JavaScriptCore/bytecode/UnlinkedProgramCodeBlock.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/bytecode/UnlinkedProgramCodeBlock.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo UnlinkedProgramCodeBlock::s_info = { "UnlinkedProgramCodeBlock", &Base::s_info, 0, CREATE_METHOD_TABLE(UnlinkedProgramCodeBlock) };
34
const ClassInfo UnlinkedProgramCodeBlock::s_info = { "UnlinkedProgramCodeBlock", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(UnlinkedProgramCodeBlock) };
35
35
36
void UnlinkedProgramCodeBlock::visitChildren(JSCell* cell, SlotVisitor& visitor)
36
void UnlinkedProgramCodeBlock::visitChildren(JSCell* cell, SlotVisitor& visitor)
37
{
37
{
- a/Source/JavaScriptCore/debugger/DebuggerScope.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/debugger/DebuggerScope.cpp_sec1
34
34
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DebuggerScope);
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DebuggerScope);
36
36
37
const ClassInfo DebuggerScope::s_info = { "DebuggerScope", &Base::s_info, 0, CREATE_METHOD_TABLE(DebuggerScope) };
37
const ClassInfo DebuggerScope::s_info = { "DebuggerScope", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DebuggerScope) };
38
38
39
DebuggerScope* DebuggerScope::create(VM& vm, JSScope* scope)
39
DebuggerScope* DebuggerScope::create(VM& vm, JSScope* scope)
40
{
40
{
- a/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h -1 / +1 lines
Lines 2381-2387 bool AbstractInterpreter<AbstractStateType>::executeEffects(unsigned clobberLimi a/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h_sec1
2381
        // nobody would currently benefit from having that information. But it's a bug nonetheless.
2381
        // nobody would currently benefit from having that information. But it's a bug nonetheless.
2382
        forNode(node).clear(); // The result is not a JS value.
2382
        forNode(node).clear(); // The result is not a JS value.
2383
        break;
2383
        break;
2384
    case CheckDOM: {
2384
    case CheckSubClass: {
2385
        JSValue constant = forNode(node->child1()).value();
2385
        JSValue constant = forNode(node->child1()).value();
2386
        if (constant) {
2386
        if (constant) {
2387
            if (constant.isCell() && constant.asCell()->inherits(m_vm, node->classInfo())) {
2387
            if (constant.isCell() && constant.asCell()->inherits(m_vm, node->classInfo())) {
- a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp -3 / +1 lines
Lines 2993-3002 bool ByteCodeParser::handleDOMJITGetter(int resultOperand, const GetByIdVariant& a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp_sec1
2993
        return false;
2993
        return false;
2994
    addToGraph(CheckStructure, OpInfo(m_graph.addStructureSet(variant.structureSet())), thisNode);
2994
    addToGraph(CheckStructure, OpInfo(m_graph.addStructureSet(variant.structureSet())), thisNode);
2995
2995
2996
    Ref<DOMJIT::Patchpoint> checkDOMPatchpoint = domJIT->checkDOM();
2997
    m_graph.m_domJITPatchpoints.append(checkDOMPatchpoint.ptr());
2998
    // We do not need to emit CheckCell thingy here. When the custom accessor is replaced to different one, Structure transition occurs.
2996
    // We do not need to emit CheckCell thingy here. When the custom accessor is replaced to different one, Structure transition occurs.
2999
    addToGraph(CheckDOM, OpInfo(checkDOMPatchpoint.ptr()), OpInfo(domJIT->thisClassInfo()), thisNode);
2997
    addToGraph(CheckSubClass, OpInfo(domJIT->thisClassInfo()), thisNode);
3000
2998
3001
    CallDOMGetterData* callDOMGetterData = m_graph.m_callDOMGetterData.add();
2999
    CallDOMGetterData* callDOMGetterData = m_graph.m_callDOMGetterData.add();
3002
    Ref<DOMJIT::CallDOMGetterPatchpoint> callDOMGetterPatchpoint = domJIT->callDOMGetter();
3000
    Ref<DOMJIT::CallDOMGetterPatchpoint> callDOMGetterPatchpoint = domJIT->callDOMGetter();
- a/Source/JavaScriptCore/dfg/DFGClobberize.h -1 / +1 lines
Lines 987-993 void clobberize(Graph& graph, Node* node, const ReadFunctor& read, const WriteFu a/Source/JavaScriptCore/dfg/DFGClobberize.h_sec1
987
        def(HeapLocation(ButterflyLoc, JSObject_butterfly, node->child1()), LazyNode(node));
987
        def(HeapLocation(ButterflyLoc, JSObject_butterfly, node->child1()), LazyNode(node));
988
        return;
988
        return;
989
989
990
    case CheckDOM:
990
    case CheckSubClass:
991
        def(PureValue(node, node->classInfo()));
991
        def(PureValue(node, node->classInfo()));
992
        return;
992
        return;
993
993
- a/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp -1 / +1 lines
Lines 159-165 class ConstantFoldingPhase : public Phase { a/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp_sec1
159
                break;
159
                break;
160
            }
160
            }
161
161
162
            case CheckDOM: {
162
            case CheckSubClass: {
163
                JSValue constant = m_state.forNode(node->child1()).value();
163
                JSValue constant = m_state.forNode(node->child1()).value();
164
                if (constant) {
164
                if (constant) {
165
                    if (constant.isCell() && constant.asCell()->inherits(m_graph.m_vm, node->classInfo())) {
165
                    if (constant.isCell() && constant.asCell()->inherits(m_graph.m_vm, node->classInfo())) {
- a/Source/JavaScriptCore/dfg/DFGDOMJITPatchpointParams.h -1 / +2 lines
Lines 27-32 a/Source/JavaScriptCore/dfg/DFGDOMJITPatchpointParams.h_sec1
27
27
28
#if ENABLE(DFG_JIT)
28
#if ENABLE(DFG_JIT)
29
29
30
#include "DFGSpeculativeJIT.h"
30
#include "DOMJITPatchpointParams.h"
31
#include "DOMJITPatchpointParams.h"
31
32
32
namespace JSC { namespace DFG {
33
namespace JSC { namespace DFG {
Lines 36-42 class SpeculativeJIT; a/Source/JavaScriptCore/dfg/DFGDOMJITPatchpointParams.h_sec2
36
class DOMJITPatchpointParams : public DOMJIT::PatchpointParams {
37
class DOMJITPatchpointParams : public DOMJIT::PatchpointParams {
37
public:
38
public:
38
    DOMJITPatchpointParams(SpeculativeJIT* jit, Vector<DOMJIT::Value>&& regs, Vector<GPRReg>&& gpScratch, Vector<FPRReg>&& fpScratch)
39
    DOMJITPatchpointParams(SpeculativeJIT* jit, Vector<DOMJIT::Value>&& regs, Vector<GPRReg>&& gpScratch, Vector<FPRReg>&& fpScratch)
39
        : DOMJIT::PatchpointParams(WTFMove(regs), WTFMove(gpScratch), WTFMove(fpScratch))
40
        : DOMJIT::PatchpointParams(jit->vm(), WTFMove(regs), WTFMove(gpScratch), WTFMove(fpScratch))
40
        , m_jit(jit)
41
        , m_jit(jit)
41
    {
42
    {
42
    }
43
    }
- a/Source/JavaScriptCore/dfg/DFGDoesGC.cpp -1 / +1 lines
Lines 115-121 bool doesGC(Graph& graph, Node* node) a/Source/JavaScriptCore/dfg/DFGDoesGC.cpp_sec1
115
    case CheckStructure:
115
    case CheckStructure:
116
    case GetExecutable:
116
    case GetExecutable:
117
    case GetButterfly:
117
    case GetButterfly:
118
    case CheckDOM:
118
    case CheckSubClass:
119
    case CheckArray:
119
    case CheckArray:
120
    case GetScope:
120
    case GetScope:
121
    case SkipScope:
121
    case SkipScope:
- a/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp -7 / +5 lines
Lines 1876-1883 class FixupPhase : public Phase { a/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp_sec1
1876
            break;
1876
            break;
1877
        }
1877
        }
1878
1878
1879
        case CheckDOM: {
1879
        case CheckSubClass: {
1880
            fixupCheckDOM(node);
1880
            fixupCheckSubClass(node);
1881
            break;
1881
            break;
1882
        }
1882
        }
1883
1883
Lines 2973-2988 class FixupPhase : public Phase { a/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp_sec2
2973
        }
2973
        }
2974
2974
2975
        Node* thisNode = m_graph.varArgChild(node, 1).node();
2975
        Node* thisNode = m_graph.varArgChild(node, 1).node();
2976
        Ref<DOMJIT::Patchpoint> checkDOMPatchpoint = signature->checkDOM();
2976
        Node* checkSubClass = m_insertionSet.insertNode(m_indexInBlock, SpecNone, CheckSubClass, node->origin, OpInfo(signature->classInfo), Edge(thisNode));
2977
        m_graph.m_domJITPatchpoints.append(checkDOMPatchpoint.ptr());
2978
        Node* checkDOM = m_insertionSet.insertNode(m_indexInBlock, SpecNone, CheckDOM, node->origin, OpInfo(checkDOMPatchpoint.ptr()), OpInfo(signature->classInfo), Edge(thisNode));
2979
        node->convertToCallDOM(m_graph);
2977
        node->convertToCallDOM(m_graph);
2980
        fixupCheckDOM(checkDOM);
2978
        fixupCheckSubClass(checkSubClass);
2981
        fixupCallDOM(node);
2979
        fixupCallDOM(node);
2982
        return true;
2980
        return true;
2983
    }
2981
    }
2984
2982
2985
    void fixupCheckDOM(Node* node)
2983
    void fixupCheckSubClass(Node* node)
2986
    {
2984
    {
2987
        fixEdge<CellUse>(node->child1());
2985
        fixEdge<CellUse>(node->child1());
2988
    }
2986
    }
- a/Source/JavaScriptCore/dfg/DFGGraph.cpp +2 lines
Lines 238-243 void Graph::dump(PrintStream& out, const char* prefix, Node* node, DumpContext* a/Source/JavaScriptCore/dfg/DFGGraph.cpp_sec1
238
        out.print(comma, "id", node->identifierNumber(), "{", identifiers()[node->identifierNumber()], "}");
238
        out.print(comma, "id", node->identifierNumber(), "{", identifiers()[node->identifierNumber()], "}");
239
    if (node->hasPromotedLocationDescriptor())
239
    if (node->hasPromotedLocationDescriptor())
240
        out.print(comma, node->promotedLocationDescriptor());
240
        out.print(comma, node->promotedLocationDescriptor());
241
    if (node->hasClassInfo())
242
        out.print(comma, *node->classInfo());
241
    if (node->hasStructureSet())
243
    if (node->hasStructureSet())
242
        out.print(comma, inContext(node->structureSet().toStructureSet(), context));
244
        out.print(comma, inContext(node->structureSet().toStructureSet(), context));
243
    if (node->hasStructure())
245
    if (node->hasStructure())
- a/Source/JavaScriptCore/dfg/DFGNode.h -13 / +2 lines
Lines 2416-2432 struct Node { a/Source/JavaScriptCore/dfg/DFGNode.h_sec1
2416
        return m_opInfo.as<BasicBlockLocation*>();
2416
        return m_opInfo.as<BasicBlockLocation*>();
2417
    }
2417
    }
2418
2418
2419
    bool hasCheckDOMPatchpoint() const
2420
    {
2421
        return op() == CheckDOM;
2422
    }
2423
2424
    DOMJIT::Patchpoint* checkDOMPatchpoint()
2425
    {
2426
        ASSERT(hasCheckDOMPatchpoint());
2427
        return m_opInfo.as<DOMJIT::Patchpoint*>();
2428
    }
2429
2430
    bool hasCallDOMGetterData() const
2419
    bool hasCallDOMGetterData() const
2431
    {
2420
    {
2432
        return op() == CallDOMGetter;
2421
        return op() == CallDOMGetter;
Lines 2440-2451 struct Node { a/Source/JavaScriptCore/dfg/DFGNode.h_sec2
2440
2429
2441
    bool hasClassInfo() const
2430
    bool hasClassInfo() const
2442
    {
2431
    {
2443
        return op() == CheckDOM;
2432
        return op() == CheckSubClass;
2444
    }
2433
    }
2445
2434
2446
    const ClassInfo* classInfo()
2435
    const ClassInfo* classInfo()
2447
    {
2436
    {
2448
        return m_opInfo2.as<const ClassInfo*>();
2437
        return m_opInfo.as<const ClassInfo*>();
2449
    }
2438
    }
2450
2439
2451
    bool hasSignature() const
2440
    bool hasSignature() const
- a/Source/JavaScriptCore/dfg/DFGNodeType.h -1 / +1 lines
Lines 242-247 namespace JSC { namespace DFG { a/Source/JavaScriptCore/dfg/DFGNodeType.h_sec1
242
    macro(CheckInBounds, NodeMustGenerate) \
242
    macro(CheckInBounds, NodeMustGenerate) \
243
    macro(CheckStringIdent, NodeMustGenerate) \
243
    macro(CheckStringIdent, NodeMustGenerate) \
244
    macro(CheckTypeInfoFlags, NodeMustGenerate) /* Takes an OpInfo with the flags you want to test are set */\
244
    macro(CheckTypeInfoFlags, NodeMustGenerate) /* Takes an OpInfo with the flags you want to test are set */\
245
    macro(CheckSubClass, NodeMustGenerate) \
245
    macro(ParseInt, NodeMustGenerate | NodeResultJS) \
246
    macro(ParseInt, NodeMustGenerate | NodeResultJS) \
246
    \
247
    \
247
    /* Atomics object functions. */\
248
    /* Atomics object functions. */\
Lines 426-432 namespace JSC { namespace DFG { a/Source/JavaScriptCore/dfg/DFGNodeType.h_sec2
426
    \
427
    \
427
    macro(ToLowerCase, NodeResultJS) \
428
    macro(ToLowerCase, NodeResultJS) \
428
    /* Nodes for DOM JIT */\
429
    /* Nodes for DOM JIT */\
429
    macro(CheckDOM, NodeMustGenerate) \
430
    macro(CallDOMGetter, NodeResultJS | NodeMustGenerate) \
430
    macro(CallDOMGetter, NodeResultJS | NodeMustGenerate) \
431
    macro(CallDOM, NodeResultJS | NodeMustGenerate) \
431
    macro(CallDOM, NodeResultJS | NodeMustGenerate) \
432
432
- a/Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp -1 / +1 lines
Lines 844-850 class PredictionPropagationPhase : public Phase { a/Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp_sec1
844
            break;
844
            break;
845
        }
845
        }
846
846
847
        case CheckDOM:
847
        case CheckSubClass:
848
            break;
848
            break;
849
849
850
        case CallObjectConstructor: {
850
        case CallObjectConstructor: {
- a/Source/JavaScriptCore/dfg/DFGSafeToExecute.h -1 / +1 lines
Lines 217-223 bool safeToExecute(AbstractStateType& state, Graph& graph, Node* node) a/Source/JavaScriptCore/dfg/DFGSafeToExecute.h_sec1
217
    case GetButterfly:
217
    case GetButterfly:
218
    case CallDOMGetter:
218
    case CallDOMGetter:
219
    case CallDOM:
219
    case CallDOM:
220
    case CheckDOM:
220
    case CheckSubClass:
221
    case CheckArray:
221
    case CheckArray:
222
    case Arrayify:
222
    case Arrayify:
223
    case ArrayifyToStructure:
223
    case ArrayifyToStructure:
- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp -3 / +26 lines
Lines 7902-7911 void SpeculativeJIT::compileCallDOMGetter(Node* node) a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp_sec1
7902
    jsValueResult(result.regs(), node);
7902
    jsValueResult(result.regs(), node);
7903
}
7903
}
7904
7904
7905
void SpeculativeJIT::compileCheckDOM(Node* node)
7905
void SpeculativeJIT::compileCheckSubClass(Node* node)
7906
{
7906
{
7907
    // FIXME: We can add the fallback implementation that inlines jsDynamicCast things here.
7907
    const ClassInfo* classInfo = node->classInfo();
7908
    DOMJIT::Patchpoint* patchpoint = node->checkDOMPatchpoint();
7908
    if (!classInfo->checkSubClassPatchpoint) {
7909
        SpeculateCellOperand base(this, node->child1());
7910
        GPRTemporary other(this);
7911
        GPRTemporary specified(this);
7912
7913
        GPRReg baseGPR = base.gpr();
7914
        GPRReg otherGPR = other.gpr();
7915
        GPRReg specifiedGPR = specified.gpr();
7916
7917
        m_jit.emitLoadStructure(*m_jit.vm(), baseGPR, otherGPR, specifiedGPR);
7918
        m_jit.loadPtr(CCallHelpers::Address(otherGPR, Structure::classInfoOffset()), otherGPR);
7919
        m_jit.move(CCallHelpers::TrustedImmPtr(node->classInfo()), specifiedGPR);
7920
7921
        CCallHelpers::Label loop = m_jit.label();
7922
        auto done = m_jit.branchPtr(CCallHelpers::Equal, otherGPR, specifiedGPR);
7923
        m_jit.loadPtr(CCallHelpers::Address(otherGPR, ClassInfo::offsetOfParentClass()), otherGPR);
7924
        m_jit.branchTestPtr(CCallHelpers::NonZero, otherGPR).linkTo(loop, &m_jit);
7925
        speculationCheck(BadType, JSValueSource::unboxedCell(baseGPR), node->child1(), m_jit.jump());
7926
        done.link(&m_jit);
7927
        noResult(node);
7928
        return;
7929
    }
7930
7931
    RefPtr<DOMJIT::Patchpoint> patchpoint = classInfo->checkSubClassPatchpoint();
7909
7932
7910
    Vector<GPRReg> gpScratch;
7933
    Vector<GPRReg> gpScratch;
7911
    Vector<FPRReg> fpScratch;
7934
    Vector<FPRReg> fpScratch;
- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h -1 / +6 lines
Lines 111-116 class SpeculativeJIT { a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h_sec1
111
    SpeculativeJIT(JITCompiler&);
111
    SpeculativeJIT(JITCompiler&);
112
    ~SpeculativeJIT();
112
    ~SpeculativeJIT();
113
113
114
    VM& vm()
115
    {
116
        return *m_jit.vm();
117
    }
118
114
    struct TrustedImmPtr {
119
    struct TrustedImmPtr {
115
        template <typename T>
120
        template <typename T>
116
        explicit TrustedImmPtr(T* value)
121
        explicit TrustedImmPtr(T* value)
Lines 2758-2764 class SpeculativeJIT { a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h_sec2
2758
    void compileGetButterfly(Node*);
2763
    void compileGetButterfly(Node*);
2759
    void compileCallDOMGetter(Node*);
2764
    void compileCallDOMGetter(Node*);
2760
    void compileCallDOM(Node*);
2765
    void compileCallDOM(Node*);
2761
    void compileCheckDOM(Node*);
2766
    void compileCheckSubClass(Node*);
2762
    
2767
    
2763
#if USE(JSVALUE32_64)
2768
#if USE(JSVALUE32_64)
2764
    template<typename BaseOperandType, typename PropertyOperandType, typename ValueOperandType, typename TagType>
2769
    template<typename BaseOperandType, typename PropertyOperandType, typename ValueOperandType, typename TagType>
- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp -2 / +2 lines
Lines 5616-5623 void SpeculativeJIT::compile(Node* node) a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp_sec1
5616
        compileCallDOMGetter(node);
5616
        compileCallDOMGetter(node);
5617
        break;
5617
        break;
5618
5618
5619
    case CheckDOM:
5619
    case CheckSubClass:
5620
        compileCheckDOM(node);
5620
        compileCheckSubClass(node);
5621
        break;
5621
        break;
5622
5622
5623
    case Unreachable:
5623
    case Unreachable:
- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp -2 / +2 lines
Lines 5984-5991 void SpeculativeJIT::compile(Node* node) a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp_sec1
5984
        compileCallDOMGetter(node);
5984
        compileCallDOMGetter(node);
5985
        break;
5985
        break;
5986
5986
5987
    case CheckDOM:
5987
    case CheckSubClass:
5988
        compileCheckDOM(node);
5988
        compileCheckSubClass(node);
5989
        break;
5989
        break;
5990
5990
5991
#if ENABLE(FTL_JIT)        
5991
#if ENABLE(FTL_JIT)        
- a/Source/JavaScriptCore/domjit/DOMJITGetterSetter.h -1 lines
Lines 54-60 class GetterSetter { a/Source/JavaScriptCore/domjit/DOMJITGetterSetter.h_sec1
54
54
55
#if ENABLE(JIT)
55
#if ENABLE(JIT)
56
    virtual Ref<DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() = 0;
56
    virtual Ref<DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() = 0;
57
    virtual Ref<DOMJIT::Patchpoint> checkDOM() = 0;
58
#endif
57
#endif
59
58
60
private:
59
private:
- a/Source/JavaScriptCore/domjit/DOMJITPatchpointParams.h -2 / +6 lines
Lines 47-59 WTF_MAKE_NONCOPYABLE(PatchpointParams); a/Source/JavaScriptCore/domjit/DOMJITPatchpointParams.h_sec1
47
    GPRReg gpScratch(unsigned index) const { return m_gpScratch[index]; }
47
    GPRReg gpScratch(unsigned index) const { return m_gpScratch[index]; }
48
    FPRReg fpScratch(unsigned index) const { return m_fpScratch[index]; }
48
    FPRReg fpScratch(unsigned index) const { return m_fpScratch[index]; }
49
49
50
    PatchpointParams(Vector<Value>&& regs, Vector<GPRReg>&& gpScratch, Vector<FPRReg>&& fpScratch)
50
    PatchpointParams(VM& vm, Vector<Value>&& regs, Vector<GPRReg>&& gpScratch, Vector<FPRReg>&& fpScratch)
51
        : m_regs(WTFMove(regs))
51
        : m_vm(vm)
52
        , m_regs(WTFMove(regs))
52
        , m_gpScratch(WTFMove(gpScratch))
53
        , m_gpScratch(WTFMove(gpScratch))
53
        , m_fpScratch(WTFMove(fpScratch))
54
        , m_fpScratch(WTFMove(fpScratch))
54
    {
55
    {
55
    }
56
    }
56
57
58
    VM& vm() { return m_vm; }
59
57
    template<typename FunctionType, typename ResultType, typename... Arguments>
60
    template<typename FunctionType, typename ResultType, typename... Arguments>
58
    void addSlowPathCall(CCallHelpers::JumpList from, CCallHelpers& jit, FunctionType function, ResultType result, Arguments... arguments)
61
    void addSlowPathCall(CCallHelpers::JumpList from, CCallHelpers& jit, FunctionType function, ResultType result, Arguments... arguments)
59
    {
62
    {
Lines 65-70 WTF_MAKE_NONCOPYABLE(PatchpointParams); a/Source/JavaScriptCore/domjit/DOMJITPatchpointParams.h_sec2
65
    DOMJIT_SLOW_PATH_CALLS(JSC_DEFINE_CALL_OPERATIONS)
68
    DOMJIT_SLOW_PATH_CALLS(JSC_DEFINE_CALL_OPERATIONS)
66
#undef JSC_DEFINE_CALL_OPERATIONS
69
#undef JSC_DEFINE_CALL_OPERATIONS
67
70
71
    VM& m_vm;
68
    Vector<Value> m_regs;
72
    Vector<Value> m_regs;
69
    Vector<GPRReg> m_gpScratch;
73
    Vector<GPRReg> m_gpScratch;
70
    Vector<FPRReg> m_fpScratch;
74
    Vector<FPRReg> m_fpScratch;
- a/Source/JavaScriptCore/domjit/DOMJITSignature.h -10 / +1 lines
Lines 44-52 typedef Ref<Patchpoint> CheckDOMGeneratorFunction(void); a/Source/JavaScriptCore/domjit/DOMJITSignature.h_sec1
44
class Signature {
44
class Signature {
45
public:
45
public:
46
    template<typename... Arguments>
46
    template<typename... Arguments>
47
    constexpr Signature(uintptr_t unsafeFunction, CheckDOMGeneratorFunction* checkDOMGeneratorFunction, const ClassInfo* classInfo, Effect effect, SpeculatedType result, Arguments... arguments)
47
    constexpr Signature(uintptr_t unsafeFunction, const ClassInfo* classInfo, Effect effect, SpeculatedType result, Arguments... arguments)
48
        : unsafeFunction(unsafeFunction)
48
        : unsafeFunction(unsafeFunction)
49
        , checkDOMGeneratorFunction(checkDOMGeneratorFunction)
50
        , classInfo(classInfo)
49
        , classInfo(classInfo)
51
        , effect(effect)
50
        , effect(effect)
52
        , result(result)
51
        , result(result)
Lines 55-69 class Signature { a/Source/JavaScriptCore/domjit/DOMJITSignature.h_sec2
55
    {
54
    {
56
    }
55
    }
57
56
58
#if ENABLE(JIT)
59
    Ref<Patchpoint> checkDOM() const
60
    {
61
        return checkDOMGeneratorFunction();
62
    }
63
#endif
64
65
    uintptr_t unsafeFunction;
57
    uintptr_t unsafeFunction;
66
    CheckDOMGeneratorFunction* checkDOMGeneratorFunction;
67
    const ClassInfo* const classInfo;
58
    const ClassInfo* const classInfo;
68
    const Effect effect;
59
    const Effect effect;
69
    const SpeculatedType result;
60
    const SpeculatedType result;
- a/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h +1 lines
Lines 48-53 namespace JSC { namespace FTL { a/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h_sec1
48
    macro(Butterfly_publicLength, Butterfly::offsetOfPublicLength()) \
48
    macro(Butterfly_publicLength, Butterfly::offsetOfPublicLength()) \
49
    macro(Butterfly_vectorLength, Butterfly::offsetOfVectorLength()) \
49
    macro(Butterfly_vectorLength, Butterfly::offsetOfVectorLength()) \
50
    macro(CallFrame_callerFrame, CallFrame::callerFrameOffset()) \
50
    macro(CallFrame_callerFrame, CallFrame::callerFrameOffset()) \
51
    macro(ClassInfo_parentClass, ClassInfo::offsetOfParentClass()) \
51
    macro(DirectArguments_callee, DirectArguments::offsetOfCallee()) \
52
    macro(DirectArguments_callee, DirectArguments::offsetOfCallee()) \
52
    macro(DirectArguments_length, DirectArguments::offsetOfLength()) \
53
    macro(DirectArguments_length, DirectArguments::offsetOfLength()) \
53
    macro(DirectArguments_minCapacity, DirectArguments::offsetOfMinCapacity()) \
54
    macro(DirectArguments_minCapacity, DirectArguments::offsetOfMinCapacity()) \
- a/Source/JavaScriptCore/ftl/FTLCapabilities.cpp -1 / +1 lines
Lines 278-284 inline CapabilityLevel canCompile(Node* node) a/Source/JavaScriptCore/ftl/FTLCapabilities.cpp_sec1
278
    case DefineAccessorProperty:
278
    case DefineAccessorProperty:
279
    case ToLowerCase:
279
    case ToLowerCase:
280
    case NumberToStringWithRadix:
280
    case NumberToStringWithRadix:
281
    case CheckDOM:
281
    case CheckSubClass:
282
    case CallDOM:
282
    case CallDOM:
283
    case CallDOMGetter:
283
    case CallDOMGetter:
284
    case ArraySlice:
284
    case ArraySlice:
- a/Source/JavaScriptCore/ftl/FTLDOMJITPatchpointParams.h -1 / +2 lines
Lines 29-34 a/Source/JavaScriptCore/ftl/FTLDOMJITPatchpointParams.h_sec1
29
29
30
#include "B3StackmapGenerationParams.h"
30
#include "B3StackmapGenerationParams.h"
31
#include "DOMJITPatchpointParams.h"
31
#include "DOMJITPatchpointParams.h"
32
#include "FTLState.h"
32
33
33
namespace JSC { namespace FTL {
34
namespace JSC { namespace FTL {
34
35
Lines 37-43 class State; a/Source/JavaScriptCore/ftl/FTLDOMJITPatchpointParams.h_sec2
37
class DOMJITPatchpointParams : public DOMJIT::PatchpointParams {
38
class DOMJITPatchpointParams : public DOMJIT::PatchpointParams {
38
public:
39
public:
39
    DOMJITPatchpointParams(State& state, const B3::StackmapGenerationParams& params, DFG::Node* node, Box<CCallHelpers::JumpList> exceptions, Vector<DOMJIT::Value>&& regs, Vector<GPRReg>&& gpScratch, Vector<FPRReg>&& fpScratch)
40
    DOMJITPatchpointParams(State& state, const B3::StackmapGenerationParams& params, DFG::Node* node, Box<CCallHelpers::JumpList> exceptions, Vector<DOMJIT::Value>&& regs, Vector<GPRReg>&& gpScratch, Vector<FPRReg>&& fpScratch)
40
        : DOMJIT::PatchpointParams(WTFMove(regs), WTFMove(gpScratch), WTFMove(fpScratch))
41
        : DOMJIT::PatchpointParams(state.vm(), WTFMove(regs), WTFMove(gpScratch), WTFMove(fpScratch))
41
        , m_state(state)
42
        , m_state(state)
42
        , m_params(params)
43
        , m_params(params)
43
        , m_node(node)
44
        , m_node(node)
- a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp -4 / +27 lines
Lines 1093-1100 class LowerDFGToB3 { a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp_sec1
1093
        case NumberToStringWithRadix:
1093
        case NumberToStringWithRadix:
1094
            compileNumberToStringWithRadix();
1094
            compileNumberToStringWithRadix();
1095
            break;
1095
            break;
1096
        case CheckDOM:
1096
        case CheckSubClass:
1097
            compileCheckDOM();
1097
            compileCheckSubClass();
1098
            break;
1098
            break;
1099
        case CallDOM:
1099
        case CallDOM:
1100
            compileCallDOM();
1100
            compileCallDOM();
Lines 10140-10151 class LowerDFGToB3 { a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp_sec2
10140
        crash();
10140
        crash();
10141
    }
10141
    }
10142
10142
10143
    void compileCheckDOM()
10143
    void compileCheckSubClass()
10144
    {
10144
    {
10145
        LValue cell = lowCell(m_node->child1());
10145
        LValue cell = lowCell(m_node->child1());
10146
10146
10147
        DOMJIT::Patchpoint* domJIT = m_node->checkDOMPatchpoint();
10147
        const ClassInfo* classInfo = m_node->classInfo();
10148
        if (!classInfo->checkSubClassPatchpoint) {
10149
            LBasicBlock loop = m_out.newBlock();
10150
            LBasicBlock parentClass = m_out.newBlock();
10151
            LBasicBlock continuation = m_out.newBlock();
10152
10153
            LValue structure = loadStructure(cell);
10154
            ValueFromBlock otherAtStart = m_out.anchor(m_out.loadPtr(structure, m_heaps.Structure_classInfo));
10155
            m_out.jump(loop);
10156
10157
            LBasicBlock lastNext = m_out.appendTo(loop, parentClass);
10158
            LValue other = m_out.phi(pointerType(), otherAtStart);
10159
            m_out.branch(m_out.equal(other, m_out.constIntPtr(classInfo)), unsure(continuation), unsure(parentClass));
10160
10161
            m_out.appendTo(parentClass, continuation);
10162
            LValue parent = m_out.loadPtr(other, m_heaps.ClassInfo_parentClass);
10163
            speculate(BadType, jsValueValue(cell), m_node->child1().node(), m_out.isNull(parent));
10164
            m_out.addIncomingToPhi(other, m_out.anchor(parent));
10165
            m_out.jump(loop);
10166
10167
            m_out.appendTo(continuation, lastNext);
10168
            return;
10169
        }
10148
10170
10171
        RefPtr<DOMJIT::Patchpoint> domJIT = classInfo->checkSubClassPatchpoint();
10149
        PatchpointValue* patchpoint = m_out.patchpoint(Void);
10172
        PatchpointValue* patchpoint = m_out.patchpoint(Void);
10150
        patchpoint->appendSomeRegister(cell);
10173
        patchpoint->appendSomeRegister(cell);
10151
        patchpoint->append(m_tagMask, ValueRep::reg(GPRInfo::tagMaskRegister));
10174
        patchpoint->append(m_tagMask, ValueRep::reg(GPRInfo::tagMaskRegister));
- a/Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp -1 / +1 lines
Lines 62-68 using namespace JSC; a/Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp_sec1
62
62
63
namespace Inspector {
63
namespace Inspector {
64
64
65
const ClassInfo JSInjectedScriptHost::s_info = { "InjectedScriptHost", &Base::s_info, 0, CREATE_METHOD_TABLE(JSInjectedScriptHost) };
65
const ClassInfo JSInjectedScriptHost::s_info = { "InjectedScriptHost", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSInjectedScriptHost) };
66
66
67
JSInjectedScriptHost::JSInjectedScriptHost(VM& vm, Structure* structure, Ref<InjectedScriptHost>&& impl)
67
JSInjectedScriptHost::JSInjectedScriptHost(VM& vm, Structure* structure, Ref<InjectedScriptHost>&& impl)
68
    : JSDestructibleObject(vm, structure)
68
    : JSDestructibleObject(vm, structure)
- a/Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp -1 / +1 lines
Lines 53-59 static EncodedJSValue JSC_HOST_CALL jsInjectedScriptHostPrototypeFunctionEvaluat a/Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp_sec1
53
53
54
static EncodedJSValue JSC_HOST_CALL jsInjectedScriptHostPrototypeAttributeEvaluate(ExecState*);
54
static EncodedJSValue JSC_HOST_CALL jsInjectedScriptHostPrototypeAttributeEvaluate(ExecState*);
55
55
56
const ClassInfo JSInjectedScriptHostPrototype::s_info = { "InjectedScriptHost", &Base::s_info, 0, CREATE_METHOD_TABLE(JSInjectedScriptHostPrototype) };
56
const ClassInfo JSInjectedScriptHostPrototype::s_info = { "InjectedScriptHost", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSInjectedScriptHostPrototype) };
57
57
58
void JSInjectedScriptHostPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject)
58
void JSInjectedScriptHostPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject)
59
{
59
{
- a/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp -1 / +1 lines
Lines 37-43 using namespace JSC; a/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp_sec1
37
37
38
namespace Inspector {
38
namespace Inspector {
39
39
40
const ClassInfo JSJavaScriptCallFrame::s_info = { "JavaScriptCallFrame", &Base::s_info, 0, CREATE_METHOD_TABLE(JSJavaScriptCallFrame) };
40
const ClassInfo JSJavaScriptCallFrame::s_info = { "JavaScriptCallFrame", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSJavaScriptCallFrame) };
41
41
42
JSJavaScriptCallFrame::JSJavaScriptCallFrame(VM& vm, Structure* structure, Ref<JavaScriptCallFrame>&& impl)
42
JSJavaScriptCallFrame::JSJavaScriptCallFrame(VM& vm, Structure* structure, Ref<JavaScriptCallFrame>&& impl)
43
    : JSDestructibleObject(vm, structure)
43
    : JSDestructibleObject(vm, structure)
- a/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp -1 / +1 lines
Lines 51-57 static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeThisObject(Exe a/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp_sec1
51
static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeType(ExecState*);
51
static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeType(ExecState*);
52
static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameIsTailDeleted(ExecState*);
52
static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameIsTailDeleted(ExecState*);
53
53
54
const ClassInfo JSJavaScriptCallFramePrototype::s_info = { "JavaScriptCallFrame", &Base::s_info, 0, CREATE_METHOD_TABLE(JSJavaScriptCallFramePrototype) };
54
const ClassInfo JSJavaScriptCallFramePrototype::s_info = { "JavaScriptCallFrame", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSJavaScriptCallFramePrototype) };
55
55
56
void JSJavaScriptCallFramePrototype::finishCreation(VM& vm, JSGlobalObject* globalObject)
56
void JSJavaScriptCallFramePrototype::finishCreation(VM& vm, JSGlobalObject* globalObject)
57
{
57
{
- a/Source/JavaScriptCore/jsc.cpp -35 / +90 lines
Lines 589-595 class DOMJITNode : public JSNonFinalObject { a/Source/JavaScriptCore/jsc.cpp_sec1
589
    }
589
    }
590
590
591
#if ENABLE(JIT)
591
#if ENABLE(JIT)
592
    static Ref<DOMJIT::Patchpoint> checkDOMJITNode()
592
    static RefPtr<DOMJIT::Patchpoint> checkSubClassPatchpoint()
593
    {
593
    {
594
        Ref<DOMJIT::Patchpoint> patchpoint = DOMJIT::Patchpoint::create();
594
        Ref<DOMJIT::Patchpoint> patchpoint = DOMJIT::Patchpoint::create();
595
        patchpoint->setGenerator([=](CCallHelpers& jit, DOMJIT::PatchpointParams& params) {
595
        patchpoint->setGenerator([=](CCallHelpers& jit, DOMJIT::PatchpointParams& params) {
Lines 600-606 class DOMJITNode : public JSNonFinalObject { a/Source/JavaScriptCore/jsc.cpp_sec2
600
                CCallHelpers::TrustedImm32(JSC::JSType(LastJSCObjectType + 1))));
600
                CCallHelpers::TrustedImm32(JSC::JSType(LastJSCObjectType + 1))));
601
            return failureCases;
601
            return failureCases;
602
        });
602
        });
603
        return patchpoint;
603
        return WTFMove(patchpoint);
604
    }
604
    }
605
#endif
605
#endif
606
606
Lines 653-663 class DOMJITGetter : public DOMJITNode { a/Source/JavaScriptCore/jsc.cpp_sec3
653
        }
653
        }
654
654
655
#if ENABLE(JIT)
655
#if ENABLE(JIT)
656
        Ref<DOMJIT::Patchpoint> checkDOM() override
657
        {
658
            return DOMJITNode::checkDOMJITNode();
659
        }
660
661
        static EncodedJSValue JIT_OPERATION slowCall(ExecState* exec, void* pointer)
656
        static EncodedJSValue JIT_OPERATION slowCall(ExecState* exec, void* pointer)
662
        {
657
        {
663
            NativeCallFrameTracer tracer(&exec->vm(), exec);
658
            NativeCallFrameTracer tracer(&exec->vm(), exec);
Lines 738-748 class DOMJITGetterComplex : public DOMJITNode { a/Source/JavaScriptCore/jsc.cpp_sec4
738
        }
733
        }
739
734
740
#if ENABLE(JIT)
735
#if ENABLE(JIT)
741
        Ref<DOMJIT::Patchpoint> checkDOM() override
742
        {
743
            return DOMJITNode::checkDOMJITNode();
744
        }
745
746
        static EncodedJSValue JIT_OPERATION slowCall(ExecState* exec, void* pointer)
736
        static EncodedJSValue JIT_OPERATION slowCall(ExecState* exec, void* pointer)
747
        {
737
        {
748
            VM& vm = exec->vm();
738
            VM& vm = exec->vm();
Lines 856-874 class DOMJITFunctionObject : public DOMJITNode { a/Source/JavaScriptCore/jsc.cpp_sec5
856
        return JSValue::encode(jsNumber(thisObject->value()));
846
        return JSValue::encode(jsNumber(thisObject->value()));
857
    }
847
    }
858
848
859
#if ENABLE(JIT)
860
    static EncodedJSValue JIT_OPERATION unsafeFunction(ExecState* exec, DOMJITNode* node)
849
    static EncodedJSValue JIT_OPERATION unsafeFunction(ExecState* exec, DOMJITNode* node)
861
    {
850
    {
862
        NativeCallFrameTracer tracer(&exec->vm(), exec);
851
        NativeCallFrameTracer tracer(&exec->vm(), exec);
863
        return JSValue::encode(jsNumber(node->value()));
852
        return JSValue::encode(jsNumber(node->value()));
864
    }
853
    }
865
854
866
    static Ref<DOMJIT::Patchpoint> checkDOMJITNode()
855
#if ENABLE(JIT)
856
    static RefPtr<DOMJIT::Patchpoint> checkSubClassPatchpoint()
867
    {
857
    {
868
        static const double value = 42.0;
869
        Ref<DOMJIT::Patchpoint> patchpoint = DOMJIT::Patchpoint::create();
858
        Ref<DOMJIT::Patchpoint> patchpoint = DOMJIT::Patchpoint::create();
870
        patchpoint->numFPScratchRegisters = 1;
859
        patchpoint->numFPScratchRegisters = 1;
871
        patchpoint->setGenerator([=](CCallHelpers& jit, DOMJIT::PatchpointParams& params) {
860
        patchpoint->setGenerator([=](CCallHelpers& jit, DOMJIT::PatchpointParams& params) {
861
            static const double value = 42.0;
872
            CCallHelpers::JumpList failureCases;
862
            CCallHelpers::JumpList failureCases;
873
            // May use scratch registers.
863
            // May use scratch registers.
874
            jit.loadDouble(CCallHelpers::TrustedImmPtr(&value), params.fpScratch(0));
864
            jit.loadDouble(CCallHelpers::TrustedImmPtr(&value), params.fpScratch(0));
Lines 878-884 class DOMJITFunctionObject : public DOMJITNode { a/Source/JavaScriptCore/jsc.cpp_sec6
878
                CCallHelpers::TrustedImm32(JSC::JSType(LastJSCObjectType + 1))));
868
                CCallHelpers::TrustedImm32(JSC::JSType(LastJSCObjectType + 1))));
879
            return failureCases;
869
            return failureCases;
880
        });
870
        });
881
        return patchpoint;
871
        return WTFMove(patchpoint);
882
    }
872
    }
883
#endif
873
#endif
884
874
Lines 886-917 class DOMJITFunctionObject : public DOMJITNode { a/Source/JavaScriptCore/jsc.cpp_sec7
886
    void finishCreation(VM&, JSGlobalObject*);
876
    void finishCreation(VM&, JSGlobalObject*);
887
};
877
};
888
878
889
#if ENABLE(JIT)
879
static const DOMJIT::Signature DOMJITFunctionObjectSignature((uintptr_t)DOMJITFunctionObject::unsafeFunction, DOMJITFunctionObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
890
static const DOMJIT::Signature DOMJITFunctionObjectSignature((uintptr_t)DOMJITFunctionObject::unsafeFunction, DOMJITFunctionObject::checkDOMJITNode, DOMJITFunctionObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
891
#endif
892
880
893
void DOMJITFunctionObject::finishCreation(VM& vm, JSGlobalObject* globalObject)
881
void DOMJITFunctionObject::finishCreation(VM& vm, JSGlobalObject* globalObject)
894
{
882
{
895
    Base::finishCreation(vm);
883
    Base::finishCreation(vm);
896
#if ENABLE(JIT)
897
    putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, safeFunction, NoIntrinsic, &DOMJITFunctionObjectSignature, ReadOnly);
884
    putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, safeFunction, NoIntrinsic, &DOMJITFunctionObjectSignature, ReadOnly);
898
#else
899
    putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, safeFunction, NoIntrinsic, nullptr, ReadOnly);
900
#endif
901
}
885
}
902
886
887
class DOMJITCheckSubClassObject : public DOMJITNode {
888
public:
889
    DOMJITCheckSubClassObject(VM& vm, Structure* structure)
890
        : Base(vm, structure)
891
    {
892
    }
893
894
    DECLARE_INFO;
895
    typedef DOMJITNode Base;
896
    static const unsigned StructureFlags = Base::StructureFlags;
897
898
899
    static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
900
    {
901
        return Structure::create(vm, globalObject, prototype, TypeInfo(JSC::JSType(LastJSCObjectType + 1), StructureFlags), info());
902
    }
903
904
    static DOMJITCheckSubClassObject* create(VM& vm, JSGlobalObject* globalObject, Structure* structure)
905
    {
906
        DOMJITCheckSubClassObject* object = new (NotNull, allocateCell<DOMJITCheckSubClassObject>(vm.heap, sizeof(DOMJITCheckSubClassObject))) DOMJITCheckSubClassObject(vm, structure);
907
        object->finishCreation(vm, globalObject);
908
        return object;
909
    }
910
911
    static EncodedJSValue JSC_HOST_CALL safeFunction(ExecState* exec)
912
    {
913
        VM& vm = exec->vm();
914
        auto scope = DECLARE_THROW_SCOPE(vm);
915
916
        auto* thisObject = jsDynamicCast<DOMJITCheckSubClassObject*>(vm, exec->thisValue());
917
        if (!thisObject)
918
            return throwVMTypeError(exec, scope);
919
        return JSValue::encode(jsNumber(thisObject->value()));
920
    }
921
922
    static EncodedJSValue JIT_OPERATION unsafeFunction(ExecState* exec, DOMJITNode* node)
923
    {
924
        NativeCallFrameTracer tracer(&exec->vm(), exec);
925
        return JSValue::encode(jsNumber(node->value()));
926
    }
927
928
private:
929
    void finishCreation(VM&, JSGlobalObject*);
930
};
931
932
static const DOMJIT::Signature DOMJITCheckSubClassObjectSignature((uintptr_t)DOMJITCheckSubClassObject::unsafeFunction, DOMJITCheckSubClassObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
903
933
904
const ClassInfo Element::s_info = { "Element", &Base::s_info, nullptr, CREATE_METHOD_TABLE(Element) };
934
void DOMJITCheckSubClassObject::finishCreation(VM& vm, JSGlobalObject* globalObject)
905
const ClassInfo Masquerader::s_info = { "Masquerader", &Base::s_info, nullptr, CREATE_METHOD_TABLE(Masquerader) };
935
{
906
const ClassInfo Root::s_info = { "Root", &Base::s_info, nullptr, CREATE_METHOD_TABLE(Root) };
936
    Base::finishCreation(vm);
907
const ClassInfo ImpureGetter::s_info = { "ImpureGetter", &Base::s_info, nullptr, CREATE_METHOD_TABLE(ImpureGetter) };
937
    putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, safeFunction, NoIntrinsic, &DOMJITCheckSubClassObjectSignature, ReadOnly);
908
const ClassInfo CustomGetter::s_info = { "CustomGetter", &Base::s_info, nullptr, CREATE_METHOD_TABLE(CustomGetter) };
938
}
909
const ClassInfo DOMJITNode::s_info = { "DOMJITNode", &Base::s_info, nullptr, CREATE_METHOD_TABLE(DOMJITNode) };
939
910
const ClassInfo DOMJITGetter::s_info = { "DOMJITGetter", &Base::s_info, nullptr, CREATE_METHOD_TABLE(DOMJITGetter) };
940
const ClassInfo Element::s_info = { "Element", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(Element) };
911
const ClassInfo DOMJITGetterComplex::s_info = { "DOMJITGetterComplex", &Base::s_info, nullptr, CREATE_METHOD_TABLE(DOMJITGetterComplex) };
941
const ClassInfo Masquerader::s_info = { "Masquerader", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(Masquerader) };
912
const ClassInfo DOMJITFunctionObject::s_info = { "DOMJITFunctionObject", &Base::s_info, nullptr, CREATE_METHOD_TABLE(DOMJITFunctionObject) };
942
const ClassInfo Root::s_info = { "Root", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(Root) };
913
const ClassInfo RuntimeArray::s_info = { "RuntimeArray", &Base::s_info, nullptr, CREATE_METHOD_TABLE(RuntimeArray) };
943
const ClassInfo ImpureGetter::s_info = { "ImpureGetter", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ImpureGetter) };
914
const ClassInfo SimpleObject::s_info = { "SimpleObject", &Base::s_info, nullptr, CREATE_METHOD_TABLE(SimpleObject) };
944
const ClassInfo CustomGetter::s_info = { "CustomGetter", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(CustomGetter) };
945
#if ENABLE(JIT)
946
const ClassInfo DOMJITNode::s_info = { "DOMJITNode", &Base::s_info, nullptr, &DOMJITNode::checkSubClassPatchpoint, CREATE_METHOD_TABLE(DOMJITNode) };
947
#else
948
const ClassInfo DOMJITNode::s_info = { "DOMJITNode", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DOMJITNode) };
949
#endif
950
const ClassInfo DOMJITGetter::s_info = { "DOMJITGetter", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DOMJITGetter) };
951
const ClassInfo DOMJITGetterComplex::s_info = { "DOMJITGetterComplex", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DOMJITGetterComplex) };
952
#if ENABLE(JIT)
953
const ClassInfo DOMJITFunctionObject::s_info = { "DOMJITFunctionObject", &Base::s_info, nullptr, &DOMJITFunctionObject::checkSubClassPatchpoint, CREATE_METHOD_TABLE(DOMJITFunctionObject) };
954
#else
955
const ClassInfo DOMJITFunctionObject::s_info = { "DOMJITFunctionObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DOMJITFunctionObject) };
956
#endif
957
const ClassInfo DOMJITCheckSubClassObject::s_info = { "DOMJITCheckSubClassObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DOMJITCheckSubClassObject) };
958
const ClassInfo RuntimeArray::s_info = { "RuntimeArray", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(RuntimeArray) };
959
const ClassInfo SimpleObject::s_info = { "SimpleObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(SimpleObject) };
915
static unsigned asyncTestPasses { 0 };
960
static unsigned asyncTestPasses { 0 };
916
static unsigned asyncTestExpectedPasses { 0 };
961
static unsigned asyncTestExpectedPasses { 0 };
917
962
Lines 1003-1008 static EncodedJSValue JSC_HOST_CALL functionCreateDOMJITNodeObject(ExecState*); a/Source/JavaScriptCore/jsc.cpp_sec8
1003
static EncodedJSValue JSC_HOST_CALL functionCreateDOMJITGetterObject(ExecState*);
1048
static EncodedJSValue JSC_HOST_CALL functionCreateDOMJITGetterObject(ExecState*);
1004
static EncodedJSValue JSC_HOST_CALL functionCreateDOMJITGetterComplexObject(ExecState*);
1049
static EncodedJSValue JSC_HOST_CALL functionCreateDOMJITGetterComplexObject(ExecState*);
1005
static EncodedJSValue JSC_HOST_CALL functionCreateDOMJITFunctionObject(ExecState*);
1050
static EncodedJSValue JSC_HOST_CALL functionCreateDOMJITFunctionObject(ExecState*);
1051
static EncodedJSValue JSC_HOST_CALL functionCreateDOMJITCheckSubClassObject(ExecState*);
1006
static EncodedJSValue JSC_HOST_CALL functionCreateBuiltin(ExecState*);
1052
static EncodedJSValue JSC_HOST_CALL functionCreateBuiltin(ExecState*);
1007
static EncodedJSValue JSC_HOST_CALL functionCreateGlobalObject(ExecState*);
1053
static EncodedJSValue JSC_HOST_CALL functionCreateGlobalObject(ExecState*);
1008
static EncodedJSValue JSC_HOST_CALL functionSetImpureGetterDelegate(ExecState*);
1054
static EncodedJSValue JSC_HOST_CALL functionSetImpureGetterDelegate(ExecState*);
Lines 1318-1323 class GlobalObject : public JSGlobalObject { a/Source/JavaScriptCore/jsc.cpp_sec9
1318
        addFunction(vm, "createDOMJITGetterObject", functionCreateDOMJITGetterObject, 0);
1364
        addFunction(vm, "createDOMJITGetterObject", functionCreateDOMJITGetterObject, 0);
1319
        addFunction(vm, "createDOMJITGetterComplexObject", functionCreateDOMJITGetterComplexObject, 0);
1365
        addFunction(vm, "createDOMJITGetterComplexObject", functionCreateDOMJITGetterComplexObject, 0);
1320
        addFunction(vm, "createDOMJITFunctionObject", functionCreateDOMJITFunctionObject, 0);
1366
        addFunction(vm, "createDOMJITFunctionObject", functionCreateDOMJITFunctionObject, 0);
1367
        addFunction(vm, "createDOMJITCheckSubClassObject", functionCreateDOMJITCheckSubClassObject, 0);
1321
        addFunction(vm, "createBuiltin", functionCreateBuiltin, 2);
1368
        addFunction(vm, "createBuiltin", functionCreateBuiltin, 2);
1322
        addFunction(vm, "createGlobalObject", functionCreateGlobalObject, 0);
1369
        addFunction(vm, "createGlobalObject", functionCreateGlobalObject, 0);
1323
        addFunction(vm, "setImpureGetterDelegate", functionSetImpureGetterDelegate, 2);
1370
        addFunction(vm, "setImpureGetterDelegate", functionSetImpureGetterDelegate, 2);
Lines 1426-1432 class GlobalObject : public JSGlobalObject { a/Source/JavaScriptCore/jsc.cpp_sec10
1426
    static JSInternalPromise* moduleLoaderFetch(JSGlobalObject*, ExecState*, JSModuleLoader*, JSValue, JSValue);
1473
    static JSInternalPromise* moduleLoaderFetch(JSGlobalObject*, ExecState*, JSModuleLoader*, JSValue, JSValue);
1427
};
1474
};
1428
1475
1429
const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, nullptr, CREATE_METHOD_TABLE(GlobalObject) };
1476
const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(GlobalObject) };
1430
const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable = {
1477
const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable = {
1431
    &supportsRichSourceInfo,
1478
    &supportsRichSourceInfo,
1432
    &shouldInterruptScript,
1479
    &shouldInterruptScript,
Lines 2001-2006 EncodedJSValue JSC_HOST_CALL functionCreateDOMJITFunctionObject(ExecState* exec) a/Source/JavaScriptCore/jsc.cpp_sec11
2001
    return JSValue::encode(result);
2048
    return JSValue::encode(result);
2002
}
2049
}
2003
2050
2051
EncodedJSValue JSC_HOST_CALL functionCreateDOMJITCheckSubClassObject(ExecState* exec)
2052
{
2053
    JSLockHolder lock(exec);
2054
    Structure* structure = DOMJITCheckSubClassObject::createStructure(exec->vm(), exec->lexicalGlobalObject(), jsNull());
2055
    DOMJITCheckSubClassObject* result = DOMJITCheckSubClassObject::create(exec->vm(), exec->lexicalGlobalObject(), structure);
2056
    return JSValue::encode(result);
2057
}
2058
2004
EncodedJSValue JSC_HOST_CALL functionSetImpureGetterDelegate(ExecState* exec)
2059
EncodedJSValue JSC_HOST_CALL functionSetImpureGetterDelegate(ExecState* exec)
2005
{
2060
{
2006
    VM& vm = exec->vm();
2061
    VM& vm = exec->vm();
- a/Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp -1 / +1 lines
Lines 36-42 a/Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp_sec1
36
36
37
namespace JSC {
37
namespace JSC {
38
38
39
const ClassInfo AbstractModuleRecord::s_info = { "AbstractModuleRecord", &Base::s_info, 0, CREATE_METHOD_TABLE(AbstractModuleRecord) };
39
const ClassInfo AbstractModuleRecord::s_info = { "AbstractModuleRecord", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(AbstractModuleRecord) };
40
40
41
AbstractModuleRecord::AbstractModuleRecord(VM& vm, Structure* structure, const Identifier& moduleKey)
41
AbstractModuleRecord::AbstractModuleRecord(VM& vm, Structure* structure, const Identifier& moduleKey)
42
    : Base(vm, structure)
42
    : Base(vm, structure)
- a/Source/JavaScriptCore/runtime/ArrayBufferNeuteringWatchpoint.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/ArrayBufferNeuteringWatchpoint.cpp_sec1
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo ArrayBufferNeuteringWatchpoint::s_info = {
33
const ClassInfo ArrayBufferNeuteringWatchpoint::s_info = {
34
    "ArrayBufferNeuteringWatchpoint", 0, 0,
34
    "ArrayBufferNeuteringWatchpoint", nullptr, nullptr, nullptr,
35
    CREATE_METHOD_TABLE(ArrayBufferNeuteringWatchpoint)
35
    CREATE_METHOD_TABLE(ArrayBufferNeuteringWatchpoint)
36
};
36
};
37
37
- a/Source/JavaScriptCore/runtime/ArrayConstructor.cpp -1 / +1 lines
Lines 41-47 namespace JSC { a/Source/JavaScriptCore/runtime/ArrayConstructor.cpp_sec1
41
41
42
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ArrayConstructor);
42
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ArrayConstructor);
43
43
44
const ClassInfo ArrayConstructor::s_info = { "Function", &InternalFunction::s_info, &arrayConstructorTable, CREATE_METHOD_TABLE(ArrayConstructor) };
44
const ClassInfo ArrayConstructor::s_info = { "Function", &InternalFunction::s_info, &arrayConstructorTable, nullptr, CREATE_METHOD_TABLE(ArrayConstructor) };
45
45
46
/* Source for ArrayConstructor.lut.h
46
/* Source for ArrayConstructor.lut.h
47
@begin arrayConstructorTable
47
@begin arrayConstructorTable
- a/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo ArrayIteratorPrototype::s_info = { "Array Iterator", &Base::s_info, &arrayIteratorPrototypeTable, CREATE_METHOD_TABLE(ArrayIteratorPrototype) };
40
const ClassInfo ArrayIteratorPrototype::s_info = { "Array Iterator", &Base::s_info, &arrayIteratorPrototypeTable, nullptr, CREATE_METHOD_TABLE(ArrayIteratorPrototype) };
41
41
42
/* Source for ArrayIteratorPrototype.lut.h
42
/* Source for ArrayIteratorPrototype.lut.h
43
@begin arrayIteratorPrototypeTable
43
@begin arrayIteratorPrototypeTable
- a/Source/JavaScriptCore/runtime/ArrayPrototype.cpp -1 / +1 lines
Lines 62-68 EncodedJSValue JSC_HOST_CALL arrayProtoFuncLastIndexOf(ExecState*); a/Source/JavaScriptCore/runtime/ArrayPrototype.cpp_sec1
62
62
63
// ------------------------------ ArrayPrototype ----------------------------
63
// ------------------------------ ArrayPrototype ----------------------------
64
64
65
const ClassInfo ArrayPrototype::s_info = {"Array", &JSArray::s_info, nullptr, CREATE_METHOD_TABLE(ArrayPrototype)};
65
const ClassInfo ArrayPrototype::s_info = {"Array", &JSArray::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ArrayPrototype)};
66
66
67
ArrayPrototype* ArrayPrototype::create(VM& vm, JSGlobalObject* globalObject, Structure* structure)
67
ArrayPrototype* ArrayPrototype::create(VM& vm, JSGlobalObject* globalObject, Structure* structure)
68
{
68
{
- a/Source/JavaScriptCore/runtime/AsyncFunctionConstructor.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/runtime/AsyncFunctionConstructor.cpp_sec1
34
34
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(AsyncFunctionConstructor);
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(AsyncFunctionConstructor);
36
36
37
const ClassInfo AsyncFunctionConstructor::s_info = { "AsyncFunction", &Base::s_info, nullptr, CREATE_METHOD_TABLE(AsyncFunctionConstructor) };
37
const ClassInfo AsyncFunctionConstructor::s_info = { "AsyncFunction", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(AsyncFunctionConstructor) };
38
38
39
AsyncFunctionConstructor::AsyncFunctionConstructor(VM& vm, Structure* structure)
39
AsyncFunctionConstructor::AsyncFunctionConstructor(VM& vm, Structure* structure)
40
    : InternalFunction(vm, structure)
40
    : InternalFunction(vm, structure)
- a/Source/JavaScriptCore/runtime/AsyncFunctionPrototype.cpp -1 / +1 lines
Lines 38-44 a/Source/JavaScriptCore/runtime/AsyncFunctionPrototype.cpp_sec1
38
38
39
namespace JSC {
39
namespace JSC {
40
40
41
const ClassInfo AsyncFunctionPrototype::s_info = { "AsyncFunction", &Base::s_info, nullptr, CREATE_METHOD_TABLE(AsyncFunctionPrototype) };
41
const ClassInfo AsyncFunctionPrototype::s_info = { "AsyncFunction", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(AsyncFunctionPrototype) };
42
42
43
AsyncFunctionPrototype::AsyncFunctionPrototype(VM& vm, Structure* structure)
43
AsyncFunctionPrototype::AsyncFunctionPrototype(VM& vm, Structure* structure)
44
    : JSC::JSNonFinalObject(vm, structure)
44
    : JSC::JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/AtomicsObject.cpp -1 / +1 lines
Lines 56-62 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(AtomicsObject); a/Source/JavaScriptCore/runtime/AtomicsObject.cpp_sec1
56
FOR_EACH_ATOMICS_FUNC(DECLARE_FUNC_PROTO)
56
FOR_EACH_ATOMICS_FUNC(DECLARE_FUNC_PROTO)
57
#undef DECLARE_FUNC_PROTO
57
#undef DECLARE_FUNC_PROTO
58
58
59
const ClassInfo AtomicsObject::s_info = { "Atomics", &Base::s_info, 0, CREATE_METHOD_TABLE(AtomicsObject) };
59
const ClassInfo AtomicsObject::s_info = { "Atomics", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(AtomicsObject) };
60
60
61
AtomicsObject::AtomicsObject(VM& vm, Structure* structure)
61
AtomicsObject::AtomicsObject(VM& vm, Structure* structure)
62
    : JSNonFinalObject(vm, structure)
62
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/BooleanConstructor.cpp -1 / +1 lines
Lines 29-35 namespace JSC { a/Source/JavaScriptCore/runtime/BooleanConstructor.cpp_sec1
29
29
30
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(BooleanConstructor);
30
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(BooleanConstructor);
31
31
32
const ClassInfo BooleanConstructor::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(BooleanConstructor) };
32
const ClassInfo BooleanConstructor::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(BooleanConstructor) };
33
33
34
BooleanConstructor::BooleanConstructor(VM& vm, Structure* structure)
34
BooleanConstructor::BooleanConstructor(VM& vm, Structure* structure)
35
    : InternalFunction(vm, structure)
35
    : InternalFunction(vm, structure)
- a/Source/JavaScriptCore/runtime/BooleanObject.cpp -1 / +1 lines
Lines 28-34 namespace JSC { a/Source/JavaScriptCore/runtime/BooleanObject.cpp_sec1
28
28
29
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(BooleanObject);
29
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(BooleanObject);
30
30
31
const ClassInfo BooleanObject::s_info = { "Boolean", &JSWrapperObject::s_info, 0, CREATE_METHOD_TABLE(BooleanObject) };
31
const ClassInfo BooleanObject::s_info = { "Boolean", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(BooleanObject) };
32
32
33
BooleanObject::BooleanObject(VM& vm, Structure* structure)
33
BooleanObject::BooleanObject(VM& vm, Structure* structure)
34
    : JSWrapperObject(vm, structure)
34
    : JSWrapperObject(vm, structure)
- a/Source/JavaScriptCore/runtime/BooleanPrototype.cpp -1 / +1 lines
Lines 39-45 static EncodedJSValue JSC_HOST_CALL booleanProtoFuncValueOf(ExecState*); a/Source/JavaScriptCore/runtime/BooleanPrototype.cpp_sec1
39
39
40
namespace JSC {
40
namespace JSC {
41
41
42
const ClassInfo BooleanPrototype::s_info = { "Boolean", &BooleanObject::s_info, &booleanPrototypeTable, CREATE_METHOD_TABLE(BooleanPrototype) };
42
const ClassInfo BooleanPrototype::s_info = { "Boolean", &BooleanObject::s_info, &booleanPrototypeTable, nullptr, CREATE_METHOD_TABLE(BooleanPrototype) };
43
43
44
/* Source for BooleanPrototype.lut.h
44
/* Source for BooleanPrototype.lut.h
45
@begin booleanPrototypeTable
45
@begin booleanPrototypeTable
- a/Source/JavaScriptCore/runtime/ClassInfo.cpp +38 lines
Line 0 a/Source/JavaScriptCore/runtime/ClassInfo.cpp_sec1
1
/*
2
 * Copyright (C) 2017 Yusuke Suzuki <utatane.tea@gmail.com>.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions
6
 * are met:
7
 * 1. Redistributions of source code must retain the above copyright
8
 *    notice, this list of conditions and the following disclaimer.
9
 * 2. Redistributions in binary form must reproduce the above copyright
10
 *    notice, this list of conditions and the following disclaimer in the
11
 *    documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
 */
25
26
#include "config.h"
27
#include "ClassInfo.h"
28
29
#include <wtf/PrintStream.h>
30
31
namespace JSC {
32
33
void ClassInfo::dump(PrintStream& out) const
34
{
35
    out.print(RawPointer(this), ":[", className, "]");
36
}
37
38
} // namespace JSC
- a/Source/JavaScriptCore/runtime/ClassInfo.h +17 lines
Lines 26-32 a/Source/JavaScriptCore/runtime/ClassInfo.h_sec1
26
#include "ConstructData.h"
26
#include "ConstructData.h"
27
#include "JSCell.h"
27
#include "JSCell.h"
28
28
29
namespace WTF {
30
class PrintStream;
31
};
32
29
namespace JSC {
33
namespace JSC {
34
namespace DOMJIT {
35
class Patchpoint;
36
}
30
37
31
class HeapSnapshotBuilder;
38
class HeapSnapshotBuilder;
32
class JSArrayBufferView;
39
class JSArrayBufferView;
Lines 190-195 struct ClassInfo { a/Source/JavaScriptCore/runtime/ClassInfo.h_sec2
190
    // nullptrif there is none.
197
    // nullptrif there is none.
191
    const ClassInfo* parentClass;
198
    const ClassInfo* parentClass;
192
199
200
    static ptrdiff_t offsetOfParentClass()
201
    {
202
        return OBJECT_OFFSETOF(ClassInfo, parentClass);
203
    }
204
193
    bool isSubClassOf(const ClassInfo* other) const
205
    bool isSubClassOf(const ClassInfo* other) const
194
    {
206
    {
195
        for (const ClassInfo* ci = this; ci; ci = ci->parentClass) {
207
        for (const ClassInfo* ci = this; ci; ci = ci->parentClass) {
Lines 199-208 struct ClassInfo { a/Source/JavaScriptCore/runtime/ClassInfo.h_sec3
199
        return false;
211
        return false;
200
    }
212
    }
201
213
214
    JS_EXPORT_PRIVATE void dump(PrintStream&) const;
215
202
    JS_EXPORT_PRIVATE bool hasStaticSetterOrReadonlyProperties() const;
216
    JS_EXPORT_PRIVATE bool hasStaticSetterOrReadonlyProperties() const;
203
217
204
    const HashTable* staticPropHashTable;
218
    const HashTable* staticPropHashTable;
205
219
220
    typedef RefPtr<DOMJIT::Patchpoint> (*CheckSubClassPatchpointFunctionPtr)(void);
221
    CheckSubClassPatchpointFunctionPtr checkSubClassPatchpoint;
222
206
    MethodTable methodTable;
223
    MethodTable methodTable;
207
224
208
    TypedArrayType typedArrayStorageType;
225
    TypedArrayType typedArrayStorageType;
- a/Source/JavaScriptCore/runtime/ClonedArguments.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/runtime/ClonedArguments.cpp_sec1
34
34
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ClonedArguments);
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ClonedArguments);
36
36
37
const ClassInfo ClonedArguments::s_info = { "Arguments", &Base::s_info, 0, CREATE_METHOD_TABLE(ClonedArguments) };
37
const ClassInfo ClonedArguments::s_info = { "Arguments", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ClonedArguments) };
38
38
39
ClonedArguments::ClonedArguments(VM& vm, Structure* structure, Butterfly* butterfly)
39
ClonedArguments::ClonedArguments(VM& vm, Structure* structure, Butterfly* butterfly)
40
    : Base(vm, structure, butterfly)
40
    : Base(vm, structure, butterfly)
- a/Source/JavaScriptCore/runtime/ConsoleObject.cpp -1 / +1 lines
Lines 58-64 static EncodedJSValue JSC_HOST_CALL consoleProtoFuncGroup(ExecState*); a/Source/JavaScriptCore/runtime/ConsoleObject.cpp_sec1
58
static EncodedJSValue JSC_HOST_CALL consoleProtoFuncGroupCollapsed(ExecState*);
58
static EncodedJSValue JSC_HOST_CALL consoleProtoFuncGroupCollapsed(ExecState*);
59
static EncodedJSValue JSC_HOST_CALL consoleProtoFuncGroupEnd(ExecState*);
59
static EncodedJSValue JSC_HOST_CALL consoleProtoFuncGroupEnd(ExecState*);
60
60
61
const ClassInfo ConsoleObject::s_info = { "Console", &Base::s_info, 0, CREATE_METHOD_TABLE(ConsoleObject) };
61
const ClassInfo ConsoleObject::s_info = { "Console", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ConsoleObject) };
62
62
63
ConsoleObject::ConsoleObject(VM& vm, Structure* structure)
63
ConsoleObject::ConsoleObject(VM& vm, Structure* structure)
64
    : JSNonFinalObject(vm, structure)
64
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/CustomGetterSetter.cpp -1 / +1 lines
Lines 33-39 namespace JSC { a/Source/JavaScriptCore/runtime/CustomGetterSetter.cpp_sec1
33
33
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(CustomGetterSetter);
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(CustomGetterSetter);
35
35
36
const ClassInfo CustomGetterSetter::s_info = { "CustomGetterSetter", 0, 0, CREATE_METHOD_TABLE(CustomGetterSetter) };
36
const ClassInfo CustomGetterSetter::s_info = { "CustomGetterSetter", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(CustomGetterSetter) };
37
37
38
bool callCustomSetter(ExecState* exec, CustomGetterSetter::CustomSetter setter, bool isAccessor, JSValue thisValue, JSValue value)
38
bool callCustomSetter(ExecState* exec, CustomGetterSetter::CustomSetter setter, bool isAccessor, JSValue thisValue, JSValue value)
39
{
39
{
- a/Source/JavaScriptCore/runtime/DateConstructor.cpp -1 / +1 lines
Lines 61-67 EncodedJSValue JSC_HOST_CALL dateUTC(ExecState*); a/Source/JavaScriptCore/runtime/DateConstructor.cpp_sec1
61
61
62
namespace JSC {
62
namespace JSC {
63
63
64
const ClassInfo DateConstructor::s_info = { "Function", &InternalFunction::s_info, &dateConstructorTable, CREATE_METHOD_TABLE(DateConstructor) };
64
const ClassInfo DateConstructor::s_info = { "Function", &InternalFunction::s_info, &dateConstructorTable, nullptr, CREATE_METHOD_TABLE(DateConstructor) };
65
65
66
/* Source for DateConstructor.lut.h
66
/* Source for DateConstructor.lut.h
67
@begin dateConstructorTable
67
@begin dateConstructorTable
- a/Source/JavaScriptCore/runtime/DateInstance.cpp -1 / +1 lines
Lines 32-38 using namespace WTF; a/Source/JavaScriptCore/runtime/DateInstance.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo DateInstance::s_info = {"Date", &JSWrapperObject::s_info, 0, CREATE_METHOD_TABLE(DateInstance)};
35
const ClassInfo DateInstance::s_info = {"Date", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DateInstance)};
36
36
37
DateInstance::DateInstance(VM& vm, Structure* structure)
37
DateInstance::DateInstance(VM& vm, Structure* structure)
38
    : JSWrapperObject(vm, structure)
38
    : JSWrapperObject(vm, structure)
- a/Source/JavaScriptCore/runtime/DatePrototype.cpp -1 / +1 lines
Lines 428-434 static bool fillStructuresUsingDateArgs(ExecState *exec, int maxArgs, double *ms a/Source/JavaScriptCore/runtime/DatePrototype.cpp_sec1
428
    return ok;
428
    return ok;
429
}
429
}
430
430
431
const ClassInfo DatePrototype::s_info = {"Object", &JSNonFinalObject::s_info, &dateTable, CREATE_METHOD_TABLE(DatePrototype)};
431
const ClassInfo DatePrototype::s_info = {"Object", &JSNonFinalObject::s_info, &dateTable, nullptr, CREATE_METHOD_TABLE(DatePrototype)};
432
432
433
/* Source for DatePrototype.lut.h
433
/* Source for DatePrototype.lut.h
434
@begin dateTable
434
@begin dateTable
- a/Source/JavaScriptCore/runtime/DirectArguments.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/runtime/DirectArguments.cpp_sec1
34
34
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DirectArguments);
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DirectArguments);
36
36
37
const ClassInfo DirectArguments::s_info = { "Arguments", &Base::s_info, 0, CREATE_METHOD_TABLE(DirectArguments) };
37
const ClassInfo DirectArguments::s_info = { "Arguments", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DirectArguments) };
38
38
39
DirectArguments::DirectArguments(VM& vm, Structure* structure, unsigned length, unsigned capacity)
39
DirectArguments::DirectArguments(VM& vm, Structure* structure, unsigned length, unsigned capacity)
40
    : GenericArguments(vm, structure)
40
    : GenericArguments(vm, structure)
- a/Source/JavaScriptCore/runtime/Error.cpp -1 / +1 lines
Lines 314-320 JSObject* createOutOfMemoryError(ExecState* exec) a/Source/JavaScriptCore/runtime/Error.cpp_sec1
314
}
314
}
315
315
316
316
317
const ClassInfo StrictModeTypeErrorFunction::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(StrictModeTypeErrorFunction) };
317
const ClassInfo StrictModeTypeErrorFunction::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(StrictModeTypeErrorFunction) };
318
318
319
void StrictModeTypeErrorFunction::destroy(JSCell* cell)
319
void StrictModeTypeErrorFunction::destroy(JSCell* cell)
320
{
320
{
- a/Source/JavaScriptCore/runtime/ErrorConstructor.cpp -1 / +1 lines
Lines 31-37 namespace JSC { a/Source/JavaScriptCore/runtime/ErrorConstructor.cpp_sec1
31
31
32
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ErrorConstructor);
32
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ErrorConstructor);
33
33
34
const ClassInfo ErrorConstructor::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(ErrorConstructor) };
34
const ClassInfo ErrorConstructor::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ErrorConstructor) };
35
35
36
ErrorConstructor::ErrorConstructor(VM& vm, Structure* structure)
36
ErrorConstructor::ErrorConstructor(VM& vm, Structure* structure)
37
    : InternalFunction(vm, structure)
37
    : InternalFunction(vm, structure)
- a/Source/JavaScriptCore/runtime/ErrorInstance.cpp -1 / +1 lines
Lines 32-38 namespace JSC { a/Source/JavaScriptCore/runtime/ErrorInstance.cpp_sec1
32
32
33
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ErrorInstance);
33
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ErrorInstance);
34
34
35
const ClassInfo ErrorInstance::s_info = { "Error", &JSNonFinalObject::s_info, 0, CREATE_METHOD_TABLE(ErrorInstance) };
35
const ClassInfo ErrorInstance::s_info = { "Error", &JSNonFinalObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ErrorInstance) };
36
36
37
ErrorInstance::ErrorInstance(VM& vm, Structure* structure)
37
ErrorInstance::ErrorInstance(VM& vm, Structure* structure)
38
    : JSNonFinalObject(vm, structure)
38
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/ErrorPrototype.cpp -1 / +1 lines
Lines 41-47 static EncodedJSValue JSC_HOST_CALL errorProtoFuncToString(ExecState*); a/Source/JavaScriptCore/runtime/ErrorPrototype.cpp_sec1
41
41
42
namespace JSC {
42
namespace JSC {
43
43
44
const ClassInfo ErrorPrototype::s_info = { "Object", &Base::s_info, &errorPrototypeTable, CREATE_METHOD_TABLE(ErrorPrototype) };
44
const ClassInfo ErrorPrototype::s_info = { "Object", &Base::s_info, &errorPrototypeTable, nullptr, CREATE_METHOD_TABLE(ErrorPrototype) };
45
45
46
/* Source for ErrorPrototype.lut.h
46
/* Source for ErrorPrototype.lut.h
47
@begin errorPrototypeTable
47
@begin errorPrototypeTable
- a/Source/JavaScriptCore/runtime/EvalExecutable.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/EvalExecutable.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo EvalExecutable::s_info = { "EvalExecutable", &ScriptExecutable::s_info, 0, CREATE_METHOD_TABLE(EvalExecutable) };
34
const ClassInfo EvalExecutable::s_info = { "EvalExecutable", &ScriptExecutable::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(EvalExecutable) };
35
35
36
EvalExecutable::EvalExecutable(ExecState* exec, const SourceCode& source, bool inStrictContext, DerivedContextType derivedContextType, bool isArrowFunctionContext, EvalContextType evalContextType)
36
EvalExecutable::EvalExecutable(ExecState* exec, const SourceCode& source, bool inStrictContext, DerivedContextType derivedContextType, bool isArrowFunctionContext, EvalContextType evalContextType)
37
    : ScriptExecutable(exec->vm().evalExecutableStructure.get(), exec->vm(), source, inStrictContext, derivedContextType, isArrowFunctionContext, evalContextType, NoIntrinsic)
37
    : ScriptExecutable(exec->vm().evalExecutableStructure.get(), exec->vm(), source, inStrictContext, derivedContextType, isArrowFunctionContext, evalContextType, NoIntrinsic)
- a/Source/JavaScriptCore/runtime/Exception.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/Exception.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo Exception::s_info = { "Exception", &Base::s_info, 0, CREATE_METHOD_TABLE(Exception) };
34
const ClassInfo Exception::s_info = { "Exception", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(Exception) };
35
35
36
Exception* Exception::create(VM& vm, JSValue thrownValue, StackCaptureAction action)
36
Exception* Exception::create(VM& vm, JSValue thrownValue, StackCaptureAction action)
37
{
37
{
- a/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp -1 / +1 lines
Lines 45-51 namespace JSC { a/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp_sec1
45
45
46
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(TerminatedExecutionError);
46
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(TerminatedExecutionError);
47
47
48
const ClassInfo TerminatedExecutionError::s_info = { "TerminatedExecutionError", &Base::s_info, 0, CREATE_METHOD_TABLE(TerminatedExecutionError) };
48
const ClassInfo TerminatedExecutionError::s_info = { "TerminatedExecutionError", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(TerminatedExecutionError) };
49
49
50
JSValue TerminatedExecutionError::defaultValue(const JSObject*, ExecState* exec, PreferredPrimitiveType hint)
50
JSValue TerminatedExecutionError::defaultValue(const JSObject*, ExecState* exec, PreferredPrimitiveType hint)
51
{
51
{
- a/Source/JavaScriptCore/runtime/ExecutableBase.cpp -1 / +1 lines
Lines 42-48 a/Source/JavaScriptCore/runtime/ExecutableBase.cpp_sec1
42
42
43
namespace JSC {
43
namespace JSC {
44
44
45
const ClassInfo ExecutableBase::s_info = { "Executable", 0, 0, CREATE_METHOD_TABLE(ExecutableBase) };
45
const ClassInfo ExecutableBase::s_info = { "Executable", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(ExecutableBase) };
46
46
47
void ExecutableBase::destroy(JSCell* cell)
47
void ExecutableBase::destroy(JSCell* cell)
48
{
48
{
- a/Source/JavaScriptCore/runtime/FunctionConstructor.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/runtime/FunctionConstructor.cpp_sec1
34
34
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(FunctionConstructor);
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(FunctionConstructor);
36
36
37
const ClassInfo FunctionConstructor::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(FunctionConstructor) };
37
const ClassInfo FunctionConstructor::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(FunctionConstructor) };
38
38
39
FunctionConstructor::FunctionConstructor(VM& vm, Structure* structure)
39
FunctionConstructor::FunctionConstructor(VM& vm, Structure* structure)
40
    : InternalFunction(vm, structure)
40
    : InternalFunction(vm, structure)
- a/Source/JavaScriptCore/runtime/FunctionExecutable.cpp -1 / +1 lines
Lines 39-45 a/Source/JavaScriptCore/runtime/FunctionExecutable.cpp_sec1
39
39
40
namespace JSC {
40
namespace JSC {
41
41
42
const ClassInfo FunctionExecutable::s_info = { "FunctionExecutable", &ScriptExecutable::s_info, 0, CREATE_METHOD_TABLE(FunctionExecutable) };
42
const ClassInfo FunctionExecutable::s_info = { "FunctionExecutable", &ScriptExecutable::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(FunctionExecutable) };
43
43
44
FunctionExecutable::FunctionExecutable(VM& vm, const SourceCode& source, UnlinkedFunctionExecutable* unlinkedExecutable, unsigned lastLine, unsigned endColumn, Intrinsic intrinsic)
44
FunctionExecutable::FunctionExecutable(VM& vm, const SourceCode& source, UnlinkedFunctionExecutable* unlinkedExecutable, unsigned lastLine, unsigned endColumn, Intrinsic intrinsic)
45
    : ScriptExecutable(vm.functionExecutableStructure.get(), vm, source, unlinkedExecutable->isInStrictContext(), unlinkedExecutable->derivedContextType(), false, EvalContextType::None, intrinsic)
45
    : ScriptExecutable(vm.functionExecutableStructure.get(), vm, source, unlinkedExecutable->isInStrictContext(), unlinkedExecutable->derivedContextType(), false, EvalContextType::None, intrinsic)
- a/Source/JavaScriptCore/runtime/FunctionPrototype.cpp -1 / +1 lines
Lines 39-45 namespace JSC { a/Source/JavaScriptCore/runtime/FunctionPrototype.cpp_sec1
39
39
40
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(FunctionPrototype);
40
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(FunctionPrototype);
41
41
42
const ClassInfo FunctionPrototype::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(FunctionPrototype) };
42
const ClassInfo FunctionPrototype::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(FunctionPrototype) };
43
43
44
static EncodedJSValue JSC_HOST_CALL functionProtoFuncToString(ExecState*);
44
static EncodedJSValue JSC_HOST_CALL functionProtoFuncToString(ExecState*);
45
45
- a/Source/JavaScriptCore/runtime/FunctionRareData.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/FunctionRareData.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo FunctionRareData::s_info = { "FunctionRareData", 0, 0, CREATE_METHOD_TABLE(FunctionRareData) };
33
const ClassInfo FunctionRareData::s_info = { "FunctionRareData", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(FunctionRareData) };
34
34
35
FunctionRareData* FunctionRareData::create(VM& vm)
35
FunctionRareData* FunctionRareData::create(VM& vm)
36
{
36
{
- a/Source/JavaScriptCore/runtime/GeneratorFunctionConstructor.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/runtime/GeneratorFunctionConstructor.cpp_sec1
34
34
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(GeneratorFunctionConstructor);
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(GeneratorFunctionConstructor);
36
36
37
const ClassInfo GeneratorFunctionConstructor::s_info = { "GeneratorFunction", &Base::s_info, nullptr, CREATE_METHOD_TABLE(GeneratorFunctionConstructor) };
37
const ClassInfo GeneratorFunctionConstructor::s_info = { "GeneratorFunction", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(GeneratorFunctionConstructor) };
38
38
39
GeneratorFunctionConstructor::GeneratorFunctionConstructor(VM& vm, Structure* structure)
39
GeneratorFunctionConstructor::GeneratorFunctionConstructor(VM& vm, Structure* structure)
40
    : InternalFunction(vm, structure)
40
    : InternalFunction(vm, structure)
- a/Source/JavaScriptCore/runtime/GeneratorFunctionPrototype.cpp -1 / +1 lines
Lines 40-46 namespace JSC { a/Source/JavaScriptCore/runtime/GeneratorFunctionPrototype.cpp_sec1
40
40
41
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(GeneratorFunctionPrototype);
41
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(GeneratorFunctionPrototype);
42
42
43
const ClassInfo GeneratorFunctionPrototype::s_info = { "GeneratorFunction", &Base::s_info, nullptr, CREATE_METHOD_TABLE(GeneratorFunctionPrototype) };
43
const ClassInfo GeneratorFunctionPrototype::s_info = { "GeneratorFunction", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(GeneratorFunctionPrototype) };
44
44
45
GeneratorFunctionPrototype::GeneratorFunctionPrototype(VM& vm, Structure* structure)
45
GeneratorFunctionPrototype::GeneratorFunctionPrototype(VM& vm, Structure* structure)
46
    : JSNonFinalObject(vm, structure)
46
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/GeneratorPrototype.cpp -1 / +1 lines
Lines 34-40 a/Source/JavaScriptCore/runtime/GeneratorPrototype.cpp_sec1
34
34
35
namespace JSC {
35
namespace JSC {
36
36
37
const ClassInfo GeneratorPrototype::s_info = { "Generator", &Base::s_info, &generatorPrototypeTable, CREATE_METHOD_TABLE(GeneratorPrototype) };
37
const ClassInfo GeneratorPrototype::s_info = { "Generator", &Base::s_info, &generatorPrototypeTable, nullptr, CREATE_METHOD_TABLE(GeneratorPrototype) };
38
38
39
/* Source for GeneratorPrototype.lut.h
39
/* Source for GeneratorPrototype.lut.h
40
@begin generatorPrototypeTable
40
@begin generatorPrototypeTable
- a/Source/JavaScriptCore/runtime/GetterSetter.cpp -1 / +1 lines
Lines 33-39 namespace JSC { a/Source/JavaScriptCore/runtime/GetterSetter.cpp_sec1
33
33
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(GetterSetter);
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(GetterSetter);
35
35
36
const ClassInfo GetterSetter::s_info = { "GetterSetter", &Base::s_info, 0, CREATE_METHOD_TABLE(GetterSetter) };
36
const ClassInfo GetterSetter::s_info = { "GetterSetter", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(GetterSetter) };
37
37
38
void GetterSetter::visitChildren(JSCell* cell, SlotVisitor& visitor)
38
void GetterSetter::visitChildren(JSCell* cell, SlotVisitor& visitor)
39
{
39
{
- a/Source/JavaScriptCore/runtime/HashMapImpl.cpp -4 / +4 lines
Lines 32-42 namespace JSC { a/Source/JavaScriptCore/runtime/HashMapImpl.cpp_sec1
32
32
33
template<>
33
template<>
34
const ClassInfo HashMapBucket<HashMapBucketDataKey>::s_info =
34
const ClassInfo HashMapBucket<HashMapBucketDataKey>::s_info =
35
    { "HashMapBucket", nullptr, 0, CREATE_METHOD_TABLE(HashMapBucket<HashMapBucketDataKey>) };
35
    { "HashMapBucket", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(HashMapBucket<HashMapBucketDataKey>) };
36
36
37
template<>
37
template<>
38
const ClassInfo HashMapBucket<HashMapBucketDataKeyValue>::s_info =
38
const ClassInfo HashMapBucket<HashMapBucketDataKeyValue>::s_info =
39
    { "HashMapBucket", nullptr, 0, CREATE_METHOD_TABLE(HashMapBucket<HashMapBucketDataKeyValue>) };
39
    { "HashMapBucket", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(HashMapBucket<HashMapBucketDataKeyValue>) };
40
40
41
template <typename Data>
41
template <typename Data>
42
void HashMapBucket<Data>::visitChildren(JSCell* cell, SlotVisitor& visitor)
42
void HashMapBucket<Data>::visitChildren(JSCell* cell, SlotVisitor& visitor)
Lines 54-64 void HashMapBucket<Data>::visitChildren(JSCell* cell, SlotVisitor& visitor) a/Source/JavaScriptCore/runtime/HashMapImpl.cpp_sec2
54
54
55
template<>
55
template<>
56
const ClassInfo HashMapImpl<HashMapBucket<HashMapBucketDataKey>>::s_info =
56
const ClassInfo HashMapImpl<HashMapBucket<HashMapBucketDataKey>>::s_info =
57
    { "HashMapImpl", nullptr, 0, CREATE_METHOD_TABLE(HashMapImpl<HashMapBucket<HashMapBucketDataKey>>) };
57
    { "HashMapImpl", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(HashMapImpl<HashMapBucket<HashMapBucketDataKey>>) };
58
58
59
template<>
59
template<>
60
const ClassInfo HashMapImpl<HashMapBucket<HashMapBucketDataKeyValue>>::s_info =
60
const ClassInfo HashMapImpl<HashMapBucket<HashMapBucketDataKeyValue>>::s_info =
61
    { "HashMapImpl", nullptr, 0, CREATE_METHOD_TABLE(HashMapImpl<HashMapBucket<HashMapBucketDataKeyValue>>) };
61
    { "HashMapImpl", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(HashMapImpl<HashMapBucket<HashMapBucketDataKeyValue>>) };
62
62
63
template <typename HashMapBucket>
63
template <typename HashMapBucket>
64
void HashMapImpl<HashMapBucket>::visitChildren(JSCell* cell, SlotVisitor& visitor)
64
void HashMapImpl<HashMapBucket>::visitChildren(JSCell* cell, SlotVisitor& visitor)
- a/Source/JavaScriptCore/runtime/HashMapImpl.h +1 lines
Lines 71-76 class HashMapBucket : public JSCell { a/Source/JavaScriptCore/runtime/HashMapImpl.h_sec1
71
    static const HashTableType Type = Data::Type;
71
    static const HashTableType Type = Data::Type;
72
    static const ClassInfo s_info; // This is never accessed directly, since that would break linkage on some compilers.
72
    static const ClassInfo s_info; // This is never accessed directly, since that would break linkage on some compilers.
73
73
74
74
    static const ClassInfo* info()
75
    static const ClassInfo* info()
75
    {
76
    {
76
        switch (Type) {
77
        switch (Type) {
- a/Source/JavaScriptCore/runtime/InferredType.cpp -1 / +1 lines
Lines 66-72 class InferredTypeFireDetail : public FireDetail { a/Source/JavaScriptCore/runtime/InferredType.cpp_sec1
66
66
67
} // anonymous namespace
67
} // anonymous namespace
68
68
69
const ClassInfo InferredType::s_info = { "InferredType", 0, 0, CREATE_METHOD_TABLE(InferredType) };
69
const ClassInfo InferredType::s_info = { "InferredType", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(InferredType) };
70
70
71
InferredType* InferredType::create(VM& vm)
71
InferredType* InferredType::create(VM& vm)
72
{
72
{
- a/Source/JavaScriptCore/runtime/InferredTypeTable.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/InferredTypeTable.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo InferredTypeTable::s_info = { "InferredTypeTable", 0, 0, CREATE_METHOD_TABLE(InferredTypeTable) };
33
const ClassInfo InferredTypeTable::s_info = { "InferredTypeTable", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(InferredTypeTable) };
34
34
35
InferredTypeTable* InferredTypeTable::create(VM& vm)
35
InferredTypeTable* InferredTypeTable::create(VM& vm)
36
{
36
{
- a/Source/JavaScriptCore/runtime/InferredValue.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/InferredValue.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo InferredValue::s_info = { "InferredValue", 0, 0, CREATE_METHOD_TABLE(InferredValue) };
33
const ClassInfo InferredValue::s_info = { "InferredValue", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(InferredValue) };
34
34
35
InferredValue* InferredValue::create(VM& vm)
35
InferredValue* InferredValue::create(VM& vm)
36
{
36
{
- a/Source/JavaScriptCore/runtime/InspectorInstrumentationObject.cpp -1 / +1 lines
Lines 42-48 namespace JSC { a/Source/JavaScriptCore/runtime/InspectorInstrumentationObject.cpp_sec1
42
42
43
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(InspectorInstrumentationObject);
43
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(InspectorInstrumentationObject);
44
44
45
const ClassInfo InspectorInstrumentationObject::s_info = { "InspectorInstrumentation", &Base::s_info, &inspectorInstrumentationObjectTable, CREATE_METHOD_TABLE(InspectorInstrumentationObject) };
45
const ClassInfo InspectorInstrumentationObject::s_info = { "InspectorInstrumentation", &Base::s_info, &inspectorInstrumentationObjectTable, nullptr, CREATE_METHOD_TABLE(InspectorInstrumentationObject) };
46
46
47
/* Source for InspectorInstrumentationObject.lut.h
47
/* Source for InspectorInstrumentationObject.lut.h
48
@begin inspectorInstrumentationObjectTable
48
@begin inspectorInstrumentationObjectTable
- a/Source/JavaScriptCore/runtime/InternalFunction.cpp -1 / +1 lines
Lines 32-38 namespace JSC { a/Source/JavaScriptCore/runtime/InternalFunction.cpp_sec1
32
32
33
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(InternalFunction);
33
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(InternalFunction);
34
34
35
const ClassInfo InternalFunction::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(InternalFunction) };
35
const ClassInfo InternalFunction::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(InternalFunction) };
36
36
37
InternalFunction::InternalFunction(VM& vm, Structure* structure)
37
InternalFunction::InternalFunction(VM& vm, Structure* structure)
38
    : JSDestructibleObject(vm, structure)
38
    : JSDestructibleObject(vm, structure)
- a/Source/JavaScriptCore/runtime/IntlCollator.cpp -1 / +1 lines
Lines 43-49 a/Source/JavaScriptCore/runtime/IntlCollator.cpp_sec1
43
43
44
namespace JSC {
44
namespace JSC {
45
45
46
const ClassInfo IntlCollator::s_info = { "Object", &Base::s_info, 0, CREATE_METHOD_TABLE(IntlCollator) };
46
const ClassInfo IntlCollator::s_info = { "Object", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(IntlCollator) };
47
47
48
static const char* const relevantExtensionKeys[3] = { "co", "kn", "kf" };
48
static const char* const relevantExtensionKeys[3] = { "co", "kn", "kf" };
49
static const size_t indexOfExtensionKeyCo = 0;
49
static const size_t indexOfExtensionKeyCo = 0;
- a/Source/JavaScriptCore/runtime/IntlCollatorConstructor.cpp -1 / +1 lines
Lines 49-55 static EncodedJSValue JSC_HOST_CALL IntlCollatorConstructorFuncSupportedLocalesO a/Source/JavaScriptCore/runtime/IntlCollatorConstructor.cpp_sec1
49
49
50
namespace JSC {
50
namespace JSC {
51
51
52
const ClassInfo IntlCollatorConstructor::s_info = { "Function", &InternalFunction::s_info, &collatorConstructorTable, CREATE_METHOD_TABLE(IntlCollatorConstructor) };
52
const ClassInfo IntlCollatorConstructor::s_info = { "Function", &InternalFunction::s_info, &collatorConstructorTable, nullptr, CREATE_METHOD_TABLE(IntlCollatorConstructor) };
53
53
54
/* Source for IntlCollatorConstructor.lut.h
54
/* Source for IntlCollatorConstructor.lut.h
55
@begin collatorConstructorTable
55
@begin collatorConstructorTable
- a/Source/JavaScriptCore/runtime/IntlCollatorPrototype.cpp -1 / +1 lines
Lines 45-51 static EncodedJSValue JSC_HOST_CALL IntlCollatorPrototypeFuncResolvedOptions(Exe a/Source/JavaScriptCore/runtime/IntlCollatorPrototype.cpp_sec1
45
45
46
namespace JSC {
46
namespace JSC {
47
47
48
const ClassInfo IntlCollatorPrototype::s_info = { "Object", &Base::s_info, &collatorPrototypeTable, CREATE_METHOD_TABLE(IntlCollatorPrototype) };
48
const ClassInfo IntlCollatorPrototype::s_info = { "Object", &Base::s_info, &collatorPrototypeTable, nullptr, CREATE_METHOD_TABLE(IntlCollatorPrototype) };
49
49
50
/* Source for IntlCollatorPrototype.lut.h
50
/* Source for IntlCollatorPrototype.lut.h
51
@begin collatorPrototypeTable
51
@begin collatorPrototypeTable
- a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp -1 / +1 lines
Lines 47-53 a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp_sec1
47
47
48
namespace JSC {
48
namespace JSC {
49
49
50
const ClassInfo IntlDateTimeFormat::s_info = { "Object", &Base::s_info, 0, CREATE_METHOD_TABLE(IntlDateTimeFormat) };
50
const ClassInfo IntlDateTimeFormat::s_info = { "Object", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(IntlDateTimeFormat) };
51
51
52
static const char* const relevantExtensionKeys[2] = { "ca", "nu" };
52
static const char* const relevantExtensionKeys[2] = { "ca", "nu" };
53
static const size_t indexOfExtensionKeyCa = 0;
53
static const size_t indexOfExtensionKeyCa = 0;
- a/Source/JavaScriptCore/runtime/IntlDateTimeFormatConstructor.cpp -1 / +1 lines
Lines 49-55 static EncodedJSValue JSC_HOST_CALL IntlDateTimeFormatConstructorFuncSupportedLo a/Source/JavaScriptCore/runtime/IntlDateTimeFormatConstructor.cpp_sec1
49
49
50
namespace JSC {
50
namespace JSC {
51
51
52
const ClassInfo IntlDateTimeFormatConstructor::s_info = { "Function", &InternalFunction::s_info, &dateTimeFormatConstructorTable, CREATE_METHOD_TABLE(IntlDateTimeFormatConstructor) };
52
const ClassInfo IntlDateTimeFormatConstructor::s_info = { "Function", &InternalFunction::s_info, &dateTimeFormatConstructorTable, nullptr, CREATE_METHOD_TABLE(IntlDateTimeFormatConstructor) };
53
53
54
/* Source for IntlDateTimeFormatConstructor.lut.h
54
/* Source for IntlDateTimeFormatConstructor.lut.h
55
@begin dateTimeFormatConstructorTable
55
@begin dateTimeFormatConstructorTable
- a/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp -1 / +1 lines
Lines 52-58 static EncodedJSValue JSC_HOST_CALL IntlDateTimeFormatPrototypeFuncResolvedOptio a/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp_sec1
52
52
53
namespace JSC {
53
namespace JSC {
54
54
55
const ClassInfo IntlDateTimeFormatPrototype::s_info = { "Object", &Base::s_info, &dateTimeFormatPrototypeTable, CREATE_METHOD_TABLE(IntlDateTimeFormatPrototype) };
55
const ClassInfo IntlDateTimeFormatPrototype::s_info = { "Object", &Base::s_info, &dateTimeFormatPrototypeTable, nullptr, CREATE_METHOD_TABLE(IntlDateTimeFormatPrototype) };
56
56
57
/* Source for IntlDateTimeFormatPrototype.lut.h
57
/* Source for IntlDateTimeFormatPrototype.lut.h
58
@begin dateTimeFormatPrototypeTable
58
@begin dateTimeFormatPrototypeTable
- a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp -1 / +1 lines
Lines 39-45 a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp_sec1
39
39
40
namespace JSC {
40
namespace JSC {
41
41
42
const ClassInfo IntlNumberFormat::s_info = { "Object", &Base::s_info, 0, CREATE_METHOD_TABLE(IntlNumberFormat) };
42
const ClassInfo IntlNumberFormat::s_info = { "Object", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(IntlNumberFormat) };
43
43
44
static const char* const relevantExtensionKeys[1] = { "nu" };
44
static const char* const relevantExtensionKeys[1] = { "nu" };
45
45
- a/Source/JavaScriptCore/runtime/IntlNumberFormatConstructor.cpp -1 / +1 lines
Lines 49-55 static EncodedJSValue JSC_HOST_CALL IntlNumberFormatConstructorFuncSupportedLoca a/Source/JavaScriptCore/runtime/IntlNumberFormatConstructor.cpp_sec1
49
49
50
namespace JSC {
50
namespace JSC {
51
51
52
const ClassInfo IntlNumberFormatConstructor::s_info = { "Function", &Base::s_info, &numberFormatConstructorTable, CREATE_METHOD_TABLE(IntlNumberFormatConstructor) };
52
const ClassInfo IntlNumberFormatConstructor::s_info = { "Function", &Base::s_info, &numberFormatConstructorTable, nullptr, CREATE_METHOD_TABLE(IntlNumberFormatConstructor) };
53
53
54
/* Source for IntlNumberFormatConstructor.lut.h
54
/* Source for IntlNumberFormatConstructor.lut.h
55
@begin numberFormatConstructorTable
55
@begin numberFormatConstructorTable
- a/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp -1 / +1 lines
Lines 47-53 static EncodedJSValue JSC_HOST_CALL IntlNumberFormatPrototypeFuncResolvedOptions a/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp_sec1
47
47
48
namespace JSC {
48
namespace JSC {
49
49
50
const ClassInfo IntlNumberFormatPrototype::s_info = { "Object", &Base::s_info, &numberFormatPrototypeTable, CREATE_METHOD_TABLE(IntlNumberFormatPrototype) };
50
const ClassInfo IntlNumberFormatPrototype::s_info = { "Object", &Base::s_info, &numberFormatPrototypeTable, nullptr, CREATE_METHOD_TABLE(IntlNumberFormatPrototype) };
51
51
52
/* Source for IntlNumberFormatPrototype.lut.h
52
/* Source for IntlNumberFormatPrototype.lut.h
53
@begin numberFormatPrototypeTable
53
@begin numberFormatPrototypeTable
- a/Source/JavaScriptCore/runtime/IntlObject.cpp -1 / +1 lines
Lines 68-74 struct MatcherResult { a/Source/JavaScriptCore/runtime/IntlObject.cpp_sec1
68
    size_t extensionIndex;
68
    size_t extensionIndex;
69
};
69
};
70
70
71
const ClassInfo IntlObject::s_info = { "Object", &Base::s_info, 0, CREATE_METHOD_TABLE(IntlObject) };
71
const ClassInfo IntlObject::s_info = { "Object", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(IntlObject) };
72
72
73
IntlObject::IntlObject(VM& vm, Structure* structure)
73
IntlObject::IntlObject(VM& vm, Structure* structure)
74
    : JSNonFinalObject(vm, structure)
74
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/IteratorPrototype.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/IteratorPrototype.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo IteratorPrototype::s_info = { "Iterator", &Base::s_info, nullptr, CREATE_METHOD_TABLE(IteratorPrototype) };
36
const ClassInfo IteratorPrototype::s_info = { "Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(IteratorPrototype) };
37
37
38
void IteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject)
38
void IteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject)
39
{
39
{
- a/Source/JavaScriptCore/runtime/JSAPIValueWrapper.cpp -1 / +1 lines
Lines 29-34 namespace JSC { a/Source/JavaScriptCore/runtime/JSAPIValueWrapper.cpp_sec1
29
29
30
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSAPIValueWrapper);
30
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSAPIValueWrapper);
31
31
32
const ClassInfo JSAPIValueWrapper::s_info = { "API Wrapper", 0, 0, CREATE_METHOD_TABLE(JSAPIValueWrapper) };
32
const ClassInfo JSAPIValueWrapper::s_info = { "API Wrapper", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSAPIValueWrapper) };
33
33
34
} // namespace JSC
34
} // namespace JSC
- a/Source/JavaScriptCore/runtime/JSArray.cpp -1 / +1 lines
Lines 44-50 static const char* const LengthExceededTheMaximumArrayLengthError = "Length exce a/Source/JavaScriptCore/runtime/JSArray.cpp_sec1
44
44
45
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSArray);
45
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSArray);
46
46
47
const ClassInfo JSArray::s_info = {"Array", &JSNonFinalObject::s_info, 0, CREATE_METHOD_TABLE(JSArray)};
47
const ClassInfo JSArray::s_info = {"Array", &JSNonFinalObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSArray)};
48
48
49
Butterfly* createArrayButterflyInDictionaryIndexingMode(
49
Butterfly* createArrayButterflyInDictionaryIndexingMode(
50
    VM& vm, JSCell* intendedOwner, unsigned initialLength)
50
    VM& vm, JSCell* intendedOwner, unsigned initialLength)
- a/Source/JavaScriptCore/runtime/JSArrayBuffer.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/JSArrayBuffer.cpp_sec1
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo JSArrayBuffer::s_info = {
35
const ClassInfo JSArrayBuffer::s_info = {
36
    "ArrayBuffer", &Base::s_info, 0, CREATE_METHOD_TABLE(JSArrayBuffer)};
36
    "ArrayBuffer", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSArrayBuffer)};
37
37
38
JSArrayBuffer::JSArrayBuffer(VM& vm, Structure* structure, RefPtr<ArrayBuffer>&& arrayBuffer)
38
JSArrayBuffer::JSArrayBuffer(VM& vm, Structure* structure, RefPtr<ArrayBuffer>&& arrayBuffer)
39
    : Base(vm, structure)
39
    : Base(vm, structure)
- a/Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp -1 / +1 lines
Lines 40-46 namespace JSC { a/Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp_sec1
40
static EncodedJSValue JSC_HOST_CALL arrayBufferFuncIsView(ExecState*);
40
static EncodedJSValue JSC_HOST_CALL arrayBufferFuncIsView(ExecState*);
41
41
42
const ClassInfo JSArrayBufferConstructor::s_info = {
42
const ClassInfo JSArrayBufferConstructor::s_info = {
43
    "Function", &Base::s_info, 0,
43
    "Function", &Base::s_info, nullptr, nullptr,
44
    CREATE_METHOD_TABLE(JSArrayBufferConstructor)
44
    CREATE_METHOD_TABLE(JSArrayBufferConstructor)
45
};
45
};
46
46
- a/Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp -1 / +1 lines
Lines 111-117 static EncodedJSValue JSC_HOST_CALL sharedArrayBufferProtoGetterFuncByteLength(E a/Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp_sec1
111
}
111
}
112
112
113
const ClassInfo JSArrayBufferPrototype::s_info = {
113
const ClassInfo JSArrayBufferPrototype::s_info = {
114
    "ArrayBufferPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSArrayBufferPrototype)
114
    "ArrayBufferPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSArrayBufferPrototype)
115
};
115
};
116
116
117
JSArrayBufferPrototype::JSArrayBufferPrototype(VM& vm, Structure* structure, ArrayBufferSharingMode sharingMode)
117
JSArrayBufferPrototype::JSArrayBufferPrototype(VM& vm, Structure* structure, ArrayBufferSharingMode sharingMode)
- a/Source/JavaScriptCore/runtime/JSArrayBufferView.cpp -1 / +1 lines
Lines 34-40 a/Source/JavaScriptCore/runtime/JSArrayBufferView.cpp_sec1
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo JSArrayBufferView::s_info = {
36
const ClassInfo JSArrayBufferView::s_info = {
37
    "ArrayBufferView", &Base::s_info, 0, CREATE_METHOD_TABLE(JSArrayBufferView)
37
    "ArrayBufferView", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSArrayBufferView)
38
};
38
};
39
39
40
String JSArrayBufferView::toStringName(const JSObject*, ExecState*)
40
String JSArrayBufferView::toStringName(const JSObject*, ExecState*)
- a/Source/JavaScriptCore/runtime/JSAsyncFunction.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/runtime/JSAsyncFunction.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo JSAsyncFunction::s_info = { "AsyncFunction",  &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSAsyncFunction) };
40
const ClassInfo JSAsyncFunction::s_info = { "AsyncFunction",  &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSAsyncFunction) };
41
41
42
JSAsyncFunction::JSAsyncFunction(VM& vm, FunctionExecutable* executable, JSScope* scope, Structure* structure)
42
JSAsyncFunction::JSAsyncFunction(VM& vm, FunctionExecutable* executable, JSScope* scope, Structure* structure)
43
    : Base(vm, executable, scope, structure)
43
    : Base(vm, executable, scope, structure)
- a/Source/JavaScriptCore/runtime/JSBoundFunction.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/JSBoundFunction.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo JSBoundFunction::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBoundFunction) };
35
const ClassInfo JSBoundFunction::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBoundFunction) };
36
36
37
EncodedJSValue JSC_HOST_CALL boundThisNoArgsFunctionCall(ExecState* exec)
37
EncodedJSValue JSC_HOST_CALL boundThisNoArgsFunctionCall(ExecState* exec)
38
{
38
{
- a/Source/JavaScriptCore/runtime/JSCallee.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/JSCallee.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo JSCallee::s_info = { "Callee", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCallee) };
36
const ClassInfo JSCallee::s_info = { "Callee", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCallee) };
37
37
38
JSCallee::JSCallee(VM& vm, JSGlobalObject* globalObject, Structure* structure)
38
JSCallee::JSCallee(VM& vm, JSGlobalObject* globalObject, Structure* structure)
39
    : Base(vm, structure)
39
    : Base(vm, structure)
- a/Source/JavaScriptCore/runtime/JSCustomGetterSetterFunction.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/JSCustomGetterSetterFunction.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo JSCustomGetterSetterFunction::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(JSCustomGetterSetterFunction) };
36
const ClassInfo JSCustomGetterSetterFunction::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCustomGetterSetterFunction) };
37
37
38
EncodedJSValue JSC_HOST_CALL JSCustomGetterSetterFunction::customGetterSetterFunctionCall(ExecState* exec)
38
EncodedJSValue JSC_HOST_CALL JSCustomGetterSetterFunction::customGetterSetterFunctionCall(ExecState* exec)
39
{
39
{
- a/Source/JavaScriptCore/runtime/JSDataView.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/runtime/JSDataView.cpp_sec1
35
namespace JSC {
35
namespace JSC {
36
36
37
const ClassInfo JSDataView::s_info = {
37
const ClassInfo JSDataView::s_info = {
38
    "DataView", &Base::s_info, 0, CREATE_METHOD_TABLE(JSDataView)};
38
    "DataView", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDataView)};
39
39
40
JSDataView::JSDataView(VM& vm, ConstructionContext& context, ArrayBuffer* buffer)
40
JSDataView::JSDataView(VM& vm, ConstructionContext& context, ArrayBuffer* buffer)
41
    : Base(vm, context)
41
    : Base(vm, context)
- a/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp -1 / +1 lines
Lines 88-94 EncodedJSValue JSC_HOST_CALL dataViewProtoGetterByteOffset(ExecState*); a/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp_sec1
88
namespace JSC {
88
namespace JSC {
89
89
90
const ClassInfo JSDataViewPrototype::s_info = {
90
const ClassInfo JSDataViewPrototype::s_info = {
91
    "DataViewPrototype", &Base::s_info, &dataViewTable,
91
    "DataViewPrototype", &Base::s_info, &dataViewTable, nullptr,
92
    CREATE_METHOD_TABLE(JSDataViewPrototype)
92
    CREATE_METHOD_TABLE(JSDataViewPrototype)
93
};
93
};
94
94
- a/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp -1 / +1 lines
Lines 34-40 a/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp_sec1
34
34
35
namespace JSC {
35
namespace JSC {
36
36
37
const ClassInfo JSEnvironmentRecord::s_info = { "EnvironmentRecord", &Base::s_info, 0, CREATE_METHOD_TABLE(JSEnvironmentRecord) };
37
const ClassInfo JSEnvironmentRecord::s_info = { "EnvironmentRecord", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSEnvironmentRecord) };
38
38
39
void JSEnvironmentRecord::visitChildren(JSCell* cell, SlotVisitor& visitor)
39
void JSEnvironmentRecord::visitChildren(JSCell* cell, SlotVisitor& visitor)
40
{
40
{
- a/Source/JavaScriptCore/runtime/JSFixedArray.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/JSFixedArray.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo JSFixedArray::s_info = { "JSFixedArray", nullptr, nullptr, CREATE_METHOD_TABLE(JSFixedArray) };
34
const ClassInfo JSFixedArray::s_info = { "JSFixedArray", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSFixedArray) };
35
35
36
void JSFixedArray::visitChildren(JSCell* cell, SlotVisitor& visitor)
36
void JSFixedArray::visitChildren(JSCell* cell, SlotVisitor& visitor)
37
{
37
{
- a/Source/JavaScriptCore/runtime/JSFunction.cpp -1 / +1 lines
Lines 55-61 EncodedJSValue JSC_HOST_CALL callHostFunctionAsConstructor(ExecState* exec) a/Source/JavaScriptCore/runtime/JSFunction.cpp_sec1
55
    return throwVMError(exec, scope, createNotAConstructorError(exec, exec->jsCallee()));
55
    return throwVMError(exec, scope, createNotAConstructorError(exec, exec->jsCallee()));
56
}
56
}
57
57
58
const ClassInfo JSFunction::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(JSFunction) };
58
const ClassInfo JSFunction::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFunction) };
59
59
60
bool JSFunction::isHostFunctionNonInline() const
60
bool JSFunction::isHostFunctionNonInline() const
61
{
61
{
- a/Source/JavaScriptCore/runtime/JSGeneratorFunction.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/runtime/JSGeneratorFunction.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo JSGeneratorFunction::s_info = { "GeneratorFunction", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSGeneratorFunction) };
40
const ClassInfo JSGeneratorFunction::s_info = { "GeneratorFunction", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSGeneratorFunction) };
41
41
42
JSGeneratorFunction::JSGeneratorFunction(VM& vm, FunctionExecutable* executable, JSScope* scope, Structure* structure)
42
JSGeneratorFunction::JSGeneratorFunction(VM& vm, FunctionExecutable* executable, JSScope* scope, Structure* structure)
43
    : Base(vm, executable, scope, structure)
43
    : Base(vm, executable, scope, structure)
- a/Source/JavaScriptCore/runtime/JSGlobalLexicalEnvironment.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/JSGlobalLexicalEnvironment.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo JSGlobalLexicalEnvironment::s_info = { "JSGlobalLexicalEnvironment", &Base::s_info, 0, CREATE_METHOD_TABLE(JSGlobalLexicalEnvironment) };
33
const ClassInfo JSGlobalLexicalEnvironment::s_info = { "JSGlobalLexicalEnvironment", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSGlobalLexicalEnvironment) };
34
34
35
void JSGlobalLexicalEnvironment::destroy(JSCell* cell)
35
void JSGlobalLexicalEnvironment::destroy(JSCell* cell)
36
{
36
{
- a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp -1 / +1 lines
Lines 243-249 static EncodedJSValue JSC_HOST_CALL hasOwnLengthProperty(ExecState* exec) a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp_sec1
243
243
244
namespace JSC {
244
namespace JSC {
245
245
246
const ClassInfo JSGlobalObject::s_info = { "GlobalObject", &Base::s_info, &globalObjectTable, CREATE_METHOD_TABLE(JSGlobalObject) };
246
const ClassInfo JSGlobalObject::s_info = { "GlobalObject", &Base::s_info, &globalObjectTable, nullptr, CREATE_METHOD_TABLE(JSGlobalObject) };
247
247
248
const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = {
248
const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = {
249
    &supportsRichSourceInfo,
249
    &supportsRichSourceInfo,
- a/Source/JavaScriptCore/runtime/JSInternalPromise.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/JSInternalPromise.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo JSInternalPromise::s_info = { "InternalPromise", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSInternalPromise) };
34
const ClassInfo JSInternalPromise::s_info = { "InternalPromise", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSInternalPromise) };
35
35
36
JSInternalPromise* JSInternalPromise::create(VM& vm, Structure* structure)
36
JSInternalPromise* JSInternalPromise::create(VM& vm, Structure* structure)
37
{
37
{
- a/Source/JavaScriptCore/runtime/JSInternalPromiseConstructor.cpp -1 / +1 lines
Lines 37-43 namespace JSC { a/Source/JavaScriptCore/runtime/JSInternalPromiseConstructor.cpp_sec1
37
37
38
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSInternalPromiseConstructor);
38
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSInternalPromiseConstructor);
39
39
40
const ClassInfo JSInternalPromiseConstructor::s_info = { "Function", &Base::s_info, &internalPromiseConstructorTable, CREATE_METHOD_TABLE(JSInternalPromiseConstructor) };
40
const ClassInfo JSInternalPromiseConstructor::s_info = { "Function", &Base::s_info, &internalPromiseConstructorTable, nullptr, CREATE_METHOD_TABLE(JSInternalPromiseConstructor) };
41
41
42
/* Source for JSInternalPromiseConstructor.lut.h
42
/* Source for JSInternalPromiseConstructor.lut.h
43
@begin internalPromiseConstructorTable
43
@begin internalPromiseConstructorTable
- a/Source/JavaScriptCore/runtime/JSInternalPromiseDeferred.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/runtime/JSInternalPromiseDeferred.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo JSInternalPromiseDeferred::s_info = { "JSInternalPromiseDeferred", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSInternalPromiseDeferred) };
38
const ClassInfo JSInternalPromiseDeferred::s_info = { "JSInternalPromiseDeferred", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSInternalPromiseDeferred) };
39
39
40
JSInternalPromiseDeferred* JSInternalPromiseDeferred::create(ExecState* exec, JSGlobalObject* globalObject)
40
JSInternalPromiseDeferred* JSInternalPromiseDeferred::create(ExecState* exec, JSGlobalObject* globalObject)
41
{
41
{
- a/Source/JavaScriptCore/runtime/JSInternalPromisePrototype.cpp -1 / +1 lines
Lines 37-43 namespace JSC { a/Source/JavaScriptCore/runtime/JSInternalPromisePrototype.cpp_sec1
37
37
38
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSInternalPromisePrototype);
38
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSInternalPromisePrototype);
39
39
40
const ClassInfo JSInternalPromisePrototype::s_info = { "InternalPromisePrototype", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSInternalPromisePrototype) };
40
const ClassInfo JSInternalPromisePrototype::s_info = { "InternalPromisePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSInternalPromisePrototype) };
41
41
42
JSInternalPromisePrototype* JSInternalPromisePrototype::create(VM& vm, JSGlobalObject*, Structure* structure)
42
JSInternalPromisePrototype* JSInternalPromisePrototype::create(VM& vm, JSGlobalObject*, Structure* structure)
43
{
43
{
- a/Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp -1 / +1 lines
Lines 37-43 using namespace std; a/Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo JSLexicalEnvironment::s_info = { "JSLexicalEnvironment", &Base::s_info, 0, CREATE_METHOD_TABLE(JSLexicalEnvironment) };
40
const ClassInfo JSLexicalEnvironment::s_info = { "JSLexicalEnvironment", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSLexicalEnvironment) };
41
41
42
void JSLexicalEnvironment::getOwnNonIndexPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
42
void JSLexicalEnvironment::getOwnNonIndexPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
43
{
43
{
- a/Source/JavaScriptCore/runtime/JSMap.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/JSMap.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo JSMap::s_info = { "Map", &Base::s_info, 0, CREATE_METHOD_TABLE(JSMap) };
33
const ClassInfo JSMap::s_info = { "Map", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMap) };
34
34
35
String JSMap::toStringName(const JSObject*, ExecState*)
35
String JSMap::toStringName(const JSObject*, ExecState*)
36
{
36
{
- a/Source/JavaScriptCore/runtime/JSMapIterator.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/JSMapIterator.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo JSMapIterator::s_info = { "Map Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(JSMapIterator) };
34
const ClassInfo JSMapIterator::s_info = { "Map Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMapIterator) };
35
35
36
void JSMapIterator::finishCreation(VM& vm, JSMap* iteratedObject)
36
void JSMapIterator::finishCreation(VM& vm, JSMap* iteratedObject)
37
{
37
{
- a/Source/JavaScriptCore/runtime/JSModuleEnvironment.cpp -1 / +1 lines
Lines 38-44 using namespace std; a/Source/JavaScriptCore/runtime/JSModuleEnvironment.cpp_sec1
38
38
39
namespace JSC {
39
namespace JSC {
40
40
41
const ClassInfo JSModuleEnvironment::s_info = { "JSModuleEnvironment", &Base::s_info, 0, CREATE_METHOD_TABLE(JSModuleEnvironment) };
41
const ClassInfo JSModuleEnvironment::s_info = { "JSModuleEnvironment", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSModuleEnvironment) };
42
42
43
JSModuleEnvironment* JSModuleEnvironment::create(
43
JSModuleEnvironment* JSModuleEnvironment::create(
44
    VM& vm, Structure* structure, JSScope* currentScope, SymbolTable* symbolTable, JSValue initialValue, AbstractModuleRecord* moduleRecord)
44
    VM& vm, Structure* structure, JSScope* currentScope, SymbolTable* symbolTable, JSValue initialValue, AbstractModuleRecord* moduleRecord)
- a/Source/JavaScriptCore/runtime/JSModuleLoader.cpp -1 / +1 lines
Lines 49-55 namespace JSC { a/Source/JavaScriptCore/runtime/JSModuleLoader.cpp_sec1
49
49
50
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSModuleLoader);
50
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSModuleLoader);
51
51
52
const ClassInfo JSModuleLoader::s_info = { "ModuleLoader", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSModuleLoader) };
52
const ClassInfo JSModuleLoader::s_info = { "ModuleLoader", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSModuleLoader) };
53
53
54
JSModuleLoader::JSModuleLoader(VM& vm, Structure* structure)
54
JSModuleLoader::JSModuleLoader(VM& vm, Structure* structure)
55
    : JSNonFinalObject(vm, structure)
55
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/JSModuleNamespaceObject.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/JSModuleNamespaceObject.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo JSModuleNamespaceObject::s_info = { "ModuleNamespaceObject", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSModuleNamespaceObject) };
36
const ClassInfo JSModuleNamespaceObject::s_info = { "ModuleNamespaceObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSModuleNamespaceObject) };
37
37
38
JSModuleNamespaceObject::JSModuleNamespaceObject(VM& vm, Structure* structure)
38
JSModuleNamespaceObject::JSModuleNamespaceObject(VM& vm, Structure* structure)
39
    : Base(vm, structure)
39
    : Base(vm, structure)
- a/Source/JavaScriptCore/runtime/JSModuleRecord.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/runtime/JSModuleRecord.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo JSModuleRecord::s_info = { "ModuleRecord", &Base::s_info, 0, CREATE_METHOD_TABLE(JSModuleRecord) };
38
const ClassInfo JSModuleRecord::s_info = { "ModuleRecord", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSModuleRecord) };
39
39
40
40
41
Structure* JSModuleRecord::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
41
Structure* JSModuleRecord::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
- a/Source/JavaScriptCore/runtime/JSNativeStdFunction.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/runtime/JSNativeStdFunction.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo JSNativeStdFunction::s_info = { "Function", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSNativeStdFunction) };
38
const ClassInfo JSNativeStdFunction::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSNativeStdFunction) };
39
39
40
JSNativeStdFunction::JSNativeStdFunction(VM& vm, JSGlobalObject* globalObject, Structure* structure)
40
JSNativeStdFunction::JSNativeStdFunction(VM& vm, JSGlobalObject* globalObject, Structure* structure)
41
    : Base(vm, globalObject, structure)
41
    : Base(vm, globalObject, structure)
- a/Source/JavaScriptCore/runtime/JSONObject.cpp -1 / +1 lines
Lines 580-586 bool Stringifier::Holder::appendNextProperty(Stringifier& stringifier, StringBui a/Source/JavaScriptCore/runtime/JSONObject.cpp_sec1
580
580
581
// ------------------------------ JSONObject --------------------------------
581
// ------------------------------ JSONObject --------------------------------
582
582
583
const ClassInfo JSONObject::s_info = { "JSON", &JSNonFinalObject::s_info, &jsonTable, CREATE_METHOD_TABLE(JSONObject) };
583
const ClassInfo JSONObject::s_info = { "JSON", &JSNonFinalObject::s_info, &jsonTable, nullptr, CREATE_METHOD_TABLE(JSONObject) };
584
584
585
/* Source for JSONObject.lut.h
585
/* Source for JSONObject.lut.h
586
@begin jsonTable
586
@begin jsonTable
- a/Source/JavaScriptCore/runtime/JSObject.cpp -2 / +2 lines
Lines 69-77 const char* const UnconfigurablePropertyChangeConfigurabilityError = "Attempting a/Source/JavaScriptCore/runtime/JSObject.cpp_sec1
69
const char* const UnconfigurablePropertyChangeEnumerabilityError = "Attempting to change enumerable attribute of unconfigurable property.";
69
const char* const UnconfigurablePropertyChangeEnumerabilityError = "Attempting to change enumerable attribute of unconfigurable property.";
70
const char* const UnconfigurablePropertyChangeWritabilityError = "Attempting to change writable attribute of unconfigurable property.";
70
const char* const UnconfigurablePropertyChangeWritabilityError = "Attempting to change writable attribute of unconfigurable property.";
71
71
72
const ClassInfo JSObject::s_info = { "Object", 0, 0, CREATE_METHOD_TABLE(JSObject) };
72
const ClassInfo JSObject::s_info = { "Object", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSObject) };
73
73
74
const ClassInfo JSFinalObject::s_info = { "Object", &Base::s_info, 0, CREATE_METHOD_TABLE(JSFinalObject) };
74
const ClassInfo JSFinalObject::s_info = { "Object", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFinalObject) };
75
75
76
static inline void getClassPropertyNames(ExecState* exec, const ClassInfo* classInfo, PropertyNameArray& propertyNames, EnumerationMode mode)
76
static inline void getClassPropertyNames(ExecState* exec, const ClassInfo* classInfo, PropertyNameArray& propertyNames, EnumerationMode mode)
77
{
77
{
- a/Source/JavaScriptCore/runtime/JSPromise.cpp -1 / +1 lines
Lines 34-40 a/Source/JavaScriptCore/runtime/JSPromise.cpp_sec1
34
34
35
namespace JSC {
35
namespace JSC {
36
36
37
const ClassInfo JSPromise::s_info = { "Promise", &Base::s_info, 0, CREATE_METHOD_TABLE(JSPromise) };
37
const ClassInfo JSPromise::s_info = { "Promise", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSPromise) };
38
38
39
JSPromise* JSPromise::create(VM& vm, Structure* structure)
39
JSPromise* JSPromise::create(VM& vm, Structure* structure)
40
{
40
{
- a/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp -1 / +1 lines
Lines 49-55 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSPromiseConstructor); a/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp_sec1
49
49
50
namespace JSC {
50
namespace JSC {
51
51
52
const ClassInfo JSPromiseConstructor::s_info = { "Function", &Base::s_info, &promiseConstructorTable, CREATE_METHOD_TABLE(JSPromiseConstructor) };
52
const ClassInfo JSPromiseConstructor::s_info = { "Function", &Base::s_info, &promiseConstructorTable, nullptr, CREATE_METHOD_TABLE(JSPromiseConstructor) };
53
53
54
/* Source for JSPromiseConstructor.lut.h
54
/* Source for JSPromiseConstructor.lut.h
55
@begin promiseConstructorTable
55
@begin promiseConstructorTable
- a/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo JSPromiseDeferred::s_info = { "JSPromiseDeferred", 0, 0, CREATE_METHOD_TABLE(JSPromiseDeferred) };
40
const ClassInfo JSPromiseDeferred::s_info = { "JSPromiseDeferred", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSPromiseDeferred) };
41
41
42
JSValue newPromiseCapability(ExecState* exec, JSGlobalObject* globalObject, JSPromiseConstructor* promiseConstructor)
42
JSValue newPromiseCapability(ExecState* exec, JSGlobalObject* globalObject, JSPromiseConstructor* promiseConstructor)
43
{
43
{
- a/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp -1 / +1 lines
Lines 45-51 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSPromisePrototype); a/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp_sec1
45
45
46
namespace JSC {
46
namespace JSC {
47
47
48
const ClassInfo JSPromisePrototype::s_info = { "PromisePrototype", &Base::s_info, &promisePrototypeTable, CREATE_METHOD_TABLE(JSPromisePrototype) };
48
const ClassInfo JSPromisePrototype::s_info = { "PromisePrototype", &Base::s_info, &promisePrototypeTable, nullptr, CREATE_METHOD_TABLE(JSPromisePrototype) };
49
49
50
/* Source for JSPromisePrototype.lut.h
50
/* Source for JSPromisePrototype.lut.h
51
@begin promisePrototypeTable
51
@begin promisePrototypeTable
- a/Source/JavaScriptCore/runtime/JSPropertyNameEnumerator.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/JSPropertyNameEnumerator.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo JSPropertyNameEnumerator::s_info = { "JSPropertyNameEnumerator", 0, 0, CREATE_METHOD_TABLE(JSPropertyNameEnumerator) };
35
const ClassInfo JSPropertyNameEnumerator::s_info = { "JSPropertyNameEnumerator", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSPropertyNameEnumerator) };
36
36
37
JSPropertyNameEnumerator* JSPropertyNameEnumerator::create(VM& vm)
37
JSPropertyNameEnumerator* JSPropertyNameEnumerator::create(VM& vm)
38
{
38
{
- a/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp_sec1
34
34
35
static EncodedJSValue JSC_HOST_CALL propertyNameIteratorFuncNext(ExecState*);
35
static EncodedJSValue JSC_HOST_CALL propertyNameIteratorFuncNext(ExecState*);
36
36
37
const ClassInfo JSPropertyNameIterator::s_info = { "PropertyName Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(JSPropertyNameIterator) };
37
const ClassInfo JSPropertyNameIterator::s_info = { "PropertyName Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSPropertyNameIterator) };
38
38
39
JSPropertyNameIterator::JSPropertyNameIterator(VM& vm, Structure* structure, JSObject* object, JSPropertyNameEnumerator* enumerator)
39
JSPropertyNameIterator::JSPropertyNameIterator(VM& vm, Structure* structure, JSObject* object, JSPropertyNameEnumerator* enumerator)
40
    : Base(vm, structure)
40
    : Base(vm, structure)
- a/Source/JavaScriptCore/runtime/JSProxy.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/runtime/JSProxy.cpp_sec1
34
34
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSProxy);
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSProxy);
36
36
37
const ClassInfo JSProxy::s_info = { "JSProxy", &Base::s_info, 0, CREATE_METHOD_TABLE(JSProxy) };
37
const ClassInfo JSProxy::s_info = { "JSProxy", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSProxy) };
38
38
39
void JSProxy::visitChildren(JSCell* cell, SlotVisitor& visitor)
39
void JSProxy::visitChildren(JSCell* cell, SlotVisitor& visitor)
40
{
40
{
- a/Source/JavaScriptCore/runtime/JSScriptFetcher.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/JSScriptFetcher.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo JSScriptFetcher::s_info = { "JSScriptFetcher", nullptr, nullptr, CREATE_METHOD_TABLE(JSScriptFetcher) };
33
const ClassInfo JSScriptFetcher::s_info = { "JSScriptFetcher", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSScriptFetcher) };
34
34
35
void JSScriptFetcher::destroy(JSCell* cell)
35
void JSScriptFetcher::destroy(JSCell* cell)
36
{
36
{
- a/Source/JavaScriptCore/runtime/JSSet.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/JSSet.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo JSSet::s_info = { "Set", &Base::s_info, 0, CREATE_METHOD_TABLE(JSSet) };
33
const ClassInfo JSSet::s_info = { "Set", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSet) };
34
34
35
String JSSet::toStringName(const JSObject*, ExecState*)
35
String JSSet::toStringName(const JSObject*, ExecState*)
36
{
36
{
- a/Source/JavaScriptCore/runtime/JSSetIterator.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/JSSetIterator.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo JSSetIterator::s_info = { "Set Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(JSSetIterator) };
34
const ClassInfo JSSetIterator::s_info = { "Set Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSetIterator) };
35
35
36
void JSSetIterator::finishCreation(VM& vm, JSSet* iteratedObject)
36
void JSSetIterator::finishCreation(VM& vm, JSSet* iteratedObject)
37
{
37
{
- a/Source/JavaScriptCore/runtime/JSSourceCode.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/JSSourceCode.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo JSSourceCode::s_info = { "JSSourceCode", nullptr, nullptr, CREATE_METHOD_TABLE(JSSourceCode) };
33
const ClassInfo JSSourceCode::s_info = { "JSSourceCode", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSSourceCode) };
34
34
35
void JSSourceCode::destroy(JSCell* cell)
35
void JSSourceCode::destroy(JSCell* cell)
36
{
36
{
- a/Source/JavaScriptCore/runtime/JSString.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/JSString.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
    
35
    
36
const ClassInfo JSString::s_info = { "string", 0, 0, CREATE_METHOD_TABLE(JSString) };
36
const ClassInfo JSString::s_info = { "string", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSString) };
37
37
38
Structure* JSString::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
38
Structure* JSString::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
39
{
39
{
- a/Source/JavaScriptCore/runtime/JSStringIterator.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/JSStringIterator.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo JSStringIterator::s_info = { "String Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(JSStringIterator) };
35
const ClassInfo JSStringIterator::s_info = { "String Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSStringIterator) };
36
36
37
void JSStringIterator::finishCreation(VM& vm, JSGlobalObject*, JSString* iteratedString)
37
void JSStringIterator::finishCreation(VM& vm, JSGlobalObject*, JSString* iteratedString)
38
{
38
{
- a/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp -1 / +1 lines
Lines 34-40 a/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp_sec1
34
34
35
namespace JSC {
35
namespace JSC {
36
36
37
const ClassInfo JSSymbolTableObject::s_info = { "SymbolTableObject", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSSymbolTableObject) };
37
const ClassInfo JSSymbolTableObject::s_info = { "SymbolTableObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSymbolTableObject) };
38
38
39
void JSSymbolTableObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
39
void JSSymbolTableObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
40
{
40
{
- a/Source/JavaScriptCore/runtime/JSTemplateRegistryKey.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/JSTemplateRegistryKey.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo JSTemplateRegistryKey::s_info = { "TemplateRegistryKey", nullptr, nullptr, CREATE_METHOD_TABLE(JSTemplateRegistryKey) };
35
const ClassInfo JSTemplateRegistryKey::s_info = { "TemplateRegistryKey", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSTemplateRegistryKey) };
36
36
37
37
38
JSTemplateRegistryKey::JSTemplateRegistryKey(VM& vm, Ref<TemplateRegistryKey>&& templateRegistryKey)
38
JSTemplateRegistryKey::JSTemplateRegistryKey(VM& vm, Ref<TemplateRegistryKey>&& templateRegistryKey)
- a/Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp_sec1
33
namespace JSC {
33
namespace JSC {
34
34
35
#define MAKE_S_INFO(type) \
35
#define MAKE_S_INFO(type) \
36
    template<> const ClassInfo JS##type##Constructor::s_info = {"Function", &JS##type##Constructor::Base::s_info, 0, CREATE_METHOD_TABLE(JS##type##Constructor)}
36
    template<> const ClassInfo JS##type##Constructor::s_info = {"Function", &JS##type##Constructor::Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JS##type##Constructor)}
37
37
38
MAKE_S_INFO(Int8Array);
38
MAKE_S_INFO(Int8Array);
39
MAKE_S_INFO(Int16Array);
39
MAKE_S_INFO(Int16Array);
- a/Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp -2 / +2 lines
Lines 31-41 a/Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo JSTypedArrayViewPrototype::s_info = {"Prototype", &JSTypedArrayViewPrototype::Base::s_info, 0,
34
const ClassInfo JSTypedArrayViewPrototype::s_info = {"Prototype", &JSTypedArrayViewPrototype::Base::s_info, nullptr, nullptr,
35
    CREATE_METHOD_TABLE(JSTypedArrayViewPrototype)};
35
    CREATE_METHOD_TABLE(JSTypedArrayViewPrototype)};
36
36
37
#define MAKE_S_INFO(type) \
37
#define MAKE_S_INFO(type) \
38
    template<> const ClassInfo JS##type##Prototype::s_info = {#type "Prototype", &JS##type##Prototype::Base::s_info, 0, CREATE_METHOD_TABLE(JS##type##Prototype)}
38
    template<> const ClassInfo JS##type##Prototype::s_info = {#type "Prototype", &JS##type##Prototype::Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JS##type##Prototype)}
39
39
40
MAKE_S_INFO(Int8Array);
40
MAKE_S_INFO(Int8Array);
41
MAKE_S_INFO(Int16Array);
41
MAKE_S_INFO(Int16Array);
- a/Source/JavaScriptCore/runtime/JSTypedArrayViewConstructor.cpp -1 / +1 lines
Lines 42-48 JSTypedArrayViewConstructor::JSTypedArrayViewConstructor(VM& vm, Structure* stru a/Source/JavaScriptCore/runtime/JSTypedArrayViewConstructor.cpp_sec1
42
{
42
{
43
}
43
}
44
44
45
const ClassInfo JSTypedArrayViewConstructor::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTypedArrayViewConstructor) };
45
const ClassInfo JSTypedArrayViewConstructor::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTypedArrayViewConstructor) };
46
46
47
void JSTypedArrayViewConstructor::finishCreation(VM& vm, JSGlobalObject* globalObject, JSTypedArrayViewPrototype* prototype, GetterSetter* speciesSymbol)
47
void JSTypedArrayViewConstructor::finishCreation(VM& vm, JSGlobalObject* globalObject, JSTypedArrayViewPrototype* prototype, GetterSetter* speciesSymbol)
48
{
48
{
- a/Source/JavaScriptCore/runtime/JSTypedArrays.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/runtime/JSTypedArrays.cpp_sec1
34
34
35
#define MAKE_S_INFO(type) \
35
#define MAKE_S_INFO(type) \
36
    template<> const ClassInfo JS##type##Array::s_info = { \
36
    template<> const ClassInfo JS##type##Array::s_info = { \
37
        #type "Array", &JS##type##Array::Base::s_info, 0, \
37
        #type "Array", &JS##type##Array::Base::s_info, nullptr, nullptr, \
38
        CREATE_METHOD_TABLE(JS##type##Array) \
38
        CREATE_METHOD_TABLE(JS##type##Array) \
39
    }; \
39
    }; \
40
    const ClassInfo* get##type##ArrayClassInfo() { return &JS##type##Array::s_info; }
40
    const ClassInfo* get##type##ArrayClassInfo() { return &JS##type##Array::s_info; }
- a/Source/JavaScriptCore/runtime/JSWeakMap.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/JSWeakMap.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo JSWeakMap::s_info = { "WeakMap", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWeakMap) };
34
const ClassInfo JSWeakMap::s_info = { "WeakMap", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWeakMap) };
35
35
36
void JSWeakMap::finishCreation(VM& vm)
36
void JSWeakMap::finishCreation(VM& vm)
37
{
37
{
- a/Source/JavaScriptCore/runtime/JSWeakSet.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/JSWeakSet.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo JSWeakSet::s_info = { "WeakSet", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWeakSet) };
34
const ClassInfo JSWeakSet::s_info = { "WeakSet", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWeakSet) };
35
35
36
void JSWeakSet::finishCreation(VM& vm)
36
void JSWeakSet::finishCreation(VM& vm)
37
{
37
{
- a/Source/JavaScriptCore/runtime/JSWithScope.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/JSWithScope.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo JSWithScope::s_info = { "WithScope", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWithScope) };
33
const ClassInfo JSWithScope::s_info = { "WithScope", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWithScope) };
34
34
35
JSWithScope* JSWithScope::create(
35
JSWithScope* JSWithScope::create(
36
    VM& vm, JSGlobalObject* globalObject, JSObject* object, JSScope* next)
36
    VM& vm, JSGlobalObject* globalObject, JSObject* object, JSScope* next)
- a/Source/JavaScriptCore/runtime/MapConstructor.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/runtime/MapConstructor.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo MapConstructor::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(MapConstructor) };
40
const ClassInfo MapConstructor::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(MapConstructor) };
41
41
42
void MapConstructor::finishCreation(VM& vm, MapPrototype* mapPrototype, GetterSetter* speciesSymbol)
42
void MapConstructor::finishCreation(VM& vm, MapPrototype* mapPrototype, GetterSetter* speciesSymbol)
43
{
43
{
- a/Source/JavaScriptCore/runtime/MapIteratorPrototype.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/MapIteratorPrototype.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo MapIteratorPrototype::s_info = { "Map Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(MapIteratorPrototype) };
35
const ClassInfo MapIteratorPrototype::s_info = { "Map Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(MapIteratorPrototype) };
36
36
37
static EncodedJSValue JSC_HOST_CALL MapIteratorPrototypeFuncNext(ExecState*);
37
static EncodedJSValue JSC_HOST_CALL MapIteratorPrototypeFuncNext(ExecState*);
38
38
- a/Source/JavaScriptCore/runtime/MapPrototype.cpp -1 / +1 lines
Lines 39-45 a/Source/JavaScriptCore/runtime/MapPrototype.cpp_sec1
39
39
40
namespace JSC {
40
namespace JSC {
41
41
42
const ClassInfo MapPrototype::s_info = { "Map", &Base::s_info, &mapPrototypeTable, CREATE_METHOD_TABLE(MapPrototype) };
42
const ClassInfo MapPrototype::s_info = { "Map", &Base::s_info, &mapPrototypeTable, nullptr, CREATE_METHOD_TABLE(MapPrototype) };
43
43
44
/* Source for MapPrototype.lut.h
44
/* Source for MapPrototype.lut.h
45
@begin mapPrototypeTable
45
@begin mapPrototypeTable
- a/Source/JavaScriptCore/runtime/MathObject.cpp -1 / +1 lines
Lines 66-72 EncodedJSValue JSC_HOST_CALL mathProtoFuncTan(ExecState*); a/Source/JavaScriptCore/runtime/MathObject.cpp_sec1
66
EncodedJSValue JSC_HOST_CALL mathProtoFuncTanh(ExecState*);
66
EncodedJSValue JSC_HOST_CALL mathProtoFuncTanh(ExecState*);
67
EncodedJSValue JSC_HOST_CALL mathProtoFuncIMul(ExecState*);
67
EncodedJSValue JSC_HOST_CALL mathProtoFuncIMul(ExecState*);
68
68
69
const ClassInfo MathObject::s_info = { "Math", &Base::s_info, 0, CREATE_METHOD_TABLE(MathObject) };
69
const ClassInfo MathObject::s_info = { "Math", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(MathObject) };
70
70
71
MathObject::MathObject(VM& vm, Structure* structure)
71
MathObject::MathObject(VM& vm, Structure* structure)
72
    : JSNonFinalObject(vm, structure)
72
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/ModuleLoaderPrototype.cpp -1 / +1 lines
Lines 64-70 namespace JSC { a/Source/JavaScriptCore/runtime/ModuleLoaderPrototype.cpp_sec1
64
64
65
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ModuleLoaderPrototype);
65
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ModuleLoaderPrototype);
66
66
67
const ClassInfo ModuleLoaderPrototype::s_info = { "ModuleLoader", &Base::s_info, &moduleLoaderPrototypeTable, CREATE_METHOD_TABLE(ModuleLoaderPrototype) };
67
const ClassInfo ModuleLoaderPrototype::s_info = { "ModuleLoader", &Base::s_info, &moduleLoaderPrototypeTable, nullptr, CREATE_METHOD_TABLE(ModuleLoaderPrototype) };
68
68
69
/* Source for ModuleLoaderPrototype.lut.h
69
/* Source for ModuleLoaderPrototype.lut.h
70
@begin moduleLoaderPrototypeTable
70
@begin moduleLoaderPrototypeTable
- a/Source/JavaScriptCore/runtime/ModuleProgramExecutable.cpp -1 / +1 lines
Lines 40-46 a/Source/JavaScriptCore/runtime/ModuleProgramExecutable.cpp_sec1
40
40
41
namespace JSC {
41
namespace JSC {
42
42
43
const ClassInfo ModuleProgramExecutable::s_info = { "ModuleProgramExecutable", &ScriptExecutable::s_info, 0, CREATE_METHOD_TABLE(ModuleProgramExecutable) };
43
const ClassInfo ModuleProgramExecutable::s_info = { "ModuleProgramExecutable", &ScriptExecutable::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ModuleProgramExecutable) };
44
44
45
ModuleProgramExecutable::ModuleProgramExecutable(ExecState* exec, const SourceCode& source)
45
ModuleProgramExecutable::ModuleProgramExecutable(ExecState* exec, const SourceCode& source)
46
    : ScriptExecutable(exec->vm().moduleProgramExecutableStructure.get(), exec->vm(), source, false, DerivedContextType::None, false, EvalContextType::None, NoIntrinsic)
46
    : ScriptExecutable(exec->vm().moduleProgramExecutableStructure.get(), exec->vm(), source, false, DerivedContextType::None, false, EvalContextType::None, NoIntrinsic)
- a/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp -1 / +1 lines
Lines 32-38 namespace JSC { a/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp_sec1
32
32
33
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NativeErrorConstructor);
33
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NativeErrorConstructor);
34
34
35
const ClassInfo NativeErrorConstructor::s_info = { "Function", &InternalFunction::s_info, 0, CREATE_METHOD_TABLE(NativeErrorConstructor) };
35
const ClassInfo NativeErrorConstructor::s_info = { "Function", &InternalFunction::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(NativeErrorConstructor) };
36
36
37
NativeErrorConstructor::NativeErrorConstructor(VM& vm, Structure* structure)
37
NativeErrorConstructor::NativeErrorConstructor(VM& vm, Structure* structure)
38
    : InternalFunction(vm, structure)
38
    : InternalFunction(vm, structure)
- a/Source/JavaScriptCore/runtime/NativeExecutable.cpp -1 / +1 lines
Lines 38-44 a/Source/JavaScriptCore/runtime/NativeExecutable.cpp_sec1
38
38
39
namespace JSC {
39
namespace JSC {
40
40
41
const ClassInfo NativeExecutable::s_info = { "NativeExecutable", &ExecutableBase::s_info, 0, CREATE_METHOD_TABLE(NativeExecutable) };
41
const ClassInfo NativeExecutable::s_info = { "NativeExecutable", &ExecutableBase::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(NativeExecutable) };
42
42
43
NativeExecutable* NativeExecutable::create(VM& vm, Ref<JITCode>&& callThunk, NativeFunction function, Ref<JITCode>&& constructThunk, NativeFunction constructor, Intrinsic intrinsic, const DOMJIT::Signature* signature, const String& name)
43
NativeExecutable* NativeExecutable::create(VM& vm, Ref<JITCode>&& callThunk, NativeFunction function, Ref<JITCode>&& constructThunk, NativeFunction constructor, Intrinsic intrinsic, const DOMJIT::Signature* signature, const String& name)
44
{
44
{
- a/Source/JavaScriptCore/runtime/NativeStdFunctionCell.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/NativeStdFunctionCell.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo NativeStdFunctionCell::s_info = { "NativeStdFunctionCell", nullptr, nullptr, CREATE_METHOD_TABLE(NativeStdFunctionCell) };
33
const ClassInfo NativeStdFunctionCell::s_info = { "NativeStdFunctionCell", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(NativeStdFunctionCell) };
34
34
35
NativeStdFunctionCell* NativeStdFunctionCell::create(VM& vm, NativeStdFunction&& function)
35
NativeStdFunctionCell* NativeStdFunctionCell::create(VM& vm, NativeStdFunction&& function)
36
{
36
{
- a/Source/JavaScriptCore/runtime/NullGetterFunction.cpp -1 / +1 lines
Lines 31-37 a/Source/JavaScriptCore/runtime/NullGetterFunction.cpp_sec1
31
31
32
namespace JSC {
32
namespace JSC {
33
33
34
const ClassInfo NullGetterFunction::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(NullGetterFunction) };
34
const ClassInfo NullGetterFunction::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(NullGetterFunction) };
35
35
36
static EncodedJSValue JSC_HOST_CALL callReturnUndefined(ExecState*)
36
static EncodedJSValue JSC_HOST_CALL callReturnUndefined(ExecState*)
37
{
37
{
- a/Source/JavaScriptCore/runtime/NullSetterFunction.cpp -1 / +1 lines
Lines 34-40 a/Source/JavaScriptCore/runtime/NullSetterFunction.cpp_sec1
34
34
35
namespace JSC {
35
namespace JSC {
36
36
37
const ClassInfo NullSetterFunction::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(NullSetterFunction) };
37
const ClassInfo NullSetterFunction::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(NullSetterFunction) };
38
38
39
39
40
class GetCallerStrictnessFunctor {
40
class GetCallerStrictnessFunctor {
- a/Source/JavaScriptCore/runtime/NumberConstructor.cpp -1 / +1 lines
Lines 42-48 namespace JSC { a/Source/JavaScriptCore/runtime/NumberConstructor.cpp_sec1
42
42
43
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberConstructor);
43
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberConstructor);
44
44
45
const ClassInfo NumberConstructor::s_info = { "Function", &InternalFunction::s_info, &numberConstructorTable, CREATE_METHOD_TABLE(NumberConstructor) };
45
const ClassInfo NumberConstructor::s_info = { "Function", &InternalFunction::s_info, &numberConstructorTable, nullptr, CREATE_METHOD_TABLE(NumberConstructor) };
46
46
47
/* Source for NumberConstructor.lut.h
47
/* Source for NumberConstructor.lut.h
48
@begin numberConstructorTable
48
@begin numberConstructorTable
- a/Source/JavaScriptCore/runtime/NumberObject.cpp -1 / +1 lines
Lines 30-36 namespace JSC { a/Source/JavaScriptCore/runtime/NumberObject.cpp_sec1
30
30
31
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberObject);
31
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberObject);
32
32
33
const ClassInfo NumberObject::s_info = { "Number", &JSWrapperObject::s_info, 0, CREATE_METHOD_TABLE(NumberObject) };
33
const ClassInfo NumberObject::s_info = { "Number", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(NumberObject) };
34
34
35
NumberObject::NumberObject(VM& vm, Structure* structure)
35
NumberObject::NumberObject(VM& vm, Structure* structure)
36
    : JSWrapperObject(vm, structure)
36
    : JSWrapperObject(vm, structure)
- a/Source/JavaScriptCore/runtime/NumberPrototype.cpp -1 / +1 lines
Lines 54-60 static EncodedJSValue JSC_HOST_CALL numberProtoFuncToPrecision(ExecState*); a/Source/JavaScriptCore/runtime/NumberPrototype.cpp_sec1
54
54
55
namespace JSC {
55
namespace JSC {
56
56
57
const ClassInfo NumberPrototype::s_info = { "Number", &NumberObject::s_info, &numberPrototypeTable, CREATE_METHOD_TABLE(NumberPrototype) };
57
const ClassInfo NumberPrototype::s_info = { "Number", &NumberObject::s_info, &numberPrototypeTable, nullptr, CREATE_METHOD_TABLE(NumberPrototype) };
58
58
59
/* Source for NumberPrototype.lut.h
59
/* Source for NumberPrototype.lut.h
60
@begin numberPrototypeTable
60
@begin numberPrototypeTable
- a/Source/JavaScriptCore/runtime/ObjectConstructor.cpp -1 / +1 lines
Lines 61-67 namespace JSC { a/Source/JavaScriptCore/runtime/ObjectConstructor.cpp_sec1
61
61
62
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ObjectConstructor);
62
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ObjectConstructor);
63
63
64
const ClassInfo ObjectConstructor::s_info = { "Function", &InternalFunction::s_info, &objectConstructorTable, CREATE_METHOD_TABLE(ObjectConstructor) };
64
const ClassInfo ObjectConstructor::s_info = { "Function", &InternalFunction::s_info, &objectConstructorTable, nullptr, CREATE_METHOD_TABLE(ObjectConstructor) };
65
65
66
/* Source for ObjectConstructor.lut.h
66
/* Source for ObjectConstructor.lut.h
67
@begin objectConstructorTable
67
@begin objectConstructorTable
- a/Source/JavaScriptCore/runtime/ObjectPrototype.cpp -1 / +1 lines
Lines 45-51 static EncodedJSValue JSC_HOST_CALL objectProtoFuncToLocaleString(ExecState*); a/Source/JavaScriptCore/runtime/ObjectPrototype.cpp_sec1
45
45
46
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ObjectPrototype);
46
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ObjectPrototype);
47
47
48
const ClassInfo ObjectPrototype::s_info = { "Object", &JSNonFinalObject::s_info, 0, CREATE_METHOD_TABLE(ObjectPrototype) };
48
const ClassInfo ObjectPrototype::s_info = { "Object", &JSNonFinalObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ObjectPrototype) };
49
49
50
ObjectPrototype::ObjectPrototype(VM& vm, Structure* stucture)
50
ObjectPrototype::ObjectPrototype(VM& vm, Structure* stucture)
51
    : JSNonFinalObject(vm, stucture)
51
    : JSNonFinalObject(vm, stucture)
- a/Source/JavaScriptCore/runtime/ProgramExecutable.cpp -1 / +1 lines
Lines 41-47 a/Source/JavaScriptCore/runtime/ProgramExecutable.cpp_sec1
41
41
42
namespace JSC {
42
namespace JSC {
43
43
44
const ClassInfo ProgramExecutable::s_info = { "ProgramExecutable", &ScriptExecutable::s_info, 0, CREATE_METHOD_TABLE(ProgramExecutable) };
44
const ClassInfo ProgramExecutable::s_info = { "ProgramExecutable", &ScriptExecutable::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ProgramExecutable) };
45
45
46
ProgramExecutable::ProgramExecutable(ExecState* exec, const SourceCode& source)
46
ProgramExecutable::ProgramExecutable(ExecState* exec, const SourceCode& source)
47
    : ScriptExecutable(exec->vm().programExecutableStructure.get(), exec->vm(), source, false, DerivedContextType::None, false, EvalContextType::None, NoIntrinsic)
47
    : ScriptExecutable(exec->vm().programExecutableStructure.get(), exec->vm(), source, false, DerivedContextType::None, false, EvalContextType::None, NoIntrinsic)
- a/Source/JavaScriptCore/runtime/PropertyTable.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/PropertyTable.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo PropertyTable::s_info = { "PropertyTable", 0, 0, CREATE_METHOD_TABLE(PropertyTable) };
33
const ClassInfo PropertyTable::s_info = { "PropertyTable", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(PropertyTable) };
34
34
35
PropertyTable* PropertyTable::create(VM& vm, unsigned initialCapacity)
35
PropertyTable* PropertyTable::create(VM& vm, unsigned initialCapacity)
36
{
36
{
- a/Source/JavaScriptCore/runtime/ProxyConstructor.cpp -1 / +1 lines
Lines 39-45 namespace JSC { a/Source/JavaScriptCore/runtime/ProxyConstructor.cpp_sec1
39
39
40
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ProxyConstructor);
40
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ProxyConstructor);
41
41
42
const ClassInfo ProxyConstructor::s_info = { "Proxy", &Base::s_info, 0, CREATE_METHOD_TABLE(ProxyConstructor) };
42
const ClassInfo ProxyConstructor::s_info = { "Proxy", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ProxyConstructor) };
43
43
44
ProxyConstructor* ProxyConstructor::create(VM& vm, Structure* structure)
44
ProxyConstructor* ProxyConstructor::create(VM& vm, Structure* structure)
45
{
45
{
- a/Source/JavaScriptCore/runtime/ProxyObject.cpp -1 / +1 lines
Lines 43-49 namespace JSC { a/Source/JavaScriptCore/runtime/ProxyObject.cpp_sec1
43
43
44
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ProxyObject);
44
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ProxyObject);
45
45
46
const ClassInfo ProxyObject::s_info = { "ProxyObject", &Base::s_info, 0, CREATE_METHOD_TABLE(ProxyObject) };
46
const ClassInfo ProxyObject::s_info = { "ProxyObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ProxyObject) };
47
47
48
ProxyObject::ProxyObject(VM& vm, Structure* structure)
48
ProxyObject::ProxyObject(VM& vm, Structure* structure)
49
    : Base(vm, structure)
49
    : Base(vm, structure)
- a/Source/JavaScriptCore/runtime/ProxyRevoke.cpp -1 / +1 lines
Lines 33-39 namespace JSC { a/Source/JavaScriptCore/runtime/ProxyRevoke.cpp_sec1
33
33
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ProxyRevoke);
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ProxyRevoke);
35
35
36
const ClassInfo ProxyRevoke::s_info = { "ProxyRevoke", &Base::s_info, 0, CREATE_METHOD_TABLE(ProxyRevoke) };
36
const ClassInfo ProxyRevoke::s_info = { "ProxyRevoke", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ProxyRevoke) };
37
37
38
ProxyRevoke* ProxyRevoke::create(VM& vm, Structure* structure, ProxyObject* proxy)
38
ProxyRevoke* ProxyRevoke::create(VM& vm, Structure* structure, ProxyObject* proxy)
39
{
39
{
- a/Source/JavaScriptCore/runtime/ReflectObject.cpp -1 / +1 lines
Lines 55-61 namespace JSC { a/Source/JavaScriptCore/runtime/ReflectObject.cpp_sec1
55
55
56
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ReflectObject);
56
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ReflectObject);
57
57
58
const ClassInfo ReflectObject::s_info = { "Object", &Base::s_info, &reflectObjectTable, CREATE_METHOD_TABLE(ReflectObject) };
58
const ClassInfo ReflectObject::s_info = { "Object", &Base::s_info, &reflectObjectTable, nullptr, CREATE_METHOD_TABLE(ReflectObject) };
59
59
60
/* Source for ReflectObject.lut.h
60
/* Source for ReflectObject.lut.h
61
@begin reflectObjectTable
61
@begin reflectObjectTable
- a/Source/JavaScriptCore/runtime/RegExp.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/RegExp.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo RegExp::s_info = { "RegExp", 0, 0, CREATE_METHOD_TABLE(RegExp) };
36
const ClassInfo RegExp::s_info = { "RegExp", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(RegExp) };
37
37
38
RegExpFlags regExpFlags(const String& string)
38
RegExpFlags regExpFlags(const String& string)
39
{
39
{
- a/Source/JavaScriptCore/runtime/RegExpConstructor.cpp -1 / +1 lines
Lines 48-54 static bool setRegExpConstructorMultiline(ExecState*, EncodedJSValue, EncodedJSV a/Source/JavaScriptCore/runtime/RegExpConstructor.cpp_sec1
48
48
49
namespace JSC {
49
namespace JSC {
50
50
51
const ClassInfo RegExpConstructor::s_info = { "Function", &InternalFunction::s_info, &regExpConstructorTable, CREATE_METHOD_TABLE(RegExpConstructor) };
51
const ClassInfo RegExpConstructor::s_info = { "Function", &InternalFunction::s_info, &regExpConstructorTable, nullptr, CREATE_METHOD_TABLE(RegExpConstructor) };
52
52
53
/* Source for RegExpConstructor.lut.h
53
/* Source for RegExpConstructor.lut.h
54
@begin regExpConstructorTable
54
@begin regExpConstructorTable
- a/Source/JavaScriptCore/runtime/RegExpObject.cpp -1 / +1 lines
Lines 35-41 namespace JSC { a/Source/JavaScriptCore/runtime/RegExpObject.cpp_sec1
35
35
36
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(RegExpObject);
36
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(RegExpObject);
37
37
38
const ClassInfo RegExpObject::s_info = { "RegExp", &Base::s_info, nullptr, CREATE_METHOD_TABLE(RegExpObject) };
38
const ClassInfo RegExpObject::s_info = { "RegExp", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(RegExpObject) };
39
39
40
RegExpObject::RegExpObject(VM& vm, Structure* structure, RegExp* regExp)
40
RegExpObject::RegExpObject(VM& vm, Structure* structure, RegExp* regExp)
41
    : JSNonFinalObject(vm, structure)
41
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/RegExpPrototype.cpp -1 / +1 lines
Lines 55-61 static EncodedJSValue JSC_HOST_CALL regExpProtoGetterUnicode(ExecState*); a/Source/JavaScriptCore/runtime/RegExpPrototype.cpp_sec1
55
static EncodedJSValue JSC_HOST_CALL regExpProtoGetterSource(ExecState*);
55
static EncodedJSValue JSC_HOST_CALL regExpProtoGetterSource(ExecState*);
56
static EncodedJSValue JSC_HOST_CALL regExpProtoGetterFlags(ExecState*);
56
static EncodedJSValue JSC_HOST_CALL regExpProtoGetterFlags(ExecState*);
57
57
58
const ClassInfo RegExpPrototype::s_info = { "Object", &Base::s_info, 0, CREATE_METHOD_TABLE(RegExpPrototype) };
58
const ClassInfo RegExpPrototype::s_info = { "Object", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(RegExpPrototype) };
59
59
60
RegExpPrototype::RegExpPrototype(VM& vm, Structure* structure)
60
RegExpPrototype::RegExpPrototype(VM& vm, Structure* structure)
61
    : JSNonFinalObject(vm, structure)
61
    : JSNonFinalObject(vm, structure)
- a/Source/JavaScriptCore/runtime/ScopedArguments.cpp -1 / +1 lines
Lines 33-39 namespace JSC { a/Source/JavaScriptCore/runtime/ScopedArguments.cpp_sec1
33
33
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ScopedArguments);
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ScopedArguments);
35
35
36
const ClassInfo ScopedArguments::s_info = { "Arguments", &Base::s_info, 0, CREATE_METHOD_TABLE(ScopedArguments) };
36
const ClassInfo ScopedArguments::s_info = { "Arguments", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ScopedArguments) };
37
37
38
ScopedArguments::ScopedArguments(VM& vm, Structure* structure, unsigned totalLength)
38
ScopedArguments::ScopedArguments(VM& vm, Structure* structure, unsigned totalLength)
39
    : GenericArguments(vm, structure)
39
    : GenericArguments(vm, structure)
- a/Source/JavaScriptCore/runtime/ScopedArgumentsTable.cpp -1 / +1 lines
Lines 30-36 a/Source/JavaScriptCore/runtime/ScopedArgumentsTable.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo ScopedArgumentsTable::s_info = { "ScopedArgumentsTable", 0, 0, CREATE_METHOD_TABLE(ScopedArgumentsTable) };
33
const ClassInfo ScopedArgumentsTable::s_info = { "ScopedArgumentsTable", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(ScopedArgumentsTable) };
34
34
35
ScopedArgumentsTable::ScopedArgumentsTable(VM& vm)
35
ScopedArgumentsTable::ScopedArgumentsTable(VM& vm)
36
    : Base(vm, vm.scopedArgumentsTableStructure.get())
36
    : Base(vm, vm.scopedArgumentsTableStructure.get())
- a/Source/JavaScriptCore/runtime/ScriptExecutable.cpp -1 / +1 lines
Lines 42-48 a/Source/JavaScriptCore/runtime/ScriptExecutable.cpp_sec1
42
42
43
namespace JSC {
43
namespace JSC {
44
44
45
const ClassInfo ScriptExecutable::s_info = { "ScriptExecutable", &ExecutableBase::s_info, 0, CREATE_METHOD_TABLE(ScriptExecutable) };
45
const ClassInfo ScriptExecutable::s_info = { "ScriptExecutable", &ExecutableBase::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ScriptExecutable) };
46
46
47
ScriptExecutable::ScriptExecutable(Structure* structure, VM& vm, const SourceCode& source, bool isInStrictContext, DerivedContextType derivedContextType, bool isInArrowFunctionContext, EvalContextType evalContextType, Intrinsic intrinsic)
47
ScriptExecutable::ScriptExecutable(Structure* structure, VM& vm, const SourceCode& source, bool isInStrictContext, DerivedContextType derivedContextType, bool isInArrowFunctionContext, EvalContextType evalContextType, Intrinsic intrinsic)
48
    : ExecutableBase(vm, structure, NUM_PARAMETERS_NOT_COMPILED, intrinsic)
48
    : ExecutableBase(vm, structure, NUM_PARAMETERS_NOT_COMPILED, intrinsic)
- a/Source/JavaScriptCore/runtime/SetConstructor.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/runtime/SetConstructor.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo SetConstructor::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(SetConstructor) };
40
const ClassInfo SetConstructor::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(SetConstructor) };
41
41
42
void SetConstructor::finishCreation(VM& vm, SetPrototype* setPrototype, GetterSetter* speciesSymbol)
42
void SetConstructor::finishCreation(VM& vm, SetPrototype* setPrototype, GetterSetter* speciesSymbol)
43
{
43
{
- a/Source/JavaScriptCore/runtime/SetIteratorPrototype.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/SetIteratorPrototype.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo SetIteratorPrototype::s_info = { "Set Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(SetIteratorPrototype) };
35
const ClassInfo SetIteratorPrototype::s_info = { "Set Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(SetIteratorPrototype) };
36
36
37
static EncodedJSValue JSC_HOST_CALL SetIteratorPrototypeFuncNext(ExecState*);
37
static EncodedJSValue JSC_HOST_CALL SetIteratorPrototypeFuncNext(ExecState*);
38
38
- a/Source/JavaScriptCore/runtime/SetPrototype.cpp -1 / +1 lines
Lines 39-45 a/Source/JavaScriptCore/runtime/SetPrototype.cpp_sec1
39
39
40
namespace JSC {
40
namespace JSC {
41
41
42
const ClassInfo SetPrototype::s_info = { "Set", &Base::s_info, &setPrototypeTable, CREATE_METHOD_TABLE(SetPrototype) };
42
const ClassInfo SetPrototype::s_info = { "Set", &Base::s_info, &setPrototypeTable, nullptr, CREATE_METHOD_TABLE(SetPrototype) };
43
43
44
/* Source for SetIteratorPrototype.lut.h
44
/* Source for SetIteratorPrototype.lut.h
45
@begin setPrototypeTable
45
@begin setPrototypeTable
- a/Source/JavaScriptCore/runtime/SparseArrayValueMap.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/runtime/SparseArrayValueMap.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo SparseArrayValueMap::s_info = { "SparseArrayValueMap", 0, 0, CREATE_METHOD_TABLE(SparseArrayValueMap) };
40
const ClassInfo SparseArrayValueMap::s_info = { "SparseArrayValueMap", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(SparseArrayValueMap) };
41
41
42
SparseArrayValueMap::SparseArrayValueMap(VM& vm)
42
SparseArrayValueMap::SparseArrayValueMap(VM& vm)
43
    : Base(vm, vm.sparseArrayValueMapStructure.get())
43
    : Base(vm, vm.sparseArrayValueMapStructure.get())
- a/Source/JavaScriptCore/runtime/StrictEvalActivation.cpp -1 / +1 lines
Lines 33-39 namespace JSC { a/Source/JavaScriptCore/runtime/StrictEvalActivation.cpp_sec1
33
33
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StrictEvalActivation);
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StrictEvalActivation);
35
35
36
const ClassInfo StrictEvalActivation::s_info = { "Object", &Base::s_info, 0, CREATE_METHOD_TABLE(StrictEvalActivation) };
36
const ClassInfo StrictEvalActivation::s_info = { "Object", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(StrictEvalActivation) };
37
37
38
StrictEvalActivation::StrictEvalActivation(ExecState* exec, JSScope* currentScope)
38
StrictEvalActivation::StrictEvalActivation(ExecState* exec, JSScope* currentScope)
39
    : Base(
39
    : Base(
- a/Source/JavaScriptCore/runtime/StringConstructor.cpp -1 / +1 lines
Lines 40-46 static EncodedJSValue JSC_HOST_CALL stringFromCodePoint(ExecState*); a/Source/JavaScriptCore/runtime/StringConstructor.cpp_sec1
40
40
41
namespace JSC {
41
namespace JSC {
42
42
43
const ClassInfo StringConstructor::s_info = { "Function", &InternalFunction::s_info, &stringConstructorTable, CREATE_METHOD_TABLE(StringConstructor) };
43
const ClassInfo StringConstructor::s_info = { "Function", &InternalFunction::s_info, &stringConstructorTable, nullptr, CREATE_METHOD_TABLE(StringConstructor) };
44
44
45
/* Source for StringConstructor.lut.h
45
/* Source for StringConstructor.lut.h
46
@begin stringConstructorTable
46
@begin stringConstructorTable
- a/Source/JavaScriptCore/runtime/StringIteratorPrototype.cpp -1 / +1 lines
Lines 36-42 a/Source/JavaScriptCore/runtime/StringIteratorPrototype.cpp_sec1
36
36
37
namespace JSC {
37
namespace JSC {
38
38
39
const ClassInfo StringIteratorPrototype::s_info = { "String Iterator", &Base::s_info, &stringIteratorPrototypeTable, CREATE_METHOD_TABLE(StringIteratorPrototype) };
39
const ClassInfo StringIteratorPrototype::s_info = { "String Iterator", &Base::s_info, &stringIteratorPrototypeTable, nullptr, CREATE_METHOD_TABLE(StringIteratorPrototype) };
40
40
41
/* Source for StringIteratorPrototype.lut.h
41
/* Source for StringIteratorPrototype.lut.h
42
@begin stringIteratorPrototypeTable
42
@begin stringIteratorPrototypeTable
- a/Source/JavaScriptCore/runtime/StringObject.cpp -1 / +1 lines
Lines 30-36 namespace JSC { a/Source/JavaScriptCore/runtime/StringObject.cpp_sec1
30
30
31
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StringObject);
31
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StringObject);
32
32
33
const ClassInfo StringObject::s_info = { "String", &JSWrapperObject::s_info, 0, CREATE_METHOD_TABLE(StringObject) };
33
const ClassInfo StringObject::s_info = { "String", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(StringObject) };
34
34
35
StringObject::StringObject(VM& vm, Structure* structure)
35
StringObject::StringObject(VM& vm, Structure* structure)
36
    : JSWrapperObject(vm, structure)
36
    : JSWrapperObject(vm, structure)
- a/Source/JavaScriptCore/runtime/StringPrototype.cpp -1 / +1 lines
Lines 91-97 EncodedJSValue JSC_HOST_CALL stringProtoFuncIterator(ExecState*); a/Source/JavaScriptCore/runtime/StringPrototype.cpp_sec1
91
91
92
namespace JSC {
92
namespace JSC {
93
93
94
const ClassInfo StringPrototype::s_info = { "String", &StringObject::s_info, &stringPrototypeTable, CREATE_METHOD_TABLE(StringPrototype) };
94
const ClassInfo StringPrototype::s_info = { "String", &StringObject::s_info, &stringPrototypeTable, nullptr, CREATE_METHOD_TABLE(StringPrototype) };
95
95
96
/* Source for StringConstructor.lut.h
96
/* Source for StringConstructor.lut.h
97
@begin stringPrototypeTable
97
@begin stringPrototypeTable
- a/Source/JavaScriptCore/runtime/Structure.cpp -1 / +1 lines
Lines 210-216 Structure::Structure(VM& vm, JSGlobalObject* globalObject, JSValue prototype, co a/Source/JavaScriptCore/runtime/Structure.cpp_sec1
210
    ASSERT(hasGetterSetterProperties() || !m_classInfo->hasStaticSetterOrReadonlyProperties());
210
    ASSERT(hasGetterSetterProperties() || !m_classInfo->hasStaticSetterOrReadonlyProperties());
211
}
211
}
212
212
213
const ClassInfo Structure::s_info = { "Structure", 0, 0, CREATE_METHOD_TABLE(Structure) };
213
const ClassInfo Structure::s_info = { "Structure", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(Structure) };
214
214
215
Structure::Structure(VM& vm)
215
Structure::Structure(VM& vm)
216
    : JSCell(CreatingEarlyCell)
216
    : JSCell(CreatingEarlyCell)
- a/Source/JavaScriptCore/runtime/StructureChain.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/StructureChain.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
    
34
    
35
const ClassInfo StructureChain::s_info = { "StructureChain", 0, 0, CREATE_METHOD_TABLE(StructureChain) };
35
const ClassInfo StructureChain::s_info = { "StructureChain", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(StructureChain) };
36
36
37
StructureChain::StructureChain(VM& vm, Structure* structure)
37
StructureChain::StructureChain(VM& vm, Structure* structure)
38
    : JSCell(vm, structure)
38
    : JSCell(vm, structure)
- a/Source/JavaScriptCore/runtime/StructureRareData.cpp -1 / +1 lines
Lines 34-40 a/Source/JavaScriptCore/runtime/StructureRareData.cpp_sec1
34
34
35
namespace JSC {
35
namespace JSC {
36
36
37
const ClassInfo StructureRareData::s_info = { "StructureRareData", 0, 0, CREATE_METHOD_TABLE(StructureRareData) };
37
const ClassInfo StructureRareData::s_info = { "StructureRareData", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(StructureRareData) };
38
38
39
Structure* StructureRareData::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
39
Structure* StructureRareData::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
40
{
40
{
- a/Source/JavaScriptCore/runtime/Symbol.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/Symbol.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo Symbol::s_info = { "symbol", nullptr, nullptr, CREATE_METHOD_TABLE(Symbol) };
36
const ClassInfo Symbol::s_info = { "symbol", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(Symbol) };
37
37
38
Symbol::Symbol(VM& vm)
38
Symbol::Symbol(VM& vm)
39
    : Base(vm, vm.symbolStructure.get())
39
    : Base(vm, vm.symbolStructure.get())
- a/Source/JavaScriptCore/runtime/SymbolConstructor.cpp -1 / +1 lines
Lines 47-53 namespace JSC { a/Source/JavaScriptCore/runtime/SymbolConstructor.cpp_sec1
47
47
48
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(SymbolConstructor);
48
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(SymbolConstructor);
49
49
50
const ClassInfo SymbolConstructor::s_info = { "Function", &Base::s_info, &symbolConstructorTable, CREATE_METHOD_TABLE(SymbolConstructor) };
50
const ClassInfo SymbolConstructor::s_info = { "Function", &Base::s_info, &symbolConstructorTable, nullptr, CREATE_METHOD_TABLE(SymbolConstructor) };
51
51
52
/* Source for SymbolConstructor.lut.h
52
/* Source for SymbolConstructor.lut.h
53
@begin symbolConstructorTable
53
@begin symbolConstructorTable
- a/Source/JavaScriptCore/runtime/SymbolObject.cpp -1 / +1 lines
Lines 33-39 namespace JSC { a/Source/JavaScriptCore/runtime/SymbolObject.cpp_sec1
33
33
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(SymbolObject);
34
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(SymbolObject);
35
35
36
const ClassInfo SymbolObject::s_info = { "Symbol", &JSWrapperObject::s_info, nullptr, CREATE_METHOD_TABLE(SymbolObject) };
36
const ClassInfo SymbolObject::s_info = { "Symbol", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(SymbolObject) };
37
37
38
SymbolObject::SymbolObject(VM& vm, Structure* structure)
38
SymbolObject::SymbolObject(VM& vm, Structure* structure)
39
    : JSWrapperObject(vm, structure)
39
    : JSWrapperObject(vm, structure)
- a/Source/JavaScriptCore/runtime/SymbolPrototype.cpp -1 / +1 lines
Lines 42-48 static EncodedJSValue JSC_HOST_CALL symbolProtoFuncValueOf(ExecState*); a/Source/JavaScriptCore/runtime/SymbolPrototype.cpp_sec1
42
42
43
namespace JSC {
43
namespace JSC {
44
44
45
const ClassInfo SymbolPrototype::s_info = { "Symbol", &Base::s_info, &symbolPrototypeTable, CREATE_METHOD_TABLE(SymbolPrototype) };
45
const ClassInfo SymbolPrototype::s_info = { "Symbol", &Base::s_info, &symbolPrototypeTable, nullptr, CREATE_METHOD_TABLE(SymbolPrototype) };
46
46
47
/* Source for SymbolPrototype.lut.h
47
/* Source for SymbolPrototype.lut.h
48
@begin symbolPrototypeTable
48
@begin symbolPrototypeTable
- a/Source/JavaScriptCore/runtime/SymbolTable.cpp -1 / +1 lines
Lines 36-42 a/Source/JavaScriptCore/runtime/SymbolTable.cpp_sec1
36
36
37
namespace JSC {
37
namespace JSC {
38
38
39
const ClassInfo SymbolTable::s_info = { "SymbolTable", 0, 0, CREATE_METHOD_TABLE(SymbolTable) };
39
const ClassInfo SymbolTable::s_info = { "SymbolTable", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(SymbolTable) };
40
40
41
SymbolTableEntry& SymbolTableEntry::copySlow(const SymbolTableEntry& other)
41
SymbolTableEntry& SymbolTableEntry::copySlow(const SymbolTableEntry& other)
42
{
42
{
- a/Source/JavaScriptCore/runtime/WeakMapConstructor.cpp -1 / +1 lines
Lines 36-42 a/Source/JavaScriptCore/runtime/WeakMapConstructor.cpp_sec1
36
36
37
namespace JSC {
37
namespace JSC {
38
38
39
const ClassInfo WeakMapConstructor::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(WeakMapConstructor) };
39
const ClassInfo WeakMapConstructor::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WeakMapConstructor) };
40
40
41
void WeakMapConstructor::finishCreation(VM& vm, WeakMapPrototype* prototype)
41
void WeakMapConstructor::finishCreation(VM& vm, WeakMapPrototype* prototype)
42
{
42
{
- a/Source/JavaScriptCore/runtime/WeakMapData.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/runtime/WeakMapData.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo WeakMapData::s_info = { "WeakMapData", 0, 0, CREATE_METHOD_TABLE(WeakMapData) };
36
const ClassInfo WeakMapData::s_info = { "WeakMapData", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(WeakMapData) };
37
37
38
WeakMapData::WeakMapData(VM& vm)
38
WeakMapData::WeakMapData(VM& vm)
39
    : Base(vm, vm.weakMapDataStructure.get())
39
    : Base(vm, vm.weakMapDataStructure.get())
- a/Source/JavaScriptCore/runtime/WeakMapPrototype.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/WeakMapPrototype.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo WeakMapPrototype::s_info = { "WeakMap", &Base::s_info, 0, CREATE_METHOD_TABLE(WeakMapPrototype) };
35
const ClassInfo WeakMapPrototype::s_info = { "WeakMap", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WeakMapPrototype) };
36
36
37
static EncodedJSValue JSC_HOST_CALL protoFuncWeakMapDelete(ExecState*);
37
static EncodedJSValue JSC_HOST_CALL protoFuncWeakMapDelete(ExecState*);
38
static EncodedJSValue JSC_HOST_CALL protoFuncWeakMapGet(ExecState*);
38
static EncodedJSValue JSC_HOST_CALL protoFuncWeakMapGet(ExecState*);
- a/Source/JavaScriptCore/runtime/WeakSetConstructor.cpp -1 / +1 lines
Lines 36-42 a/Source/JavaScriptCore/runtime/WeakSetConstructor.cpp_sec1
36
36
37
namespace JSC {
37
namespace JSC {
38
38
39
const ClassInfo WeakSetConstructor::s_info = { "Function", &Base::s_info, 0, CREATE_METHOD_TABLE(WeakSetConstructor) };
39
const ClassInfo WeakSetConstructor::s_info = { "Function", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WeakSetConstructor) };
40
40
41
void WeakSetConstructor::finishCreation(VM& vm, WeakSetPrototype* prototype)
41
void WeakSetConstructor::finishCreation(VM& vm, WeakSetPrototype* prototype)
42
{
42
{
- a/Source/JavaScriptCore/runtime/WeakSetPrototype.cpp -1 / +1 lines
Lines 32-38 a/Source/JavaScriptCore/runtime/WeakSetPrototype.cpp_sec1
32
32
33
namespace JSC {
33
namespace JSC {
34
34
35
const ClassInfo WeakSetPrototype::s_info = { "WeakSet", &Base::s_info, 0, CREATE_METHOD_TABLE(WeakSetPrototype) };
35
const ClassInfo WeakSetPrototype::s_info = { "WeakSet", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WeakSetPrototype) };
36
36
37
static EncodedJSValue JSC_HOST_CALL protoFuncWeakSetDelete(ExecState*);
37
static EncodedJSValue JSC_HOST_CALL protoFuncWeakSetDelete(ExecState*);
38
static EncodedJSValue JSC_HOST_CALL protoFuncWeakSetHas(ExecState*);
38
static EncodedJSValue JSC_HOST_CALL protoFuncWeakSetHas(ExecState*);
- a/Source/JavaScriptCore/testRegExp.cpp -1 / +1 lines
Lines 132-138 class GlobalObject : public JSGlobalObject { a/Source/JavaScriptCore/testRegExp.cpp_sec1
132
    }
132
    }
133
};
133
};
134
134
135
const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, nullptr, CREATE_METHOD_TABLE(GlobalObject) };
135
const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(GlobalObject) };
136
136
137
GlobalObject::GlobalObject(VM& vm, Structure* structure, const Vector<String>& arguments)
137
GlobalObject::GlobalObject(VM& vm, Structure* structure, const Vector<String>& arguments)
138
    : JSGlobalObject(vm, structure)
138
    : JSGlobalObject(vm, structure)
- a/Source/JavaScriptCore/tools/JSDollarVM.cpp -1 / +1 lines
Lines 30-35 a/Source/JavaScriptCore/tools/JSDollarVM.cpp_sec1
30
30
31
namespace JSC {
31
namespace JSC {
32
32
33
const ClassInfo JSDollarVM::s_info = { "DollarVM", &Base::s_info, 0, CREATE_METHOD_TABLE(JSDollarVM) };
33
const ClassInfo JSDollarVM::s_info = { "DollarVM", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDollarVM) };
34
34
35
} // namespace JSC
35
} // namespace JSC
- a/Source/JavaScriptCore/tools/JSDollarVMPrototype.cpp -1 / +1 lines
Lines 40-46 a/Source/JavaScriptCore/tools/JSDollarVMPrototype.cpp_sec1
40
40
41
namespace JSC {
41
namespace JSC {
42
42
43
const ClassInfo JSDollarVMPrototype::s_info = { "DollarVMPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSDollarVMPrototype) };
43
const ClassInfo JSDollarVMPrototype::s_info = { "DollarVMPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDollarVMPrototype) };
44
    
44
    
45
    
45
    
46
bool JSDollarVMPrototype::currentThreadOwnsJSLock(ExecState* exec)
46
bool JSDollarVMPrototype::currentThreadOwnsJSLock(ExecState* exec)
- a/Source/JavaScriptCore/wasm/JSWebAssembly.cpp -1 / +1 lines
Lines 34-40 namespace JSC { a/Source/JavaScriptCore/wasm/JSWebAssembly.cpp_sec1
34
34
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSWebAssembly);
35
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSWebAssembly);
36
36
37
const ClassInfo JSWebAssembly::s_info = { "WebAssembly", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWebAssembly) };
37
const ClassInfo JSWebAssembly::s_info = { "WebAssembly", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssembly) };
38
38
39
JSWebAssembly* JSWebAssembly::create(VM& vm, JSGlobalObject*, Structure* structure)
39
JSWebAssembly* JSWebAssembly::create(VM& vm, JSGlobalObject*, Structure* structure)
40
{
40
{
- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyCodeBlock.cpp -1 / +1 lines
Lines 39-45 a/Source/JavaScriptCore/wasm/js/JSWebAssemblyCodeBlock.cpp_sec1
39
39
40
namespace JSC {
40
namespace JSC {
41
41
42
const ClassInfo JSWebAssemblyCodeBlock::s_info = { "WebAssemblyCodeBlock", nullptr, 0, CREATE_METHOD_TABLE(JSWebAssemblyCodeBlock) };
42
const ClassInfo JSWebAssemblyCodeBlock::s_info = { "WebAssemblyCodeBlock", nullptr, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyCodeBlock) };
43
43
44
JSWebAssemblyCodeBlock* JSWebAssemblyCodeBlock::create(VM& vm, Ref<Wasm::CodeBlock> codeBlock, JSWebAssemblyModule* module)
44
JSWebAssemblyCodeBlock* JSWebAssemblyCodeBlock::create(VM& vm, Ref<Wasm::CodeBlock> codeBlock, JSWebAssemblyModule* module)
45
{
45
{
- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyCompileError.cpp -1 / +1 lines
Lines 46-52 JSWebAssemblyCompileError::JSWebAssemblyCompileError(VM& vm, Structure* structur a/Source/JavaScriptCore/wasm/js/JSWebAssemblyCompileError.cpp_sec1
46
{
46
{
47
}
47
}
48
48
49
const ClassInfo JSWebAssemblyCompileError::s_info = { "WebAssembly.CompileError", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWebAssemblyCompileError) };
49
const ClassInfo JSWebAssemblyCompileError::s_info = { "WebAssembly.CompileError", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyCompileError) };
50
50
51
    
51
    
52
JSObject* createJSWebAssemblyCompileError(ExecState* exec, VM& vm, const String& message)
52
JSObject* createJSWebAssemblyCompileError(ExecState* exec, VM& vm, const String& message)
- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp -1 / +1 lines
Lines 42-48 a/Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp_sec1
42
42
43
namespace JSC {
43
namespace JSC {
44
44
45
const ClassInfo JSWebAssemblyInstance::s_info = { "WebAssembly.Instance", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWebAssemblyInstance) };
45
const ClassInfo JSWebAssemblyInstance::s_info = { "WebAssembly.Instance", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyInstance) };
46
46
47
Structure* JSWebAssemblyInstance::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
47
Structure* JSWebAssemblyInstance::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
48
{
48
{
- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyLinkError.cpp -1 / +1 lines
Lines 46-52 JSWebAssemblyLinkError::JSWebAssemblyLinkError(VM& vm, Structure* structure) a/Source/JavaScriptCore/wasm/js/JSWebAssemblyLinkError.cpp_sec1
46
{
46
{
47
}
47
}
48
48
49
const ClassInfo JSWebAssemblyLinkError::s_info = { "WebAssembly.LinkError", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWebAssemblyLinkError) };
49
const ClassInfo JSWebAssemblyLinkError::s_info = { "WebAssembly.LinkError", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyLinkError) };
50
50
51
    
51
    
52
JSObject* createJSWebAssemblyLinkError(ExecState* exec, VM& vm, const String& message)
52
JSObject* createJSWebAssemblyLinkError(ExecState* exec, VM& vm, const String& message)
- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo JSWebAssemblyMemory::s_info = { "WebAssembly.Memory", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWebAssemblyMemory) };
38
const ClassInfo JSWebAssemblyMemory::s_info = { "WebAssembly.Memory", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyMemory) };
39
39
40
JSWebAssemblyMemory* JSWebAssemblyMemory::create(VM& vm, Structure* structure, Ref<Wasm::Memory>&& memory)
40
JSWebAssemblyMemory* JSWebAssemblyMemory::create(VM& vm, Structure* structure, Ref<Wasm::Memory>&& memory)
41
{
41
{
- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.cpp -1 / +1 lines
Lines 41-47 a/Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.cpp_sec1
41
41
42
namespace JSC {
42
namespace JSC {
43
43
44
const ClassInfo JSWebAssemblyModule::s_info = { "WebAssembly.Module", &Base::s_info, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyModule) };
44
const ClassInfo JSWebAssemblyModule::s_info = { "WebAssembly.Module", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyModule) };
45
45
46
JSWebAssemblyModule* JSWebAssemblyModule::createStub(VM& vm, ExecState* exec, Structure* structure, Wasm::Module::ValidationResult&& result)
46
JSWebAssemblyModule* JSWebAssemblyModule::createStub(VM& vm, ExecState* exec, Structure* structure, Wasm::Module::ValidationResult&& result)
47
{
47
{
- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyRuntimeError.cpp -1 / +1 lines
Lines 46-52 JSWebAssemblyRuntimeError::JSWebAssemblyRuntimeError(VM& vm, Structure* structur a/Source/JavaScriptCore/wasm/js/JSWebAssemblyRuntimeError.cpp_sec1
46
{
46
{
47
}
47
}
48
48
49
const ClassInfo JSWebAssemblyRuntimeError::s_info = { "WebAssembly.RuntimeError", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWebAssemblyRuntimeError) };
49
const ClassInfo JSWebAssemblyRuntimeError::s_info = { "WebAssembly.RuntimeError", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyRuntimeError) };
50
50
51
    
51
    
52
} // namespace JSC
52
} // namespace JSC
- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo JSWebAssemblyTable::s_info = { "WebAssembly.Table", &Base::s_info, 0, CREATE_METHOD_TABLE(JSWebAssemblyTable) };
36
const ClassInfo JSWebAssemblyTable::s_info = { "WebAssembly.Table", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebAssemblyTable) };
37
37
38
JSWebAssemblyTable* JSWebAssemblyTable::create(ExecState* exec, VM& vm, Structure* structure, uint32_t initial, std::optional<uint32_t> maximum)
38
JSWebAssemblyTable* JSWebAssemblyTable::create(ExecState* exec, VM& vm, Structure* structure, uint32_t initial, std::optional<uint32_t> maximum)
39
{
39
{
- a/Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorConstructor.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorConstructor.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo WebAssemblyCompileErrorConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyCompileError, CREATE_METHOD_TABLE(WebAssemblyCompileErrorConstructor) };
40
const ClassInfo WebAssemblyCompileErrorConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyCompileError, nullptr, CREATE_METHOD_TABLE(WebAssemblyCompileErrorConstructor) };
41
41
42
/* Source for WebAssemblyCompileErrorConstructor.lut.h
42
/* Source for WebAssemblyCompileErrorConstructor.lut.h
43
 @begin constructorTableWebAssemblyCompileError
43
 @begin constructorTableWebAssemblyCompileError
- a/Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorPrototype.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorPrototype.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo WebAssemblyCompileErrorPrototype::s_info = { "WebAssembly.CompileError.prototype", &Base::s_info, &prototypeTableWebAssemblyCompileError, CREATE_METHOD_TABLE(WebAssemblyCompileErrorPrototype) };
38
const ClassInfo WebAssemblyCompileErrorPrototype::s_info = { "WebAssembly.CompileError.prototype", &Base::s_info, &prototypeTableWebAssemblyCompileError, nullptr, CREATE_METHOD_TABLE(WebAssemblyCompileErrorPrototype) };
39
39
40
/* Source for WebAssemblyCompileErrorPrototype.lut.h
40
/* Source for WebAssemblyCompileErrorPrototype.lut.h
41
 @begin prototypeTableWebAssemblyCompileError
41
 @begin prototypeTableWebAssemblyCompileError
- a/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp -1 / +1 lines
Lines 47-53 a/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp_sec1
47
47
48
namespace JSC {
48
namespace JSC {
49
49
50
const ClassInfo WebAssemblyFunction::s_info = { "WebAssemblyFunction", &Base::s_info, nullptr, CREATE_METHOD_TABLE(WebAssemblyFunction) };
50
const ClassInfo WebAssemblyFunction::s_info = { "WebAssemblyFunction", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WebAssemblyFunction) };
51
51
52
static EncodedJSValue JSC_HOST_CALL callWebAssemblyFunction(ExecState* exec)
52
static EncodedJSValue JSC_HOST_CALL callWebAssemblyFunction(ExecState* exec)
53
{
53
{
- a/Source/JavaScriptCore/wasm/js/WebAssemblyFunctionBase.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/wasm/js/WebAssemblyFunctionBase.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo WebAssemblyFunctionBase::s_info = { "WebAssemblyFunctionBase", &Base::s_info, nullptr, CREATE_METHOD_TABLE(WebAssemblyFunctionBase) };
36
const ClassInfo WebAssemblyFunctionBase::s_info = { "WebAssemblyFunctionBase", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WebAssemblyFunctionBase) };
37
37
38
WebAssemblyFunctionBase::WebAssemblyFunctionBase(VM& vm, JSGlobalObject* globalObject, Structure* structure)
38
WebAssemblyFunctionBase::WebAssemblyFunctionBase(VM& vm, JSGlobalObject* globalObject, Structure* structure)
39
    : Base(vm, globalObject, structure)
39
    : Base(vm, globalObject, structure)
- a/Source/JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.cpp -1 / +1 lines
Lines 47-53 a/Source/JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.cpp_sec1
47
47
48
namespace JSC {
48
namespace JSC {
49
49
50
const ClassInfo WebAssemblyInstanceConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyInstance, CREATE_METHOD_TABLE(WebAssemblyInstanceConstructor) };
50
const ClassInfo WebAssemblyInstanceConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyInstance, nullptr, CREATE_METHOD_TABLE(WebAssemblyInstanceConstructor) };
51
51
52
/* Source for WebAssemblyInstanceConstructor.lut.h
52
/* Source for WebAssemblyInstanceConstructor.lut.h
53
 @begin constructorTableWebAssemblyInstance
53
 @begin constructorTableWebAssemblyInstance
- a/Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp -1 / +1 lines
Lines 41-47 static EncodedJSValue JSC_HOST_CALL webAssemblyInstanceProtoFuncExports(ExecStat a/Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp_sec1
41
41
42
namespace JSC {
42
namespace JSC {
43
43
44
const ClassInfo WebAssemblyInstancePrototype::s_info = { "WebAssembly.Instance.prototype", &Base::s_info, &prototypeTableWebAssemblyInstance, CREATE_METHOD_TABLE(WebAssemblyInstancePrototype) };
44
const ClassInfo WebAssemblyInstancePrototype::s_info = { "WebAssembly.Instance.prototype", &Base::s_info, &prototypeTableWebAssemblyInstance, nullptr, CREATE_METHOD_TABLE(WebAssemblyInstancePrototype) };
45
45
46
/* Source for WebAssemblyInstancePrototype.lut.h
46
/* Source for WebAssemblyInstancePrototype.lut.h
47
 @begin prototypeTableWebAssemblyInstance
47
 @begin prototypeTableWebAssemblyInstance
- a/Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorConstructor.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorConstructor.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo WebAssemblyLinkErrorConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyLinkError, CREATE_METHOD_TABLE(WebAssemblyLinkErrorConstructor) };
40
const ClassInfo WebAssemblyLinkErrorConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyLinkError, nullptr, CREATE_METHOD_TABLE(WebAssemblyLinkErrorConstructor) };
41
41
42
/* Source for WebAssemblyLinkErrorConstructor.lut.h
42
/* Source for WebAssemblyLinkErrorConstructor.lut.h
43
 @begin constructorTableWebAssemblyLinkError
43
 @begin constructorTableWebAssemblyLinkError
- a/Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo WebAssemblyLinkErrorPrototype::s_info = { "WebAssembly.LinkError.prototype", &Base::s_info, &prototypeTableWebAssemblyLinkError, CREATE_METHOD_TABLE(WebAssemblyLinkErrorPrototype) };
38
const ClassInfo WebAssemblyLinkErrorPrototype::s_info = { "WebAssembly.LinkError.prototype", &Base::s_info, &prototypeTableWebAssemblyLinkError, nullptr, CREATE_METHOD_TABLE(WebAssemblyLinkErrorPrototype) };
39
39
40
/* Source for WebAssemblyLinkErrorPrototype.lut.h
40
/* Source for WebAssemblyLinkErrorPrototype.lut.h
41
 @begin prototypeTableWebAssemblyLinkError
41
 @begin prototypeTableWebAssemblyLinkError
- a/Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.cpp -1 / +1 lines
Lines 41-47 a/Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.cpp_sec1
41
41
42
namespace JSC {
42
namespace JSC {
43
43
44
const ClassInfo WebAssemblyMemoryConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyMemory, CREATE_METHOD_TABLE(WebAssemblyMemoryConstructor) };
44
const ClassInfo WebAssemblyMemoryConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyMemory, nullptr, CREATE_METHOD_TABLE(WebAssemblyMemoryConstructor) };
45
45
46
/* Source for WebAssemblyMemoryConstructor.lut.h
46
/* Source for WebAssemblyMemoryConstructor.lut.h
47
 @begin constructorTableWebAssemblyMemory
47
 @begin constructorTableWebAssemblyMemory
- a/Source/JavaScriptCore/wasm/js/WebAssemblyMemoryPrototype.cpp -1 / +1 lines
Lines 44-50 static EncodedJSValue JSC_HOST_CALL webAssemblyMemoryProtoFuncBuffer(ExecState*) a/Source/JavaScriptCore/wasm/js/WebAssemblyMemoryPrototype.cpp_sec1
44
44
45
namespace JSC {
45
namespace JSC {
46
46
47
const ClassInfo WebAssemblyMemoryPrototype::s_info = { "WebAssembly.Memory.prototype", &Base::s_info, &prototypeTableWebAssemblyMemory, CREATE_METHOD_TABLE(WebAssemblyMemoryPrototype) };
47
const ClassInfo WebAssemblyMemoryPrototype::s_info = { "WebAssembly.Memory.prototype", &Base::s_info, &prototypeTableWebAssemblyMemory, nullptr, CREATE_METHOD_TABLE(WebAssemblyMemoryPrototype) };
48
48
49
/* Source for WebAssemblyMemoryPrototype.lut.h
49
/* Source for WebAssemblyMemoryPrototype.lut.h
50
@begin prototypeTableWebAssemblyMemory
50
@begin prototypeTableWebAssemblyMemory
- a/Source/JavaScriptCore/wasm/js/WebAssemblyModuleConstructor.cpp -1 / +1 lines
Lines 55-61 static EncodedJSValue JSC_HOST_CALL webAssemblyModuleExports(ExecState*); a/Source/JavaScriptCore/wasm/js/WebAssemblyModuleConstructor.cpp_sec1
55
55
56
namespace JSC {
56
namespace JSC {
57
57
58
const ClassInfo WebAssemblyModuleConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyModule, CREATE_METHOD_TABLE(WebAssemblyModuleConstructor) };
58
const ClassInfo WebAssemblyModuleConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyModule, nullptr, CREATE_METHOD_TABLE(WebAssemblyModuleConstructor) };
59
59
60
/* Source for WebAssemblyModuleConstructor.lut.h
60
/* Source for WebAssemblyModuleConstructor.lut.h
61
 @begin constructorTableWebAssemblyModule
61
 @begin constructorTableWebAssemblyModule
- a/Source/JavaScriptCore/wasm/js/WebAssemblyModulePrototype.cpp -1 / +1 lines
Lines 34-40 a/Source/JavaScriptCore/wasm/js/WebAssemblyModulePrototype.cpp_sec1
34
34
35
namespace JSC {
35
namespace JSC {
36
36
37
const ClassInfo WebAssemblyModulePrototype::s_info = { "WebAssembly.Module.prototype", &Base::s_info, &prototypeTableWebAssemblyModule, CREATE_METHOD_TABLE(WebAssemblyModulePrototype) };
37
const ClassInfo WebAssemblyModulePrototype::s_info = { "WebAssembly.Module.prototype", &Base::s_info, &prototypeTableWebAssemblyModule, nullptr, CREATE_METHOD_TABLE(WebAssemblyModulePrototype) };
38
38
39
/* Source for WebAssemblyModulePrototype.lut.h
39
/* Source for WebAssemblyModulePrototype.lut.h
40
 @begin prototypeTableWebAssemblyModule
40
 @begin prototypeTableWebAssemblyModule
- a/Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp -1 / +1 lines
Lines 43-49 a/Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp_sec1
43
43
44
namespace JSC {
44
namespace JSC {
45
45
46
const ClassInfo WebAssemblyModuleRecord::s_info = { "WebAssemblyModuleRecord", &Base::s_info, nullptr, CREATE_METHOD_TABLE(WebAssemblyModuleRecord) };
46
const ClassInfo WebAssemblyModuleRecord::s_info = { "WebAssemblyModuleRecord", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WebAssemblyModuleRecord) };
47
47
48
Structure* WebAssemblyModuleRecord::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
48
Structure* WebAssemblyModuleRecord::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
49
{
49
{
- a/Source/JavaScriptCore/wasm/js/WebAssemblyPrototype.cpp -1 / +1 lines
Lines 56-62 static EncodedJSValue JSC_HOST_CALL webAssemblyValidateFunc(ExecState*); a/Source/JavaScriptCore/wasm/js/WebAssemblyPrototype.cpp_sec1
56
56
57
namespace JSC {
57
namespace JSC {
58
58
59
const ClassInfo WebAssemblyPrototype::s_info = { "WebAssembly.prototype", &Base::s_info, &prototypeTableWebAssembly, CREATE_METHOD_TABLE(WebAssemblyPrototype) };
59
const ClassInfo WebAssemblyPrototype::s_info = { "WebAssembly.prototype", &Base::s_info, &prototypeTableWebAssembly, nullptr, CREATE_METHOD_TABLE(WebAssemblyPrototype) };
60
60
61
/* Source for WebAssemblyPrototype.lut.h
61
/* Source for WebAssemblyPrototype.lut.h
62
 @begin prototypeTableWebAssembly
62
 @begin prototypeTableWebAssembly
- a/Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorConstructor.cpp -1 / +1 lines
Lines 37-43 a/Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorConstructor.cpp_sec1
37
37
38
namespace JSC {
38
namespace JSC {
39
39
40
const ClassInfo WebAssemblyRuntimeErrorConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyRuntimeError, CREATE_METHOD_TABLE(WebAssemblyRuntimeErrorConstructor) };
40
const ClassInfo WebAssemblyRuntimeErrorConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyRuntimeError, nullptr, CREATE_METHOD_TABLE(WebAssemblyRuntimeErrorConstructor) };
41
41
42
/* Source for WebAssemblyRuntimeErrorConstructor.lut.h
42
/* Source for WebAssemblyRuntimeErrorConstructor.lut.h
43
 @begin constructorTableWebAssemblyRuntimeError
43
 @begin constructorTableWebAssemblyRuntimeError
- a/Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorPrototype.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorPrototype.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo WebAssemblyRuntimeErrorPrototype::s_info = { "WebAssembly.RuntimeError.prototype", &Base::s_info, &prototypeTableWebAssemblyRuntimeError, CREATE_METHOD_TABLE(WebAssemblyRuntimeErrorPrototype) };
38
const ClassInfo WebAssemblyRuntimeErrorPrototype::s_info = { "WebAssembly.RuntimeError.prototype", &Base::s_info, &prototypeTableWebAssemblyRuntimeError, nullptr, CREATE_METHOD_TABLE(WebAssemblyRuntimeErrorPrototype) };
39
39
40
/* Source for WebAssemblyRuntimeErrorPrototype.lut.h
40
/* Source for WebAssemblyRuntimeErrorPrototype.lut.h
41
 @begin prototypeTableWebAssemblyRuntimeError
41
 @begin prototypeTableWebAssemblyRuntimeError
- a/Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp -1 / +1 lines
Lines 38-44 a/Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp_sec1
38
38
39
namespace JSC {
39
namespace JSC {
40
40
41
const ClassInfo WebAssemblyTableConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyTable, CREATE_METHOD_TABLE(WebAssemblyTableConstructor) };
41
const ClassInfo WebAssemblyTableConstructor::s_info = { "Function", &Base::s_info, &constructorTableWebAssemblyTable, nullptr, CREATE_METHOD_TABLE(WebAssemblyTableConstructor) };
42
42
43
/* Source for WebAssemblyTableConstructor.lut.h
43
/* Source for WebAssemblyTableConstructor.lut.h
44
 @begin constructorTableWebAssemblyTable
44
 @begin constructorTableWebAssemblyTable
- a/Source/JavaScriptCore/wasm/js/WebAssemblyTablePrototype.cpp -1 / +1 lines
Lines 44-50 static EncodedJSValue JSC_HOST_CALL webAssemblyTableProtoFuncSet(ExecState*); a/Source/JavaScriptCore/wasm/js/WebAssemblyTablePrototype.cpp_sec1
44
44
45
namespace JSC {
45
namespace JSC {
46
46
47
const ClassInfo WebAssemblyTablePrototype::s_info = { "WebAssembly.Table.prototype", &Base::s_info, &prototypeTableWebAssemblyTable, CREATE_METHOD_TABLE(WebAssemblyTablePrototype) };
47
const ClassInfo WebAssemblyTablePrototype::s_info = { "WebAssembly.Table.prototype", &Base::s_info, &prototypeTableWebAssemblyTable, nullptr, CREATE_METHOD_TABLE(WebAssemblyTablePrototype) };
48
48
49
/* Source for WebAssemblyTablePrototype.lut.h
49
/* Source for WebAssemblyTablePrototype.lut.h
50
 @begin prototypeTableWebAssemblyTable
50
 @begin prototypeTableWebAssemblyTable
- a/Source/JavaScriptCore/wasm/js/WebAssemblyToJSCallee.cpp -1 / +1 lines
Lines 33-39 a/Source/JavaScriptCore/wasm/js/WebAssemblyToJSCallee.cpp_sec1
33
33
34
namespace JSC {
34
namespace JSC {
35
35
36
const ClassInfo WebAssemblyToJSCallee::s_info = { "WebAssemblyToJSCallee", &Base::s_info, 0, CREATE_METHOD_TABLE(WebAssemblyToJSCallee) };
36
const ClassInfo WebAssemblyToJSCallee::s_info = { "WebAssemblyToJSCallee", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WebAssemblyToJSCallee) };
37
37
38
WebAssemblyToJSCallee* WebAssemblyToJSCallee::create(VM& vm, JSWebAssemblyModule* module)
38
WebAssemblyToJSCallee* WebAssemblyToJSCallee::create(VM& vm, JSWebAssemblyModule* module)
39
{
39
{
- a/Source/JavaScriptCore/wasm/js/WebAssemblyWrapperFunction.cpp -1 / +1 lines
Lines 35-41 a/Source/JavaScriptCore/wasm/js/WebAssemblyWrapperFunction.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo WebAssemblyWrapperFunction::s_info = { "WebAssemblyWrapperFunction", &Base::s_info, nullptr, CREATE_METHOD_TABLE(WebAssemblyWrapperFunction) };
38
const ClassInfo WebAssemblyWrapperFunction::s_info = { "WebAssemblyWrapperFunction", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WebAssemblyWrapperFunction) };
39
39
40
static EncodedJSValue JSC_HOST_CALL callWebAssemblyWrapperFunction(ExecState* exec)
40
static EncodedJSValue JSC_HOST_CALL callWebAssemblyWrapperFunction(ExecState* exec)
41
{
41
{
- a/Source/WebCore/CMakeLists.txt +3 lines
Lines 1579-1584 set(WebCore_SOURCES a/Source/WebCore/CMakeLists.txt_sec1
1579
1579
1580
    domjit/DOMJITHelpers.cpp
1580
    domjit/DOMJITHelpers.cpp
1581
    domjit/JSDocumentDOMJIT.cpp
1581
    domjit/JSDocumentDOMJIT.cpp
1582
    domjit/JSDocumentFragmentDOMJIT.cpp
1583
    domjit/JSElementDOMJIT.cpp
1584
    domjit/JSEventDOMJIT.cpp
1582
    domjit/JSNodeDOMJIT.cpp
1585
    domjit/JSNodeDOMJIT.cpp
1583
1586
1584
    editing/AlternativeTextController.cpp
1587
    editing/AlternativeTextController.cpp
- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +12 lines
Lines 6669-6674 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec1
6669
		E37C86501EB63E3F0087C6CA /* JSDOMPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E37C864F1EB63E2D0087C6CA /* JSDOMPromise.h */; settings = {ATTRIBUTES = (Private, ); }; };
6669
		E37C86501EB63E3F0087C6CA /* JSDOMPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E37C864F1EB63E2D0087C6CA /* JSDOMPromise.h */; settings = {ATTRIBUTES = (Private, ); }; };
6670
		E38838981BAD145F00D62EE3 /* ScriptModuleLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38838941BAD145F00D62EE3 /* ScriptModuleLoader.cpp */; };
6670
		E38838981BAD145F00D62EE3 /* ScriptModuleLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38838941BAD145F00D62EE3 /* ScriptModuleLoader.cpp */; };
6671
		E38838991BAD145F00D62EE3 /* ScriptModuleLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = E38838951BAD145F00D62EE3 /* ScriptModuleLoader.h */; };
6671
		E38838991BAD145F00D62EE3 /* ScriptModuleLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = E38838951BAD145F00D62EE3 /* ScriptModuleLoader.h */; };
6672
		E3975B791EC9AF3F00847717 /* JSDocumentFragmentDOMJIT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E3975B761EC9AF3900847717 /* JSDocumentFragmentDOMJIT.cpp */; };
6673
		E3975B7A1EC9AF3F00847717 /* JSElementDOMJIT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E3975B771EC9AF3900847717 /* JSElementDOMJIT.cpp */; };
6674
		E3975B7B1EC9AF3F00847717 /* JSEventDOMJIT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E3975B781EC9AF3900847717 /* JSEventDOMJIT.cpp */; };
6672
		E398FC241DC32A20003C4684 /* DOMJITHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E398FC231DC32A1B003C4684 /* DOMJITHelpers.cpp */; };
6675
		E398FC241DC32A20003C4684 /* DOMJITHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E398FC231DC32A1B003C4684 /* DOMJITHelpers.cpp */; };
6673
		E3A776671DC85D2800B690D8 /* DOMJITIDLConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A776651DC85D2200B690D8 /* DOMJITIDLConvert.h */; settings = {ATTRIBUTES = (Private, ); }; };
6676
		E3A776671DC85D2800B690D8 /* DOMJITIDLConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A776651DC85D2200B690D8 /* DOMJITIDLConvert.h */; settings = {ATTRIBUTES = (Private, ); }; };
6674
		E3A776681DC85D2800B690D8 /* DOMJITIDLType.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A776661DC85D2200B690D8 /* DOMJITIDLType.h */; settings = {ATTRIBUTES = (Private, ); }; };
6677
		E3A776681DC85D2800B690D8 /* DOMJITIDLType.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A776661DC85D2200B690D8 /* DOMJITIDLType.h */; settings = {ATTRIBUTES = (Private, ); }; };
Lines 15227-15232 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec2
15227
		E37C864F1EB63E2D0087C6CA /* JSDOMPromise.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMPromise.h; sourceTree = "<group>"; };
15230
		E37C864F1EB63E2D0087C6CA /* JSDOMPromise.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMPromise.h; sourceTree = "<group>"; };
15228
		E38838941BAD145F00D62EE3 /* ScriptModuleLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptModuleLoader.cpp; sourceTree = "<group>"; };
15231
		E38838941BAD145F00D62EE3 /* ScriptModuleLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptModuleLoader.cpp; sourceTree = "<group>"; };
15229
		E38838951BAD145F00D62EE3 /* ScriptModuleLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptModuleLoader.h; sourceTree = "<group>"; };
15232
		E38838951BAD145F00D62EE3 /* ScriptModuleLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptModuleLoader.h; sourceTree = "<group>"; };
15233
		E3975B761EC9AF3900847717 /* JSDocumentFragmentDOMJIT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDocumentFragmentDOMJIT.cpp; sourceTree = "<group>"; };
15234
		E3975B771EC9AF3900847717 /* JSElementDOMJIT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSElementDOMJIT.cpp; sourceTree = "<group>"; };
15235
		E3975B781EC9AF3900847717 /* JSEventDOMJIT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEventDOMJIT.cpp; sourceTree = "<group>"; };
15230
		E398FC231DC32A1B003C4684 /* DOMJITHelpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMJITHelpers.cpp; sourceTree = "<group>"; };
15236
		E398FC231DC32A1B003C4684 /* DOMJITHelpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMJITHelpers.cpp; sourceTree = "<group>"; };
15231
		E3A5872E1DC3F52600F607A6 /* JSDynamicDowncast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDynamicDowncast.h; sourceTree = "<group>"; };
15237
		E3A5872E1DC3F52600F607A6 /* JSDynamicDowncast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDynamicDowncast.h; sourceTree = "<group>"; };
15232
		E3A776651DC85D2200B690D8 /* DOMJITIDLConvert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMJITIDLConvert.h; sourceTree = "<group>"; };
15238
		E3A776651DC85D2200B690D8 /* DOMJITIDLConvert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMJITIDLConvert.h; sourceTree = "<group>"; };
Lines 24742-24747 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec3
24742
				E3A776661DC85D2200B690D8 /* DOMJITIDLType.h */,
24748
				E3A776661DC85D2200B690D8 /* DOMJITIDLType.h */,
24743
				E35802B51DC8435800A9773C /* DOMJITIDLTypeFilter.h */,
24749
				E35802B51DC8435800A9773C /* DOMJITIDLTypeFilter.h */,
24744
				E3B7C0621DC3415A001FB0B8 /* JSDocumentDOMJIT.cpp */,
24750
				E3B7C0621DC3415A001FB0B8 /* JSDocumentDOMJIT.cpp */,
24751
				E3975B761EC9AF3900847717 /* JSDocumentFragmentDOMJIT.cpp */,
24752
				E3975B771EC9AF3900847717 /* JSElementDOMJIT.cpp */,
24753
				E3975B781EC9AF3900847717 /* JSEventDOMJIT.cpp */,
24745
				E3AFA9641DA6E908002861BD /* JSNodeDOMJIT.cpp */,
24754
				E3AFA9641DA6E908002861BD /* JSNodeDOMJIT.cpp */,
24746
			);
24755
			);
24747
			path = domjit;
24756
			path = domjit;
Lines 30889-30894 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec4
30889
				977B3862122883E900B81FF8 /* CSSPreloadScanner.cpp in Sources */,
30898
				977B3862122883E900B81FF8 /* CSSPreloadScanner.cpp in Sources */,
30890
				A80E6D050A1989CA007FB8C5 /* CSSPrimitiveValue.cpp in Sources */,
30899
				A80E6D050A1989CA007FB8C5 /* CSSPrimitiveValue.cpp in Sources */,
30891
				A80E6CF70A1989CA007FB8C5 /* CSSProperty.cpp in Sources */,
30900
				A80E6CF70A1989CA007FB8C5 /* CSSProperty.cpp in Sources */,
30901
				E3975B791EC9AF3F00847717 /* JSDocumentFragmentDOMJIT.cpp in Sources */,
30892
				78D02BC5154A18DF00B62D05 /* CSSPropertyAnimation.cpp in Sources */,
30902
				78D02BC5154A18DF00B62D05 /* CSSPropertyAnimation.cpp in Sources */,
30893
				1ABA76CA11D20E50004C201C /* CSSPropertyNames.cpp in Sources */,
30903
				1ABA76CA11D20E50004C201C /* CSSPropertyNames.cpp in Sources */,
30894
				946D37451D6D01D40077084F /* CSSPropertyParser.cpp in Sources */,
30904
				946D37451D6D01D40077084F /* CSSPropertyParser.cpp in Sources */,
Lines 31205-31210 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec5
31205
				7EE6846612D26E3800E79415 /* FormDataStreamCFNet.cpp in Sources */,
31215
				7EE6846612D26E3800E79415 /* FormDataStreamCFNet.cpp in Sources */,
31206
				514C764F0CE9234E007EF3CD /* FormDataStreamMac.mm in Sources */,
31216
				514C764F0CE9234E007EF3CD /* FormDataStreamMac.mm in Sources */,
31207
				656D373B0ADBA5DE00A4554D /* FormState.cpp in Sources */,
31217
				656D373B0ADBA5DE00A4554D /* FormState.cpp in Sources */,
31218
				E3975B7B1EC9AF3F00847717 /* JSEventDOMJIT.cpp in Sources */,
31208
				41885B9411B6FDA6003383BB /* FormSubmission.cpp in Sources */,
31219
				41885B9411B6FDA6003383BB /* FormSubmission.cpp in Sources */,
31209
				65BF022E0974816300C43196 /* Frame.cpp in Sources */,
31220
				65BF022E0974816300C43196 /* Frame.cpp in Sources */,
31210
				974A862214B7ADBB003FDC76 /* FrameDestructionObserver.cpp in Sources */,
31221
				974A862214B7ADBB003FDC76 /* FrameDestructionObserver.cpp in Sources */,
Lines 31297-31302 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec6
31297
				B2A015AA0AF6CD53006BCE0E /* GraphicsTypes.cpp in Sources */,
31308
				B2A015AA0AF6CD53006BCE0E /* GraphicsTypes.cpp in Sources */,
31298
				E112F4711E3A861200D6CDFD /* Grid.cpp in Sources */,
31309
				E112F4711E3A861200D6CDFD /* Grid.cpp in Sources */,
31299
				E175BA991E8AE3380071454F /* GridPosition.cpp in Sources */,
31310
				E175BA991E8AE3380071454F /* GridPosition.cpp in Sources */,
31311
				E3975B7A1EC9AF3F00847717 /* JSElementDOMJIT.cpp in Sources */,
31300
				CDF7483E18FEBCEC0006ECC0 /* GridPositionsResolver.cpp in Sources */,
31312
				CDF7483E18FEBCEC0006ECC0 /* GridPositionsResolver.cpp in Sources */,
31301
				E12DE7171E4B749C00F9ACCF /* GridTrackSizingAlgorithm.cpp in Sources */,
31313
				E12DE7171E4B749C00F9ACCF /* GridTrackSizingAlgorithm.cpp in Sources */,
31302
				414C25D71E9EFEDE00BEE141 /* H264VideoToolBoxEncoder.mm in Sources */,
31314
				414C25D71E9EFEDE00BEE141 /* H264VideoToolBoxEncoder.mm in Sources */,
- a/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp -1 / +1 lines
Lines 53-59 EncodedJSValue JSC_HOST_CALL makeGetterTypeErrorForBuiltins(ExecState*); a/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp_sec1
53
EncodedJSValue JSC_HOST_CALL isWebRTCLegacyAPIEnabled(ExecState*);
53
EncodedJSValue JSC_HOST_CALL isWebRTCLegacyAPIEnabled(ExecState*);
54
EncodedJSValue JSC_HOST_CALL isReadableByteStreamAPIEnabled(ExecState*);
54
EncodedJSValue JSC_HOST_CALL isReadableByteStreamAPIEnabled(ExecState*);
55
55
56
const ClassInfo JSDOMGlobalObject::s_info = { "DOMGlobalObject", &JSGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSDOMGlobalObject) };
56
const ClassInfo JSDOMGlobalObject::s_info = { "DOMGlobalObject", &JSGlobalObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDOMGlobalObject) };
57
57
58
JSDOMGlobalObject::JSDOMGlobalObject(VM& vm, Structure* structure, Ref<DOMWrapperWorld>&& world, const GlobalObjectMethodTable* globalObjectMethodTable)
58
JSDOMGlobalObject::JSDOMGlobalObject(VM& vm, Structure* structure, Ref<DOMWrapperWorld>&& world, const GlobalObjectMethodTable* globalObjectMethodTable)
59
    : JSGlobalObject(vm, structure, globalObjectMethodTable)
59
    : JSGlobalObject(vm, structure, globalObjectMethodTable)
- a/Source/WebCore/bindings/js/JSDOMWindowBase.cpp -1 / +1 lines
Lines 60-66 using namespace JSC; a/Source/WebCore/bindings/js/JSDOMWindowBase.cpp_sec1
60
60
61
namespace WebCore {
61
namespace WebCore {
62
62
63
const ClassInfo JSDOMWindowBase::s_info = { "Window", &JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSDOMWindowBase) };
63
const ClassInfo JSDOMWindowBase::s_info = { "Window", &JSDOMGlobalObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDOMWindowBase) };
64
64
65
const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = {
65
const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = {
66
    &supportsRichSourceInfo,
66
    &supportsRichSourceInfo,
- a/Source/WebCore/bindings/js/JSDOMWindowProperties.cpp -1 / +1 lines
Lines 38-44 namespace WebCore { a/Source/WebCore/bindings/js/JSDOMWindowProperties.cpp_sec1
38
38
39
using namespace JSC;
39
using namespace JSC;
40
40
41
const ClassInfo JSDOMWindowProperties::s_info = { "WindowProperties", &Base::s_info, 0, CREATE_METHOD_TABLE(JSDOMWindowProperties) };
41
const ClassInfo JSDOMWindowProperties::s_info = { "WindowProperties", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDOMWindowProperties) };
42
42
43
static bool jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter(JSDOMWindowProperties* thisObject, Frame& frame, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
43
static bool jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter(JSDOMWindowProperties* thisObject, Frame& frame, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
44
{
44
{
- a/Source/WebCore/bindings/js/JSDOMWindowShell.cpp -1 / +1 lines
Lines 43-49 using namespace JSC; a/Source/WebCore/bindings/js/JSDOMWindowShell.cpp_sec1
43
43
44
namespace WebCore {
44
namespace WebCore {
45
45
46
const ClassInfo JSDOMWindowShell::s_info = { "JSDOMWindowShell", &Base::s_info, 0, CREATE_METHOD_TABLE(JSDOMWindowShell) };
46
const ClassInfo JSDOMWindowShell::s_info = { "JSDOMWindowShell", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDOMWindowShell) };
47
47
48
JSDOMWindowShell::JSDOMWindowShell(VM& vm, Structure* structure, DOMWrapperWorld& world)
48
JSDOMWindowShell::JSDOMWindowShell(VM& vm, Structure* structure, DOMWrapperWorld& world)
49
    : Base(vm, structure)
49
    : Base(vm, structure)
- a/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.cpp -5 / +5 lines
Lines 116-126 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableByteStreamControllerPri a/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.cpp_sec1
116
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableStreamBYOBReaderPrivateConstructor);
116
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableStreamBYOBReaderPrivateConstructor);
117
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableStreamBYOBRequestPrivateConstructor);
117
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableStreamBYOBRequestPrivateConstructor);
118
118
119
template<> const ClassInfo JSBuiltinReadableStreamDefaultReaderPrivateConstructor::s_info = { "ReadableStreamDefaultReaderPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableStreamDefaultReaderPrivateConstructor) };
119
template<> const ClassInfo JSBuiltinReadableStreamDefaultReaderPrivateConstructor::s_info = { "ReadableStreamDefaultReaderPrivateConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuiltinReadableStreamDefaultReaderPrivateConstructor) };
120
template<> const ClassInfo JSBuiltinReadableStreamDefaultControllerPrivateConstructor::s_info = { "ReadableStreamDefaultControllerPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableStreamDefaultControllerPrivateConstructor) };
120
template<> const ClassInfo JSBuiltinReadableStreamDefaultControllerPrivateConstructor::s_info = { "ReadableStreamDefaultControllerPrivateConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuiltinReadableStreamDefaultControllerPrivateConstructor) };
121
template<> const ClassInfo JSBuiltinReadableByteStreamControllerPrivateConstructor::s_info = { "ReadableByteStreamControllerPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableByteStreamControllerPrivateConstructor) };
121
template<> const ClassInfo JSBuiltinReadableByteStreamControllerPrivateConstructor::s_info = { "ReadableByteStreamControllerPrivateConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuiltinReadableByteStreamControllerPrivateConstructor) };
122
template<> const ClassInfo JSBuiltinReadableStreamBYOBReaderPrivateConstructor::s_info = { "ReadableStreamBYOBReaderPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableStreamBYOBReaderPrivateConstructor) };
122
template<> const ClassInfo JSBuiltinReadableStreamBYOBReaderPrivateConstructor::s_info = { "ReadableStreamBYOBReaderPrivateConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuiltinReadableStreamBYOBReaderPrivateConstructor) };
123
template<> const ClassInfo JSBuiltinReadableStreamBYOBRequestPrivateConstructor::s_info = { "ReadableStreamBYOBRequestPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableStreamBYOBRequestPrivateConstructor) };
123
template<> const ClassInfo JSBuiltinReadableStreamBYOBRequestPrivateConstructor::s_info = { "ReadableStreamBYOBRequestPrivateConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuiltinReadableStreamBYOBRequestPrivateConstructor) };
124
124
125
template<> FunctionExecutable* JSBuiltinReadableStreamDefaultReaderPrivateConstructor::initializeExecutable(JSC::VM& vm)
125
template<> FunctionExecutable* JSBuiltinReadableStreamDefaultReaderPrivateConstructor::initializeExecutable(JSC::VM& vm)
126
{
126
{
- a/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp -1 / +1 lines
Lines 44-50 using namespace JSC; a/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp_sec1
44
44
45
namespace WebCore {
45
namespace WebCore {
46
46
47
const ClassInfo JSWorkerGlobalScopeBase::s_info = { "WorkerGlobalScope", &JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSWorkerGlobalScopeBase) };
47
const ClassInfo JSWorkerGlobalScopeBase::s_info = { "WorkerGlobalScope", &JSDOMGlobalObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWorkerGlobalScopeBase) };
48
48
49
const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = {
49
const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = {
50
    &supportsRichSourceInfo,
50
    &supportsRichSourceInfo,
- a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm -13 / +25 lines
Lines 2234-2239 sub GenerateHeader a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec1
2234
        }
2234
        }
2235
    }
2235
    }
2236
2236
2237
    # CheckSubClass Patchpoint function.
2238
    if ($interface->extendedAttributes->{DOMJIT}) {
2239
        $headerIncludes{"<domjit/DOMJITPatchpoint.h>"} = 1;
2240
        push(@headerContent, "#if ENABLE(JIT)\n");
2241
        push(@headerContent, "RefPtr<JSC::DOMJIT::Patchpoint> checkSubClassPatchpointFor${className}();\n");
2242
        push(@headerContent, "#endif\n");
2243
    }
2244
2237
    if ($hasDOMJITAttributes) {
2245
    if ($hasDOMJITAttributes) {
2238
        $headerIncludes{"<domjit/DOMJITGetterSetter.h>"} = 1;
2246
        $headerIncludes{"<domjit/DOMJITGetterSetter.h>"} = 1;
2239
        push(@headerContent,"// DOMJIT emitters for attributes\n\n");
2247
        push(@headerContent,"// DOMJIT emitters for attributes\n\n");
Lines 2251-2257 sub GenerateHeader a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec2
2251
            push(@headerContent, "public:\n");
2259
            push(@headerContent, "public:\n");
2252
            push(@headerContent, "    ${domJITClassName}();\n");
2260
            push(@headerContent, "    ${domJITClassName}();\n");
2253
            push(@headerContent, "#if ENABLE(JIT)\n");
2261
            push(@headerContent, "#if ENABLE(JIT)\n");
2254
            push(@headerContent, "    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;\n");
2255
            push(@headerContent, "    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;\n");
2262
            push(@headerContent, "    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;\n");
2256
            push(@headerContent, "#endif\n");
2263
            push(@headerContent, "#endif\n");
2257
            push(@headerContent, "};\n\n");
2264
            push(@headerContent, "};\n\n");
Lines 3188-3194 sub GenerateImplementation a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec3
3188
        foreach my $function (@functions) {
3195
        foreach my $function (@functions) {
3189
            next unless $function->extendedAttributes->{DOMJIT};
3196
            next unless $function->extendedAttributes->{DOMJIT};
3190
            $implIncludes{"DOMJITIDLTypeFilter.h"} = 1;
3197
            $implIncludes{"DOMJITIDLTypeFilter.h"} = 1;
3191
            $implIncludes{"DOMJITCheckDOM.h"} = 1;
3192
            $implIncludes{"DOMJITAbstractHeapRepository.h"} = 1;
3198
            $implIncludes{"DOMJITAbstractHeapRepository.h"} = 1;
3193
3199
3194
            my $isOverloaded = $function->{overloads} && @{$function->{overloads}} > 1;
3200
            my $isOverloaded = $function->{overloads} && @{$function->{overloads}} > 1;
Lines 3211-3221 sub GenerateImplementation a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec4
3211
            $domJITSignatureFooter .= ");";
3217
            $domJITSignatureFooter .= ");";
3212
            my $conditionalString = $codeGenerator->GenerateConditionalString($function);
3218
            my $conditionalString = $codeGenerator->GenerateConditionalString($function);
3213
            push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
3219
            push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
3214
            push(@implContent, "#if ENABLE(JIT)\n");
3220
            push(@implContent, "$domJITSignatureHeader $domJITSignatureFooter\n");
3215
            push(@implContent, "$domJITSignatureHeader DOMJIT::checkDOM<$interfaceName>, $domJITSignatureFooter\n");
3216
            push(@implContent, "#else\n");
3217
            push(@implContent, "$domJITSignatureHeader nullptr, $domJITSignatureFooter\n");
3218
            push(@implContent, "#endif\n");
3219
            push(@implContent, "#endif\n") if $conditionalString;
3221
            push(@implContent, "#endif\n") if $conditionalString;
3220
            push(@implContent, "\n");
3222
            push(@implContent, "\n");
3221
        }
3223
        }
Lines 3395-3403 sub GenerateImplementation a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec5
3395
                               \%conditionals, $justGenerateValueArray);
3397
                               \%conditionals, $justGenerateValueArray);
3396
3398
3397
    if ($justGenerateValueArray) {
3399
    if ($justGenerateValueArray) {
3398
        push(@implContent, "const ClassInfo ${className}Prototype::s_info = { \"${visibleInterfaceName}Prototype\", &Base::s_info, 0, CREATE_METHOD_TABLE(${className}Prototype) };\n\n");
3400
        push(@implContent, "const ClassInfo ${className}Prototype::s_info = { \"${visibleInterfaceName}Prototype\", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(${className}Prototype) };\n\n");
3399
    } else {
3401
    } else {
3400
        push(@implContent, "const ClassInfo ${className}Prototype::s_info = { \"${visibleInterfaceName}Prototype\", &Base::s_info, &${className}PrototypeTable, CREATE_METHOD_TABLE(${className}Prototype) };\n\n");
3402
        push(@implContent, "const ClassInfo ${className}Prototype::s_info = { \"${visibleInterfaceName}Prototype\", &Base::s_info, &${className}PrototypeTable, nullptr, CREATE_METHOD_TABLE(${className}Prototype) };\n\n");
3401
    }
3403
    }
3402
3404
3403
    if (PrototypeHasStaticPropertyTable($interface) && !IsGlobalOrPrimaryGlobalInterface($interface)) {
3405
    if (PrototypeHasStaticPropertyTable($interface) && !IsGlobalOrPrimaryGlobalInterface($interface)) {
Lines 3495-3501 sub GenerateImplementation a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec6
3495
    if ($numInstanceProperties > 0) {
3497
    if ($numInstanceProperties > 0) {
3496
        push(@implContent, "&${className}Table");
3498
        push(@implContent, "&${className}Table");
3497
    } else {
3499
    } else {
3498
        push(@implContent, "0");
3500
        push(@implContent, "nullptr");
3501
    }
3502
    if ($interface->extendedAttributes->{DOMJIT}) {
3503
        push(@implContent, "\n");
3504
        push(@implContent, "#if ENABLE(JIT)\n");
3505
        push(@implContent, ", &checkSubClassPatchpointFor${className}\n");
3506
        push(@implContent, "#else\n");
3507
        push(@implContent, ", nullptr\n");
3508
        push(@implContent, "#endif\n");
3509
    } else {
3510
        push(@implContent, ", nullptr");
3499
    }
3511
    }
3500
    push(@implContent, ", CREATE_METHOD_TABLE($className) };\n\n");
3512
    push(@implContent, ", CREATE_METHOD_TABLE($className) };\n\n");
3501
3513
Lines 5401-5410 sub GenerateImplementationIterableFunctions a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec7
5401
using ${iteratorPrototypeName} = JSDOMIteratorPrototype<${className}, ${iteratorTraitsName}>;
5413
using ${iteratorPrototypeName} = JSDOMIteratorPrototype<${className}, ${iteratorTraitsName}>;
5402
5414
5403
template<>
5415
template<>
5404
const JSC::ClassInfo ${iteratorName}::s_info = { "${visibleInterfaceName} Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(${iteratorName}) };
5416
const JSC::ClassInfo ${iteratorName}::s_info = { "${visibleInterfaceName} Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(${iteratorName}) };
5405
5417
5406
template<>
5418
template<>
5407
const JSC::ClassInfo ${iteratorPrototypeName}::s_info = { "${visibleInterfaceName} Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(${iteratorPrototypeName}) };
5419
const JSC::ClassInfo ${iteratorPrototypeName}::s_info = { "${visibleInterfaceName} Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(${iteratorPrototypeName}) };
5408
5420
5409
END
5421
END
5410
5422
Lines 6415-6421 sub GenerateConstructorHelperMethods a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec8
6415
        push(@$outputArray, "}\n");
6427
        push(@$outputArray, "}\n");
6416
        push(@$outputArray, "\n");
6428
        push(@$outputArray, "\n");
6417
    }
6429
    }
6418
    push(@$outputArray, "template<> const ClassInfo ${constructorClassName}::s_info = { \"${visibleInterfaceName}\", &Base::s_info, 0, CREATE_METHOD_TABLE($constructorClassName) };\n\n");
6430
    push(@$outputArray, "template<> const ClassInfo ${constructorClassName}::s_info = { \"${visibleInterfaceName}\", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE($constructorClassName) };\n\n");
6419
}
6431
}
6420
6432
6421
sub HasCustomConstructor
6433
sub HasCustomConstructor
- a/Source/WebCore/bindings/scripts/IDLAttributes.json -1 / +1 lines
Lines 126-132 a/Source/WebCore/bindings/scripts/IDLAttributes.json_sec1
126
            "contextsAllowed": ["interface"]
126
            "contextsAllowed": ["interface"]
127
        },
127
        },
128
        "DOMJIT": {
128
        "DOMJIT": {
129
            "contextsAllowed": ["attribute", "operation"],
129
            "contextsAllowed": ["interface", "attribute", "operation"],
130
            "values": ["", "ReadDOM", "Getter"]
130
            "values": ["", "ReadDOM", "Getter"]
131
        },
131
        },
132
        "DoNotCheckConstants": {
132
        "DoNotCheckConstants": {
- a/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp -3 / +3 lines
Lines 78-84 template<> void JSInterfaceNameConstructor::initializeProperties(VM& vm, JSDOMGl a/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp_sec1
78
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
78
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
79
}
79
}
80
80
81
template<> const ClassInfo JSInterfaceNameConstructor::s_info = { "InterfaceName", &Base::s_info, 0, CREATE_METHOD_TABLE(JSInterfaceNameConstructor) };
81
template<> const ClassInfo JSInterfaceNameConstructor::s_info = { "InterfaceName", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSInterfaceNameConstructor) };
82
82
83
/* Hash table for prototype */
83
/* Hash table for prototype */
84
84
Lines 87-93 static const HashTableValue JSInterfaceNamePrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp_sec2
87
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsInterfaceNameConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSInterfaceNameConstructor) } },
87
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsInterfaceNameConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSInterfaceNameConstructor) } },
88
};
88
};
89
89
90
const ClassInfo JSInterfaceNamePrototype::s_info = { "InterfaceNamePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSInterfaceNamePrototype) };
90
const ClassInfo JSInterfaceNamePrototype::s_info = { "InterfaceNamePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSInterfaceNamePrototype) };
91
91
92
void JSInterfaceNamePrototype::finishCreation(VM& vm)
92
void JSInterfaceNamePrototype::finishCreation(VM& vm)
93
{
93
{
Lines 95-101 void JSInterfaceNamePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp_sec3
95
    reifyStaticProperties(vm, JSInterfaceNamePrototypeTableValues, *this);
95
    reifyStaticProperties(vm, JSInterfaceNamePrototypeTableValues, *this);
96
}
96
}
97
97
98
const ClassInfo JSInterfaceName::s_info = { "InterfaceName", &Base::s_info, 0, CREATE_METHOD_TABLE(JSInterfaceName) };
98
const ClassInfo JSInterfaceName::s_info = { "InterfaceName", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSInterfaceName) };
99
99
100
JSInterfaceName::JSInterfaceName(Structure* structure, JSDOMGlobalObject& globalObject, Ref<InterfaceName>&& impl)
100
JSInterfaceName::JSInterfaceName(Structure* structure, JSDOMGlobalObject& globalObject, Ref<InterfaceName>&& impl)
101
    : JSDOMWrapper<InterfaceName>(structure, globalObject, WTFMove(impl))
101
    : JSDOMWrapper<InterfaceName>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSMapLike.cpp -3 / +3 lines
Lines 94-100 template<> void JSMapLikeConstructor::initializeProperties(VM& vm, JSDOMGlobalOb a/Source/WebCore/bindings/scripts/test/JS/JSMapLike.cpp_sec1
94
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
94
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
95
}
95
}
96
96
97
template<> const ClassInfo JSMapLikeConstructor::s_info = { "MapLike", &Base::s_info, 0, CREATE_METHOD_TABLE(JSMapLikeConstructor) };
97
template<> const ClassInfo JSMapLikeConstructor::s_info = { "MapLike", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMapLikeConstructor) };
98
98
99
/* Hash table for prototype */
99
/* Hash table for prototype */
100
100
Lines 113-119 static const HashTableValue JSMapLikePrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSMapLike.cpp_sec2
113
    { "delete", DontEnum | JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsMapLikePrototypeFunctionDelete), (intptr_t) (1) } },
113
    { "delete", DontEnum | JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsMapLikePrototypeFunctionDelete), (intptr_t) (1) } },
114
};
114
};
115
115
116
const ClassInfo JSMapLikePrototype::s_info = { "MapLikePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSMapLikePrototype) };
116
const ClassInfo JSMapLikePrototype::s_info = { "MapLikePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMapLikePrototype) };
117
117
118
void JSMapLikePrototype::finishCreation(VM& vm)
118
void JSMapLikePrototype::finishCreation(VM& vm)
119
{
119
{
Lines 122-128 void JSMapLikePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSMapLike.cpp_sec3
122
    putDirect(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, vm.propertyNames->builtinNames().valuesPublicName()), DontEnum);
122
    putDirect(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, vm.propertyNames->builtinNames().valuesPublicName()), DontEnum);
123
}
123
}
124
124
125
const ClassInfo JSMapLike::s_info = { "MapLike", &Base::s_info, 0, CREATE_METHOD_TABLE(JSMapLike) };
125
const ClassInfo JSMapLike::s_info = { "MapLike", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMapLike) };
126
126
127
JSMapLike::JSMapLike(Structure* structure, JSDOMGlobalObject& globalObject, Ref<MapLike>&& impl)
127
JSMapLike::JSMapLike(Structure* structure, JSDOMGlobalObject& globalObject, Ref<MapLike>&& impl)
128
    : JSDOMWrapper<MapLike>(structure, globalObject, WTFMove(impl))
128
    : JSDOMWrapper<MapLike>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSReadOnlyMapLike.cpp -3 / +3 lines
Lines 91-97 template<> void JSReadOnlyMapLikeConstructor::initializeProperties(VM& vm, JSDOM a/Source/WebCore/bindings/scripts/test/JS/JSReadOnlyMapLike.cpp_sec1
91
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
91
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
92
}
92
}
93
93
94
template<> const ClassInfo JSReadOnlyMapLikeConstructor::s_info = { "ReadOnlyMapLike", &Base::s_info, 0, CREATE_METHOD_TABLE(JSReadOnlyMapLikeConstructor) };
94
template<> const ClassInfo JSReadOnlyMapLikeConstructor::s_info = { "ReadOnlyMapLike", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSReadOnlyMapLikeConstructor) };
95
95
96
/* Hash table for prototype */
96
/* Hash table for prototype */
97
97
Lines 107-113 static const HashTableValue JSReadOnlyMapLikePrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSReadOnlyMapLike.cpp_sec2
107
    { "forEach", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsReadOnlyMapLikePrototypeFunctionForEach), (intptr_t) (1) } },
107
    { "forEach", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsReadOnlyMapLikePrototypeFunctionForEach), (intptr_t) (1) } },
108
};
108
};
109
109
110
const ClassInfo JSReadOnlyMapLikePrototype::s_info = { "ReadOnlyMapLikePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSReadOnlyMapLikePrototype) };
110
const ClassInfo JSReadOnlyMapLikePrototype::s_info = { "ReadOnlyMapLikePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSReadOnlyMapLikePrototype) };
111
111
112
void JSReadOnlyMapLikePrototype::finishCreation(VM& vm)
112
void JSReadOnlyMapLikePrototype::finishCreation(VM& vm)
113
{
113
{
Lines 116-122 void JSReadOnlyMapLikePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSReadOnlyMapLike.cpp_sec3
116
    putDirect(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, vm.propertyNames->builtinNames().valuesPublicName()), DontEnum);
116
    putDirect(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, vm.propertyNames->builtinNames().valuesPublicName()), DontEnum);
117
}
117
}
118
118
119
const ClassInfo JSReadOnlyMapLike::s_info = { "ReadOnlyMapLike", &Base::s_info, 0, CREATE_METHOD_TABLE(JSReadOnlyMapLike) };
119
const ClassInfo JSReadOnlyMapLike::s_info = { "ReadOnlyMapLike", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSReadOnlyMapLike) };
120
120
121
JSReadOnlyMapLike::JSReadOnlyMapLike(Structure* structure, JSDOMGlobalObject& globalObject, Ref<ReadOnlyMapLike>&& impl)
121
JSReadOnlyMapLike::JSReadOnlyMapLike(Structure* structure, JSDOMGlobalObject& globalObject, Ref<ReadOnlyMapLike>&& impl)
122
    : JSDOMWrapper<ReadOnlyMapLike>(structure, globalObject, WTFMove(impl))
122
    : JSDOMWrapper<ReadOnlyMapLike>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp -3 / +3 lines
Lines 102-108 template<> void JSTestActiveDOMObjectConstructor::initializeProperties(VM& vm, J a/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp_sec1
102
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
102
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
103
}
103
}
104
104
105
template<> const ClassInfo JSTestActiveDOMObjectConstructor::s_info = { "TestActiveDOMObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectConstructor) };
105
template<> const ClassInfo JSTestActiveDOMObjectConstructor::s_info = { "TestActiveDOMObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestActiveDOMObjectConstructor) };
106
106
107
/* Hash table for prototype */
107
/* Hash table for prototype */
108
108
Lines 113-119 static const HashTableValue JSTestActiveDOMObjectPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp_sec2
113
    { "postMessage", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestActiveDOMObjectPrototypeFunctionPostMessage), (intptr_t) (1) } },
113
    { "postMessage", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestActiveDOMObjectPrototypeFunctionPostMessage), (intptr_t) (1) } },
114
};
114
};
115
115
116
const ClassInfo JSTestActiveDOMObjectPrototype::s_info = { "TestActiveDOMObjectPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectPrototype) };
116
const ClassInfo JSTestActiveDOMObjectPrototype::s_info = { "TestActiveDOMObjectPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestActiveDOMObjectPrototype) };
117
117
118
void JSTestActiveDOMObjectPrototype::finishCreation(VM& vm)
118
void JSTestActiveDOMObjectPrototype::finishCreation(VM& vm)
119
{
119
{
Lines 121-127 void JSTestActiveDOMObjectPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp_sec3
121
    reifyStaticProperties(vm, JSTestActiveDOMObjectPrototypeTableValues, *this);
121
    reifyStaticProperties(vm, JSTestActiveDOMObjectPrototypeTableValues, *this);
122
}
122
}
123
123
124
const ClassInfo JSTestActiveDOMObject::s_info = { "TestActiveDOMObject", &Base::s_info, &JSTestActiveDOMObjectTable, CREATE_METHOD_TABLE(JSTestActiveDOMObject) };
124
const ClassInfo JSTestActiveDOMObject::s_info = { "TestActiveDOMObject", &Base::s_info, &JSTestActiveDOMObjectTable, nullptr, CREATE_METHOD_TABLE(JSTestActiveDOMObject) };
125
125
126
JSTestActiveDOMObject::JSTestActiveDOMObject(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestActiveDOMObject>&& impl)
126
JSTestActiveDOMObject::JSTestActiveDOMObject(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestActiveDOMObject>&& impl)
127
    : JSDOMWrapper<TestActiveDOMObject>(structure, globalObject, WTFMove(impl))
127
    : JSDOMWrapper<TestActiveDOMObject>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp -3 / +3 lines
Lines 93-99 template<> void JSTestCEReactionsConstructor::initializeProperties(VM& vm, JSDOM a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp_sec1
93
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
93
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
94
}
94
}
95
95
96
template<> const ClassInfo JSTestCEReactionsConstructor::s_info = { "TestCEReactions", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCEReactionsConstructor) };
96
template<> const ClassInfo JSTestCEReactionsConstructor::s_info = { "TestCEReactions", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCEReactionsConstructor) };
97
97
98
/* Hash table for prototype */
98
/* Hash table for prototype */
99
99
Lines 106-112 static const HashTableValue JSTestCEReactionsPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp_sec2
106
    { "methodWithCEReactions", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestCEReactionsPrototypeFunctionMethodWithCEReactions), (intptr_t) (0) } },
106
    { "methodWithCEReactions", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestCEReactionsPrototypeFunctionMethodWithCEReactions), (intptr_t) (0) } },
107
};
107
};
108
108
109
const ClassInfo JSTestCEReactionsPrototype::s_info = { "TestCEReactionsPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCEReactionsPrototype) };
109
const ClassInfo JSTestCEReactionsPrototype::s_info = { "TestCEReactionsPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCEReactionsPrototype) };
110
110
111
void JSTestCEReactionsPrototype::finishCreation(VM& vm)
111
void JSTestCEReactionsPrototype::finishCreation(VM& vm)
112
{
112
{
Lines 114-120 void JSTestCEReactionsPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp_sec3
114
    reifyStaticProperties(vm, JSTestCEReactionsPrototypeTableValues, *this);
114
    reifyStaticProperties(vm, JSTestCEReactionsPrototypeTableValues, *this);
115
}
115
}
116
116
117
const ClassInfo JSTestCEReactions::s_info = { "TestCEReactions", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCEReactions) };
117
const ClassInfo JSTestCEReactions::s_info = { "TestCEReactions", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCEReactions) };
118
118
119
JSTestCEReactions::JSTestCEReactions(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestCEReactions>&& impl)
119
JSTestCEReactions::JSTestCEReactions(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestCEReactions>&& impl)
120
    : JSDOMWrapper<TestCEReactions>(structure, globalObject, WTFMove(impl))
120
    : JSDOMWrapper<TestCEReactions>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp -3 / +3 lines
Lines 87-93 template<> void JSTestCEReactionsStringifierConstructor::initializeProperties(VM a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp_sec1
87
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
87
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
88
}
88
}
89
89
90
template<> const ClassInfo JSTestCEReactionsStringifierConstructor::s_info = { "TestCEReactionsStringifier", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCEReactionsStringifierConstructor) };
90
template<> const ClassInfo JSTestCEReactionsStringifierConstructor::s_info = { "TestCEReactionsStringifier", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCEReactionsStringifierConstructor) };
91
91
92
/* Hash table for prototype */
92
/* Hash table for prototype */
93
93
Lines 98-104 static const HashTableValue JSTestCEReactionsStringifierPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp_sec2
98
    { "toString", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestCEReactionsStringifierPrototypeFunctionToString), (intptr_t) (0) } },
98
    { "toString", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestCEReactionsStringifierPrototypeFunctionToString), (intptr_t) (0) } },
99
};
99
};
100
100
101
const ClassInfo JSTestCEReactionsStringifierPrototype::s_info = { "TestCEReactionsStringifierPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCEReactionsStringifierPrototype) };
101
const ClassInfo JSTestCEReactionsStringifierPrototype::s_info = { "TestCEReactionsStringifierPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCEReactionsStringifierPrototype) };
102
102
103
void JSTestCEReactionsStringifierPrototype::finishCreation(VM& vm)
103
void JSTestCEReactionsStringifierPrototype::finishCreation(VM& vm)
104
{
104
{
Lines 106-112 void JSTestCEReactionsStringifierPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp_sec3
106
    reifyStaticProperties(vm, JSTestCEReactionsStringifierPrototypeTableValues, *this);
106
    reifyStaticProperties(vm, JSTestCEReactionsStringifierPrototypeTableValues, *this);
107
}
107
}
108
108
109
const ClassInfo JSTestCEReactionsStringifier::s_info = { "TestCEReactionsStringifier", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCEReactionsStringifier) };
109
const ClassInfo JSTestCEReactionsStringifier::s_info = { "TestCEReactionsStringifier", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCEReactionsStringifier) };
110
110
111
JSTestCEReactionsStringifier::JSTestCEReactionsStringifier(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestCEReactionsStringifier>&& impl)
111
JSTestCEReactionsStringifier::JSTestCEReactionsStringifier(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestCEReactionsStringifier>&& impl)
112
    : JSDOMWrapper<TestCEReactionsStringifier>(structure, globalObject, WTFMove(impl))
112
    : JSDOMWrapper<TestCEReactionsStringifier>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp -1 / +1 lines
Lines 86-92 template<> void JSTestCallbackInterfaceConstructor::initializeProperties(VM& vm, a/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp_sec1
86
    reifyStaticProperties(vm, JSTestCallbackInterfaceConstructorTableValues, *this);
86
    reifyStaticProperties(vm, JSTestCallbackInterfaceConstructorTableValues, *this);
87
}
87
}
88
88
89
template<> const ClassInfo JSTestCallbackInterfaceConstructor::s_info = { "TestCallbackInterface", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCallbackInterfaceConstructor) };
89
template<> const ClassInfo JSTestCallbackInterfaceConstructor::s_info = { "TestCallbackInterface", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCallbackInterfaceConstructor) };
90
90
91
JSValue JSTestCallbackInterface::getConstructor(VM& vm, const JSGlobalObject* globalObject)
91
JSValue JSTestCallbackInterface::getConstructor(VM& vm, const JSGlobalObject* globalObject)
92
{
92
{
- a/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp -3 / +3 lines
Lines 84-90 template<> FunctionExecutable* JSTestClassWithJSBuiltinConstructorConstructor::i a/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp_sec1
84
    return testClassWithJSBuiltinConstructorInitializeTestClassWithJSBuiltinConstructorCodeGenerator(vm);
84
    return testClassWithJSBuiltinConstructorInitializeTestClassWithJSBuiltinConstructorCodeGenerator(vm);
85
}
85
}
86
86
87
template<> const ClassInfo JSTestClassWithJSBuiltinConstructorConstructor::s_info = { "TestClassWithJSBuiltinConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestClassWithJSBuiltinConstructorConstructor) };
87
template<> const ClassInfo JSTestClassWithJSBuiltinConstructorConstructor::s_info = { "TestClassWithJSBuiltinConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestClassWithJSBuiltinConstructorConstructor) };
88
88
89
/* Hash table for prototype */
89
/* Hash table for prototype */
90
90
Lines 93-99 static const HashTableValue JSTestClassWithJSBuiltinConstructorPrototypeTableVal a/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp_sec2
93
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestClassWithJSBuiltinConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestClassWithJSBuiltinConstructorConstructor) } },
93
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestClassWithJSBuiltinConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestClassWithJSBuiltinConstructorConstructor) } },
94
};
94
};
95
95
96
const ClassInfo JSTestClassWithJSBuiltinConstructorPrototype::s_info = { "TestClassWithJSBuiltinConstructorPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestClassWithJSBuiltinConstructorPrototype) };
96
const ClassInfo JSTestClassWithJSBuiltinConstructorPrototype::s_info = { "TestClassWithJSBuiltinConstructorPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestClassWithJSBuiltinConstructorPrototype) };
97
97
98
void JSTestClassWithJSBuiltinConstructorPrototype::finishCreation(VM& vm)
98
void JSTestClassWithJSBuiltinConstructorPrototype::finishCreation(VM& vm)
99
{
99
{
Lines 101-107 void JSTestClassWithJSBuiltinConstructorPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp_sec3
101
    reifyStaticProperties(vm, JSTestClassWithJSBuiltinConstructorPrototypeTableValues, *this);
101
    reifyStaticProperties(vm, JSTestClassWithJSBuiltinConstructorPrototypeTableValues, *this);
102
}
102
}
103
103
104
const ClassInfo JSTestClassWithJSBuiltinConstructor::s_info = { "TestClassWithJSBuiltinConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestClassWithJSBuiltinConstructor) };
104
const ClassInfo JSTestClassWithJSBuiltinConstructor::s_info = { "TestClassWithJSBuiltinConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestClassWithJSBuiltinConstructor) };
105
105
106
JSTestClassWithJSBuiltinConstructor::JSTestClassWithJSBuiltinConstructor(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestClassWithJSBuiltinConstructor>&& impl)
106
JSTestClassWithJSBuiltinConstructor::JSTestClassWithJSBuiltinConstructor(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestClassWithJSBuiltinConstructor>&& impl)
107
    : JSDOMWrapper<TestClassWithJSBuiltinConstructor>(structure, globalObject, WTFMove(impl))
107
    : JSDOMWrapper<TestClassWithJSBuiltinConstructor>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp -3 / +3 lines
Lines 84-90 template<> void JSTestCustomConstructorWithNoInterfaceObjectConstructor::initial a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp_sec1
84
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
84
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
85
}
85
}
86
86
87
template<> const ClassInfo JSTestCustomConstructorWithNoInterfaceObjectConstructor::s_info = { "TestCustomConstructorWithNoInterfaceObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCustomConstructorWithNoInterfaceObjectConstructor) };
87
template<> const ClassInfo JSTestCustomConstructorWithNoInterfaceObjectConstructor::s_info = { "TestCustomConstructorWithNoInterfaceObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCustomConstructorWithNoInterfaceObjectConstructor) };
88
88
89
/* Hash table for prototype */
89
/* Hash table for prototype */
90
90
Lines 93-99 static const HashTableValue JSTestCustomConstructorWithNoInterfaceObjectPrototyp a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp_sec2
93
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCustomConstructorWithNoInterfaceObjectConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestCustomConstructorWithNoInterfaceObjectConstructor) } },
93
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCustomConstructorWithNoInterfaceObjectConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestCustomConstructorWithNoInterfaceObjectConstructor) } },
94
};
94
};
95
95
96
const ClassInfo JSTestCustomConstructorWithNoInterfaceObjectPrototype::s_info = { "TestCustomConstructorWithNoInterfaceObjectPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCustomConstructorWithNoInterfaceObjectPrototype) };
96
const ClassInfo JSTestCustomConstructorWithNoInterfaceObjectPrototype::s_info = { "TestCustomConstructorWithNoInterfaceObjectPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCustomConstructorWithNoInterfaceObjectPrototype) };
97
97
98
void JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation(VM& vm)
98
void JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation(VM& vm)
99
{
99
{
Lines 101-107 void JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation(VM& v a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp_sec3
101
    reifyStaticProperties(vm, JSTestCustomConstructorWithNoInterfaceObjectPrototypeTableValues, *this);
101
    reifyStaticProperties(vm, JSTestCustomConstructorWithNoInterfaceObjectPrototypeTableValues, *this);
102
}
102
}
103
103
104
const ClassInfo JSTestCustomConstructorWithNoInterfaceObject::s_info = { "TestCustomConstructorWithNoInterfaceObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCustomConstructorWithNoInterfaceObject) };
104
const ClassInfo JSTestCustomConstructorWithNoInterfaceObject::s_info = { "TestCustomConstructorWithNoInterfaceObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCustomConstructorWithNoInterfaceObject) };
105
105
106
JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestCustomConstructorWithNoInterfaceObject>&& impl)
106
JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestCustomConstructorWithNoInterfaceObject>&& impl)
107
    : JSDOMWrapper<TestCustomConstructorWithNoInterfaceObject>(structure, globalObject, WTFMove(impl))
107
    : JSDOMWrapper<TestCustomConstructorWithNoInterfaceObject>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp -3 / +3 lines
Lines 84-90 template<> void JSTestCustomNamedGetterConstructor::initializeProperties(VM& vm, a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp_sec1
84
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
84
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
85
}
85
}
86
86
87
template<> const ClassInfo JSTestCustomNamedGetterConstructor::s_info = { "TestCustomNamedGetter", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterConstructor) };
87
template<> const ClassInfo JSTestCustomNamedGetterConstructor::s_info = { "TestCustomNamedGetter", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCustomNamedGetterConstructor) };
88
88
89
/* Hash table for prototype */
89
/* Hash table for prototype */
90
90
Lines 94-100 static const HashTableValue JSTestCustomNamedGetterPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp_sec2
94
    { "anotherFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestCustomNamedGetterPrototypeFunctionAnotherFunction), (intptr_t) (1) } },
94
    { "anotherFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestCustomNamedGetterPrototypeFunctionAnotherFunction), (intptr_t) (1) } },
95
};
95
};
96
96
97
const ClassInfo JSTestCustomNamedGetterPrototype::s_info = { "TestCustomNamedGetterPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterPrototype) };
97
const ClassInfo JSTestCustomNamedGetterPrototype::s_info = { "TestCustomNamedGetterPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCustomNamedGetterPrototype) };
98
98
99
void JSTestCustomNamedGetterPrototype::finishCreation(VM& vm)
99
void JSTestCustomNamedGetterPrototype::finishCreation(VM& vm)
100
{
100
{
Lines 102-108 void JSTestCustomNamedGetterPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp_sec3
102
    reifyStaticProperties(vm, JSTestCustomNamedGetterPrototypeTableValues, *this);
102
    reifyStaticProperties(vm, JSTestCustomNamedGetterPrototypeTableValues, *this);
103
}
103
}
104
104
105
const ClassInfo JSTestCustomNamedGetter::s_info = { "TestCustomNamedGetter", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetter) };
105
const ClassInfo JSTestCustomNamedGetter::s_info = { "TestCustomNamedGetter", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestCustomNamedGetter) };
106
106
107
JSTestCustomNamedGetter::JSTestCustomNamedGetter(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestCustomNamedGetter>&& impl)
107
JSTestCustomNamedGetter::JSTestCustomNamedGetter(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestCustomNamedGetter>&& impl)
108
    : JSDOMWrapper<TestCustomNamedGetter>(structure, globalObject, WTFMove(impl))
108
    : JSDOMWrapper<TestCustomNamedGetter>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp -33 / +12 lines
Lines 22-28 a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp_sec1
22
#include "JSTestDOMJIT.h"
22
#include "JSTestDOMJIT.h"
23
23
24
#include "DOMJITAbstractHeapRepository.h"
24
#include "DOMJITAbstractHeapRepository.h"
25
#include "DOMJITCheckDOM.h"
26
#include "DOMJITIDLConvert.h"
25
#include "DOMJITIDLConvert.h"
27
#include "DOMJITIDLType.h"
26
#include "DOMJITIDLType.h"
28
#include "DOMJITIDLTypeFilter.h"
27
#include "DOMJITIDLTypeFilter.h"
Lines 96-130 JSC::EncodedJSValue jsTestDOMJITNodeNullableAttr(JSC::ExecState*, JSC::EncodedJS a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp_sec2
96
JSC::EncodedJSValue jsTestDOMJITConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
95
JSC::EncodedJSValue jsTestDOMJITConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
97
bool setJSTestDOMJITConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
96
bool setJSTestDOMJITConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
98
97
99
#if ENABLE(JIT)
98
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetAttribute, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLDOMString>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
100
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetAttribute, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLDOMString>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
99
101
#else
100
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITItem((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionItem, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLDOMString>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value);
102
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetAttribute, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLDOMString>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
101
103
#endif
102
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionHasAttribute, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
104
103
105
#if ENABLE(JIT)
104
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementById((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementById, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<Element>>::value, DOMJIT::IDLArgumentTypeFilter<IDLRequiresExistingAtomicStringAdaptor<IDLDOMString>>::value);
106
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITItem((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionItem, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLDOMString>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value);
105
107
#else
106
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementsByName((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementsByName, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<NodeList>>::value, DOMJIT::IDLArgumentTypeFilter<IDLAtomicStringAdaptor<IDLDOMString>>::value);
108
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITItem((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionItem, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLDOMString>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value);
109
#endif
110
111
#if ENABLE(JIT)
112
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionHasAttribute, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
113
#else
114
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionHasAttribute, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
115
#endif
116
117
#if ENABLE(JIT)
118
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementById((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementById, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<Element>>::value, DOMJIT::IDLArgumentTypeFilter<IDLRequiresExistingAtomicStringAdaptor<IDLDOMString>>::value);
119
#else
120
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementById((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementById, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<Element>>::value, DOMJIT::IDLArgumentTypeFilter<IDLRequiresExistingAtomicStringAdaptor<IDLDOMString>>::value);
121
#endif
122
123
#if ENABLE(JIT)
124
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementsByName((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementsByName, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<NodeList>>::value, DOMJIT::IDLArgumentTypeFilter<IDLAtomicStringAdaptor<IDLDOMString>>::value);
125
#else
126
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementsByName((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementsByName, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<NodeList>>::value, DOMJIT::IDLArgumentTypeFilter<IDLAtomicStringAdaptor<IDLDOMString>>::value);
127
#endif
128
107
129
class JSTestDOMJITPrototype : public JSC::JSNonFinalObject {
108
class JSTestDOMJITPrototype : public JSC::JSNonFinalObject {
130
public:
109
public:
Lines 165-171 template<> void JSTestDOMJITConstructor::initializeProperties(VM& vm, JSDOMGloba a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp_sec3
165
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
144
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
166
}
145
}
167
146
168
template<> const ClassInfo JSTestDOMJITConstructor::s_info = { "TestDOMJIT", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestDOMJITConstructor) };
147
template<> const ClassInfo JSTestDOMJITConstructor::s_info = { "TestDOMJIT", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestDOMJITConstructor) };
169
148
170
/* Hash table for prototype */
149
/* Hash table for prototype */
171
150
Lines 214-220 static const HashTableValue JSTestDOMJITPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp_sec4
214
    { "getElementsByName", JSC::Function | DOMJITFunction, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestDOMJITPrototypeFunctionGetElementsByName), (intptr_t) static_cast<const JSC::DOMJIT::Signature*>(&DOMJITSignatureForTestDOMJITGetElementsByName) } },
193
    { "getElementsByName", JSC::Function | DOMJITFunction, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestDOMJITPrototypeFunctionGetElementsByName), (intptr_t) static_cast<const JSC::DOMJIT::Signature*>(&DOMJITSignatureForTestDOMJITGetElementsByName) } },
215
};
194
};
216
195
217
const ClassInfo JSTestDOMJITPrototype::s_info = { "TestDOMJITPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestDOMJITPrototype) };
196
const ClassInfo JSTestDOMJITPrototype::s_info = { "TestDOMJITPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestDOMJITPrototype) };
218
197
219
void JSTestDOMJITPrototype::finishCreation(VM& vm)
198
void JSTestDOMJITPrototype::finishCreation(VM& vm)
220
{
199
{
Lines 222-228 void JSTestDOMJITPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp_sec5
222
    reifyStaticProperties(vm, JSTestDOMJITPrototypeTableValues, *this);
201
    reifyStaticProperties(vm, JSTestDOMJITPrototypeTableValues, *this);
223
}
202
}
224
203
225
const ClassInfo JSTestDOMJIT::s_info = { "TestDOMJIT", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestDOMJIT) };
204
const ClassInfo JSTestDOMJIT::s_info = { "TestDOMJIT", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestDOMJIT) };
226
205
227
JSTestDOMJIT::JSTestDOMJIT(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestDOMJIT>&& impl)
206
JSTestDOMJIT::JSTestDOMJIT(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestDOMJIT>&& impl)
228
    : JSNode(structure, globalObject, WTFMove(impl))
207
    : JSNode(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h -35 lines
Lines 68-74 class TestDOMJITAnyAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec1
68
public:
68
public:
69
    TestDOMJITAnyAttrDOMJIT();
69
    TestDOMJITAnyAttrDOMJIT();
70
#if ENABLE(JIT)
70
#if ENABLE(JIT)
71
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
72
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
71
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
73
#endif
72
#endif
74
};
73
};
Lines 78-84 class TestDOMJITBooleanAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec2
78
public:
77
public:
79
    TestDOMJITBooleanAttrDOMJIT();
78
    TestDOMJITBooleanAttrDOMJIT();
80
#if ENABLE(JIT)
79
#if ENABLE(JIT)
81
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
82
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
80
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
83
#endif
81
#endif
84
};
82
};
Lines 88-94 class TestDOMJITByteAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec3
88
public:
86
public:
89
    TestDOMJITByteAttrDOMJIT();
87
    TestDOMJITByteAttrDOMJIT();
90
#if ENABLE(JIT)
88
#if ENABLE(JIT)
91
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
92
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
89
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
93
#endif
90
#endif
94
};
91
};
Lines 98-104 class TestDOMJITOctetAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec4
98
public:
95
public:
99
    TestDOMJITOctetAttrDOMJIT();
96
    TestDOMJITOctetAttrDOMJIT();
100
#if ENABLE(JIT)
97
#if ENABLE(JIT)
101
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
102
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
98
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
103
#endif
99
#endif
104
};
100
};
Lines 108-114 class TestDOMJITShortAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec5
108
public:
104
public:
109
    TestDOMJITShortAttrDOMJIT();
105
    TestDOMJITShortAttrDOMJIT();
110
#if ENABLE(JIT)
106
#if ENABLE(JIT)
111
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
112
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
107
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
113
#endif
108
#endif
114
};
109
};
Lines 118-124 class TestDOMJITUnsignedShortAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec6
118
public:
113
public:
119
    TestDOMJITUnsignedShortAttrDOMJIT();
114
    TestDOMJITUnsignedShortAttrDOMJIT();
120
#if ENABLE(JIT)
115
#if ENABLE(JIT)
121
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
122
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
116
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
123
#endif
117
#endif
124
};
118
};
Lines 128-134 class TestDOMJITLongAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec7
128
public:
122
public:
129
    TestDOMJITLongAttrDOMJIT();
123
    TestDOMJITLongAttrDOMJIT();
130
#if ENABLE(JIT)
124
#if ENABLE(JIT)
131
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
132
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
125
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
133
#endif
126
#endif
134
};
127
};
Lines 138-144 class TestDOMJITUnsignedLongAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec8
138
public:
131
public:
139
    TestDOMJITUnsignedLongAttrDOMJIT();
132
    TestDOMJITUnsignedLongAttrDOMJIT();
140
#if ENABLE(JIT)
133
#if ENABLE(JIT)
141
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
142
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
134
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
143
#endif
135
#endif
144
};
136
};
Lines 148-154 class TestDOMJITLongLongAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec9
148
public:
140
public:
149
    TestDOMJITLongLongAttrDOMJIT();
141
    TestDOMJITLongLongAttrDOMJIT();
150
#if ENABLE(JIT)
142
#if ENABLE(JIT)
151
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
152
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
143
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
153
#endif
144
#endif
154
};
145
};
Lines 158-164 class TestDOMJITUnsignedLongLongAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec10
158
public:
149
public:
159
    TestDOMJITUnsignedLongLongAttrDOMJIT();
150
    TestDOMJITUnsignedLongLongAttrDOMJIT();
160
#if ENABLE(JIT)
151
#if ENABLE(JIT)
161
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
162
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
152
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
163
#endif
153
#endif
164
};
154
};
Lines 168-174 class TestDOMJITFloatAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec11
168
public:
158
public:
169
    TestDOMJITFloatAttrDOMJIT();
159
    TestDOMJITFloatAttrDOMJIT();
170
#if ENABLE(JIT)
160
#if ENABLE(JIT)
171
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
172
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
161
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
173
#endif
162
#endif
174
};
163
};
Lines 178-184 class TestDOMJITUnrestrictedFloatAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec12
178
public:
167
public:
179
    TestDOMJITUnrestrictedFloatAttrDOMJIT();
168
    TestDOMJITUnrestrictedFloatAttrDOMJIT();
180
#if ENABLE(JIT)
169
#if ENABLE(JIT)
181
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
182
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
170
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
183
#endif
171
#endif
184
};
172
};
Lines 188-194 class TestDOMJITDoubleAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec13
188
public:
176
public:
189
    TestDOMJITDoubleAttrDOMJIT();
177
    TestDOMJITDoubleAttrDOMJIT();
190
#if ENABLE(JIT)
178
#if ENABLE(JIT)
191
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
192
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
179
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
193
#endif
180
#endif
194
};
181
};
Lines 198-204 class TestDOMJITUnrestrictedDoubleAttrDOMJIT : public JSC::DOMJIT::GetterSetter a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec14
198
public:
185
public:
199
    TestDOMJITUnrestrictedDoubleAttrDOMJIT();
186
    TestDOMJITUnrestrictedDoubleAttrDOMJIT();
200
#if ENABLE(JIT)
187
#if ENABLE(JIT)
201
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
202
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
188
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
203
#endif
189
#endif
204
};
190
};
Lines 208-214 class TestDOMJITDomStringAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec15
208
public:
194
public:
209
    TestDOMJITDomStringAttrDOMJIT();
195
    TestDOMJITDomStringAttrDOMJIT();
210
#if ENABLE(JIT)
196
#if ENABLE(JIT)
211
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
212
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
197
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
213
#endif
198
#endif
214
};
199
};
Lines 218-224 class TestDOMJITByteStringAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec16
218
public:
203
public:
219
    TestDOMJITByteStringAttrDOMJIT();
204
    TestDOMJITByteStringAttrDOMJIT();
220
#if ENABLE(JIT)
205
#if ENABLE(JIT)
221
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
222
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
206
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
223
#endif
207
#endif
224
};
208
};
Lines 228-234 class TestDOMJITUsvStringAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec17
228
public:
212
public:
229
    TestDOMJITUsvStringAttrDOMJIT();
213
    TestDOMJITUsvStringAttrDOMJIT();
230
#if ENABLE(JIT)
214
#if ENABLE(JIT)
231
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
232
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
215
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
233
#endif
216
#endif
234
};
217
};
Lines 238-244 class TestDOMJITNodeAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec18
238
public:
221
public:
239
    TestDOMJITNodeAttrDOMJIT();
222
    TestDOMJITNodeAttrDOMJIT();
240
#if ENABLE(JIT)
223
#if ENABLE(JIT)
241
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
242
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
224
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
243
#endif
225
#endif
244
};
226
};
Lines 248-254 class TestDOMJITBooleanNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec19
248
public:
230
public:
249
    TestDOMJITBooleanNullableAttrDOMJIT();
231
    TestDOMJITBooleanNullableAttrDOMJIT();
250
#if ENABLE(JIT)
232
#if ENABLE(JIT)
251
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
252
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
233
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
253
#endif
234
#endif
254
};
235
};
Lines 258-264 class TestDOMJITByteNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec20
258
public:
239
public:
259
    TestDOMJITByteNullableAttrDOMJIT();
240
    TestDOMJITByteNullableAttrDOMJIT();
260
#if ENABLE(JIT)
241
#if ENABLE(JIT)
261
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
262
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
242
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
263
#endif
243
#endif
264
};
244
};
Lines 268-274 class TestDOMJITOctetNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec21
268
public:
248
public:
269
    TestDOMJITOctetNullableAttrDOMJIT();
249
    TestDOMJITOctetNullableAttrDOMJIT();
270
#if ENABLE(JIT)
250
#if ENABLE(JIT)
271
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
272
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
251
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
273
#endif
252
#endif
274
};
253
};
Lines 278-284 class TestDOMJITShortNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec22
278
public:
257
public:
279
    TestDOMJITShortNullableAttrDOMJIT();
258
    TestDOMJITShortNullableAttrDOMJIT();
280
#if ENABLE(JIT)
259
#if ENABLE(JIT)
281
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
282
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
260
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
283
#endif
261
#endif
284
};
262
};
Lines 288-294 class TestDOMJITUnsignedShortNullableAttrDOMJIT : public JSC::DOMJIT::GetterSett a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec23
288
public:
266
public:
289
    TestDOMJITUnsignedShortNullableAttrDOMJIT();
267
    TestDOMJITUnsignedShortNullableAttrDOMJIT();
290
#if ENABLE(JIT)
268
#if ENABLE(JIT)
291
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
292
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
269
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
293
#endif
270
#endif
294
};
271
};
Lines 298-304 class TestDOMJITLongNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec24
298
public:
275
public:
299
    TestDOMJITLongNullableAttrDOMJIT();
276
    TestDOMJITLongNullableAttrDOMJIT();
300
#if ENABLE(JIT)
277
#if ENABLE(JIT)
301
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
302
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
278
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
303
#endif
279
#endif
304
};
280
};
Lines 308-314 class TestDOMJITUnsignedLongNullableAttrDOMJIT : public JSC::DOMJIT::GetterSette a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec25
308
public:
284
public:
309
    TestDOMJITUnsignedLongNullableAttrDOMJIT();
285
    TestDOMJITUnsignedLongNullableAttrDOMJIT();
310
#if ENABLE(JIT)
286
#if ENABLE(JIT)
311
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
312
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
287
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
313
#endif
288
#endif
314
};
289
};
Lines 318-324 class TestDOMJITLongLongNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec26
318
public:
293
public:
319
    TestDOMJITLongLongNullableAttrDOMJIT();
294
    TestDOMJITLongLongNullableAttrDOMJIT();
320
#if ENABLE(JIT)
295
#if ENABLE(JIT)
321
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
322
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
296
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
323
#endif
297
#endif
324
};
298
};
Lines 328-334 class TestDOMJITUnsignedLongLongNullableAttrDOMJIT : public JSC::DOMJIT::GetterS a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec27
328
public:
302
public:
329
    TestDOMJITUnsignedLongLongNullableAttrDOMJIT();
303
    TestDOMJITUnsignedLongLongNullableAttrDOMJIT();
330
#if ENABLE(JIT)
304
#if ENABLE(JIT)
331
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
332
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
305
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
333
#endif
306
#endif
334
};
307
};
Lines 338-344 class TestDOMJITFloatNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec28
338
public:
311
public:
339
    TestDOMJITFloatNullableAttrDOMJIT();
312
    TestDOMJITFloatNullableAttrDOMJIT();
340
#if ENABLE(JIT)
313
#if ENABLE(JIT)
341
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
342
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
314
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
343
#endif
315
#endif
344
};
316
};
Lines 348-354 class TestDOMJITUnrestrictedFloatNullableAttrDOMJIT : public JSC::DOMJIT::Getter a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec29
348
public:
320
public:
349
    TestDOMJITUnrestrictedFloatNullableAttrDOMJIT();
321
    TestDOMJITUnrestrictedFloatNullableAttrDOMJIT();
350
#if ENABLE(JIT)
322
#if ENABLE(JIT)
351
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
352
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
323
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
353
#endif
324
#endif
354
};
325
};
Lines 358-364 class TestDOMJITDoubleNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec30
358
public:
329
public:
359
    TestDOMJITDoubleNullableAttrDOMJIT();
330
    TestDOMJITDoubleNullableAttrDOMJIT();
360
#if ENABLE(JIT)
331
#if ENABLE(JIT)
361
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
362
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
332
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
363
#endif
333
#endif
364
};
334
};
Lines 368-374 class TestDOMJITUnrestrictedDoubleNullableAttrDOMJIT : public JSC::DOMJIT::Gette a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec31
368
public:
338
public:
369
    TestDOMJITUnrestrictedDoubleNullableAttrDOMJIT();
339
    TestDOMJITUnrestrictedDoubleNullableAttrDOMJIT();
370
#if ENABLE(JIT)
340
#if ENABLE(JIT)
371
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
372
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
341
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
373
#endif
342
#endif
374
};
343
};
Lines 378-384 class TestDOMJITDomStringNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec32
378
public:
347
public:
379
    TestDOMJITDomStringNullableAttrDOMJIT();
348
    TestDOMJITDomStringNullableAttrDOMJIT();
380
#if ENABLE(JIT)
349
#if ENABLE(JIT)
381
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
382
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
350
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
383
#endif
351
#endif
384
};
352
};
Lines 388-394 class TestDOMJITByteStringNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec33
388
public:
356
public:
389
    TestDOMJITByteStringNullableAttrDOMJIT();
357
    TestDOMJITByteStringNullableAttrDOMJIT();
390
#if ENABLE(JIT)
358
#if ENABLE(JIT)
391
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
392
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
359
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
393
#endif
360
#endif
394
};
361
};
Lines 398-404 class TestDOMJITUsvStringNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec34
398
public:
365
public:
399
    TestDOMJITUsvStringNullableAttrDOMJIT();
366
    TestDOMJITUsvStringNullableAttrDOMJIT();
400
#if ENABLE(JIT)
367
#if ENABLE(JIT)
401
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
402
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
368
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
403
#endif
369
#endif
404
};
370
};
Lines 408-414 class TestDOMJITNodeNullableAttrDOMJIT : public JSC::DOMJIT::GetterSetter { a/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h_sec35
408
public:
374
public:
409
    TestDOMJITNodeNullableAttrDOMJIT();
375
    TestDOMJITNodeNullableAttrDOMJIT();
410
#if ENABLE(JIT)
376
#if ENABLE(JIT)
411
    Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
412
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
377
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
413
#endif
378
#endif
414
};
379
};
- a/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp -3 / +3 lines
Lines 147-153 template<> void JSTestEventConstructorConstructor::initializeProperties(VM& vm, a/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp_sec1
147
    putDirect(vm, vm.propertyNames->length, jsNumber(1), ReadOnly | DontEnum);
147
    putDirect(vm, vm.propertyNames->length, jsNumber(1), ReadOnly | DontEnum);
148
}
148
}
149
149
150
template<> const ClassInfo JSTestEventConstructorConstructor::s_info = { "TestEventConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestEventConstructorConstructor) };
150
template<> const ClassInfo JSTestEventConstructorConstructor::s_info = { "TestEventConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestEventConstructorConstructor) };
151
151
152
/* Hash table for prototype */
152
/* Hash table for prototype */
153
153
Lines 163-169 static const HashTableValue JSTestEventConstructorPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp_sec2
163
#endif
163
#endif
164
};
164
};
165
165
166
const ClassInfo JSTestEventConstructorPrototype::s_info = { "TestEventConstructorPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestEventConstructorPrototype) };
166
const ClassInfo JSTestEventConstructorPrototype::s_info = { "TestEventConstructorPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestEventConstructorPrototype) };
167
167
168
void JSTestEventConstructorPrototype::finishCreation(VM& vm)
168
void JSTestEventConstructorPrototype::finishCreation(VM& vm)
169
{
169
{
Lines 171-177 void JSTestEventConstructorPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp_sec3
171
    reifyStaticProperties(vm, JSTestEventConstructorPrototypeTableValues, *this);
171
    reifyStaticProperties(vm, JSTestEventConstructorPrototypeTableValues, *this);
172
}
172
}
173
173
174
const ClassInfo JSTestEventConstructor::s_info = { "TestEventConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestEventConstructor) };
174
const ClassInfo JSTestEventConstructor::s_info = { "TestEventConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestEventConstructor) };
175
175
176
JSTestEventConstructor::JSTestEventConstructor(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestEventConstructor>&& impl)
176
JSTestEventConstructor::JSTestEventConstructor(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestEventConstructor>&& impl)
177
    : JSEvent(structure, globalObject, WTFMove(impl))
177
    : JSEvent(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp -3 / +3 lines
Lines 84-90 template<> void JSTestEventTargetConstructor::initializeProperties(VM& vm, JSDOM a/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp_sec1
84
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
84
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
85
}
85
}
86
86
87
template<> const ClassInfo JSTestEventTargetConstructor::s_info = { "TestEventTarget", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestEventTargetConstructor) };
87
template<> const ClassInfo JSTestEventTargetConstructor::s_info = { "TestEventTarget", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestEventTargetConstructor) };
88
88
89
/* Hash table for prototype */
89
/* Hash table for prototype */
90
90
Lines 94-100 static const HashTableValue JSTestEventTargetPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp_sec2
94
    { "item", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestEventTargetPrototypeFunctionItem), (intptr_t) (1) } },
94
    { "item", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestEventTargetPrototypeFunctionItem), (intptr_t) (1) } },
95
};
95
};
96
96
97
const ClassInfo JSTestEventTargetPrototype::s_info = { "TestEventTargetPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestEventTargetPrototype) };
97
const ClassInfo JSTestEventTargetPrototype::s_info = { "TestEventTargetPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestEventTargetPrototype) };
98
98
99
void JSTestEventTargetPrototype::finishCreation(VM& vm)
99
void JSTestEventTargetPrototype::finishCreation(VM& vm)
100
{
100
{
Lines 102-108 void JSTestEventTargetPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp_sec3
102
    reifyStaticProperties(vm, JSTestEventTargetPrototypeTableValues, *this);
102
    reifyStaticProperties(vm, JSTestEventTargetPrototypeTableValues, *this);
103
}
103
}
104
104
105
const ClassInfo JSTestEventTarget::s_info = { "TestEventTarget", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestEventTarget) };
105
const ClassInfo JSTestEventTarget::s_info = { "TestEventTarget", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestEventTarget) };
106
106
107
JSTestEventTarget::JSTestEventTarget(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestEventTarget>&& impl)
107
JSTestEventTarget::JSTestEventTarget(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestEventTarget>&& impl)
108
    : JSEventTarget(structure, globalObject, WTFMove(impl))
108
    : JSEventTarget(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp -3 / +3 lines
Lines 94-100 template<> void JSTestExceptionConstructor::initializeProperties(VM& vm, JSDOMGl a/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp_sec1
94
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
94
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
95
}
95
}
96
96
97
template<> const ClassInfo JSTestExceptionConstructor::s_info = { "TestException", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestExceptionConstructor) };
97
template<> const ClassInfo JSTestExceptionConstructor::s_info = { "TestException", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestExceptionConstructor) };
98
98
99
/* Hash table for prototype */
99
/* Hash table for prototype */
100
100
Lines 103-109 static const HashTableValue JSTestExceptionPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp_sec2
103
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestExceptionConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestExceptionConstructor) } },
103
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestExceptionConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestExceptionConstructor) } },
104
};
104
};
105
105
106
const ClassInfo JSTestExceptionPrototype::s_info = { "TestExceptionPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestExceptionPrototype) };
106
const ClassInfo JSTestExceptionPrototype::s_info = { "TestExceptionPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestExceptionPrototype) };
107
107
108
void JSTestExceptionPrototype::finishCreation(VM& vm)
108
void JSTestExceptionPrototype::finishCreation(VM& vm)
109
{
109
{
Lines 111-117 void JSTestExceptionPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp_sec3
111
    reifyStaticProperties(vm, JSTestExceptionPrototypeTableValues, *this);
111
    reifyStaticProperties(vm, JSTestExceptionPrototypeTableValues, *this);
112
}
112
}
113
113
114
const ClassInfo JSTestException::s_info = { "TestException", &Base::s_info, &JSTestExceptionTable, CREATE_METHOD_TABLE(JSTestException) };
114
const ClassInfo JSTestException::s_info = { "TestException", &Base::s_info, &JSTestExceptionTable, nullptr, CREATE_METHOD_TABLE(JSTestException) };
115
115
116
JSTestException::JSTestException(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestException>&& impl)
116
JSTestException::JSTestException(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestException>&& impl)
117
    : JSDOMWrapper<TestException>(structure, globalObject, WTFMove(impl))
117
    : JSDOMWrapper<TestException>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp -3 / +3 lines
Lines 78-84 template<> void JSTestGenerateIsReachableConstructor::initializeProperties(VM& v a/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp_sec1
78
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
78
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
79
}
79
}
80
80
81
template<> const ClassInfo JSTestGenerateIsReachableConstructor::s_info = { "TestGenerateIsReachable", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachableConstructor) };
81
template<> const ClassInfo JSTestGenerateIsReachableConstructor::s_info = { "TestGenerateIsReachable", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestGenerateIsReachableConstructor) };
82
82
83
/* Hash table for prototype */
83
/* Hash table for prototype */
84
84
Lines 87-93 static const HashTableValue JSTestGenerateIsReachablePrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp_sec2
87
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestGenerateIsReachableConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestGenerateIsReachableConstructor) } },
87
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestGenerateIsReachableConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestGenerateIsReachableConstructor) } },
88
};
88
};
89
89
90
const ClassInfo JSTestGenerateIsReachablePrototype::s_info = { "TestGenerateIsReachablePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachablePrototype) };
90
const ClassInfo JSTestGenerateIsReachablePrototype::s_info = { "TestGenerateIsReachablePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestGenerateIsReachablePrototype) };
91
91
92
void JSTestGenerateIsReachablePrototype::finishCreation(VM& vm)
92
void JSTestGenerateIsReachablePrototype::finishCreation(VM& vm)
93
{
93
{
Lines 95-101 void JSTestGenerateIsReachablePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp_sec3
95
    reifyStaticProperties(vm, JSTestGenerateIsReachablePrototypeTableValues, *this);
95
    reifyStaticProperties(vm, JSTestGenerateIsReachablePrototypeTableValues, *this);
96
}
96
}
97
97
98
const ClassInfo JSTestGenerateIsReachable::s_info = { "TestGenerateIsReachable", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachable) };
98
const ClassInfo JSTestGenerateIsReachable::s_info = { "TestGenerateIsReachable", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestGenerateIsReachable) };
99
99
100
JSTestGenerateIsReachable::JSTestGenerateIsReachable(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestGenerateIsReachable>&& impl)
100
JSTestGenerateIsReachable::JSTestGenerateIsReachable(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestGenerateIsReachable>&& impl)
101
    : JSDOMWrapper<TestGenerateIsReachable>(structure, globalObject, WTFMove(impl))
101
    : JSDOMWrapper<TestGenerateIsReachable>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp -3 / +3 lines
Lines 119-125 template<> void JSTestGlobalObjectConstructor::initializeProperties(VM& vm, JSDO a/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp_sec1
119
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
119
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
120
}
120
}
121
121
122
template<> const ClassInfo JSTestGlobalObjectConstructor::s_info = { "TestGlobalObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestGlobalObjectConstructor) };
122
template<> const ClassInfo JSTestGlobalObjectConstructor::s_info = { "TestGlobalObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestGlobalObjectConstructor) };
123
123
124
/* Hash table for prototype */
124
/* Hash table for prototype */
125
125
Lines 135-143 static const HashTableValue JSTestGlobalObjectPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp_sec2
135
};
135
};
136
136
137
static const HashTable JSTestGlobalObjectPrototypeTable = { 1, 1, true, JSTestGlobalObjectPrototypeTableValues, JSTestGlobalObjectPrototypeTableIndex };
137
static const HashTable JSTestGlobalObjectPrototypeTable = { 1, 1, true, JSTestGlobalObjectPrototypeTableValues, JSTestGlobalObjectPrototypeTableIndex };
138
const ClassInfo JSTestGlobalObjectPrototype::s_info = { "TestGlobalObjectPrototype", &Base::s_info, &JSTestGlobalObjectPrototypeTable, CREATE_METHOD_TABLE(JSTestGlobalObjectPrototype) };
138
const ClassInfo JSTestGlobalObjectPrototype::s_info = { "TestGlobalObjectPrototype", &Base::s_info, &JSTestGlobalObjectPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSTestGlobalObjectPrototype) };
139
139
140
const ClassInfo JSTestGlobalObject::s_info = { "TestGlobalObject", &Base::s_info, &JSTestGlobalObjectTable, CREATE_METHOD_TABLE(JSTestGlobalObject) };
140
const ClassInfo JSTestGlobalObject::s_info = { "TestGlobalObject", &Base::s_info, &JSTestGlobalObjectTable, nullptr, CREATE_METHOD_TABLE(JSTestGlobalObject) };
141
141
142
JSTestGlobalObject::JSTestGlobalObject(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestGlobalObject>&& impl)
142
JSTestGlobalObject::JSTestGlobalObject(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestGlobalObject>&& impl)
143
    : JSDOMWrapper<TestGlobalObject>(structure, globalObject, WTFMove(impl))
143
    : JSDOMWrapper<TestGlobalObject>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp -3 / +3 lines
Lines 254-260 template<> void JSTestInterfaceConstructor::initializeProperties(VM& vm, JSDOMGl a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec1
254
    reifyStaticProperties(vm, JSTestInterfaceConstructorTableValues, *this);
254
    reifyStaticProperties(vm, JSTestInterfaceConstructorTableValues, *this);
255
}
255
}
256
256
257
template<> const ClassInfo JSTestInterfaceConstructor::s_info = { "TestInterface", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestInterfaceConstructor) };
257
template<> const ClassInfo JSTestInterfaceConstructor::s_info = { "TestInterface", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestInterfaceConstructor) };
258
258
259
/* Hash table for prototype */
259
/* Hash table for prototype */
260
260
Lines 363-369 static const HashTableValue JSTestInterfacePrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec2
363
#endif
363
#endif
364
};
364
};
365
365
366
const ClassInfo JSTestInterfacePrototype::s_info = { "TestInterfacePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestInterfacePrototype) };
366
const ClassInfo JSTestInterfacePrototype::s_info = { "TestInterfacePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestInterfacePrototype) };
367
367
368
void JSTestInterfacePrototype::finishCreation(VM& vm)
368
void JSTestInterfacePrototype::finishCreation(VM& vm)
369
{
369
{
Lines 371-377 void JSTestInterfacePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec3
371
    reifyStaticProperties(vm, JSTestInterfacePrototypeTableValues, *this);
371
    reifyStaticProperties(vm, JSTestInterfacePrototypeTableValues, *this);
372
}
372
}
373
373
374
const ClassInfo JSTestInterface::s_info = { "TestInterface", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestInterface) };
374
const ClassInfo JSTestInterface::s_info = { "TestInterface", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestInterface) };
375
375
376
JSTestInterface::JSTestInterface(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestInterface>&& impl)
376
JSTestInterface::JSTestInterface(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestInterface>&& impl)
377
    : JSDOMWrapper<TestInterface>(structure, globalObject, WTFMove(impl))
377
    : JSDOMWrapper<TestInterface>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp -3 / +3 lines
Lines 80-86 template<> void JSTestInterfaceLeadingUnderscoreConstructor::initializePropertie a/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp_sec1
80
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
80
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
81
}
81
}
82
82
83
template<> const ClassInfo JSTestInterfaceLeadingUnderscoreConstructor::s_info = { "TestInterfaceLeadingUnderscore", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestInterfaceLeadingUnderscoreConstructor) };
83
template<> const ClassInfo JSTestInterfaceLeadingUnderscoreConstructor::s_info = { "TestInterfaceLeadingUnderscore", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestInterfaceLeadingUnderscoreConstructor) };
84
84
85
/* Hash table for prototype */
85
/* Hash table for prototype */
86
86
Lines 90-96 static const HashTableValue JSTestInterfaceLeadingUnderscorePrototypeTableValues a/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp_sec2
90
    { "readonly", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceLeadingUnderscoreReadonly), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
90
    { "readonly", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceLeadingUnderscoreReadonly), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
91
};
91
};
92
92
93
const ClassInfo JSTestInterfaceLeadingUnderscorePrototype::s_info = { "TestInterfaceLeadingUnderscorePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestInterfaceLeadingUnderscorePrototype) };
93
const ClassInfo JSTestInterfaceLeadingUnderscorePrototype::s_info = { "TestInterfaceLeadingUnderscorePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestInterfaceLeadingUnderscorePrototype) };
94
94
95
void JSTestInterfaceLeadingUnderscorePrototype::finishCreation(VM& vm)
95
void JSTestInterfaceLeadingUnderscorePrototype::finishCreation(VM& vm)
96
{
96
{
Lines 98-104 void JSTestInterfaceLeadingUnderscorePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp_sec3
98
    reifyStaticProperties(vm, JSTestInterfaceLeadingUnderscorePrototypeTableValues, *this);
98
    reifyStaticProperties(vm, JSTestInterfaceLeadingUnderscorePrototypeTableValues, *this);
99
}
99
}
100
100
101
const ClassInfo JSTestInterfaceLeadingUnderscore::s_info = { "TestInterfaceLeadingUnderscore", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestInterfaceLeadingUnderscore) };
101
const ClassInfo JSTestInterfaceLeadingUnderscore::s_info = { "TestInterfaceLeadingUnderscore", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestInterfaceLeadingUnderscore) };
102
102
103
JSTestInterfaceLeadingUnderscore::JSTestInterfaceLeadingUnderscore(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestInterfaceLeadingUnderscore>&& impl)
103
JSTestInterfaceLeadingUnderscore::JSTestInterfaceLeadingUnderscore(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestInterfaceLeadingUnderscore>&& impl)
104
    : JSDOMWrapper<TestInterfaceLeadingUnderscore>(structure, globalObject, WTFMove(impl))
104
    : JSDOMWrapper<TestInterfaceLeadingUnderscore>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp -5 / +5 lines
Lines 87-93 template<> void JSTestIterableConstructor::initializeProperties(VM& vm, JSDOMGlo a/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp_sec1
87
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
87
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
88
}
88
}
89
89
90
template<> const ClassInfo JSTestIterableConstructor::s_info = { "TestIterable", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestIterableConstructor) };
90
template<> const ClassInfo JSTestIterableConstructor::s_info = { "TestIterable", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestIterableConstructor) };
91
91
92
/* Hash table for prototype */
92
/* Hash table for prototype */
93
93
Lines 100-106 static const HashTableValue JSTestIterablePrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp_sec2
100
    { "forEach", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestIterablePrototypeFunctionForEach), (intptr_t) (1) } },
100
    { "forEach", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestIterablePrototypeFunctionForEach), (intptr_t) (1) } },
101
};
101
};
102
102
103
const ClassInfo JSTestIterablePrototype::s_info = { "TestIterablePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestIterablePrototype) };
103
const ClassInfo JSTestIterablePrototype::s_info = { "TestIterablePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestIterablePrototype) };
104
104
105
void JSTestIterablePrototype::finishCreation(VM& vm)
105
void JSTestIterablePrototype::finishCreation(VM& vm)
106
{
106
{
Lines 109-115 void JSTestIterablePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp_sec3
109
    putDirect(vm, vm.propertyNames->iteratorSymbol, JSFunction::create(vm, globalObject(), 0, ASCIILiteral("[Symbol.Iterator]"), jsTestIterablePrototypeFunctionSymbolIterator), DontEnum);
109
    putDirect(vm, vm.propertyNames->iteratorSymbol, JSFunction::create(vm, globalObject(), 0, ASCIILiteral("[Symbol.Iterator]"), jsTestIterablePrototypeFunctionSymbolIterator), DontEnum);
110
}
110
}
111
111
112
const ClassInfo JSTestIterable::s_info = { "TestIterable", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestIterable) };
112
const ClassInfo JSTestIterable::s_info = { "TestIterable", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestIterable) };
113
113
114
JSTestIterable::JSTestIterable(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestIterable>&& impl)
114
JSTestIterable::JSTestIterable(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestIterable>&& impl)
115
    : JSDOMWrapper<TestIterable>(structure, globalObject, WTFMove(impl))
115
    : JSDOMWrapper<TestIterable>(structure, globalObject, WTFMove(impl))
Lines 183-192 using TestIterableIterator = JSDOMIterator<JSTestIterable, TestIterableIteratorT a/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp_sec4
183
using TestIterableIteratorPrototype = JSDOMIteratorPrototype<JSTestIterable, TestIterableIteratorTraits>;
183
using TestIterableIteratorPrototype = JSDOMIteratorPrototype<JSTestIterable, TestIterableIteratorTraits>;
184
184
185
template<>
185
template<>
186
const JSC::ClassInfo TestIterableIterator::s_info = { "TestIterable Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(TestIterableIterator) };
186
const JSC::ClassInfo TestIterableIterator::s_info = { "TestIterable Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(TestIterableIterator) };
187
187
188
template<>
188
template<>
189
const JSC::ClassInfo TestIterableIteratorPrototype::s_info = { "TestIterable Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(TestIterableIteratorPrototype) };
189
const JSC::ClassInfo TestIterableIteratorPrototype::s_info = { "TestIterable Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(TestIterableIteratorPrototype) };
190
190
191
static inline EncodedJSValue jsTestIterablePrototypeFunctionSymbolIteratorCaller(ExecState*, JSTestIterable* thisObject, JSC::ThrowScope&)
191
static inline EncodedJSValue jsTestIterablePrototypeFunctionSymbolIteratorCaller(ExecState*, JSTestIterable* thisObject, JSC::ThrowScope&)
192
{
192
{
- a/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp -3 / +3 lines
Lines 92-98 template<> FunctionExecutable* JSTestJSBuiltinConstructorConstructor::initialize a/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp_sec1
92
    return testJSBuiltinConstructorInitializeTestJSBuiltinConstructorCodeGenerator(vm);
92
    return testJSBuiltinConstructorInitializeTestJSBuiltinConstructorCodeGenerator(vm);
93
}
93
}
94
94
95
template<> const ClassInfo JSTestJSBuiltinConstructorConstructor::s_info = { "TestJSBuiltinConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructorConstructor) };
95
template<> const ClassInfo JSTestJSBuiltinConstructorConstructor::s_info = { "TestJSBuiltinConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructorConstructor) };
96
96
97
/* Hash table for prototype */
97
/* Hash table for prototype */
98
98
Lines 106-112 static const HashTableValue JSTestJSBuiltinConstructorPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp_sec2
106
    { "testCustomFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction), (intptr_t) (0) } },
106
    { "testCustomFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction), (intptr_t) (0) } },
107
};
107
};
108
108
109
const ClassInfo JSTestJSBuiltinConstructorPrototype::s_info = { "TestJSBuiltinConstructorPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructorPrototype) };
109
const ClassInfo JSTestJSBuiltinConstructorPrototype::s_info = { "TestJSBuiltinConstructorPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructorPrototype) };
110
110
111
void JSTestJSBuiltinConstructorPrototype::finishCreation(VM& vm)
111
void JSTestJSBuiltinConstructorPrototype::finishCreation(VM& vm)
112
{
112
{
Lines 114-120 void JSTestJSBuiltinConstructorPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp_sec3
114
    reifyStaticProperties(vm, JSTestJSBuiltinConstructorPrototypeTableValues, *this);
114
    reifyStaticProperties(vm, JSTestJSBuiltinConstructorPrototypeTableValues, *this);
115
}
115
}
116
116
117
const ClassInfo JSTestJSBuiltinConstructor::s_info = { "TestJSBuiltinConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructor) };
117
const ClassInfo JSTestJSBuiltinConstructor::s_info = { "TestJSBuiltinConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructor) };
118
118
119
JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor(Structure* structure, JSDOMGlobalObject& globalObject)
119
JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor(Structure* structure, JSDOMGlobalObject& globalObject)
120
    : JSDOMObject(structure, globalObject) { }
120
    : JSDOMObject(structure, globalObject) { }
- a/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp -3 / +3 lines
Lines 85-91 template<> void JSTestMediaQueryListListenerConstructor::initializeProperties(VM a/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp_sec1
85
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
85
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
86
}
86
}
87
87
88
template<> const ClassInfo JSTestMediaQueryListListenerConstructor::s_info = { "TestMediaQueryListListener", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerConstructor) };
88
template<> const ClassInfo JSTestMediaQueryListListenerConstructor::s_info = { "TestMediaQueryListListener", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerConstructor) };
89
89
90
/* Hash table for prototype */
90
/* Hash table for prototype */
91
91
Lines 95-101 static const HashTableValue JSTestMediaQueryListListenerPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp_sec2
95
    { "method", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestMediaQueryListListenerPrototypeFunctionMethod), (intptr_t) (1) } },
95
    { "method", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestMediaQueryListListenerPrototypeFunctionMethod), (intptr_t) (1) } },
96
};
96
};
97
97
98
const ClassInfo JSTestMediaQueryListListenerPrototype::s_info = { "TestMediaQueryListListenerPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerPrototype) };
98
const ClassInfo JSTestMediaQueryListListenerPrototype::s_info = { "TestMediaQueryListListenerPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerPrototype) };
99
99
100
void JSTestMediaQueryListListenerPrototype::finishCreation(VM& vm)
100
void JSTestMediaQueryListListenerPrototype::finishCreation(VM& vm)
101
{
101
{
Lines 103-109 void JSTestMediaQueryListListenerPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp_sec3
103
    reifyStaticProperties(vm, JSTestMediaQueryListListenerPrototypeTableValues, *this);
103
    reifyStaticProperties(vm, JSTestMediaQueryListListenerPrototypeTableValues, *this);
104
}
104
}
105
105
106
const ClassInfo JSTestMediaQueryListListener::s_info = { "TestMediaQueryListListener", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListener) };
106
const ClassInfo JSTestMediaQueryListListener::s_info = { "TestMediaQueryListListener", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestMediaQueryListListener) };
107
107
108
JSTestMediaQueryListListener::JSTestMediaQueryListListener(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestMediaQueryListListener>&& impl)
108
JSTestMediaQueryListListener::JSTestMediaQueryListListener(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestMediaQueryListListener>&& impl)
109
    : JSDOMWrapper<TestMediaQueryListListener>(structure, globalObject, WTFMove(impl))
109
    : JSDOMWrapper<TestMediaQueryListListener>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp -4 / +4 lines
Lines 82-88 template<> void JSTestNamedConstructorConstructor::initializeProperties(VM& vm, a/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp_sec1
82
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
82
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
83
}
83
}
84
84
85
template<> const ClassInfo JSTestNamedConstructorConstructor::s_info = { "TestNamedConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorConstructor) };
85
template<> const ClassInfo JSTestNamedConstructorConstructor::s_info = { "TestNamedConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestNamedConstructorConstructor) };
86
86
87
template<> EncodedJSValue JSC_HOST_CALL JSTestNamedConstructorNamedConstructor::construct(ExecState* state)
87
template<> EncodedJSValue JSC_HOST_CALL JSTestNamedConstructorNamedConstructor::construct(ExecState* state)
88
{
88
{
Lines 116-122 template<> void JSTestNamedConstructorNamedConstructor::initializeProperties(VM& a/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp_sec2
116
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
116
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
117
}
117
}
118
118
119
template<> const ClassInfo JSTestNamedConstructorNamedConstructor::s_info = { "Audio", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorNamedConstructor) };
119
template<> const ClassInfo JSTestNamedConstructorNamedConstructor::s_info = { "Audio", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestNamedConstructorNamedConstructor) };
120
120
121
/* Hash table for prototype */
121
/* Hash table for prototype */
122
122
Lines 125-131 static const HashTableValue JSTestNamedConstructorPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp_sec3
125
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNamedConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestNamedConstructorConstructor) } },
125
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNamedConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestNamedConstructorConstructor) } },
126
};
126
};
127
127
128
const ClassInfo JSTestNamedConstructorPrototype::s_info = { "TestNamedConstructorPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorPrototype) };
128
const ClassInfo JSTestNamedConstructorPrototype::s_info = { "TestNamedConstructorPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestNamedConstructorPrototype) };
129
129
130
void JSTestNamedConstructorPrototype::finishCreation(VM& vm)
130
void JSTestNamedConstructorPrototype::finishCreation(VM& vm)
131
{
131
{
Lines 133-139 void JSTestNamedConstructorPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp_sec4
133
    reifyStaticProperties(vm, JSTestNamedConstructorPrototypeTableValues, *this);
133
    reifyStaticProperties(vm, JSTestNamedConstructorPrototypeTableValues, *this);
134
}
134
}
135
135
136
const ClassInfo JSTestNamedConstructor::s_info = { "TestNamedConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestNamedConstructor) };
136
const ClassInfo JSTestNamedConstructor::s_info = { "TestNamedConstructor", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestNamedConstructor) };
137
137
138
JSTestNamedConstructor::JSTestNamedConstructor(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestNamedConstructor>&& impl)
138
JSTestNamedConstructor::JSTestNamedConstructor(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestNamedConstructor>&& impl)
139
    : JSDOMWrapper<TestNamedConstructor>(structure, globalObject, WTFMove(impl))
139
    : JSDOMWrapper<TestNamedConstructor>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp -5 / +5 lines
Lines 105-111 template<> void JSTestNodeConstructor::initializeProperties(VM& vm, JSDOMGlobalO a/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp_sec1
105
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
105
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
106
}
106
}
107
107
108
template<> const ClassInfo JSTestNodeConstructor::s_info = { "TestNode", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestNodeConstructor) };
108
template<> const ClassInfo JSTestNodeConstructor::s_info = { "TestNode", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestNodeConstructor) };
109
109
110
/* Hash table for prototype */
110
/* Hash table for prototype */
111
111
Lines 121-127 static const HashTableValue JSTestNodePrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp_sec2
121
    { "toJSON", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestNodePrototypeFunctionToJSON), (intptr_t) (0) } },
121
    { "toJSON", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestNodePrototypeFunctionToJSON), (intptr_t) (0) } },
122
};
122
};
123
123
124
const ClassInfo JSTestNodePrototype::s_info = { "TestNodePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestNodePrototype) };
124
const ClassInfo JSTestNodePrototype::s_info = { "TestNodePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestNodePrototype) };
125
125
126
void JSTestNodePrototype::finishCreation(VM& vm)
126
void JSTestNodePrototype::finishCreation(VM& vm)
127
{
127
{
Lines 150-156 void JSTestNodePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp_sec3
150
    putDirect(vm, vm.propertyNames->iteratorSymbol, JSFunction::create(vm, globalObject(), 0, ASCIILiteral("[Symbol.Iterator]"), jsTestNodePrototypeFunctionSymbolIterator), DontEnum);
150
    putDirect(vm, vm.propertyNames->iteratorSymbol, JSFunction::create(vm, globalObject(), 0, ASCIILiteral("[Symbol.Iterator]"), jsTestNodePrototypeFunctionSymbolIterator), DontEnum);
151
}
151
}
152
152
153
const ClassInfo JSTestNode::s_info = { "TestNode", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestNode) };
153
const ClassInfo JSTestNode::s_info = { "TestNode", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestNode) };
154
154
155
JSTestNode::JSTestNode(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestNode>&& impl)
155
JSTestNode::JSTestNode(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestNode>&& impl)
156
    : JSNode(structure, globalObject, WTFMove(impl))
156
    : JSNode(structure, globalObject, WTFMove(impl))
Lines 282-291 using TestNodeIterator = JSDOMIterator<JSTestNode, TestNodeIteratorTraits>; a/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp_sec4
282
using TestNodeIteratorPrototype = JSDOMIteratorPrototype<JSTestNode, TestNodeIteratorTraits>;
282
using TestNodeIteratorPrototype = JSDOMIteratorPrototype<JSTestNode, TestNodeIteratorTraits>;
283
283
284
template<>
284
template<>
285
const JSC::ClassInfo TestNodeIterator::s_info = { "TestNode Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(TestNodeIterator) };
285
const JSC::ClassInfo TestNodeIterator::s_info = { "TestNode Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(TestNodeIterator) };
286
286
287
template<>
287
template<>
288
const JSC::ClassInfo TestNodeIteratorPrototype::s_info = { "TestNode Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(TestNodeIteratorPrototype) };
288
const JSC::ClassInfo TestNodeIteratorPrototype::s_info = { "TestNode Iterator", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(TestNodeIteratorPrototype) };
289
289
290
static inline EncodedJSValue jsTestNodePrototypeFunctionSymbolIteratorCaller(ExecState*, JSTestNode* thisObject, JSC::ThrowScope&)
290
static inline EncodedJSValue jsTestNodePrototypeFunctionSymbolIteratorCaller(ExecState*, JSTestNode* thisObject, JSC::ThrowScope&)
291
{
291
{
- a/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp -3 / +3 lines
Lines 1632-1638 template<> void JSTestObjConstructor::initializeProperties(VM& vm, JSDOMGlobalOb a/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp_sec1
1632
    reifyStaticProperties(vm, JSTestObjConstructorTableValues, *this);
1632
    reifyStaticProperties(vm, JSTestObjConstructorTableValues, *this);
1633
}
1633
}
1634
1634
1635
template<> const ClassInfo JSTestObjConstructor::s_info = { "TestObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestObjConstructor) };
1635
template<> const ClassInfo JSTestObjConstructor::s_info = { "TestObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestObjConstructor) };
1636
1636
1637
/* Hash table for prototype */
1637
/* Hash table for prototype */
1638
1638
Lines 1947-1953 static const HashTableValue JSTestObjPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp_sec2
1947
    { "readonly", DontDelete | ReadOnly | ConstantInteger, NoIntrinsic, { (long long)(0) } },
1947
    { "readonly", DontDelete | ReadOnly | ConstantInteger, NoIntrinsic, { (long long)(0) } },
1948
};
1948
};
1949
1949
1950
const ClassInfo JSTestObjPrototype::s_info = { "TestObjectPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestObjPrototype) };
1950
const ClassInfo JSTestObjPrototype::s_info = { "TestObjectPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestObjPrototype) };
1951
1951
1952
void JSTestObjPrototype::finishCreation(VM& vm, JSDOMGlobalObject& globalObject)
1952
void JSTestObjPrototype::finishCreation(VM& vm, JSDOMGlobalObject& globalObject)
1953
{
1953
{
Lines 1998-2004 void JSTestObjPrototype::finishCreation(VM& vm, JSDOMGlobalObject& globalObject) a/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp_sec3
1998
    putDirectWithoutTransition(vm, vm.propertyNames->unscopablesSymbol, &unscopables, DontEnum | ReadOnly);
1998
    putDirectWithoutTransition(vm, vm.propertyNames->unscopablesSymbol, &unscopables, DontEnum | ReadOnly);
1999
}
1999
}
2000
2000
2001
const ClassInfo JSTestObj::s_info = { "TestObject", &Base::s_info, &JSTestObjTable, CREATE_METHOD_TABLE(JSTestObj) };
2001
const ClassInfo JSTestObj::s_info = { "TestObject", &Base::s_info, &JSTestObjTable, nullptr, CREATE_METHOD_TABLE(JSTestObj) };
2002
2002
2003
JSTestObj::JSTestObj(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestObj>&& impl)
2003
JSTestObj::JSTestObj(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestObj>&& impl)
2004
    : JSDOMWrapper<TestObj>(structure, globalObject, WTFMove(impl))
2004
    : JSDOMWrapper<TestObj>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp -3 / +3 lines
Lines 179-185 template<> void JSTestOverloadedConstructorsConstructor::initializeProperties(VM a/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp_sec1
179
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
179
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
180
}
180
}
181
181
182
template<> const ClassInfo JSTestOverloadedConstructorsConstructor::s_info = { "TestOverloadedConstructors", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsConstructor) };
182
template<> const ClassInfo JSTestOverloadedConstructorsConstructor::s_info = { "TestOverloadedConstructors", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsConstructor) };
183
183
184
/* Hash table for prototype */
184
/* Hash table for prototype */
185
185
Lines 188-194 static const HashTableValue JSTestOverloadedConstructorsPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp_sec2
188
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestOverloadedConstructorsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestOverloadedConstructorsConstructor) } },
188
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestOverloadedConstructorsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestOverloadedConstructorsConstructor) } },
189
};
189
};
190
190
191
const ClassInfo JSTestOverloadedConstructorsPrototype::s_info = { "TestOverloadedConstructorsPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsPrototype) };
191
const ClassInfo JSTestOverloadedConstructorsPrototype::s_info = { "TestOverloadedConstructorsPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsPrototype) };
192
192
193
void JSTestOverloadedConstructorsPrototype::finishCreation(VM& vm)
193
void JSTestOverloadedConstructorsPrototype::finishCreation(VM& vm)
194
{
194
{
Lines 196-202 void JSTestOverloadedConstructorsPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp_sec3
196
    reifyStaticProperties(vm, JSTestOverloadedConstructorsPrototypeTableValues, *this);
196
    reifyStaticProperties(vm, JSTestOverloadedConstructorsPrototypeTableValues, *this);
197
}
197
}
198
198
199
const ClassInfo JSTestOverloadedConstructors::s_info = { "TestOverloadedConstructors", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructors) };
199
const ClassInfo JSTestOverloadedConstructors::s_info = { "TestOverloadedConstructors", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverloadedConstructors) };
200
200
201
JSTestOverloadedConstructors::JSTestOverloadedConstructors(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestOverloadedConstructors>&& impl)
201
JSTestOverloadedConstructors::JSTestOverloadedConstructors(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestOverloadedConstructors>&& impl)
202
    : JSDOMWrapper<TestOverloadedConstructors>(structure, globalObject, WTFMove(impl))
202
    : JSDOMWrapper<TestOverloadedConstructors>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp -3 / +3 lines
Lines 130-136 template<> void JSTestOverloadedConstructorsWithSequenceConstructor::initializeP a/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp_sec1
130
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
130
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
131
}
131
}
132
132
133
template<> const ClassInfo JSTestOverloadedConstructorsWithSequenceConstructor::s_info = { "TestOverloadedConstructorsWithSequence", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsWithSequenceConstructor) };
133
template<> const ClassInfo JSTestOverloadedConstructorsWithSequenceConstructor::s_info = { "TestOverloadedConstructorsWithSequence", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsWithSequenceConstructor) };
134
134
135
/* Hash table for prototype */
135
/* Hash table for prototype */
136
136
Lines 139-145 static const HashTableValue JSTestOverloadedConstructorsWithSequencePrototypeTab a/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp_sec2
139
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestOverloadedConstructorsWithSequenceConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestOverloadedConstructorsWithSequenceConstructor) } },
139
    { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestOverloadedConstructorsWithSequenceConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestOverloadedConstructorsWithSequenceConstructor) } },
140
};
140
};
141
141
142
const ClassInfo JSTestOverloadedConstructorsWithSequencePrototype::s_info = { "TestOverloadedConstructorsWithSequencePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsWithSequencePrototype) };
142
const ClassInfo JSTestOverloadedConstructorsWithSequencePrototype::s_info = { "TestOverloadedConstructorsWithSequencePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsWithSequencePrototype) };
143
143
144
void JSTestOverloadedConstructorsWithSequencePrototype::finishCreation(VM& vm)
144
void JSTestOverloadedConstructorsWithSequencePrototype::finishCreation(VM& vm)
145
{
145
{
Lines 147-153 void JSTestOverloadedConstructorsWithSequencePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp_sec3
147
    reifyStaticProperties(vm, JSTestOverloadedConstructorsWithSequencePrototypeTableValues, *this);
147
    reifyStaticProperties(vm, JSTestOverloadedConstructorsWithSequencePrototypeTableValues, *this);
148
}
148
}
149
149
150
const ClassInfo JSTestOverloadedConstructorsWithSequence::s_info = { "TestOverloadedConstructorsWithSequence", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsWithSequence) };
150
const ClassInfo JSTestOverloadedConstructorsWithSequence::s_info = { "TestOverloadedConstructorsWithSequence", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsWithSequence) };
151
151
152
JSTestOverloadedConstructorsWithSequence::JSTestOverloadedConstructorsWithSequence(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestOverloadedConstructorsWithSequence>&& impl)
152
JSTestOverloadedConstructorsWithSequence::JSTestOverloadedConstructorsWithSequence(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestOverloadedConstructorsWithSequence>&& impl)
153
    : JSDOMWrapper<TestOverloadedConstructorsWithSequence>(structure, globalObject, WTFMove(impl))
153
    : JSDOMWrapper<TestOverloadedConstructorsWithSequence>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp -3 / +3 lines
Lines 85-91 template<> void JSTestOverrideBuiltinsConstructor::initializeProperties(VM& vm, a/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp_sec1
85
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
85
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
86
}
86
}
87
87
88
template<> const ClassInfo JSTestOverrideBuiltinsConstructor::s_info = { "TestOverrideBuiltins", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverrideBuiltinsConstructor) };
88
template<> const ClassInfo JSTestOverrideBuiltinsConstructor::s_info = { "TestOverrideBuiltins", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverrideBuiltinsConstructor) };
89
89
90
/* Hash table for prototype */
90
/* Hash table for prototype */
91
91
Lines 95-101 static const HashTableValue JSTestOverrideBuiltinsPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp_sec2
95
    { "namedItem", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestOverrideBuiltinsPrototypeFunctionNamedItem), (intptr_t) (1) } },
95
    { "namedItem", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestOverrideBuiltinsPrototypeFunctionNamedItem), (intptr_t) (1) } },
96
};
96
};
97
97
98
const ClassInfo JSTestOverrideBuiltinsPrototype::s_info = { "TestOverrideBuiltinsPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverrideBuiltinsPrototype) };
98
const ClassInfo JSTestOverrideBuiltinsPrototype::s_info = { "TestOverrideBuiltinsPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverrideBuiltinsPrototype) };
99
99
100
void JSTestOverrideBuiltinsPrototype::finishCreation(VM& vm)
100
void JSTestOverrideBuiltinsPrototype::finishCreation(VM& vm)
101
{
101
{
Lines 103-109 void JSTestOverrideBuiltinsPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp_sec3
103
    reifyStaticProperties(vm, JSTestOverrideBuiltinsPrototypeTableValues, *this);
103
    reifyStaticProperties(vm, JSTestOverrideBuiltinsPrototypeTableValues, *this);
104
}
104
}
105
105
106
const ClassInfo JSTestOverrideBuiltins::s_info = { "TestOverrideBuiltins", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverrideBuiltins) };
106
const ClassInfo JSTestOverrideBuiltins::s_info = { "TestOverrideBuiltins", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestOverrideBuiltins) };
107
107
108
JSTestOverrideBuiltins::JSTestOverrideBuiltins(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestOverrideBuiltins>&& impl)
108
JSTestOverrideBuiltins::JSTestOverrideBuiltins(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestOverrideBuiltins>&& impl)
109
    : JSDOMWrapper<TestOverrideBuiltins>(structure, globalObject, WTFMove(impl))
109
    : JSDOMWrapper<TestOverrideBuiltins>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp -3 / +3 lines
Lines 148-154 template<> void JSTestPromiseRejectionEventConstructor::initializeProperties(VM& a/Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp_sec1
148
    putDirect(vm, vm.propertyNames->length, jsNumber(2), ReadOnly | DontEnum);
148
    putDirect(vm, vm.propertyNames->length, jsNumber(2), ReadOnly | DontEnum);
149
}
149
}
150
150
151
template<> const ClassInfo JSTestPromiseRejectionEventConstructor::s_info = { "TestPromiseRejectionEvent", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestPromiseRejectionEventConstructor) };
151
template<> const ClassInfo JSTestPromiseRejectionEventConstructor::s_info = { "TestPromiseRejectionEvent", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestPromiseRejectionEventConstructor) };
152
152
153
/* Hash table for prototype */
153
/* Hash table for prototype */
154
154
Lines 159-165 static const HashTableValue JSTestPromiseRejectionEventPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp_sec2
159
    { "reason", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestPromiseRejectionEventReason), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
159
    { "reason", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestPromiseRejectionEventReason), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
160
};
160
};
161
161
162
const ClassInfo JSTestPromiseRejectionEventPrototype::s_info = { "TestPromiseRejectionEventPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestPromiseRejectionEventPrototype) };
162
const ClassInfo JSTestPromiseRejectionEventPrototype::s_info = { "TestPromiseRejectionEventPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestPromiseRejectionEventPrototype) };
163
163
164
void JSTestPromiseRejectionEventPrototype::finishCreation(VM& vm)
164
void JSTestPromiseRejectionEventPrototype::finishCreation(VM& vm)
165
{
165
{
Lines 167-173 void JSTestPromiseRejectionEventPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp_sec3
167
    reifyStaticProperties(vm, JSTestPromiseRejectionEventPrototypeTableValues, *this);
167
    reifyStaticProperties(vm, JSTestPromiseRejectionEventPrototypeTableValues, *this);
168
}
168
}
169
169
170
const ClassInfo JSTestPromiseRejectionEvent::s_info = { "TestPromiseRejectionEvent", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestPromiseRejectionEvent) };
170
const ClassInfo JSTestPromiseRejectionEvent::s_info = { "TestPromiseRejectionEvent", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestPromiseRejectionEvent) };
171
171
172
JSTestPromiseRejectionEvent::JSTestPromiseRejectionEvent(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestPromiseRejectionEvent>&& impl)
172
JSTestPromiseRejectionEvent::JSTestPromiseRejectionEvent(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestPromiseRejectionEvent>&& impl)
173
    : JSEvent(structure, globalObject, WTFMove(impl))
173
    : JSEvent(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.cpp -3 / +3 lines
Lines 97-103 template<> void JSTestSerializationConstructor::initializeProperties(VM& vm, JSD a/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.cpp_sec1
97
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
97
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
98
}
98
}
99
99
100
template<> const ClassInfo JSTestSerializationConstructor::s_info = { "TestSerialization", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializationConstructor) };
100
template<> const ClassInfo JSTestSerializationConstructor::s_info = { "TestSerialization", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializationConstructor) };
101
101
102
/* Hash table for prototype */
102
/* Hash table for prototype */
103
103
Lines 113-119 static const HashTableValue JSTestSerializationPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.cpp_sec2
113
    { "toJSON", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestSerializationPrototypeFunctionToJSON), (intptr_t) (0) } },
113
    { "toJSON", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestSerializationPrototypeFunctionToJSON), (intptr_t) (0) } },
114
};
114
};
115
115
116
const ClassInfo JSTestSerializationPrototype::s_info = { "TestSerializationPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializationPrototype) };
116
const ClassInfo JSTestSerializationPrototype::s_info = { "TestSerializationPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializationPrototype) };
117
117
118
void JSTestSerializationPrototype::finishCreation(VM& vm)
118
void JSTestSerializationPrototype::finishCreation(VM& vm)
119
{
119
{
Lines 121-127 void JSTestSerializationPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.cpp_sec3
121
    reifyStaticProperties(vm, JSTestSerializationPrototypeTableValues, *this);
121
    reifyStaticProperties(vm, JSTestSerializationPrototypeTableValues, *this);
122
}
122
}
123
123
124
const ClassInfo JSTestSerialization::s_info = { "TestSerialization", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerialization) };
124
const ClassInfo JSTestSerialization::s_info = { "TestSerialization", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerialization) };
125
125
126
JSTestSerialization::JSTestSerialization(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestSerialization>&& impl)
126
JSTestSerialization::JSTestSerialization(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestSerialization>&& impl)
127
    : JSDOMWrapper<TestSerialization>(structure, globalObject, WTFMove(impl))
127
    : JSDOMWrapper<TestSerialization>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInherit.cpp -3 / +3 lines
Lines 84-90 template<> void JSTestSerializationInheritConstructor::initializeProperties(VM& a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInherit.cpp_sec1
84
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
84
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
85
}
85
}
86
86
87
template<> const ClassInfo JSTestSerializationInheritConstructor::s_info = { "TestSerializationInherit", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializationInheritConstructor) };
87
template<> const ClassInfo JSTestSerializationInheritConstructor::s_info = { "TestSerializationInherit", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializationInheritConstructor) };
88
88
89
/* Hash table for prototype */
89
/* Hash table for prototype */
90
90
Lines 95-101 static const HashTableValue JSTestSerializationInheritPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInherit.cpp_sec2
95
    { "toJSON", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestSerializationInheritPrototypeFunctionToJSON), (intptr_t) (0) } },
95
    { "toJSON", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestSerializationInheritPrototypeFunctionToJSON), (intptr_t) (0) } },
96
};
96
};
97
97
98
const ClassInfo JSTestSerializationInheritPrototype::s_info = { "TestSerializationInheritPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializationInheritPrototype) };
98
const ClassInfo JSTestSerializationInheritPrototype::s_info = { "TestSerializationInheritPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializationInheritPrototype) };
99
99
100
void JSTestSerializationInheritPrototype::finishCreation(VM& vm)
100
void JSTestSerializationInheritPrototype::finishCreation(VM& vm)
101
{
101
{
Lines 103-109 void JSTestSerializationInheritPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInherit.cpp_sec3
103
    reifyStaticProperties(vm, JSTestSerializationInheritPrototypeTableValues, *this);
103
    reifyStaticProperties(vm, JSTestSerializationInheritPrototypeTableValues, *this);
104
}
104
}
105
105
106
const ClassInfo JSTestSerializationInherit::s_info = { "TestSerializationInherit", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializationInherit) };
106
const ClassInfo JSTestSerializationInherit::s_info = { "TestSerializationInherit", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializationInherit) };
107
107
108
JSTestSerializationInherit::JSTestSerializationInherit(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestSerializationInherit>&& impl)
108
JSTestSerializationInherit::JSTestSerializationInherit(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestSerializationInherit>&& impl)
109
    : JSTestSerialization(structure, globalObject, WTFMove(impl))
109
    : JSTestSerialization(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp -3 / +3 lines
Lines 86-92 template<> void JSTestSerializationInheritFinalConstructor::initializeProperties a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp_sec1
86
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
86
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
87
}
87
}
88
88
89
template<> const ClassInfo JSTestSerializationInheritFinalConstructor::s_info = { "TestSerializationInheritFinal", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializationInheritFinalConstructor) };
89
template<> const ClassInfo JSTestSerializationInheritFinalConstructor::s_info = { "TestSerializationInheritFinal", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializationInheritFinalConstructor) };
90
90
91
/* Hash table for prototype */
91
/* Hash table for prototype */
92
92
Lines 98-104 static const HashTableValue JSTestSerializationInheritFinalPrototypeTableValues[ a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp_sec2
98
    { "toJSON", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestSerializationInheritFinalPrototypeFunctionToJSON), (intptr_t) (0) } },
98
    { "toJSON", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestSerializationInheritFinalPrototypeFunctionToJSON), (intptr_t) (0) } },
99
};
99
};
100
100
101
const ClassInfo JSTestSerializationInheritFinalPrototype::s_info = { "TestSerializationInheritFinalPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializationInheritFinalPrototype) };
101
const ClassInfo JSTestSerializationInheritFinalPrototype::s_info = { "TestSerializationInheritFinalPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializationInheritFinalPrototype) };
102
102
103
void JSTestSerializationInheritFinalPrototype::finishCreation(VM& vm)
103
void JSTestSerializationInheritFinalPrototype::finishCreation(VM& vm)
104
{
104
{
Lines 106-112 void JSTestSerializationInheritFinalPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp_sec3
106
    reifyStaticProperties(vm, JSTestSerializationInheritFinalPrototypeTableValues, *this);
106
    reifyStaticProperties(vm, JSTestSerializationInheritFinalPrototypeTableValues, *this);
107
}
107
}
108
108
109
const ClassInfo JSTestSerializationInheritFinal::s_info = { "TestSerializationInheritFinal", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializationInheritFinal) };
109
const ClassInfo JSTestSerializationInheritFinal::s_info = { "TestSerializationInheritFinal", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializationInheritFinal) };
110
110
111
JSTestSerializationInheritFinal::JSTestSerializationInheritFinal(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestSerializationInheritFinal>&& impl)
111
JSTestSerializationInheritFinal::JSTestSerializationInheritFinal(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestSerializationInheritFinal>&& impl)
112
    : JSTestSerializationInherit(structure, globalObject, WTFMove(impl))
112
    : JSTestSerializationInherit(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp -3 / +3 lines
Lines 98-104 template<> void JSTestSerializedScriptValueInterfaceConstructor::initializePrope a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp_sec1
98
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
98
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
99
}
99
}
100
100
101
template<> const ClassInfo JSTestSerializedScriptValueInterfaceConstructor::s_info = { "TestSerializedScriptValueInterface", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfaceConstructor) };
101
template<> const ClassInfo JSTestSerializedScriptValueInterfaceConstructor::s_info = { "TestSerializedScriptValueInterface", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfaceConstructor) };
102
102
103
/* Hash table for prototype */
103
/* Hash table for prototype */
104
104
Lines 114-120 static const HashTableValue JSTestSerializedScriptValueInterfacePrototypeTableVa a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp_sec2
114
    { "functionReturning", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning), (intptr_t) (0) } },
114
    { "functionReturning", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning), (intptr_t) (0) } },
115
};
115
};
116
116
117
const ClassInfo JSTestSerializedScriptValueInterfacePrototype::s_info = { "TestSerializedScriptValueInterfacePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfacePrototype) };
117
const ClassInfo JSTestSerializedScriptValueInterfacePrototype::s_info = { "TestSerializedScriptValueInterfacePrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfacePrototype) };
118
118
119
void JSTestSerializedScriptValueInterfacePrototype::finishCreation(VM& vm)
119
void JSTestSerializedScriptValueInterfacePrototype::finishCreation(VM& vm)
120
{
120
{
Lines 122-128 void JSTestSerializedScriptValueInterfacePrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp_sec3
122
    reifyStaticProperties(vm, JSTestSerializedScriptValueInterfacePrototypeTableValues, *this);
122
    reifyStaticProperties(vm, JSTestSerializedScriptValueInterfacePrototypeTableValues, *this);
123
}
123
}
124
124
125
const ClassInfo JSTestSerializedScriptValueInterface::s_info = { "TestSerializedScriptValueInterface", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterface) };
125
const ClassInfo JSTestSerializedScriptValueInterface::s_info = { "TestSerializedScriptValueInterface", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterface) };
126
126
127
JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestSerializedScriptValueInterface>&& impl)
127
JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestSerializedScriptValueInterface>&& impl)
128
    : JSDOMWrapper<TestSerializedScriptValueInterface>(structure, globalObject, WTFMove(impl))
128
    : JSDOMWrapper<TestSerializedScriptValueInterface>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp -3 / +3 lines
Lines 164-170 template<> void JSTestTypedefsConstructor::initializeProperties(VM& vm, JSDOMGlo a/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp_sec1
164
    reifyStaticProperties(vm, JSTestTypedefsConstructorTableValues, *this);
164
    reifyStaticProperties(vm, JSTestTypedefsConstructorTableValues, *this);
165
}
165
}
166
166
167
template<> const ClassInfo JSTestTypedefsConstructor::s_info = { "TestTypedefs", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestTypedefsConstructor) };
167
template<> const ClassInfo JSTestTypedefsConstructor::s_info = { "TestTypedefs", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestTypedefsConstructor) };
168
168
169
/* Hash table for prototype */
169
/* Hash table for prototype */
170
170
Lines 196-202 static const HashTableValue JSTestTypedefsPrototypeTableValues[] = a/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp_sec2
196
    { "methodWithException", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionMethodWithException), (intptr_t) (0) } },
196
    { "methodWithException", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionMethodWithException), (intptr_t) (0) } },
197
};
197
};
198
198
199
const ClassInfo JSTestTypedefsPrototype::s_info = { "TestTypedefsPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestTypedefsPrototype) };
199
const ClassInfo JSTestTypedefsPrototype::s_info = { "TestTypedefsPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTestTypedefsPrototype) };
200
200
201
void JSTestTypedefsPrototype::finishCreation(VM& vm)
201
void JSTestTypedefsPrototype::finishCreation(VM& vm)
202
{
202
{
Lines 204-210 void JSTestTypedefsPrototype::finishCreation(VM& vm) a/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp_sec3
204
    reifyStaticProperties(vm, JSTestTypedefsPrototypeTableValues, *this);
204
    reifyStaticProperties(vm, JSTestTypedefsPrototypeTableValues, *this);
205
}
205
}
206
206
207
const ClassInfo JSTestTypedefs::s_info = { "TestTypedefs", &Base::s_info, &JSTestTypedefsTable, CREATE_METHOD_TABLE(JSTestTypedefs) };
207
const ClassInfo JSTestTypedefs::s_info = { "TestTypedefs", &Base::s_info, &JSTestTypedefsTable, nullptr, CREATE_METHOD_TABLE(JSTestTypedefs) };
208
208
209
JSTestTypedefs::JSTestTypedefs(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestTypedefs>&& impl)
209
JSTestTypedefs::JSTestTypedefs(Structure* structure, JSDOMGlobalObject& globalObject, Ref<TestTypedefs>&& impl)
210
    : JSDOMWrapper<TestTypedefs>(structure, globalObject, WTFMove(impl))
210
    : JSDOMWrapper<TestTypedefs>(structure, globalObject, WTFMove(impl))
- a/Source/WebCore/bridge/c/CRuntimeObject.cpp -1 / +1 lines
Lines 35-41 a/Source/WebCore/bridge/c/CRuntimeObject.cpp_sec1
35
namespace JSC {
35
namespace JSC {
36
namespace Bindings {
36
namespace Bindings {
37
37
38
const ClassInfo CRuntimeObject::s_info = { "CRuntimeObject", &RuntimeObject::s_info, 0, CREATE_METHOD_TABLE(CRuntimeObject) };
38
const ClassInfo CRuntimeObject::s_info = { "CRuntimeObject", &RuntimeObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(CRuntimeObject) };
39
39
40
CRuntimeObject::CRuntimeObject(VM& vm, Structure* structure, RefPtr<CInstance>&& instance)
40
CRuntimeObject::CRuntimeObject(VM& vm, Structure* structure, RefPtr<CInstance>&& instance)
41
    : RuntimeObject(vm, structure, WTFMove(instance))
41
    : RuntimeObject(vm, structure, WTFMove(instance))
- a/Source/WebCore/bridge/c/c_instance.cpp -1 / +1 lines
Lines 146-152 class CRuntimeMethod : public RuntimeMethod { a/Source/WebCore/bridge/c/c_instance.cpp_sec1
146
146
147
};
147
};
148
148
149
const ClassInfo CRuntimeMethod::s_info = { "CRuntimeMethod", &RuntimeMethod::s_info, 0, CREATE_METHOD_TABLE(CRuntimeMethod) };
149
const ClassInfo CRuntimeMethod::s_info = { "CRuntimeMethod", &RuntimeMethod::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(CRuntimeMethod) };
150
150
151
JSValue CInstance::getMethod(ExecState* exec, PropertyName propertyName)
151
JSValue CInstance::getMethod(ExecState* exec, PropertyName propertyName)
152
{
152
{
- a/Source/WebCore/bridge/objc/ObjCRuntimeObject.mm -1 / +1 lines
Lines 33-39 a/Source/WebCore/bridge/objc/ObjCRuntimeObject.mm_sec1
33
namespace JSC {
33
namespace JSC {
34
namespace Bindings {
34
namespace Bindings {
35
35
36
const ClassInfo ObjCRuntimeObject::s_info = { "ObjCRuntimeObject", &RuntimeObject::s_info, 0, CREATE_METHOD_TABLE(ObjCRuntimeObject) };
36
const ClassInfo ObjCRuntimeObject::s_info = { "ObjCRuntimeObject", &RuntimeObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ObjCRuntimeObject) };
37
37
38
ObjCRuntimeObject::ObjCRuntimeObject(VM& vm, Structure* structure, RefPtr<ObjcInstance>&& instance)
38
ObjCRuntimeObject::ObjCRuntimeObject(VM& vm, Structure* structure, RefPtr<ObjcInstance>&& instance)
39
    : RuntimeObject(vm, structure, instance)
39
    : RuntimeObject(vm, structure, instance)
- a/Source/WebCore/bridge/objc/objc_instance.mm -1 / +1 lines
Lines 198-204 private: a/Source/WebCore/bridge/objc/objc_instance.mm_sec1
198
    }
198
    }
199
};
199
};
200
200
201
const ClassInfo ObjCRuntimeMethod::s_info = { "ObjCRuntimeMethod", &RuntimeMethod::s_info, 0, CREATE_METHOD_TABLE(ObjCRuntimeMethod) };
201
const ClassInfo ObjCRuntimeMethod::s_info = { "ObjCRuntimeMethod", &RuntimeMethod::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ObjCRuntimeMethod) };
202
202
203
JSC::JSValue ObjcInstance::getMethod(ExecState* exec, PropertyName propertyName)
203
JSC::JSValue ObjcInstance::getMethod(ExecState* exec, PropertyName propertyName)
204
{
204
{
- a/Source/WebCore/bridge/objc/objc_runtime.mm -1 / +1 lines
Lines 210-216 unsigned int ObjcArray::getLength() const a/Source/WebCore/bridge/objc/objc_runtime.mm_sec1
210
    return [_array.get() count];
210
    return [_array.get() count];
211
}
211
}
212
212
213
const ClassInfo ObjcFallbackObjectImp::s_info = { "ObjcFallbackObject", &Base::s_info, 0, CREATE_METHOD_TABLE(ObjcFallbackObjectImp) };
213
const ClassInfo ObjcFallbackObjectImp::s_info = { "ObjcFallbackObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ObjcFallbackObjectImp) };
214
214
215
ObjcFallbackObjectImp::ObjcFallbackObjectImp(JSGlobalObject* globalObject, Structure* structure, ObjcInstance* i, const String& propertyName)
215
ObjcFallbackObjectImp::ObjcFallbackObjectImp(JSGlobalObject* globalObject, Structure* structure, ObjcInstance* i, const String& propertyName)
216
    : JSDestructibleObject(globalObject->vm(), structure)
216
    : JSDestructibleObject(globalObject->vm(), structure)
- a/Source/WebCore/bridge/runtime_array.cpp -1 / +1 lines
Lines 35-41 using namespace WebCore; a/Source/WebCore/bridge/runtime_array.cpp_sec1
35
35
36
namespace JSC {
36
namespace JSC {
37
37
38
const ClassInfo RuntimeArray::s_info = { "RuntimeArray", &Base::s_info, 0, CREATE_METHOD_TABLE(RuntimeArray) };
38
const ClassInfo RuntimeArray::s_info = { "RuntimeArray", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(RuntimeArray) };
39
39
40
RuntimeArray::RuntimeArray(ExecState* exec, Structure* structure)
40
RuntimeArray::RuntimeArray(ExecState* exec, Structure* structure)
41
    : JSArray(exec->vm(), structure, 0)
41
    : JSArray(exec->vm(), structure, 0)
- a/Source/WebCore/bridge/runtime_method.cpp -1 / +1 lines
Lines 39-45 namespace JSC { a/Source/WebCore/bridge/runtime_method.cpp_sec1
39
39
40
using namespace Bindings;
40
using namespace Bindings;
41
41
42
WEBCORE_EXPORT const ClassInfo RuntimeMethod::s_info = { "RuntimeMethod", &InternalFunction::s_info, 0, CREATE_METHOD_TABLE(RuntimeMethod) };
42
WEBCORE_EXPORT const ClassInfo RuntimeMethod::s_info = { "RuntimeMethod", &InternalFunction::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(RuntimeMethod) };
43
43
44
RuntimeMethod::RuntimeMethod(JSGlobalObject* globalObject, Structure* structure, Method* method)
44
RuntimeMethod::RuntimeMethod(JSGlobalObject* globalObject, Structure* structure, Method* method)
45
    // Callers will need to pass in the right global object corresponding to this native object "method".
45
    // Callers will need to pass in the right global object corresponding to this native object "method".
- a/Source/WebCore/bridge/runtime_object.cpp -1 / +1 lines
Lines 35-41 using namespace WebCore; a/Source/WebCore/bridge/runtime_object.cpp_sec1
35
namespace JSC {
35
namespace JSC {
36
namespace Bindings {
36
namespace Bindings {
37
37
38
WEBCORE_EXPORT const ClassInfo RuntimeObject::s_info = { "RuntimeObject", &Base::s_info, 0, CREATE_METHOD_TABLE(RuntimeObject) };
38
WEBCORE_EXPORT const ClassInfo RuntimeObject::s_info = { "RuntimeObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(RuntimeObject) };
39
39
40
RuntimeObject::RuntimeObject(VM& vm, Structure* structure, RefPtr<Instance>&& instance)
40
RuntimeObject::RuntimeObject(VM& vm, Structure* structure, RefPtr<Instance>&& instance)
41
    : JSDestructibleObject(vm, structure)
41
    : JSDestructibleObject(vm, structure)
- a/Source/WebCore/dom/Document.idl +1 lines
Lines 22-27 a/Source/WebCore/dom/Document.idl_sec1
22
    Constructor,
22
    Constructor,
23
    ConstructorCallWith=Document,
23
    ConstructorCallWith=Document,
24
    CustomToJSObject,
24
    CustomToJSObject,
25
    DOMJIT,
25
    ExportMacro=WEBCORE_EXPORT,
26
    ExportMacro=WEBCORE_EXPORT,
26
    JSCustomHeader,
27
    JSCustomHeader,
27
    JSCustomMarkFunction,
28
    JSCustomMarkFunction,
- a/Source/WebCore/dom/DocumentFragment.idl -1 / +2 lines
Lines 20-26 a/Source/WebCore/dom/DocumentFragment.idl_sec1
20
[
20
[
21
    Constructor,
21
    Constructor,
22
    ConstructorCallWith=Document,
22
    ConstructorCallWith=Document,
23
    CustomToJSObject
23
    CustomToJSObject,
24
    DOMJIT,
24
] interface DocumentFragment : Node {
25
] interface DocumentFragment : Node {
25
};
26
};
26
27
- a/Source/WebCore/dom/Element.idl +1 lines
Lines 20-25 a/Source/WebCore/dom/Element.idl_sec1
20
20
21
[
21
[
22
    CustomToJSObject,
22
    CustomToJSObject,
23
    DOMJIT,
23
    JSCustomHeader,
24
    JSCustomHeader,
24
    JSGenerateToNativeObject,
25
    JSGenerateToNativeObject,
25
    ExportMacro=WEBCORE_EXPORT,
26
    ExportMacro=WEBCORE_EXPORT,
- a/Source/WebCore/dom/Event.idl +1 lines
Lines 25-30 typedef unsigned long long DOMTimeStamp; a/Source/WebCore/dom/Event.idl_sec1
25
[
25
[
26
    Constructor(DOMString type, optional EventInit eventInitDict),
26
    Constructor(DOMString type, optional EventInit eventInitDict),
27
    CustomToJSObject,
27
    CustomToJSObject,
28
    DOMJIT,
28
    ExportToWrappedFunction,
29
    ExportToWrappedFunction,
29
    Exposed=(Window,Worker),
30
    Exposed=(Window,Worker),
30
    JSCustomHeader,
31
    JSCustomHeader,
- a/Source/WebCore/dom/Node.idl +1 lines
Lines 21-26 a/Source/WebCore/dom/Node.idl_sec1
21
[
21
[
22
    CustomIsReachable,
22
    CustomIsReachable,
23
    CustomToJSObject,
23
    CustomToJSObject,
24
    DOMJIT,
24
    ExportMacro=WEBCORE_EXPORT,
25
    ExportMacro=WEBCORE_EXPORT,
25
    JSCustomHeader,
26
    JSCustomHeader,
26
    JSCustomMarkFunction,
27
    JSCustomMarkFunction,
- a/Source/WebCore/domjit/JSDocumentDOMJIT.cpp -6 / +1 lines
Lines 42-48 using namespace JSC; a/Source/WebCore/domjit/JSDocumentDOMJIT.cpp_sec1
42
42
43
namespace WebCore {
43
namespace WebCore {
44
44
45
Ref<JSC::DOMJIT::Patchpoint> DocumentDocumentElementDOMJIT::checkDOM()
45
RefPtr<JSC::DOMJIT::Patchpoint> checkSubClassPatchpointForJSDocument()
46
{
46
{
47
    return DOMJIT::checkDOM<Document>();
47
    return DOMJIT::checkDOM<Document>();
48
}
48
}
Lines 74-84 Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> DocumentDocumentElementDOMJIT::callDOM a/Source/WebCore/domjit/JSDocumentDOMJIT.cpp_sec2
74
    return patchpoint;
74
    return patchpoint;
75
}
75
}
76
76
77
Ref<JSC::DOMJIT::Patchpoint> DocumentBodyDOMJIT::checkDOM()
78
{
79
    return DOMJIT::checkDOM<Document>();
80
}
81
82
static void loadLocalName(CCallHelpers& jit, GPRReg htmlElement, GPRReg localNameImpl)
77
static void loadLocalName(CCallHelpers& jit, GPRReg htmlElement, GPRReg localNameImpl)
83
{
78
{
84
    jit.loadPtr(CCallHelpers::Address(htmlElement, Element::tagQNameMemoryOffset() + QualifiedName::implMemoryOffset()), localNameImpl);
79
    jit.loadPtr(CCallHelpers::Address(htmlElement, Element::tagQNameMemoryOffset() + QualifiedName::implMemoryOffset()), localNameImpl);
- a/Source/WebCore/domjit/JSDocumentFragmentDOMJIT.cpp +44 lines
Line 0 a/Source/WebCore/domjit/JSDocumentFragmentDOMJIT.cpp_sec1
1
/*
2
 * Copyright (C) 2017 Yusuke Suzuki <utatane.tea@gmail.com>.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions
6
 * are met:
7
 * 1. Redistributions of source code must retain the above copyright
8
 *    notice, this list of conditions and the following disclaimer.
9
 * 2. Redistributions in binary form must reproduce the above copyright
10
 *    notice, this list of conditions and the following disclaimer in the
11
 *    documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
 */
25
26
#include "config.h"
27
#include "JSDocumentFragment.h"
28
29
#if ENABLE(JIT)
30
31
#include "DOMJITCheckDOM.h"
32
33
using namespace JSC;
34
35
namespace WebCore {
36
37
RefPtr<JSC::DOMJIT::Patchpoint> checkSubClassPatchpointForJSDocumentFragment()
38
{
39
    return DOMJIT::checkDOM<DocumentFragment>();
40
}
41
42
}
43
44
#endif
- a/Source/WebCore/domjit/JSElementDOMJIT.cpp +44 lines
Line 0 a/Source/WebCore/domjit/JSElementDOMJIT.cpp_sec1
1
/*
2
 * Copyright (C) 2017 Yusuke Suzuki <utatane.tea@gmail.com>.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions
6
 * are met:
7
 * 1. Redistributions of source code must retain the above copyright
8
 *    notice, this list of conditions and the following disclaimer.
9
 * 2. Redistributions in binary form must reproduce the above copyright
10
 *    notice, this list of conditions and the following disclaimer in the
11
 *    documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
 */
25
26
#include "config.h"
27
#include "JSElement.h"
28
29
#if ENABLE(JIT)
30
31
#include "DOMJITCheckDOM.h"
32
33
using namespace JSC;
34
35
namespace WebCore {
36
37
RefPtr<JSC::DOMJIT::Patchpoint> checkSubClassPatchpointForJSElement()
38
{
39
    return DOMJIT::checkDOM<Element>();
40
}
41
42
}
43
44
#endif
- a/Source/WebCore/domjit/JSEventDOMJIT.cpp +44 lines
Line 0 a/Source/WebCore/domjit/JSEventDOMJIT.cpp_sec1
1
/*
2
 * Copyright (C) 2017 Yusuke Suzuki <utatane.tea@gmail.com>.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions
6
 * are met:
7
 * 1. Redistributions of source code must retain the above copyright
8
 *    notice, this list of conditions and the following disclaimer.
9
 * 2. Redistributions in binary form must reproduce the above copyright
10
 *    notice, this list of conditions and the following disclaimer in the
11
 *    documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
 */
25
26
#include "config.h"
27
#include "JSEvent.h"
28
29
#if ENABLE(JIT)
30
31
#include "DOMJITCheckDOM.h"
32
33
using namespace JSC;
34
35
namespace WebCore {
36
37
RefPtr<JSC::DOMJIT::Patchpoint> checkSubClassPatchpointForJSEvent()
38
{
39
    return DOMJIT::checkDOM<Event>();
40
}
41
42
}
43
44
#endif
- a/Source/WebCore/domjit/JSNodeDOMJIT.cpp -35 / +5 lines
Lines 41-46 using namespace JSC; a/Source/WebCore/domjit/JSNodeDOMJIT.cpp_sec1
41
41
42
namespace WebCore {
42
namespace WebCore {
43
43
44
RefPtr<JSC::DOMJIT::Patchpoint> checkSubClassPatchpointForJSNode()
45
{
46
    return DOMJIT::checkDOM<Node>();
47
}
48
44
enum class IsContainerGuardRequirement { Required, NotRequired };
49
enum class IsContainerGuardRequirement { Required, NotRequired };
45
50
46
template<typename WrappedNode>
51
template<typename WrappedNode>
Lines 76-86 static Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> createCallDOMGetterForOffsetAcc a/Source/WebCore/domjit/JSNodeDOMJIT.cpp_sec2
76
    return patchpoint;
81
    return patchpoint;
77
}
82
}
78
83
79
Ref<JSC::DOMJIT::Patchpoint> NodeFirstChildDOMJIT::checkDOM()
80
{
81
    return DOMJIT::checkDOM<Node>();
82
}
83
84
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeFirstChildDOMJIT::callDOMGetter()
84
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeFirstChildDOMJIT::callDOMGetter()
85
{
85
{
86
    auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(CAST_OFFSET(Node*, ContainerNode*) + ContainerNode::firstChildMemoryOffset(), IsContainerGuardRequirement::Required);
86
    auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(CAST_OFFSET(Node*, ContainerNode*) + ContainerNode::firstChildMemoryOffset(), IsContainerGuardRequirement::Required);
Lines 88-98 Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeFirstChildDOMJIT::callDOMGetter() a/Source/WebCore/domjit/JSNodeDOMJIT.cpp_sec3
88
    return patchpoint;
88
    return patchpoint;
89
}
89
}
90
90
91
Ref<JSC::DOMJIT::Patchpoint> NodeLastChildDOMJIT::checkDOM()
92
{
93
    return DOMJIT::checkDOM<Node>();
94
}
95
96
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeLastChildDOMJIT::callDOMGetter()
91
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeLastChildDOMJIT::callDOMGetter()
97
{
92
{
98
    auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(CAST_OFFSET(Node*, ContainerNode*) + ContainerNode::lastChildMemoryOffset(), IsContainerGuardRequirement::Required);
93
    auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(CAST_OFFSET(Node*, ContainerNode*) + ContainerNode::lastChildMemoryOffset(), IsContainerGuardRequirement::Required);
Lines 100-110 Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeLastChildDOMJIT::callDOMGetter() a/Source/WebCore/domjit/JSNodeDOMJIT.cpp_sec4
100
    return patchpoint;
95
    return patchpoint;
101
}
96
}
102
97
103
Ref<JSC::DOMJIT::Patchpoint> NodeNextSiblingDOMJIT::checkDOM()
104
{
105
    return DOMJIT::checkDOM<Node>();
106
}
107
108
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeNextSiblingDOMJIT::callDOMGetter()
98
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeNextSiblingDOMJIT::callDOMGetter()
109
{
99
{
110
    auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(Node::nextSiblingMemoryOffset(), IsContainerGuardRequirement::NotRequired);
100
    auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(Node::nextSiblingMemoryOffset(), IsContainerGuardRequirement::NotRequired);
Lines 112-122 Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeNextSiblingDOMJIT::callDOMGetter() a/Source/WebCore/domjit/JSNodeDOMJIT.cpp_sec5
112
    return patchpoint;
102
    return patchpoint;
113
}
103
}
114
104
115
Ref<JSC::DOMJIT::Patchpoint> NodePreviousSiblingDOMJIT::checkDOM()
116
{
117
    return DOMJIT::checkDOM<Node>();
118
}
119
120
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodePreviousSiblingDOMJIT::callDOMGetter()
105
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodePreviousSiblingDOMJIT::callDOMGetter()
121
{
106
{
122
    auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(Node::previousSiblingMemoryOffset(), IsContainerGuardRequirement::NotRequired);
107
    auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(Node::previousSiblingMemoryOffset(), IsContainerGuardRequirement::NotRequired);
Lines 124-134 Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodePreviousSiblingDOMJIT::callDOMGett a/Source/WebCore/domjit/JSNodeDOMJIT.cpp_sec6
124
    return patchpoint;
109
    return patchpoint;
125
}
110
}
126
111
127
Ref<JSC::DOMJIT::Patchpoint> NodeParentNodeDOMJIT::checkDOM()
128
{
129
    return DOMJIT::checkDOM<Node>();
130
}
131
132
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeParentNodeDOMJIT::callDOMGetter()
112
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeParentNodeDOMJIT::callDOMGetter()
133
{
113
{
134
    auto patchpoint = createCallDOMGetterForOffsetAccess<ContainerNode>(Node::parentNodeMemoryOffset(), IsContainerGuardRequirement::NotRequired);
114
    auto patchpoint = createCallDOMGetterForOffsetAccess<ContainerNode>(Node::parentNodeMemoryOffset(), IsContainerGuardRequirement::NotRequired);
Lines 136-146 Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeParentNodeDOMJIT::callDOMGetter() a/Source/WebCore/domjit/JSNodeDOMJIT.cpp_sec7
136
    return patchpoint;
116
    return patchpoint;
137
}
117
}
138
118
139
Ref<JSC::DOMJIT::Patchpoint> NodeNodeTypeDOMJIT::checkDOM()
140
{
141
    return DOMJIT::checkDOM<Node>();
142
}
143
144
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeNodeTypeDOMJIT::callDOMGetter()
119
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeNodeTypeDOMJIT::callDOMGetter()
145
{
120
{
146
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> patchpoint = JSC::DOMJIT::CallDOMGetterPatchpoint::create();
121
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> patchpoint = JSC::DOMJIT::CallDOMGetterPatchpoint::create();
Lines 157-167 Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeNodeTypeDOMJIT::callDOMGetter() a/Source/WebCore/domjit/JSNodeDOMJIT.cpp_sec8
157
    return patchpoint;
132
    return patchpoint;
158
}
133
}
159
134
160
Ref<JSC::DOMJIT::Patchpoint> NodeOwnerDocumentDOMJIT::checkDOM()
161
{
162
    return DOMJIT::checkDOM<Node>();
163
}
164
165
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeOwnerDocumentDOMJIT::callDOMGetter()
135
Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeOwnerDocumentDOMJIT::callDOMGetter()
166
{
136
{
167
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> patchpoint = JSC::DOMJIT::CallDOMGetterPatchpoint::create();
137
    Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> patchpoint = JSC::DOMJIT::CallDOMGetterPatchpoint::create();
- a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm -1 / +1 lines
Lines 210-216 private: a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm_sec1
210
    }
210
    }
211
};
211
};
212
212
213
const ClassInfo ProxyRuntimeMethod::s_info = { "ProxyRuntimeMethod", &RuntimeMethod::s_info, 0, CREATE_METHOD_TABLE(ProxyRuntimeMethod) };
213
const ClassInfo ProxyRuntimeMethod::s_info = { "ProxyRuntimeMethod", &RuntimeMethod::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ProxyRuntimeMethod) };
214
214
215
JSValue ProxyInstance::getMethod(JSC::ExecState* exec, PropertyName propertyName)
215
JSValue ProxyInstance::getMethod(JSC::ExecState* exec, PropertyName propertyName)
216
{
216
{
- a/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.mm -1 / +1 lines
Lines 34-40 using namespace JSC; a/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.mm_sec1
34
namespace WebKit {
34
namespace WebKit {
35
35
36
36
37
const ClassInfo ProxyRuntimeObject::s_info = { "ProxyRuntimeObject", &RuntimeObject::s_info, 0, CREATE_METHOD_TABLE(ProxyRuntimeObject) };
37
const ClassInfo ProxyRuntimeObject::s_info = { "ProxyRuntimeObject", &RuntimeObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ProxyRuntimeObject) };
38
38
39
ProxyRuntimeObject::ProxyRuntimeObject(VM& vm, Structure* structure, Ref<ProxyInstance>&& instance)
39
ProxyRuntimeObject::ProxyRuntimeObject(VM& vm, Structure* structure, Ref<ProxyInstance>&& instance)
40
    : RuntimeObject(vm, structure, WTFMove(instance))
40
    : RuntimeObject(vm, structure, WTFMove(instance))
- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp -1 / +1 lines
Lines 43-49 namespace WebKit { a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp_sec1
43
43
44
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSNPMethod);
44
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSNPMethod);
45
45
46
const ClassInfo JSNPMethod::s_info = { "NPMethod", &InternalFunction::s_info, 0, CREATE_METHOD_TABLE(JSNPMethod) };
46
const ClassInfo JSNPMethod::s_info = { "NPMethod", &InternalFunction::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSNPMethod) };
47
47
48
JSNPMethod::JSNPMethod(JSGlobalObject* globalObject, Structure* structure, NPIdentifier npIdentifier)
48
JSNPMethod::JSNPMethod(JSGlobalObject* globalObject, Structure* structure, NPIdentifier npIdentifier)
49
    : InternalFunction(globalObject->vm(), structure)
49
    : InternalFunction(globalObject->vm(), structure)
- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp -1 / +1 lines
Lines 58-64 static NPIdentifier npIdentifierFromIdentifier(PropertyName propertyName) a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp_sec1
58
    return static_cast<NPIdentifier>(IdentifierRep::get(name.utf8().data()));
58
    return static_cast<NPIdentifier>(IdentifierRep::get(name.utf8().data()));
59
}
59
}
60
60
61
const ClassInfo JSNPObject::s_info = { "NPObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSNPObject) };
61
const ClassInfo JSNPObject::s_info = { "NPObject", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSNPObject) };
62
62
63
JSNPObject::JSNPObject(JSGlobalObject* globalObject, Structure* structure, NPRuntimeObjectMap* objectMap, NPObject* npObject)
63
JSNPObject::JSNPObject(JSGlobalObject* globalObject, Structure* structure, NPRuntimeObjectMap* objectMap, NPObject* npObject)
64
    : JSDestructibleObject(globalObject->vm(), structure)
64
    : JSDestructibleObject(globalObject->vm(), structure)
- a/JSTests/ChangeLog +14 lines
Lines 1-3 a/JSTests/ChangeLog_sec1
1
2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
2
3
        [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
4
        https://bugs.webkit.org/show_bug.cgi?id=172098
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * stress/check-sub-class.js: Added.
9
        (shouldBe):
10
        (shouldThrow):
11
        (calling):
12
        (array.forEach):
13
        (i.array.forEach):
14
1
2017-05-18  JF Bastien  <jfbastien@apple.com>
15
2017-05-18  JF Bastien  <jfbastien@apple.com>
2
16
3
        WebAssembly: exports is a getter
17
        WebAssembly: exports is a getter
- a/JSTests/stress/check-sub-class.js +51 lines
Line 0 a/JSTests/stress/check-sub-class.js_sec1
1
function shouldBe(actual, expected) {
2
    if (actual !== expected)
3
        throw new Error('bad value: ' + actual);
4
}
5
6
function shouldThrow(func, errorMessage) {
7
    var errorThrown = false;
8
    var error = null;
9
    try {
10
        func();
11
    } catch (e) {
12
        errorThrown = true;
13
        error = e;
14
    }
15
    if (!errorThrown)
16
        throw new Error('not thrown');
17
    if (String(error) !== errorMessage)
18
        throw new Error(`bad error: ${String(error)}`);
19
}
20
21
var array = [];
22
for (var i = 0; i < 100; ++i)
23
    array.push(createDOMJITCheckSubClassObject());
24
25
// DOMJITNode is an instance of a super class (DOMJITNode) of DOMJITCheckSubClassObject.
26
var node = createDOMJITNodeObject();
27
node.func = createDOMJITCheckSubClassObject().func;
28
29
function calling(dom)
30
{
31
    return dom.func();
32
}
33
noInline(calling);
34
35
array.forEach((obj) => {
36
    shouldBe(calling(obj), 42);
37
});
38
39
shouldThrow(() => {
40
    calling(node);
41
}, `TypeError: Type error`);
42
43
for (var i = 0; i < 1e3; ++i) {
44
    array.forEach((obj) => {
45
        shouldBe(calling(obj), 42);
46
    });
47
}
48
49
shouldThrow(() => {
50
    calling(node);
51
}, `TypeError: Type error`);

Return to Bug 172098