Source/JavaScriptCore/ChangeLog

 12013-08-13 Filip Pizlo <fpizlo@apple.com>
 2
 3 Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
 4 https://bugs.webkit.org/show_bug.cgi?id=119770
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 * API/JSCallbackConstructor.cpp:
 9 (JSC::JSCallbackConstructor::finishCreation):
 10 * API/JSCallbackConstructor.h:
 11 (JSC::JSCallbackConstructor::createStructure):
 12 * API/JSCallbackFunction.cpp:
 13 (JSC::JSCallbackFunction::finishCreation):
 14 * API/JSCallbackFunction.h:
 15 (JSC::JSCallbackFunction::createStructure):
 16 * API/JSCallbackObject.cpp:
 17 (JSC::::createStructure):
 18 * API/JSCallbackObject.h:
 19 (JSC::JSCallbackObject::visitChildren):
 20 * API/JSCallbackObjectFunctions.h:
 21 (JSC::::asCallbackObject):
 22 (JSC::::finishCreation):
 23 * API/JSObjectRef.cpp:
 24 (JSObjectGetPrivate):
 25 (JSObjectSetPrivate):
 26 (JSObjectGetPrivateProperty):
 27 (JSObjectSetPrivateProperty):
 28 (JSObjectDeletePrivateProperty):
 29 * API/JSValueRef.cpp:
 30 (JSValueIsObjectOfClass):
 31 * API/JSWeakObjectMapRefPrivate.cpp:
 32 * API/ObjCCallbackFunction.h:
 33 (JSC::ObjCCallbackFunction::createStructure):
 34 * JSCTypedArrayStubs.h:
 35 * bytecode/CallLinkStatus.cpp:
 36 (JSC::CallLinkStatus::CallLinkStatus):
 37 (JSC::CallLinkStatus::function):
 38 (JSC::CallLinkStatus::internalFunction):
 39 * bytecode/CodeBlock.h:
 40 (JSC::baselineCodeBlockForInlineCallFrame):
 41 * bytecode/SpeculatedType.cpp:
 42 (JSC::speculationFromClassInfo):
 43 * bytecode/UnlinkedCodeBlock.cpp:
 44 (JSC::UnlinkedFunctionExecutable::visitChildren):
 45 (JSC::UnlinkedCodeBlock::visitChildren):
 46 (JSC::UnlinkedProgramCodeBlock::visitChildren):
 47 * bytecode/UnlinkedCodeBlock.h:
 48 (JSC::UnlinkedFunctionExecutable::createStructure):
 49 (JSC::UnlinkedProgramCodeBlock::createStructure):
 50 (JSC::UnlinkedEvalCodeBlock::createStructure):
 51 (JSC::UnlinkedFunctionCodeBlock::createStructure):
 52 * debugger/Debugger.cpp:
 53 * debugger/DebuggerActivation.cpp:
 54 (JSC::DebuggerActivation::visitChildren):
 55 * debugger/DebuggerActivation.h:
 56 (JSC::DebuggerActivation::createStructure):
 57 * debugger/DebuggerCallFrame.cpp:
 58 (JSC::DebuggerCallFrame::functionName):
 59 * dfg/DFGAbstractInterpreterInlines.h:
 60 (JSC::DFG::::executeEffects):
 61 * dfg/DFGByteCodeParser.cpp:
 62 (JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
 63 (JSC::DFG::ByteCodeParser::parseBlock):
 64 * dfg/DFGFixupPhase.cpp:
 65 (JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
 66 (JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):
 67 * dfg/DFGGraph.cpp:
 68 (JSC::DFG::Graph::dump):
 69 * dfg/DFGGraph.h:
 70 (JSC::DFG::Graph::isInternalFunctionConstant):
 71 * dfg/DFGOperations.cpp:
 72 * dfg/DFGSpeculativeJIT.cpp:
 73 (JSC::DFG::SpeculativeJIT::checkArray):
 74 (JSC::DFG::SpeculativeJIT::compileNewStringObject):
 75 * dfg/DFGThunks.cpp:
 76 (JSC::DFG::virtualForThunkGenerator):
 77 * interpreter/Interpreter.cpp:
 78 (JSC::loadVarargs):
 79 * jsc.cpp:
 80 (GlobalObject::createStructure):
 81 * profiler/LegacyProfiler.cpp:
 82 (JSC::LegacyProfiler::createCallIdentifier):
 83 * runtime/Arguments.cpp:
 84 (JSC::Arguments::visitChildren):
 85 * runtime/Arguments.h:
 86 (JSC::Arguments::createStructure):
 87 (JSC::asArguments):
 88 (JSC::Arguments::finishCreation):
 89 * runtime/ArrayConstructor.cpp:
 90 (JSC::arrayConstructorIsArray):
 91 * runtime/ArrayConstructor.h:
 92 (JSC::ArrayConstructor::createStructure):
 93 * runtime/ArrayPrototype.cpp:
 94 (JSC::ArrayPrototype::finishCreation):
 95 (JSC::arrayProtoFuncConcat):
 96 (JSC::attemptFastSort):
 97 * runtime/ArrayPrototype.h:
 98 (JSC::ArrayPrototype::createStructure):
 99 * runtime/BooleanConstructor.h:
 100 (JSC::BooleanConstructor::createStructure):
 101 * runtime/BooleanObject.cpp:
 102 (JSC::BooleanObject::finishCreation):
 103 * runtime/BooleanObject.h:
 104 (JSC::BooleanObject::createStructure):
 105 (JSC::asBooleanObject):
 106 * runtime/BooleanPrototype.cpp:
 107 (JSC::BooleanPrototype::finishCreation):
 108 (JSC::booleanProtoFuncToString):
 109 (JSC::booleanProtoFuncValueOf):
 110 * runtime/BooleanPrototype.h:
 111 (JSC::BooleanPrototype::createStructure):
 112 * runtime/DateConstructor.cpp:
 113 (JSC::constructDate):
 114 * runtime/DateConstructor.h:
 115 (JSC::DateConstructor::createStructure):
 116 * runtime/DateInstance.cpp:
 117 (JSC::DateInstance::finishCreation):
 118 * runtime/DateInstance.h:
 119 (JSC::DateInstance::createStructure):
 120 (JSC::asDateInstance):
 121 * runtime/DatePrototype.cpp:
 122 (JSC::formateDateInstance):
 123 (JSC::DatePrototype::finishCreation):
 124 (JSC::dateProtoFuncToISOString):
 125 (JSC::dateProtoFuncToLocaleString):
 126 (JSC::dateProtoFuncToLocaleDateString):
 127 (JSC::dateProtoFuncToLocaleTimeString):
 128 (JSC::dateProtoFuncGetTime):
 129 (JSC::dateProtoFuncGetFullYear):
 130 (JSC::dateProtoFuncGetUTCFullYear):
 131 (JSC::dateProtoFuncGetMonth):
 132 (JSC::dateProtoFuncGetUTCMonth):
 133 (JSC::dateProtoFuncGetDate):
 134 (JSC::dateProtoFuncGetUTCDate):
 135 (JSC::dateProtoFuncGetDay):
 136 (JSC::dateProtoFuncGetUTCDay):
 137 (JSC::dateProtoFuncGetHours):
 138 (JSC::dateProtoFuncGetUTCHours):
 139 (JSC::dateProtoFuncGetMinutes):
 140 (JSC::dateProtoFuncGetUTCMinutes):
 141 (JSC::dateProtoFuncGetSeconds):
 142 (JSC::dateProtoFuncGetUTCSeconds):
 143 (JSC::dateProtoFuncGetMilliSeconds):
 144 (JSC::dateProtoFuncGetUTCMilliseconds):
 145 (JSC::dateProtoFuncGetTimezoneOffset):
 146 (JSC::dateProtoFuncSetTime):
 147 (JSC::setNewValueFromTimeArgs):
 148 (JSC::setNewValueFromDateArgs):
 149 (JSC::dateProtoFuncSetYear):
 150 (JSC::dateProtoFuncGetYear):
 151 * runtime/DatePrototype.h:
 152 (JSC::DatePrototype::createStructure):
 153 * runtime/Error.h:
 154 (JSC::StrictModeTypeErrorFunction::createStructure):
 155 * runtime/ErrorConstructor.h:
 156 (JSC::ErrorConstructor::createStructure):
 157 * runtime/ErrorInstance.cpp:
 158 (JSC::ErrorInstance::finishCreation):
 159 * runtime/ErrorInstance.h:
 160 (JSC::ErrorInstance::createStructure):
 161 * runtime/ErrorPrototype.cpp:
 162 (JSC::ErrorPrototype::finishCreation):
 163 * runtime/ErrorPrototype.h:
 164 (JSC::ErrorPrototype::createStructure):
 165 * runtime/ExceptionHelpers.cpp:
 166 (JSC::isTerminatedExecutionException):
 167 * runtime/ExceptionHelpers.h:
 168 (JSC::TerminatedExecutionError::createStructure):
 169 * runtime/Executable.cpp:
 170 (JSC::EvalExecutable::visitChildren):
 171 (JSC::ProgramExecutable::visitChildren):
 172 (JSC::FunctionExecutable::visitChildren):
 173 (JSC::ExecutableBase::hashFor):
 174 * runtime/Executable.h:
 175 (JSC::ExecutableBase::createStructure):
 176 (JSC::NativeExecutable::createStructure):
 177 (JSC::EvalExecutable::createStructure):
 178 (JSC::ProgramExecutable::createStructure):
 179 (JSC::FunctionExecutable::compileFor):
 180 (JSC::FunctionExecutable::compileOptimizedFor):
 181 (JSC::FunctionExecutable::createStructure):
 182 * runtime/FunctionConstructor.h:
 183 (JSC::FunctionConstructor::createStructure):
 184 * runtime/FunctionPrototype.cpp:
 185 (JSC::functionProtoFuncToString):
 186 (JSC::functionProtoFuncApply):
 187 (JSC::functionProtoFuncBind):
 188 * runtime/FunctionPrototype.h:
 189 (JSC::FunctionPrototype::createStructure):
 190 * runtime/GetterSetter.cpp:
 191 (JSC::GetterSetter::visitChildren):
 192 * runtime/GetterSetter.h:
 193 (JSC::GetterSetter::createStructure):
 194 * runtime/InternalFunction.cpp:
 195 (JSC::InternalFunction::finishCreation):
 196 * runtime/InternalFunction.h:
 197 (JSC::InternalFunction::createStructure):
 198 (JSC::asInternalFunction):
 199 * runtime/JSAPIValueWrapper.h:
 200 (JSC::JSAPIValueWrapper::createStructure):
 201 * runtime/JSActivation.cpp:
 202 (JSC::JSActivation::visitChildren):
 203 (JSC::JSActivation::argumentsGetter):
 204 * runtime/JSActivation.h:
 205 (JSC::JSActivation::createStructure):
 206 (JSC::asActivation):
 207 * runtime/JSArray.h:
 208 (JSC::JSArray::createStructure):
 209 (JSC::asArray):
 210 (JSC::isJSArray):
 211 * runtime/JSBoundFunction.cpp:
 212 (JSC::JSBoundFunction::finishCreation):
 213 (JSC::JSBoundFunction::visitChildren):
 214 * runtime/JSBoundFunction.h:
 215 (JSC::JSBoundFunction::createStructure):
 216 * runtime/JSCJSValue.cpp:
 217 (JSC::JSValue::dumpInContext):
 218 * runtime/JSCJSValueInlines.h:
 219 (JSC::JSValue::isFunction):
 220 * runtime/JSCell.h:
 221 (JSC::jsCast):
 222 (JSC::jsDynamicCast):
 223 * runtime/JSCellInlines.h:
 224 (JSC::allocateCell):
 225 * runtime/JSFunction.cpp:
 226 (JSC::JSFunction::finishCreation):
 227 (JSC::JSFunction::visitChildren):
 228 (JSC::skipOverBoundFunctions):
 229 (JSC::JSFunction::callerGetter):
 230 * runtime/JSFunction.h:
 231 (JSC::JSFunction::createStructure):
 232 * runtime/JSGlobalObject.cpp:
 233 (JSC::JSGlobalObject::visitChildren):
 234 (JSC::slowValidateCell):
 235 * runtime/JSGlobalObject.h:
 236 (JSC::JSGlobalObject::createStructure):
 237 * runtime/JSNameScope.cpp:
 238 (JSC::JSNameScope::visitChildren):
 239 * runtime/JSNameScope.h:
 240 (JSC::JSNameScope::createStructure):
 241 * runtime/JSNotAnObject.h:
 242 (JSC::JSNotAnObject::createStructure):
 243 * runtime/JSONObject.cpp:
 244 (JSC::JSONObject::finishCreation):
 245 (JSC::unwrapBoxedPrimitive):
 246 (JSC::Stringifier::Stringifier):
 247 (JSC::Stringifier::appendStringifiedValue):
 248 (JSC::Stringifier::Holder::Holder):
 249 (JSC::Walker::walk):
 250 (JSC::JSONProtoFuncStringify):
 251 * runtime/JSONObject.h:
 252 (JSC::JSONObject::createStructure):
 253 * runtime/JSObject.cpp:
 254 (JSC::getCallableObjectSlow):
 255 (JSC::JSObject::visitChildren):
 256 (JSC::JSObject::copyBackingStore):
 257 (JSC::JSFinalObject::visitChildren):
 258 (JSC::JSObject::ensureInt32Slow):
 259 (JSC::JSObject::ensureDoubleSlow):
 260 (JSC::JSObject::ensureContiguousSlow):
 261 (JSC::JSObject::ensureArrayStorageSlow):
 262 * runtime/JSObject.h:
 263 (JSC::JSObject::finishCreation):
 264 (JSC::JSObject::createStructure):
 265 (JSC::JSNonFinalObject::createStructure):
 266 (JSC::JSFinalObject::createStructure):
 267 (JSC::isJSFinalObject):
 268 * runtime/JSPropertyNameIterator.cpp:
 269 (JSC::JSPropertyNameIterator::visitChildren):
 270 * runtime/JSPropertyNameIterator.h:
 271 (JSC::JSPropertyNameIterator::createStructure):
 272 * runtime/JSProxy.cpp:
 273 (JSC::JSProxy::visitChildren):
 274 * runtime/JSProxy.h:
 275 (JSC::JSProxy::createStructure):
 276 * runtime/JSScope.cpp:
 277 (JSC::JSScope::visitChildren):
 278 * runtime/JSSegmentedVariableObject.cpp:
 279 (JSC::JSSegmentedVariableObject::visitChildren):
 280 * runtime/JSString.h:
 281 (JSC::JSString::createStructure):
 282 (JSC::isJSString):
 283 * runtime/JSSymbolTableObject.cpp:
 284 (JSC::JSSymbolTableObject::visitChildren):
 285 * runtime/JSVariableObject.h:
 286 * runtime/JSWithScope.cpp:
 287 (JSC::JSWithScope::visitChildren):
 288 * runtime/JSWithScope.h:
 289 (JSC::JSWithScope::createStructure):
 290 * runtime/JSWrapperObject.cpp:
 291 (JSC::JSWrapperObject::visitChildren):
 292 * runtime/JSWrapperObject.h:
 293 (JSC::JSWrapperObject::createStructure):
 294 * runtime/MathObject.cpp:
 295 (JSC::MathObject::finishCreation):
 296 * runtime/MathObject.h:
 297 (JSC::MathObject::createStructure):
 298 * runtime/NameConstructor.h:
 299 (JSC::NameConstructor::createStructure):
 300 * runtime/NameInstance.h:
 301 (JSC::NameInstance::createStructure):
 302 (JSC::NameInstance::finishCreation):
 303 * runtime/NamePrototype.cpp:
 304 (JSC::NamePrototype::finishCreation):
 305 (JSC::privateNameProtoFuncToString):
 306 * runtime/NamePrototype.h:
 307 (JSC::NamePrototype::createStructure):
 308 * runtime/NativeErrorConstructor.cpp:
 309 (JSC::NativeErrorConstructor::visitChildren):
 310 * runtime/NativeErrorConstructor.h:
 311 (JSC::NativeErrorConstructor::createStructure):
 312 (JSC::NativeErrorConstructor::finishCreation):
 313 * runtime/NumberConstructor.cpp:
 314 (JSC::NumberConstructor::finishCreation):
 315 * runtime/NumberConstructor.h:
 316 (JSC::NumberConstructor::createStructure):
 317 * runtime/NumberObject.cpp:
 318 (JSC::NumberObject::finishCreation):
 319 * runtime/NumberObject.h:
 320 (JSC::NumberObject::createStructure):
 321 * runtime/NumberPrototype.cpp:
 322 (JSC::NumberPrototype::finishCreation):
 323 * runtime/NumberPrototype.h:
 324 (JSC::NumberPrototype::createStructure):
 325 * runtime/ObjectConstructor.h:
 326 (JSC::ObjectConstructor::createStructure):
 327 * runtime/ObjectPrototype.cpp:
 328 (JSC::ObjectPrototype::finishCreation):
 329 * runtime/ObjectPrototype.h:
 330 (JSC::ObjectPrototype::createStructure):
 331 * runtime/PropertyMapHashTable.h:
 332 (JSC::PropertyTable::createStructure):
 333 * runtime/PropertyTable.cpp:
 334 (JSC::PropertyTable::visitChildren):
 335 * runtime/RegExp.h:
 336 (JSC::RegExp::createStructure):
 337 * runtime/RegExpConstructor.cpp:
 338 (JSC::RegExpConstructor::finishCreation):
 339 (JSC::RegExpConstructor::visitChildren):
 340 (JSC::constructRegExp):
 341 * runtime/RegExpConstructor.h:
 342 (JSC::RegExpConstructor::createStructure):
 343 (JSC::asRegExpConstructor):
 344 * runtime/RegExpMatchesArray.cpp:
 345 (JSC::RegExpMatchesArray::visitChildren):
 346 * runtime/RegExpMatchesArray.h:
 347 (JSC::RegExpMatchesArray::createStructure):
 348 * runtime/RegExpObject.cpp:
 349 (JSC::RegExpObject::finishCreation):
 350 (JSC::RegExpObject::visitChildren):
 351 * runtime/RegExpObject.h:
 352 (JSC::RegExpObject::createStructure):
 353 (JSC::asRegExpObject):
 354 * runtime/RegExpPrototype.cpp:
 355 (JSC::regExpProtoFuncTest):
 356 (JSC::regExpProtoFuncExec):
 357 (JSC::regExpProtoFuncCompile):
 358 (JSC::regExpProtoFuncToString):
 359 * runtime/RegExpPrototype.h:
 360 (JSC::RegExpPrototype::createStructure):
 361 * runtime/SparseArrayValueMap.cpp:
 362 (JSC::SparseArrayValueMap::createStructure):
 363 * runtime/SparseArrayValueMap.h:
 364 * runtime/StrictEvalActivation.h:
 365 (JSC::StrictEvalActivation::createStructure):
 366 * runtime/StringConstructor.h:
 367 (JSC::StringConstructor::createStructure):
 368 * runtime/StringObject.cpp:
 369 (JSC::StringObject::finishCreation):
 370 * runtime/StringObject.h:
 371 (JSC::StringObject::createStructure):
 372 (JSC::asStringObject):
 373 * runtime/StringPrototype.cpp:
 374 (JSC::StringPrototype::finishCreation):
 375 (JSC::stringProtoFuncReplace):
 376 (JSC::stringProtoFuncToString):
 377 (JSC::stringProtoFuncMatch):
 378 (JSC::stringProtoFuncSearch):
 379 (JSC::stringProtoFuncSplit):
 380 * runtime/StringPrototype.h:
 381 (JSC::StringPrototype::createStructure):
 382 * runtime/Structure.cpp:
 383 (JSC::Structure::Structure):
 384 (JSC::Structure::materializePropertyMap):
 385 (JSC::Structure::get):
 386 (JSC::Structure::visitChildren):
 387 * runtime/Structure.h:
 388 (JSC::Structure::typeInfo):
 389 (JSC::Structure::previousID):
 390 (JSC::Structure::outOfLineSize):
 391 (JSC::Structure::totalStorageCapacity):
 392 (JSC::Structure::materializePropertyMapIfNecessary):
 393 (JSC::Structure::materializePropertyMapIfNecessaryForPinning):
 394 * runtime/StructureChain.cpp:
 395 (JSC::StructureChain::visitChildren):
 396 * runtime/StructureChain.h:
 397 (JSC::StructureChain::createStructure):
 398 * runtime/StructureInlines.h:
 399 (JSC::Structure::get):
 400 * runtime/StructureRareData.cpp:
 401 (JSC::StructureRareData::createStructure):
 402 (JSC::StructureRareData::visitChildren):
 403 * runtime/StructureRareData.h:
 404 * runtime/SymbolTable.h:
 405 (JSC::SharedSymbolTable::createStructure):
 406 * runtime/VM.cpp:
 407 (JSC::VM::VM):
 408 (JSC::StackPreservingRecompiler::operator()):
 409 (JSC::VM::releaseExecutableMemory):
 410 * runtime/WriteBarrier.h:
 411 (JSC::validateCell):
 412 * testRegExp.cpp:
 413 (GlobalObject::createStructure):
 414
14152013-08-13 Julien Brianceau <jbrianceau@nds.com>
2416
3417 [sh4] Prepare LLINT for DFG_JIT implementation.
154030

Source/JavaScriptCore/JSCTypedArrayStubs.h

@@public: \
5959 static bool getOwnPropertySlotByIndex(JSC::JSObject*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);\
6060 static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName propertyName, JSC::JSValue, JSC::PutPropertySlot&);\
6161 static void putByIndex(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::JSValue, bool);\
62  static const JSC::ClassInfo s_info;\
 62 DECLARE_INFO;\
6363\
6464 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\
6565 {\
66  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);\
 66 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());\
6767 }\
6868\
6969 static void getOwnPropertyNames(JSC::JSObject*, JSC::ExecState*, JSC::PropertyNameArray&, JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties);\

@@void JS##name##Array::finishCreation(VM&
9797 m_storage = m_impl->data();\
9898 m_storageLength = m_impl->length();\
9999 putDirect(vm, vm.propertyNames->length, jsNumber(m_storageLength), DontDelete | ReadOnly | DontEnum); \
100  ASSERT(inherits(&s_info));\
 100 ASSERT(inherits(info()));\
101101}\
102102\
103103bool JS##name##Array::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)\
104104{\
105105 JS##name##Array* thisObject = jsCast<JS##name##Array*>(object);\
106  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\
 106 ASSERT_GC_OBJECT_INHERITS(thisObject, info());\
107107 unsigned index = propertyName.asIndex();\
108108 if (index < thisObject->m_storageLength) {\
109109 ASSERT(index != PropertyName::NotAnIndex);\

@@bool JS##name##Array::getOwnPropertySlot
116116bool JS##name##Array::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)\
117117{\
118118 JS##name##Array* thisObject = jsCast<JS##name##Array*>(object);\
119  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\
 119 ASSERT_GC_OBJECT_INHERITS(thisObject, info());\
120120 unsigned index = propertyName.asIndex();\
121121 if (index < thisObject->m_storageLength) {\
122122 ASSERT(index != PropertyName::NotAnIndex);\

@@bool JS##name##Array::getOwnPropertyDesc
129129bool JS##name##Array::getOwnPropertySlotByIndex(JSObject* object, ExecState* exec, unsigned propertyName, PropertySlot& slot)\
130130{\
131131 JS##name##Array* thisObject = jsCast<JS##name##Array*>(object);\
132  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\
 132 ASSERT_GC_OBJECT_INHERITS(thisObject, info());\
133133 if (propertyName < thisObject->m_storageLength) {\
134134 slot.setValue(thisObject->getByIndex(exec, propertyName));\
135135 return true;\

@@bool JS##name##Array::getOwnPropertySlot
140140void JS##name##Array::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)\
141141{\
142142 JS##name##Array* thisObject = jsCast<JS##name##Array*>(cell);\
143  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\
 143 ASSERT_GC_OBJECT_INHERITS(thisObject, info());\
144144 unsigned index = propertyName.asIndex();\
145145 if (index != PropertyName::NotAnIndex) {\
146146 thisObject->indexSetter(exec, index, value);\

@@void JS##name##Array::indexSetter(JSC::E
157157void JS##name##Array::putByIndex(JSCell* cell, ExecState* exec, unsigned propertyName, JSValue value, bool)\
158158{\
159159 JS##name##Array* thisObject = jsCast<JS##name##Array*>(cell);\
160  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\
 160 ASSERT_GC_OBJECT_INHERITS(thisObject, info());\
161161 thisObject->indexSetter(exec, propertyName, value);\
162162 return;\
163163}\

@@void JS##name##Array::putByIndex(JSCell*
165165void JS##name##Array::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)\
166166{\
167167 JS##name##Array* thisObject = jsCast<JS##name##Array*>(object);\
168  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\
 168 ASSERT_GC_OBJECT_INHERITS(thisObject, info());\
169169 for (unsigned i = 0; i < thisObject->m_storageLength; ++i)\
170170 propertyNames.add(Identifier::from(exec, i));\
171171 Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);\

@@void JS##name##Array::getOwnPropertyName
173173\
174174JSValue JS##name##Array::getByIndex(ExecState*, unsigned index)\
175175{\
176  ASSERT_GC_OBJECT_INHERITS(this, &s_info);\
 176 ASSERT_GC_OBJECT_INHERITS(this, info());\
177177 type result = m_impl->item(index);\
178178 if (std::isnan((double)result))\
179179 return jsNaN();\
154013

Source/JavaScriptCore/jsc.cpp

@@public:
202202
203203 static const bool needsDestruction = false;
204204
205  static const ClassInfo s_info;
 205 DECLARE_INFO;
206206 static const GlobalObjectMethodTable s_globalObjectMethodTable;
207207
208208 static Structure* createStructure(VM& vm, JSValue prototype)
209209 {
210  return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), &s_info);
 210 return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), info());
211211 }
212212
213213 static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return true; }
154013

Source/JavaScriptCore/testRegExp.cpp

@@public:
122122 return globalObject;
123123 }
124124
125  static const ClassInfo s_info;
 125 DECLARE_INFO;
126126
127127 static const bool needsDestructor = false;
128128
129129 static Structure* createStructure(VM& vm, JSValue prototype)
130130 {
131  return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), &s_info);
 131 return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), info());
132132 }
133133
134134protected:
154013

Source/JavaScriptCore/API/JSCallbackConstructor.cpp

@@JSCallbackConstructor::JSCallbackConstru
4949void JSCallbackConstructor::finishCreation(JSGlobalObject* globalObject, JSClassRef jsClass)
5050{
5151 Base::finishCreation(globalObject->vm());
52  ASSERT(inherits(&s_info));
 52 ASSERT(inherits(info()));
5353 if (m_class)
5454 JSClassRetain(jsClass);
5555}
154013

Source/JavaScriptCore/API/JSCallbackConstructor.h

@@public:
4646 static void destroy(JSCell*);
4747 JSClassRef classRef() const { return m_class; }
4848 JSObjectCallAsConstructorCallback callback() const { return m_callback; }
49  static const ClassInfo s_info;
 49 DECLARE_INFO;
5050
5151 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
5252 {
53  return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info);
 53 return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), info());
5454 }
5555
5656protected:
154013

Source/JavaScriptCore/API/JSCallbackFunction.cpp

@@JSCallbackFunction::JSCallbackFunction(J
5454void JSCallbackFunction::finishCreation(VM& vm, const String& name)
5555{
5656 Base::finishCreation(vm, name);
57  ASSERT(inherits(&s_info));
 57 ASSERT(inherits(info()));
5858}
5959
6060JSCallbackFunction* JSCallbackFunction::create(ExecState* exec, JSGlobalObject* globalObject, JSObjectCallAsFunctionCallback callback, const String& name)
154013

Source/JavaScriptCore/API/JSCallbackFunction.h

@@public:
3838
3939 static JSCallbackFunction* create(ExecState*, JSGlobalObject*, JSObjectCallAsFunctionCallback, const String& name);
4040
41  static const ClassInfo s_info;
 41 DECLARE_INFO;
4242
4343 // InternalFunction mish-mashes constructor and function behavior -- we should
4444 // refactor the code so this override isn't necessary
4545 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
4646 {
47  return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info);
 47 return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), info());
4848 }
4949
5050private:
154013

Source/JavaScriptCore/API/JSCallbackObject.cpp

@@JSCallbackObject<JSGlobalObject>* JSCall
5252template <>
5353Structure* JSCallbackObject<JSDestructibleObject>::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
5454{
55  return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info);
 55 return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), info());
5656}
5757
5858template <>
5959Structure* JSCallbackObject<JSGlobalObject>::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
6060{
61  return Structure::create(vm, globalObject, proto, TypeInfo(GlobalObjectType, StructureFlags), &s_info);
 61 return Structure::create(vm, globalObject, proto, TypeInfo(GlobalObjectType, StructureFlags), info());
6262}
6363
6464void JSCallbackObjectData::finalize(Handle<Unknown> handle, void* context)
154013

Source/JavaScriptCore/API/JSCallbackObject.h

@@public:
144144 void setPrivate(void* data);
145145 void* getPrivate();
146146
147  static const ClassInfo s_info;
 147 DECLARE_INFO;
148148
149149 JSClassRef classRef() const { return m_callbackObjectData->jsClass; }
150150 bool inherits(JSClassRef) const;

@@private:
196196 static void visitChildren(JSCell* cell, SlotVisitor& visitor)
197197 {
198198 JSCallbackObject* thisObject = jsCast<JSCallbackObject*>(cell);
199  ASSERT_GC_OBJECT_INHERITS((static_cast<Parent*>(thisObject)), &JSCallbackObject<Parent>::s_info);
 199 ASSERT_GC_OBJECT_INHERITS((static_cast<Parent*>(thisObject)), JSCallbackObject<Parent>::info());
200200 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
201201 ASSERT(thisObject->Parent::structure()->typeInfo().overridesVisitChildren());
202202 Parent::visitChildren(thisObject, visitor);
154013

Source/JavaScriptCore/API/JSCallbackObjectFunctions.h

@@namespace JSC {
4545template <class Parent>
4646inline JSCallbackObject<Parent>* JSCallbackObject<Parent>::asCallbackObject(JSValue value)
4747{
48  ASSERT(asObject(value)->inherits(&s_info));
 48 ASSERT(asObject(value)->inherits(info()));
4949 return jsCast<JSCallbackObject*>(asObject(value));
5050}
5151

@@template <class Parent>
6969void JSCallbackObject<Parent>::finishCreation(ExecState* exec)
7070{
7171 Base::finishCreation(exec->vm());
72  ASSERT(Parent::inherits(&s_info));
 72 ASSERT(Parent::inherits(info()));
7373 init(exec);
7474}
7575

@@void JSCallbackObject<Parent>::finishCre
7777template <class Parent>
7878void JSCallbackObject<Parent>::finishCreation(VM& vm)
7979{
80  ASSERT(Parent::inherits(&s_info));
 80 ASSERT(Parent::inherits(info()));
8181 ASSERT(Parent::isGlobalObject());
8282 Base::finishCreation(vm);
8383 init(jsCast<JSGlobalObject*>(this)->globalExec());
154013

Source/JavaScriptCore/API/JSObjectRef.cpp

@@void* JSObjectGetPrivate(JSObjectRef obj
406406{
407407 JSObject* jsObject = uncheckedToJS(object);
408408
409  if (jsObject->inherits(&JSCallbackObject<JSGlobalObject>::s_info))
 409 if (jsObject->inherits(JSCallbackObject<JSGlobalObject>::info()))
410410 return jsCast<JSCallbackObject<JSGlobalObject>*>(jsObject)->getPrivate();
411  if (jsObject->inherits(&JSCallbackObject<JSDestructibleObject>::s_info))
 411 if (jsObject->inherits(JSCallbackObject<JSDestructibleObject>::info()))
412412 return jsCast<JSCallbackObject<JSDestructibleObject>*>(jsObject)->getPrivate();
413413#if JSC_OBJC_API_ENABLED
414  if (jsObject->inherits(&JSCallbackObject<JSAPIWrapperObject>::s_info))
 414 if (jsObject->inherits(JSCallbackObject<JSAPIWrapperObject>::info()))
415415 return jsCast<JSCallbackObject<JSAPIWrapperObject>*>(jsObject)->getPrivate();
416416#endif
417417

@@bool JSObjectSetPrivate(JSObjectRef obje
422422{
423423 JSObject* jsObject = uncheckedToJS(object);
424424
425  if (jsObject->inherits(&JSCallbackObject<JSGlobalObject>::s_info)) {
 425 if (jsObject->inherits(JSCallbackObject<JSGlobalObject>::info())) {
426426 jsCast<JSCallbackObject<JSGlobalObject>*>(jsObject)->setPrivate(data);
427427 return true;
428428 }
429  if (jsObject->inherits(&JSCallbackObject<JSDestructibleObject>::s_info)) {
 429 if (jsObject->inherits(JSCallbackObject<JSDestructibleObject>::info())) {
430430 jsCast<JSCallbackObject<JSDestructibleObject>*>(jsObject)->setPrivate(data);
431431 return true;
432432 }
433433#if JSC_OBJC_API_ENABLED
434  if (jsObject->inherits(&JSCallbackObject<JSAPIWrapperObject>::s_info)) {
 434 if (jsObject->inherits(JSCallbackObject<JSAPIWrapperObject>::info())) {
435435 jsCast<JSCallbackObject<JSAPIWrapperObject>*>(jsObject)->setPrivate(data);
436436 return true;
437437 }

@@JSValueRef JSObjectGetPrivateProperty(JS
447447 JSObject* jsObject = toJS(object);
448448 JSValue result;
449449 Identifier name(propertyName->identifier(&exec->vm()));
450  if (jsObject->inherits(&JSCallbackObject<JSGlobalObject>::s_info))
 450 if (jsObject->inherits(JSCallbackObject<JSGlobalObject>::info()))
451451 result = jsCast<JSCallbackObject<JSGlobalObject>*>(jsObject)->getPrivateProperty(name);
452  else if (jsObject->inherits(&JSCallbackObject<JSDestructibleObject>::s_info))
 452 else if (jsObject->inherits(JSCallbackObject<JSDestructibleObject>::info()))
453453 result = jsCast<JSCallbackObject<JSDestructibleObject>*>(jsObject)->getPrivateProperty(name);
454454#if JSC_OBJC_API_ENABLED
455  else if (jsObject->inherits(&JSCallbackObject<JSAPIWrapperObject>::s_info))
 455 else if (jsObject->inherits(JSCallbackObject<JSAPIWrapperObject>::info()))
456456 result = jsCast<JSCallbackObject<JSAPIWrapperObject>*>(jsObject)->getPrivateProperty(name);
457457#endif
458458 return toRef(exec, result);

@@bool JSObjectSetPrivateProperty(JSContex
465465 JSObject* jsObject = toJS(object);
466466 JSValue jsValue = value ? toJS(exec, value) : JSValue();
467467 Identifier name(propertyName->identifier(&exec->vm()));
468  if (jsObject->inherits(&JSCallbackObject<JSGlobalObject>::s_info)) {
 468 if (jsObject->inherits(JSCallbackObject<JSGlobalObject>::info())) {
469469 jsCast<JSCallbackObject<JSGlobalObject>*>(jsObject)->setPrivateProperty(exec->vm(), name, jsValue);
470470 return true;
471471 }
472  if (jsObject->inherits(&JSCallbackObject<JSDestructibleObject>::s_info)) {
 472 if (jsObject->inherits(JSCallbackObject<JSDestructibleObject>::info())) {
473473 jsCast<JSCallbackObject<JSDestructibleObject>*>(jsObject)->setPrivateProperty(exec->vm(), name, jsValue);
474474 return true;
475475 }
476476#if JSC_OBJC_API_ENABLED
477  if (jsObject->inherits(&JSCallbackObject<JSAPIWrapperObject>::s_info)) {
 477 if (jsObject->inherits(JSCallbackObject<JSAPIWrapperObject>::info())) {
478478 jsCast<JSCallbackObject<JSAPIWrapperObject>*>(jsObject)->setPrivateProperty(exec->vm(), name, jsValue);
479479 return true;
480480 }

@@bool JSObjectDeletePrivateProperty(JSCon
488488 APIEntryShim entryShim(exec);
489489 JSObject* jsObject = toJS(object);
490490 Identifier name(propertyName->identifier(&exec->vm()));
491  if (jsObject->inherits(&JSCallbackObject<JSGlobalObject>::s_info)) {
 491 if (jsObject->inherits(JSCallbackObject<JSGlobalObject>::info())) {
492492 jsCast<JSCallbackObject<JSGlobalObject>*>(jsObject)->deletePrivateProperty(name);
493493 return true;
494494 }
495  if (jsObject->inherits(&JSCallbackObject<JSDestructibleObject>::s_info)) {
 495 if (jsObject->inherits(JSCallbackObject<JSDestructibleObject>::info())) {
496496 jsCast<JSCallbackObject<JSDestructibleObject>*>(jsObject)->deletePrivateProperty(name);
497497 return true;
498498 }
499499#if JSC_OBJC_API_ENABLED
500  if (jsObject->inherits(&JSCallbackObject<JSAPIWrapperObject>::s_info)) {
 500 if (jsObject->inherits(JSCallbackObject<JSAPIWrapperObject>::info())) {
501501 jsCast<JSCallbackObject<JSAPIWrapperObject>*>(jsObject)->deletePrivateProperty(name);
502502 return true;
503503 }
154013

Source/JavaScriptCore/API/JSValueRef.cpp

@@bool JSValueIsObjectOfClass(JSContextRef
177177 JSValue jsValue = toJS(exec, value);
178178
179179 if (JSObject* o = jsValue.getObject()) {
180  if (o->inherits(&JSCallbackObject<JSGlobalObject>::s_info))
 180 if (o->inherits(JSCallbackObject<JSGlobalObject>::info()))
181181 return jsCast<JSCallbackObject<JSGlobalObject>*>(o)->inherits(jsClass);
182  if (o->inherits(&JSCallbackObject<JSDestructibleObject>::s_info))
 182 if (o->inherits(JSCallbackObject<JSDestructibleObject>::info()))
183183 return jsCast<JSCallbackObject<JSDestructibleObject>*>(o)->inherits(jsClass);
184184#if JSC_OBJC_API_ENABLED
185  if (o->inherits(&JSCallbackObject<JSAPIWrapperObject>::s_info))
 185 if (o->inherits(JSCallbackObject<JSAPIWrapperObject>::info()))
186186 return jsCast<JSCallbackObject<JSAPIWrapperObject>*>(o)->inherits(jsClass);
187187#endif
188188 }
154013

Source/JavaScriptCore/API/JSWeakObjectMapRefPrivate.cpp

@@void JSWeakObjectMapSet(JSContextRef ctx
6363 JSObject* obj = toJS(object);
6464 if (!obj)
6565 return;
66  ASSERT(obj->inherits(&JSCallbackObject<JSGlobalObject>::s_info) || obj->inherits(&JSCallbackObject<JSDestructibleObject>::s_info));
 66 ASSERT(obj->inherits(JSCallbackObject<JSGlobalObject>::info()) || obj->inherits(JSCallbackObject<JSDestructibleObject>::info()));
6767 map->map().set(key, obj);
6868}
6969
154013

Source/JavaScriptCore/API/ObjCCallbackFunction.h

@@public:
5353 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5454 {
5555 ASSERT(globalObject);
56  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 56 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5757 }
5858
59  static JS_EXPORTDATA const ClassInfo s_info;
 59 DECLARE_EXPORT_INFO;
6060
6161 ObjCCallbackFunctionImpl* impl() { return m_impl.get(); }
6262
154013

Source/JavaScriptCore/bytecode/CallLinkStatus.cpp

@@CallLinkStatus::CallLinkStatus(JSValue v
4545
4646 m_structure = value.asCell()->structure();
4747
48  if (!value.asCell()->inherits(&JSFunction::s_info))
 48 if (!value.asCell()->inherits(JSFunction::info()))
4949 return;
5050
5151 m_executable = jsCast<JSFunction*>(value.asCell())->executable();

@@JSFunction* CallLinkStatus::function() c
5656 if (!m_callTarget || !m_callTarget.isCell())
5757 return 0;
5858
59  if (!m_callTarget.asCell()->inherits(&JSFunction::s_info))
 59 if (!m_callTarget.asCell()->inherits(JSFunction::info()))
6060 return 0;
6161
6262 return jsCast<JSFunction*>(m_callTarget.asCell());

@@InternalFunction* CallLinkStatus::intern
6767 if (!m_callTarget || !m_callTarget.isCell())
6868 return 0;
6969
70  if (!m_callTarget.asCell()->inherits(&InternalFunction::s_info))
 70 if (!m_callTarget.asCell()->inherits(InternalFunction::info()))
7171 return 0;
7272
7373 return jsCast<InternalFunction*>(m_callTarget.asCell());
154013

Source/JavaScriptCore/bytecode/CodeBlock.h

@@inline CodeBlock* baselineCodeBlockForIn
12531253{
12541254 RELEASE_ASSERT(inlineCallFrame);
12551255 ExecutableBase* executable = inlineCallFrame->executable.get();
1256  RELEASE_ASSERT(executable->structure()->classInfo() == &FunctionExecutable::s_info);
 1256 RELEASE_ASSERT(executable->structure()->classInfo() == FunctionExecutable::info());
12571257 return static_cast<FunctionExecutable*>(executable)->baselineCodeBlockFor(inlineCallFrame->isCall ? CodeForCall : CodeForConstruct);
12581258}
12591259
154013

Source/JavaScriptCore/bytecode/SpeculatedType.cpp

@@void dumpSpeculationAbbreviated(PrintStr
251251
252252SpeculatedType speculationFromClassInfo(const ClassInfo* classInfo)
253253{
254  if (classInfo == &JSFinalObject::s_info)
 254 if (classInfo == JSFinalObject::info())
255255 return SpecFinalObject;
256256
257  if (classInfo == &JSArray::s_info)
 257 if (classInfo == JSArray::info())
258258 return SpecArray;
259259
260  if (classInfo == &Arguments::s_info)
 260 if (classInfo == Arguments::info())
261261 return SpecArguments;
262262
263  if (classInfo == &StringObject::s_info)
 263 if (classInfo == StringObject::info())
264264 return SpecStringObject;
265265
266  if (classInfo->isSubClassOf(&JSFunction::s_info))
 266 if (classInfo->isSubClassOf(JSFunction::info()))
267267 return SpecFunction;
268268
269269 if (classInfo->typedArrayStorageType != TypedArrayNone) {

@@SpeculatedType speculationFromClassInfo(
291291 }
292292 }
293293
294  if (classInfo->isSubClassOf(&JSObject::s_info))
 294 if (classInfo->isSubClassOf(JSObject::info()))
295295 return SpecObjectOther;
296296
297297 return SpecCellOther;
154013

Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp

@@size_t UnlinkedFunctionExecutable::param
108108void UnlinkedFunctionExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor)
109109{
110110 UnlinkedFunctionExecutable* thisObject = jsCast<UnlinkedFunctionExecutable*>(cell);
111  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 111 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
112112 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
113113 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
114114 Base::visitChildren(thisObject, visitor);

@@UnlinkedCodeBlock::UnlinkedCodeBlock(VM*
221221void UnlinkedCodeBlock::visitChildren(JSCell* cell, SlotVisitor& visitor)
222222{
223223 UnlinkedCodeBlock* thisObject = jsCast<UnlinkedCodeBlock*>(cell);
224  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 224 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
225225 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
226226 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
227227 Base::visitChildren(thisObject, visitor);

@@void UnlinkedCodeBlock::addExpressionInf
357357void UnlinkedProgramCodeBlock::visitChildren(JSCell* cell, SlotVisitor& visitor)
358358{
359359 UnlinkedProgramCodeBlock* thisObject = jsCast<UnlinkedProgramCodeBlock*>(cell);
360  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 360 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
361361 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
362362 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
363363 Base::visitChildren(thisObject, visitor);
154013

Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h

@@protected:
179179public:
180180 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
181181 {
182  return Structure::create(vm, globalObject, proto, TypeInfo(UnlinkedFunctionExecutableType, StructureFlags), &s_info);
 182 return Structure::create(vm, globalObject, proto, TypeInfo(UnlinkedFunctionExecutableType, StructureFlags), info());
183183 }
184184
185185 static const unsigned StructureFlags = OverridesVisitChildren | JSCell::StructureFlags;
186186
187  static const ClassInfo s_info;
 187 DECLARE_INFO;
188188};
189189
190190struct UnlinkedStringJumpTable {

@@protected:
547547 static void visitChildren(JSCell*, SlotVisitor&);
548548
549549public:
550  static const ClassInfo s_info;
 550 DECLARE_INFO;
551551};
552552
553553class UnlinkedGlobalCodeBlock : public UnlinkedCodeBlock {

@@protected:
562562
563563 static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
564564
565  static const ClassInfo s_info;
 565 DECLARE_INFO;
566566};
567567
568568class UnlinkedProgramCodeBlock : public UnlinkedGlobalCodeBlock {

@@private:
609609public:
610610 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
611611 {
612  return Structure::create(vm, globalObject, proto, TypeInfo(UnlinkedProgramCodeBlockType, StructureFlags), &s_info);
 612 return Structure::create(vm, globalObject, proto, TypeInfo(UnlinkedProgramCodeBlockType, StructureFlags), info());
613613 }
614614
615615 static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
616616
617  static const ClassInfo s_info;
 617 DECLARE_INFO;
618618};
619619
620620class UnlinkedEvalCodeBlock : public UnlinkedGlobalCodeBlock {

@@private:
651651public:
652652 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
653653 {
654  return Structure::create(vm, globalObject, proto, TypeInfo(UnlinkedEvalCodeBlockType, StructureFlags), &s_info);
 654 return Structure::create(vm, globalObject, proto, TypeInfo(UnlinkedEvalCodeBlockType, StructureFlags), info());
655655 }
656656
657657 static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
658658
659  static const ClassInfo s_info;
 659 DECLARE_INFO;
660660};
661661
662662class UnlinkedFunctionCodeBlock : public UnlinkedCodeBlock {

@@private:
680680public:
681681 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
682682 {
683  return Structure::create(vm, globalObject, proto, TypeInfo(UnlinkedFunctionCodeBlockType, StructureFlags), &s_info);
 683 return Structure::create(vm, globalObject, proto, TypeInfo(UnlinkedFunctionCodeBlockType, StructureFlags), info());
684684 }
685685
686686 static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
687687
688  static const ClassInfo s_info;
 688 DECLARE_INFO;
689689};
690690
691691}
154013

Source/JavaScriptCore/debugger/Debugger.cpp

@@inline Recompiler::~Recompiler()
6565
6666inline void Recompiler::operator()(JSCell* cell)
6767{
68  if (!cell->inherits(&JSFunction::s_info))
 68 if (!cell->inherits(JSFunction::info()))
6969 return;
7070
7171 JSFunction* function = jsCast<JSFunction*>(cell);
154013

Source/JavaScriptCore/debugger/DebuggerActivation.cpp

@@void DebuggerActivation::finishCreation(
5151void DebuggerActivation::visitChildren(JSCell* cell, SlotVisitor& visitor)
5252{
5353 DebuggerActivation* thisObject = jsCast<DebuggerActivation*>(cell);
54  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 54 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
5555 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
5656 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
5757
154013

Source/JavaScriptCore/debugger/DebuggerActivation.h

@@namespace JSC {
5151 static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
5252 static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, PropertyDescriptor&, bool shouldThrow);
5353
54  JS_EXPORTDATA static const ClassInfo s_info;
 54 DECLARE_EXPORT_INFO;
5555
5656 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5757 {
58  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 58 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5959 }
6060
6161 protected:
154013

Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp

@@String DebuggerCallFrame::functionName()
4646 return String();
4747
4848 JSObject* function = m_callFrame->callee();
49  if (!function || !function->inherits(&JSFunction::s_info))
 49 if (!function || !function->inherits(JSFunction::info()))
5050 return String();
5151 return jsCast<JSFunction*>(function)->name(m_callFrame);
5252}
154013

Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h

@@bool AbstractInterpreter<AbstractStateTy
10171017 }
10181018
10191019 case NewStringObject: {
1020  ASSERT(node->structure()->classInfo() == &StringObject::s_info);
 1020 ASSERT(node->structure()->classInfo() == StringObject::info());
10211021 forNode(node).set(m_graph, node->structure());
10221022 break;
10231023 }
154013

Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp

@@bool ByteCodeParser::handleConstantInter
15871587
15881588 UNUSED_PARAM(prediction); // Remove this once we do more things.
15891589
1590  if (function->classInfo() == &ArrayConstructor::s_info) {
 1590 if (function->classInfo() == ArrayConstructor::info()) {
15911591 if (argumentCountIncludingThis == 2) {
15921592 set(resultOperand,
15931593 addToGraph(NewArrayWithSize, OpInfo(ArrayWithUndecided), get(registerOffset + argumentToOperand(1))));

@@bool ByteCodeParser::handleConstantInter
15991599 set(resultOperand,
16001600 addToGraph(Node::VarArg, NewArray, OpInfo(ArrayWithUndecided), OpInfo(0)));
16011601 return true;
1602  } else if (function->classInfo() == &StringConstructor::s_info) {
 1602 } else if (function->classInfo() == StringConstructor::info()) {
16031603 Node* result;
16041604
16051605 if (argumentCountIncludingThis <= 1)

@@bool ByteCodeParser::parseBlock(unsigned
18221822 if (profile->m_singletonValueIsTop
18231823 || !profile->m_singletonValue
18241824 || !profile->m_singletonValue.isCell()
1825  || profile->m_singletonValue.asCell()->classInfo() != &Structure::s_info)
 1825 || profile->m_singletonValue.asCell()->classInfo() != Structure::info())
18261826 setThis(addToGraph(ToThis, op1));
18271827 else {
18281828 addToGraph(

@@bool ByteCodeParser::parseBlock(unsigned
18401840 bool alreadyEmitted = false;
18411841 if (callee->op() == WeakJSConstant) {
18421842 JSCell* cell = callee->weakConstant();
1843  ASSERT(cell->inherits(&JSFunction::s_info));
 1843 ASSERT(cell->inherits(JSFunction::info()));
18441844
18451845 JSFunction* function = jsCast<JSFunction*>(cell);
18461846 ObjectAllocationProfile* allocationProfile = function->tryGetAllocationProfile();

@@bool ByteCodeParser::parseBlock(unsigned
19191919 || !profile->m_singletonValue.isCell())
19201920 set(currentInstruction[1].u.operand, get(JSStack::Callee));
19211921 else {
1922  ASSERT(profile->m_singletonValue.asCell()->inherits(&JSFunction::s_info));
 1922 ASSERT(profile->m_singletonValue.asCell()->inherits(JSFunction::info()));
19231923 Node* actualCallee = get(JSStack::Callee);
19241924 addToGraph(CheckFunction, OpInfo(profile->m_singletonValue.asCell()), actualCallee);
19251925 set(currentInstruction[1].u.operand, addToGraph(WeakJSConstant, OpInfo(profile->m_singletonValue.asCell())));
154013

Source/JavaScriptCore/dfg/DFGFixupPhase.cpp

@@private:
11341134 if (!specificValue)
11351135 return false;
11361136
1137  if (!specificValue->inherits(&JSFunction::s_info))
 1137 if (!specificValue->inherits(JSFunction::info()))
11381138 return false;
11391139
11401140 JSFunction* function = jsCast<JSFunction*>(specificValue);

@@private:
11511151
11521152 Structure* stringObjectStructure = m_graph.globalObjectFor(codeOrigin)->stringObjectStructure();
11531153 ASSERT(stringObjectStructure->storedPrototype().isObject());
1154  ASSERT(stringObjectStructure->storedPrototype().asCell()->classInfo() == &StringPrototype::s_info);
 1154 ASSERT(stringObjectStructure->storedPrototype().asCell()->classInfo() == StringPrototype::info());
11551155
11561156 JSObject* stringPrototypeObject = asObject(stringObjectStructure->storedPrototype());
11571157 Structure* stringPrototypeStructure = stringPrototypeObject->structure();
154013

Source/JavaScriptCore/dfg/DFGGraph.cpp

@@void Graph::dump(PrintStream& out, const
198198 out.print(comma, inContext(*node->structureTransitionData().previousStructure, context), " -> ", inContext(*node->structureTransitionData().newStructure, context));
199199 if (node->hasFunction()) {
200200 out.print(comma, "function(", RawPointer(node->function()), ", ");
201  if (node->function()->inherits(&JSFunction::s_info)) {
 201 if (node->function()->inherits(JSFunction::info())) {
202202 JSFunction* function = jsCast<JSFunction*>(node->function());
203203 if (function->isHostFunction())
204204 out.print("<host function>");

@@void Graph::dump(PrintStream& out, const
209209 out.print(")");
210210 }
211211 if (node->hasExecutable()) {
212  if (node->executable()->inherits(&FunctionExecutable::s_info))
 212 if (node->executable()->inherits(FunctionExecutable::info()))
213213 out.print(comma, "executable(", FunctionExecutableDump(jsCast<FunctionExecutable*>(node->executable())), ")");
214214 else
215215 out.print(comma, "executable(not function: ", RawPointer(node->executable()), ")");
154013

Source/JavaScriptCore/dfg/DFGGraph.h

@@public:
276276 if (!value.isCell() || !value)
277277 return false;
278278 JSCell* cell = value.asCell();
279  if (!cell->inherits(&InternalFunction::s_info))
 279 if (!cell->inherits(InternalFunction::info()))
280280 return false;
281281 return true;
282282 }
154013

Source/JavaScriptCore/dfg/DFGOperations.cpp

@@EncodedJSValue DFG_OPERATION operationRe
756756 VM& vm = exec->vm();
757757 NativeCallFrameTracer tracer(&vm, exec);
758758
759  if (!base->inherits(&RegExpObject::s_info))
 759 if (!base->inherits(RegExpObject::info()))
760760 return throwVMTypeError(exec);
761761
762762 ASSERT(argument->isString() || argument->isObject());

@@size_t DFG_OPERATION operationRegExpTest
769769 VM& vm = exec->vm();
770770 NativeCallFrameTracer tracer(&vm, exec);
771771
772  if (!base->inherits(&RegExpObject::s_info)) {
 772 if (!base->inherits(RegExpObject::info())) {
773773 throwTypeError(exec);
774774 return false;
775775 }

@@EncodedJSValue DFG_OPERATION operationGe
14281428
14291429JSCell* DFG_OPERATION operationNewFunctionNoCheck(ExecState* exec, JSCell* functionExecutable)
14301430{
1431  ASSERT(functionExecutable->inherits(&FunctionExecutable::s_info));
 1431 ASSERT(functionExecutable->inherits(FunctionExecutable::info()));
14321432 VM& vm = exec->vm();
14331433 NativeCallFrameTracer tracer(&vm, exec);
14341434 return JSFunction::create(exec, static_cast<FunctionExecutable*>(functionExecutable), exec->scope());

@@JSCell* DFG_OPERATION operationNewFuncti
14361436
14371437EncodedJSValue DFG_OPERATION operationNewFunction(ExecState* exec, JSCell* functionExecutable)
14381438{
1439  ASSERT(functionExecutable->inherits(&FunctionExecutable::s_info));
 1439 ASSERT(functionExecutable->inherits(FunctionExecutable::info()));
14401440 VM& vm = exec->vm();
14411441 NativeCallFrameTracer tracer(&vm, exec);
14421442 return JSValue::encode(JSFunction::create(exec, static_cast<FunctionExecutable*>(functionExecutable), exec->scope()));

@@EncodedJSValue DFG_OPERATION operationNe
14441444
14451445JSCell* DFG_OPERATION operationNewFunctionExpression(ExecState* exec, JSCell* functionExecutableAsCell)
14461446{
1447  ASSERT(functionExecutableAsCell->inherits(&FunctionExecutable::s_info));
 1447 ASSERT(functionExecutableAsCell->inherits(FunctionExecutable::info()));
14481448
14491449 VM& vm = exec->vm();
14501450 NativeCallFrameTracer tracer(&vm, exec);
154013

Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp

@@void SpeculativeJIT::checkArray(Node* no
705705
706706 switch (node->arrayMode().type()) {
707707 case Array::String:
708  expectedClassInfo = &JSString::s_info;
 708 expectedClassInfo = JSString::info();
709709 break;
710710 case Array::Int32:
711711 case Array::Double:

@@void SpeculativeJIT::checkArray(Node* no
725725 return;
726726 }
727727 case Array::Arguments:
728  expectedClassInfo = &Arguments::s_info;
 728 expectedClassInfo = Arguments::info();
729729 break;
730730 case Array::Int8Array:
731731 case Array::Int16Array:

@@void SpeculativeJIT::compileNewStringObj
44514451 slowPath);
44524452
44534453 m_jit.storePtr(
4454  TrustedImmPtr(&StringObject::s_info),
 4454 TrustedImmPtr(StringObject::info()),
44554455 JITCompiler::Address(resultGPR, JSDestructibleObject::classInfoOffset()));
44564456#if USE(JSVALUE64)
44574457 m_jit.store64(
154013

Source/JavaScriptCore/dfg/DFGThunks.cpp

@@static MacroAssemblerCodeRef virtualForT
254254 jit.branchPtr(
255255 CCallHelpers::NotEqual,
256256 CCallHelpers::Address(GPRInfo::nonArgGPR2, Structure::classInfoOffset()),
257  CCallHelpers::TrustedImmPtr(&JSFunction::s_info)));
 257 CCallHelpers::TrustedImmPtr(JSFunction::info())));
258258
259259 // Now we know we have a JSFunction.
260260
154013

Source/JavaScriptCore/interpreter/Interpreter.cpp

@@CallFrame* loadVarargs(CallFrame* callFr
181181 return 0;
182182 }
183183
184  if (asObject(arguments)->classInfo() == &Arguments::s_info) {
 184 if (asObject(arguments)->classInfo() == Arguments::info()) {
185185 Arguments* argsObject = asArguments(arguments);
186186 unsigned argCount = argsObject->length(callFrame);
187187 CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + firstFreeRegister + CallFrame::offsetFor(argCount + 1));
154013

Source/JavaScriptCore/profiler/LegacyProfiler.cpp

@@CallIdentifier LegacyProfiler::createCal
168168 return CallIdentifier(GlobalCodeExecution, defaultSourceURL, defaultLineNumber);
169169 if (!functionValue.isObject())
170170 return CallIdentifier("(unknown)", defaultSourceURL, defaultLineNumber);
171  if (asObject(functionValue)->inherits(&JSFunction::s_info) || asObject(functionValue)->inherits(&InternalFunction::s_info))
 171 if (asObject(functionValue)->inherits(JSFunction::info()) || asObject(functionValue)->inherits(InternalFunction::info()))
172172 return createCallIdentifierFromFunctionImp(exec, asObject(functionValue), defaultSourceURL, defaultLineNumber);
173173 return CallIdentifier(makeString("(", asObject(functionValue)->methodTable()->className(asObject(functionValue)), " object)"), defaultSourceURL, defaultLineNumber);
174174}
154013

Source/JavaScriptCore/runtime/Arguments.cpp

@@const ClassInfo Arguments::s_info = { "A
4040void Arguments::visitChildren(JSCell* cell, SlotVisitor& visitor)
4141{
4242 Arguments* thisObject = jsCast<Arguments*>(cell);
43  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 43 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4444 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4545 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4646 JSObject::visitChildren(thisObject, visitor);
154013

Source/JavaScriptCore/runtime/Arguments.h

@@private:
6565 void tearOffForInlineCallFrame(VM& vm, Register*, InlineCallFrame*);
6666
6767public:
68  static const ClassInfo s_info;
 68 DECLARE_INFO;
6969
7070 static void visitChildren(JSCell*, SlotVisitor&);
7171

@@public:
8686
8787 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
8888 {
89  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 89 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
9090 }
9191
9292protected:

@@Arguments* asArguments(JSValue);
143143
144144inline Arguments* asArguments(JSValue value)
145145{
146  ASSERT(asObject(value)->inherits(&Arguments::s_info));
 146 ASSERT(asObject(value)->inherits(Arguments::info()));
147147 return static_cast<Arguments*>(asObject(value));
148148}
149149

@@inline WriteBarrierBase<Unknown>& Argume
228228inline void Arguments::finishCreation(CallFrame* callFrame)
229229{
230230 Base::finishCreation(callFrame->vm());
231  ASSERT(inherits(&s_info));
 231 ASSERT(inherits(info()));
232232
233233 JSFunction* callee = jsCast<JSFunction*>(callFrame->callee());
234234 m_numArguments = callFrame->argumentCount();

@@inline void Arguments::finishCreation(Ca
257257inline void Arguments::finishCreation(CallFrame* callFrame, InlineCallFrame* inlineCallFrame)
258258{
259259 Base::finishCreation(callFrame->vm());
260  ASSERT(inherits(&s_info));
 260 ASSERT(inherits(info()));
261261
262262 JSFunction* callee = inlineCallFrame->calleeForCallFrame(callFrame);
263263 m_numArguments = inlineCallFrame->arguments.size() - 1;
154013

Source/JavaScriptCore/runtime/ArrayConstructor.cpp

@@CallType ArrayConstructor::getCallData(J
128128
129129EncodedJSValue JSC_HOST_CALL arrayConstructorIsArray(ExecState* exec)
130130{
131  return JSValue::encode(jsBoolean(exec->argument(0).inherits(&JSArray::s_info)));
 131 return JSValue::encode(jsBoolean(exec->argument(0).inherits(JSArray::info())));
132132}
133133
134134} // namespace JSC
154013

Source/JavaScriptCore/runtime/ArrayConstructor.h

@@public:
4040 return constructor;
4141 }
4242
43  static const ClassInfo s_info;
 43 DECLARE_INFO;
4444
4545 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4646 {
47  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 47 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4848 }
4949
5050protected:
154013

Source/JavaScriptCore/runtime/ArrayPrototype.cpp

@@void ArrayPrototype::finishCreation(JSGl
132132{
133133 VM& vm = globalObject->vm();
134134 Base::finishCreation(vm);
135  ASSERT(inherits(&s_info));
 135 ASSERT(inherits(info()));
136136 vm.prototypeMap.addPrototype(this);
137137}
138138

@@EncodedJSValue JSC_HOST_CALL arrayProtoF
427427 size_t i = 0;
428428 size_t argCount = exec->argumentCount();
429429 while (1) {
430  if (curArg.inherits(&JSArray::s_info)) {
 430 if (curArg.inherits(JSArray::info())) {
431431 unsigned length = curArg.get(exec, exec->propertyNames().length).toUInt32(exec);
432432 JSObject* curObject = curArg.toObject(exec);
433433 for (unsigned k = 0; k < length; ++k) {

@@inline JSValue getOrHole(JSObject* obj,
610610
611611static bool attemptFastSort(ExecState* exec, JSObject* thisObj, JSValue function, CallData& callData, CallType& callType)
612612{
613  if (thisObj->classInfo() != &JSArray::s_info
 613 if (thisObj->classInfo() != JSArray::info()
614614 || asArray(thisObj)->hasSparseMap()
615615 || shouldUseSlowPut(thisObj->structure()->indexingType()))
616616 return false;
154013

Source/JavaScriptCore/runtime/ArrayPrototype.h

@@public:
3838 static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
3939 static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
4040
41  static const ClassInfo s_info;
 41 DECLARE_INFO;
4242
4343 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4444 {
45  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info, ArrayClass);
 45 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info(), ArrayClass);
4646 }
4747
4848protected:
154013

Source/JavaScriptCore/runtime/BooleanConstructor.h

@@public:
3838 return constructor;
3939 }
4040
41  static const ClassInfo s_info;
 41 DECLARE_INFO;
4242
4343 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4444 {
45  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 45 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4646 }
4747
4848protected:
154013

Source/JavaScriptCore/runtime/BooleanObject.cpp

@@BooleanObject::BooleanObject(VM& vm, Str
3838void BooleanObject::finishCreation(VM& vm)
3939{
4040 Base::finishCreation(vm);
41  ASSERT(inherits(&s_info));
 41 ASSERT(inherits(info()));
4242}
4343
4444} // namespace JSC
154013

Source/JavaScriptCore/runtime/BooleanObject.h

@@public:
4040 return boolean;
4141 }
4242
43  static JS_EXPORTDATA const ClassInfo s_info;
 43 DECLARE_EXPORT_INFO;
4444
4545 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4646 {
47  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 47 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4848 }
4949};
5050

@@BooleanObject* asBooleanObject(JSValue);
5252
5353inline BooleanObject* asBooleanObject(JSValue value)
5454{
55  ASSERT(asObject(value)->inherits(&BooleanObject::s_info));
 55 ASSERT(asObject(value)->inherits(BooleanObject::info()));
5656 return static_cast<BooleanObject*>(asObject(value));
5757}
5858
154013

Source/JavaScriptCore/runtime/BooleanPrototype.cpp

@@void BooleanPrototype::finishCreation(Ex
6060 Base::finishCreation(exec->vm());
6161 setInternalValue(exec->vm(), jsBoolean(false));
6262
63  ASSERT(inherits(&s_info));
 63 ASSERT(inherits(info()));
6464}
6565
6666bool BooleanPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &slot)

@@EncodedJSValue JSC_HOST_CALL booleanProt
8585 if (thisValue == jsBoolean(true))
8686 return JSValue::encode(vm->smallStrings.trueString());
8787
88  if (!thisValue.inherits(&BooleanObject::s_info))
 88 if (!thisValue.inherits(BooleanObject::info()))
8989 return throwVMTypeError(exec);
9090
9191 if (asBooleanObject(thisValue)->internalValue() == jsBoolean(false))

@@EncodedJSValue JSC_HOST_CALL booleanProt
101101 if (thisValue.isBoolean())
102102 return JSValue::encode(thisValue);
103103
104  if (!thisValue.inherits(&BooleanObject::s_info))
 104 if (!thisValue.inherits(BooleanObject::info()))
105105 return throwVMTypeError(exec);
106106
107107 return JSValue::encode(asBooleanObject(thisValue)->internalValue());
154013

Source/JavaScriptCore/runtime/BooleanPrototype.h

@@public:
3636 return prototype;
3737 }
3838
39  static const ClassInfo s_info;
 39 DECLARE_INFO;
4040
4141 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4242 {
43  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 43 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4444 }
4545
4646protected:
154013

Source/JavaScriptCore/runtime/DateConstructor.cpp

@@JSObject* constructDate(ExecState* exec,
106106 if (numArgs == 0) // new Date() ECMA 15.9.3.3
107107 value = jsCurrentTime();
108108 else if (numArgs == 1) {
109  if (args.at(0).inherits(&DateInstance::s_info))
 109 if (args.at(0).inherits(DateInstance::info()))
110110 value = asDateInstance(args.at(0))->internalNumber();
111111 else {
112112 JSValue primitive = args.at(0).toPrimitive(exec);
154013

Source/JavaScriptCore/runtime/DateConstructor.h

@@namespace JSC {
3838 return constructor;
3939 }
4040
41  static const ClassInfo s_info;
 41 DECLARE_INFO;
4242
4343 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4444 {
45  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 45 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4646 }
4747
4848 protected:
154013

Source/JavaScriptCore/runtime/DateInstance.cpp

@@DateInstance::DateInstance(ExecState* ex
4242void DateInstance::finishCreation(VM& vm)
4343{
4444 Base::finishCreation(vm);
45  ASSERT(inherits(&s_info));
 45 ASSERT(inherits(info()));
4646 setInternalValue(vm, jsNaN());
4747}
4848
4949void DateInstance::finishCreation(VM& vm, double time)
5050{
5151 Base::finishCreation(vm);
52  ASSERT(inherits(&s_info));
 52 ASSERT(inherits(info()));
5353 setInternalValue(vm, jsNumber(timeClip(time)));
5454}
5555
154013

Source/JavaScriptCore/runtime/DateInstance.h

@@namespace JSC {
5252
5353 double internalNumber() const { return internalValue().asNumber(); }
5454
55  static JS_EXPORTDATA const ClassInfo s_info;
 55 DECLARE_EXPORT_INFO;
5656
5757 const GregorianDateTime* gregorianDateTime(ExecState* exec) const
5858 {

@@namespace JSC {
7070
7171 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
7272 {
73  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 73 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
7474 }
7575
7676 private:

@@namespace JSC {
8484
8585 inline DateInstance* asDateInstance(JSValue value)
8686 {
87  ASSERT(asObject(value)->inherits(&DateInstance::s_info));
 87 ASSERT(asObject(value)->inherits(DateInstance::info()));
8888 return static_cast<DateInstance*>(asObject(value));
8989 }
9090
154013

Source/JavaScriptCore/runtime/DatePrototype.cpp

@@static JSCell* formatLocaleDate(ExecStat
341341static EncodedJSValue formateDateInstance(ExecState* exec, DateTimeFormat format, bool asUTCVariant)
342342{
343343 JSValue thisValue = exec->hostThisValue();
344  if (!thisValue.inherits(&DateInstance::s_info))
 344 if (!thisValue.inherits(DateInstance::info()))
345345 return throwVMTypeError(exec);
346346
347347 DateInstance* thisDateObj = asDateInstance(thisValue);

@@DatePrototype::DatePrototype(ExecState*
509509void DatePrototype::finishCreation(ExecState* exec, JSGlobalObject*)
510510{
511511 Base::finishCreation(exec->vm());
512  ASSERT(inherits(&s_info));
 512 ASSERT(inherits(info()));
513513
514514 // The constructor will be added later, after DateConstructor has been built.
515515}

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
541541EncodedJSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState* exec)
542542{
543543 JSValue thisValue = exec->hostThisValue();
544  if (!thisValue.inherits(&DateInstance::s_info))
 544 if (!thisValue.inherits(DateInstance::info()))
545545 return throwVMTypeError(exec);
546546
547547 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
587587EncodedJSValue JSC_HOST_CALL dateProtoFuncToLocaleString(ExecState* exec)
588588{
589589 JSValue thisValue = exec->hostThisValue();
590  if (!thisValue.inherits(&DateInstance::s_info))
 590 if (!thisValue.inherits(DateInstance::info()))
591591 return throwVMTypeError(exec);
592592
593593 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
597597EncodedJSValue JSC_HOST_CALL dateProtoFuncToLocaleDateString(ExecState* exec)
598598{
599599 JSValue thisValue = exec->hostThisValue();
600  if (!thisValue.inherits(&DateInstance::s_info))
 600 if (!thisValue.inherits(DateInstance::info()))
601601 return throwVMTypeError(exec);
602602
603603 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
607607EncodedJSValue JSC_HOST_CALL dateProtoFuncToLocaleTimeString(ExecState* exec)
608608{
609609 JSValue thisValue = exec->hostThisValue();
610  if (!thisValue.inherits(&DateInstance::s_info))
 610 if (!thisValue.inherits(DateInstance::info()))
611611 return throwVMTypeError(exec);
612612
613613 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
617617EncodedJSValue JSC_HOST_CALL dateProtoFuncGetTime(ExecState* exec)
618618{
619619 JSValue thisValue = exec->hostThisValue();
620  if (!thisValue.inherits(&DateInstance::s_info))
 620 if (!thisValue.inherits(DateInstance::info()))
621621 return throwVMTypeError(exec);
622622
623623 return JSValue::encode(asDateInstance(thisValue)->internalValue());

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
626626EncodedJSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState* exec)
627627{
628628 JSValue thisValue = exec->hostThisValue();
629  if (!thisValue.inherits(&DateInstance::s_info))
 629 if (!thisValue.inherits(DateInstance::info()))
630630 return throwVMTypeError(exec);
631631
632632 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
640640EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCFullYear(ExecState* exec)
641641{
642642 JSValue thisValue = exec->hostThisValue();
643  if (!thisValue.inherits(&DateInstance::s_info))
 643 if (!thisValue.inherits(DateInstance::info()))
644644 return throwVMTypeError(exec);
645645
646646 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
660660EncodedJSValue JSC_HOST_CALL dateProtoFuncGetMonth(ExecState* exec)
661661{
662662 JSValue thisValue = exec->hostThisValue();
663  if (!thisValue.inherits(&DateInstance::s_info))
 663 if (!thisValue.inherits(DateInstance::info()))
664664 return throwVMTypeError(exec);
665665
666666 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
674674EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCMonth(ExecState* exec)
675675{
676676 JSValue thisValue = exec->hostThisValue();
677  if (!thisValue.inherits(&DateInstance::s_info))
 677 if (!thisValue.inherits(DateInstance::info()))
678678 return throwVMTypeError(exec);
679679
680680 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
688688EncodedJSValue JSC_HOST_CALL dateProtoFuncGetDate(ExecState* exec)
689689{
690690 JSValue thisValue = exec->hostThisValue();
691  if (!thisValue.inherits(&DateInstance::s_info))
 691 if (!thisValue.inherits(DateInstance::info()))
692692 return throwVMTypeError(exec);
693693
694694 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
702702EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCDate(ExecState* exec)
703703{
704704 JSValue thisValue = exec->hostThisValue();
705  if (!thisValue.inherits(&DateInstance::s_info))
 705 if (!thisValue.inherits(DateInstance::info()))
706706 return throwVMTypeError(exec);
707707
708708 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
716716EncodedJSValue JSC_HOST_CALL dateProtoFuncGetDay(ExecState* exec)
717717{
718718 JSValue thisValue = exec->hostThisValue();
719  if (!thisValue.inherits(&DateInstance::s_info))
 719 if (!thisValue.inherits(DateInstance::info()))
720720 return throwVMTypeError(exec);
721721
722722 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
730730EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState* exec)
731731{
732732 JSValue thisValue = exec->hostThisValue();
733  if (!thisValue.inherits(&DateInstance::s_info))
 733 if (!thisValue.inherits(DateInstance::info()))
734734 return throwVMTypeError(exec);
735735
736736 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
744744EncodedJSValue JSC_HOST_CALL dateProtoFuncGetHours(ExecState* exec)
745745{
746746 JSValue thisValue = exec->hostThisValue();
747  if (!thisValue.inherits(&DateInstance::s_info))
 747 if (!thisValue.inherits(DateInstance::info()))
748748 return throwVMTypeError(exec);
749749
750750 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
758758EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCHours(ExecState* exec)
759759{
760760 JSValue thisValue = exec->hostThisValue();
761  if (!thisValue.inherits(&DateInstance::s_info))
 761 if (!thisValue.inherits(DateInstance::info()))
762762 return throwVMTypeError(exec);
763763
764764 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
772772EncodedJSValue JSC_HOST_CALL dateProtoFuncGetMinutes(ExecState* exec)
773773{
774774 JSValue thisValue = exec->hostThisValue();
775  if (!thisValue.inherits(&DateInstance::s_info))
 775 if (!thisValue.inherits(DateInstance::info()))
776776 return throwVMTypeError(exec);
777777
778778 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
786786EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCMinutes(ExecState* exec)
787787{
788788 JSValue thisValue = exec->hostThisValue();
789  if (!thisValue.inherits(&DateInstance::s_info))
 789 if (!thisValue.inherits(DateInstance::info()))
790790 return throwVMTypeError(exec);
791791
792792 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
800800EncodedJSValue JSC_HOST_CALL dateProtoFuncGetSeconds(ExecState* exec)
801801{
802802 JSValue thisValue = exec->hostThisValue();
803  if (!thisValue.inherits(&DateInstance::s_info))
 803 if (!thisValue.inherits(DateInstance::info()))
804804 return throwVMTypeError(exec);
805805
806806 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
814814EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCSeconds(ExecState* exec)
815815{
816816 JSValue thisValue = exec->hostThisValue();
817  if (!thisValue.inherits(&DateInstance::s_info))
 817 if (!thisValue.inherits(DateInstance::info()))
818818 return throwVMTypeError(exec);
819819
820820 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
828828EncodedJSValue JSC_HOST_CALL dateProtoFuncGetMilliSeconds(ExecState* exec)
829829{
830830 JSValue thisValue = exec->hostThisValue();
831  if (!thisValue.inherits(&DateInstance::s_info))
 831 if (!thisValue.inherits(DateInstance::info()))
832832 return throwVMTypeError(exec);
833833
834834 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
844844EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCMilliseconds(ExecState* exec)
845845{
846846 JSValue thisValue = exec->hostThisValue();
847  if (!thisValue.inherits(&DateInstance::s_info))
 847 if (!thisValue.inherits(DateInstance::info()))
848848 return throwVMTypeError(exec);
849849
850850 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
860860EncodedJSValue JSC_HOST_CALL dateProtoFuncGetTimezoneOffset(ExecState* exec)
861861{
862862 JSValue thisValue = exec->hostThisValue();
863  if (!thisValue.inherits(&DateInstance::s_info))
 863 if (!thisValue.inherits(DateInstance::info()))
864864 return throwVMTypeError(exec);
865865
866866 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
874874EncodedJSValue JSC_HOST_CALL dateProtoFuncSetTime(ExecState* exec)
875875{
876876 JSValue thisValue = exec->hostThisValue();
877  if (!thisValue.inherits(&DateInstance::s_info))
 877 if (!thisValue.inherits(DateInstance::info()))
878878 return throwVMTypeError(exec);
879879
880880 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
888888static EncodedJSValue setNewValueFromTimeArgs(ExecState* exec, int numArgsToUse, bool inputIsUTC)
889889{
890890 JSValue thisValue = exec->hostThisValue();
891  if (!thisValue.inherits(&DateInstance::s_info))
 891 if (!thisValue.inherits(DateInstance::info()))
892892 return throwVMTypeError(exec);
893893
894894 DateInstance* thisDateObj = asDateInstance(thisValue);

@@static EncodedJSValue setNewValueFromTim
925925static EncodedJSValue setNewValueFromDateArgs(ExecState* exec, int numArgsToUse, bool inputIsUTC)
926926{
927927 JSValue thisValue = exec->hostThisValue();
928  if (!thisValue.inherits(&DateInstance::s_info))
 928 if (!thisValue.inherits(DateInstance::info()))
929929 return throwVMTypeError(exec);
930930
931931 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
10491049EncodedJSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState* exec)
10501050{
10511051 JSValue thisValue = exec->hostThisValue();
1052  if (!thisValue.inherits(&DateInstance::s_info))
 1052 if (!thisValue.inherits(DateInstance::info()))
10531053 return throwVMTypeError(exec);
10541054
10551055 DateInstance* thisDateObj = asDateInstance(thisValue);

@@EncodedJSValue JSC_HOST_CALL dateProtoFu
10901090EncodedJSValue JSC_HOST_CALL dateProtoFuncGetYear(ExecState* exec)
10911091{
10921092 JSValue thisValue = exec->hostThisValue();
1093  if (!thisValue.inherits(&DateInstance::s_info))
 1093 if (!thisValue.inherits(DateInstance::info()))
10941094 return throwVMTypeError(exec);
10951095
10961096 DateInstance* thisDateObj = asDateInstance(thisValue);
154013

Source/JavaScriptCore/runtime/DatePrototype.h

@@namespace JSC {
4444
4545 static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
4646
47  static const ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5050 {
51  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 51 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5252 }
5353
5454 protected:
154013

Source/JavaScriptCore/runtime/Error.h

@@namespace JSC {
117117 return CallTypeHost;
118118 }
119119
120  static const ClassInfo s_info;
 120 DECLARE_INFO;
121121
122122 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
123123 {
124  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 124 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
125125 }
126126
127127 private:
154013

Source/JavaScriptCore/runtime/ErrorConstructor.h

@@namespace JSC {
3939 return constructor;
4040 }
4141
42  static const ClassInfo s_info;
 42 DECLARE_INFO;
4343
4444 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4545 {
46  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 46 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4747 }
4848
4949 protected:
154013

Source/JavaScriptCore/runtime/ErrorInstance.cpp

@@ErrorInstance::ErrorInstance(VM& vm, Str
3939void ErrorInstance::finishCreation(VM& vm, const String& message, Vector<StackFrame> stackTrace)
4040{
4141 Base::finishCreation(vm);
42  ASSERT(inherits(&s_info));
 42 ASSERT(inherits(info()));
4343 if (!message.isNull())
4444 putDirect(vm, vm.propertyNames->message, jsString(&vm, message), DontEnum);
4545
154013

Source/JavaScriptCore/runtime/ErrorInstance.h

@@namespace JSC {
3131 public:
3232 typedef JSNonFinalObject Base;
3333
34  static const ClassInfo s_info;
 34 DECLARE_INFO;
3535
3636 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
3737 {
38  return Structure::create(vm, globalObject, prototype, TypeInfo(ErrorInstanceType, StructureFlags), &s_info);
 38 return Structure::create(vm, globalObject, prototype, TypeInfo(ErrorInstanceType, StructureFlags), info());
3939 }
4040
4141 static ErrorInstance* create(VM& vm, Structure* structure, const String& message, Vector<StackFrame> stackTrace = Vector<StackFrame>())
154013

Source/JavaScriptCore/runtime/ErrorPrototype.cpp

@@ErrorPrototype::ErrorPrototype(ExecState
5757void ErrorPrototype::finishCreation(ExecState* exec, JSGlobalObject*)
5858{
5959 Base::finishCreation(exec->vm(), "");
60  ASSERT(inherits(&s_info));
 60 ASSERT(inherits(info()));
6161 putDirect(exec->vm(), exec->propertyNames().name, jsNontrivialString(exec, String(ASCIILiteral("Error"))), DontEnum);
6262}
6363
154013

Source/JavaScriptCore/runtime/ErrorPrototype.h

@@namespace JSC {
3838 return prototype;
3939 }
4040
41  static const ClassInfo s_info;
 41 DECLARE_INFO;
4242
4343 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4444 {
45  return Structure::create(vm, globalObject, prototype, TypeInfo(ErrorInstanceType, StructureFlags), &s_info);
 45 return Structure::create(vm, globalObject, prototype, TypeInfo(ErrorInstanceType, StructureFlags), info());
4646 }
4747
4848 protected:
154013

Source/JavaScriptCore/runtime/ExceptionHelpers.cpp

@@JSObject* createTerminatedExecutionExcep
5959
6060bool isTerminatedExecutionException(JSObject* object)
6161{
62  return object->inherits(&TerminatedExecutionError::s_info);
 62 return object->inherits(TerminatedExecutionError::info());
6363}
6464
6565bool isTerminatedExecutionException(JSValue value)
6666{
67  return value.inherits(&TerminatedExecutionError::s_info);
 67 return value.inherits(TerminatedExecutionError::info());
6868}
6969
7070
154013

Source/JavaScriptCore/runtime/ExceptionHelpers.h

@@public:
7676
7777 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
7878 {
79  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 79 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
8080 }
8181
82  static JS_EXPORTDATA const ClassInfo s_info;
 82 DECLARE_EXPORT_INFO;
8383};
8484
8585} // namespace JSC
154013

Source/JavaScriptCore/runtime/Executable.cpp

@@void EvalExecutable::jettisonOptimizedCo
260260void EvalExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor)
261261{
262262 EvalExecutable* thisObject = jsCast<EvalExecutable*>(cell);
263  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 263 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
264264 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
265265 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
266266 ScriptExecutable::visitChildren(thisObject, visitor);

@@JSObject* ProgramExecutable::initializeG
436436void ProgramExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor)
437437{
438438 ProgramExecutable* thisObject = jsCast<ProgramExecutable*>(cell);
439  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 439 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
440440 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
441441 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
442442 ScriptExecutable::visitChildren(thisObject, visitor);

@@void FunctionExecutable::jettisonOptimiz
624624void FunctionExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor)
625625{
626626 FunctionExecutable* thisObject = jsCast<FunctionExecutable*>(cell);
627  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 627 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
628628 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
629629 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
630630 ScriptExecutable::visitChildren(thisObject, visitor);

@@String FunctionExecutable::paramString()
690690
691691CodeBlockHash ExecutableBase::hashFor(CodeSpecializationKind kind) const
692692{
693  if (this->classInfo() == &NativeExecutable::s_info)
 693 if (this->classInfo() == NativeExecutable::info())
694694 return jsCast<const NativeExecutable*>(this)->hashFor(kind);
695695
696696 return jsCast<const ScriptExecutable*>(this)->hashFor(kind);
154013

Source/JavaScriptCore/runtime/Executable.h

@@namespace JSC {
104104 return m_numParametersForCall == NUM_PARAMETERS_IS_HOST;
105105 }
106106
107  static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(CompoundType, StructureFlags), &s_info); }
 107 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(CompoundType, StructureFlags), info()); }
108108
109109 void clearCode();
110110
111  static JS_EXPORTDATA const ClassInfo s_info;
 111 DECLARE_EXPORT_INFO;
112112
113113 protected:
114114 static const unsigned StructureFlags = 0;

@@namespace JSC {
312312 return OBJECT_OFFSETOF(NativeExecutable, m_constructor);
313313 }
314314
315  static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(LeafType, StructureFlags), &s_info); }
 315 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(LeafType, StructureFlags), info()); }
316316
317  static const ClassInfo s_info;
 317 DECLARE_INFO;
318318
319319 Intrinsic intrinsic() const;
320320

@@namespace JSC {
391391
392392 CodeFeatures features() const { return m_features; }
393393
394  static const ClassInfo s_info;
 394 DECLARE_INFO;
395395
396396 void recordParse(CodeFeatures features, bool hasCapturedVariables, int firstLine, int lastLine, unsigned startColumn)
397397 {

@@namespace JSC {
466466#endif
467467 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
468468 {
469  return Structure::create(vm, globalObject, proto, TypeInfo(EvalExecutableType, StructureFlags), &s_info);
 469 return Structure::create(vm, globalObject, proto, TypeInfo(EvalExecutableType, StructureFlags), info());
470470 }
471471
472  static const ClassInfo s_info;
 472 DECLARE_INFO;
473473
474474 void unlinkCalls();
475475

@@namespace JSC {
545545
546546 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
547547 {
548  return Structure::create(vm, globalObject, proto, TypeInfo(ProgramExecutableType, StructureFlags), &s_info);
 548 return Structure::create(vm, globalObject, proto, TypeInfo(ProgramExecutableType, StructureFlags), info());
549549 }
550550
551  static const ClassInfo s_info;
 551 DECLARE_INFO;
552552
553553 void unlinkCalls();
554554

@@namespace JSC {
671671 JSObject* compileFor(ExecState* exec, JSScope* scope, CodeSpecializationKind kind)
672672 {
673673 ASSERT(exec->callee());
674  ASSERT(exec->callee()->inherits(&JSFunction::s_info));
 674 ASSERT(exec->callee()->inherits(JSFunction::info()));
675675 ASSERT(jsCast<JSFunction*>(exec->callee())->jsExecutable() == this);
676676
677677 if (kind == CodeForCall)

@@namespace JSC {
684684 JSObject* compileOptimizedFor(ExecState* exec, JSScope* scope, CompilationResult& result, unsigned bytecodeIndex, CodeSpecializationKind kind)
685685 {
686686 ASSERT(exec->callee());
687  ASSERT(exec->callee()->inherits(&JSFunction::s_info));
 687 ASSERT(exec->callee()->inherits(JSFunction::info()));
688688 ASSERT(jsCast<JSFunction*>(exec->callee())->jsExecutable() == this);
689689
690690 if (kind == CodeForCall)

@@namespace JSC {
756756 static void visitChildren(JSCell*, SlotVisitor&);
757757 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
758758 {
759  return Structure::create(vm, globalObject, proto, TypeInfo(FunctionExecutableType, StructureFlags), &s_info);
 759 return Structure::create(vm, globalObject, proto, TypeInfo(FunctionExecutableType, StructureFlags), info());
760760 }
761761
762  static const ClassInfo s_info;
 762 DECLARE_INFO;
763763
764764 void unlinkCalls();
765765
154013

Source/JavaScriptCore/runtime/FunctionConstructor.h

@@namespace JSC {
4242 return constructor;
4343 }
4444
45  static const ClassInfo s_info;
 45 DECLARE_INFO;
4646
4747 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4848 {
49  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 49 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5050 }
5151
5252 private:
154013

Source/JavaScriptCore/runtime/FunctionPrototype.cpp

@@static inline void insertSemicolonIfNeed
101101EncodedJSValue JSC_HOST_CALL functionProtoFuncToString(ExecState* exec)
102102{
103103 JSValue thisValue = exec->hostThisValue();
104  if (thisValue.inherits(&JSFunction::s_info)) {
 104 if (thisValue.inherits(JSFunction::info())) {
105105 JSFunction* function = jsCast<JSFunction*>(thisValue);
106106 if (function->isHostFunction())
107107 return JSValue::encode(jsMakeNontrivialString(exec, "function ", function->name(exec), "() {\n [native code]\n}"));

@@EncodedJSValue JSC_HOST_CALL functionPro
111111 return JSValue::encode(jsMakeNontrivialString(exec, "function ", function->name(exec), "(", executable->paramString(), ") ", sourceString));
112112 }
113113
114  if (thisValue.inherits(&InternalFunction::s_info)) {
 114 if (thisValue.inherits(InternalFunction::info())) {
115115 InternalFunction* function = asInternalFunction(thisValue);
116116 return JSValue::encode(jsMakeNontrivialString(exec, "function ", function->name(exec), "() {\n [native code]\n}"));
117117 }

@@EncodedJSValue JSC_HOST_CALL functionPro
133133 if (!array.isUndefinedOrNull()) {
134134 if (!array.isObject())
135135 return throwVMTypeError(exec);
136  if (asObject(array)->classInfo() == &Arguments::s_info) {
 136 if (asObject(array)->classInfo() == Arguments::info()) {
137137 if (asArguments(array)->length(exec) > Arguments::MaxArguments)
138138 return JSValue::encode(throwStackOverflowError(exec));
139139 asArguments(array)->fillArgList(exec, applyArgs);

@@EncodedJSValue JSC_HOST_CALL functionPro
197197 // If the [[Class]] internal property of Target is "Function", then ...
198198 // Else set the length own property of F to 0.
199199 unsigned length = 0;
200  if (targetObject->inherits(&JSFunction::s_info)) {
 200 if (targetObject->inherits(JSFunction::info())) {
201201 ASSERT(target.get(exec, exec->propertyNames().length).isNumber());
202202 // a. Let L be the length property of Target minus the length of A.
203203 // b. Set the length own property of F to either 0 or L, whichever is larger.
154013

Source/JavaScriptCore/runtime/FunctionPrototype.h

@@namespace JSC {
4040
4141 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
4242 {
43  return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info);
 43 return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), info());
4444 }
4545
46  static const ClassInfo s_info;
 46 DECLARE_INFO;
4747
4848 protected:
4949 void finishCreation(ExecState*, const String& name);
154013

Source/JavaScriptCore/runtime/GetterSetter.cpp

@@const ClassInfo GetterSetter::s_info = {
3737void GetterSetter::visitChildren(JSCell* cell, SlotVisitor& visitor)
3838{
3939 GetterSetter* thisObject = jsCast<GetterSetter*>(cell);
40  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 40 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4141 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4242 JSCell::visitChildren(thisObject, visitor);
4343
154013

Source/JavaScriptCore/runtime/GetterSetter.h

@@namespace JSC {
6161 void setSetter(VM& vm, JSObject* setter) { m_setter.setMayBeNull(vm, this, setter); }
6262 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
6363 {
64  return Structure::create(vm, globalObject, prototype, TypeInfo(GetterSetterType, OverridesVisitChildren), &s_info);
 64 return Structure::create(vm, globalObject, prototype, TypeInfo(GetterSetterType, OverridesVisitChildren), info());
6565 }
6666
67  static const ClassInfo s_info;
 67 DECLARE_INFO;
6868
6969 private:
7070 WriteBarrier<JSObject> m_getter;
154013

Source/JavaScriptCore/runtime/InternalFunction.cpp

@@InternalFunction::InternalFunction(JSGlo
4242void InternalFunction::finishCreation(VM& vm, const String& name)
4343{
4444 Base::finishCreation(vm);
45  ASSERT(inherits(&s_info));
46  ASSERT(methodTable()->getCallData != InternalFunction::s_info.methodTable.getCallData);
 45 ASSERT(inherits(info()));
 46 ASSERT(methodTable()->getCallData != InternalFunction::info()->methodTable.getCallData);
4747 putDirect(vm, vm.propertyNames->name, jsString(&vm, name), DontDelete | ReadOnly | DontEnum);
4848}
4949
154013

Source/JavaScriptCore/runtime/InternalFunction.h

@@namespace JSC {
3535 public:
3636 typedef JSDestructibleObject Base;
3737
38  static JS_EXPORTDATA const ClassInfo s_info;
 38 DECLARE_EXPORT_INFO;
3939
4040 JS_EXPORT_PRIVATE const String& name(ExecState*);
4141 const String displayName(ExecState*);

@@namespace JSC {
4343
4444 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
4545 {
46  return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info);
 46 return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), info());
4747 }
4848
4949 protected:

@@namespace JSC {
6060
6161 inline InternalFunction* asInternalFunction(JSValue value)
6262 {
63  ASSERT(asObject(value)->inherits(&InternalFunction::s_info));
 63 ASSERT(asObject(value)->inherits(InternalFunction::info()));
6464 return static_cast<InternalFunction*>(asObject(value));
6565 }
6666
154013

Source/JavaScriptCore/runtime/JSAPIValueWrapper.h

@@namespace JSC {
3939
4040 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4141 {
42  return Structure::create(vm, globalObject, prototype, TypeInfo(APIValueWrapperType, OverridesVisitChildren | OverridesGetPropertyNames), &s_info);
 42 return Structure::create(vm, globalObject, prototype, TypeInfo(APIValueWrapperType, OverridesVisitChildren | OverridesGetPropertyNames), info());
4343 }
4444
45  static JS_EXPORTDATA const ClassInfo s_info;
 45 DECLARE_EXPORT_INFO;
4646
4747 static JSAPIValueWrapper* create(ExecState* exec, JSValue value)
4848 {
154013

Source/JavaScriptCore/runtime/JSActivation.cpp

@@const ClassInfo JSActivation::s_info = {
4343void JSActivation::visitChildren(JSCell* cell, SlotVisitor& visitor)
4444{
4545 JSActivation* thisObject = jsCast<JSActivation*>(cell);
46  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 46 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4747 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4848 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4949 Base::visitChildren(thisObject, visitor);

@@JSValue JSActivation::argumentsGetter(Ex
259259 callFrame->uncheckedR(argumentsRegister) = arguments;
260260 callFrame->uncheckedR(realArgumentsRegister) = arguments;
261261
262  ASSERT(callFrame->uncheckedR(realArgumentsRegister).jsValue().inherits(&Arguments::s_info));
 262 ASSERT(callFrame->uncheckedR(realArgumentsRegister).jsValue().inherits(Arguments::info()));
263263 return callFrame->uncheckedR(realArgumentsRegister).jsValue();
264264}
265265
154013

Source/JavaScriptCore/runtime/JSActivation.h

@@namespace JSC {
7575
7676 void tearOff(VM&);
7777
78  static const ClassInfo s_info;
 78 DECLARE_INFO;
7979
80  static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(ActivationObjectType, StructureFlags), &s_info); }
 80 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(ActivationObjectType, StructureFlags), info()); }
8181
8282 WriteBarrierBase<Unknown>& registerAt(int) const;
8383 bool isValidIndex(int) const;

@@namespace JSC {
127127
128128 inline JSActivation* asActivation(JSValue value)
129129 {
130  ASSERT(asObject(value)->inherits(&JSActivation::s_info));
 130 ASSERT(asObject(value)->inherits(JSActivation::info()));
131131 return jsCast<JSActivation*>(asObject(value));
132132 }
133133
154013

Source/JavaScriptCore/runtime/JSArray.h

@@public:
5858 static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
5959 static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
6060
61  static JS_EXPORTDATA const ClassInfo s_info;
 61 DECLARE_EXPORT_INFO;
6262
6363 unsigned length() const { return getArrayLength(); }
6464 // OK to use on new arrays, but not if it might be a RegExpMatchArray.

@@public:
131131
132132 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype, IndexingType indexingType)
133133 {
134  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info, indexingType);
 134 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info(), indexingType);
135135 }
136136
137137protected:

@@JSArray* asArray(JSValue);
272272
273273inline JSArray* asArray(JSCell* cell)
274274{
275  ASSERT(cell->inherits(&JSArray::s_info));
 275 ASSERT(cell->inherits(JSArray::info()));
276276 return jsCast<JSArray*>(cell);
277277}
278278

@@inline JSArray* asArray(JSValue value)
281281 return asArray(value.asCell());
282282}
283283
284 inline bool isJSArray(JSCell* cell) { return cell->classInfo() == &JSArray::s_info; }
 284inline bool isJSArray(JSCell* cell) { return cell->classInfo() == JSArray::info(); }
285285inline bool isJSArray(JSValue v) { return v.isCell() && isJSArray(v.asCell()); }
286286
287287inline JSArray* constructArray(ExecState* exec, Structure* arrayStructure, const ArgList& values)
154013

Source/JavaScriptCore/runtime/JSBoundFunction.cpp

@@JSBoundFunction::JSBoundFunction(ExecSta
107107void JSBoundFunction::finishCreation(ExecState* exec, NativeExecutable* executable, int length, const String& name)
108108{
109109 Base::finishCreation(exec, executable, length, name);
110  ASSERT(inherits(&s_info));
 110 ASSERT(inherits(info()));
111111
112112 putDirectAccessor(exec, exec->propertyNames().arguments, globalObject()->throwTypeErrorGetterSetter(exec), DontDelete | DontEnum | Accessor);
113113 putDirectAccessor(exec, exec->propertyNames().caller, globalObject()->throwTypeErrorGetterSetter(exec), DontDelete | DontEnum | Accessor);

@@void JSBoundFunction::finishCreation(Exe
116116void JSBoundFunction::visitChildren(JSCell* cell, SlotVisitor& visitor)
117117{
118118 JSBoundFunction* thisObject = jsCast<JSBoundFunction*>(cell);
119  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 119 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
120120 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
121121 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
122122 Base::visitChildren(thisObject, visitor);
154013

Source/JavaScriptCore/runtime/JSBoundFunction.h

@@public:
5050 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5151 {
5252 ASSERT(globalObject);
53  return Structure::create(vm, globalObject, prototype, TypeInfo(JSFunctionType, StructureFlags), &s_info);
 53 return Structure::create(vm, globalObject, prototype, TypeInfo(JSFunctionType, StructureFlags), info());
5454 }
5555
56  static const ClassInfo s_info;
 56 DECLARE_INFO;
5757
5858protected:
5959 const static unsigned StructureFlags = OverridesHasInstance | OverridesVisitChildren | Base::StructureFlags;
154013

Source/JavaScriptCore/runtime/JSCJSValue.cpp

@@void JSValue::dumpInContext(PrintStream&
207207 out.printf("Double: %08x:%08x, %lf", u.asTwoInt32s[1], u.asTwoInt32s[0], asDouble());
208208#endif
209209 } else if (isCell()) {
210  if (asCell()->inherits(&JSString::s_info)) {
 210 if (asCell()->inherits(JSString::info())) {
211211 JSString* string = jsCast<JSString*>(asCell());
212212 out.print("String");
213213 if (string->isRope())

@@void JSValue::dumpInContext(PrintStream&
221221 } else
222222 out.print(" (unresolved)");
223223 out.print(": ", impl);
224  } else if (asCell()->inherits(&Structure::s_info))
 224 } else if (asCell()->inherits(Structure::info()))
225225 out.print("Structure: ", inContext(*jsCast<Structure*>(asCell()), context));
226226 else {
227227 out.print("Cell: ", RawPointer(asCell()));
154013

Source/JavaScriptCore/runtime/JSCJSValueInlines.h

@@inline JSObject* JSValue::toObject(ExecS
605605
606606inline bool JSValue::isFunction() const
607607{
608  return isCell() && (asCell()->inherits(&JSFunction::s_info) || asCell()->inherits(&InternalFunction::s_info));
 608 return isCell() && (asCell()->inherits(JSFunction::info()) || asCell()->inherits(InternalFunction::info()));
609609}
610610
611611// this method is here to be after the inline declaration of JSCell::inherits
154013

Source/JavaScriptCore/runtime/JSCell.h

@@enum EnumerationMode {
5252template<typename T> void* allocateCell(Heap&);
5353template<typename T> void* allocateCell(Heap&, size_t);
5454
 55#define DECLARE_EXPORT_INFO \
 56 protected: \
 57 static JS_EXPORTDATA const ::JSC::ClassInfo s_info; \
 58 public: \
 59 static const ::JSC::ClassInfo* info() { return &s_info; }
 60
 61#define DECLARE_INFO \
 62 protected: \
 63 static const ::JSC::ClassInfo s_info; \
 64 public: \
 65 static const ::JSC::ClassInfo* info() { return &s_info; }
 66
5567class JSCell {
5668 friend class JSValue;
5769 friend class MarkedBlock;

@@private:
165177template<typename To, typename From>
166178inline To jsCast(From* from)
167179{
168  ASSERT(!from || from->JSCell::inherits(&WTF::RemovePointer<To>::Type::s_info));
 180 ASSERT(!from || from->JSCell::inherits(WTF::RemovePointer<To>::Type::info()));
169181 return static_cast<To>(from);
170182}
171183
172184template<typename To>
173185inline To jsCast(JSValue from)
174186{
175  ASSERT(from.isCell() && from.asCell()->JSCell::inherits(&WTF::RemovePointer<To>::Type::s_info));
 187 ASSERT(from.isCell() && from.asCell()->JSCell::inherits(WTF::RemovePointer<To>::Type::info()));
176188 return static_cast<To>(from.asCell());
177189}
178190
179191template<typename To, typename From>
180192inline To jsDynamicCast(From* from)
181193{
182  return from->inherits(&WTF::RemovePointer<To>::Type::s_info) ? static_cast<To>(from) : 0;
 194 return from->inherits(WTF::RemovePointer<To>::Type::info()) ? static_cast<To>(from) : 0;
183195}
184196
185197template<typename To>
186198inline To jsDynamicCast(JSValue from)
187199{
188  return from.isCell() && from.asCell()->inherits(&WTF::RemovePointer<To>::Type::s_info) ? static_cast<To>(from.asCell()) : 0;
 200 return from.isCell() && from.asCell()->inherits(WTF::RemovePointer<To>::Type::info()) ? static_cast<To>(from.asCell()) : 0;
189201}
190202
191203} // namespace JSC
154013

Source/JavaScriptCore/runtime/JSCellInlines.h

@@void* allocateCell(Heap& heap, size_t si
8888 ASSERT(size >= sizeof(T));
8989#if ENABLE(GC_VALIDATION)
9090 ASSERT(!heap.vm()->isInitializingObject());
91  heap.vm()->setInitializingObjectClass(&T::s_info);
 91 heap.vm()->setInitializingObjectClass(T::info());
9292#endif
9393 JSCell* result = 0;
9494 if (T::needsDestruction && T::hasImmortalStructure)
154013

Source/JavaScriptCore/runtime/JSFunction.cpp

@@JSFunction::JSFunction(ExecState* exec,
105105void JSFunction::finishCreation(ExecState* exec, NativeExecutable* executable, int length, const String& name)
106106{
107107 Base::finishCreation(exec->vm());
108  ASSERT(inherits(&s_info));
 108 ASSERT(inherits(info()));
109109 m_executable.set(exec->vm(), this, executable);
110110 putDirect(exec->vm(), exec->vm().propertyNames->name, jsString(exec, name), DontDelete | ReadOnly | DontEnum);
111111 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(length), DontDelete | ReadOnly | DontEnum);

@@const SourceCode* JSFunction::sourceCode
160160void JSFunction::visitChildren(JSCell* cell, SlotVisitor& visitor)
161161{
162162 JSFunction* thisObject = jsCast<JSFunction*>(cell);
163  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 163 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
164164 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
165165 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
166166 Base::visitChildren(thisObject, visitor);

@@JSValue JSFunction::argumentsGetter(Exec
199199static bool skipOverBoundFunctions(StackIterator::Frame* frame)
200200{
201201 JSObject* callee = frame->callee();
202  bool shouldSkip = callee ? callee->inherits(&JSBoundFunction::s_info) : false;
 202 bool shouldSkip = callee ? callee->inherits(JSBoundFunction::info()) : false;
203203 return shouldSkip;
204204}
205205

@@JSValue JSFunction::callerGetter(ExecSta
218218 JSValue caller = retrieveCallerFunction(exec, thisObj);
219219
220220 // See ES5.1 15.3.5.4 - Function.caller may not be used to retrieve a strict caller.
221  if (!caller.isObject() || !asObject(caller)->inherits(&JSFunction::s_info))
 221 if (!caller.isObject() || !asObject(caller)->inherits(JSFunction::info()))
222222 return caller;
223223 JSFunction* function = jsCast<JSFunction*>(caller);
224224 if (function->isHostFunction() || !function->jsExecutable()->isStrictMode())
154013

Source/JavaScriptCore/runtime/JSFunction.h

@@namespace JSC {
103103
104104 JS_EXPORT_PRIVATE const SourceCode* sourceCode() const;
105105
106  static JS_EXPORTDATA const ClassInfo s_info;
 106 DECLARE_EXPORT_INFO;
107107
108108 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
109109 {
110110 ASSERT(globalObject);
111  return Structure::create(vm, globalObject, prototype, TypeInfo(JSFunctionType, StructureFlags), &s_info);
 111 return Structure::create(vm, globalObject, prototype, TypeInfo(JSFunctionType, StructureFlags), info());
112112 }
113113
114114 NativeFunction nativeFunction();
154013

Source/JavaScriptCore/runtime/JSGlobalObject.cpp

@@void JSGlobalObject::resetPrototype(VM&
480480void JSGlobalObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
481481{
482482 JSGlobalObject* thisObject = jsCast<JSGlobalObject*>(cell);
483  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 483 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
484484 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
485485 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
486486 Base::visitChildren(thisObject, visitor);

@@DynamicGlobalObjectScope::DynamicGlobalO
613613void slowValidateCell(JSGlobalObject* globalObject)
614614{
615615 RELEASE_ASSERT(globalObject->isGlobalObject());
616  ASSERT_GC_OBJECT_INHERITS(globalObject, &JSGlobalObject::s_info);
 616 ASSERT_GC_OBJECT_INHERITS(globalObject, JSGlobalObject::info());
617617}
618618
619619UnlinkedProgramCodeBlock* JSGlobalObject::createProgramCodeBlock(CallFrame* callFrame, ProgramExecutable* executable, JSObject** exception)
154013

Source/JavaScriptCore/runtime/JSGlobalObject.h

@@public:
204204 return globalObject;
205205 }
206206
207  static JS_EXPORTDATA const ClassInfo s_info;
 207 DECLARE_EXPORT_INFO;
208208
209209 bool hasDebugger() const { return m_debugger; }
210210 bool hasProfiler() const { return globalObjectMethodTable()->supportsProfiling(this); }

@@public:
390390
391391 static Structure* createStructure(VM& vm, JSValue prototype)
392392 {
393  return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), &s_info);
 393 return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), info());
394394 }
395395
396396 void registerWeakMap(OpaqueJSWeakObjectMap* map)
154013

Source/JavaScriptCore/runtime/JSNameScope.cpp

@@const ClassInfo JSNameScope::s_info = {
3636void JSNameScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
3737{
3838 JSNameScope* thisObject = jsCast<JSNameScope*>(cell);
39  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 39 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4040 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4141 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4242
154013

Source/JavaScriptCore/runtime/JSNameScope.h

@@public:
5555 static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
5656 static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
5757
58  static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(NameScopeObjectType, StructureFlags), &s_info); }
 58 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(NameScopeObjectType, StructureFlags), info()); }
5959
60  static const ClassInfo s_info;
 60 DECLARE_INFO;
6161
6262protected:
6363 void finishCreation(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes)
154013

Source/JavaScriptCore/runtime/JSNotAnObject.h

@@namespace JSC {
5555
5656 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5757 {
58  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 58 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5959 }
6060
61  static const ClassInfo s_info;
 61 DECLARE_INFO;
6262
6363 private:
6464
154013

Source/JavaScriptCore/runtime/JSONObject.cpp

@@JSONObject::JSONObject(JSGlobalObject* g
6262void JSONObject::finishCreation(JSGlobalObject* globalObject)
6363{
6464 Base::finishCreation(globalObject->vm());
65  ASSERT(inherits(&s_info));
 65 ASSERT(inherits(info()));
6666}
6767
6868// PropertyNameForFunctionCall objects must be on the stack, since the JSValue that they create is not marked.

@@static inline JSValue unwrapBoxedPrimiti
139139 if (!value.isObject())
140140 return value;
141141 JSObject* object = asObject(value);
142  if (object->inherits(&NumberObject::s_info))
 142 if (object->inherits(NumberObject::info()))
143143 return jsNumber(object->toNumber(exec));
144  if (object->inherits(&StringObject::s_info))
 144 if (object->inherits(StringObject::info()))
145145 return object->toString(exec);
146  if (object->inherits(&BooleanObject::s_info))
 146 if (object->inherits(BooleanObject::info()))
147147 return object->toPrimitive(exec);
148148 return value;
149149}

@@Stringifier::Stringifier(ExecState* exec
214214 if (!m_replacer.isObject())
215215 return;
216216
217  if (m_replacer.asObject()->inherits(&JSArray::s_info)) {
 217 if (m_replacer.asObject()->inherits(JSArray::info())) {
218218 m_usingArrayReplacer = true;
219219 Handle<JSObject> array = m_replacer.asObject();
220220 unsigned length = array->get(exec, exec->vm().propertyNames->length).toUInt32(exec);

@@Stringifier::Stringifier(ExecState* exec
224224 break;
225225
226226 if (name.isObject()) {
227  if (!asObject(name)->inherits(&NumberObject::s_info) && !asObject(name)->inherits(&StringObject::s_info))
 227 if (!asObject(name)->inherits(NumberObject::info()) && !asObject(name)->inherits(StringObject::info()))
228228 continue;
229229 }
230230

@@Stringifier::StringifyResult Stringifier
358358 return StringifyFailed;
359359 }
360360
361  if (value.isUndefined() && !holder->inherits(&JSArray::s_info))
 361 if (value.isUndefined() && !holder->inherits(JSArray::info()))
362362 return StringifyFailedDueToUndefinedValue;
363363
364364 if (value.isNull()) {

@@Stringifier::StringifyResult Stringifier
401401
402402 CallData callData;
403403 if (object->methodTable()->getCallData(object, callData) != CallTypeNone) {
404  if (holder->inherits(&JSArray::s_info)) {
 404 if (holder->inherits(JSArray::info())) {
405405 builder.appendLiteral("null");
406406 return StringifySucceeded;
407407 }

@@inline void Stringifier::startNewLine(St
461461
462462inline Stringifier::Holder::Holder(VM& vm, JSObject* object)
463463 : m_object(vm, object)
464  , m_isArray(object->inherits(&JSArray::s_info))
 464 , m_isArray(object->inherits(JSArray::info()))
465465 , m_index(0)
466466#ifndef NDEBUG
467467 , m_size(0)

@@NEVER_INLINE JSValue Walker::walk(JSValu
649649 arrayStartState:
650650 case ArrayStartState: {
651651 ASSERT(inValue.isObject());
652  ASSERT(isJSArray(asObject(inValue)) || asObject(inValue)->inherits(&JSArray::s_info));
 652 ASSERT(isJSArray(asObject(inValue)) || asObject(inValue)->inherits(JSArray::info()));
653653 if (objectStack.size() + arrayStack.size() > maximumFilterRecursion)
654654 return throwError(m_exec, createStackOverflowError(m_exec));
655655

@@NEVER_INLINE JSValue Walker::walk(JSValu
700700 objectStartState:
701701 case ObjectStartState: {
702702 ASSERT(inValue.isObject());
703  ASSERT(!isJSArray(asObject(inValue)) && !asObject(inValue)->inherits(&JSArray::s_info));
 703 ASSERT(!isJSArray(asObject(inValue)) && !asObject(inValue)->inherits(JSArray::info()));
704704 if (objectStack.size() + arrayStack.size() > maximumFilterRecursion)
705705 return throwError(m_exec, createStackOverflowError(m_exec));
706706

@@NEVER_INLINE JSValue Walker::walk(JSValu
761761 break;
762762 }
763763 JSObject* object = asObject(inValue);
764  if (isJSArray(object) || object->inherits(&JSArray::s_info))
 764 if (isJSArray(object) || object->inherits(JSArray::info()))
765765 goto arrayStartState;
766766 goto objectStartState;
767767 }

@@EncodedJSValue JSC_HOST_CALL JSONProtoFu
820820 Local<Unknown> value(exec->vm(), exec->argument(0));
821821 Local<Unknown> replacer(exec->vm(), exec->argument(1));
822822 Local<Unknown> space(exec->vm(), exec->argument(2));
823  return JSValue::encode(Stringifier(exec, replacer, space).stringify(value).get());
 823 JSValue result = Stringifier(exec, replacer, space).stringify(value).get();
 824 return JSValue::encode(result);
824825}
825826
826827String JSONStringify(ExecState* exec, JSValue value, unsigned indent)
154013

Source/JavaScriptCore/runtime/JSONObject.h

@@namespace JSC {
4545
4646 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4747 {
48  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 48 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4949 }
5050
51  static const ClassInfo s_info;
 51 DECLARE_INFO;
5252
5353 protected:
5454 void finishCreation(JSGlobalObject*);
154013

Source/JavaScriptCore/runtime/JSObject.cpp

@@JSCell* getCallableObjectSlow(JSCell* ce
6060 Structure* structure = cell->structure();
6161 if (structure->typeInfo().type() == JSFunctionType)
6262 return cell;
63  if (structure->classInfo()->isSubClassOf(&InternalFunction::s_info))
 63 if (structure->classInfo()->isSubClassOf(InternalFunction::info()))
6464 return cell;
6565 return 0;
6666}

@@ALWAYS_INLINE void JSObject::visitButter
207207void JSObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
208208{
209209 JSObject* thisObject = jsCast<JSObject*>(cell);
210  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 210 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
211211#if !ASSERT_DISABLED
212212 bool wasCheckingForDefaultMarkViolation = visitor.m_isCheckingForDefaultMarkViolation;
213213 visitor.m_isCheckingForDefaultMarkViolation = false;

@@void JSObject::visitChildren(JSCell* cel
227227void JSObject::copyBackingStore(JSCell* cell, CopyVisitor& visitor, CopyToken token)
228228{
229229 JSObject* thisObject = jsCast<JSObject*>(cell);
230  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 230 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
231231
232232 if (token != ButterflyCopyToken)
233233 return;

@@void JSObject::copyBackingStore(JSCell*
240240void JSFinalObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
241241{
242242 JSFinalObject* thisObject = jsCast<JSFinalObject*>(cell);
243  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 243 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
244244#if !ASSERT_DISABLED
245245 bool wasCheckingForDefaultMarkViolation = visitor.m_isCheckingForDefaultMarkViolation;
246246 visitor.m_isCheckingForDefaultMarkViolation = false;

@@void JSObject::convertDoubleToContiguous
940940
941941ContiguousJSValues JSObject::ensureInt32Slow(VM& vm)
942942{
943  ASSERT(inherits(&s_info));
 943 ASSERT(inherits(info()));
944944
945945 switch (structure()->indexingType()) {
946946 case ALL_BLANK_INDEXING_TYPES:

@@ContiguousJSValues JSObject::ensureInt32
964964
965965ContiguousDoubles JSObject::ensureDoubleSlow(VM& vm)
966966{
967  ASSERT(inherits(&s_info));
 967 ASSERT(inherits(info()));
968968
969969 switch (structure()->indexingType()) {
970970 case ALL_BLANK_INDEXING_TYPES:

@@ContiguousDoubles JSObject::ensureDouble
990990
991991ContiguousJSValues JSObject::ensureContiguousSlow(VM& vm, DoubleToContiguousMode mode)
992992{
993  ASSERT(inherits(&s_info));
 993 ASSERT(inherits(info()));
994994
995995 switch (structure()->indexingType()) {
996996 case ALL_BLANK_INDEXING_TYPES:

@@ContiguousJSValues JSObject::rageEnsureC
10301030
10311031ArrayStorage* JSObject::ensureArrayStorageSlow(VM& vm)
10321032{
1033  ASSERT(inherits(&s_info));
 1033 ASSERT(inherits(info()));
10341034
10351035 switch (structure()->indexingType()) {
10361036 case ALL_BLANK_INDEXING_TYPES:
154013

Source/JavaScriptCore/runtime/JSObject.h

@@public:
701701 return &m_butterfly;
702702 }
703703
704  static JS_EXPORTDATA const ClassInfo s_info;
 704 DECLARE_EXPORT_INFO;
705705
706706protected:
707707 void finishCreation(VM& vm)
708708 {
709709 Base::finishCreation(vm);
710  ASSERT(inherits(&s_info));
 710 ASSERT(inherits(info()));
711711 ASSERT(!structure()->outOfLineCapacity());
712712 ASSERT(structure()->isEmpty());
713713 ASSERT(prototype().isNull() || Heap::heap(this) == Heap::heap(prototype()));

@@protected:
717717
718718 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
719719 {
720  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 720 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
721721 }
722722
723723 // To instantiate objects you likely want JSFinalObject, below.

@@public:
985985
986986 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
987987 {
988  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 988 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
989989 }
990990
991991protected:

@@public:
10271027 static JSFinalObject* create(ExecState*, Structure*);
10281028 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype, unsigned inlineCapacity)
10291029 {
1030  return Structure::create(vm, globalObject, prototype, TypeInfo(FinalObjectType, StructureFlags), &s_info, NonArray, inlineCapacity);
 1030 return Structure::create(vm, globalObject, prototype, TypeInfo(FinalObjectType, StructureFlags), info(), NonArray, inlineCapacity);
10311031 }
10321032
10331033 JS_EXPORT_PRIVATE static void visitChildren(JSCell*, SlotVisitor&);
10341034
1035  static JS_EXPORTDATA const ClassInfo s_info;
 1035 DECLARE_EXPORT_INFO;
10361036
10371037protected:
10381038 void visitChildrenCommon(SlotVisitor&);

@@inline JSFinalObject* JSFinalObject::cre
10701070
10711071inline bool isJSFinalObject(JSCell* cell)
10721072{
1073  return cell->classInfo() == &JSFinalObject::s_info;
 1073 return cell->classInfo() == JSFinalObject::info();
10741074}
10751075
10761076inline bool isJSFinalObject(JSValue value)
154013

Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp

@@JSValue JSPropertyNameIterator::get(Exec
101101void JSPropertyNameIterator::visitChildren(JSCell* cell, SlotVisitor& visitor)
102102{
103103 JSPropertyNameIterator* thisObject = jsCast<JSPropertyNameIterator*>(cell);
104  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 104 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
105105 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
106106 visitor.appendValues(thisObject->m_jsStrings.get(), thisObject->m_jsStringsSize);
107107 visitor.append(&thisObject->m_cachedPrototypeChain);
154013

Source/JavaScriptCore/runtime/JSPropertyNameIterator.h

@@namespace JSC {
5454
5555 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5656 {
57  return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), &s_info);
 57 return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), info());
5858 }
5959
6060 static void visitChildren(JSCell*, SlotVisitor&);

@@namespace JSC {
7373 void setCachedPrototypeChain(VM& vm, StructureChain* cachedPrototypeChain) { m_cachedPrototypeChain.set(vm, this, cachedPrototypeChain); }
7474 StructureChain* cachedPrototypeChain() { return m_cachedPrototypeChain.get(); }
7575
76  static JS_EXPORTDATA const ClassInfo s_info;
 76 DECLARE_EXPORT_INFO;
7777
7878 protected:
7979 void finishCreation(ExecState* exec, PropertyNameArrayData* propertyNameArrayData, JSObject* object)
154013

Source/JavaScriptCore/runtime/JSProxy.cpp

@@const ClassInfo JSProxy::s_info = { "JSP
3838void JSProxy::visitChildren(JSCell* cell, SlotVisitor& visitor)
3939{
4040 JSProxy* thisObject = jsCast<JSProxy*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4242
4343 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4444 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
154013

Source/JavaScriptCore/runtime/JSProxy.h

@@public:
4343
4444 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4545 {
46  return Structure::create(vm, globalObject, prototype, TypeInfo(ProxyType, StructureFlags), &s_info);
 46 return Structure::create(vm, globalObject, prototype, TypeInfo(ProxyType, StructureFlags), info());
4747 }
4848
49  static JS_EXPORTDATA const ClassInfo s_info;
 49 DECLARE_EXPORT_INFO;
5050
5151 JSObject* target() const { return m_target.get(); }
5252
154013

Source/JavaScriptCore/runtime/JSScope.cpp

@@ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSScope);
3939void JSScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
4040{
4141 JSScope* thisObject = jsCast<JSScope*>(cell);
42  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 42 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4343 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4444 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4545
154013

Source/JavaScriptCore/runtime/JSSegmentedVariableObject.cpp

@@int JSSegmentedVariableObject::addRegist
6464void JSSegmentedVariableObject::visitChildren(JSCell* cell, SlotVisitor& slotVisitor)
6565{
6666 JSSegmentedVariableObject* thisObject = jsCast<JSSegmentedVariableObject*>(cell);
67  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 67 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
6868 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
6969 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
7070 JSSymbolTableObject::visitChildren(thisObject, slotVisitor);
154013

Source/JavaScriptCore/runtime/JSString.h

@@namespace JSC {
156156
157157 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
158158 {
159  return Structure::create(vm, globalObject, proto, TypeInfo(StringType, OverridesGetOwnPropertySlot | InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero), &s_info);
 159 return Structure::create(vm, globalObject, proto, TypeInfo(StringType, OverridesGetOwnPropertySlot | InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero), info());
160160 }
161161
162162 static size_t offsetOfLength() { return OBJECT_OFFSETOF(JSString, m_length); }
163163 static size_t offsetOfFlags() { return OBJECT_OFFSETOF(JSString, m_flags); }
164164 static size_t offsetOfValue() { return OBJECT_OFFSETOF(JSString, m_value); }
165165
166  static JS_EXPORTDATA const ClassInfo s_info;
 166 DECLARE_EXPORT_INFO;
167167
168168 static void visitChildren(JSCell*, SlotVisitor&);
169169

@@namespace JSC {
497497 return false;
498498 }
499499
500  inline bool isJSString(JSValue v) { return v.isCell() && v.asCell()->classInfo() == &JSString::s_info; }
 500 inline bool isJSString(JSValue v) { return v.isCell() && v.asCell()->classInfo() == JSString::info(); }
501501
502502 // --- JSValue inlines ----------------------------
503503
154013

Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp

@@namespace JSC {
4040void JSSymbolTableObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
4141{
4242 JSSymbolTableObject* thisObject = jsCast<JSSymbolTableObject*>(cell);
43  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 43 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4444 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4545 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4646
154013

Source/JavaScriptCore/runtime/JSVariableObject.h

@@namespace JSC {
5252 WriteBarrierBase<Unknown>* const * addressOfRegisters() const { return &m_registers; }
5353 static size_t offsetOfRegisters() { return OBJECT_OFFSETOF(JSVariableObject, m_registers); }
5454
55  static const ClassInfo s_info;
 55 DECLARE_INFO;
5656
5757 protected:
5858 static const unsigned StructureFlags = Base::StructureFlags;
154013

Source/JavaScriptCore/runtime/JSWithScope.cpp

@@const ClassInfo JSWithScope::s_info = {
3535void JSWithScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
3636{
3737 JSWithScope* thisObject = jsCast<JSWithScope*>(cell);
38  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 38 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
3939 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4040 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4141
154013

Source/JavaScriptCore/runtime/JSWithScope.h

@@public:
5454
5555 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
5656 {
57  return Structure::create(vm, globalObject, proto, TypeInfo(WithScopeType, StructureFlags), &s_info);
 57 return Structure::create(vm, globalObject, proto, TypeInfo(WithScopeType, StructureFlags), info());
5858 }
5959
60  static JS_EXPORTDATA const ClassInfo s_info;
 60 DECLARE_EXPORT_INFO;
6161
6262protected:
6363 static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
154013

Source/JavaScriptCore/runtime/JSWrapperObject.cpp

@@ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSWrapperO
3131void JSWrapperObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
3232{
3333 JSWrapperObject* thisObject = jsCast<JSWrapperObject*>(cell);
34  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 34 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
3535 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
3636 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
3737
154013

Source/JavaScriptCore/runtime/JSWrapperObject.h

@@namespace JSC {
4343
4444 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4545 {
46  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 46 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4747 }
4848
4949 static ptrdiff_t internalValueOffset() { return OBJECT_OFFSETOF(JSWrapperObject, m_internalValue); }
154013

Source/JavaScriptCore/runtime/MathObject.cpp

@@MathObject::MathObject(JSGlobalObject* g
6868void MathObject::finishCreation(ExecState* exec, JSGlobalObject* globalObject)
6969{
7070 Base::finishCreation(globalObject->vm());
71  ASSERT(inherits(&s_info));
 71 ASSERT(inherits(info()));
7272
7373 putDirectWithoutTransition(exec->vm(), Identifier(exec, "E"), jsNumber(exp(1.0)), DontDelete | DontEnum | ReadOnly);
7474 putDirectWithoutTransition(exec->vm(), Identifier(exec, "LN2"), jsNumber(log(2.0)), DontDelete | DontEnum | ReadOnly);
154013

Source/JavaScriptCore/runtime/MathObject.h

@@namespace JSC {
3939 return object;
4040 }
4141
42  static const ClassInfo s_info;
 42 DECLARE_INFO;
4343
4444 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4545 {
46  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 46 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4747 }
4848
4949 protected:
154013

Source/JavaScriptCore/runtime/NameConstructor.h

@@public:
4444 return constructor;
4545 }
4646
47  static const ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5050 {
51  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 51 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5252 }
5353
5454protected:
154013

Source/JavaScriptCore/runtime/NameInstance.h

@@class NameInstance : public JSDestructib
3535public:
3636 typedef JSDestructibleObject Base;
3737
38  static const ClassInfo s_info;
 38 DECLARE_INFO;
3939
4040 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4141 {
42  return Structure::create(vm, globalObject, prototype, TypeInfo(NameInstanceType, StructureFlags), &s_info);
 42 return Structure::create(vm, globalObject, prototype, TypeInfo(NameInstanceType, StructureFlags), info());
4343 }
4444
4545 static NameInstance* create(VM& vm, Structure* structure, JSString* nameString)

@@protected:
6060 void finishCreation(VM& vm)
6161 {
6262 Base::finishCreation(vm);
63  ASSERT(inherits(&s_info));
 63 ASSERT(inherits(info()));
6464 }
6565
6666 PrivateName m_privateName;
154013

Source/JavaScriptCore/runtime/NamePrototype.cpp

@@NamePrototype::NamePrototype(ExecState*
5555void NamePrototype::finishCreation(ExecState* exec)
5656{
5757 Base::finishCreation(exec->vm());
58  ASSERT(inherits(&s_info));
 58 ASSERT(inherits(info()));
5959}
6060
6161bool NamePrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &slot)

@@EncodedJSValue JSC_HOST_CALL privateName
7777 return throwVMTypeError(exec);
7878
7979 JSObject* thisObject = asObject(thisValue);
80  if (!thisObject->inherits(&NameInstance::s_info))
 80 if (!thisObject->inherits(NameInstance::info()))
8181 return throwVMTypeError(exec);
8282
8383 return JSValue::encode(jsCast<NameInstance*>(thisObject)->nameString());
154013

Source/JavaScriptCore/runtime/NamePrototype.h

@@public:
4141 return prototype;
4242 }
4343
44  static const ClassInfo s_info;
 44 DECLARE_INFO;
4545
4646 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4747 {
48  return Structure::create(vm, globalObject, prototype, TypeInfo(NameInstanceType, StructureFlags), &s_info);
 48 return Structure::create(vm, globalObject, prototype, TypeInfo(NameInstanceType, StructureFlags), info());
4949 }
5050
5151protected:
154013

Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp

@@NativeErrorConstructor::NativeErrorConst
4141void NativeErrorConstructor::visitChildren(JSCell* cell, SlotVisitor& visitor)
4242{
4343 NativeErrorConstructor* thisObject = jsCast<NativeErrorConstructor*>(cell);
44  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 44 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4545 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4646 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4747
154013

Source/JavaScriptCore/runtime/NativeErrorConstructor.h

@@namespace JSC {
4141 return constructor;
4242 }
4343
44  static const ClassInfo s_info;
 44 DECLARE_INFO;
4545
4646 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4747 {
48  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 48 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4949 }
5050
5151 Structure* errorStructure() { return m_errorStructure.get(); }

@@namespace JSC {
5454 void finishCreation(ExecState* exec, JSGlobalObject* globalObject, Structure* prototypeStructure, const String& name)
5555 {
5656 Base::finishCreation(exec->vm(), name);
57  ASSERT(inherits(&s_info));
 57 ASSERT(inherits(info()));
5858
5959 NativeErrorPrototype* prototype = NativeErrorPrototype::create(exec, globalObject, prototypeStructure, name, this);
6060
154013

Source/JavaScriptCore/runtime/NumberConstructor.cpp

@@NumberConstructor::NumberConstructor(JSG
6262
6363void NumberConstructor::finishCreation(ExecState* exec, NumberPrototype* numberPrototype)
6464{
65  Base::finishCreation(exec->vm(), numberPrototype->s_info.className);
66  ASSERT(inherits(&s_info));
 65 Base::finishCreation(exec->vm(), NumberPrototype::info()->className);
 66 ASSERT(inherits(info()));
6767
6868 // Number.Prototype
6969 putDirectWithoutTransition(exec->vm(), exec->propertyNames().prototype, numberPrototype, DontEnum | DontDelete | ReadOnly);
154013

Source/JavaScriptCore/runtime/NumberConstructor.h

@@namespace JSC {
4444 static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
4545 JSValue getValueProperty(ExecState*, int token) const;
4646
47  static const ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
5050 {
51  return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info);
 51 return Structure::create(vm, globalObject, proto, TypeInfo(ObjectType, StructureFlags), info());
5252 }
5353
5454 enum { NaNValue, NegInfinity, PosInfinity, MaxValue, MinValue };
154013

Source/JavaScriptCore/runtime/NumberObject.cpp

@@NumberObject::NumberObject(VM& vm, Struc
4040void NumberObject::finishCreation(VM& vm)
4141{
4242 Base::finishCreation(vm);
43  ASSERT(inherits(&s_info));
 43 ASSERT(inherits(info()));
4444}
4545
4646NumberObject* constructNumber(ExecState* exec, JSGlobalObject* globalObject, JSValue number)
154013

Source/JavaScriptCore/runtime/NumberObject.h

@@namespace JSC {
4040 return number;
4141 }
4242
43  static JS_EXPORTDATA const ClassInfo s_info;
 43 DECLARE_EXPORT_INFO;
4444
4545 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4646 {
47  return Structure::create(vm, globalObject, prototype, TypeInfo(NumberObjectType, StructureFlags), &s_info);
 47 return Structure::create(vm, globalObject, prototype, TypeInfo(NumberObjectType, StructureFlags), info());
4848 }
4949 };
5050
154013

Source/JavaScriptCore/runtime/NumberPrototype.cpp

@@void NumberPrototype::finishCreation(Exe
8080 Base::finishCreation(exec->vm());
8181 setInternalValue(exec->vm(), jsNumber(0));
8282
83  ASSERT(inherits(&s_info));
 83 ASSERT(inherits(info()));
8484}
8585
8686bool NumberPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &slot)
154013

Source/JavaScriptCore/runtime/NumberPrototype.h

@@namespace JSC {
3636 return prototype;
3737 }
3838
39  static const ClassInfo s_info;
 39 DECLARE_INFO;
4040
4141 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4242 {
43  return Structure::create(vm, globalObject, prototype, TypeInfo(NumberObjectType, StructureFlags), &s_info);
 43 return Structure::create(vm, globalObject, prototype, TypeInfo(NumberObjectType, StructureFlags), info());
4444 }
4545
4646 protected:
154013

Source/JavaScriptCore/runtime/ObjectConstructor.h

@@namespace JSC {
4343 static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
4444 static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
4545
46  static const ClassInfo s_info;
 46 DECLARE_INFO;
4747
4848 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4949 {
50  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 50 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5151 }
5252
5353 protected:
154013

Source/JavaScriptCore/runtime/ObjectPrototype.cpp

@@void ObjectPrototype::finishCreation(Exe
5454 VM& vm = exec->vm();
5555
5656 Base::finishCreation(vm);
57  ASSERT(inherits(&s_info));
 57 ASSERT(inherits(info()));
5858 vm.prototypeMap.addPrototype(this);
5959
6060 JSC_NATIVE_FUNCTION(vm.propertyNames->toString, objectProtoFuncToString, DontEnum, 0);
154013

Source/JavaScriptCore/runtime/ObjectPrototype.h

@@namespace JSC {
3131
3232 static ObjectPrototype* create(ExecState*, JSGlobalObject*, Structure*);
3333
34  static const ClassInfo s_info;
 34 DECLARE_INFO;
3535
3636 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
3737 {
38  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 38 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
3939 }
4040
4141 protected:
154013

Source/JavaScriptCore/runtime/PropertyMapHashTable.h

@@public:
133133 static const bool hasImmortalStructure = true;
134134 static void destroy(JSCell*);
135135
136  static JS_EXPORTDATA const ClassInfo s_info;
 136 DECLARE_EXPORT_INFO;
137137
138138 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
139139 {
140  return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), &s_info);
 140 return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), info());
141141 }
142142
143143 static void visitChildren(JSCell*, SlotVisitor&);
154013

Source/JavaScriptCore/runtime/PropertyTable.cpp

@@PropertyTable::~PropertyTable()
133133void PropertyTable::visitChildren(JSCell* cell, SlotVisitor& visitor)
134134{
135135 PropertyTable* thisObject = jsCast<PropertyTable*>(cell);
136  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 136 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
137137 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
138138
139139 JSCell::visitChildren(thisObject, visitor);
154013

Source/JavaScriptCore/runtime/RegExp.h

@@namespace JSC {
7777
7878 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
7979 {
80  return Structure::create(vm, globalObject, prototype, TypeInfo(LeafType, 0), &s_info);
 80 return Structure::create(vm, globalObject, prototype, TypeInfo(LeafType, 0), info());
8181 }
8282
83  static const ClassInfo s_info;
 83 DECLARE_INFO;
8484
8585 RegExpKey key() { return RegExpKey(m_flags, m_patternString); }
8686
154013

Source/JavaScriptCore/runtime/RegExpConstructor.cpp

@@RegExpConstructor::RegExpConstructor(JSG
9292void RegExpConstructor::finishCreation(ExecState* exec, RegExpPrototype* regExpPrototype)
9393{
9494 Base::finishCreation(exec->vm(), Identifier(exec, "RegExp").string());
95  ASSERT(inherits(&s_info));
 95 ASSERT(inherits(info()));
9696
9797 // ECMA 15.10.5.1 RegExp.prototype
9898 putDirectWithoutTransition(exec->vm(), exec->propertyNames().prototype, regExpPrototype, DontEnum | DontDelete | ReadOnly);

@@void RegExpConstructor::destroy(JSCell*
109109void RegExpConstructor::visitChildren(JSCell* cell, SlotVisitor& visitor)
110110{
111111 RegExpConstructor* thisObject = jsCast<RegExpConstructor*>(cell);
112  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 112 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
113113 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
114114 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
115115

@@JSObject* constructRegExp(ExecState* exe
259259 JSValue arg0 = args.at(0);
260260 JSValue arg1 = args.at(1);
261261
262  if (arg0.inherits(&RegExpObject::s_info)) {
 262 if (arg0.inherits(RegExpObject::info())) {
263263 if (!arg1.isUndefined())
264264 return throwError(exec, createTypeError(exec, ASCIILiteral("Cannot supply flags when constructing one RegExp from another.")));
265265 // If called as a function, this just returns the first argument (see 15.10.3.1).
154013

Source/JavaScriptCore/runtime/RegExpConstructor.h

@@namespace JSC {
4545
4646 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4747 {
48  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 48 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4949 }
5050
5151 static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);

@@namespace JSC {
5353 static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
5454 static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
5555
56  static const ClassInfo s_info;
 56 DECLARE_INFO;
5757
5858 MatchResult performMatch(VM&, RegExp*, JSString*, const String&, int startOffset, int** ovector);
5959 MatchResult performMatch(VM&, RegExp*, JSString*, const String&, int startOffset);

@@namespace JSC {
9292
9393 inline RegExpConstructor* asRegExpConstructor(JSValue value)
9494 {
95  ASSERT(asObject(value)->inherits(&RegExpConstructor::s_info));
 95 ASSERT(asObject(value)->inherits(RegExpConstructor::info()));
9696 return static_cast<RegExpConstructor*>(asObject(value));
9797 }
9898
154013

Source/JavaScriptCore/runtime/RegExpMatchesArray.cpp

@@void RegExpMatchesArray::finishCreation(
6060void RegExpMatchesArray::visitChildren(JSCell* cell, SlotVisitor& visitor)
6161{
6262 RegExpMatchesArray* thisObject = jsCast<RegExpMatchesArray*>(cell);
63  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 63 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
6464 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
6565 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
6666
154013

Source/JavaScriptCore/runtime/RegExpMatchesArray.h

@@namespace JSC {
4040 JSString* leftContext(ExecState*);
4141 JSString* rightContext(ExecState*);
4242
43  static const ClassInfo s_info;
 43 DECLARE_INFO;
4444
4545 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4646 {
47  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info, ArrayWithArrayStorage);
 47 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info(), ArrayWithArrayStorage);
4848 }
4949
5050 static void visitChildren(JSCell*, SlotVisitor&);
154013

Source/JavaScriptCore/runtime/RegExpObject.cpp

@@RegExpObject::RegExpObject(JSGlobalObjec
7474void RegExpObject::finishCreation(JSGlobalObject* globalObject)
7575{
7676 Base::finishCreation(globalObject->vm());
77  ASSERT(inherits(&s_info));
 77 ASSERT(inherits(info()));
7878}
7979
8080void RegExpObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
8181{
8282 RegExpObject* thisObject = jsCast<RegExpObject*>(cell);
83  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 83 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
8484 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
8585 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
8686
154013

Source/JavaScriptCore/runtime/RegExpObject.h

@@namespace JSC {
7474 static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
7575 static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
7676
77  static JS_EXPORTDATA const ClassInfo s_info;
 77 DECLARE_EXPORT_INFO;
7878
7979 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
8080 {
81  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 81 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
8282 }
8383
8484 protected:

@@namespace JSC {
106106
107107 inline RegExpObject* asRegExpObject(JSValue value)
108108 {
109  ASSERT(asObject(value)->inherits(&RegExpObject::s_info));
 109 ASSERT(asObject(value)->inherits(RegExpObject::info()));
110110 return static_cast<RegExpObject*>(asObject(value));
111111 }
112112
154013

Source/JavaScriptCore/runtime/RegExpPrototype.cpp

@@bool RegExpPrototype::getOwnPropertyDesc
8080EncodedJSValue JSC_HOST_CALL regExpProtoFuncTest(ExecState* exec)
8181{
8282 JSValue thisValue = exec->hostThisValue();
83  if (!thisValue.inherits(&RegExpObject::s_info))
 83 if (!thisValue.inherits(RegExpObject::info()))
8484 return throwVMTypeError(exec);
8585 return JSValue::encode(jsBoolean(asRegExpObject(thisValue)->test(exec, exec->argument(0).toString(exec))));
8686}

@@EncodedJSValue JSC_HOST_CALL regExpProto
8888EncodedJSValue JSC_HOST_CALL regExpProtoFuncExec(ExecState* exec)
8989{
9090 JSValue thisValue = exec->hostThisValue();
91  if (!thisValue.inherits(&RegExpObject::s_info))
 91 if (!thisValue.inherits(RegExpObject::info()))
9292 return throwVMTypeError(exec);
9393 return JSValue::encode(asRegExpObject(thisValue)->exec(exec, exec->argument(0).toString(exec)));
9494}

@@EncodedJSValue JSC_HOST_CALL regExpProto
9696EncodedJSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState* exec)
9797{
9898 JSValue thisValue = exec->hostThisValue();
99  if (!thisValue.inherits(&RegExpObject::s_info))
 99 if (!thisValue.inherits(RegExpObject::info()))
100100 return throwVMTypeError(exec);
101101
102102 RegExp* regExp;
103103 JSValue arg0 = exec->argument(0);
104104 JSValue arg1 = exec->argument(1);
105105
106  if (arg0.inherits(&RegExpObject::s_info)) {
 106 if (arg0.inherits(RegExpObject::info())) {
107107 if (!arg1.isUndefined())
108108 return throwVMError(exec, createTypeError(exec, ASCIILiteral("Cannot supply flags when constructing one RegExp from another.")));
109109 regExp = asRegExpObject(arg0)->regExp();

@@EncodedJSValue JSC_HOST_CALL regExpProto
134134EncodedJSValue JSC_HOST_CALL regExpProtoFuncToString(ExecState* exec)
135135{
136136 JSValue thisValue = exec->hostThisValue();
137  if (!thisValue.inherits(&RegExpObject::s_info))
 137 if (!thisValue.inherits(RegExpObject::info()))
138138 return throwVMTypeError(exec);
139139
140140 RegExpObject* thisObject = asRegExpObject(thisValue);
154013

Source/JavaScriptCore/runtime/RegExpPrototype.h

@@namespace JSC {
3737 return prototype;
3838 }
3939
40  static const ClassInfo s_info;
 40 DECLARE_INFO;
4141
4242 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4343 {
44  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 44 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4545 }
4646
4747 protected:
154013

Source/JavaScriptCore/runtime/SparseArrayValueMap.cpp

@@void SparseArrayValueMap::destroy(JSCell
6969
7070Structure* SparseArrayValueMap::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
7171{
72  return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, StructureFlags), &s_info);
 72 return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, StructureFlags), info());
7373}
7474
7575SparseArrayValueMap::AddResult SparseArrayValueMap::add(JSObject* array, unsigned i)
154013

Source/JavaScriptCore/runtime/SparseArrayValueMap.h

@@private:
7373 static const unsigned StructureFlags = OverridesVisitChildren | JSCell::StructureFlags;
7474
7575public:
76  static JS_EXPORTDATA const ClassInfo s_info;
 76 DECLARE_EXPORT_INFO;
7777
7878 typedef Map::iterator iterator;
7979 typedef Map::const_iterator const_iterator;
154013

Source/JavaScriptCore/runtime/StrictEvalActivation.h

@@public:
4646
4747 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4848 {
49  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 49 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5050 }
5151
52  static const ClassInfo s_info;
 52 DECLARE_INFO;
5353
5454protected:
5555 static const unsigned StructureFlags = IsEnvironmentRecord | Base::StructureFlags;
154013

Source/JavaScriptCore/runtime/StringConstructor.h

@@namespace JSC {
3838 return constructor;
3939 }
4040
41  static const ClassInfo s_info;
 41 DECLARE_INFO;
4242
4343 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4444 {
45  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 45 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4646 }
4747
4848 protected:
154013

Source/JavaScriptCore/runtime/StringObject.cpp

@@StringObject::StringObject(VM& vm, Struc
4040void StringObject::finishCreation(VM& vm, JSString* string)
4141{
4242 Base::finishCreation(vm);
43  ASSERT(inherits(&s_info));
 43 ASSERT(inherits(info()));
4444 setInternalValue(vm, string);
4545}
4646
154013

Source/JavaScriptCore/runtime/StringObject.h

@@namespace JSC {
5757 static void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
5858 static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, PropertyDescriptor&, bool shouldThrow);
5959
60  static const JS_EXPORTDATA ClassInfo s_info;
 60 DECLARE_EXPORT_INFO;
6161
6262 JSString* internalValue() const { return asString(JSWrapperObject::internalValue());}
6363
6464 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
6565 {
66  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 66 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
6767 }
6868
6969 protected:

@@namespace JSC {
7676
7777 inline StringObject* asStringObject(JSValue value)
7878 {
79  ASSERT(asObject(value)->inherits(&StringObject::s_info));
 79 ASSERT(asObject(value)->inherits(StringObject::info()));
8080 return static_cast<StringObject*>(asObject(value));
8181 }
8282
154013

Source/JavaScriptCore/runtime/StringPrototype.cpp

@@void StringPrototype::finishCreation(Exe
9595 VM& vm = exec->vm();
9696
9797 Base::finishCreation(vm, nameAndMessage);
98  ASSERT(inherits(&s_info));
 98 ASSERT(inherits(info()));
9999
100100 JSC_NATIVE_INTRINSIC_FUNCTION(vm.propertyNames->toString, stringProtoFuncToString, DontEnum, 0, StringPrototypeValueOfIntrinsic);
101101 JSC_NATIVE_INTRINSIC_FUNCTION(vm.propertyNames->valueOf, stringProtoFuncToString, DontEnum, 0, StringPrototypeValueOfIntrinsic);

@@EncodedJSValue JSC_HOST_CALL stringProto
685685 JSString* string = thisValue.toString(exec);
686686 JSValue searchValue = exec->argument(0);
687687
688  if (searchValue.inherits(&RegExpObject::s_info))
 688 if (searchValue.inherits(RegExpObject::info()))
689689 return replaceUsingRegExpSearch(exec, string, searchValue);
690690 return replaceUsingStringSearch(exec, string, searchValue);
691691}

@@EncodedJSValue JSC_HOST_CALL stringProto
698698 if (thisValue.isString())
699699 return JSValue::encode(thisValue);
700700
701  if (thisValue.inherits(&StringObject::s_info))
 701 if (thisValue.inherits(StringObject::info()))
702702 return JSValue::encode(asStringObject(thisValue)->internalValue());
703703
704704 return throwVMTypeError(exec);

@@EncodedJSValue JSC_HOST_CALL stringProto
835835
836836 RegExp* regExp;
837837 bool global = false;
838  if (a0.inherits(&RegExpObject::s_info)) {
 838 if (a0.inherits(RegExpObject::info())) {
839839 RegExpObject* regExpObject = asRegExpObject(a0);
840840 regExp = regExpObject->regExp();
841841 if ((global = regExp->global())) {

@@EncodedJSValue JSC_HOST_CALL stringProto
893893 JSValue a0 = exec->argument(0);
894894
895895 RegExp* reg;
896  if (a0.inherits(&RegExpObject::s_info))
 896 if (a0.inherits(RegExpObject::info()))
897897 reg = asRegExpObject(a0)->regExp();
898898 else {
899899 /*

@@EncodedJSValue JSC_HOST_CALL stringProto
996996 // 8. If separator is a RegExp object (its [[Class]] is "RegExp"), let R = separator;
997997 // otherwise let R = ToString(separator).
998998 JSValue separatorValue = exec->argument(0);
999  if (separatorValue.inherits(&RegExpObject::s_info)) {
 999 if (separatorValue.inherits(RegExpObject::info())) {
10001000 VM* vm = &exec->vm();
10011001 RegExp* reg = asRegExpObject(separatorValue)->regExp();
10021002
154013

Source/JavaScriptCore/runtime/StringPrototype.h

@@namespace JSC {
3838
3939 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
4040 {
41  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 41 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
4242 }
4343
44  static const ClassInfo s_info;
 44 DECLARE_INFO;
4545
4646 protected:
4747 void finishCreation(ExecState*, JSGlobalObject*, JSString*);
154013

Source/JavaScriptCore/runtime/Structure.cpp

@@const ClassInfo Structure::s_info = { "S
184184Structure::Structure(VM& vm)
185185 : JSCell(CreatingEarlyCell)
186186 , m_prototype(vm, this, jsNull())
187  , m_classInfo(&s_info)
 187 , m_classInfo(info())
188188 , m_transitionWatchpointSet(InitializedWatching)
189189 , m_offset(invalidOffset)
190190 , m_typeInfo(CompoundType, OverridesVisitChildren)

@@void Structure::findStructuresAndMapForM
263263
264264void Structure::materializePropertyMap(VM& vm)
265265{
266  ASSERT(structure()->classInfo() == &s_info);
 266 ASSERT(structure()->classInfo() == info());
267267 ASSERT(!propertyTable());
268268
269269 Vector<Structure*, 8> structures;

@@PropertyOffset Structure::getConcurrentl
827827PropertyOffset Structure::get(VM& vm, PropertyName propertyName, unsigned& attributes, JSCell*& specificValue)
828828{
829829 ASSERT(!isCompilationThread());
830  ASSERT(structure()->classInfo() == &s_info);
 830 ASSERT(structure()->classInfo() == info());
831831
832832 materializePropertyMapIfNecessary(vm);
833833 if (!propertyTable())

@@JSValue Structure::prototypeForLookup(Co
951951void Structure::visitChildren(JSCell* cell, SlotVisitor& visitor)
952952{
953953 Structure* thisObject = jsCast<Structure*>(cell);
954  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 954 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
955955 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
956956
957957 JSCell::visitChildren(thisObject, visitor);
154013

Source/JavaScriptCore/runtime/Structure.h

@@public:
133133 bool propertyAccessesAreCacheable() { return m_dictionaryKind != UncachedDictionaryKind && !typeInfo().prohibitsPropertyCaching(); }
134134
135135 // Type accessors.
136  const TypeInfo& typeInfo() const { ASSERT(structure()->classInfo() == &s_info); return m_typeInfo; }
 136 const TypeInfo& typeInfo() const { ASSERT(structure()->classInfo() == info()); return m_typeInfo; }
137137 bool isObject() const { return typeInfo().isObject(); }
138138
139139 IndexingType indexingType() const { return m_indexingType & AllArrayTypes; }

@@public:
169169
170170 Structure* previousID() const
171171 {
172  ASSERT(structure()->classInfo() == &s_info);
 172 ASSERT(structure()->classInfo() == info());
173173 if (typeInfo().structureHasRareData())
174174 return rareData()->previousID();
175175 return previous();

@@public:
195195 unsigned outOfLineSize() const
196196 {
197197 ASSERT(checkOffsetConsistency());
198  ASSERT(structure()->classInfo() == &s_info);
 198 ASSERT(structure()->classInfo() == info());
199199
200200 return numberOfOutOfLineSlotsForLastOffset(m_offset);
201201 }

@@public:
217217 }
218218 unsigned totalStorageCapacity() const
219219 {
220  ASSERT(structure()->classInfo() == &s_info);
 220 ASSERT(structure()->classInfo() == info());
221221 return outOfLineCapacity() + inlineCapacity();
222222 }
223223

@@public:
365365
366366 static void dumpContextHeader(PrintStream&);
367367
368  static JS_EXPORTDATA const ClassInfo s_info;
 368 DECLARE_EXPORT_INFO;
369369
370370private:
371371 friend class LLIntOffsetsExtractor;

@@private:
408408 void materializePropertyMapIfNecessary(VM& vm)
409409 {
410410 ASSERT(!isCompilationThread());
411  ASSERT(structure()->classInfo() == &s_info);
 411 ASSERT(structure()->classInfo() == info());
412412 ASSERT(checkOffsetConsistency());
413413 if (!propertyTable() && previousID())
414414 materializePropertyMap(vm);
415415 }
416416 void materializePropertyMapIfNecessaryForPinning(VM& vm)
417417 {
418  ASSERT(structure()->classInfo() == &s_info);
 418 ASSERT(structure()->classInfo() == info());
419419 checkOffsetConsistency();
420420 if (!propertyTable())
421421 materializePropertyMap(vm);
154013

Source/JavaScriptCore/runtime/StructureChain.cpp

3333
3434namespace JSC {
3535
36 ClassInfo StructureChain::s_info = { "StructureChain", 0, 0, 0, CREATE_METHOD_TABLE(StructureChain) };
 36const ClassInfo StructureChain::s_info = { "StructureChain", 0, 0, 0, CREATE_METHOD_TABLE(StructureChain) };
3737
3838StructureChain::StructureChain(VM& vm, Structure* structure)
3939 : JSCell(vm, structure)

@@void StructureChain::destroy(JSCell* cel
4848void StructureChain::visitChildren(JSCell* cell, SlotVisitor& visitor)
4949{
5050 StructureChain* thisObject = jsCast<StructureChain*>(cell);
51  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 51 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
5252 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
5353 size_t i = 0;
5454 while (thisObject->m_vector[i])
154013

Source/JavaScriptCore/runtime/StructureChain.h

@@namespace JSC {
5555 WriteBarrier<Structure>* head() { return m_vector.get(); }
5656 static void visitChildren(JSCell*, SlotVisitor&);
5757
58  static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) { return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), &s_info); }
 58 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) { return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), info()); }
5959
60  static ClassInfo s_info;
 60 DECLARE_INFO;
6161
6262 static const bool needsDestruction = true;
6363 static const bool hasImmortalStructure = true;
154013

Source/JavaScriptCore/runtime/StructureInlines.h

@@inline Structure* Structure::storedProto
7575inline PropertyOffset Structure::get(VM& vm, PropertyName propertyName)
7676{
7777 ASSERT(!isCompilationThread());
78  ASSERT(structure()->classInfo() == &s_info);
 78 ASSERT(structure()->classInfo() == info());
7979 materializePropertyMapIfNecessary(vm);
8080 if (!propertyTable())
8181 return invalidOffset;

@@inline PropertyOffset Structure::get(VM&
8787inline PropertyOffset Structure::get(VM& vm, const WTF::String& name)
8888{
8989 ASSERT(!isCompilationThread());
90  ASSERT(structure()->classInfo() == &s_info);
 90 ASSERT(structure()->classInfo() == info());
9191 materializePropertyMapIfNecessary(vm);
9292 if (!propertyTable())
9393 return invalidOffset;
154013

Source/JavaScriptCore/runtime/StructureRareData.cpp

@@const ClassInfo StructureRareData::s_inf
3636
3737Structure* StructureRareData::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
3838{
39  return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, StructureFlags), &s_info);
 39 return Structure::create(vm, globalObject, prototype, TypeInfo(CompoundType, StructureFlags), info());
4040}
4141
4242StructureRareData* StructureRareData::create(VM& vm, Structure* previous)

@@StructureRareData::StructureRareData(VM&
7272void StructureRareData::visitChildren(JSCell* cell, SlotVisitor& visitor)
7373{
7474 StructureRareData* thisObject = jsCast<StructureRareData*>(cell);
75  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 75 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
7676 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
7777
7878 JSCell::visitChildren(thisObject, visitor);
154013

Source/JavaScriptCore/runtime/StructureRareData.h

@@public:
5858 JSPropertyNameIterator* enumerationCache();
5959 void setEnumerationCache(VM&, const Structure* owner, JSPropertyNameIterator* value);
6060
61  static JS_EXPORTDATA const ClassInfo s_info;
 61 DECLARE_EXPORT_INFO;
6262
6363private:
6464 StructureRareData(VM&, Structure*);
154013

Source/JavaScriptCore/runtime/SymbolTable.h

@@public:
452452
453453 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
454454 {
455  return Structure::create(vm, globalObject, prototype, TypeInfo(LeafType, StructureFlags), &s_info);
 455 return Structure::create(vm, globalObject, prototype, TypeInfo(LeafType, StructureFlags), info());
456456 }
457457
458458 bool usesNonStrictEval() { return m_usesNonStrictEval; }

@@public:
474474 const SlowArgument* slowArguments() { return m_slowArguments.get(); }
475475 void setSlowArguments(PassOwnArrayPtr<SlowArgument> slowArguments) { m_slowArguments = slowArguments; }
476476
477  static JS_EXPORTDATA const ClassInfo s_info;
 477 DECLARE_EXPORT_INFO;
478478
479479private:
480480 SharedSymbolTable(VM& vm)
154013

Source/JavaScriptCore/runtime/VM.cpp

@@VM::VM(VMType vmType, HeapType heapType)
164164 , parserArena(adoptPtr(new ParserArena))
165165 , keywords(adoptPtr(new Keywords(this)))
166166 , interpreter(0)
167  , jsArrayClassInfo(&JSArray::s_info)
168  , jsFinalObjectClassInfo(&JSFinalObject::s_info)
 167 , jsArrayClassInfo(JSArray::info())
 168 , jsFinalObjectClassInfo(JSFinalObject::info())
169169#if ENABLE(DFG_JIT)
170170 , sizeOfLastScratchBuffer(0)
171171#endif

@@struct StackPreservingRecompiler : publi
490490 HashSet<FunctionExecutable*> currentlyExecutingFunctions;
491491 void operator()(JSCell* cell)
492492 {
493  if (!cell->inherits(&FunctionExecutable::s_info))
 493 if (!cell->inherits(FunctionExecutable::info()))
494494 return;
495495 FunctionExecutable* executable = jsCast<FunctionExecutable*>(cell);
496496 if (currentlyExecutingFunctions.contains(executable))

@@void VM::releaseExecutableMemory()
512512 for (HashSet<JSCell*>::iterator ptr = roots.begin(); ptr != end; ++ptr) {
513513 ScriptExecutable* executable = 0;
514514 JSCell* cell = *ptr;
515  if (cell->inherits(&ScriptExecutable::s_info))
 515 if (cell->inherits(ScriptExecutable::info()))
516516 executable = static_cast<ScriptExecutable*>(*ptr);
517  else if (cell->inherits(&JSFunction::s_info)) {
 517 else if (cell->inherits(JSFunction::info())) {
518518 JSFunction* function = jsCast<JSFunction*>(*ptr);
519519 if (function->isHostFunction())
520520 continue;
521521 executable = function->jsExecutable();
522522 } else
523523 continue;
524  ASSERT(executable->inherits(&ScriptExecutable::s_info));
 524 ASSERT(executable->inherits(ScriptExecutable::info()));
525525 executable->unlinkCalls();
526  if (executable->inherits(&FunctionExecutable::s_info))
 526 if (executable->inherits(FunctionExecutable::info()))
527527 recompiler.currentlyExecutingFunctions.add(static_cast<FunctionExecutable*>(executable));
528528
529529 }
154013

Source/JavaScriptCore/runtime/WriteBarrier.h

@@JS_EXPORT_PRIVATE void slowValidateCell(
4747#if ENABLE(GC_VALIDATION)
4848template<class T> inline void validateCell(T cell)
4949{
50  ASSERT_GC_OBJECT_INHERITS(cell, &WTF::RemovePointer<T>::Type::s_info);
 50 ASSERT_GC_OBJECT_INHERITS(cell, WTF::RemovePointer<T>::Type::info());
5151}
5252
5353template<> inline void validateCell<JSCell*>(JSCell* cell)
154013

Source/WebCore/ChangeLog

 12013-08-13 Filip Pizlo <fpizlo@apple.com>
 2
 3 Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
 4 https://bugs.webkit.org/show_bug.cgi?id=119770
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 No new tests because no new behavior.
 9
 10 * bindings/js/IDBBindingUtilities.cpp:
 11 (WebCore::createIDBKeyFromValue):
 12 * bindings/js/JSAttrCustom.cpp:
 13 (WebCore::JSAttr::visitChildren):
 14 * bindings/js/JSAudioTrackCustom.cpp:
 15 (WebCore::JSAudioTrack::visitChildren):
 16 * bindings/js/JSAudioTrackListCustom.cpp:
 17 (WebCore::JSAudioTrackList::visitChildren):
 18 * bindings/js/JSBlobCustom.cpp:
 19 (WebCore::JSBlobConstructor::constructJSBlob):
 20 * bindings/js/JSCSSRuleCustom.cpp:
 21 (WebCore::JSCSSRule::visitChildren):
 22 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
 23 (WebCore::JSCSSStyleDeclaration::visitChildren):
 24 (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
 25 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
 26 (WebCore::toHTMLCanvasStyle):
 27 * bindings/js/JSCanvasRenderingContextCustom.cpp:
 28 (WebCore::JSCanvasRenderingContext::visitChildren):
 29 * bindings/js/JSDOMBinding.cpp:
 30 (WebCore::valueToDate):
 31 * bindings/js/JSDOMBinding.h:
 32 (WebCore::DOMConstructorObject::createStructure):
 33 (WebCore::getDOMStructure):
 34 (WebCore::toRefPtrNativeArray):
 35 (WebCore::getStaticValueSlotEntryWithoutCaching):
 36 * bindings/js/JSDOMFormDataCustom.cpp:
 37 (WebCore::toHTMLFormElement):
 38 (WebCore::JSDOMFormData::append):
 39 * bindings/js/JSDOMGlobalObject.cpp:
 40 (WebCore::JSDOMGlobalObject::finishCreation):
 41 (WebCore::JSDOMGlobalObject::scriptExecutionContext):
 42 (WebCore::JSDOMGlobalObject::visitChildren):
 43 * bindings/js/JSDOMGlobalObject.h:
 44 (WebCore::JSDOMGlobalObject::info):
 45 (WebCore::JSDOMGlobalObject::createStructure):
 46 (WebCore::getDOMConstructor):
 47 * bindings/js/JSDOMStringListCustom.cpp:
 48 (WebCore::toDOMStringList):
 49 * bindings/js/JSDOMWindowBase.cpp:
 50 (WebCore::JSDOMWindowBase::finishCreation):
 51 (WebCore::toJSDOMWindow):
 52 * bindings/js/JSDOMWindowBase.h:
 53 (WebCore::JSDOMWindowBase::createStructure):
 54 * bindings/js/JSDOMWindowCustom.cpp:
 55 (WebCore::JSDOMWindow::visitChildren):
 56 (WebCore::JSDOMWindow::getOwnPropertySlot):
 57 (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
 58 (WebCore::toDOMWindow):
 59 * bindings/js/JSDOMWindowShell.cpp:
 60 (WebCore::JSDOMWindowShell::finishCreation):
 61 * bindings/js/JSDOMWindowShell.h:
 62 (WebCore::JSDOMWindowShell::createStructure):
 63 * bindings/js/JSEventTargetCustom.cpp:
 64 (WebCore::toEventTarget):
 65 * bindings/js/JSHistoryCustom.cpp:
 66 (WebCore::JSHistory::getOwnPropertySlotDelegate):
 67 (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
 68 * bindings/js/JSImageConstructor.cpp:
 69 (WebCore::JSImageConstructor::finishCreation):
 70 * bindings/js/JSImageConstructor.h:
 71 (WebCore::JSImageConstructor::createStructure):
 72 * bindings/js/JSInjectedScriptHostCustom.cpp:
 73 (WebCore::JSInjectedScriptHost::isHTMLAllCollection):
 74 (WebCore::JSInjectedScriptHost::type):
 75 (WebCore::JSInjectedScriptHost::functionDetails):
 76 * bindings/js/JSInspectorFrontendHostCustom.cpp:
 77 (WebCore::populateContextMenuItems):
 78 * bindings/js/JSLocationCustom.cpp:
 79 (WebCore::JSLocation::getOwnPropertySlotDelegate):
 80 (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
 81 (WebCore::JSLocation::putDelegate):
 82 * bindings/js/JSMessageChannelCustom.cpp:
 83 (WebCore::JSMessageChannel::visitChildren):
 84 * bindings/js/JSMessagePortCustom.cpp:
 85 (WebCore::JSMessagePort::visitChildren):
 86 * bindings/js/JSNodeCustom.cpp:
 87 (WebCore::JSNode::pushEventHandlerScope):
 88 (WebCore::JSNode::visitChildren):
 89 * bindings/js/JSNodeFilterCustom.cpp:
 90 (WebCore::JSNodeFilter::visitChildren):
 91 (WebCore::toNodeFilter):
 92 * bindings/js/JSNodeIteratorCustom.cpp:
 93 (WebCore::JSNodeIterator::visitChildren):
 94 * bindings/js/JSPluginElementFunctions.h:
 95 (WebCore::pluginElementCustomGetOwnPropertySlot):
 96 (WebCore::pluginElementCustomGetOwnPropertyDescriptor):
 97 * bindings/js/JSSVGElementInstanceCustom.cpp:
 98 (WebCore::JSSVGElementInstance::visitChildren):
 99 * bindings/js/JSSharedWorkerCustom.cpp:
 100 (WebCore::JSSharedWorker::visitChildren):
 101 * bindings/js/JSStyleSheetCustom.cpp:
 102 (WebCore::JSStyleSheet::visitChildren):
 103 * bindings/js/JSTextTrackCueCustom.cpp:
 104 (WebCore::JSTextTrackCue::visitChildren):
 105 * bindings/js/JSTextTrackCustom.cpp:
 106 (WebCore::JSTextTrack::visitChildren):
 107 * bindings/js/JSTextTrackListCustom.cpp:
 108 (WebCore::JSTextTrackList::visitChildren):
 109 * bindings/js/JSTrackCustom.cpp:
 110 (WebCore::toTrack):
 111 * bindings/js/JSTreeWalkerCustom.cpp:
 112 (WebCore::JSTreeWalker::visitChildren):
 113 * bindings/js/JSVideoTrackCustom.cpp:
 114 (WebCore::JSVideoTrack::visitChildren):
 115 * bindings/js/JSVideoTrackListCustom.cpp:
 116 (WebCore::JSVideoTrackList::visitChildren):
 117 * bindings/js/JSWebGLRenderingContextCustom.cpp:
 118 (WebCore::JSWebGLRenderingContext::visitChildren):
 119 (WebCore::JSWebGLRenderingContext::getAttachedShaders):
 120 (WebCore::JSWebGLRenderingContext::getProgramParameter):
 121 (WebCore::JSWebGLRenderingContext::getShaderParameter):
 122 (WebCore::JSWebGLRenderingContext::getUniform):
 123 (WebCore::dataFunctionf):
 124 (WebCore::dataFunctioni):
 125 (WebCore::dataFunctionMatrix):
 126 * bindings/js/JSWorkerGlobalScopeBase.cpp:
 127 (WebCore::JSWorkerGlobalScopeBase::finishCreation):
 128 (WebCore::toJSDedicatedWorkerGlobalScope):
 129 (WebCore::toJSSharedWorkerGlobalScope):
 130 * bindings/js/JSWorkerGlobalScopeBase.h:
 131 (WebCore::JSWorkerGlobalScopeBase::createStructure):
 132 * bindings/js/JSWorkerGlobalScopeCustom.cpp:
 133 (WebCore::JSWorkerGlobalScope::visitChildren):
 134 * bindings/js/JSXMLHttpRequestCustom.cpp:
 135 (WebCore::JSXMLHttpRequest::visitChildren):
 136 (WebCore::JSXMLHttpRequest::send):
 137 * bindings/js/JSXPathResultCustom.cpp:
 138 (WebCore::JSXPathResult::visitChildren):
 139 * bindings/js/ScriptDebugServer.cpp:
 140 (WebCore::ScriptDebugServer::dispatchDidPause):
 141 * bindings/js/ScriptState.cpp:
 142 (WebCore::domWindowFromScriptState):
 143 (WebCore::scriptExecutionContextFromScriptState):
 144 * bindings/js/SerializedScriptValue.cpp:
 145 (WebCore::CloneSerializer::isArray):
 146 (WebCore::CloneSerializer::dumpArrayBufferView):
 147 (WebCore::CloneSerializer::dumpIfTerminal):
 148 (WebCore::CloneSerializer::serialize):
 149 (WebCore::CloneDeserializer::CloneDeserializer):
 150 (WebCore::CloneDeserializer::readArrayBufferView):
 151 * bindings/objc/DOM.mm:
 152 (+[DOMNode _nodeFromJSWrapper:]):
 153 * bindings/objc/DOMUtility.mm:
 154 (JSC::createDOMWrapper):
 155 * bindings/objc/WebScriptObject.mm:
 156 (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
 157 * bindings/scripts/CodeGeneratorJS.pm:
 158 (GenerateGetOwnPropertySlotBody):
 159 (GenerateGetOwnPropertyDescriptorBody):
 160 (GenerateHeader):
 161 (GenerateParametersCheckExpression):
 162 (GenerateImplementation):
 163 (GenerateParametersCheck):
 164 (GenerateConstructorDeclaration):
 165 (GenerateConstructorHelperMethods):
 166 * bindings/scripts/test/JS/JSFloat64Array.cpp:
 167 (WebCore::JSFloat64ArrayConstructor::finishCreation):
 168 (WebCore::JSFloat64Array::finishCreation):
 169 (WebCore::JSFloat64Array::getOwnPropertySlot):
 170 (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
 171 (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
 172 (WebCore::JSFloat64Array::put):
 173 (WebCore::JSFloat64Array::putByIndex):
 174 (WebCore::JSFloat64Array::getOwnPropertyNames):
 175 (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
 176 (WebCore::jsFloat64ArrayPrototypeFunctionSet):
 177 (WebCore::JSFloat64Array::getByIndex):
 178 (WebCore::toFloat64Array):
 179 * bindings/scripts/test/JS/JSFloat64Array.h:
 180 (WebCore::JSFloat64Array::createStructure):
 181 (WebCore::JSFloat64ArrayPrototype::createStructure):
 182 (WebCore::JSFloat64ArrayConstructor::createStructure):
 183 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
 184 (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
 185 (WebCore::JSTestActiveDOMObject::finishCreation):
 186 (WebCore::JSTestActiveDOMObject::getOwnPropertySlot):
 187 (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
 188 (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
 189 (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
 190 (WebCore::toTestActiveDOMObject):
 191 * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
 192 (WebCore::JSTestActiveDOMObject::createStructure):
 193 (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
 194 (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
 195 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
 196 (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
 197 (WebCore::JSTestCustomNamedGetter::finishCreation):
 198 (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
 199 (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
 200 (WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
 201 (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
 202 (WebCore::toTestCustomNamedGetter):
 203 * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
 204 (WebCore::JSTestCustomNamedGetter::createStructure):
 205 (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
 206 (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
 207 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
 208 (WebCore::JSTestEventConstructorConstructor::finishCreation):
 209 (WebCore::JSTestEventConstructor::finishCreation):
 210 (WebCore::JSTestEventConstructor::getOwnPropertySlot):
 211 (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
 212 (WebCore::toTestEventConstructor):
 213 * bindings/scripts/test/JS/JSTestEventConstructor.h:
 214 (WebCore::JSTestEventConstructor::createStructure):
 215 (WebCore::JSTestEventConstructorPrototype::createStructure):
 216 (WebCore::JSTestEventConstructorConstructor::createStructure):
 217 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
 218 (WebCore::JSTestEventTargetConstructor::finishCreation):
 219 (WebCore::JSTestEventTarget::finishCreation):
 220 (WebCore::JSTestEventTarget::getOwnPropertySlot):
 221 (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
 222 (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
 223 (WebCore::JSTestEventTarget::getOwnPropertyNames):
 224 (WebCore::jsTestEventTargetPrototypeFunctionItem):
 225 (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
 226 (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
 227 (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
 228 (WebCore::JSTestEventTarget::visitChildren):
 229 (WebCore::JSTestEventTarget::indexGetter):
 230 (WebCore::toTestEventTarget):
 231 * bindings/scripts/test/JS/JSTestEventTarget.h:
 232 (WebCore::JSTestEventTarget::createStructure):
 233 (WebCore::JSTestEventTargetPrototype::createStructure):
 234 (WebCore::JSTestEventTargetConstructor::createStructure):
 235 * bindings/scripts/test/JS/JSTestException.cpp:
 236 (WebCore::JSTestExceptionConstructor::finishCreation):
 237 (WebCore::JSTestException::finishCreation):
 238 (WebCore::JSTestException::getOwnPropertySlot):
 239 (WebCore::JSTestException::getOwnPropertyDescriptor):
 240 (WebCore::toTestException):
 241 * bindings/scripts/test/JS/JSTestException.h:
 242 (WebCore::JSTestException::createStructure):
 243 (WebCore::JSTestExceptionPrototype::createStructure):
 244 (WebCore::JSTestExceptionConstructor::createStructure):
 245 * bindings/scripts/test/JS/JSTestInterface.cpp:
 246 (WebCore::JSTestInterfaceConstructor::finishCreation):
 247 (WebCore::JSTestInterface::finishCreation):
 248 (WebCore::JSTestInterface::getOwnPropertySlot):
 249 (WebCore::JSTestInterface::getOwnPropertyDescriptor):
 250 (WebCore::JSTestInterface::put):
 251 (WebCore::JSTestInterface::putByIndex):
 252 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
 253 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
 254 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
 255 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
 256 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
 257 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
 258 (WebCore::toTestInterface):
 259 * bindings/scripts/test/JS/JSTestInterface.h:
 260 (WebCore::JSTestInterface::createStructure):
 261 (WebCore::JSTestInterfacePrototype::createStructure):
 262 (WebCore::JSTestInterfaceConstructor::createStructure):
 263 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
 264 (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
 265 (WebCore::JSTestMediaQueryListListener::finishCreation):
 266 (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
 267 (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
 268 (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
 269 (WebCore::toTestMediaQueryListListener):
 270 * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
 271 (WebCore::JSTestMediaQueryListListener::createStructure):
 272 (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
 273 (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
 274 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
 275 (WebCore::JSTestNamedConstructorConstructor::finishCreation):
 276 (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
 277 (WebCore::JSTestNamedConstructor::finishCreation):
 278 (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
 279 (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
 280 (WebCore::toTestNamedConstructor):
 281 * bindings/scripts/test/JS/JSTestNamedConstructor.h:
 282 (WebCore::JSTestNamedConstructor::createStructure):
 283 (WebCore::JSTestNamedConstructorPrototype::createStructure):
 284 (WebCore::JSTestNamedConstructorConstructor::createStructure):
 285 (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
 286 * bindings/scripts/test/JS/JSTestNode.cpp:
 287 (WebCore::JSTestNodeConstructor::finishCreation):
 288 (WebCore::JSTestNode::finishCreation):
 289 (WebCore::JSTestNode::getOwnPropertySlot):
 290 (WebCore::JSTestNode::getOwnPropertyDescriptor):
 291 (WebCore::JSTestNode::visitChildren):
 292 * bindings/scripts/test/JS/JSTestNode.h:
 293 (WebCore::JSTestNode::createStructure):
 294 (WebCore::JSTestNodePrototype::createStructure):
 295 (WebCore::JSTestNodeConstructor::createStructure):
 296 * bindings/scripts/test/JS/JSTestObj.cpp:
 297 (WebCore::JSTestObjConstructor::finishCreation):
 298 (WebCore::JSTestObj::finishCreation):
 299 (WebCore::JSTestObj::getOwnPropertySlot):
 300 (WebCore::JSTestObj::getOwnPropertyDescriptor):
 301 (WebCore::JSTestObj::put):
 302 (WebCore::jsTestObjPrototypeFunctionVoidMethod):
 303 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
 304 (WebCore::jsTestObjPrototypeFunctionByteMethod):
 305 (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
 306 (WebCore::jsTestObjPrototypeFunctionOctetMethod):
 307 (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
 308 (WebCore::jsTestObjPrototypeFunctionLongMethod):
 309 (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
 310 (WebCore::jsTestObjPrototypeFunctionObjMethod):
 311 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
 312 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
 313 (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
 314 (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
 315 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
 316 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
 317 (WebCore::jsTestObjPrototypeFunctionOptionsObject):
 318 (WebCore::jsTestObjPrototypeFunctionMethodWithException):
 319 (WebCore::jsTestObjPrototypeFunctionCustomMethod):
 320 (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
 321 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
 322 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
 323 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
 324 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
 325 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
 326 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
 327 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
 328 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
 329 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
 330 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
 331 (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
 332 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
 333 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
 334 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
 335 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
 336 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
 337 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
 338 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
 339 (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
 340 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
 341 (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
 342 (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
 343 (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
 344 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
 345 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
 346 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
 347 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
 348 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
 349 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
 350 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
 351 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
 352 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
 353 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
 354 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
 355 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
 356 (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
 357 (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
 358 (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
 359 (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
 360 (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
 361 (WebCore::jsTestObjPrototypeFunctionConvert1):
 362 (WebCore::jsTestObjPrototypeFunctionConvert2):
 363 (WebCore::jsTestObjPrototypeFunctionConvert4):
 364 (WebCore::jsTestObjPrototypeFunctionConvert5):
 365 (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
 366 (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
 367 (WebCore::jsTestObjPrototypeFunctionOrange):
 368 (WebCore::jsTestObjPrototypeFunctionStrictFunction):
 369 (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
 370 (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
 371 (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
 372 (WebCore::JSTestObj::visitChildren):
 373 (WebCore::toTestObj):
 374 * bindings/scripts/test/JS/JSTestObj.h:
 375 (WebCore::JSTestObj::createStructure):
 376 (WebCore::JSTestObjPrototype::createStructure):
 377 (WebCore::JSTestObjConstructor::createStructure):
 378 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
 379 (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
 380 (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
 381 (WebCore::JSTestOverloadedConstructors::finishCreation):
 382 (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
 383 (WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
 384 (WebCore::toTestOverloadedConstructors):
 385 * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
 386 (WebCore::JSTestOverloadedConstructors::createStructure):
 387 (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
 388 (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
 389 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
 390 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
 391 (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
 392 (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
 393 (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
 394 (WebCore::JSTestSerializedScriptValueInterface::put):
 395 (WebCore::JSTestSerializedScriptValueInterface::visitChildren):
 396 (WebCore::toTestSerializedScriptValueInterface):
 397 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
 398 (WebCore::JSTestSerializedScriptValueInterface::createStructure):
 399 (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
 400 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
 401 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
 402 (WebCore::JSTestTypedefsConstructor::finishCreation):
 403 (WebCore::JSTestTypedefs::finishCreation):
 404 (WebCore::JSTestTypedefs::getOwnPropertySlot):
 405 (WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
 406 (WebCore::JSTestTypedefs::put):
 407 (WebCore::jsTestTypedefsPrototypeFunctionFunc):
 408 (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
 409 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
 410 (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
 411 (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
 412 (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
 413 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
 414 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
 415 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
 416 (WebCore::toTestTypedefs):
 417 * bindings/scripts/test/JS/JSTestTypedefs.h:
 418 (WebCore::JSTestTypedefs::createStructure):
 419 (WebCore::JSTestTypedefsPrototype::createStructure):
 420 (WebCore::JSTestTypedefsConstructor::createStructure):
 421 * bridge/c/CRuntimeObject.cpp:
 422 (JSC::Bindings::CRuntimeObject::finishCreation):
 423 * bridge/c/CRuntimeObject.h:
 424 (JSC::Bindings::CRuntimeObject::createStructure):
 425 * bridge/c/c_instance.cpp:
 426 (JSC::Bindings::CRuntimeMethod::createStructure):
 427 (JSC::Bindings::CRuntimeMethod::finishCreation):
 428 (JSC::Bindings::CInstance::invokeMethod):
 429 * bridge/c/c_utility.cpp:
 430 (JSC::Bindings::convertValueToNPVariant):
 431 * bridge/objc/ObjCRuntimeObject.h:
 432 (JSC::Bindings::ObjCRuntimeObject::createStructure):
 433 * bridge/objc/objc_instance.mm:
 434 (ObjCRuntimeMethod::finishCreation):
 435 (ObjcInstance::invokeMethod):
 436 * bridge/objc/objc_runtime.h:
 437 (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
 438 * bridge/objc/objc_runtime.mm:
 439 (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
 440 (JSC::Bindings::callObjCFallbackObject):
 441 * bridge/qt/qt_instance.cpp:
 442 (JSC::Bindings::QtRuntimeObject::createStructure):
 443 (JSC::Bindings::QtInstance::getInstance):
 444 * bridge/qt/qt_pixmapruntime.cpp:
 445 (JSC::Bindings::assignToHTMLImageElement):
 446 (JSC::Bindings::QtPixmapRuntime::toQt):
 447 * bridge/qt/qt_runtime.cpp:
 448 (JSC::Bindings::isJSUint8Array):
 449 (JSC::Bindings::isJSArray):
 450 (JSC::Bindings::isJSDate):
 451 (JSC::Bindings::isQtObject):
 452 (JSC::Bindings::unwrapBoxedPrimitive):
 453 (JSC::Bindings::convertQVariantToValue):
 454 * bridge/runtime_array.cpp:
 455 (JSC::RuntimeArray::finishCreation):
 456 * bridge/runtime_array.h:
 457 (JSC::RuntimeArray::createStructure):
 458 * bridge/runtime_method.cpp:
 459 (JSC::RuntimeMethod::finishCreation):
 460 (JSC::callRuntimeMethod):
 461 * bridge/runtime_method.h:
 462 (JSC::RuntimeMethod::createStructure):
 463 * bridge/runtime_object.cpp:
 464 (JSC::Bindings::RuntimeObject::finishCreation):
 465 (JSC::Bindings::callRuntimeObject):
 466 (JSC::Bindings::callRuntimeConstructor):
 467 * bridge/runtime_object.h:
 468 (JSC::Bindings::RuntimeObject::createStructure):
 469
14702013-08-13 Brent Fulgham <bfulgham@apple.com>
2471
3472 [Windows] Windows is incorrectly using a LayerTypeTiledBackingLayer
154030

Source/WebCore/bindings/js/IDBBindingUtilities.cpp

@@static PassRefPtr<IDBKey> createIDBKeyFr
116116 return IDBKey::createNumber(value.toNumber(exec));
117117 if (value.isString())
118118 return IDBKey::createString(value.toString(exec)->value(exec));
119  if (value.inherits(&DateInstance::s_info) && !std::isnan(valueToDate(exec, value)))
 119 if (value.inherits(DateInstance::info()) && !std::isnan(valueToDate(exec, value)))
120120 return IDBKey::createDate(valueToDate(exec, value));
121121 if (value.isObject()) {
122122 JSObject* object = asObject(value);
123  if (isJSArray(object) || object->inherits(&JSArray::s_info)) {
 123 if (isJSArray(object) || object->inherits(JSArray::info())) {
124124 JSArray* array = asArray(object);
125125 size_t length = array->length();
126126
154013

Source/WebCore/bindings/js/JSAttrCustom.cpp

@@using namespace HTMLNames;
4242void JSAttr::visitChildren(JSCell* cell, SlotVisitor& visitor)
4343{
4444 JSAttr* thisObject = jsCast<JSAttr*>(cell);
45  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 45 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4646 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4747 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4848
154013

Source/WebCore/bindings/js/JSAudioTrackCustom.cpp

@@namespace WebCore {
3838void JSAudioTrack::visitChildren(JSCell* cell, SlotVisitor& visitor)
3939{
4040 JSAudioTrack* jsAudioTrack = jsCast<JSAudioTrack*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(jsAudioTrack, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(jsAudioTrack, info());
4242 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4343 ASSERT(jsAudioTrack->structure()->typeInfo().overridesVisitChildren());
4444 Base::visitChildren(jsAudioTrack, visitor);
154013

Source/WebCore/bindings/js/JSAudioTrackListCustom.cpp

@@namespace WebCore {
3838void JSAudioTrackList::visitChildren(JSCell* cell, SlotVisitor& visitor)
3939{
4040 JSAudioTrackList* jsAudioTrackList = jsCast<JSAudioTrackList*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(jsAudioTrackList, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(jsAudioTrackList, info());
4242 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4343 ASSERT(jsAudioTrackList->structure()->typeInfo().overridesVisitChildren());
4444 Base::visitChildren(jsAudioTrackList, visitor);
154013

Source/WebCore/bindings/js/JSBlobCustom.cpp

@@EncodedJSValue JSC_HOST_CALL JSBlobConst
116116 for (unsigned i = 0; i < length; ++i) {
117117 JSValue item = array->getIndex(exec, i);
118118#if ENABLE(BLOB)
119  if (item.inherits(&JSArrayBuffer::s_info))
 119 if (item.inherits(JSArrayBuffer::info()))
120120 blobBuilder.append(toArrayBuffer(item));
121  else if (item.inherits(&JSArrayBufferView::s_info))
 121 else if (item.inherits(JSArrayBufferView::info()))
122122 blobBuilder.append(toArrayBufferView(item));
123123 else
124124#endif
125  if (item.inherits(&JSBlob::s_info))
 125 if (item.inherits(JSBlob::info()))
126126 blobBuilder.append(toBlob(item));
127127 else {
128128 String string = item.toString(exec)->value(exec);
154013

Source/WebCore/bindings/js/JSCSSRuleCustom.cpp

@@namespace WebCore {
6161void JSCSSRule::visitChildren(JSCell* cell, SlotVisitor& visitor)
6262{
6363 JSCSSRule* thisObject = jsCast<JSCSSRule*>(cell);
64  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 64 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
6565 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
6666 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
6767 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp

@@namespace WebCore {
5252void JSCSSStyleDeclaration::visitChildren(JSCell* cell, SlotVisitor& visitor)
5353{
5454 JSCSSStyleDeclaration* thisObject = jsCast<JSCSSStyleDeclaration*>(cell);
55  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 55 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
5656 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
5757 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
5858 Base::visitChildren(thisObject, visitor);

@@JSValue JSCSSStyleDeclaration::getProper
393393void JSCSSStyleDeclaration::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
394394{
395395 JSCSSStyleDeclaration* thisObject = jsCast<JSCSSStyleDeclaration*>(object);
396  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 396 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
397397
398398 unsigned length = thisObject->impl()->length();
399399 for (unsigned i = 0; i < length; ++i)
154013

Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp

@@static CanvasStyle toHTMLCanvasStyle(Exe
5252 if (!value.isObject())
5353 return CanvasStyle();
5454 JSObject* object = asObject(value);
55  if (object->inherits(&JSCanvasGradient::s_info))
 55 if (object->inherits(JSCanvasGradient::info()))
5656 return CanvasStyle(jsCast<JSCanvasGradient*>(object)->impl());
57  if (object->inherits(&JSCanvasPattern::s_info))
 57 if (object->inherits(JSCanvasPattern::info()))
5858 return CanvasStyle(jsCast<JSCanvasPattern*>(object)->impl());
5959 return CanvasStyle();
6060}
154013

Source/WebCore/bindings/js/JSCanvasRenderingContextCustom.cpp

@@namespace WebCore {
4242void JSCanvasRenderingContext::visitChildren(JSCell* cell, SlotVisitor& visitor)
4343{
4444 JSCanvasRenderingContext* thisObject = jsCast<JSCanvasRenderingContext*>(cell);
45  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 45 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4646 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4747 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4848 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSDOMBinding.cpp

@@double valueToDate(ExecState* exec, JSVa
127127{
128128 if (value.isNumber())
129129 return value.asNumber();
130  if (!value.inherits(&DateInstance::s_info))
 130 if (!value.inherits(DateInstance::info()))
131131 return std::numeric_limits<double>::quiet_NaN();
132132 return static_cast<DateInstance*>(value.toObject(exec))->internalNumber();
133133}
154013

Source/WebCore/bindings/js/JSDOMBinding.h

@@class DOMStringList;
6565 public:
6666 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
6767 {
68  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 68 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
6969 }
7070
7171 protected:

@@class DOMStringList;
112112
113113 template<class WrapperClass> inline JSC::Structure* getDOMStructure(JSC::ExecState* exec, JSDOMGlobalObject* globalObject)
114114 {
115  if (JSC::Structure* structure = getCachedDOMStructure(globalObject, &WrapperClass::s_info))
 115 if (JSC::Structure* structure = getCachedDOMStructure(globalObject, WrapperClass::info()))
116116 return structure;
117  return cacheDOMStructure(globalObject, WrapperClass::createStructure(exec->vm(), globalObject, WrapperClass::createPrototype(exec, globalObject)), &WrapperClass::s_info);
 117 return cacheDOMStructure(globalObject, WrapperClass::createStructure(exec->vm(), globalObject, WrapperClass::createPrototype(exec, globalObject)), WrapperClass::info());
118118 }
119119
120120 template<class WrapperClass> inline JSC::Structure* deprecatedGetDOMStructure(JSC::ExecState* exec)

@@class DOMStringList;
421421 JSC::JSArray* array = asArray(value);
422422 for (size_t i = 0; i < array->length(); ++i) {
423423 JSC::JSValue element = array->getIndex(exec, i);
424  if (element.inherits(&JST::s_info))
 424 if (element.inherits(JST::info()))
425425 result.append((*toT)(element));
426426 else {
427427 throwVMError(exec, createTypeError(exec, "Invalid Array element type"));

@@class DOMStringList;
514514 template <class ThisImp>
515515 inline const JSC::HashEntry* getStaticValueSlotEntryWithoutCaching(JSC::ExecState* exec, JSC::PropertyName propertyName)
516516 {
517  const JSC::HashEntry* entry = ThisImp::s_info.propHashTable(exec)->entry(exec, propertyName);
 517 const JSC::HashEntry* entry = ThisImp::info()->propHashTable(exec)->entry(exec, propertyName);
518518 if (!entry) // not found, forward to parent
519519 return getStaticValueSlotEntryWithoutCaching<typename ThisImp::Base>(exec, propertyName);
520520 return entry;
154013

Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp

@@namespace WebCore {
4343
4444static HTMLFormElement* toHTMLFormElement(JSC::JSValue value)
4545{
46  return value.inherits(&JSHTMLFormElement::s_info) ? toHTMLFormElement(jsCast<JSHTMLFormElement*>(asObject(value))->impl()) : 0;
 46 return value.inherits(JSHTMLFormElement::info()) ? toHTMLFormElement(jsCast<JSHTMLFormElement*>(asObject(value))->impl()) : 0;
4747}
4848
4949EncodedJSValue JSC_HOST_CALL JSDOMFormDataConstructor::constructJSDOMFormData(ExecState* exec)

@@JSValue JSDOMFormData::append(ExecState*
6262 if (exec->argumentCount() >= 2) {
6363 String name = exec->argument(0).toString(exec)->value(exec);
6464 JSValue value = exec->argument(1);
65  if (value.inherits(&JSBlob::s_info)) {
 65 if (value.inherits(JSBlob::info())) {
6666 String filename;
6767 if (exec->argumentCount() >= 3 && !exec->argument(2).isUndefinedOrNull())
6868 filename = exec->argument(2).toString(exec)->value(exec);
154013

Source/WebCore/bindings/js/JSDOMGlobalObject.cpp

@@void JSDOMGlobalObject::destroy(JSCell*
5757void JSDOMGlobalObject::finishCreation(VM& vm)
5858{
5959 Base::finishCreation(vm);
60  ASSERT(inherits(&s_info));
 60 ASSERT(inherits(info()));
6161}
6262
6363void JSDOMGlobalObject::finishCreation(VM& vm, JSObject* thisValue)
6464{
6565 Base::finishCreation(vm, thisValue);
66  ASSERT(inherits(&s_info));
 66 ASSERT(inherits(info()));
6767}
6868
6969ScriptExecutionContext* JSDOMGlobalObject::scriptExecutionContext() const
7070{
71  if (inherits(&JSDOMWindowBase::s_info))
 71 if (inherits(JSDOMWindowBase::info()))
7272 return jsCast<const JSDOMWindowBase*>(this)->scriptExecutionContext();
7373#if ENABLE(WORKERS)
74  if (inherits(&JSWorkerGlobalScopeBase::s_info))
 74 if (inherits(JSWorkerGlobalScopeBase::info()))
7575 return jsCast<const JSWorkerGlobalScopeBase*>(this)->scriptExecutionContext();
7676#endif
7777 ASSERT_NOT_REACHED();

@@ScriptExecutionContext* JSDOMGlobalObjec
8181void JSDOMGlobalObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
8282{
8383 JSDOMGlobalObject* thisObject = jsCast<JSDOMGlobalObject*>(cell);
84  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 84 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
8585 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
8686 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
8787 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSDOMGlobalObject.h

@@namespace WebCore {
6969
7070 DOMWrapperWorld* world() { return m_world.get(); }
7171
 72 protected:
7273 static WEBKIT_EXPORTDATA const JSC::ClassInfo s_info;
 74 public:
 75 static const JSC::ClassInfo* info() { return &s_info; }
7376
7477 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSValue prototype)
7578 {
76  return JSC::Structure::create(vm, 0, prototype, JSC::TypeInfo(JSC::GlobalObjectType, StructureFlags), &s_info);
 79 return JSC::Structure::create(vm, 0, prototype, JSC::TypeInfo(JSC::GlobalObjectType, StructureFlags), info());
7780 }
7881
7982 protected:

@@namespace WebCore {
8790 template<class ConstructorClass>
8891 inline JSC::JSObject* getDOMConstructor(JSC::ExecState* exec, const JSDOMGlobalObject* globalObject)
8992 {
90  if (JSC::JSObject* constructor = const_cast<JSDOMGlobalObject*>(globalObject)->constructors().get(&ConstructorClass::s_info).get())
 93 if (JSC::JSObject* constructor = const_cast<JSDOMGlobalObject*>(globalObject)->constructors().get(ConstructorClass::info()).get())
9194 return constructor;
9295 JSC::JSObject* constructor = ConstructorClass::create(exec, ConstructorClass::createStructure(exec->vm(), const_cast<JSDOMGlobalObject*>(globalObject), globalObject->objectPrototype()), const_cast<JSDOMGlobalObject*>(globalObject));
93  ASSERT(!const_cast<JSDOMGlobalObject*>(globalObject)->constructors().contains(&ConstructorClass::s_info));
 96 ASSERT(!const_cast<JSDOMGlobalObject*>(globalObject)->constructors().contains(ConstructorClass::info()));
9497 JSC::WriteBarrier<JSC::JSObject> temp;
95  const_cast<JSDOMGlobalObject*>(globalObject)->constructors().add(&ConstructorClass::s_info, temp).iterator->value.set(exec->vm(), globalObject, constructor);
 98 const_cast<JSDOMGlobalObject*>(globalObject)->constructors().add(ConstructorClass::info(), temp).iterator->value.set(exec->vm(), globalObject, constructor);
9699 return constructor;
97100 }
98101
154013

Source/WebCore/bindings/js/JSDOMStringListCustom.cpp

@@namespace WebCore {
2525
2626PassRefPtr<DOMStringList> toDOMStringList(ExecState* exec, JSValue value)
2727{
28  if (value.inherits(&JSDOMStringList::s_info))
 28 if (value.inherits(JSDOMStringList::info()))
2929 return jsCast<JSDOMStringList*>(asObject(value))->impl();
3030
3131 if (!isJSArray(value))
154013

Source/WebCore/bindings/js/JSDOMWindowBase.cpp

@@JSDOMWindowBase::JSDOMWindowBase(VM& vm,
6262void JSDOMWindowBase::finishCreation(VM& vm, JSDOMWindowShell* shell)
6363{
6464 Base::finishCreation(vm, shell);
65  ASSERT(inherits(&s_info));
 65 ASSERT(inherits(info()));
6666
6767 GlobalPropertyInfo staticGlobals[] = {
6868 GlobalPropertyInfo(vm.propertyNames->document, jsNull(), DontDelete | ReadOnly),

@@JSDOMWindow* toJSDOMWindow(JSValue value
220220 if (!value.isObject())
221221 return 0;
222222 const ClassInfo* classInfo = asObject(value)->classInfo();
223  if (classInfo == &JSDOMWindow::s_info)
 223 if (classInfo == JSDOMWindow::info())
224224 return jsCast<JSDOMWindow*>(asObject(value));
225  if (classInfo == &JSDOMWindowShell::s_info)
 225 if (classInfo == JSDOMWindowShell::info())
226226 return jsCast<JSDOMWindowShell*>(asObject(value))->window();
227227 return 0;
228228}
154013

Source/WebCore/bindings/js/JSDOMWindowBase.h

@@namespace WebCore {
5151 // Called just before removing this window from the JSDOMWindowShell.
5252 void willRemoveFromWindowShell();
5353
54  static const JSC::ClassInfo s_info;
 54 DECLARE_INFO;
5555
5656 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSValue prototype)
5757 {
58  return JSC::Structure::create(vm, 0, prototype, JSC::TypeInfo(JSC::GlobalObjectType, StructureFlags), &s_info);
 58 return JSC::Structure::create(vm, 0, prototype, JSC::TypeInfo(JSC::GlobalObjectType, StructureFlags), info());
5959 }
6060
6161 static const JSC::GlobalObjectMethodTable s_globalObjectMethodTable;
154013

Source/WebCore/bindings/js/JSDOMWindowCustom.cpp

@@namespace WebCore {
6060void JSDOMWindow::visitChildren(JSCell* cell, SlotVisitor& visitor)
6161{
6262 JSDOMWindow* thisObject = jsCast<JSDOMWindow*>(cell);
63  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 63 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
6464 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
6565 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
6666 Base::visitChildren(thisObject, visitor);

@@bool JSDOMWindow::getOwnPropertySlot(JSO
129129 slot.setCustom(thisObject, entry->propertyGetter());
130130 return true;
131131 }
132  entry = JSDOMWindowPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
 132 entry = JSDOMWindowPrototype::info()->propHashTable(exec)->entry(exec, propertyName);
133133 if (entry && (entry->attributes() & JSC::Function) && entry->function() == jsDOMWindowPrototypeFunctionClose) {
134134 slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>);
135135 return true;

@@bool JSDOMWindow::getOwnPropertySlot(JSO
156156 // prototype due to the blanket same origin (shouldAllowAccessToDOMWindow) check at the end of getOwnPropertySlot.
157157 // Also, it's important to get the implementation straight out of the DOMWindow prototype regardless of
158158 // what prototype is actually set on this object.
159  entry = JSDOMWindowPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
 159 entry = JSDOMWindowPrototype::info()->propHashTable(exec)->entry(exec, propertyName);
160160 if (entry) {
161161 if (entry->attributes() & JSC::Function) {
162162 if (entry->function() == jsDOMWindowPrototypeFunctionBlur) {

@@bool JSDOMWindow::getOwnPropertySlot(JSO
196196 }
197197 }
198198
199  entry = JSDOMWindow::s_info.propHashTable(exec)->entry(exec, propertyName);
 199 entry = JSDOMWindow::info()->propHashTable(exec)->entry(exec, propertyName);
200200 if (entry) {
201201 slot.setCustom(thisObject, entry->propertyGetter());
202202 return true;

@@bool JSDOMWindow::getOwnPropertyDescript
349349 descriptor.setDescriptor(jsBoolean(true), ReadOnly | DontDelete | DontEnum);
350350 return true;
351351 }
352  entry = JSDOMWindowPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
 352 entry = JSDOMWindowPrototype::info()->propHashTable(exec)->entry(exec, propertyName);
353353 if (entry && (entry->attributes() & JSC::Function) && entry->function() == jsDOMWindowPrototypeFunctionClose) {
354354 PropertySlot slot(thisObject);
355355 slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>);

@@bool JSDOMWindow::getOwnPropertyDescript
360360 return true;
361361 }
362362
363  entry = JSDOMWindow::s_info.propHashTable(exec)->entry(exec, propertyName);
 363 entry = JSDOMWindow::info()->propHashTable(exec)->entry(exec, propertyName);
364364 if (entry) {
365365 PropertySlot slot(thisObject);
366366 slot.setCustom(thisObject, entry->propertyGetter());

@@DOMWindow* toDOMWindow(JSValue value)
726726 if (!value.isObject())
727727 return 0;
728728 JSObject* object = asObject(value);
729  if (object->inherits(&JSDOMWindow::s_info))
 729 if (object->inherits(JSDOMWindow::info()))
730730 return jsCast<JSDOMWindow*>(object)->impl();
731  if (object->inherits(&JSDOMWindowShell::s_info))
 731 if (object->inherits(JSDOMWindowShell::info()))
732732 return jsCast<JSDOMWindowShell*>(object)->impl();
733733 return 0;
734734}
154013

Source/WebCore/bindings/js/JSDOMWindowShell.cpp

@@JSDOMWindowShell::JSDOMWindowShell(Struc
5252void JSDOMWindowShell::finishCreation(VM& vm, PassRefPtr<DOMWindow> window)
5353{
5454 Base::finishCreation(vm);
55  ASSERT(inherits(&s_info));
 55 ASSERT(inherits(info()));
5656 setWindow(window);
5757}
5858
154013

Source/WebCore/bindings/js/JSDOMWindowShell.h

@@namespace WebCore {
4747 void setWindow(JSC::VM&, JSDOMWindow*);
4848 void setWindow(PassRefPtr<DOMWindow>);
4949
50  static const JSC::ClassInfo s_info;
 50 DECLARE_INFO;
5151
5252 DOMWindow* impl() const;
5353

@@namespace WebCore {
6161
6262 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSValue prototype)
6363 {
64  return JSC::Structure::create(vm, 0, prototype, JSC::TypeInfo(JSC::ProxyType, StructureFlags), &s_info);
 64 return JSC::Structure::create(vm, 0, prototype, JSC::TypeInfo(JSC::ProxyType, StructureFlags), info());
6565 }
6666
6767 DOMWrapperWorld* world() { return m_world.get(); }
154013

Source/WebCore/bindings/js/JSEventTargetCustom.cpp

@@JSValue toJS(ExecState* exec, JSDOMGloba
6565#undef TRY_TO_WRAP_WITH_INTERFACE
6666
6767#define TRY_TO_UNWRAP_WITH_INTERFACE(interfaceName) \
68  if (value.inherits(&JS##interfaceName::s_info)) \
 68 if (value.inherits(JS##interfaceName::info())) \
6969 return static_cast<interfaceName*>(jsCast<JS##interfaceName*>(asObject(value))->impl());
7070
7171EventTarget* toEventTarget(JSC::JSValue value)
7272{
73  if (value.inherits(&JSDOMWindowShell::s_info))
 73 if (value.inherits(JSDOMWindowShell::info()))
7474 return jsCast<JSDOMWindowShell*>(asObject(value))->impl();
7575
7676 TRY_TO_UNWRAP_WITH_INTERFACE(EventTarget)
154013

Source/WebCore/bindings/js/JSHistoryCustom.cpp

@@bool JSHistory::getOwnPropertySlotDelega
6565 return false;
6666
6767 // Check for the few functions that we allow, even when called cross-domain.
68  const HashEntry* entry = JSHistoryPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
 68 const HashEntry* entry = JSHistoryPrototype::info()->propHashTable(exec)->entry(exec, propertyName);
6969 if (entry) {
7070 // Allow access to back(), forward() and go() from any frame.
7171 if (entry->attributes() & JSC::Function) {

@@bool JSHistory::getOwnPropertyDescriptor
105105 return true;
106106
107107 // Check for the few functions that we allow, even when called cross-domain.
108  const HashEntry* entry = JSHistoryPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
 108 const HashEntry* entry = JSHistoryPrototype::info()->propHashTable(exec)->entry(exec, propertyName);
109109 if (entry) {
110110 PropertySlot slot(this);
111111 // Allow access to back(), forward() and go() from any frame.
154013

Source/WebCore/bindings/js/JSImageConstructor.cpp

@@JSImageConstructor::JSImageConstructor(S
4242void JSImageConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
4343{
4444 Base::finishCreation(globalObject);
45  ASSERT(inherits(&s_info));
 45 ASSERT(inherits(info()));
4646 putDirect(exec->vm(), exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, globalObject), None);
4747}
4848
154013

Source/WebCore/bindings/js/JSImageConstructor.h

@@namespace WebCore {
3838
3939 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
4040 {
41  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 41 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
4242 }
4343
44  static const JSC::ClassInfo s_info;
 44 DECLARE_INFO;
4545
4646 private:
4747 JSImageConstructor(JSC::Structure*, JSDOMGlobalObject*);
154013

Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp

@@JSValue JSInjectedScriptHost::isHTMLAllC
123123 return jsUndefined();
124124
125125 JSValue value = exec->argument(0);
126  return jsBoolean(value.inherits(&JSHTMLAllCollection::s_info));
 126 return jsBoolean(value.inherits(JSHTMLAllCollection::info()));
127127}
128128
129129JSValue JSInjectedScriptHost::type(ExecState* exec)

@@JSValue JSInjectedScriptHost::type(ExecS
134134 JSValue value = exec->argument(0);
135135 if (value.isString())
136136 return jsString(exec, String("string"));
137  if (value.inherits(&JSArray::s_info))
 137 if (value.inherits(JSArray::info()))
138138 return jsString(exec, String("array"));
139139 if (value.isBoolean())
140140 return jsString(exec, String("boolean"));
141141 if (value.isNumber())
142142 return jsString(exec, String("number"));
143  if (value.inherits(&DateInstance::s_info))
 143 if (value.inherits(DateInstance::info()))
144144 return jsString(exec, String("date"));
145  if (value.inherits(&RegExpObject::s_info))
 145 if (value.inherits(RegExpObject::info()))
146146 return jsString(exec, String("regexp"));
147  if (value.inherits(&JSNode::s_info))
 147 if (value.inherits(JSNode::info()))
148148 return jsString(exec, String("node"));
149  if (value.inherits(&JSNodeList::s_info))
 149 if (value.inherits(JSNodeList::info()))
150150 return jsString(exec, String("array"));
151  if (value.inherits(&JSHTMLCollection::s_info))
 151 if (value.inherits(JSHTMLCollection::info()))
152152 return jsString(exec, String("array"));
153  if (value.inherits(&JSInt8Array::s_info) || value.inherits(&JSInt16Array::s_info) || value.inherits(&JSInt32Array::s_info))
 153 if (value.inherits(JSInt8Array::info()) || value.inherits(JSInt16Array::info()) || value.inherits(JSInt32Array::info()))
154154 return jsString(exec, String("array"));
155  if (value.inherits(&JSUint8Array::s_info) || value.inherits(&JSUint16Array::s_info) || value.inherits(&JSUint32Array::s_info))
 155 if (value.inherits(JSUint8Array::info()) || value.inherits(JSUint16Array::info()) || value.inherits(JSUint32Array::info()))
156156 return jsString(exec, String("array"));
157  if (value.inherits(&JSFloat32Array::s_info) || value.inherits(&JSFloat64Array::s_info))
 157 if (value.inherits(JSFloat32Array::info()) || value.inherits(JSFloat64Array::info()))
158158 return jsString(exec, String("array"));
159159 return jsUndefined();
160160}

@@JSValue JSInjectedScriptHost::functionDe
164164 if (exec->argumentCount() < 1)
165165 return jsUndefined();
166166 JSValue value = exec->argument(0);
167  if (!value.asCell()->inherits(&JSFunction::s_info))
 167 if (!value.asCell()->inherits(JSFunction::info()))
168168 return jsUndefined();
169169 JSFunction* function = jsCast<JSFunction*>(value);
170170
154013

Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp

@@static void populateContextMenuItems(Exe
105105 ContextMenuItemCustomTagNoAction,
106106 String());
107107 menu.appendItem(item);
108  } else if (typeString == "subMenu" && subItems.inherits(&JSArray::s_info)) {
 108 } else if (typeString == "subMenu" && subItems.inherits(JSArray::info())) {
109109 ContextMenu subMenu;
110110 JSArray* subItemsArray = asArray(subItems);
111111 populateContextMenuItems(exec, subItemsArray, subMenu);
154013

Source/WebCore/bindings/js/JSLocationCustom.cpp

@@bool JSLocation::getOwnPropertySlotDeleg
6363 return false;
6464
6565 // Check for the few functions that we allow, even when called cross-domain.
66  const HashEntry* entry = JSLocationPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
 66 const HashEntry* entry = JSLocationPrototype::info()->propHashTable(exec)->entry(exec, propertyName);
6767 if (entry && (entry->attributes() & JSC::Function)) {
6868 if (entry->function() == jsLocationPrototypeFunctionReplace) {
6969 slot.setCustom(this, nonCachingStaticReplaceFunctionGetter);

@@bool JSLocation::getOwnPropertyDescripto
9999 return true;
100100
101101 // Check for the few functions that we allow, even when called cross-domain.
102  const HashEntry* entry = JSLocationPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
 102 const HashEntry* entry = JSLocationPrototype::info()->propHashTable(exec)->entry(exec, propertyName);
103103 PropertySlot slot(this);
104104 if (entry && (entry->attributes() & JSC::Function)) {
105105 if (entry->function() == jsLocationPrototypeFunctionReplace) {

@@bool JSLocation::putDelegate(ExecState*
136136
137137 bool sameDomainAccess = shouldAllowAccessToFrame(exec, frame);
138138
139  const HashEntry* entry = JSLocation::s_info.propHashTable(exec)->entry(exec, propertyName);
 139 const HashEntry* entry = JSLocation::info()->propHashTable(exec)->entry(exec, propertyName);
140140 if (!entry) {
141141 if (sameDomainAccess)
142142 JSObject::put(this, exec, propertyName, value, slot);
154013

Source/WebCore/bindings/js/JSMessageChannelCustom.cpp

@@namespace WebCore {
3939void JSMessageChannel::visitChildren(JSCell* cell, SlotVisitor& visitor)
4040{
4141 JSMessageChannel* thisObject = jsCast<JSMessageChannel*>(cell);
42  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 42 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4343 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4444 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4545 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSMessagePortCustom.cpp

@@namespace WebCore {
4646void JSMessagePort::visitChildren(JSCell* cell, SlotVisitor& visitor)
4747{
4848 JSMessagePort* thisObject = jsCast<JSMessagePort*>(cell);
49  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 49 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
5050 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
5151 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
5252 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSNodeCustom.cpp

@@JSValue JSNode::appendChild(ExecState* e
185185
186186JSScope* JSNode::pushEventHandlerScope(ExecState* exec, JSScope* node) const
187187{
188  if (inherits(&JSHTMLElement::s_info))
 188 if (inherits(JSHTMLElement::info()))
189189 return jsCast<const JSHTMLElement*>(this)->pushEventHandlerScope(exec, node);
190190 return node;
191191}

@@JSScope* JSNode::pushEventHandlerScope(E
193193void JSNode::visitChildren(JSCell* cell, SlotVisitor& visitor)
194194{
195195 JSNode* thisObject = jsCast<JSNode*>(cell);
196  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 196 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
197197 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
198198 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
199199 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSNodeFilterCustom.cpp

@@namespace WebCore {
3939void JSNodeFilter::visitChildren(JSCell* cell, SlotVisitor& visitor)
4040{
4141 JSNodeFilter* thisObject = jsCast<JSNodeFilter*>(cell);
42  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 42 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4343 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4444 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4545 Base::visitChildren(thisObject, visitor);

@@void JSNodeFilter::visitChildren(JSCell*
4848
4949PassRefPtr<NodeFilter> toNodeFilter(VM& vm, JSValue value)
5050{
51  if (value.inherits(&JSNodeFilter::s_info))
 51 if (value.inherits(JSNodeFilter::info()))
5252 return jsCast<JSNodeFilter*>(asObject(value))->impl();
5353
5454 RefPtr<NodeFilter> result = NodeFilter::create();
154013

Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp

@@namespace WebCore {
3232void JSNodeIterator::visitChildren(JSCell* cell, SlotVisitor& visitor)
3333{
3434 JSNodeIterator* thisObject = jsCast<JSNodeIterator*>(cell);
35  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 35 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
3636 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
3737 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
3838 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSPluginElementFunctions.h

@@namespace WebCore {
4747 template <class Type, class Base> bool pluginElementCustomGetOwnPropertySlot(JSC::ExecState* exec, JSC::PropertyName propertyName, JSC::PropertySlot& slot, Type* element)
4848 {
4949 if (!element->globalObject()->world()->isNormal()) {
50  if (JSC::getStaticValueSlot<Type, Base>(exec, element->s_info.staticPropHashTable, element, propertyName, slot))
 50 if (JSC::getStaticValueSlot<Type, Base>(exec, Type::info()->staticPropHashTable, element, propertyName, slot))
5151 return true;
5252
5353 JSC::JSValue proto = element->prototype();

@@namespace WebCore {
6161 template <class Type, class Base> bool pluginElementCustomGetOwnPropertyDescriptor(JSC::ExecState* exec, JSC::PropertyName propertyName, JSC::PropertyDescriptor& descriptor, Type* element)
6262 {
6363 if (!element->globalObject()->world()->isNormal()) {
64  if (JSC::getStaticValueDescriptor<Type, Base>(exec, element->s_info.staticPropHashTable, element, propertyName, descriptor))
 64 if (JSC::getStaticValueDescriptor<Type, Base>(exec, Type::info()->staticPropHashTable, element, propertyName, descriptor))
6565 return true;
6666
6767 JSC::JSValue proto = element->prototype();
154013

Source/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp

@@namespace WebCore {
3838void JSSVGElementInstance::visitChildren(JSC::JSCell* cell, JSC::SlotVisitor& visitor)
3939{
4040 JSSVGElementInstance* thisObject = JSC::jsCast<JSSVGElementInstance*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4242 COMPILE_ASSERT(StructureFlags & JSC::OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4343 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4444 // Skip JSEventTarget::visitChildren because event listener registration is
154013

Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp

@@namespace WebCore {
4646void JSSharedWorker::visitChildren(JSCell* cell, SlotVisitor& visitor)
4747{
4848 JSSharedWorker* thisObject = jsCast<JSSharedWorker*>(cell);
49  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 49 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
5050 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
5151 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
5252 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSStyleSheetCustom.cpp

@@namespace WebCore {
3838void JSStyleSheet::visitChildren(JSCell* cell, SlotVisitor& visitor)
3939{
4040 JSStyleSheet* thisObject = jsCast<JSStyleSheet*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4242 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4343 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4444 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp

@@bool JSTextTrackCueOwner::isReachableFro
5959void JSTextTrackCue::visitChildren(JSCell* cell, SlotVisitor& visitor)
6060{
6161 JSTextTrackCue* jsTextTrackCue = jsCast<JSTextTrackCue*>(cell);
62  ASSERT_GC_OBJECT_INHERITS(jsTextTrackCue, &s_info);
 62 ASSERT_GC_OBJECT_INHERITS(jsTextTrackCue, info());
6363 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
6464 ASSERT(jsTextTrackCue->structure()->typeInfo().overridesVisitChildren());
6565 Base::visitChildren(jsTextTrackCue, visitor);
154013

Source/WebCore/bindings/js/JSTextTrackCustom.cpp

@@namespace WebCore {
3737void JSTextTrack::visitChildren(JSCell* cell, SlotVisitor& visitor)
3838{
3939 JSTextTrack* jsTextTrack = jsCast<JSTextTrack*>(cell);
40  ASSERT_GC_OBJECT_INHERITS(jsTextTrack, &s_info);
 40 ASSERT_GC_OBJECT_INHERITS(jsTextTrack, info());
4141 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4242 ASSERT(jsTextTrack->structure()->typeInfo().overridesVisitChildren());
4343 Base::visitChildren(jsTextTrack, visitor);
154013

Source/WebCore/bindings/js/JSTextTrackListCustom.cpp

@@namespace WebCore {
3838void JSTextTrackList::visitChildren(JSCell* cell, SlotVisitor& visitor)
3939{
4040 JSTextTrackList* jsTextTrackList = jsCast<JSTextTrackList*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(jsTextTrackList, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(jsTextTrackList, info());
4242 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4343 ASSERT(jsTextTrackList->structure()->typeInfo().overridesVisitChildren());
4444 Base::visitChildren(jsTextTrackList, visitor);
154013

Source/WebCore/bindings/js/JSTrackCustom.cpp

@@TrackBase* toTrack(JSValue value)
4343 return 0;
4444
4545 JSObject* object = asObject(value);
46  if (object->inherits(&JSTextTrack::s_info))
 46 if (object->inherits(JSTextTrack::info()))
4747 return jsCast<JSTextTrack*>(object)->impl();
4848
4949 // FIXME: Fill in additional tests and casts here for VideoTrack and AudioTrack when
154013

Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp

@@namespace WebCore {
3232void JSTreeWalker::visitChildren(JSCell* cell, SlotVisitor& visitor)
3333{
3434 JSTreeWalker* thisObject = jsCast<JSTreeWalker*>(cell);
35  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 35 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
3636 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
3737 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
3838 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSVideoTrackCustom.cpp

@@namespace WebCore {
3838void JSVideoTrack::visitChildren(JSCell* cell, SlotVisitor& visitor)
3939{
4040 JSVideoTrack* jsVideoTrack = jsCast<JSVideoTrack*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(jsVideoTrack, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(jsVideoTrack, info());
4242 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4343 ASSERT(jsVideoTrack->structure()->typeInfo().overridesVisitChildren());
4444 Base::visitChildren(jsVideoTrack, visitor);
154013

Source/WebCore/bindings/js/JSVideoTrackListCustom.cpp

@@namespace WebCore {
3838void JSVideoTrackList::visitChildren(JSCell* cell, SlotVisitor& visitor)
3939{
4040 JSVideoTrackList* jsVideoTrackList = jsCast<JSVideoTrackList*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(jsVideoTrackList, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(jsVideoTrackList, info());
4242 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4343 ASSERT(jsVideoTrackList->structure()->typeInfo().overridesVisitChildren());
4444 Base::visitChildren(jsVideoTrackList, visitor);
154013

Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp

@@static JSValue toJS(ExecState* exec, JSD
238238void JSWebGLRenderingContext::visitChildren(JSCell* cell, SlotVisitor& visitor)
239239{
240240 JSWebGLRenderingContext* thisObject = jsCast<JSWebGLRenderingContext*>(cell);
241  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 241 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
242242 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
243243 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
244244 Base::visitChildren(thisObject, visitor);

@@JSValue JSWebGLRenderingContext::getAtta
251251 return throwError(exec, createNotEnoughArgumentsError(exec));
252252 ExceptionCode ec = 0;
253253 WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
254  if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(&JSWebGLProgram::s_info))
 254 if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
255255 return throwTypeError(exec);
256256 WebGLProgram* program = toWebGLProgram(exec->argument(0));
257257 if (exec->hadException())

@@JSValue JSWebGLRenderingContext::getProg
337337
338338 ExceptionCode ec = 0;
339339 WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
340  if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(&JSWebGLProgram::s_info))
 340 if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
341341 return throwTypeError(exec);
342342 WebGLProgram* program = toWebGLProgram(exec->argument(0));
343343 unsigned pname = exec->argument(1).toInt32(exec);

@@JSValue JSWebGLRenderingContext::getShad
363363
364364 ExceptionCode ec = 0;
365365 WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
366  if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(&JSWebGLShader::s_info))
 366 if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLShader::info()))
367367 return throwTypeError(exec);
368368 WebGLShader* shader = toWebGLShader(exec->argument(0));
369369 unsigned pname = exec->argument(1).toInt32(exec);

@@JSValue JSWebGLRenderingContext::getUnif
401401
402402 ExceptionCode ec = 0;
403403 WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
404  if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(&JSWebGLProgram::s_info))
 404 if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
405405 return throwTypeError(exec);
406406 WebGLProgram* program = toWebGLProgram(exec->argument(0));
407  if (exec->argumentCount() > 1 && !exec->argument(1).isUndefinedOrNull() && !exec->argument(1).inherits(&JSWebGLUniformLocation::s_info))
 407 if (exec->argumentCount() > 1 && !exec->argument(1).isUndefinedOrNull() && !exec->argument(1).inherits(JSWebGLUniformLocation::info()))
408408 return throwTypeError(exec);
409409 WebGLUniformLocation* loc = toWebGLUniformLocation(exec->argument(1));
410410 if (exec->hadException())

@@static JSC::JSValue dataFunctionf(DataFu
477477 long index = -1;
478478
479479 if (functionForUniform(f)) {
480  if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(&JSWebGLUniformLocation::s_info))
 480 if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
481481 return throwTypeError(exec);
482482 location = toWebGLUniformLocation(exec->argument(0));
483483 } else

@@static JSC::JSValue dataFunctioni(DataFu
563563 if (exec->argumentCount() != 2)
564564 return throwError(exec, createNotEnoughArgumentsError(exec));
565565
566  if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(&JSWebGLUniformLocation::s_info))
 566 if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
567567 return throwTypeError(exec);
568568 WebGLUniformLocation* location = toWebGLUniformLocation(exec->argument(0));
569569

@@static JSC::JSValue dataFunctionMatrix(D
628628 if (exec->argumentCount() != 3)
629629 return throwError(exec, createNotEnoughArgumentsError(exec));
630630
631  if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(&JSWebGLUniformLocation::s_info))
 631 if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
632632 return throwTypeError(exec);
633633 WebGLUniformLocation* location = toWebGLUniformLocation(exec->argument(0));
634634
154013

Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp

@@JSWorkerGlobalScopeBase::JSWorkerGlobalS
5555void JSWorkerGlobalScopeBase::finishCreation(VM& vm)
5656{
5757 Base::finishCreation(vm);
58  ASSERT(inherits(&s_info));
 58 ASSERT(inherits(info()));
5959}
6060
6161void JSWorkerGlobalScopeBase::destroy(JSCell* cell)

@@JSDedicatedWorkerGlobalScope* toJSDedica
9090 if (!value.isObject())
9191 return 0;
9292 const ClassInfo* classInfo = asObject(value)->classInfo();
93  if (classInfo == &JSDedicatedWorkerGlobalScope::s_info)
 93 if (classInfo == JSDedicatedWorkerGlobalScope::info())
9494 return jsCast<JSDedicatedWorkerGlobalScope*>(asObject(value));
9595 return 0;
9696}

@@JSSharedWorkerGlobalScope* toJSSharedWor
101101 if (!value.isObject())
102102 return 0;
103103 const ClassInfo* classInfo = asObject(value)->classInfo();
104  if (classInfo == &JSSharedWorkerGlobalScope::s_info)
 104 if (classInfo == JSSharedWorkerGlobalScope::info())
105105 return jsCast<JSSharedWorkerGlobalScope*>(asObject(value));
106106 return 0;
107107}
154013

Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h

@@namespace WebCore {
4343 public:
4444 static void destroy(JSC::JSCell*);
4545
46  static const JSC::ClassInfo s_info;
 46 DECLARE_INFO;
4747
4848 WorkerGlobalScope* impl() const { return m_impl.get(); }
4949 ScriptExecutionContext* scriptExecutionContext() const;
5050
5151 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5252 {
53  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::GlobalObjectType, StructureFlags), &s_info);
 53 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::GlobalObjectType, StructureFlags), info());
5454 }
5555
5656 protected:
154013

Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp

@@namespace WebCore {
5656void JSWorkerGlobalScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
5757{
5858 JSWorkerGlobalScope* thisObject = jsCast<JSWorkerGlobalScope*>(cell);
59  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 59 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
6060 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
6161 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
6262 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp

@@namespace WebCore {
5858void JSXMLHttpRequest::visitChildren(JSCell* cell, SlotVisitor& visitor)
5959{
6060 JSXMLHttpRequest* thisObject = jsCast<JSXMLHttpRequest*>(cell);
61  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 61 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
6262 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
6363 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
6464 Base::visitChildren(thisObject, visitor);

@@JSValue JSXMLHttpRequest::send(ExecState
119119 JSValue val = exec->argument(0);
120120 if (val.isUndefinedOrNull())
121121 impl()->send(ec);
122  else if (val.inherits(&JSDocument::s_info))
 122 else if (val.inherits(JSDocument::info()))
123123 impl()->send(toDocument(val), ec);
124  else if (val.inherits(&JSBlob::s_info))
 124 else if (val.inherits(JSBlob::info()))
125125 impl()->send(toBlob(val), ec);
126  else if (val.inherits(&JSDOMFormData::s_info))
 126 else if (val.inherits(JSDOMFormData::info()))
127127 impl()->send(toDOMFormData(val), ec);
128  else if (val.inherits(&JSArrayBuffer::s_info))
 128 else if (val.inherits(JSArrayBuffer::info()))
129129 impl()->send(toArrayBuffer(val), ec);
130  else if (val.inherits(&JSArrayBufferView::s_info))
 130 else if (val.inherits(JSArrayBufferView::info()))
131131 impl()->send(toArrayBufferView(val), ec);
132132 else
133133 impl()->send(val.toString(exec)->value(exec), ec);
154013

Source/WebCore/bindings/js/JSXPathResultCustom.cpp

@@namespace WebCore {
3838void JSXPathResult::visitChildren(JSCell* cell, SlotVisitor& visitor)
3939{
4040 JSXPathResult* thisObject = jsCast<JSXPathResult*>(cell);
41  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 41 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
4242 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
4343 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
4444 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/js/ScriptDebugServer.cpp

@@void ScriptDebugServer::dispatchDidPause
266266 ScriptState* state = globalObject->globalExec();
267267 JSValue jsCallFrame;
268268 {
269  if (m_currentCallFrame->isValid() && globalObject->inherits(&JSDOMGlobalObject::s_info)) {
 269 if (m_currentCallFrame->isValid() && globalObject->inherits(JSDOMGlobalObject::info())) {
270270 JSDOMGlobalObject* domGlobalObject = jsCast<JSDOMGlobalObject*>(globalObject);
271271 JSLockHolder lock(state);
272272 jsCallFrame = toJS(state, domGlobalObject, m_currentCallFrame.get());
154013

Source/WebCore/bindings/js/ScriptState.cpp

@@namespace WebCore {
5151DOMWindow* domWindowFromScriptState(ScriptState* scriptState)
5252{
5353 JSC::JSGlobalObject* globalObject = scriptState->lexicalGlobalObject();
54  if (!globalObject->inherits(&JSDOMWindowBase::s_info))
 54 if (!globalObject->inherits(JSDOMWindowBase::info()))
5555 return 0;
5656 return JSC::jsCast<JSDOMWindowBase*>(globalObject)->impl();
5757}

@@DOMWindow* domWindowFromScriptState(Scri
5959ScriptExecutionContext* scriptExecutionContextFromScriptState(ScriptState* scriptState)
6060{
6161 JSC::JSGlobalObject* globalObject = scriptState->lexicalGlobalObject();
62  if (!globalObject->inherits(&JSDOMGlobalObject::s_info))
 62 if (!globalObject->inherits(JSDOMGlobalObject::info()))
6363 return 0;
6464 return JSC::jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext();
6565}
154013

Source/WebCore/bindings/js/SerializedScriptValue.cpp

@@private:
403403 if (!value.isObject())
404404 return false;
405405 JSObject* object = asObject(value);
406  return isJSArray(object) || object->inherits(&JSArray::s_info);
 406 return isJSArray(object) || object->inherits(JSArray::info());
407407 }
408408
409409 bool checkForDuplicate(JSObject* object)

@@private:
519519 bool dumpArrayBufferView(JSObject* obj, SerializationReturnCode& code)
520520 {
521521 write(ArrayBufferViewTag);
522  if (obj->inherits(&JSDataView::s_info))
 522 if (obj->inherits(JSDataView::info()))
523523 write(DataViewTag);
524  else if (obj->inherits(&JSUint8ClampedArray::s_info))
 524 else if (obj->inherits(JSUint8ClampedArray::info()))
525525 write(Uint8ClampedArrayTag);
526  else if (obj->inherits(&JSInt8Array::s_info))
 526 else if (obj->inherits(JSInt8Array::info()))
527527 write(Int8ArrayTag);
528  else if (obj->inherits(&JSUint8Array::s_info))
 528 else if (obj->inherits(JSUint8Array::info()))
529529 write(Uint8ArrayTag);
530  else if (obj->inherits(&JSInt16Array::s_info))
 530 else if (obj->inherits(JSInt16Array::info()))
531531 write(Int16ArrayTag);
532  else if (obj->inherits(&JSUint16Array::s_info))
 532 else if (obj->inherits(JSUint16Array::info()))
533533 write(Uint16ArrayTag);
534  else if (obj->inherits(&JSInt32Array::s_info))
 534 else if (obj->inherits(JSInt32Array::info()))
535535 write(Int32ArrayTag);
536  else if (obj->inherits(&JSUint32Array::s_info))
 536 else if (obj->inherits(JSUint32Array::info()))
537537 write(Uint32ArrayTag);
538  else if (obj->inherits(&JSFloat32Array::s_info))
 538 else if (obj->inherits(JSFloat32Array::info()))
539539 write(Float32ArrayTag);
540  else if (obj->inherits(&JSFloat64Array::s_info))
 540 else if (obj->inherits(JSFloat64Array::info()))
541541 write(Float64ArrayTag);
542542 else
543543 return false;

@@private:
573573 return true;
574574 }
575575
576  if (value.isObject() && asObject(value)->inherits(&DateInstance::s_info)) {
 576 if (value.isObject() && asObject(value)->inherits(DateInstance::info())) {
577577 write(DateTag);
578578 write(asDateInstance(value)->internalNumber());
579579 return true;

@@private:
584584
585585 if (value.isObject()) {
586586 JSObject* obj = asObject(value);
587  if (obj->inherits(&BooleanObject::s_info)) {
 587 if (obj->inherits(BooleanObject::info())) {
588588 if (!startObjectInternal(obj)) // handle duplicates
589589 return true;
590590 write(asBooleanObject(value)->internalValue().toBoolean(m_exec) ? TrueObjectTag : FalseObjectTag);
591591 return true;
592592 }
593  if (obj->inherits(&StringObject::s_info)) {
 593 if (obj->inherits(StringObject::info())) {
594594 if (!startObjectInternal(obj)) // handle duplicates
595595 return true;
596596 String str = asString(asStringObject(value)->internalValue())->value(m_exec);
597597 dumpStringObject(str);
598598 return true;
599599 }
600  if (obj->inherits(&NumberObject::s_info)) {
 600 if (obj->inherits(NumberObject::info())) {
601601 if (!startObjectInternal(obj)) // handle duplicates
602602 return true;
603603 write(NumberObjectTag);

@@private:
605605 write(obj->internalValue().asNumber());
606606 return true;
607607 }
608  if (obj->inherits(&JSFile::s_info)) {
 608 if (obj->inherits(JSFile::info())) {
609609 write(FileTag);
610610 write(toFile(obj));
611611 return true;
612612 }
613  if (obj->inherits(&JSFileList::s_info)) {
 613 if (obj->inherits(JSFileList::info())) {
614614 FileList* list = toFileList(obj);
615615 write(FileListTag);
616616 unsigned length = list->length();

@@private:
619619 write(list->item(i));
620620 return true;
621621 }
622  if (obj->inherits(&JSBlob::s_info)) {
 622 if (obj->inherits(JSBlob::info())) {
623623 write(BlobTag);
624624 Blob* blob = toBlob(obj);
625625 m_blobURLs.append(blob->url());

@@private:
628628 write(blob->size());
629629 return true;
630630 }
631  if (obj->inherits(&JSImageData::s_info)) {
 631 if (obj->inherits(JSImageData::info())) {
632632 ImageData* data = toImageData(obj);
633633 write(ImageDataTag);
634634 write(data->width());

@@private:
637637 write(data->data()->data(), data->data()->length());
638638 return true;
639639 }
640  if (obj->inherits(&RegExpObject::s_info)) {
 640 if (obj->inherits(RegExpObject::info())) {
641641 RegExpObject* regExp = asRegExpObject(obj);
642642 char flags[3];
643643 int flagCount = 0;

@@private:
652652 write(String(flags, flagCount));
653653 return true;
654654 }
655  if (obj->inherits(&JSMessagePort::s_info)) {
 655 if (obj->inherits(JSMessagePort::info())) {
656656 ObjectPool::iterator index = m_transferredMessagePorts.find(obj);
657657 if (index != m_transferredMessagePorts.end()) {
658658 write(MessagePortReferenceTag);

@@private:
663663 code = ValidationError;
664664 return true;
665665 }
666  if (obj->inherits(&JSArrayBuffer::s_info)) {
 666 if (obj->inherits(JSArrayBuffer::info())) {
667667 RefPtr<ArrayBuffer> arrayBuffer = toArrayBuffer(obj);
668668 if (arrayBuffer->isNeutered()) {
669669 code = ValidationError;

@@private:
682682 write(static_cast<const uint8_t *>(arrayBuffer->data()), arrayBuffer->byteLength());
683683 return true;
684684 }
685  if (obj->inherits(&JSArrayBufferView::s_info)) {
 685 if (obj->inherits(JSArrayBufferView::info())) {
686686 if (checkForDuplicate(obj))
687687 return true;
688688 bool success = dumpArrayBufferView(obj, code);

@@SerializationReturnCode CloneSerializer:
902902 // objects have been handled. If we reach this point and
903903 // the input is not an Object object then we should throw
904904 // a DataCloneError.
905  if (inObject->classInfo() != &JSFinalObject::s_info)
 905 if (inObject->classInfo() != JSFinalObject::info())
906906 return DataCloneError;
907907 inputObjectStack.append(inObject);
908908 indexStack.append(0);

@@private:
10571057 const Vector<uint8_t>& buffer)
10581058 : CloneBase(exec)
10591059 , m_globalObject(globalObject)
1060  , m_isDOMGlobalObject(globalObject->inherits(&JSDOMGlobalObject::s_info))
 1060 , m_isDOMGlobalObject(globalObject->inherits(JSDOMGlobalObject::info()))
10611061 , m_ptr(buffer.data())
10621062 , m_end(buffer.data() + buffer.size())
10631063 , m_version(0xFFFFFFFF)

@@private:
13081308 if (!read(byteLength))
13091309 return false;
13101310 JSObject* arrayBufferObj = asObject(readTerminal());
1311  if (!arrayBufferObj || !arrayBufferObj->inherits(&JSArrayBuffer::s_info))
 1311 if (!arrayBufferObj || !arrayBufferObj->inherits(JSArrayBuffer::info()))
13121312 return false;
13131313
13141314 unsigned elementSize = typedArrayElementSize(arrayBufferViewSubtag);
154013

Source/WebCore/bindings/objc/DOM.mm

@@+ (id)_nodeFromJSWrapper:(JSObjectRef)js
305305{
306306 JSObject* object = toJS(jsWrapper);
307307
308  if (!object->inherits(&JSNode::s_info))
 308 if (!object->inherits(JSNode::info()))
309309 return nil;
310310
311311 WebCore::Node* node = jsCast<JSNode*>(object)->impl();
154013

Source/WebCore/bindings/objc/DOMUtility.mm

@@namespace JSC {
9393static inline id createDOMWrapper(JSC::JSObject* object)
9494{
9595 #define WRAP(className) \
96  if (object->inherits(&WebCore::JS##className::s_info)) \
 96 if (object->inherits(WebCore::JS##className::info())) \
9797 return kit(static_cast<WebCore::JS##className*>(object)->impl());
9898
9999 WRAP(CSSRule)

@@static inline id createDOMWrapper(JSC::J
123123
124124 #undef WRAP
125125
126  if (object->inherits(&WebCore::JSDOMWindowShell::s_info))
 126 if (object->inherits(WebCore::JSDOMWindowShell::info()))
127127 return kit(static_cast<WebCore::JSDOMWindowShell*>(object)->impl());
128128
129  if (object->inherits(&WebCore::JSDOMImplementation::s_info))
 129 if (object->inherits(WebCore::JSDOMImplementation::info()))
130130 return kit(implementationFront(static_cast<WebCore::JSDOMImplementation*>(object)));
131131
132132 return nil;
154013

Source/WebCore/bindings/objc/WebScriptObject.mm

@@+ (id)_convertValueToObjcValue:(JSC::JSV
534534 JSObject* object = asObject(value);
535535 JSLockHolder lock(rootObject->globalObject()->vm());
536536
537  if (object->inherits(&JSHTMLElement::s_info)) {
 537 if (object->inherits(JSHTMLElement::info())) {
538538 // Plugin elements cache the instance internally.
539539 HTMLElement* el = jsCast<JSHTMLElement*>(object)->impl();
540540 ObjcInstance* instance = static_cast<ObjcInstance*>(pluginInstance(el));
541541 if (instance)
542542 return instance->getObject();
543  } else if (object->inherits(&ObjCRuntimeObject::s_info)) {
 543 } else if (object->inherits(ObjCRuntimeObject::info())) {
544544 ObjCRuntimeObject* runtimeObject = static_cast<ObjCRuntimeObject*>(object);
545545 ObjcInstance* instance = runtimeObject->getInternalObjCInstance();
546546 if (instance)
154013

Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

@@sub GenerateGetOwnPropertySlotBody
416416 if ($hasAttributes) {
417417 if ($inlined) {
418418 die "Cannot inline if NoStaticTables is set." if ($interface->extendedAttributes->{"JSNoStaticTables"});
419  push(@getOwnPropertySlotImpl, " return ${namespaceMaybe}getStaticValueSlot<$className, Base>(exec, s_info.staticPropHashTable, thisObject, propertyName, slot);\n");
 419 push(@getOwnPropertySlotImpl, " return ${namespaceMaybe}getStaticValueSlot<$className, Base>(exec, info()->staticPropHashTable, thisObject, propertyName, slot);\n");
420420 } else {
421421 push(@getOwnPropertySlotImpl, " return ${namespaceMaybe}getStaticValueSlot<$className, Base>(exec, " . hashTableAccessor($interface->extendedAttributes->{"JSNoStaticTables"}, $className) . ", thisObject, propertyName, slot);\n");
422422 }

@@sub GenerateGetOwnPropertyDescriptorBody
521521 if ($hasAttributes) {
522522 if ($inlined) {
523523 die "Cannot inline if NoStaticTables is set." if ($interface->extendedAttributes->{"JSNoStaticTables"});
524  push(@getOwnPropertyDescriptorImpl, " return ${namespaceMaybe}getStaticValueDescriptor<$className, Base>(exec, s_info.staticPropHashTable, thisObject, propertyName, descriptor);\n");
 524 push(@getOwnPropertyDescriptorImpl, " return ${namespaceMaybe}getStaticValueDescriptor<$className, Base>(exec, info()->staticPropHashTable, thisObject, propertyName, descriptor);\n");
525525 } else {
526526 push(@getOwnPropertyDescriptorImpl, " return ${namespaceMaybe}getStaticValueDescriptor<$className, Base>(exec, " . hashTableAccessor($interface->extendedAttributes->{"JSNoStaticTables"}, $className) . ", thisObject, propertyName, descriptor);\n");
527527 }

@@sub GenerateHeader
828828
829829 # Class info
830830 if ($interfaceName eq "Node") {
831  push(@headerContent, " static WEBKIT_EXPORTDATA const JSC::ClassInfo s_info;\n\n");
 831 push(@headerContent, "protected:");
 832 push(@headerContent, " static WEBKIT_EXPORTDATA const JSC::ClassInfo s_info;\n");
 833 push(@headerContent, "public:");
 834 push(@headerContent, " static const JSC::ClassInfo* info() { return &s_info; }\n\n");
832835 } else {
833  push(@headerContent, " static const JSC::ClassInfo s_info;\n\n");
 836 push(@headerContent, " DECLARE_INFO;\n\n");
834837 }
835838 # Structure ID
836839 if ($interfaceName eq "DOMWindow") {

@@sub GenerateHeader
839842 push(@headerContent, " static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n");
840843 push(@headerContent, " {\n");
841844 if (IsDOMGlobalObject($interface)) {
842  push(@headerContent, " return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::GlobalObjectType, StructureFlags), &s_info);\n");
 845 push(@headerContent, " return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::GlobalObjectType, StructureFlags), info());\n");
843846 } else {
844  push(@headerContent, " return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);\n");
 847 push(@headerContent, " return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());\n");
845848 }
846849 push(@headerContent, " }\n\n");
847850

@@sub GenerateHeader
10221025 push(@headerContent, "ALWAYS_INLINE bool ${className}::getOwnPropertySlot(JSC::JSObject* object, JSC::ExecState* exec, JSC::PropertyName propertyName, JSC::PropertySlot& slot)\n");
10231026 push(@headerContent, "{\n");
10241027 push(@headerContent, " ${className}* thisObject = JSC::jsCast<${className}*>(object);\n");
1025  push(@headerContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 1028 push(@headerContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
10261029 push(@headerContent, GenerateGetOwnPropertySlotBody($interface, $interfaceName, $className, $numAttributes > 0, 1));
10271030 push(@headerContent, "}\n\n");
10281031 push(@headerContent, "ALWAYS_INLINE bool ${className}::getOwnPropertyDescriptor(JSC::JSObject* object, JSC::ExecState* exec, JSC::PropertyName propertyName, JSC::PropertyDescriptor& descriptor)\n");
10291032 push(@headerContent, "{\n");
10301033 push(@headerContent, " ${className}* thisObject = JSC::jsCast<${className}*>(object);\n");
1031  push(@headerContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 1034 push(@headerContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
10321035 push(@headerContent, GenerateGetOwnPropertyDescriptorBody($interface, $interfaceName, $className, $numAttributes > 0, 1));
10331036 push(@headerContent, "}\n\n");
10341037 }

@@sub GenerateHeader
10951098 push(@headerContent, " return ptr;\n");
10961099 push(@headerContent, " }\n\n");
10971100
1098  push(@headerContent, " static const JSC::ClassInfo s_info;\n");
 1101 push(@headerContent, " DECLARE_INFO;\n");
10991102 if ($numFunctions > 0 || $numConstants > 0) {
11001103 push(@headerContent, " static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);\n");
11011104 push(@headerContent, " static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);\n");

@@sub GenerateHeader
11071110 push(@headerContent,
11081111 " static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n" .
11091112 " {\n" .
1110  " return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);\n" .
 1113 " return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());\n" .
11111114 " }\n");
11121115 if ($interface->extendedAttributes->{"JSCustomNamedGetterOnPrototype"}) {
11131116 push(@headerContent, " static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&);\n");

@@sub GenerateParametersCheckExpression
13041307 $usedArguments{$parameterIndex} = 1;
13051308 } elsif (!IsNativeType($type)) {
13061309 if ($parameter->isNullable) {
1307  push(@andExpression, "(${value}.isNull() || (${value}.isObject() && asObject(${value})->inherits(&JS${type}::s_info)))");
 1310 push(@andExpression, "(${value}.isNull() || (${value}.isObject() && asObject(${value})->inherits(JS${type}::info())))");
13081311 } else {
1309  push(@andExpression, "(${value}.isObject() && asObject(${value})->inherits(&JS${type}::s_info))");
 1312 push(@andExpression, "(${value}.isObject() && asObject(${value})->inherits(JS${type}::info()))");
13101313 }
13111314 $usedArguments{$parameterIndex} = 1;
13121315 }

@@sub GenerateImplementation
18671870 push(@implContent, "{\n");
18681871 push(@implContent, " Base::finishCreation(vm);\n");
18691872 if ($codeGenerator->IsTypedArrayType($implType) and ($implType ne "ArrayBufferView") and ($implType ne "ArrayBuffer")) {
1870  push(@implContent, " TypedArrayDescriptor descriptor(&${className}::s_info, OBJECT_OFFSETOF(${className}, m_storage), OBJECT_OFFSETOF(${className}, m_storageLength));\n");
 1873 push(@implContent, " TypedArrayDescriptor descriptor(${className}::info(), OBJECT_OFFSETOF(${className}, m_storage), OBJECT_OFFSETOF(${className}, m_storageLength));\n");
18711874 push(@implContent, " vm.registerTypedArrayDescriptor(impl(), descriptor);\n");
18721875 push(@implContent, " m_storage = impl()->data();\n");
18731876 push(@implContent, " m_storageLength = impl()->length();\n");
18741877 }
1875  push(@implContent, " ASSERT(inherits(&s_info));\n");
 1878 push(@implContent, " ASSERT(inherits(info()));\n");
18761879 push(@implContent, "}\n\n");
18771880 }
18781881

@@sub GenerateImplementation
19231926 push(@implContent, "bool ${className}::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)\n");
19241927 push(@implContent, "{\n");
19251928 push(@implContent, " ${className}* thisObject = jsCast<${className}*>(object);\n");
1926  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 1929 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
19271930 push(@implContent, GenerateGetOwnPropertySlotBody($interface, $interfaceName, $className, $numAttributes > 0, 0));
19281931 push(@implContent, "}\n\n");
19291932 push(@implContent, "bool ${className}::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)\n");
19301933 push(@implContent, "{\n");
19311934 push(@implContent, " ${className}* thisObject = jsCast<${className}*>(object);\n");
1932  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 1935 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
19331936 push(@implContent, GenerateGetOwnPropertyDescriptorBody($interface, $interfaceName, $className, $numAttributes > 0, 0));
19341937 push(@implContent, "}\n\n");
19351938 }

@@sub GenerateImplementation
19401943 push(@implContent, "bool ${className}::getOwnPropertySlotByIndex(JSObject* object, ExecState* exec, unsigned index, PropertySlot& slot)\n");
19411944 push(@implContent, "{\n");
19421945 push(@implContent, " ${className}* thisObject = jsCast<${className}*>(object);\n");
1943  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 1946 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
19441947
19451948 # Sink the int-to-string conversion that happens when we create a PropertyName
19461949 # to the point where we actually need it.

@@sub GenerateImplementation
21962199 push(@implContent, "void ${className}::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)\n");
21972200 push(@implContent, "{\n");
21982201 push(@implContent, " ${className}* thisObject = jsCast<${className}*>(cell);\n");
2199  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 2202 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
22002203 if ($interface->extendedAttributes->{"CustomIndexedSetter"}) {
22012204 push(@implContent, " unsigned index = propertyName.asIndex();\n");
22022205 push(@implContent, " if (index != PropertyName::NotAnIndex) {\n");

@@sub GenerateImplementation
22202223 push(@implContent, "void ${className}::putByIndex(JSCell* cell, ExecState* exec, unsigned index, JSValue value, bool shouldThrow)\n");
22212224 push(@implContent, "{\n");
22222225 push(@implContent, " ${className}* thisObject = jsCast<${className}*>(cell);\n");
2223  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 2226 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
22242227 if ($interface->extendedAttributes->{"CustomIndexedSetter"}) {
22252228 push(@implContent, " if (index <= MAX_ARRAY_INDEX) {\n");
22262229 push(@implContent, " UNUSED_PARAM(shouldThrow);\n");

@@sub GenerateImplementation
23232326
23242327 my $argType = $attribute->signature->type;
23252328 if (!IsNativeType($argType)) {
2326  push(@implContent, " if (!value.isUndefinedOrNull() && !value.inherits(&JS${argType}::s_info)) {\n");
 2329 push(@implContent, " if (!value.isUndefinedOrNull() && !value.inherits(JS${argType}::info())) {\n");
23272330 push(@implContent, " throwVMTypeError(exec);\n");
23282331 push(@implContent, " return;\n");
23292332 push(@implContent, " };\n");

@@sub GenerateImplementation
24292432 push(@implContent, "void ${className}::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)\n");
24302433 push(@implContent, "{\n");
24312434 push(@implContent, " ${className}* thisObject = jsCast<${className}*>(object);\n");
2432  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 2435 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
24332436 push(@implContent, " for (unsigned i = 0; i < static_cast<${interfaceName}*>(thisObject->impl())->length(); ++i)\n");
24342437 push(@implContent, " propertyNames.add(Identifier::from(exec, i));\n");
24352438 push(@implContent, " Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);\n");

@@sub GenerateImplementation
25062509 push(@implContent, " return throwVMTypeError(exec);\n");
25072510 } else {
25082511 push(@implContent, " JSValue thisValue = exec->hostThisValue();\n");
2509  push(@implContent, " if (!thisValue.inherits(&${className}::s_info))\n");
 2512 push(@implContent, " if (!thisValue.inherits(${className}::info()))\n");
25102513 push(@implContent, " return throwVMTypeError(exec);\n");
25112514 push(@implContent, " $className* castedThis = jsCast<$className*>(asObject(thisValue));\n");
25122515 }
25132516
2514  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(castedThis, &${className}::s_info);\n");
 2517 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(castedThis, ${className}::info());\n");
25152518
25162519 if ($interface->extendedAttributes->{"CheckSecurity"} and
25172520 !$function->signature->extendedAttributes->{"DoNotCheckSecurity"}) {

@@sub GenerateImplementation
25782581 push(@implContent, "void ${className}::visitChildren(JSCell* cell, SlotVisitor& visitor)\n");
25792582 push(@implContent, "{\n");
25802583 push(@implContent, " ${className}* thisObject = jsCast<${className}*>(cell);\n");
2581  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
 2584 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
25822585 push(@implContent, " COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);\n");
25832586 push(@implContent, " ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());\n");
25842587 push(@implContent, " Base::visitChildren(thisObject, visitor);\n");

@@sub GenerateImplementation
26312634 push(@implContent, "\nJSValue ${className}::indexGetter(ExecState* exec, JSValue slotBase, unsigned index)\n");
26322635 push(@implContent, "{\n");
26332636 push(@implContent, " ${className}* thisObj = jsCast<$className*>(asObject(slotBase));\n");
2634  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObj, &s_info);\n");
 2637 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObj, info());\n");
26352638 if ($indexedGetterFunction->signature->type eq "DOMString") {
26362639 $implIncludes{"KURL.h"} = 1;
26372640 push(@implContent, " return jsStringOrUndefined(exec, thisObj->impl()->item(index));\n");

@@sub GenerateImplementation
26482651 if ($hasNumericIndexedGetter) {
26492652 push(@implContent, "\nJSValue ${className}::getByIndex(ExecState*, unsigned index)\n");
26502653 push(@implContent, "{\n");
2651  push(@implContent, " ASSERT_GC_OBJECT_INHERITS(this, &s_info);\n");
 2654 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(this, info());\n");
26522655 push(@implContent, " double result = static_cast<$interfaceName*>(impl())->item(index);\n");
26532656 # jsNumber conversion doesn't suppress signalling NaNs, so enforce that here.
26542657 push(@implContent, " if (std::isnan(result))\n");

@@END
28412844 if ((!$hasParent or $interface->extendedAttributes->{"JSGenerateToNativeObject"}) and !$interface->extendedAttributes->{"JSCustomToNativeObject"}) {
28422845 push(@implContent, "$implType* to${interfaceName}(JSC::JSValue value)\n");
28432846 push(@implContent, "{\n");
2844  push(@implContent, " return value.inherits(&${className}::s_info) ? jsCast<$className*>(asObject(value))->impl() : 0");
 2847 push(@implContent, " return value.inherits(${className}::info()) ? jsCast<$className*>(asObject(value))->impl() : 0");
28452848 push(@implContent, ";\n}\n");
28462849 }
28472850

@@sub GenerateParametersCheck
30183021 if (!IsNativeType($argType)) {
30193022 push(@$outputArray, " Vector<$nativeElementType> $name;\n");
30203023 push(@$outputArray, " for (unsigned i = $argsIndex; i < exec->argumentCount(); ++i) {\n");
3021  push(@$outputArray, " if (!exec->argument(i).inherits(&JS${argType}::s_info))\n");
 3024 push(@$outputArray, " if (!exec->argument(i).inherits(JS${argType}::info()))\n");
30223025 push(@$outputArray, " return throwVMTypeError(exec);\n");
30233026 push(@$outputArray, " $name.append(to$argType(exec->argument(i)));\n");
30243027 push(@$outputArray, " }\n")

@@sub GenerateParametersCheck
30553058
30563059 my $argValue = "exec->argument($argsIndex)";
30573060 if (!IsNativeType($argType)) {
3058  push(@$outputArray, " if (exec->argumentCount() > $argsIndex && !${argValue}.isUndefinedOrNull() && !${argValue}.inherits(&JS${argType}::s_info))\n");
 3061 push(@$outputArray, " if (exec->argumentCount() > $argsIndex && !${argValue}.isUndefinedOrNull() && !${argValue}.inherits(JS${argType}::info()))\n");
30593062 push(@$outputArray, " return throwVMTypeError(exec);\n");
30603063 }
30613064 }

@@sub GenerateConstructorDeclaration
38913894
38923895 push(@$outputArray, " static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);\n");
38933896 push(@$outputArray, " static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);\n");
3894  push(@$outputArray, " static const JSC::ClassInfo s_info;\n");
 3897 push(@$outputArray, " DECLARE_INFO;\n");
38953898
38963899 push(@$outputArray, " static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n");
38973900 push(@$outputArray, " {\n");
3898  push(@$outputArray, " return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);\n");
 3901 push(@$outputArray, " return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());\n");
38993902 push(@$outputArray, " }\n");
39003903
39013904 push(@$outputArray, "protected:\n");

@@public:
39403943
39413944 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
39423945 {
3943  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 3946 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
39443947 }
39453948
3946  static const JSC::ClassInfo s_info;
 3949 DECLARE_INFO;
39473950
39483951private:
39493952 JS${interfaceName}NamedConstructor(JSC::Structure*, JSDOMGlobalObject*);

@@sub GenerateConstructorHelperMethods
42474250 push(@$outputArray, "{\n");
42484251 if (IsDOMGlobalObject($interface)) {
42494252 push(@$outputArray, " Base::finishCreation(exec->vm());\n");
4250  push(@$outputArray, " ASSERT(inherits(&s_info));\n");
 4253 push(@$outputArray, " ASSERT(inherits(info()));\n");
42514254 push(@$outputArray, " putDirect(exec->vm(), exec->propertyNames().prototype, globalObject->prototype(), DontDelete | ReadOnly);\n");
42524255 } elsif ($generatingNamedConstructor) {
42534256 push(@$outputArray, " Base::finishCreation(globalObject);\n");
4254  push(@$outputArray, " ASSERT(inherits(&s_info));\n");
 4257 push(@$outputArray, " ASSERT(inherits(info()));\n");
42554258 push(@$outputArray, " putDirect(exec->vm(), exec->propertyNames().prototype, ${className}Prototype::self(exec, globalObject), None);\n");
42564259 } else {
42574260 push(@$outputArray, " Base::finishCreation(exec->vm());\n");
4258  push(@$outputArray, " ASSERT(inherits(&s_info));\n");
 4261 push(@$outputArray, " ASSERT(inherits(info()));\n");
42594262 push(@$outputArray, " putDirect(exec->vm(), exec->propertyNames().prototype, ${protoClassName}::self(exec, globalObject), DontDelete | ReadOnly);\n");
42604263 }
42614264 push(@$outputArray, " putDirect(exec->vm(), exec->propertyNames().length, jsNumber(${leastConstructorLength}), ReadOnly | DontDelete | DontEnum);\n") if defined $leastConstructorLength;
154013

Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.cpp

@@JSFloat64ArrayConstructor::JSFloat64Arra
8888void JSFloat64ArrayConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
8989{
9090 Base::finishCreation(exec->vm());
91  ASSERT(inherits(&s_info));
 91 ASSERT(inherits(info()));
9292 putDirect(exec->vm(), exec->propertyNames().prototype, JSFloat64ArrayPrototype::self(exec, globalObject), DontDelete | ReadOnly);
9393 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
9494}

@@JSFloat64Array::JSFloat64Array(Structure
158158void JSFloat64Array::finishCreation(VM& vm)
159159{
160160 Base::finishCreation(vm);
161  TypedArrayDescriptor descriptor(&JSFloat64Array::s_info, OBJECT_OFFSETOF(JSFloat64Array, m_storage), OBJECT_OFFSETOF(JSFloat64Array, m_storageLength));
 161 TypedArrayDescriptor descriptor(JSFloat64Array::info(), OBJECT_OFFSETOF(JSFloat64Array, m_storage), OBJECT_OFFSETOF(JSFloat64Array, m_storageLength));
162162 vm.registerTypedArrayDescriptor(impl(), descriptor);
163163 m_storage = impl()->data();
164164 m_storageLength = impl()->length();
165  ASSERT(inherits(&s_info));
 165 ASSERT(inherits(info()));
166166}
167167
168168JSObject* JSFloat64Array::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSObject* JSFloat64Array::createPrototyp
173173bool JSFloat64Array::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
174174{
175175 JSFloat64Array* thisObject = jsCast<JSFloat64Array*>(object);
176  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 176 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
177177 unsigned index = propertyName.asIndex();
178178 if (index != PropertyName::NotAnIndex && index < static_cast<Float64Array*>(thisObject->impl())->length()) {
179179 slot.setValue(thisObject, thisObject->getByIndex(exec, index));

@@bool JSFloat64Array::getOwnPropertySlot(
185185bool JSFloat64Array::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
186186{
187187 JSFloat64Array* thisObject = jsCast<JSFloat64Array*>(object);
188  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 188 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
189189 unsigned index = propertyName.asIndex();
190190 if (index != PropertyName::NotAnIndex && index < static_cast<Float64Array*>(thisObject->impl())->length()) {
191191 descriptor.setDescriptor(thisObject->getByIndex(exec, index), DontDelete);

@@bool JSFloat64Array::getOwnPropertyDescr
197197bool JSFloat64Array::getOwnPropertySlotByIndex(JSObject* object, ExecState* exec, unsigned index, PropertySlot& slot)
198198{
199199 JSFloat64Array* thisObject = jsCast<JSFloat64Array*>(object);
200  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 200 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
201201 if (index < static_cast<Float64Array*>(thisObject->impl())->length()) {
202202 slot.setValue(thisObject, thisObject->getByIndex(exec, index));
203203 return true;

@@JSValue jsFloat64ArrayConstructor(ExecSt
214214void JSFloat64Array::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
215215{
216216 JSFloat64Array* thisObject = jsCast<JSFloat64Array*>(cell);
217  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 217 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
218218 unsigned index = propertyName.asIndex();
219219 if (index != PropertyName::NotAnIndex) {
220220 thisObject->indexSetter(exec, index, value);

@@void JSFloat64Array::put(JSCell* cell, E
226226void JSFloat64Array::putByIndex(JSCell* cell, ExecState* exec, unsigned index, JSValue value, bool shouldThrow)
227227{
228228 JSFloat64Array* thisObject = jsCast<JSFloat64Array*>(cell);
229  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 229 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
230230 if (index <= MAX_ARRAY_INDEX) {
231231 UNUSED_PARAM(shouldThrow);
232232 thisObject->indexSetter(exec, index, value);

@@void JSFloat64Array::putByIndex(JSCell*
238238void JSFloat64Array::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
239239{
240240 JSFloat64Array* thisObject = jsCast<JSFloat64Array*>(object);
241  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 241 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
242242 for (unsigned i = 0; i < static_cast<Float64Array*>(thisObject->impl())->length(); ++i)
243243 propertyNames.add(Identifier::from(exec, i));
244244 Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);

@@JSValue JSFloat64Array::getConstructor(E
252252EncodedJSValue JSC_HOST_CALL jsFloat64ArrayPrototypeFunctionFoo(ExecState* exec)
253253{
254254 JSValue thisValue = exec->hostThisValue();
255  if (!thisValue.inherits(&JSFloat64Array::s_info))
 255 if (!thisValue.inherits(JSFloat64Array::info()))
256256 return throwVMTypeError(exec);
257257 JSFloat64Array* castedThis = jsCast<JSFloat64Array*>(asObject(thisValue));
258  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSFloat64Array::s_info);
 258 ASSERT_GC_OBJECT_INHERITS(castedThis, JSFloat64Array::info());
259259 Float64Array* impl = static_cast<Float64Array*>(castedThis->impl());
260260 if (exec->argumentCount() < 1)
261261 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsFloat64Ar
270270EncodedJSValue JSC_HOST_CALL jsFloat64ArrayPrototypeFunctionSet(ExecState* exec)
271271{
272272 JSValue thisValue = exec->hostThisValue();
273  if (!thisValue.inherits(&JSFloat64Array::s_info))
 273 if (!thisValue.inherits(JSFloat64Array::info()))
274274 return throwVMTypeError(exec);
275275 JSFloat64Array* castedThis = jsCast<JSFloat64Array*>(asObject(thisValue));
276  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSFloat64Array::s_info);
 276 ASSERT_GC_OBJECT_INHERITS(castedThis, JSFloat64Array::info());
277277 return JSValue::encode(setWebGLArrayHelper<Float64Array, double>(exec, castedThis->impl()));
278278}
279279
280280
281281JSValue JSFloat64Array::getByIndex(ExecState*, unsigned index)
282282{
283  ASSERT_GC_OBJECT_INHERITS(this, &s_info);
 283 ASSERT_GC_OBJECT_INHERITS(this, info());
284284 double result = static_cast<Float64Array*>(impl())->item(index);
285285 if (std::isnan(result))
286286 return jsNaN();

@@JSValue JSFloat64Array::getByIndex(ExecS
289289
290290Float64Array* toFloat64Array(JSC::JSValue value)
291291{
292  return value.inherits(&JSFloat64Array::s_info) ? jsCast<JSFloat64Array*>(asObject(value))->impl() : 0;
 292 return value.inherits(JSFloat64Array::info()) ? jsCast<JSFloat64Array*>(asObject(value))->impl() : 0;
293293}
294294
295295}
154013

Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.h

@@public:
4444 static bool getOwnPropertySlotByIndex(JSC::JSObject*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
4545 static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&);
4646 static void putByIndex(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::JSValue, bool shouldThrow);
47  static const JSC::ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5050 {
51  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 51 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5252 }
5353
5454 static void getOwnPropertyNames(JSC::JSObject*, JSC::ExecState*, JSC::PropertyNameArray&, JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties);

@@public:
8282 return ptr;
8383 }
8484
85  static const JSC::ClassInfo s_info;
 85 DECLARE_INFO;
8686 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
8787 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
8888 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
8989 {
90  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 90 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
9191 }
9292
9393private:

@@public:
112112
113113 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
114114 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
115  static const JSC::ClassInfo s_info;
 115 DECLARE_INFO;
116116 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
117117 {
118  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 118 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
119119 }
120120protected:
121121 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp

@@JSTestActiveDOMObjectConstructor::JSTest
6161void JSTestActiveDOMObjectConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
6262{
6363 Base::finishCreation(exec->vm());
64  ASSERT(inherits(&s_info));
 64 ASSERT(inherits(info()));
6565 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestActiveDOMObjectPrototype::self(exec, globalObject), DontDelete | ReadOnly);
6666 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
6767}

@@JSTestActiveDOMObject::JSTestActiveDOMOb
116116void JSTestActiveDOMObject::finishCreation(VM& vm)
117117{
118118 Base::finishCreation(vm);
119  ASSERT(inherits(&s_info));
 119 ASSERT(inherits(info()));
120120}
121121
122122JSObject* JSTestActiveDOMObject::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestActiveDOMObject::~JSTestActiveDOMO
138138bool JSTestActiveDOMObject::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
139139{
140140 JSTestActiveDOMObject* thisObject = jsCast<JSTestActiveDOMObject*>(object);
141  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 141 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
142142 return getStaticValueSlot<JSTestActiveDOMObject, Base>(exec, &JSTestActiveDOMObjectTable, thisObject, propertyName, slot);
143143}
144144
145145bool JSTestActiveDOMObject::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
146146{
147147 JSTestActiveDOMObject* thisObject = jsCast<JSTestActiveDOMObject*>(object);
148  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 148 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
149149 if (!shouldAllowAccessToFrame(exec, thisObject->impl()->frame()))
150150 return false;
151151 return getStaticValueDescriptor<JSTestActiveDOMObject, Base>(exec, &JSTestActiveDOMObjectTable, thisObject, propertyName, descriptor);

@@JSValue JSTestActiveDOMObject::getConstr
179179EncodedJSValue JSC_HOST_CALL jsTestActiveDOMObjectPrototypeFunctionExcitingFunction(ExecState* exec)
180180{
181181 JSValue thisValue = exec->hostThisValue();
182  if (!thisValue.inherits(&JSTestActiveDOMObject::s_info))
 182 if (!thisValue.inherits(JSTestActiveDOMObject::info()))
183183 return throwVMTypeError(exec);
184184 JSTestActiveDOMObject* castedThis = jsCast<JSTestActiveDOMObject*>(asObject(thisValue));
185  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestActiveDOMObject::s_info);
 185 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestActiveDOMObject::info());
186186 if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, castedThis->impl()))
187187 return JSValue::encode(jsUndefined());
188188 TestActiveDOMObject* impl = static_cast<TestActiveDOMObject*>(castedThis->impl());

@@EncodedJSValue JSC_HOST_CALL jsTestActiv
198198EncodedJSValue JSC_HOST_CALL jsTestActiveDOMObjectPrototypeFunctionPostMessage(ExecState* exec)
199199{
200200 JSValue thisValue = exec->hostThisValue();
201  if (!thisValue.inherits(&JSTestActiveDOMObject::s_info))
 201 if (!thisValue.inherits(JSTestActiveDOMObject::info()))
202202 return throwVMTypeError(exec);
203203 JSTestActiveDOMObject* castedThis = jsCast<JSTestActiveDOMObject*>(asObject(thisValue));
204  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestActiveDOMObject::s_info);
 204 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestActiveDOMObject::info());
205205 TestActiveDOMObject* impl = static_cast<TestActiveDOMObject*>(castedThis->impl());
206206 if (exec->argumentCount() < 1)
207207 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@JSC::JSValue toJS(JSC::ExecState* exec,
275275
276276TestActiveDOMObject* toTestActiveDOMObject(JSC::JSValue value)
277277{
278  return value.inherits(&JSTestActiveDOMObject::s_info) ? jsCast<JSTestActiveDOMObject*>(asObject(value))->impl() : 0;
 278 return value.inherits(JSTestActiveDOMObject::info()) ? jsCast<JSTestActiveDOMObject*>(asObject(value))->impl() : 0;
279279}
280280
281281}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h

@@public:
4444 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
4545 static void destroy(JSC::JSCell*);
4646 ~JSTestActiveDOMObject();
47  static const JSC::ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5050 {
51  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 51 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5252 }
5353
5454 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
102102 return ptr;
103103 }
104104
105  static const JSC::ClassInfo s_info;
 105 DECLARE_INFO;
106106 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
107107 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
108108 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
109109 {
110  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 110 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
111111 }
112112
113113private:

@@public:
132132
133133 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
134134 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
135  static const JSC::ClassInfo s_info;
 135 DECLARE_INFO;
136136 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
137137 {
138  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 138 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
139139 }
140140protected:
141141 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp

@@JSTestCustomNamedGetterConstructor::JSTe
5959void JSTestCustomNamedGetterConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
6060{
6161 Base::finishCreation(exec->vm());
62  ASSERT(inherits(&s_info));
 62 ASSERT(inherits(info()));
6363 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestCustomNamedGetterPrototype::self(exec, globalObject), DontDelete | ReadOnly);
6464 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
6565}

@@JSTestCustomNamedGetter::JSTestCustomNam
113113void JSTestCustomNamedGetter::finishCreation(VM& vm)
114114{
115115 Base::finishCreation(vm);
116  ASSERT(inherits(&s_info));
 116 ASSERT(inherits(info()));
117117}
118118
119119JSObject* JSTestCustomNamedGetter::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestCustomNamedGetter::~JSTestCustomNa
135135bool JSTestCustomNamedGetter::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
136136{
137137 JSTestCustomNamedGetter* thisObject = jsCast<JSTestCustomNamedGetter*>(object);
138  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 138 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
139139 if (canGetItemsForName(exec, static_cast<TestCustomNamedGetter*>(thisObject->impl()), propertyName)) {
140140 slot.setCustom(thisObject, thisObject->nameGetter);
141141 return true;

@@bool JSTestCustomNamedGetter::getOwnProp
146146bool JSTestCustomNamedGetter::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
147147{
148148 JSTestCustomNamedGetter* thisObject = jsCast<JSTestCustomNamedGetter*>(object);
149  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 149 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
150150 if (canGetItemsForName(exec, static_cast<TestCustomNamedGetter*>(thisObject->impl()), propertyName)) {
151151 PropertySlot slot(thisObject);
152152 slot.setCustom(thisObject, nameGetter);

@@bool JSTestCustomNamedGetter::getOwnProp
159159bool JSTestCustomNamedGetter::getOwnPropertySlotByIndex(JSObject* object, ExecState* exec, unsigned index, PropertySlot& slot)
160160{
161161 JSTestCustomNamedGetter* thisObject = jsCast<JSTestCustomNamedGetter*>(object);
162  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 162 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
163163 PropertyName propertyName = Identifier::from(exec, index);
164164 if (canGetItemsForName(exec, static_cast<TestCustomNamedGetter*>(thisObject->impl()), propertyName)) {
165165 slot.setCustom(thisObject, thisObject->nameGetter);

@@JSValue JSTestCustomNamedGetter::getCons
182182EncodedJSValue JSC_HOST_CALL jsTestCustomNamedGetterPrototypeFunctionAnotherFunction(ExecState* exec)
183183{
184184 JSValue thisValue = exec->hostThisValue();
185  if (!thisValue.inherits(&JSTestCustomNamedGetter::s_info))
 185 if (!thisValue.inherits(JSTestCustomNamedGetter::info()))
186186 return throwVMTypeError(exec);
187187 JSTestCustomNamedGetter* castedThis = jsCast<JSTestCustomNamedGetter*>(asObject(thisValue));
188  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestCustomNamedGetter::s_info);
 188 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestCustomNamedGetter::info());
189189 TestCustomNamedGetter* impl = static_cast<TestCustomNamedGetter*>(castedThis->impl());
190190 if (exec->argumentCount() < 1)
191191 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@JSC::JSValue toJS(JSC::ExecState* exec,
259259
260260TestCustomNamedGetter* toTestCustomNamedGetter(JSC::JSValue value)
261261{
262  return value.inherits(&JSTestCustomNamedGetter::s_info) ? jsCast<JSTestCustomNamedGetter*>(asObject(value))->impl() : 0;
 262 return value.inherits(JSTestCustomNamedGetter::info()) ? jsCast<JSTestCustomNamedGetter*>(asObject(value))->impl() : 0;
263263}
264264
265265}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h

@@public:
4545 static bool getOwnPropertySlotByIndex(JSC::JSObject*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
4646 static void destroy(JSC::JSCell*);
4747 ~JSTestCustomNamedGetter();
48  static const JSC::ClassInfo s_info;
 48 DECLARE_INFO;
4949
5050 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5151 {
52  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 52 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5353 }
5454
5555 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
106106 return ptr;
107107 }
108108
109  static const JSC::ClassInfo s_info;
 109 DECLARE_INFO;
110110 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
111111 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
112112 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
113113 {
114  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 114 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
115115 }
116116
117117private:

@@public:
136136
137137 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
138138 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
139  static const JSC::ClassInfo s_info;
 139 DECLARE_INFO;
140140 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
141141 {
142  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 142 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
143143 }
144144protected:
145145 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp

@@JSTestEventConstructorConstructor::JSTes
9999void JSTestEventConstructorConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
100100{
101101 Base::finishCreation(exec->vm());
102  ASSERT(inherits(&s_info));
 102 ASSERT(inherits(info()));
103103 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestEventConstructorPrototype::self(exec, globalObject), DontDelete | ReadOnly);
104104 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
105105}

@@JSTestEventConstructor::JSTestEventConst
146146void JSTestEventConstructor::finishCreation(VM& vm)
147147{
148148 Base::finishCreation(vm);
149  ASSERT(inherits(&s_info));
 149 ASSERT(inherits(info()));
150150}
151151
152152JSObject* JSTestEventConstructor::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestEventConstructor::~JSTestEventCons
168168bool JSTestEventConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
169169{
170170 JSTestEventConstructor* thisObject = jsCast<JSTestEventConstructor*>(object);
171  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 171 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
172172 return getStaticValueSlot<JSTestEventConstructor, Base>(exec, &JSTestEventConstructorTable, thisObject, propertyName, slot);
173173}
174174
175175bool JSTestEventConstructor::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
176176{
177177 JSTestEventConstructor* thisObject = jsCast<JSTestEventConstructor*>(object);
178  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 178 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
179179 return getStaticValueDescriptor<JSTestEventConstructor, Base>(exec, &JSTestEventConstructorTable, thisObject, propertyName, descriptor);
180180}
181181

@@JSC::JSValue toJS(JSC::ExecState* exec,
273273
274274TestEventConstructor* toTestEventConstructor(JSC::JSValue value)
275275{
276  return value.inherits(&JSTestEventConstructor::s_info) ? jsCast<JSTestEventConstructor*>(asObject(value))->impl() : 0;
 276 return value.inherits(JSTestEventConstructor::info()) ? jsCast<JSTestEventConstructor*>(asObject(value))->impl() : 0;
277277}
278278
279279}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h

@@public:
4646 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
4747 static void destroy(JSC::JSCell*);
4848 ~JSTestEventConstructor();
49  static const JSC::ClassInfo s_info;
 49 DECLARE_INFO;
5050
5151 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5252 {
53  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 53 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5454 }
5555
5656 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
104104 return ptr;
105105 }
106106
107  static const JSC::ClassInfo s_info;
 107 DECLARE_INFO;
108108 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
109109 {
110  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 110 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
111111 }
112112
113113private:

@@public:
132132
133133 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
134134 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
135  static const JSC::ClassInfo s_info;
 135 DECLARE_INFO;
136136 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
137137 {
138  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 138 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
139139 }
140140protected:
141141 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp

@@JSTestEventTargetConstructor::JSTestEven
6565void JSTestEventTargetConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
6666{
6767 Base::finishCreation(exec->vm());
68  ASSERT(inherits(&s_info));
 68 ASSERT(inherits(info()));
6969 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestEventTargetPrototype::self(exec, globalObject), DontDelete | ReadOnly);
7070 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
7171}

@@JSTestEventTarget::JSTestEventTarget(Str
122122void JSTestEventTarget::finishCreation(VM& vm)
123123{
124124 Base::finishCreation(vm);
125  ASSERT(inherits(&s_info));
 125 ASSERT(inherits(info()));
126126}
127127
128128JSObject* JSTestEventTarget::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestEventTarget::~JSTestEventTarget()
144144bool JSTestEventTarget::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
145145{
146146 JSTestEventTarget* thisObject = jsCast<JSTestEventTarget*>(object);
147  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 147 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
148148 const HashEntry* entry = getStaticValueSlotEntryWithoutCaching<JSTestEventTarget>(exec, propertyName);
149149 if (entry) {
150150 slot.setCustom(thisObject, entry->propertyGetter());

@@bool JSTestEventTarget::getOwnPropertySl
165165bool JSTestEventTarget::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
166166{
167167 JSTestEventTarget* thisObject = jsCast<JSTestEventTarget*>(object);
168  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 168 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
169169 const HashEntry* entry = JSTestEventTargetTable.entry(exec, propertyName);
170170 if (entry) {
171171 PropertySlot slot(thisObject);

@@bool JSTestEventTarget::getOwnPropertyDe
192192bool JSTestEventTarget::getOwnPropertySlotByIndex(JSObject* object, ExecState* exec, unsigned index, PropertySlot& slot)
193193{
194194 JSTestEventTarget* thisObject = jsCast<JSTestEventTarget*>(object);
195  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 195 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
196196 if (index < static_cast<TestEventTarget*>(thisObject->impl())->length()) {
197197 slot.setCustomIndex(thisObject, index, thisObject->indexGetter);
198198 return true;

@@JSValue jsTestEventTargetConstructor(Exe
214214void JSTestEventTarget::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
215215{
216216 JSTestEventTarget* thisObject = jsCast<JSTestEventTarget*>(object);
217  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 217 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
218218 for (unsigned i = 0; i < static_cast<TestEventTarget*>(thisObject->impl())->length(); ++i)
219219 propertyNames.add(Identifier::from(exec, i));
220220 Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);

@@JSValue JSTestEventTarget::getConstructo
228228EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionItem(ExecState* exec)
229229{
230230 JSValue thisValue = exec->hostThisValue();
231  if (!thisValue.inherits(&JSTestEventTarget::s_info))
 231 if (!thisValue.inherits(JSTestEventTarget::info()))
232232 return throwVMTypeError(exec);
233233 JSTestEventTarget* castedThis = jsCast<JSTestEventTarget*>(asObject(thisValue));
234  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestEventTarget::s_info);
 234 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestEventTarget::info());
235235 TestEventTarget* impl = static_cast<TestEventTarget*>(castedThis->impl());
236236 if (exec->argumentCount() < 1)
237237 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestEvent
250250EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionAddEventListener(ExecState* exec)
251251{
252252 JSValue thisValue = exec->hostThisValue();
253  if (!thisValue.inherits(&JSTestEventTarget::s_info))
 253 if (!thisValue.inherits(JSTestEventTarget::info()))
254254 return throwVMTypeError(exec);
255255 JSTestEventTarget* castedThis = jsCast<JSTestEventTarget*>(asObject(thisValue));
256  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestEventTarget::s_info);
 256 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestEventTarget::info());
257257 TestEventTarget* impl = static_cast<TestEventTarget*>(castedThis->impl());
258258 JSValue listener = exec->argument(1);
259259 if (!listener.isObject())

@@EncodedJSValue JSC_HOST_CALL jsTestEvent
265265EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionRemoveEventListener(ExecState* exec)
266266{
267267 JSValue thisValue = exec->hostThisValue();
268  if (!thisValue.inherits(&JSTestEventTarget::s_info))
 268 if (!thisValue.inherits(JSTestEventTarget::info()))
269269 return throwVMTypeError(exec);
270270 JSTestEventTarget* castedThis = jsCast<JSTestEventTarget*>(asObject(thisValue));
271  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestEventTarget::s_info);
 271 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestEventTarget::info());
272272 TestEventTarget* impl = static_cast<TestEventTarget*>(castedThis->impl());
273273 JSValue listener = exec->argument(1);
274274 if (!listener.isObject())

@@EncodedJSValue JSC_HOST_CALL jsTestEvent
280280EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionDispatchEvent(ExecState* exec)
281281{
282282 JSValue thisValue = exec->hostThisValue();
283  if (!thisValue.inherits(&JSTestEventTarget::s_info))
 283 if (!thisValue.inherits(JSTestEventTarget::info()))
284284 return throwVMTypeError(exec);
285285 JSTestEventTarget* castedThis = jsCast<JSTestEventTarget*>(asObject(thisValue));
286  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestEventTarget::s_info);
 286 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestEventTarget::info());
287287 TestEventTarget* impl = static_cast<TestEventTarget*>(castedThis->impl());
288288 if (exec->argumentCount() < 1)
289289 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestEvent
300300void JSTestEventTarget::visitChildren(JSCell* cell, SlotVisitor& visitor)
301301{
302302 JSTestEventTarget* thisObject = jsCast<JSTestEventTarget*>(cell);
303  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 303 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
304304 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
305305 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
306306 Base::visitChildren(thisObject, visitor);

@@void JSTestEventTarget::visitChildren(JS
311311JSValue JSTestEventTarget::indexGetter(ExecState* exec, JSValue slotBase, unsigned index)
312312{
313313 JSTestEventTarget* thisObj = jsCast<JSTestEventTarget*>(asObject(slotBase));
314  ASSERT_GC_OBJECT_INHERITS(thisObj, &s_info);
 314 ASSERT_GC_OBJECT_INHERITS(thisObj, info());
315315 return toJS(exec, thisObj->globalObject(), static_cast<TestEventTarget*>(thisObj->impl())->item(index));
316316}
317317

@@JSC::JSValue toJS(JSC::ExecState* exec,
382382
383383TestEventTarget* toTestEventTarget(JSC::JSValue value)
384384{
385  return value.inherits(&JSTestEventTarget::s_info) ? jsCast<JSTestEventTarget*>(asObject(value))->impl() : 0;
 385 return value.inherits(JSTestEventTarget::info()) ? jsCast<JSTestEventTarget*>(asObject(value))->impl() : 0;
386386}
387387
388388}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h

@@public:
4646 static bool getOwnPropertySlotByIndex(JSC::JSObject*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
4747 static void destroy(JSC::JSCell*);
4848 ~JSTestEventTarget();
49  static const JSC::ClassInfo s_info;
 49 DECLARE_INFO;
5050
5151 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5252 {
53  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 53 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5454 }
5555
5656 static void getOwnPropertyNames(JSC::JSObject*, JSC::ExecState*, JSC::PropertyNameArray&, JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties);

@@public:
111111 return ptr;
112112 }
113113
114  static const JSC::ClassInfo s_info;
 114 DECLARE_INFO;
115115 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
116116 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
117117 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
118118 {
119  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 119 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
120120 }
121121
122122private:

@@public:
141141
142142 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
143143 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
144  static const JSC::ClassInfo s_info;
 144 DECLARE_INFO;
145145 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
146146 {
147  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 147 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
148148 }
149149protected:
150150 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp

@@JSTestExceptionConstructor::JSTestExcept
5858void JSTestExceptionConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
5959{
6060 Base::finishCreation(exec->vm());
61  ASSERT(inherits(&s_info));
 61 ASSERT(inherits(info()));
6262 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestExceptionPrototype::self(exec, globalObject), DontDelete | ReadOnly);
6363 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
6464}

@@JSTestException::JSTestException(Structu
9999void JSTestException::finishCreation(VM& vm)
100100{
101101 Base::finishCreation(vm);
102  ASSERT(inherits(&s_info));
 102 ASSERT(inherits(info()));
103103}
104104
105105JSObject* JSTestException::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestException::~JSTestException()
121121bool JSTestException::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
122122{
123123 JSTestException* thisObject = jsCast<JSTestException*>(object);
124  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 124 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
125125 return getStaticValueSlot<JSTestException, Base>(exec, &JSTestExceptionTable, thisObject, propertyName, slot);
126126}
127127
128128bool JSTestException::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
129129{
130130 JSTestException* thisObject = jsCast<JSTestException*>(object);
131  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 131 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
132132 return getStaticValueDescriptor<JSTestException, Base>(exec, &JSTestExceptionTable, thisObject, propertyName, descriptor);
133133}
134134

@@JSC::JSValue toJS(JSC::ExecState* exec,
216216
217217TestException* toTestException(JSC::JSValue value)
218218{
219  return value.inherits(&JSTestException::s_info) ? jsCast<JSTestException*>(asObject(value))->impl() : 0;
 219 return value.inherits(JSTestException::info()) ? jsCast<JSTestException*>(asObject(value))->impl() : 0;
220220}
221221
222222}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestException.h

@@public:
4444 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
4545 static void destroy(JSC::JSCell*);
4646 ~JSTestException();
47  static const JSC::ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5050 {
51  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 51 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5252 }
5353
5454 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
102102 return ptr;
103103 }
104104
105  static const JSC::ClassInfo s_info;
 105 DECLARE_INFO;
106106 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
107107 {
108  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 108 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
109109 }
110110
111111private:

@@public:
130130
131131 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
132132 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
133  static const JSC::ClassInfo s_info;
 133 DECLARE_INFO;
134134 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
135135 {
136  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 136 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
137137 }
138138protected:
139139 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp

@@JSTestInterfaceConstructor::JSTestInterf
165165void JSTestInterfaceConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
166166{
167167 Base::finishCreation(exec->vm());
168  ASSERT(inherits(&s_info));
 168 ASSERT(inherits(info()));
169169 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestInterfacePrototype::self(exec, globalObject), DontDelete | ReadOnly);
170170 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
171171}

@@JSTestInterface::JSTestInterface(Structu
256256void JSTestInterface::finishCreation(VM& vm)
257257{
258258 Base::finishCreation(vm);
259  ASSERT(inherits(&s_info));
 259 ASSERT(inherits(info()));
260260}
261261
262262JSObject* JSTestInterface::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestInterface::~JSTestInterface()
278278bool JSTestInterface::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
279279{
280280 JSTestInterface* thisObject = jsCast<JSTestInterface*>(object);
281  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 281 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
282282 return getStaticValueSlot<JSTestInterface, Base>(exec, &JSTestInterfaceTable, thisObject, propertyName, slot);
283283}
284284
285285bool JSTestInterface::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
286286{
287287 JSTestInterface* thisObject = jsCast<JSTestInterface*>(object);
288  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 288 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
289289 return getStaticValueDescriptor<JSTestInterface, Base>(exec, &JSTestInterfaceTable, thisObject, propertyName, descriptor);
290290}
291291

@@JSValue jsTestInterfaceConstructor(ExecS
432432void JSTestInterface::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
433433{
434434 JSTestInterface* thisObject = jsCast<JSTestInterface*>(cell);
435  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 435 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
436436 if (thisObject->putDelegate(exec, propertyName, value, slot))
437437 return;
438438 lookupPut<JSTestInterface, Base>(exec, propertyName, value, &JSTestInterfaceTable, thisObject, slot);

@@void JSTestInterface::put(JSCell* cell,
441441void JSTestInterface::putByIndex(JSCell* cell, ExecState* exec, unsigned index, JSValue value, bool shouldThrow)
442442{
443443 JSTestInterface* thisObject = jsCast<JSTestInterface*>(cell);
444  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 444 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
445445 PropertyName propertyName = Identifier::from(exec, index);
446446 PutPropertySlot slot(shouldThrow);
447447 if (thisObject->putDelegate(exec, propertyName, value, slot))

@@JSValue JSTestInterface::getConstructor(
556556EncodedJSValue JSC_HOST_CALL jsTestInterfacePrototypeFunctionImplementsMethod1(ExecState* exec)
557557{
558558 JSValue thisValue = exec->hostThisValue();
559  if (!thisValue.inherits(&JSTestInterface::s_info))
 559 if (!thisValue.inherits(JSTestInterface::info()))
560560 return throwVMTypeError(exec);
561561 JSTestInterface* castedThis = jsCast<JSTestInterface*>(asObject(thisValue));
562  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestInterface::s_info);
 562 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestInterface::info());
563563 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
564564 impl->implementsMethod1();
565565 return JSValue::encode(jsUndefined());

@@EncodedJSValue JSC_HOST_CALL jsTestInter
571571EncodedJSValue JSC_HOST_CALL jsTestInterfacePrototypeFunctionImplementsMethod2(ExecState* exec)
572572{
573573 JSValue thisValue = exec->hostThisValue();
574  if (!thisValue.inherits(&JSTestInterface::s_info))
 574 if (!thisValue.inherits(JSTestInterface::info()))
575575 return throwVMTypeError(exec);
576576 JSTestInterface* castedThis = jsCast<JSTestInterface*>(asObject(thisValue));
577  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestInterface::s_info);
 577 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestInterface::info());
578578 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
579579 if (exec->argumentCount() < 2)
580580 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestInter
600600EncodedJSValue JSC_HOST_CALL jsTestInterfacePrototypeFunctionImplementsMethod3(ExecState* exec)
601601{
602602 JSValue thisValue = exec->hostThisValue();
603  if (!thisValue.inherits(&JSTestInterface::s_info))
 603 if (!thisValue.inherits(JSTestInterface::info()))
604604 return throwVMTypeError(exec);
605605 JSTestInterface* castedThis = jsCast<JSTestInterface*>(asObject(thisValue));
606  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestInterface::s_info);
 606 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestInterface::info());
607607 return JSValue::encode(castedThis->implementsMethod3(exec));
608608}
609609

@@EncodedJSValue JSC_HOST_CALL jsTestInter
622622EncodedJSValue JSC_HOST_CALL jsTestInterfacePrototypeFunctionSupplementalMethod1(ExecState* exec)
623623{
624624 JSValue thisValue = exec->hostThisValue();
625  if (!thisValue.inherits(&JSTestInterface::s_info))
 625 if (!thisValue.inherits(JSTestInterface::info()))
626626 return throwVMTypeError(exec);
627627 JSTestInterface* castedThis = jsCast<JSTestInterface*>(asObject(thisValue));
628  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestInterface::s_info);
 628 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestInterface::info());
629629 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
630630 TestSupplemental::supplementalMethod1(impl);
631631 return JSValue::encode(jsUndefined());

@@EncodedJSValue JSC_HOST_CALL jsTestInter
637637EncodedJSValue JSC_HOST_CALL jsTestInterfacePrototypeFunctionSupplementalMethod2(ExecState* exec)
638638{
639639 JSValue thisValue = exec->hostThisValue();
640  if (!thisValue.inherits(&JSTestInterface::s_info))
 640 if (!thisValue.inherits(JSTestInterface::info()))
641641 return throwVMTypeError(exec);
642642 JSTestInterface* castedThis = jsCast<JSTestInterface*>(asObject(thisValue));
643  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestInterface::s_info);
 643 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestInterface::info());
644644 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
645645 if (exec->argumentCount() < 2)
646646 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestInter
666666EncodedJSValue JSC_HOST_CALL jsTestInterfacePrototypeFunctionSupplementalMethod3(ExecState* exec)
667667{
668668 JSValue thisValue = exec->hostThisValue();
669  if (!thisValue.inherits(&JSTestInterface::s_info))
 669 if (!thisValue.inherits(JSTestInterface::info()))
670670 return throwVMTypeError(exec);
671671 JSTestInterface* castedThis = jsCast<JSTestInterface*>(asObject(thisValue));
672  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestInterface::s_info);
 672 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestInterface::info());
673673 return JSValue::encode(castedThis->supplementalMethod3(exec));
674674}
675675

@@JSC::JSValue toJS(JSC::ExecState* exec,
763763
764764TestInterface* toTestInterface(JSC::JSValue value)
765765{
766  return value.inherits(&JSTestInterface::s_info) ? jsCast<JSTestInterface*>(asObject(value))->impl() : 0;
 766 return value.inherits(JSTestInterface::info()) ? jsCast<JSTestInterface*>(asObject(value))->impl() : 0;
767767}
768768
769769}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h

@@public:
4949 bool putDelegate(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&);
5050 static void destroy(JSC::JSCell*);
5151 ~JSTestInterface();
52  static const JSC::ClassInfo s_info;
 52 DECLARE_INFO;
5353
5454 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5555 {
56  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 56 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5757 }
5858
5959 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
129129 return ptr;
130130 }
131131
132  static const JSC::ClassInfo s_info;
 132 DECLARE_INFO;
133133 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
134134 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
135135 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
136136 {
137  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 137 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
138138 }
139139
140140private:

@@public:
159159
160160 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
161161 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
162  static const JSC::ClassInfo s_info;
 162 DECLARE_INFO;
163163 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
164164 {
165  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 165 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
166166 }
167167protected:
168168 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp

@@JSTestMediaQueryListListenerConstructor:
5959void JSTestMediaQueryListListenerConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
6060{
6161 Base::finishCreation(exec->vm());
62  ASSERT(inherits(&s_info));
 62 ASSERT(inherits(info()));
6363 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestMediaQueryListListenerPrototype::self(exec, globalObject), DontDelete | ReadOnly);
6464 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
6565}

@@JSTestMediaQueryListListener::JSTestMedi
113113void JSTestMediaQueryListListener::finishCreation(VM& vm)
114114{
115115 Base::finishCreation(vm);
116  ASSERT(inherits(&s_info));
 116 ASSERT(inherits(info()));
117117}
118118
119119JSObject* JSTestMediaQueryListListener::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestMediaQueryListListener::~JSTestMed
135135bool JSTestMediaQueryListListener::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
136136{
137137 JSTestMediaQueryListListener* thisObject = jsCast<JSTestMediaQueryListListener*>(object);
138  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 138 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
139139 return getStaticValueSlot<JSTestMediaQueryListListener, Base>(exec, &JSTestMediaQueryListListenerTable, thisObject, propertyName, slot);
140140}
141141
142142bool JSTestMediaQueryListListener::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
143143{
144144 JSTestMediaQueryListListener* thisObject = jsCast<JSTestMediaQueryListListener*>(object);
145  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 145 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
146146 return getStaticValueDescriptor<JSTestMediaQueryListListener, Base>(exec, &JSTestMediaQueryListListenerTable, thisObject, propertyName, descriptor);
147147}
148148

@@JSValue JSTestMediaQueryListListener::ge
160160EncodedJSValue JSC_HOST_CALL jsTestMediaQueryListListenerPrototypeFunctionMethod(ExecState* exec)
161161{
162162 JSValue thisValue = exec->hostThisValue();
163  if (!thisValue.inherits(&JSTestMediaQueryListListener::s_info))
 163 if (!thisValue.inherits(JSTestMediaQueryListListener::info()))
164164 return throwVMTypeError(exec);
165165 JSTestMediaQueryListListener* castedThis = jsCast<JSTestMediaQueryListListener*>(asObject(thisValue));
166  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestMediaQueryListListener::s_info);
 166 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestMediaQueryListListener::info());
167167 TestMediaQueryListListener* impl = static_cast<TestMediaQueryListListener*>(castedThis->impl());
168168 if (exec->argumentCount() < 1)
169169 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@JSC::JSValue toJS(JSC::ExecState* exec,
237237
238238TestMediaQueryListListener* toTestMediaQueryListListener(JSC::JSValue value)
239239{
240  return value.inherits(&JSTestMediaQueryListListener::s_info) ? jsCast<JSTestMediaQueryListListener*>(asObject(value))->impl() : 0;
 240 return value.inherits(JSTestMediaQueryListListener::info()) ? jsCast<JSTestMediaQueryListListener*>(asObject(value))->impl() : 0;
241241}
242242
243243}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h

@@public:
4444 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
4545 static void destroy(JSC::JSCell*);
4646 ~JSTestMediaQueryListListener();
47  static const JSC::ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5050 {
51  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 51 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5252 }
5353
5454 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
102102 return ptr;
103103 }
104104
105  static const JSC::ClassInfo s_info;
 105 DECLARE_INFO;
106106 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
107107 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
108108 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
109109 {
110  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 110 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
111111 }
112112
113113private:

@@public:
132132
133133 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
134134 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
135  static const JSC::ClassInfo s_info;
 135 DECLARE_INFO;
136136 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
137137 {
138  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 138 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
139139 }
140140protected:
141141 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp

@@JSTestNamedConstructorConstructor::JSTes
5858void JSTestNamedConstructorConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
5959{
6060 Base::finishCreation(exec->vm());
61  ASSERT(inherits(&s_info));
 61 ASSERT(inherits(info()));
6262 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestNamedConstructorPrototype::self(exec, globalObject), DontDelete | ReadOnly);
6363 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
6464}

@@JSTestNamedConstructorNamedConstructor::
106106void JSTestNamedConstructorNamedConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
107107{
108108 Base::finishCreation(globalObject);
109  ASSERT(inherits(&s_info));
 109 ASSERT(inherits(info()));
110110 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestNamedConstructorPrototype::self(exec, globalObject), None);
111111 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
112112}

@@JSTestNamedConstructor::JSTestNamedConst
143143void JSTestNamedConstructor::finishCreation(VM& vm)
144144{
145145 Base::finishCreation(vm);
146  ASSERT(inherits(&s_info));
 146 ASSERT(inherits(info()));
147147}
148148
149149JSObject* JSTestNamedConstructor::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestNamedConstructor::~JSTestNamedCons
165165bool JSTestNamedConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
166166{
167167 JSTestNamedConstructor* thisObject = jsCast<JSTestNamedConstructor*>(object);
168  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 168 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
169169 return getStaticValueSlot<JSTestNamedConstructor, Base>(exec, &JSTestNamedConstructorTable, thisObject, propertyName, slot);
170170}
171171
172172bool JSTestNamedConstructor::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
173173{
174174 JSTestNamedConstructor* thisObject = jsCast<JSTestNamedConstructor*>(object);
175  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 175 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
176176 return getStaticValueDescriptor<JSTestNamedConstructor, Base>(exec, &JSTestNamedConstructorTable, thisObject, propertyName, descriptor);
177177}
178178

@@JSC::JSValue toJS(JSC::ExecState* exec,
257257
258258TestNamedConstructor* toTestNamedConstructor(JSC::JSValue value)
259259{
260  return value.inherits(&JSTestNamedConstructor::s_info) ? jsCast<JSTestNamedConstructor*>(asObject(value))->impl() : 0;
 260 return value.inherits(JSTestNamedConstructor::info()) ? jsCast<JSTestNamedConstructor*>(asObject(value))->impl() : 0;
261261}
262262
263263}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h

@@public:
4444 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
4545 static void destroy(JSC::JSCell*);
4646 ~JSTestNamedConstructor();
47  static const JSC::ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5050 {
51  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 51 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5252 }
5353
5454 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
103103 return ptr;
104104 }
105105
106  static const JSC::ClassInfo s_info;
 106 DECLARE_INFO;
107107 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
108108 {
109  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 109 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
110110 }
111111
112112private:

@@public:
131131
132132 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
133133 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
134  static const JSC::ClassInfo s_info;
 134 DECLARE_INFO;
135135 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
136136 {
137  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 137 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
138138 }
139139protected:
140140 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;

@@public:
153153
154154 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
155155 {
156  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 156 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
157157 }
158158
159  static const JSC::ClassInfo s_info;
 159 DECLARE_INFO;
160160
161161private:
162162 JSTestNamedConstructorNamedConstructor(JSC::Structure*, JSDOMGlobalObject*);
154013

Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp

@@JSTestNodeConstructor::JSTestNodeConstru
6565void JSTestNodeConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
6666{
6767 Base::finishCreation(exec->vm());
68  ASSERT(inherits(&s_info));
 68 ASSERT(inherits(info()));
6969 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestNodePrototype::self(exec, globalObject), DontDelete | ReadOnly);
7070 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
7171}

@@JSTestNode::JSTestNode(Structure* struct
111111void JSTestNode::finishCreation(VM& vm)
112112{
113113 Base::finishCreation(vm);
114  ASSERT(inherits(&s_info));
 114 ASSERT(inherits(info()));
115115}
116116
117117JSObject* JSTestNode::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSObject* JSTestNode::createPrototype(Ex
122122bool JSTestNode::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
123123{
124124 JSTestNode* thisObject = jsCast<JSTestNode*>(object);
125  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 125 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
126126 return getStaticValueSlot<JSTestNode, Base>(exec, &JSTestNodeTable, thisObject, propertyName, slot);
127127}
128128
129129bool JSTestNode::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
130130{
131131 JSTestNode* thisObject = jsCast<JSTestNode*>(object);
132  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 132 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
133133 return getStaticValueDescriptor<JSTestNode, Base>(exec, &JSTestNodeTable, thisObject, propertyName, descriptor);
134134}
135135

@@JSValue JSTestNode::getConstructor(ExecS
147147void JSTestNode::visitChildren(JSCell* cell, SlotVisitor& visitor)
148148{
149149 JSTestNode* thisObject = jsCast<JSTestNode*>(cell);
150  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 150 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
151151 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
152152 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
153153 Base::visitChildren(thisObject, visitor);
154013

Source/WebCore/bindings/scripts/test/JS/JSTestNode.h

@@public:
4141 static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
4242 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
4343 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
44  static const JSC::ClassInfo s_info;
 44 DECLARE_INFO;
4545
4646 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
4747 {
48  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 48 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
4949 }
5050
5151 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
6969 return ptr;
7070 }
7171
72  static const JSC::ClassInfo s_info;
 72 DECLARE_INFO;
7373 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
7474 {
75  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 75 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
7676 }
7777
7878private:

@@public:
9797
9898 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
9999 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
100  static const JSC::ClassInfo s_info;
 100 DECLARE_INFO;
101101 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
102102 {
103  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 103 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
104104 }
105105protected:
106106 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp

@@JSTestObjConstructor::JSTestObjConstruct
232232void JSTestObjConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
233233{
234234 Base::finishCreation(exec->vm());
235  ASSERT(inherits(&s_info));
 235 ASSERT(inherits(info()));
236236 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestObjPrototype::self(exec, globalObject), DontDelete | ReadOnly);
237237 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
238238}

@@JSTestObj::JSTestObj(Structure* structur
371371void JSTestObj::finishCreation(VM& vm)
372372{
373373 Base::finishCreation(vm);
374  ASSERT(inherits(&s_info));
 374 ASSERT(inherits(info()));
375375}
376376
377377JSObject* JSTestObj::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestObj::~JSTestObj()
393393bool JSTestObj::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
394394{
395395 JSTestObj* thisObject = jsCast<JSTestObj*>(object);
396  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 396 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
397397 return getStaticValueSlot<JSTestObj, Base>(exec, &JSTestObjTable, thisObject, propertyName, slot);
398398}
399399
400400bool JSTestObj::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
401401{
402402 JSTestObj* thisObject = jsCast<JSTestObj*>(object);
403  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 403 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
404404 return getStaticValueDescriptor<JSTestObj, Base>(exec, &JSTestObjTable, thisObject, propertyName, descriptor);
405405}
406406

@@JSValue jsTestObjConstructor(ExecState*
11061106void JSTestObj::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
11071107{
11081108 JSTestObj* thisObject = jsCast<JSTestObj*>(cell);
1109  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 1109 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
11101110 lookupPut<JSTestObj, Base>(exec, propertyName, value, &JSTestObjTable, thisObject, slot);
11111111}
11121112

@@JSValue JSTestObj::getConstructor(ExecSt
17481748EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethod(ExecState* exec)
17491749{
17501750 JSValue thisValue = exec->hostThisValue();
1751  if (!thisValue.inherits(&JSTestObj::s_info))
 1751 if (!thisValue.inherits(JSTestObj::info()))
17521752 return throwVMTypeError(exec);
17531753 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1754  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1754 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
17551755 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
17561756 impl->voidMethod();
17571757 return JSValue::encode(jsUndefined());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
17601760EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethodWithArgs(ExecState* exec)
17611761{
17621762 JSValue thisValue = exec->hostThisValue();
1763  if (!thisValue.inherits(&JSTestObj::s_info))
 1763 if (!thisValue.inherits(JSTestObj::info()))
17641764 return throwVMTypeError(exec);
17651765 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1766  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1766 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
17671767 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
17681768 if (exec->argumentCount() < 3)
17691769 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
17831783EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionByteMethod(ExecState* exec)
17841784{
17851785 JSValue thisValue = exec->hostThisValue();
1786  if (!thisValue.inherits(&JSTestObj::s_info))
 1786 if (!thisValue.inherits(JSTestObj::info()))
17871787 return throwVMTypeError(exec);
17881788 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1789  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1789 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
17901790 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
17911791
17921792 JSC::JSValue result = jsNumber(impl->byteMethod());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
17961796EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionByteMethodWithArgs(ExecState* exec)
17971797{
17981798 JSValue thisValue = exec->hostThisValue();
1799  if (!thisValue.inherits(&JSTestObj::s_info))
 1799 if (!thisValue.inherits(JSTestObj::info()))
18001800 return throwVMTypeError(exec);
18011801 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1802  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1802 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
18031803 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
18041804 if (exec->argumentCount() < 3)
18051805 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
18201820EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOctetMethod(ExecState* exec)
18211821{
18221822 JSValue thisValue = exec->hostThisValue();
1823  if (!thisValue.inherits(&JSTestObj::s_info))
 1823 if (!thisValue.inherits(JSTestObj::info()))
18241824 return throwVMTypeError(exec);
18251825 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1826  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1826 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
18271827 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
18281828
18291829 JSC::JSValue result = jsNumber(impl->octetMethod());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
18331833EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOctetMethodWithArgs(ExecState* exec)
18341834{
18351835 JSValue thisValue = exec->hostThisValue();
1836  if (!thisValue.inherits(&JSTestObj::s_info))
 1836 if (!thisValue.inherits(JSTestObj::info()))
18371837 return throwVMTypeError(exec);
18381838 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1839  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1839 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
18401840 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
18411841 if (exec->argumentCount() < 3)
18421842 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
18571857EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionLongMethod(ExecState* exec)
18581858{
18591859 JSValue thisValue = exec->hostThisValue();
1860  if (!thisValue.inherits(&JSTestObj::s_info))
 1860 if (!thisValue.inherits(JSTestObj::info()))
18611861 return throwVMTypeError(exec);
18621862 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1863  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1863 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
18641864 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
18651865
18661866 JSC::JSValue result = jsNumber(impl->longMethod());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
18701870EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionLongMethodWithArgs(ExecState* exec)
18711871{
18721872 JSValue thisValue = exec->hostThisValue();
1873  if (!thisValue.inherits(&JSTestObj::s_info))
 1873 if (!thisValue.inherits(JSTestObj::info()))
18741874 return throwVMTypeError(exec);
18751875 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1876  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1876 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
18771877 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
18781878 if (exec->argumentCount() < 3)
18791879 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
18941894EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethod(ExecState* exec)
18951895{
18961896 JSValue thisValue = exec->hostThisValue();
1897  if (!thisValue.inherits(&JSTestObj::s_info))
 1897 if (!thisValue.inherits(JSTestObj::info()))
18981898 return throwVMTypeError(exec);
18991899 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1900  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1900 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
19011901 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
19021902
19031903 JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl->objMethod()));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
19071907EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethodWithArgs(ExecState* exec)
19081908{
19091909 JSValue thisValue = exec->hostThisValue();
1910  if (!thisValue.inherits(&JSTestObj::s_info))
 1910 if (!thisValue.inherits(JSTestObj::info()))
19111911 return throwVMTypeError(exec);
19121912 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1913  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1913 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
19141914 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
19151915 if (exec->argumentCount() < 3)
19161916 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
19311931EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithSequenceArg(ExecState* exec)
19321932{
19331933 JSValue thisValue = exec->hostThisValue();
1934  if (!thisValue.inherits(&JSTestObj::s_info))
 1934 if (!thisValue.inherits(JSTestObj::info()))
19351935 return throwVMTypeError(exec);
19361936 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1937  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1937 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
19381938 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
19391939 if (exec->argumentCount() < 1)
19401940 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
19481948EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodReturningSequence(ExecState* exec)
19491949{
19501950 JSValue thisValue = exec->hostThisValue();
1951  if (!thisValue.inherits(&JSTestObj::s_info))
 1951 if (!thisValue.inherits(JSTestObj::info()))
19521952 return throwVMTypeError(exec);
19531953 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1954  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1954 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
19551955 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
19561956 if (exec->argumentCount() < 1)
19571957 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
19661966EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithEnumArg(ExecState* exec)
19671967{
19681968 JSValue thisValue = exec->hostThisValue();
1969  if (!thisValue.inherits(&JSTestObj::s_info))
 1969 if (!thisValue.inherits(JSTestObj::info()))
19701970 return throwVMTypeError(exec);
19711971 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1972  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1972 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
19731973 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
19741974 if (exec->argumentCount() < 1)
19751975 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
19851985EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows(ExecState* exec)
19861986{
19871987 JSValue thisValue = exec->hostThisValue();
1988  if (!thisValue.inherits(&JSTestObj::s_info))
 1988 if (!thisValue.inherits(JSTestObj::info()))
19891989 return throwVMTypeError(exec);
19901990 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
1991  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 1991 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
19921992 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
19931993 if (exec->argumentCount() < 2)
19941994 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
20082008EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionSerializedValue(ExecState* exec)
20092009{
20102010 JSValue thisValue = exec->hostThisValue();
2011  if (!thisValue.inherits(&JSTestObj::s_info))
 2011 if (!thisValue.inherits(JSTestObj::info()))
20122012 return throwVMTypeError(exec);
20132013 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2014  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2014 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
20152015 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
20162016 if (exec->argumentCount() < 1)
20172017 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
20252025EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOptionsObject(ExecState* exec)
20262026{
20272027 JSValue thisValue = exec->hostThisValue();
2028  if (!thisValue.inherits(&JSTestObj::s_info))
 2028 if (!thisValue.inherits(JSTestObj::info()))
20292029 return throwVMTypeError(exec);
20302030 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2031  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2031 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
20322032 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
20332033 if (exec->argumentCount() < 1)
20342034 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
20452045EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithException(ExecState* exec)
20462046{
20472047 JSValue thisValue = exec->hostThisValue();
2048  if (!thisValue.inherits(&JSTestObj::s_info))
 2048 if (!thisValue.inherits(JSTestObj::info()))
20492049 return throwVMTypeError(exec);
20502050 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2051  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2051 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
20522052 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
20532053 ExceptionCode ec = 0;
20542054 impl->methodWithException(ec);

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
20592059EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethod(ExecState* exec)
20602060{
20612061 JSValue thisValue = exec->hostThisValue();
2062  if (!thisValue.inherits(&JSTestObj::s_info))
 2062 if (!thisValue.inherits(JSTestObj::info()))
20632063 return throwVMTypeError(exec);
20642064 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2065  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2065 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
20662066 return JSValue::encode(castedThis->customMethod(exec));
20672067}
20682068
20692069EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethodWithArgs(ExecState* exec)
20702070{
20712071 JSValue thisValue = exec->hostThisValue();
2072  if (!thisValue.inherits(&JSTestObj::s_info))
 2072 if (!thisValue.inherits(JSTestObj::info()))
20732073 return throwVMTypeError(exec);
20742074 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2075  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2075 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
20762076 return JSValue::encode(castedThis->customMethodWithArgs(exec));
20772077}
20782078
20792079EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionAddEventListener(ExecState* exec)
20802080{
20812081 JSValue thisValue = exec->hostThisValue();
2082  if (!thisValue.inherits(&JSTestObj::s_info))
 2082 if (!thisValue.inherits(JSTestObj::info()))
20832083 return throwVMTypeError(exec);
20842084 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2085  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2085 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
20862086 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
20872087 JSValue listener = exec->argument(1);
20882088 if (!listener.isObject())

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
20942094EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionRemoveEventListener(ExecState* exec)
20952095{
20962096 JSValue thisValue = exec->hostThisValue();
2097  if (!thisValue.inherits(&JSTestObj::s_info))
 2097 if (!thisValue.inherits(JSTestObj::info()))
20982098 return throwVMTypeError(exec);
20992099 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2100  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2100 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
21012101 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
21022102 JSValue listener = exec->argument(1);
21032103 if (!listener.isObject())

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
21092109EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoid(ExecState* exec)
21102110{
21112111 JSValue thisValue = exec->hostThisValue();
2112  if (!thisValue.inherits(&JSTestObj::s_info))
 2112 if (!thisValue.inherits(JSTestObj::info()))
21132113 return throwVMTypeError(exec);
21142114 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2115  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2115 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
21162116 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
21172117 impl->withScriptStateVoid(exec);
21182118 return JSValue::encode(jsUndefined());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
21212121EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObj(ExecState* exec)
21222122{
21232123 JSValue thisValue = exec->hostThisValue();
2124  if (!thisValue.inherits(&JSTestObj::s_info))
 2124 if (!thisValue.inherits(JSTestObj::info()))
21252125 return throwVMTypeError(exec);
21262126 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2127  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2127 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
21282128 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
21292129
21302130 JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl->withScriptStateObj(exec)));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
21362136EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoidException(ExecState* exec)
21372137{
21382138 JSValue thisValue = exec->hostThisValue();
2139  if (!thisValue.inherits(&JSTestObj::s_info))
 2139 if (!thisValue.inherits(JSTestObj::info()))
21402140 return throwVMTypeError(exec);
21412141 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2142  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2142 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
21432143 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
21442144 ExceptionCode ec = 0;
21452145 impl->withScriptStateVoidException(exec, ec);

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
21502150EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObjException(ExecState* exec)
21512151{
21522152 JSValue thisValue = exec->hostThisValue();
2153  if (!thisValue.inherits(&JSTestObj::s_info))
 2153 if (!thisValue.inherits(JSTestObj::info()))
21542154 return throwVMTypeError(exec);
21552155 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2156  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2156 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
21572157 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
21582158 ExceptionCode ec = 0;
21592159

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
21672167EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptExecutionContext(ExecState* exec)
21682168{
21692169 JSValue thisValue = exec->hostThisValue();
2170  if (!thisValue.inherits(&JSTestObj::s_info))
 2170 if (!thisValue.inherits(JSTestObj::info()))
21712171 return throwVMTypeError(exec);
21722172 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2173  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2173 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
21742174 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
21752175 ScriptExecutionContext* scriptContext = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject())->scriptExecutionContext();
21762176 if (!scriptContext)

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
21822182EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState(ExecState* exec)
21832183{
21842184 JSValue thisValue = exec->hostThisValue();
2185  if (!thisValue.inherits(&JSTestObj::s_info))
 2185 if (!thisValue.inherits(JSTestObj::info()))
21862186 return throwVMTypeError(exec);
21872187 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2188  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2188 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
21892189 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
21902190 ScriptExecutionContext* scriptContext = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject())->scriptExecutionContext();
21912191 if (!scriptContext)

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
21972197EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException(ExecState* exec)
21982198{
21992199 JSValue thisValue = exec->hostThisValue();
2200  if (!thisValue.inherits(&JSTestObj::s_info))
 2200 if (!thisValue.inherits(JSTestObj::info()))
22012201 return throwVMTypeError(exec);
22022202 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2203  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2203 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
22042204 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
22052205 ExceptionCode ec = 0;
22062206 ScriptExecutionContext* scriptContext = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject())->scriptExecutionContext();

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
22172217EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces(ExecState* exec)
22182218{
22192219 JSValue thisValue = exec->hostThisValue();
2220  if (!thisValue.inherits(&JSTestObj::s_info))
 2220 if (!thisValue.inherits(JSTestObj::info()))
22212221 return throwVMTypeError(exec);
22222222 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2223  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2223 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
22242224 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
22252225 ScriptExecutionContext* scriptContext = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject())->scriptExecutionContext();
22262226 if (!scriptContext)

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
22352235EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack(ExecState* exec)
22362236{
22372237 JSValue thisValue = exec->hostThisValue();
2238  if (!thisValue.inherits(&JSTestObj::s_info))
 2238 if (!thisValue.inherits(JSTestObj::info()))
22392239 return throwVMTypeError(exec);
22402240 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2241  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2241 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
22422242 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
22432243 RefPtr<ScriptArguments> scriptArguments(createScriptArguments(exec, 0));
22442244 impl->withScriptArgumentsAndCallStack(scriptArguments.release());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
22482248EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArg(ExecState* exec)
22492249{
22502250 JSValue thisValue = exec->hostThisValue();
2251  if (!thisValue.inherits(&JSTestObj::s_info))
 2251 if (!thisValue.inherits(JSTestObj::info()))
22522252 return throwVMTypeError(exec);
22532253 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2254  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2254 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
22552255 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
22562256
22572257 size_t argsCount = exec->argumentCount();

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
22702270EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg(ExecState* exec)
22712271{
22722272 JSValue thisValue = exec->hostThisValue();
2273  if (!thisValue.inherits(&JSTestObj::s_info))
 2273 if (!thisValue.inherits(JSTestObj::info()))
22742274 return throwVMTypeError(exec);
22752275 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2276  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2276 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
22772277 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
22782278 if (exec->argumentCount() < 1)
22792279 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
22972297EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs(ExecState* exec)
22982298{
22992299 JSValue thisValue = exec->hostThisValue();
2300  if (!thisValue.inherits(&JSTestObj::s_info))
 2300 if (!thisValue.inherits(JSTestObj::info()))
23012301 return throwVMTypeError(exec);
23022302 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2303  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2303 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
23042304 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
23052305 if (exec->argumentCount() < 1)
23062306 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
23322332EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalString(ExecState* exec)
23332333{
23342334 JSValue thisValue = exec->hostThisValue();
2335  if (!thisValue.inherits(&JSTestObj::s_info))
 2335 if (!thisValue.inherits(JSTestObj::info()))
23362336 return throwVMTypeError(exec);
23372337 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2338  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2338 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
23392339 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
23402340
23412341 size_t argsCount = exec->argumentCount();

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
23542354EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined(ExecState* exec)
23552355{
23562356 JSValue thisValue = exec->hostThisValue();
2357  if (!thisValue.inherits(&JSTestObj::s_info))
 2357 if (!thisValue.inherits(JSTestObj::info()))
23582358 return throwVMTypeError(exec);
23592359 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2360  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2360 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
23612361 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
23622362 const String& str(exec->argument(0).isEmpty() ? String() : exec->argument(0).toString(exec)->value(exec));
23632363 if (exec->hadException())

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
23692369EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString(ExecState* exec)
23702370{
23712371 JSValue thisValue = exec->hostThisValue();
2372  if (!thisValue.inherits(&JSTestObj::s_info))
 2372 if (!thisValue.inherits(JSTestObj::info()))
23732373 return throwVMTypeError(exec);
23742374 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2375  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2375 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
23762376 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
23772377 const String& str(argumentOrNull(exec, 0).isEmpty() ? String() : argumentOrNull(exec, 0).toString(exec)->value(exec));
23782378 if (exec->hadException())

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
23842384EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithCallbackArg(ExecState* exec)
23852385{
23862386 JSValue thisValue = exec->hostThisValue();
2387  if (!thisValue.inherits(&JSTestObj::s_info))
 2387 if (!thisValue.inherits(JSTestObj::info()))
23882388 return throwVMTypeError(exec);
23892389 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2390  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2390 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
23912391 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
23922392 if (exec->argumentCount() < 1)
23932393 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
24012401EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg(ExecState* exec)
24022402{
24032403 JSValue thisValue = exec->hostThisValue();
2404  if (!thisValue.inherits(&JSTestObj::s_info))
 2404 if (!thisValue.inherits(JSTestObj::info()))
24052405 return throwVMTypeError(exec);
24062406 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2407  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2407 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
24082408 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
24092409 if (exec->argumentCount() < 2)
24102410 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
24212421EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg(ExecState* exec)
24222422{
24232423 JSValue thisValue = exec->hostThisValue();
2424  if (!thisValue.inherits(&JSTestObj::s_info))
 2424 if (!thisValue.inherits(JSTestObj::info()))
24252425 return throwVMTypeError(exec);
24262426 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2427  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2427 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
24282428 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
24292429 RefPtr<TestCallback> callback;
24302430 if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull()) {

@@EncodedJSValue JSC_HOST_CALL jsTestObjCo
24632463EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConditionalMethod1(ExecState* exec)
24642464{
24652465 JSValue thisValue = exec->hostThisValue();
2466  if (!thisValue.inherits(&JSTestObj::s_info))
 2466 if (!thisValue.inherits(JSTestObj::info()))
24672467 return throwVMTypeError(exec);
24682468 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2469  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2469 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
24702470 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
24712471
24722472 JSC::JSValue result = jsStringWithCache(exec, impl->conditionalMethod1());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
24792479EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConditionalMethod2(ExecState* exec)
24802480{
24812481 JSValue thisValue = exec->hostThisValue();
2482  if (!thisValue.inherits(&JSTestObj::s_info))
 2482 if (!thisValue.inherits(JSTestObj::info()))
24832483 return throwVMTypeError(exec);
24842484 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2485  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2485 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
24862486 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
24872487 impl->conditionalMethod2();
24882488 return JSValue::encode(jsUndefined());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
24942494EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConditionalMethod3(ExecState* exec)
24952495{
24962496 JSValue thisValue = exec->hostThisValue();
2497  if (!thisValue.inherits(&JSTestObj::s_info))
 2497 if (!thisValue.inherits(JSTestObj::info()))
24982498 return throwVMTypeError(exec);
24992499 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2500  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2500 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
25012501 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
25022502 impl->conditionalMethod3();
25032503 return JSValue::encode(jsUndefined());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
25082508static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod1(ExecState* exec)
25092509{
25102510 JSValue thisValue = exec->hostThisValue();
2511  if (!thisValue.inherits(&JSTestObj::s_info))
 2511 if (!thisValue.inherits(JSTestObj::info()))
25122512 return throwVMTypeError(exec);
25132513 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2514  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2514 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
25152515 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
25162516 if (exec->argumentCount() < 2)
25172517 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
25282528static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod2(ExecState* exec)
25292529{
25302530 JSValue thisValue = exec->hostThisValue();
2531  if (!thisValue.inherits(&JSTestObj::s_info))
 2531 if (!thisValue.inherits(JSTestObj::info()))
25322532 return throwVMTypeError(exec);
25332533 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2534  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2534 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
25352535 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
25362536 if (exec->argumentCount() < 1)
25372537 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
25552555static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod3(ExecState* exec)
25562556{
25572557 JSValue thisValue = exec->hostThisValue();
2558  if (!thisValue.inherits(&JSTestObj::s_info))
 2558 if (!thisValue.inherits(JSTestObj::info()))
25592559 return throwVMTypeError(exec);
25602560 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2561  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2561 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
25622562 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
25632563 if (exec->argumentCount() < 1)
25642564 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
25722572static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod4(ExecState* exec)
25732573{
25742574 JSValue thisValue = exec->hostThisValue();
2575  if (!thisValue.inherits(&JSTestObj::s_info))
 2575 if (!thisValue.inherits(JSTestObj::info()))
25762576 return throwVMTypeError(exec);
25772577 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2578  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2578 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
25792579 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
25802580 if (exec->argumentCount() < 1)
25812581 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
25892589static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod5(ExecState* exec)
25902590{
25912591 JSValue thisValue = exec->hostThisValue();
2592  if (!thisValue.inherits(&JSTestObj::s_info))
 2592 if (!thisValue.inherits(JSTestObj::info()))
25932593 return throwVMTypeError(exec);
25942594 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2595  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2595 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
25962596 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
25972597 if (exec->argumentCount() < 1)
25982598 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
26062606static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod6(ExecState* exec)
26072607{
26082608 JSValue thisValue = exec->hostThisValue();
2609  if (!thisValue.inherits(&JSTestObj::s_info))
 2609 if (!thisValue.inherits(JSTestObj::info()))
26102610 return throwVMTypeError(exec);
26112611 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2612  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2612 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
26132613 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
26142614 if (exec->argumentCount() < 1)
26152615 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
26232623static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod7(ExecState* exec)
26242624{
26252625 JSValue thisValue = exec->hostThisValue();
2626  if (!thisValue.inherits(&JSTestObj::s_info))
 2626 if (!thisValue.inherits(JSTestObj::info()))
26272627 return throwVMTypeError(exec);
26282628 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2629  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2629 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
26302630 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
26312631 if (exec->argumentCount() < 1)
26322632 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
26402640static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod8(ExecState* exec)
26412641{
26422642 JSValue thisValue = exec->hostThisValue();
2643  if (!thisValue.inherits(&JSTestObj::s_info))
 2643 if (!thisValue.inherits(JSTestObj::info()))
26442644 return throwVMTypeError(exec);
26452645 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2646  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2646 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
26472647 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
26482648 if (exec->argumentCount() < 1)
26492649 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
26572657static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod9(ExecState* exec)
26582658{
26592659 JSValue thisValue = exec->hostThisValue();
2660  if (!thisValue.inherits(&JSTestObj::s_info))
 2660 if (!thisValue.inherits(JSTestObj::info()))
26612661 return throwVMTypeError(exec);
26622662 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2663  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2663 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
26642664 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
26652665 if (exec->argumentCount() < 1)
26662666 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
26742674static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod10(ExecState* exec)
26752675{
26762676 JSValue thisValue = exec->hostThisValue();
2677  if (!thisValue.inherits(&JSTestObj::s_info))
 2677 if (!thisValue.inherits(JSTestObj::info()))
26782678 return throwVMTypeError(exec);
26792679 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2680  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2680 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
26812681 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
26822682 if (exec->argumentCount() < 1)
26832683 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@static EncodedJSValue JSC_HOST_CALL jsTe
26912691static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod11(ExecState* exec)
26922692{
26932693 JSValue thisValue = exec->hostThisValue();
2694  if (!thisValue.inherits(&JSTestObj::s_info))
 2694 if (!thisValue.inherits(JSTestObj::info()))
26952695 return throwVMTypeError(exec);
26962696 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2697  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2697 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
26982698 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
26992699 if (exec->argumentCount() < 1)
27002700 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
27102710 size_t argsCount = exec->argumentCount();
27112711 JSValue arg1(exec->argument(1));
27122712 JSValue arg0(exec->argument(0));
2713  if ((argsCount == 2 && (arg0.isNull() || (arg0.isObject() && asObject(arg0)->inherits(&JSTestObj::s_info))) && (arg1.isUndefinedOrNull() || arg1.isString() || arg1.isObject())))
 2713 if ((argsCount == 2 && (arg0.isNull() || (arg0.isObject() && asObject(arg0)->inherits(JSTestObj::info()))) && (arg1.isUndefinedOrNull() || arg1.isString() || arg1.isObject())))
27142714 return jsTestObjPrototypeFunctionOverloadedMethod1(exec);
2715  if ((argsCount == 1 && (arg0.isNull() || (arg0.isObject() && asObject(arg0)->inherits(&JSTestObj::s_info)))) || (argsCount == 2 && (arg0.isNull() || (arg0.isObject() && asObject(arg0)->inherits(&JSTestObj::s_info)))))
 2715 if ((argsCount == 1 && (arg0.isNull() || (arg0.isObject() && asObject(arg0)->inherits(JSTestObj::info())))) || (argsCount == 2 && (arg0.isNull() || (arg0.isObject() && asObject(arg0)->inherits(JSTestObj::info())))))
27162716 return jsTestObjPrototypeFunctionOverloadedMethod2(exec);
27172717 if ((argsCount == 1 && (arg0.isUndefinedOrNull() || arg0.isString() || arg0.isObject())))
27182718 return jsTestObjPrototypeFunctionOverloadedMethod3(exec);

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
27202720 return jsTestObjPrototypeFunctionOverloadedMethod4(exec);
27212721 if ((argsCount == 1 && (arg0.isNull() || arg0.isFunction())))
27222722 return jsTestObjPrototypeFunctionOverloadedMethod5(exec);
2723  if ((argsCount == 1 && (arg0.isNull() || (arg0.isObject() && asObject(arg0)->inherits(&JSDOMStringList::s_info)))))
 2723 if ((argsCount == 1 && (arg0.isNull() || (arg0.isObject() && asObject(arg0)->inherits(JSDOMStringList::info())))))
27242724 return jsTestObjPrototypeFunctionOverloadedMethod6(exec);
27252725 if ((argsCount == 1 && (arg0.isNull() || (arg0.isObject() && isJSArray(arg0)))))
27262726 return jsTestObjPrototypeFunctionOverloadedMethod7(exec);
2727  if ((argsCount == 1 && (arg0.isObject() && asObject(arg0)->inherits(&JSTestObj::s_info))))
 2727 if ((argsCount == 1 && (arg0.isObject() && asObject(arg0)->inherits(JSTestObj::info()))))
27282728 return jsTestObjPrototypeFunctionOverloadedMethod8(exec);
27292729 if ((argsCount == 1 && (arg0.isObject() && isJSArray(arg0))))
27302730 return jsTestObjPrototypeFunctionOverloadedMethod9(exec);

@@EncodedJSValue JSC_HOST_CALL jsTestObjCo
28122812EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionClassMethodWithClamp(ExecState* exec)
28132813{
28142814 JSValue thisValue = exec->hostThisValue();
2815  if (!thisValue.inherits(&JSTestObj::s_info))
 2815 if (!thisValue.inherits(JSTestObj::info()))
28162816 return throwVMTypeError(exec);
28172817 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2818  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2818 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
28192819 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
28202820 if (exec->argumentCount() < 2)
28212821 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
28422842EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence(ExecState* exec)
28432843{
28442844 JSValue thisValue = exec->hostThisValue();
2845  if (!thisValue.inherits(&JSTestObj::s_info))
 2845 if (!thisValue.inherits(JSTestObj::info()))
28462846 return throwVMTypeError(exec);
28472847 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2848  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2848 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
28492849 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
28502850 if (exec->argumentCount() < 1)
28512851 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
28592859EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionStringArrayFunction(ExecState* exec)
28602860{
28612861 JSValue thisValue = exec->hostThisValue();
2862  if (!thisValue.inherits(&JSTestObj::s_info))
 2862 if (!thisValue.inherits(JSTestObj::info()))
28632863 return throwVMTypeError(exec);
28642864 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2865  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2865 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
28662866 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
28672867 if (exec->argumentCount() < 1)
28682868 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
28792879EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionDomStringListFunction(ExecState* exec)
28802880{
28812881 JSValue thisValue = exec->hostThisValue();
2882  if (!thisValue.inherits(&JSTestObj::s_info))
 2882 if (!thisValue.inherits(JSTestObj::info()))
28832883 return throwVMTypeError(exec);
28842884 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2885  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2885 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
28862886 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
28872887 if (exec->argumentCount() < 1)
28882888 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
28992899EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionGetSVGDocument(ExecState* exec)
29002900{
29012901 JSValue thisValue = exec->hostThisValue();
2902  if (!thisValue.inherits(&JSTestObj::s_info))
 2902 if (!thisValue.inherits(JSTestObj::info()))
29032903 return throwVMTypeError(exec);
29042904 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2905  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2905 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
29062906 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
29072907 ExceptionCode ec = 0;
29082908 if (!shouldAllowAccessToNode(exec, impl->getSVGDocument(ec)))

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
29162916EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConvert1(ExecState* exec)
29172917{
29182918 JSValue thisValue = exec->hostThisValue();
2919  if (!thisValue.inherits(&JSTestObj::s_info))
 2919 if (!thisValue.inherits(JSTestObj::info()))
29202920 return throwVMTypeError(exec);
29212921 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2922  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2922 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
29232923 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
29242924 if (exec->argumentCount() < 1)
29252925 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
29332933EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConvert2(ExecState* exec)
29342934{
29352935 JSValue thisValue = exec->hostThisValue();
2936  if (!thisValue.inherits(&JSTestObj::s_info))
 2936 if (!thisValue.inherits(JSTestObj::info()))
29372937 return throwVMTypeError(exec);
29382938 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2939  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2939 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
29402940 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
29412941 if (exec->argumentCount() < 1)
29422942 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
29502950EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConvert4(ExecState* exec)
29512951{
29522952 JSValue thisValue = exec->hostThisValue();
2953  if (!thisValue.inherits(&JSTestObj::s_info))
 2953 if (!thisValue.inherits(JSTestObj::info()))
29542954 return throwVMTypeError(exec);
29552955 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2956  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2956 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
29572957 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
29582958 if (exec->argumentCount() < 1)
29592959 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
29672967EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConvert5(ExecState* exec)
29682968{
29692969 JSValue thisValue = exec->hostThisValue();
2970  if (!thisValue.inherits(&JSTestObj::s_info))
 2970 if (!thisValue.inherits(JSTestObj::info()))
29712971 return throwVMTypeError(exec);
29722972 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2973  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2973 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
29742974 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
29752975 if (exec->argumentCount() < 1)
29762976 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
29842984EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMutablePointFunction(ExecState* exec)
29852985{
29862986 JSValue thisValue = exec->hostThisValue();
2987  if (!thisValue.inherits(&JSTestObj::s_info))
 2987 if (!thisValue.inherits(JSTestObj::info()))
29882988 return throwVMTypeError(exec);
29892989 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
2990  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 2990 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
29912991 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
29922992
29932993 JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(SVGPropertyTearOff<SVGPoint>::create(impl->mutablePointFunction())));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
29972997EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionImmutablePointFunction(ExecState* exec)
29982998{
29992999 JSValue thisValue = exec->hostThisValue();
3000  if (!thisValue.inherits(&JSTestObj::s_info))
 3000 if (!thisValue.inherits(JSTestObj::info()))
30013001 return throwVMTypeError(exec);
30023002 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
3003  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 3003 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
30043004 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
30053005
30063006 JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(SVGPropertyTearOff<SVGPoint>::create(impl->immutablePointFunction())));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
30103010EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOrange(ExecState* exec)
30113011{
30123012 JSValue thisValue = exec->hostThisValue();
3013  if (!thisValue.inherits(&JSTestObj::s_info))
 3013 if (!thisValue.inherits(JSTestObj::info()))
30143014 return throwVMTypeError(exec);
30153015 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
3016  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 3016 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
30173017 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
30183018 impl->banana();
30193019 return JSValue::encode(jsUndefined());

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
30223022EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionStrictFunction(ExecState* exec)
30233023{
30243024 JSValue thisValue = exec->hostThisValue();
3025  if (!thisValue.inherits(&JSTestObj::s_info))
 3025 if (!thisValue.inherits(JSTestObj::info()))
30263026 return throwVMTypeError(exec);
30273027 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
3028  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 3028 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
30293029 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
30303030 if (exec->argumentCount() < 3)
30313031 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
30483048EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVariadicStringMethod(ExecState* exec)
30493049{
30503050 JSValue thisValue = exec->hostThisValue();
3051  if (!thisValue.inherits(&JSTestObj::s_info))
 3051 if (!thisValue.inherits(JSTestObj::info()))
30523052 return throwVMTypeError(exec);
30533053 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
3054  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 3054 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
30553055 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
30563056 if (exec->argumentCount() < 1)
30573057 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
30683068EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVariadicDoubleMethod(ExecState* exec)
30693069{
30703070 JSValue thisValue = exec->hostThisValue();
3071  if (!thisValue.inherits(&JSTestObj::s_info))
 3071 if (!thisValue.inherits(JSTestObj::info()))
30723072 return throwVMTypeError(exec);
30733073 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
3074  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 3074 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
30753075 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
30763076 if (exec->argumentCount() < 1)
30773077 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
30883088EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVariadicNodeMethod(ExecState* exec)
30893089{
30903090 JSValue thisValue = exec->hostThisValue();
3091  if (!thisValue.inherits(&JSTestObj::s_info))
 3091 if (!thisValue.inherits(JSTestObj::info()))
30923092 return throwVMTypeError(exec);
30933093 JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
3094  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
 3094 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
30953095 TestObj* impl = static_cast<TestObj*>(castedThis->impl());
30963096 if (exec->argumentCount() < 1)
30973097 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
31003100 return JSValue::encode(jsUndefined());
31013101 Vector<Node*> tail;
31023102 for (unsigned i = 1; i < exec->argumentCount(); ++i) {
3103  if (!exec->argument(i).inherits(&JSNode::s_info))
 3103 if (!exec->argument(i).inherits(JSNode::info()))
31043104 return throwVMTypeError(exec);
31053105 tail.append(toNode(exec->argument(i)));
31063106 }

@@EncodedJSValue JSC_HOST_CALL jsTestObjPr
31113111void JSTestObj::visitChildren(JSCell* cell, SlotVisitor& visitor)
31123112{
31133113 JSTestObj* thisObject = jsCast<JSTestObj*>(cell);
3114  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 3114 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
31153115 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
31163116 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
31173117 Base::visitChildren(thisObject, visitor);

@@JSC::JSValue toJS(JSC::ExecState* exec,
32633263
32643264TestObj* toTestObj(JSC::JSValue value)
32653265{
3266  return value.inherits(&JSTestObj::s_info) ? jsCast<JSTestObj*>(asObject(value))->impl() : 0;
 3266 return value.inherits(JSTestObj::info()) ? jsCast<JSTestObj*>(asObject(value))->impl() : 0;
32673267}
32683268
32693269}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestObj.h

@@public:
4545 static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&);
4646 static void destroy(JSC::JSCell*);
4747 ~JSTestObj();
48  static const JSC::ClassInfo s_info;
 48 DECLARE_INFO;
4949
5050 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5151 {
52  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 52 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5353 }
5454
5555 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
116116 return ptr;
117117 }
118118
119  static const JSC::ClassInfo s_info;
 119 DECLARE_INFO;
120120 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
121121 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
122122 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
123123 {
124  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 124 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
125125 }
126126
127127private:

@@public:
146146
147147 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
148148 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
149  static const JSC::ClassInfo s_info;
 149 DECLARE_INFO;
150150 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
151151 {
152  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 152 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
153153 }
154154protected:
155155 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp

@@EncodedJSValue JSC_HOST_CALL JSTestOverl
103103{
104104 size_t argsCount = exec->argumentCount();
105105 JSValue arg0(exec->argument(0));
106  if ((argsCount == 1 && (arg0.isObject() && asObject(arg0)->inherits(&JSArrayBuffer::s_info))))
 106 if ((argsCount == 1 && (arg0.isObject() && asObject(arg0)->inherits(JSArrayBuffer::info()))))
107107 return JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1(exec);
108  if ((argsCount == 1 && (arg0.isObject() && asObject(arg0)->inherits(&JSArrayBufferView::s_info))))
 108 if ((argsCount == 1 && (arg0.isObject() && asObject(arg0)->inherits(JSArrayBufferView::info()))))
109109 return JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2(exec);
110  if ((argsCount == 1 && (arg0.isObject() && asObject(arg0)->inherits(&JSBlob::s_info))))
 110 if ((argsCount == 1 && (arg0.isObject() && asObject(arg0)->inherits(JSBlob::info()))))
111111 return JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3(exec);
112112 if (argsCount == 1)
113113 return JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4(exec);

@@JSTestOverloadedConstructorsConstructor:
126126void JSTestOverloadedConstructorsConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
127127{
128128 Base::finishCreation(exec->vm());
129  ASSERT(inherits(&s_info));
 129 ASSERT(inherits(info()));
130130 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestOverloadedConstructorsPrototype::self(exec, globalObject), DontDelete | ReadOnly);
131131 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
132132}

@@JSTestOverloadedConstructors::JSTestOver
173173void JSTestOverloadedConstructors::finishCreation(VM& vm)
174174{
175175 Base::finishCreation(vm);
176  ASSERT(inherits(&s_info));
 176 ASSERT(inherits(info()));
177177}
178178
179179JSObject* JSTestOverloadedConstructors::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestOverloadedConstructors::~JSTestOve
195195bool JSTestOverloadedConstructors::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
196196{
197197 JSTestOverloadedConstructors* thisObject = jsCast<JSTestOverloadedConstructors*>(object);
198  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 198 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
199199 return getStaticValueSlot<JSTestOverloadedConstructors, Base>(exec, &JSTestOverloadedConstructorsTable, thisObject, propertyName, slot);
200200}
201201
202202bool JSTestOverloadedConstructors::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
203203{
204204 JSTestOverloadedConstructors* thisObject = jsCast<JSTestOverloadedConstructors*>(object);
205  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 205 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
206206 return getStaticValueDescriptor<JSTestOverloadedConstructors, Base>(exec, &JSTestOverloadedConstructorsTable, thisObject, propertyName, descriptor);
207207}
208208

@@JSC::JSValue toJS(JSC::ExecState* exec,
280280
281281TestOverloadedConstructors* toTestOverloadedConstructors(JSC::JSValue value)
282282{
283  return value.inherits(&JSTestOverloadedConstructors::s_info) ? jsCast<JSTestOverloadedConstructors*>(asObject(value))->impl() : 0;
 283 return value.inherits(JSTestOverloadedConstructors::info()) ? jsCast<JSTestOverloadedConstructors*>(asObject(value))->impl() : 0;
284284}
285285
286286}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h

@@public:
4444 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
4545 static void destroy(JSC::JSCell*);
4646 ~JSTestOverloadedConstructors();
47  static const JSC::ClassInfo s_info;
 47 DECLARE_INFO;
4848
4949 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5050 {
51  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 51 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5252 }
5353
5454 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
102102 return ptr;
103103 }
104104
105  static const JSC::ClassInfo s_info;
 105 DECLARE_INFO;
106106 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
107107 {
108  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 108 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
109109 }
110110
111111private:

@@public:
130130
131131 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
132132 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
133  static const JSC::ClassInfo s_info;
 133 DECLARE_INFO;
134134 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
135135 {
136  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 136 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
137137 }
138138protected:
139139 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp

@@JSTestSerializedScriptValueInterfaceCons
6767void JSTestSerializedScriptValueInterfaceConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
6868{
6969 Base::finishCreation(exec->vm());
70  ASSERT(inherits(&s_info));
 70 ASSERT(inherits(info()));
7171 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestSerializedScriptValueInterfacePrototype::self(exec, globalObject), DontDelete | ReadOnly);
7272 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
7373}

@@JSTestSerializedScriptValueInterface::JS
108108void JSTestSerializedScriptValueInterface::finishCreation(VM& vm)
109109{
110110 Base::finishCreation(vm);
111  ASSERT(inherits(&s_info));
 111 ASSERT(inherits(info()));
112112}
113113
114114JSObject* JSTestSerializedScriptValueInterface::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestSerializedScriptValueInterface::~J
130130bool JSTestSerializedScriptValueInterface::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
131131{
132132 JSTestSerializedScriptValueInterface* thisObject = jsCast<JSTestSerializedScriptValueInterface*>(object);
133  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 133 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
134134 return getStaticValueSlot<JSTestSerializedScriptValueInterface, Base>(exec, &JSTestSerializedScriptValueInterfaceTable, thisObject, propertyName, slot);
135135}
136136
137137bool JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
138138{
139139 JSTestSerializedScriptValueInterface* thisObject = jsCast<JSTestSerializedScriptValueInterface*>(object);
140  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 140 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
141141 return getStaticValueDescriptor<JSTestSerializedScriptValueInterface, Base>(exec, &JSTestSerializedScriptValueInterfaceTable, thisObject, propertyName, descriptor);
142142}
143143

@@JSValue jsTestSerializedScriptValueInter
206206void JSTestSerializedScriptValueInterface::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
207207{
208208 JSTestSerializedScriptValueInterface* thisObject = jsCast<JSTestSerializedScriptValueInterface*>(cell);
209  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 209 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
210210 lookupPut<JSTestSerializedScriptValueInterface, Base>(exec, propertyName, value, &JSTestSerializedScriptValueInterfaceTable, thisObject, slot);
211211}
212212

@@JSValue JSTestSerializedScriptValueInter
242242void JSTestSerializedScriptValueInterface::visitChildren(JSCell* cell, SlotVisitor& visitor)
243243{
244244 JSTestSerializedScriptValueInterface* thisObject = jsCast<JSTestSerializedScriptValueInterface*>(cell);
245  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 245 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
246246 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
247247 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
248248 Base::visitChildren(thisObject, visitor);

@@JSC::JSValue toJS(JSC::ExecState* exec,
313313
314314TestSerializedScriptValueInterface* toTestSerializedScriptValueInterface(JSC::JSValue value)
315315{
316  return value.inherits(&JSTestSerializedScriptValueInterface::s_info) ? jsCast<JSTestSerializedScriptValueInterface*>(asObject(value))->impl() : 0;
 316 return value.inherits(JSTestSerializedScriptValueInterface::info()) ? jsCast<JSTestSerializedScriptValueInterface*>(asObject(value))->impl() : 0;
317317}
318318
319319}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h

@@public:
4747 static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&);
4848 static void destroy(JSC::JSCell*);
4949 ~JSTestSerializedScriptValueInterface();
50  static const JSC::ClassInfo s_info;
 50 DECLARE_INFO;
5151
5252 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5353 {
54  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 54 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5555 }
5656
5757 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
109109 return ptr;
110110 }
111111
112  static const JSC::ClassInfo s_info;
 112 DECLARE_INFO;
113113 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
114114 {
115  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 115 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
116116 }
117117
118118private:

@@public:
137137
138138 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
139139 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
140  static const JSC::ClassInfo s_info;
 140 DECLARE_INFO;
141141 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
142142 {
143  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 143 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
144144 }
145145protected:
146146 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp

@@JSTestTypedefsConstructor::JSTestTypedef
9191void JSTestTypedefsConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
9292{
9393 Base::finishCreation(exec->vm());
94  ASSERT(inherits(&s_info));
 94 ASSERT(inherits(info()));
9595 putDirect(exec->vm(), exec->propertyNames().prototype, JSTestTypedefsPrototype::self(exec, globalObject), DontDelete | ReadOnly);
9696 putDirect(exec->vm(), exec->propertyNames().length, jsNumber(2), ReadOnly | DontDelete | DontEnum);
9797}

@@JSTestTypedefs::JSTestTypedefs(Structure
159159void JSTestTypedefs::finishCreation(VM& vm)
160160{
161161 Base::finishCreation(vm);
162  ASSERT(inherits(&s_info));
 162 ASSERT(inherits(info()));
163163}
164164
165165JSObject* JSTestTypedefs::createPrototype(ExecState* exec, JSGlobalObject* globalObject)

@@JSTestTypedefs::~JSTestTypedefs()
181181bool JSTestTypedefs::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
182182{
183183 JSTestTypedefs* thisObject = jsCast<JSTestTypedefs*>(object);
184  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 184 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
185185 return getStaticValueSlot<JSTestTypedefs, Base>(exec, &JSTestTypedefsTable, thisObject, propertyName, slot);
186186}
187187
188188bool JSTestTypedefs::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
189189{
190190 JSTestTypedefs* thisObject = jsCast<JSTestTypedefs*>(object);
191  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 191 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
192192 return getStaticValueDescriptor<JSTestTypedefs, Base>(exec, &JSTestTypedefsTable, thisObject, propertyName, descriptor);
193193}
194194

@@JSValue jsTestTypedefsConstructor(ExecSt
270270void JSTestTypedefs::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
271271{
272272 JSTestTypedefs* thisObject = jsCast<JSTestTypedefs*>(cell);
273  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 273 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
274274 lookupPut<JSTestTypedefs, Base>(exec, propertyName, value, &JSTestTypedefsTable, thisObject, slot);
275275}
276276

@@JSValue JSTestTypedefs::getConstructor(E
358358EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionFunc(ExecState* exec)
359359{
360360 JSValue thisValue = exec->hostThisValue();
361  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 361 if (!thisValue.inherits(JSTestTypedefs::info()))
362362 return throwVMTypeError(exec);
363363 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
364  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 364 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
365365 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
366366
367367 size_t argsCount = exec->argumentCount();

@@EncodedJSValue JSC_HOST_CALL jsTestTyped
382382EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionSetShadow(ExecState* exec)
383383{
384384 JSValue thisValue = exec->hostThisValue();
385  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 385 if (!thisValue.inherits(JSTestTypedefs::info()))
386386 return throwVMTypeError(exec);
387387 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
388  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 388 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
389389 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
390390 if (exec->argumentCount() < 3)
391391 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestTyped
423423EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionMethodWithSequenceArg(ExecState* exec)
424424{
425425 JSValue thisValue = exec->hostThisValue();
426  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 426 if (!thisValue.inherits(JSTestTypedefs::info()))
427427 return throwVMTypeError(exec);
428428 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
429  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 429 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
430430 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
431431 if (exec->argumentCount() < 1)
432432 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestTyped
441441EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableArrayArg(ExecState* exec)
442442{
443443 JSValue thisValue = exec->hostThisValue();
444  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 444 if (!thisValue.inherits(JSTestTypedefs::info()))
445445 return throwVMTypeError(exec);
446446 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
447  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 447 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
448448 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
449449 if (exec->argumentCount() < 1)
450450 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestTyped
458458EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionFuncWithClamp(ExecState* exec)
459459{
460460 JSValue thisValue = exec->hostThisValue();
461  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 461 if (!thisValue.inherits(JSTestTypedefs::info()))
462462 return throwVMTypeError(exec);
463463 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
464  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 464 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
465465 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
466466 if (exec->argumentCount() < 1)
467467 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestTyped
495495EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionImmutablePointFunction(ExecState* exec)
496496{
497497 JSValue thisValue = exec->hostThisValue();
498  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 498 if (!thisValue.inherits(JSTestTypedefs::info()))
499499 return throwVMTypeError(exec);
500500 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
501  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 501 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
502502 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
503503
504504 JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(SVGPropertyTearOff<SVGPoint>::create(impl->immutablePointFunction())));

@@EncodedJSValue JSC_HOST_CALL jsTestTyped
508508EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction(ExecState* exec)
509509{
510510 JSValue thisValue = exec->hostThisValue();
511  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 511 if (!thisValue.inherits(JSTestTypedefs::info()))
512512 return throwVMTypeError(exec);
513513 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
514  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 514 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
515515 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
516516 if (exec->argumentCount() < 1)
517517 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestTyped
528528EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction2(ExecState* exec)
529529{
530530 JSValue thisValue = exec->hostThisValue();
531  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 531 if (!thisValue.inherits(JSTestTypedefs::info()))
532532 return throwVMTypeError(exec);
533533 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
534  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 534 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
535535 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
536536 if (exec->argumentCount() < 1)
537537 return throwVMError(exec, createNotEnoughArgumentsError(exec));

@@EncodedJSValue JSC_HOST_CALL jsTestTyped
548548EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionMethodWithException(ExecState* exec)
549549{
550550 JSValue thisValue = exec->hostThisValue();
551  if (!thisValue.inherits(&JSTestTypedefs::s_info))
 551 if (!thisValue.inherits(JSTestTypedefs::info()))
552552 return throwVMTypeError(exec);
553553 JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(asObject(thisValue));
554  ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestTypedefs::s_info);
 554 ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
555555 TestTypedefs* impl = static_cast<TestTypedefs*>(castedThis->impl());
556556 ExceptionCode ec = 0;
557557 impl->methodWithException(ec);

@@JSC::JSValue toJS(JSC::ExecState* exec,
622622
623623TestTypedefs* toTestTypedefs(JSC::JSValue value)
624624{
625  return value.inherits(&JSTestTypedefs::s_info) ? jsCast<JSTestTypedefs*>(asObject(value))->impl() : 0;
 625 return value.inherits(JSTestTypedefs::info()) ? jsCast<JSTestTypedefs*>(asObject(value))->impl() : 0;
626626}
627627
628628}
154013

Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h

@@public:
4545 static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&);
4646 static void destroy(JSC::JSCell*);
4747 ~JSTestTypedefs();
48  static const JSC::ClassInfo s_info;
 48 DECLARE_INFO;
4949
5050 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5151 {
52  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 52 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5353 }
5454
5555 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);

@@public:
103103 return ptr;
104104 }
105105
106  static const JSC::ClassInfo s_info;
 106 DECLARE_INFO;
107107 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
108108 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
109109 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
110110 {
111  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 111 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
112112 }
113113
114114private:

@@public:
133133
134134 static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
135135 static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
136  static const JSC::ClassInfo s_info;
 136 DECLARE_INFO;
137137 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
138138 {
139  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 139 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
140140 }
141141protected:
142142 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::ImplementsHasInstance | DOMConstructorObject::StructureFlags;
154013

Source/WebCore/bridge/runtime_array.cpp

@@RuntimeArray::RuntimeArray(ExecState* ex
4646void RuntimeArray::finishCreation(VM& vm, Bindings::Array* array)
4747{
4848 Base::finishCreation(vm);
49  ASSERT(inherits(&s_info));
 49 ASSERT(inherits(info()));
5050 m_array = array;
5151}
5252
154013

Source/WebCore/bridge/runtime_array.h

@@public:
6666
6767 Bindings::Array* getConcreteArray() const { return m_array; }
6868
69  static const ClassInfo s_info;
 69 DECLARE_INFO;
7070
7171 static ArrayPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject)
7272 {

@@public:
7575
7676 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
7777 {
78  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info, ArrayClass);
 78 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info(), ArrayClass);
7979 }
8080
8181protected:
154013

Source/WebCore/bridge/runtime_method.cpp

@@RuntimeMethod::RuntimeMethod(JSGlobalObj
5151void RuntimeMethod::finishCreation(VM& vm, const String& ident)
5252{
5353 Base::finishCreation(vm, ident);
54  ASSERT(inherits(&s_info));
 54 ASSERT(inherits(info()));
5555}
5656
5757JSValue RuntimeMethod::lengthGetter(ExecState*, JSValue slotBase, PropertyName)

@@static EncodedJSValue JSC_HOST_CALL call
9595 RefPtr<Instance> instance;
9696
9797 JSValue thisValue = exec->hostThisValue();
98  if (thisValue.inherits(&RuntimeObject::s_info)) {
 98 if (thisValue.inherits(RuntimeObject::info())) {
9999 RuntimeObject* runtimeObject = static_cast<RuntimeObject*>(asObject(thisValue));
100100 instance = runtimeObject->getInternalInstance();
101101 if (!instance)
102102 return JSValue::encode(RuntimeObject::throwInvalidAccessError(exec));
103103 } else {
104104 // Calling a runtime object of a plugin element?
105  if (thisValue.inherits(&JSHTMLElement::s_info)) {
 105 if (thisValue.inherits(JSHTMLElement::info())) {
106106 HTMLElement* element = jsCast<JSHTMLElement*>(asObject(thisValue))->impl();
107107 instance = pluginInstance(element);
108108 }
154013

Source/WebCore/bridge/runtime_method.h

@@public:
4646
4747 Bindings::Method* method() const { return m_method; }
4848
49  static const ClassInfo s_info;
 49 DECLARE_INFO;
5050
5151 static FunctionPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject)
5252 {

@@public:
5555
5656 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5757 {
58  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 58 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5959 }
6060
6161protected:
154013

Source/WebCore/bridge/runtime_object.cpp

@@RuntimeObject::RuntimeObject(ExecState*,
4646void RuntimeObject::finishCreation(JSGlobalObject* globalObject)
4747{
4848 Base::finishCreation(globalObject->vm());
49  ASSERT(inherits(&s_info));
 49 ASSERT(inherits(info()));
5050}
5151
5252void RuntimeObject::destroy(JSCell* cell)

@@JSValue RuntimeObject::defaultValue(cons
253253
254254static EncodedJSValue JSC_HOST_CALL callRuntimeObject(ExecState* exec)
255255{
256  ASSERT(exec->callee()->inherits(&RuntimeObject::s_info));
 256 ASSERT(exec->callee()->inherits(RuntimeObject::info()));
257257 RefPtr<Instance> instance(static_cast<RuntimeObject*>(exec->callee())->getInternalInstance());
258258 instance->begin();
259259 JSValue result = instance->invokeDefaultMethod(exec);

@@CallType RuntimeObject::getCallData(JSCe
278278static EncodedJSValue JSC_HOST_CALL callRuntimeConstructor(ExecState* exec)
279279{
280280 JSObject* constructor = exec->callee();
281  ASSERT(constructor->inherits(&RuntimeObject::s_info));
 281 ASSERT(constructor->inherits(RuntimeObject::info()));
282282 RefPtr<Instance> instance(static_cast<RuntimeObject*>(exec->callee())->getInternalInstance());
283283 instance->begin();
284284 ArgList args(exec);
154013

Source/WebCore/bridge/runtime_object.h

@@public:
6161
6262 static JSObject* throwInvalidAccessError(ExecState*);
6363
64  static const ClassInfo s_info;
 64 DECLARE_INFO;
6565
6666 static ObjectPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject)
6767 {

@@public:
7070
7171 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
7272 {
73  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 73 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
7474 }
7575
7676protected:
154013

Source/WebCore/bridge/c/CRuntimeObject.cpp

@@CRuntimeObject::CRuntimeObject(ExecState
4545void CRuntimeObject::finishCreation(JSGlobalObject* globalObject)
4646{
4747 Base::finishCreation(globalObject);
48  ASSERT(inherits(&s_info));
 48 ASSERT(inherits(info()));
4949}
5050
5151CInstance* CRuntimeObject::getInternalCInstance() const
154013

Source/WebCore/bridge/c/CRuntimeObject.h

@@public:
5252
5353 CInstance* getInternalCInstance() const;
5454
55  static const ClassInfo s_info;
 55 DECLARE_INFO;
5656
5757 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5858 {
59  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 59 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
6060 }
6161
6262private:
154013

Source/WebCore/bridge/c/c_instance.cpp

@@public:
123123
124124 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
125125 {
126  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 126 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
127127 }
128128
129  static const ClassInfo s_info;
 129 DECLARE_INFO;
130130
131131private:
132132 CRuntimeMethod(JSGlobalObject* globalObject, Structure* structure, Bindings::Method* method)

@@private:
137137 void finishCreation(VM& vm, const String& name)
138138 {
139139 Base::finishCreation(vm, name);
140  ASSERT(inherits(&s_info));
 140 ASSERT(inherits(info()));
141141 }
142142
143143};

@@JSValue CInstance::getMethod(ExecState*
152152
153153JSValue CInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod)
154154{
155  if (!asObject(runtimeMethod)->inherits(&CRuntimeMethod::s_info))
 155 if (!asObject(runtimeMethod)->inherits(CRuntimeMethod::info()))
156156 return throwError(exec, createTypeError(exec, "Attempt to invoke non-plug-in method on plug-in object."));
157157
158158 CMethod* method = static_cast<CMethod*>(runtimeMethod->method());
154013

Source/WebCore/bridge/c/c_utility.cpp

@@void convertValueToNPVariant(ExecState*
8585 NULL_TO_NPVARIANT(*result);
8686 } else if (value.isObject()) {
8787 JSObject* object = asObject(value);
88  if (object->classInfo() == &CRuntimeObject::s_info) {
 88 if (object->classInfo() == CRuntimeObject::info()) {
8989 CRuntimeObject* runtimeObject = static_cast<CRuntimeObject*>(object);
9090 CInstance* instance = runtimeObject->getInternalCInstance();
9191 if (instance) {
154013

Source/WebCore/bridge/objc/ObjCRuntimeObject.h

@@public:
4949
5050 ObjcInstance* getInternalObjCInstance() const;
5151
52  static const ClassInfo s_info;
 52 DECLARE_INFO;
5353
5454 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
5555 {
56  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 56 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
5757 }
5858
5959private:
154013

Source/WebCore/bridge/objc/objc_instance.mm

@@public:
196196 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
197197 }
198198
199  static const ClassInfo s_info;
 199 DECLARE_INFO;
200200
201201private:
202202 typedef RuntimeMethod Base;

@@private:
209209 void finishCreation(VM& vm, const String& name)
210210 {
211211 Base::finishCreation(vm, name);
212  ASSERT(inherits(&s_info));
 212 ASSERT(inherits(info()));
213213 }
214214};
215215

@@JSValue ObjcInstance::getMethod(ExecStat
223223
224224JSValue ObjcInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod)
225225{
226  if (!asObject(runtimeMethod)->inherits(&ObjCRuntimeMethod::s_info))
 226 if (!asObject(runtimeMethod)->inherits(ObjCRuntimeMethod::info()))
227227 return throwError(exec, createTypeError(exec, "Attempt to invoke non-plug-in method on plug-in object."));
228228
229229 ObjcMethod *method = static_cast<ObjcMethod*>(runtimeMethod->method());
154013

Source/WebCore/bridge/objc/objc_runtime.h

@@public:
103103 return fallbackObject;
104104 }
105105
106  static const ClassInfo s_info;
 106 DECLARE_INFO;
107107
108108 const String& propertyName() const { return m_item; }
109109

@@public:
114114
115115 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
116116 {
117  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 117 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
118118 }
119119
120120protected:
154013

Source/WebCore/bridge/objc/objc_runtime.mm

@@void ObjcFallbackObjectImp::destroy(JSCe
205205void ObjcFallbackObjectImp::finishCreation(JSGlobalObject* globalObject)
206206{
207207 Base::finishCreation(globalObject->vm());
208  ASSERT(inherits(&s_info));
 208 ASSERT(inherits(info()));
209209}
210210
211211bool ObjcFallbackObjectImp::getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot& slot)

@@void ObjcFallbackObjectImp::put(JSCell*,
229229static EncodedJSValue JSC_HOST_CALL callObjCFallbackObject(ExecState* exec)
230230{
231231 JSValue thisValue = exec->hostThisValue();
232  if (!thisValue.inherits(&ObjCRuntimeObject::s_info))
 232 if (!thisValue.inherits(ObjCRuntimeObject::info()))
233233 return throwVMTypeError(exec);
234234
235235 JSValue result = jsUndefined();
154013

Source/WebCore/bridge/qt/qt_instance.cpp

@@public:
5858 return object;
5959 }
6060
61  static const ClassInfo s_info;
 61 DECLARE_INFO;
6262
6363 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
6464 {
65  return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
 65 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
6666 }
6767
6868protected:

@@QtInstance* QtInstance::getInstance(JSOb
152152{
153153 if (!object)
154154 return 0;
155  if (!object->inherits(&QtRuntimeObject::s_info))
 155 if (!object->inherits(QtRuntimeObject::info()))
156156 return 0;
157157 return static_cast<QtInstance*>(static_cast<RuntimeObject*>(object)->getInternalInstance());
158158}
154013

Source/WebCore/bridge/qt/qt_pixmapruntime.cpp

@@static JSValueRef assignToHTMLImageEleme
130130
131131 JSObject* jsObject = ::toJS(objectArg);
132132
133  if (!jsObject->inherits(&JSHTMLImageElement::s_info))
 133 if (!jsObject->inherits(JSHTMLImageElement::info()))
134134 return JSValueMakeUndefined(context);
135135
136136 QVariant& data = *static_cast<QVariant*>(JSObjectGetPrivate(object));

@@QVariant QtPixmapRuntime::toQt(JSContext
214214 }
215215
216216 JSObject* jsObject = ::toJS(obj);
217  if (!jsObject->inherits(&JSHTMLImageElement::s_info))
 217 if (!jsObject->inherits(JSHTMLImageElement::info()))
218218 return emptyVariantForHint(hint);
219219
220220 JSHTMLImageElement* elementJSWrapper = static_cast<JSHTMLImageElement*>(jsObject);
154013

Source/WebCore/bridge/qt/qt_runtime.cpp

@@void registerCustomType(int qtMetaTypeId
148148
149149static bool isJSUint8Array(JSObjectRef object)
150150{
151  return toJS(object)->inherits(&JSUint8Array::s_info);
 151 return toJS(object)->inherits(JSUint8Array::info());
152152}
153153
154154static bool isJSArray(JSObjectRef object)
155155{
156  return toJS(object)->inherits(&JSArray::s_info);
 156 return toJS(object)->inherits(JSArray::info());
157157}
158158
159159static bool isJSDate(JSObjectRef object)
160160{
161  return toJS(object)->inherits(&DateInstance::s_info);
 161 return toJS(object)->inherits(DateInstance::info());
162162}
163163
164164static bool isQtObject(JSObjectRef object)
165165{
166  return toJS(object)->inherits(&RuntimeObject::s_info);
 166 return toJS(object)->inherits(RuntimeObject::info());
167167}
168168
169169static JSRealType valueRealType(JSContextRef context, JSValueRef value, JSValueRef* exception)

@@static JSValueRef unwrapBoxedPrimitive(J
203203 ExecState* exec = toJS(context);
204204 APIEntryShim entryShim(exec);
205205 JSObject* object = toJS(obj);
206  if (object->inherits(&NumberObject::s_info))
 206 if (object->inherits(NumberObject::info()))
207207 return toRef(exec, jsNumber(object->toNumber(exec)));
208  if (object->inherits(&StringObject::s_info))
 208 if (object->inherits(StringObject::info()))
209209 return toRef(exec, object->toString(exec));
210  if (object->inherits(&BooleanObject::s_info))
 210 if (object->inherits(BooleanObject::info()))
211211 return toRef(exec, object->toPrimitive(exec));
212212 return value;
213213}

@@JSValueRef convertQVariantToValue(JSCont
749749 return QtPixmapRuntime::toJS(context, variant, exception);
750750
751751 if (customRuntimeConversions()->contains(type)) {
752  if (!root->globalObject()->inherits(&JSDOMWindow::s_info))
 752 if (!root->globalObject()->inherits(JSDOMWindow::info()))
753753 return JSValueMakeUndefined(context);
754754
755755 Document* document = (static_cast<JSDOMWindow*>(root->globalObject()))->impl()->document();
154013

Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp

@@JSNPMethod::JSNPMethod(JSGlobalObject* g
5454void JSNPMethod::finishCreation(VM& vm, const String& name)
5555{
5656 Base::finishCreation(vm, name);
57  ASSERT(inherits(&s_info));
 57 ASSERT(inherits(info()));
5858}
5959
6060static EncodedJSValue JSC_HOST_CALL callMethod(ExecState* exec)

@@static EncodedJSValue JSC_HOST_CALL call
6464 JSValue thisValue = exec->hostThisValue();
6565
6666 // Check if we're calling a method on the plug-in script object.
67  if (thisValue.inherits(&JSHTMLElement::s_info)) {
 67 if (thisValue.inherits(JSHTMLElement::info())) {
6868 JSHTMLElement* element = static_cast<JSHTMLElement*>(asObject(thisValue));
6969
7070 // Try to get the script object from the element

@@static EncodedJSValue JSC_HOST_CALL call
7272 thisValue = scriptObject;
7373 }
7474
75  if (thisValue.inherits(&JSNPObject::s_info)) {
 75 if (thisValue.inherits(JSNPObject::info())) {
7676 JSNPObject* jsNPObject = static_cast<JSNPObject*>(asObject(thisValue));
7777
7878 return JSValue::encode(jsNPObject->callMethod(exec, jsNPMethod->npIdentifier()));
154013

Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h

@@public:
4949 return method;
5050 }
5151
52  static const JSC::ClassInfo s_info;
 52 DECLARE_INFO;
5353
5454 NPIdentifier npIdentifier() const { return m_npIdentifier; }
5555

@@private:
6161
6262 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
6363 {
64  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 64 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
6565 }
6666
6767 static JSC::CallType getCallData(JSC::JSCell*, JSC::CallData&);
154013

Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp

@@JSNPObject::JSNPObject(JSGlobalObject* g
6767void JSNPObject::finishCreation(JSGlobalObject* globalObject)
6868{
6969 Base::finishCreation(globalObject->vm());
70  ASSERT(inherits(&s_info));
 70 ASSERT(inherits(info()));
7171
7272 // We should never have an NPJSObject inside a JSNPObject.
7373 ASSERT(!NPJSObject::isNPJSObject(m_npObject));

@@void JSNPObject::destroy(JSCell* cell)
8989void JSNPObject::invalidate()
9090{
9191 ASSERT(m_npObject);
92  ASSERT_GC_OBJECT_INHERITS(this, &s_info);
 92 ASSERT_GC_OBJECT_INHERITS(this, info());
9393
9494 releaseNPObject(m_npObject);
9595 m_npObject = 0;

@@NPObject* JSNPObject::leakNPObject()
106106
107107JSValue JSNPObject::callMethod(ExecState* exec, NPIdentifier methodName)
108108{
109  ASSERT_GC_OBJECT_INHERITS(this, &s_info);
 109 ASSERT_GC_OBJECT_INHERITS(this, info());
110110 if (!m_npObject)
111111 return throwInvalidAccessError(exec);
112112

@@JSValue JSNPObject::callMethod(ExecState
146146
147147JSC::JSValue JSNPObject::callObject(JSC::ExecState* exec)
148148{
149  ASSERT_GC_OBJECT_INHERITS(this, &s_info);
 149 ASSERT_GC_OBJECT_INHERITS(this, info());
150150 if (!m_npObject)
151151 return throwInvalidAccessError(exec);
152152

@@JSC::JSValue JSNPObject::callObject(JSC:
186186
187187JSValue JSNPObject::callConstructor(ExecState* exec)
188188{
189  ASSERT_GC_OBJECT_INHERITS(this, &s_info);
 189 ASSERT_GC_OBJECT_INHERITS(this, info());
190190 if (!m_npObject)
191191 return throwInvalidAccessError(exec);
192192

@@JSValue JSNPObject::callConstructor(Exec
223223static EncodedJSValue JSC_HOST_CALL callNPJSObject(ExecState* exec)
224224{
225225 JSObject* object = exec->callee();
226  ASSERT(object->inherits(&JSNPObject::s_info));
 226 ASSERT(object->inherits(JSNPObject::info()));
227227
228228 return JSValue::encode(static_cast<JSNPObject*>(object)->callObject(exec));
229229}

@@static EncodedJSValue JSC_HOST_CALL call
231231JSC::CallType JSNPObject::getCallData(JSC::JSCell* cell, JSC::CallData& callData)
232232{
233233 JSNPObject* thisObject = JSC::jsCast<JSNPObject*>(cell);
234  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 234 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
235235 if (!thisObject->m_npObject || !thisObject->m_npObject->_class->invokeDefault)
236236 return CallTypeNone;
237237

@@JSC::CallType JSNPObject::getCallData(JS
242242static EncodedJSValue JSC_HOST_CALL constructWithConstructor(ExecState* exec)
243243{
244244 JSObject* constructor = exec->callee();
245  ASSERT(constructor->inherits(&JSNPObject::s_info));
 245 ASSERT(constructor->inherits(JSNPObject::info()));
246246
247247 return JSValue::encode(static_cast<JSNPObject*>(constructor)->callConstructor(exec));
248248}

@@static EncodedJSValue JSC_HOST_CALL cons
250250ConstructType JSNPObject::getConstructData(JSCell* cell, ConstructData& constructData)
251251{
252252 JSNPObject* thisObject = JSC::jsCast<JSNPObject*>(cell);
253  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 253 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
254254 if (!thisObject->m_npObject || !thisObject->m_npObject->_class->construct)
255255 return ConstructTypeNone;
256256

@@ConstructType JSNPObject::getConstructDa
261261bool JSNPObject::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
262262{
263263 JSNPObject* thisObject = JSC::jsCast<JSNPObject*>(object);
264  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 264 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
265265 if (!thisObject->m_npObject) {
266266 throwInvalidAccessError(exec);
267267 return false;

@@bool JSNPObject::getOwnPropertySlot(JSOb
292292bool JSNPObject::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
293293{
294294 JSNPObject* thisObject = jsCast<JSNPObject*>(object);
295  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 295 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
296296 if (!thisObject->m_npObject) {
297297 throwInvalidAccessError(exec);
298298 return false;

@@bool JSNPObject::getOwnPropertyDescripto
327327void JSNPObject::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&)
328328{
329329 JSNPObject* thisObject = JSC::jsCast<JSNPObject*>(cell);
330  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 330 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
331331 if (!thisObject->m_npObject) {
332332 throwInvalidAccessError(exec);
333333 return;

@@bool JSNPObject::deletePropertyByIndex(J
375375
376376bool JSNPObject::deleteProperty(ExecState* exec, NPIdentifier propertyName)
377377{
378  ASSERT_GC_OBJECT_INHERITS(this, &s_info);
 378 ASSERT_GC_OBJECT_INHERITS(this, info());
379379 if (!m_npObject) {
380380 throwInvalidAccessError(exec);
381381 return false;

@@bool JSNPObject::deleteProperty(ExecStat
407407void JSNPObject::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNameArray, EnumerationMode)
408408{
409409 JSNPObject* thisObject = jsCast<JSNPObject*>(object);
410  ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
 410 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
411411 if (!thisObject->m_npObject) {
412412 throwInvalidAccessError(exec);
413413 return;

@@void JSNPObject::getOwnPropertyNames(JSO
455455JSValue JSNPObject::propertyGetter(ExecState* exec, JSValue slotBase, PropertyName propertyName)
456456{
457457 JSNPObject* thisObj = static_cast<JSNPObject*>(asObject(slotBase));
458  ASSERT_GC_OBJECT_INHERITS(thisObj, &s_info);
 458 ASSERT_GC_OBJECT_INHERITS(thisObj, info());
459459
460460 if (!thisObj->m_npObject)
461461 return throwInvalidAccessError(exec);

@@JSValue JSNPObject::propertyGetter(ExecS
491491JSValue JSNPObject::methodGetter(ExecState* exec, JSValue slotBase, PropertyName propertyName)
492492{
493493 JSNPObject* thisObj = static_cast<JSNPObject*>(asObject(slotBase));
494  ASSERT_GC_OBJECT_INHERITS(thisObj, &s_info);
 494 ASSERT_GC_OBJECT_INHERITS(thisObj, info());
495495
496496 if (!thisObj->m_npObject)
497497 return throwInvalidAccessError(exec);
154013

Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h

@@public:
6565 JSC::JSValue callObject(JSC::ExecState*);
6666 JSC::JSValue callConstructor(JSC::ExecState*);
6767
68  static const JSC::ClassInfo s_info;
 68 DECLARE_INFO;
6969
7070 NPObject* npObject() const { return m_npObject; }
7171

@@private:
7979
8080 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
8181 {
82  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 82 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
8383 }
8484
8585 static JSC::CallType getCallData(JSC::JSCell*, JSC::CallData&);
154013

Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp

@@namespace WebKit {
4949NPJSObject* NPJSObject::create(VM& vm, NPRuntimeObjectMap* objectMap, JSObject* jsObject)
5050{
5151 // We should never have a JSNPObject inside an NPJSObject.
52  ASSERT(!jsObject->inherits(&JSNPObject::s_info));
 52 ASSERT(!jsObject->inherits(JSNPObject::info()));
5353
5454 NPJSObject* npJSObject = toNPJSObject(createNPObject(0, npClass()));
5555 npJSObject->initialize(vm, objectMap, jsObject);
154013

Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp

@@NPRuntimeObjectMap::PluginProtector::~Pl
7171NPObject* NPRuntimeObjectMap::getOrCreateNPObject(VM& vm, JSObject* jsObject)
7272{
7373 // If this is a JSNPObject, we can just get its underlying NPObject.
74  if (jsObject->classInfo() == &JSNPObject::s_info) {
 74 if (jsObject->classInfo() == JSNPObject::info()) {
7575 JSNPObject* jsNPObject = static_cast<JSNPObject*>(jsObject);
7676 NPObject* npObject = jsNPObject->npObject();
7777
154013

Source/WebKit2/WebProcess/WebPage/WebFrame.cpp

@@JSValueRef WebFrame::jsWrapperForWorld(I
670670
671671String WebFrame::counterValue(JSObjectRef element)
672672{
673  if (!toJS(element)->inherits(&JSElement::s_info))
 673 if (!toJS(element)->inherits(JSElement::info()))
674674 return String();
675675
676676 return counterValueForElement(static_cast<JSElement*>(toJS(element))->impl());
154013

Source/WebKit/mac/ChangeLog

 12013-08-13 Filip Pizlo <fpizlo@apple.com>
 2
 3 Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
 4 https://bugs.webkit.org/show_bug.cgi?id=119770
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
 9 (WebKit::getObjectID):
 10 (WebKit::NetscapePluginInstanceProxy::retainLocalObject):
 11 (WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
 12 * Plugins/Hosted/ProxyInstance.mm:
 13 (WebKit::ProxyRuntimeMethod::finishCreation):
 14 (WebKit::ProxyInstance::invokeMethod):
 15 * Plugins/Hosted/ProxyRuntimeObject.h:
 16 (WebKit::ProxyRuntimeObject::createStructure):
 17 * WebView/WebView.mm:
 18 (aeDescFromJSValue):
 19
1202013-08-13 Tim Horton <timothy_horton@apple.com>
221
322 Remotely hosted plugins don’t work in window-server-hosted WebKit1 views
154030

Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm

@@bool NetscapePluginInstanceProxy::enumer
12421242
12431243static bool getObjectID(NetscapePluginInstanceProxy* pluginInstanceProxy, JSObject* object, uint64_t& objectID)
12441244{
1245  if (object->classInfo() != &ProxyRuntimeObject::s_info)
 1245 if (object->classInfo() != ProxyRuntimeObject::info())
12461246 return false;
12471247
12481248 ProxyRuntimeObject* runtimeObject = static_cast<ProxyRuntimeObject*>(object);

@@void NetscapePluginInstanceProxy::demars
14011401
14021402void NetscapePluginInstanceProxy::retainLocalObject(JSC::JSValue value)
14031403{
1404  if (!value.isObject() || value.inherits(&ProxyRuntimeObject::s_info))
 1404 if (!value.isObject() || value.inherits(ProxyRuntimeObject::info()))
14051405 return;
14061406
14071407 m_localObjects.retain(asObject(value));

@@void NetscapePluginInstanceProxy::retain
14091409
14101410void NetscapePluginInstanceProxy::releaseLocalObject(JSC::JSValue value)
14111411{
1412  if (!value.isObject() || value.inherits(&ProxyRuntimeObject::s_info))
 1412 if (!value.isObject() || value.inherits(ProxyRuntimeObject::info()))
14131413 return;
14141414
14151415 m_localObjects.release(asObject(value));
154013

Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm

@@public:
195195 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
196196 }
197197
198  static const ClassInfo s_info;
 198 DECLARE_INFO;
199199
200200private:
201201 ProxyRuntimeMethod(JSGlobalObject* globalObject, Structure* structure, Bindings::Method* method)

@@private:
206206 void finishCreation(VM& vm, const String& name)
207207 {
208208 Base::finishCreation(vm, name);
209  ASSERT(inherits(&s_info));
 209 ASSERT(inherits(info()));
210210 }
211211};
212212

@@JSValue ProxyInstance::getMethod(JSC::Ex
220220
221221JSValue ProxyInstance::invokeMethod(ExecState* exec, JSC::RuntimeMethod* runtimeMethod)
222222{
223  if (!asObject(runtimeMethod)->inherits(&ProxyRuntimeMethod::s_info))
 223 if (!asObject(runtimeMethod)->inherits(ProxyRuntimeMethod::info()))
224224 return throwError(exec, createTypeError(exec, "Attempt to invoke non-plug-in method on plug-in object."));
225225
226226 ProxyMethod* method = static_cast<ProxyMethod*>(runtimeMethod->method());
154013

Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.h

@@public:
5353
5454 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
5555 {
56  return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
 56 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
5757 }
5858
59  static const JSC::ClassInfo s_info;
 59 DECLARE_INFO;
6060private:
6161 ProxyRuntimeObject(JSC::ExecState*, JSC::JSGlobalObject*, JSC::Structure*, PassRefPtr<ProxyInstance>);
6262 void finishCreation(JSC::JSGlobalObject*);
154013

Source/WebKit/mac/WebView/WebView.mm

@@static NSAppleEventDescriptor* aeDescFro
50305030 }
50315031 if (jsValue.isObject()) {
50325032 JSObject* object = jsValue.getObject();
5033  if (object->inherits(&DateInstance::s_info)) {
 5033 if (object->inherits(DateInstance::info())) {
50345034 DateInstance* date = static_cast<DateInstance*>(object);
50355035 double ms = date->internalNumber();
50365036 if (!std::isnan(ms)) {

@@static NSAppleEventDescriptor* aeDescFro
50405040 return [NSAppleEventDescriptor descriptorWithDescriptorType:typeLongDateTime bytes:&ldt length:sizeof(ldt)];
50415041 }
50425042 }
5043  else if (object->inherits(&JSArray::s_info)) {
 5043 else if (object->inherits(JSArray::info())) {
50445044 DEFINE_STATIC_LOCAL(HashSet<JSObject*>, visitedElems, ());
50455045 if (!visitedElems.contains(object)) {
50465046 visitedElems.add(object);
154013

Source/WebKit/qt/ChangeLog

 12013-08-13 Filip Pizlo <fpizlo@apple.com>
 2
 3 Need a short description (OOPS!).
 4 Need the bug URL (OOPS!).
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 * Api/qwebelement.cpp:
 9 (convertJSValueToWebElementVariant):
 10 * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
 11 (convertJSValueToNodeVariant):
 12
1132013-08-11 Andreas Kling <akling@apple.com>
214
315 Make some things that return never-null pointers return references instead.
154030

Source/WebKit/qt/Api/qwebelement.cpp

@@static QVariant convertJSValueToWebEleme
20732073{
20742074 Element* element = 0;
20752075 QVariant ret;
2076  if (object && object->inherits(&JSElement::s_info)) {
 2076 if (object && object->inherits(JSElement::info())) {
20772077 element =(static_cast<JSElement*>(object))->impl();
20782078 *distance = 0;
20792079 // Allow other objects to reach this one. This won't cause our algorithm to
20802080 // loop since when we find an Element we do not recurse.
20812081 visitedObjects->remove(toRef(object));
2082  } else if (object && object->inherits(&JSDocument::s_info)) {
 2082 } else if (object && object->inherits(JSDocument::info())) {
20832083 // To support TestRunnerQt::nodesFromRect(), used in DRT, we do an implicit
20842084 // conversion from 'document' to the QWebElement representing the 'document.documentElement'.
20852085 // We can't simply use a QVariantMap in nodesFromRect() because it currently times out
154013

Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp

@@WebCore::Node* QtDRTNodeRuntime::get(con
163163
164164static QVariant convertJSValueToNodeVariant(JSC::JSObject* object, int *distance, HashSet<JSObjectRef>*)
165165{
166  if (!object || !object->inherits(&JSNode::s_info))
 166 if (!object || !object->inherits(JSNode::info()))
167167 return QVariant();
168168 return QVariant::fromValue<QDRTNode>(QtDRTNodeRuntime::create((static_cast<JSNode*>(object))->impl()));
169169}
154013