Changeset 94929 in webkit
- Timestamp:
- Sep 11, 2011 2:11:11 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 110 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSCallbackConstructor.h
r94875 r94929 50 50 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 51 51 { 52 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);52 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); 53 53 } 54 54 -
trunk/Source/JavaScriptCore/API/JSCallbackFunction.h
r94875 r94929 51 51 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 52 52 { 53 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);53 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); 54 54 } 55 55 -
trunk/Source/JavaScriptCore/API/JSCallbackObject.h
r94875 r94929 153 153 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 154 154 { 155 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), Parent::AnonymousSlotCount,&s_info);155 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); 156 156 } 157 157 -
trunk/Source/JavaScriptCore/ChangeLog
r94927 r94929 1 2011-09-09 Oliver Hunt <oliver@apple.com> 2 3 Remove support for anonymous storage from jsobjects 4 https://bugs.webkit.org/show_bug.cgi?id=67881 5 6 Reviewed by Sam Weinig. 7 8 Remove all use of anonymous slots, essentially a mechanical change 9 in JavaScriptCore 10 11 * API/JSCallbackConstructor.h: 12 (JSC::JSCallbackConstructor::createStructure): 13 * API/JSCallbackFunction.h: 14 (JSC::JSCallbackFunction::createStructure): 15 * API/JSCallbackObject.h: 16 (JSC::JSCallbackObject::createStructure): 17 * JavaScriptCore.exp: 18 * debugger/DebuggerActivation.h: 19 (JSC::DebuggerActivation::createStructure): 20 * heap/MarkStack.cpp: 21 (JSC::MarkStack::validateValue): 22 * heap/MarkStack.h: 23 * runtime/Arguments.h: 24 (JSC::Arguments::createStructure): 25 * runtime/ArrayConstructor.h: 26 (JSC::ArrayConstructor::createStructure): 27 * runtime/ArrayPrototype.cpp: 28 (JSC::ArrayPrototype::finishCreation): 29 * runtime/ArrayPrototype.h: 30 (JSC::ArrayPrototype::createStructure): 31 * runtime/BooleanObject.h: 32 (JSC::BooleanObject::createStructure): 33 * runtime/BooleanPrototype.cpp: 34 (JSC::BooleanPrototype::BooleanPrototype): 35 * runtime/BooleanPrototype.h: 36 (JSC::BooleanPrototype::createStructure): 37 * runtime/DateConstructor.h: 38 (JSC::DateConstructor::createStructure): 39 * runtime/DateInstance.h: 40 (JSC::DateInstance::createStructure): 41 * runtime/DatePrototype.cpp: 42 (JSC::DatePrototype::DatePrototype): 43 * runtime/DatePrototype.h: 44 (JSC::DatePrototype::createStructure): 45 * runtime/ErrorInstance.h: 46 (JSC::ErrorInstance::createStructure): 47 * runtime/ErrorPrototype.cpp: 48 (JSC::ErrorPrototype::finishCreation): 49 * runtime/ErrorPrototype.h: 50 (JSC::ErrorPrototype::createStructure): 51 * runtime/ExceptionHelpers.h: 52 (JSC::InterruptedExecutionError::createStructure): 53 (JSC::TerminatedExecutionError::createStructure): 54 * runtime/Executable.h: 55 (JSC::ExecutableBase::createStructure): 56 (JSC::NativeExecutable::createStructure): 57 (JSC::EvalExecutable::createStructure): 58 (JSC::ProgramExecutable::createStructure): 59 (JSC::FunctionExecutable::createStructure): 60 * runtime/FunctionPrototype.h: 61 (JSC::FunctionPrototype::createStructure): 62 * runtime/GetterSetter.h: 63 (JSC::GetterSetter::createStructure): 64 * runtime/InternalFunction.h: 65 (JSC::InternalFunction::createStructure): 66 * runtime/JSAPIValueWrapper.h: 67 (JSC::JSAPIValueWrapper::createStructure): 68 * runtime/JSActivation.h: 69 (JSC::JSActivation::createStructure): 70 * runtime/JSArray.h: 71 (JSC::JSArray::createStructure): 72 * runtime/JSByteArray.cpp: 73 (JSC::JSByteArray::createStructure): 74 * runtime/JSCell.h: 75 * runtime/JSFunction.h: 76 (JSC::JSFunction::createStructure): 77 * runtime/JSGlobalObject.h: 78 (JSC::JSGlobalObject::finishCreation): 79 (JSC::JSGlobalObject::createStructure): 80 * runtime/JSNotAnObject.h: 81 (JSC::JSNotAnObject::createStructure): 82 * runtime/JSONObject.h: 83 (JSC::JSONObject::createStructure): 84 * runtime/JSObject.h: 85 (JSC::JSObject::createStructure): 86 (JSC::JSNonFinalObject::createStructure): 87 (JSC::JSFinalObject::createStructure): 88 * runtime/JSPropertyNameIterator.cpp: 89 (JSC::JSPropertyNameIterator::create): 90 * runtime/JSPropertyNameIterator.h: 91 (JSC::JSPropertyNameIterator::createStructure): 92 * runtime/JSStaticScopeObject.h: 93 (JSC::JSStaticScopeObject::createStructure): 94 * runtime/JSString.h: 95 (JSC::RopeBuilder::createStructure): 96 * runtime/JSVariableObject.h: 97 (JSC::JSVariableObject::createStructure): 98 * runtime/JSWrapperObject.h: 99 (JSC::JSWrapperObject::createStructure): 100 * runtime/MathObject.h: 101 (JSC::MathObject::createStructure): 102 * runtime/NativeErrorConstructor.h: 103 (JSC::NativeErrorConstructor::createStructure): 104 * runtime/NumberConstructor.h: 105 (JSC::NumberConstructor::createStructure): 106 * runtime/NumberObject.h: 107 (JSC::NumberObject::createStructure): 108 * runtime/NumberPrototype.cpp: 109 (JSC::NumberPrototype::NumberPrototype): 110 * runtime/NumberPrototype.h: 111 (JSC::NumberPrototype::createStructure): 112 * runtime/ObjectConstructor.h: 113 (JSC::ObjectConstructor::createStructure): 114 * runtime/ObjectPrototype.cpp: 115 (JSC::ObjectPrototype::finishCreation): 116 * runtime/ObjectPrototype.h: 117 (JSC::ObjectPrototype::createStructure): 118 * runtime/RegExp.h: 119 (JSC::RegExp::createStructure): 120 * runtime/RegExpConstructor.h: 121 (JSC::RegExpConstructor::createStructure): 122 * runtime/RegExpObject.h: 123 (JSC::RegExpObject::createStructure): 124 * runtime/RegExpPrototype.h: 125 (JSC::RegExpPrototype::createStructure): 126 * runtime/ScopeChain.h: 127 (JSC::ScopeChainNode::createStructure): 128 * runtime/StrictEvalActivation.h: 129 (JSC::StrictEvalActivation::createStructure): 130 * runtime/StringConstructor.h: 131 (JSC::StringConstructor::createStructure): 132 * runtime/StringObject.h: 133 (JSC::StringObject::createStructure): 134 * runtime/StringObjectThatMasqueradesAsUndefined.h: 135 (JSC::StringObjectThatMasqueradesAsUndefined::createStructure): 136 * runtime/StringPrototype.cpp: 137 (JSC::StringPrototype::StringPrototype): 138 * runtime/StringPrototype.h: 139 (JSC::StringPrototype::createStructure): 140 * runtime/Structure.cpp: 141 (JSC::Structure::Structure): 142 (JSC::Structure::materializePropertyMap): 143 (JSC::Structure::addPropertyTransitionToExistingStructure): 144 (JSC::Structure::addPropertyTransition): 145 (JSC::Structure::removePropertyTransition): 146 (JSC::Structure::changePrototypeTransition): 147 (JSC::Structure::despecifyFunctionTransition): 148 (JSC::Structure::getterSetterTransition): 149 (JSC::Structure::toDictionaryTransition): 150 (JSC::Structure::preventExtensionsTransition): 151 (JSC::Structure::flattenDictionaryStructure): 152 (JSC::Structure::addPropertyWithoutTransition): 153 (JSC::Structure::removePropertyWithoutTransition): 154 (JSC::Structure::get): 155 (JSC::Structure::putSpecificValue): 156 (JSC::Structure::remove): 157 (JSC::Structure::checkConsistency): 158 * runtime/Structure.h: 159 (JSC::Structure::create): 160 (JSC::Structure::propertyStorageSize): 161 (JSC::Structure::get): 162 * runtime/StructureChain.h: 163 (JSC::StructureChain::createStructure): 164 1 165 2011-09-11 Jarred Nicholls <jarred@sencha.com> 2 166 -
trunk/Source/JavaScriptCore/JavaScriptCore.exp
r94920 r94929 339 339 __ZN3JSC9CodeBlockD1Ev 340 340 __ZN3JSC9CodeBlockD2Ev 341 __ZN3JSC9MarkStack13validateValueENS_7JSValueE 341 342 __ZN3JSC9Structure21addPropertyTransitionERNS_12JSGlobalDataEPS0_RKNS_10IdentifierEjPNS_6JSCellERm 342 343 __ZN3JSC9Structure22materializePropertyMapERNS_12JSGlobalDataE … … 348 349 __ZN3JSC9Structure40addPropertyTransitionToExistingStructureEPS0_RKNS_10IdentifierEjPNS_6JSCellERm 349 350 __ZN3JSC9Structure6s_infoE 350 __ZN3JSC9StructureC1ERNS_12JSGlobalDataEPNS_14JSGlobalObjectENS_7JSValueERKNS_8TypeInfoE jPKNS_9ClassInfoE351 __ZN3JSC9StructureC1ERNS_12JSGlobalDataEPNS_14JSGlobalObjectENS_7JSValueERKNS_8TypeInfoEPKNS_9ClassInfoE 351 352 __ZN3JSC9StructureD1Ev 352 353 __ZN3JSC9constructEPNS_9ExecStateENS_7JSValueENS_13ConstructTypeERKNS_13ConstructDataERKNS_7ArgListE -
trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
r94918 r94929 19 19 ??0SHA1@WTF@@QAE@XZ 20 20 ??0StringObject@JSC@@IAE@AAVJSGlobalData@1@PAVStructure@1@@Z 21 ??0Structure@JSC@@AAE@AAVJSGlobalData@1@PAVJSGlobalObject@1@VJSValue@1@ABVTypeInfo@1@ IPBUClassInfo@1@@Z21 ??0Structure@JSC@@AAE@AAVJSGlobalData@1@PAVJSGlobalObject@1@VJSValue@1@ABVTypeInfo@1@PBUClassInfo@1@@Z 22 22 ??0ThreadCondition@WTF@@QAE@XZ 23 23 ??0UString@JSC@@QAE@PBD@Z … … 384 384 ?unwrappedObject@JSObject@JSC@@UAEPAV12@XZ 385 385 ?utf8@UString@JSC@@QBE?AVCString@WTF@@_N@Z 386 ?validateValue@MarkStack@JSC@@KAXVJSValue@2@@Z 386 387 ?visitChildren@JSGlobalObject@JSC@@UAEXAAVSlotVisitor@2@@Z 387 388 ?visitChildren@JSObject@JSC@@UAEXAAVSlotVisitor@2@@Z -
trunk/Source/JavaScriptCore/debugger/DebuggerActivation.h
r94875 r94929 57 57 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 58 58 { 59 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);59 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 60 60 } 61 61 -
trunk/Source/JavaScriptCore/heap/MarkStack.cpp
r94477 r94929 175 175 CRASH(); 176 176 } 177 #else 178 void MarkStack::validateValue(JSValue) 179 { 180 } 177 181 #endif 178 182 -
trunk/Source/JavaScriptCore/heap/MarkStack.h
r94477 r94929 119 119 #if ENABLE(GC_VALIDATION) 120 120 static void validateSet(JSValue*, size_t); 121 #endif 121 122 static void validateValue(JSValue); 122 #endif123 123 124 124 void append(JSValue*); -
trunk/Source/JavaScriptCore/runtime/Arguments.h
r94599 r94929 114 114 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 115 115 { 116 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);116 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 117 117 } 118 118 -
trunk/Source/JavaScriptCore/runtime/ArrayConstructor.h
r94875 r94929 41 41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 44 44 } 45 45 -
trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp
r94875 r94929 124 124 Base::finishCreation(globalObject->globalData()); 125 125 ASSERT(inherits(&s_info)); 126 putAnonymousValue(globalObject->globalData(), 0, globalObject);127 126 } 128 127 -
trunk/Source/JavaScriptCore/runtime/ArrayPrototype.h
r94875 r94929 48 48 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 49 49 { 50 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);50 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 51 51 } 52 52 53 53 protected: 54 54 void finishCreation(JSGlobalObject*); 55 56 static const unsigned AnonymousSlotCount = JSArray::AnonymousSlotCount + 1;57 55 }; 58 56 -
trunk/Source/JavaScriptCore/runtime/BooleanObject.h
r94875 r94929 45 45 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 46 46 { 47 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);47 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 48 48 } 49 49 }; -
trunk/Source/JavaScriptCore/runtime/BooleanPrototype.cpp
r94875 r94929 56 56 } 57 57 58 void BooleanPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject)58 void BooleanPrototype::finishCreation(ExecState* exec, JSGlobalObject*) 59 59 { 60 60 Base::finishCreation(exec->globalData()); … … 62 62 63 63 ASSERT(inherits(&s_info)); 64 putAnonymousValue(globalObject->globalData(), 0, globalObject);65 64 } 66 65 -
trunk/Source/JavaScriptCore/runtime/BooleanPrototype.h
r94875 r94929 39 39 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 40 40 { 41 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);41 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 42 42 } 43 43 … … 45 45 void finishCreation(ExecState*, JSGlobalObject*); 46 46 static const unsigned StructureFlags = OverridesGetOwnPropertySlot | BooleanObject::StructureFlags; 47 static const unsigned AnonymousSlotCount = BooleanObject::AnonymousSlotCount + 1;48 47 49 48 private: -
trunk/Source/JavaScriptCore/runtime/DateConstructor.h
r94875 r94929 41 41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 44 44 } 45 45 -
trunk/Source/JavaScriptCore/runtime/DateInstance.h
r94875 r94929 73 73 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 74 74 { 75 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);75 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 76 76 } 77 77 -
trunk/Source/JavaScriptCore/runtime/DatePrototype.cpp
r94875 r94929 437 437 } 438 438 439 void DatePrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject)439 void DatePrototype::finishCreation(ExecState* exec, JSGlobalObject*) 440 440 { 441 441 Base::finishCreation(exec->globalData()); … … 443 443 444 444 // The constructor will be added later, after DateConstructor has been built. 445 putAnonymousValue(exec->globalData(), 0, globalObject);446 445 } 447 446 -
trunk/Source/JavaScriptCore/runtime/DatePrototype.h
r94875 r94929 46 46 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 47 47 { 48 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);48 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 49 49 } 50 50 … … 52 52 void finishCreation(ExecState*, JSGlobalObject*); 53 53 static const unsigned StructureFlags = OverridesGetOwnPropertySlot | DateInstance::StructureFlags; 54 55 COMPILE_ASSERT(!DateInstance::AnonymousSlotCount, DatePrototype_stomps_on_your_anonymous_slot);56 static const unsigned AnonymousSlotCount = 1;57 54 }; 58 55 -
trunk/Source/JavaScriptCore/runtime/ErrorInstance.h
r94599 r94929 34 34 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 35 35 { 36 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);36 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 37 37 } 38 38 -
trunk/Source/JavaScriptCore/runtime/ErrorPrototype.cpp
r94875 r94929 56 56 } 57 57 58 void ErrorPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject)58 void ErrorPrototype::finishCreation(ExecState* exec, JSGlobalObject*) 59 59 { 60 60 Base::finishCreation(exec->globalData(), ""); 61 61 ASSERT(inherits(&s_info)); 62 62 putDirect(exec->globalData(), exec->propertyNames().name, jsNontrivialString(exec, "Error"), DontEnum); 63 putAnonymousValue(globalObject->globalData(), 0, globalObject);64 63 } 65 64 -
trunk/Source/JavaScriptCore/runtime/ErrorPrototype.h
r94875 r94929 43 43 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 44 44 { 45 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);45 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 46 46 } 47 47 … … 51 51 52 52 static const unsigned StructureFlags = OverridesGetOwnPropertySlot | ErrorInstance::StructureFlags; 53 static const unsigned AnonymousSlotCount = ErrorInstance::AnonymousSlotCount + 1;54 53 55 54 private: -
trunk/Source/JavaScriptCore/runtime/ExceptionHelpers.h
r94918 r94929 77 77 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 78 78 { 79 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);79 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 80 80 } 81 81 … … 104 104 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 105 105 { 106 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);106 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 107 107 } 108 108 -
trunk/Source/JavaScriptCore/runtime/Executable.h
r94920 r94929 84 84 } 85 85 86 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount,&s_info); }86 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), &s_info); } 87 87 88 88 static const ClassInfo s_info; … … 199 199 NativeFunction function() { return m_function; } 200 200 201 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(LeafType, StructureFlags), AnonymousSlotCount,&s_info); }201 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(LeafType, StructureFlags), &s_info); } 202 202 203 203 static const ClassInfo s_info; … … 335 335 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 336 336 { 337 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount,&s_info);337 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), &s_info); 338 338 } 339 339 … … 396 396 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 397 397 { 398 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount,&s_info);398 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), &s_info); 399 399 } 400 400 … … 552 552 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 553 553 { 554 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount,&s_info);554 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), &s_info); 555 555 } 556 556 -
trunk/Source/JavaScriptCore/runtime/FunctionPrototype.h
r94875 r94929 39 39 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 40 40 { 41 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);41 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); 42 42 } 43 43 -
trunk/Source/JavaScriptCore/runtime/GetterSetter.h
r94599 r94929 62 62 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 63 63 { 64 return Structure::create(globalData, globalObject, prototype, TypeInfo(GetterSetterType, OverridesVisitChildren), AnonymousSlotCount,&s_info);64 return Structure::create(globalData, globalObject, prototype, TypeInfo(GetterSetterType, OverridesVisitChildren), &s_info); 65 65 } 66 66 -
trunk/Source/JavaScriptCore/runtime/InternalFunction.h
r94875 r94929 44 44 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 45 45 { 46 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);46 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); 47 47 } 48 48 -
trunk/Source/JavaScriptCore/runtime/JSAPIValueWrapper.h
r94599 r94929 42 42 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 43 43 { 44 return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren | OverridesGetPropertyNames), AnonymousSlotCount,&s_info);44 return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren | OverridesGetPropertyNames), &s_info); 45 45 } 46 46 -
trunk/Source/JavaScriptCore/runtime/JSActivation.h
r94875 r94929 77 77 static const ClassInfo s_info; 78 78 79 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info); }79 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); } 80 80 81 81 protected: -
trunk/Source/JavaScriptCore/runtime/JSArray.h
r94599 r94929 152 152 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 153 153 { 154 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);154 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 155 155 } 156 156 -
trunk/Source/JavaScriptCore/runtime/JSByteArray.cpp
r94599 r94929 52 52 Structure* JSByteArray::createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype, const JSC::ClassInfo* classInfo) 53 53 { 54 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,classInfo);54 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), classInfo); 55 55 } 56 56 -
trunk/Source/JavaScriptCore/runtime/JSCell.h
r94774 r94929 146 146 147 147 protected: 148 static const unsigned AnonymousSlotCount = 0;149 148 150 149 void finishCreation(JSGlobalData&); -
trunk/Source/JavaScriptCore/runtime/JSFunction.h
r94701 r94929 120 120 { 121 121 ASSERT(globalObject); 122 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);122 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 123 123 } 124 124 -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h
r94875 r94929 168 168 Base::finishCreation(globalData); 169 169 structure()->setGlobalObject(globalData, this); 170 COMPILE_ASSERT(JSGlobalObject::AnonymousSlotCount == 1, JSGlobalObject_has_only_a_single_slot);171 170 putThisToAnonymousValue(0); 172 171 init(thisValue); … … 275 274 static Structure* createStructure(JSGlobalData& globalData, JSValue prototype) 276 275 { 277 return Structure::create(globalData, 0, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);276 return Structure::create(globalData, 0, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 278 277 } 279 278 … … 295 294 protected: 296 295 297 static const unsigned AnonymousSlotCount = JSVariableObject::AnonymousSlotCount + 1;298 296 static const unsigned StructureFlags = OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames | JSVariableObject::StructureFlags; 299 297 -
trunk/Source/JavaScriptCore/runtime/JSNotAnObject.h
r94599 r94929 56 56 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 57 57 { 58 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);58 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 59 59 } 60 60 -
trunk/Source/JavaScriptCore/runtime/JSONObject.h
r94875 r94929 46 46 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 47 47 { 48 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);48 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 49 49 } 50 50 -
trunk/Source/JavaScriptCore/runtime/JSObject.h
r94814 r94929 232 232 } 233 233 234 void putAnonymousValue(JSGlobalData& globalData, unsigned index, JSValue value)235 {236 ASSERT(index < m_structure->anonymousSlotCount());237 locationForOffset(index)->set(globalData, this, value);238 }239 void clearAnonymousValue(unsigned index)240 {241 ASSERT(index < m_structure->anonymousSlotCount());242 locationForOffset(index)->clear();243 }244 JSValue getAnonymousValue(unsigned index) const245 {246 ASSERT(index < m_structure->anonymousSlotCount());247 return locationForOffset(index)->get();248 }249 250 234 JSGlobalObject* globalObject() const 251 235 { … … 275 259 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 276 260 { 277 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);261 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 278 262 } 279 263 … … 352 336 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 353 337 { 354 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);338 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 355 339 } 356 340 … … 399 383 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 400 384 { 401 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);385 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 402 386 } 403 387 -
trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp
r93920 r94929 55 55 o->getPropertyNames(exec, propertyNames); 56 56 size_t numCacheableSlots = 0; 57 if (!o->structure()->hasNonEnumerableProperties() && !o->structure()->hasAnonymousSlots() && 58 !o->structure()->hasGetterSetterProperties() && !o->structure()->isUncacheableDictionary() && 59 !o->structure()->typeInfo().overridesGetPropertyNames()) 57 if (!o->structure()->hasNonEnumerableProperties() && !o->structure()->hasGetterSetterProperties() 58 && !o->structure()->isUncacheableDictionary() && !o->structure()->typeInfo().overridesGetPropertyNames()) 60 59 numCacheableSlots = o->structure()->propertyStorageSize(); 61 60 -
trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h
r94599 r94929 56 56 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 57 57 { 58 return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), AnonymousSlotCount,&s_info);58 return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), &s_info); 59 59 } 60 60 -
trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.h
r94875 r94929 50 50 void putWithAttributes(ExecState*, const Identifier&, JSValue, unsigned attributes); 51 51 52 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info); }52 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); } 53 53 54 54 protected: -
trunk/Source/JavaScriptCore/runtime/JSString.h
r94599 r94929 439 439 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 440 440 { 441 return Structure::create(globalData, globalObject, proto, TypeInfo(StringType, OverridesGetOwnPropertySlot), AnonymousSlotCount,&s_info);441 return Structure::create(globalData, globalObject, proto, TypeInfo(StringType, OverridesGetOwnPropertySlot), &s_info); 442 442 } 443 443 -
trunk/Source/JavaScriptCore/runtime/JSVariableObject.h
r94599 r94929 64 64 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 65 65 { 66 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);66 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 67 67 } 68 68 -
trunk/Source/JavaScriptCore/runtime/JSWrapperObject.h
r94599 r94929 38 38 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 39 39 { 40 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);40 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 41 41 } 42 42 -
trunk/Source/JavaScriptCore/runtime/MathObject.h
r94875 r94929 46 46 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 47 47 { 48 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);48 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 49 49 } 50 50 -
trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.h
r94875 r94929 44 44 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 45 45 { 46 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);46 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 47 47 } 48 48 -
trunk/Source/JavaScriptCore/runtime/NumberConstructor.h
r94875 r94929 45 45 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 46 46 { 47 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);47 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); 48 48 } 49 49 -
trunk/Source/JavaScriptCore/runtime/NumberObject.h
r94875 r94929 45 45 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 46 46 { 47 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);47 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 48 48 } 49 49 -
trunk/Source/JavaScriptCore/runtime/NumberPrototype.cpp
r94875 r94929 77 77 } 78 78 79 void NumberPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject)79 void NumberPrototype::finishCreation(ExecState* exec, JSGlobalObject*) 80 80 { 81 81 Base::finishCreation(exec->globalData()); … … 83 83 84 84 ASSERT(inherits(&s_info)); 85 putAnonymousValue(globalObject->globalData(), 0, globalObject);86 85 } 87 86 -
trunk/Source/JavaScriptCore/runtime/NumberPrototype.h
r94875 r94929 39 39 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 40 40 { 41 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);41 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 42 42 } 43 43 … … 45 45 void finishCreation(ExecState*, JSGlobalObject*); 46 46 static const unsigned StructureFlags = OverridesGetOwnPropertySlot | NumberObject::StructureFlags; 47 static const unsigned AnonymousSlotCount = NumberObject::AnonymousSlotCount + 1;48 47 49 48 private: -
trunk/Source/JavaScriptCore/runtime/ObjectConstructor.h
r94875 r94929 44 44 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 45 45 { 46 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);46 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 47 47 } 48 48 -
trunk/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
r94364 r94929 70 70 } 71 71 72 void ObjectPrototype::finishCreation(JSGlobalData& globalData, JSGlobalObject* globalObject)72 void ObjectPrototype::finishCreation(JSGlobalData& globalData, JSGlobalObject*) 73 73 { 74 74 Base::finishCreation(globalData); 75 75 ASSERT(inherits(&s_info)); 76 putAnonymousValue(globalObject->globalData(), 0, globalObject);77 76 } 78 77 -
trunk/Source/JavaScriptCore/runtime/ObjectPrototype.h
r94599 r94929 41 41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 44 44 } 45 45 46 46 protected: 47 47 static const unsigned StructureFlags = OverridesGetOwnPropertySlot | JSNonFinalObject::StructureFlags; 48 static const unsigned AnonymousSlotCount = JSNonFinalObject::AnonymousSlotCount + 1;49 48 50 49 void finishCreation(JSGlobalData&, JSGlobalObject*); -
trunk/Source/JavaScriptCore/runtime/RegExp.h
r94599 r94929 69 69 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 70 70 { 71 return Structure::create(globalData, globalObject, prototype, TypeInfo(LeafType, 0), 0,&s_info);71 return Structure::create(globalData, globalObject, prototype, TypeInfo(LeafType, 0), &s_info); 72 72 } 73 73 -
trunk/Source/JavaScriptCore/runtime/RegExpConstructor.h
r94875 r94929 67 67 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 68 68 { 69 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);69 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 70 70 } 71 71 -
trunk/Source/JavaScriptCore/runtime/RegExpObject.h
r94875 r94929 74 74 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 75 75 { 76 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);76 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 77 77 } 78 78 -
trunk/Source/JavaScriptCore/runtime/RegExpPrototype.h
r94599 r94929 40 40 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 41 41 { 42 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);42 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 43 43 } 44 44 -
trunk/Source/JavaScriptCore/runtime/ScopeChain.h
r94599 r94929 87 87 #endif 88 88 89 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount,&s_info); }89 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), &s_info); } 90 90 virtual void visitChildren(SlotVisitor&); 91 91 static JS_EXPORTDATA const ClassInfo s_info; -
trunk/Source/JavaScriptCore/runtime/StrictEvalActivation.h
r94599 r94929 48 48 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 49 49 { 50 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);50 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 51 51 } 52 52 -
trunk/Source/JavaScriptCore/runtime/StringConstructor.h
r94875 r94929 41 41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 44 44 } 45 45 -
trunk/Source/JavaScriptCore/runtime/StringObject.h
r94875 r94929 61 61 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 62 62 { 63 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);63 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 64 64 } 65 65 -
trunk/Source/JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h
r94875 r94929 49 49 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 50 50 { 51 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);51 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), &s_info); 52 52 } 53 53 -
trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp
r94875 r94929 138 138 } 139 139 140 void StringPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject, JSString* nameAndMessage)140 void StringPrototype::finishCreation(ExecState* exec, JSGlobalObject*, JSString* nameAndMessage) 141 141 { 142 142 Base::finishCreation(exec->globalData(), nameAndMessage); 143 143 ASSERT(inherits(&s_info)); 144 144 145 putAnonymousValue(exec->globalData(), 0, globalObject);146 145 // The constructor will be added later, after StringConstructor has been built 147 146 putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(0), DontDelete | ReadOnly | DontEnum); -
trunk/Source/JavaScriptCore/runtime/StringPrototype.h
r94875 r94929 45 45 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 46 46 { 47 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);47 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 48 48 } 49 49 … … 54 54 static const unsigned StructureFlags = OverridesGetOwnPropertySlot | StringObject::StructureFlags; 55 55 56 COMPILE_ASSERT(!StringObject::AnonymousSlotCount, StringPrototype_stomps_on_your_anonymous_slot);57 static const unsigned AnonymousSlotCount = 1;58 56 }; 59 57 -
trunk/Source/JavaScriptCore/runtime/Structure.cpp
r94701 r94929 160 160 } 161 161 162 Structure::Structure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo& typeInfo, unsigned anonymousSlotCount,const ClassInfo* classInfo)162 Structure::Structure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo& typeInfo, const ClassInfo* classInfo) 163 163 : JSCell(globalData, globalData.structureStructure.get()) 164 164 , m_typeInfo(typeInfo) … … 174 174 , m_attributesInPrevious(0) 175 175 , m_specificFunctionThrashCount(0) 176 , m_anonymousSlotCount(anonymousSlotCount)177 176 , m_preventExtensions(false) 178 177 , m_didTransition(false) … … 195 194 , m_attributesInPrevious(0) 196 195 , m_specificFunctionThrashCount(0) 197 , m_anonymousSlotCount(0)198 196 , m_preventExtensions(false) 199 197 , m_didTransition(false) … … 214 212 , m_attributesInPrevious(0) 215 213 , m_specificFunctionThrashCount(previous->m_specificFunctionThrashCount) 216 , m_anonymousSlotCount(previous->anonymousSlotCount())217 214 , m_preventExtensions(previous->m_preventExtensions) 218 215 , m_didTransition(true) … … 254 251 for (ptrdiff_t i = structures.size() - 2; i >= 0; --i) { 255 252 structure = structures[i]; 256 PropertyMapEntry entry(globalData, this, structure->m_nameInPrevious.get(), m_anonymousSlotCount +structure->m_offset, structure->m_attributesInPrevious, structure->m_specificValueInPrevious.get());253 PropertyMapEntry entry(globalData, this, structure->m_nameInPrevious.get(), structure->m_offset, structure->m_attributesInPrevious, structure->m_specificValueInPrevious.get()); 257 254 m_propertyTable->add(entry); 258 255 } … … 291 288 return 0; 292 289 ASSERT(existingTransition->m_offset != noOffset); 293 offset = existingTransition->m_offset + existingTransition->m_anonymousSlotCount; 294 ASSERT(offset >= structure->m_anonymousSlotCount); 295 ASSERT(structure->m_anonymousSlotCount == existingTransition->m_anonymousSlotCount); 290 offset = existingTransition->m_offset; 296 291 return existingTransition; 297 292 } … … 323 318 ASSERT(structure != transition); 324 319 offset = transition->putSpecificValue(globalData, propertyName, attributes, specificValue); 325 ASSERT(offset >= structure->m_anonymousSlotCount);326 ASSERT(structure->m_anonymousSlotCount == transition->m_anonymousSlotCount);327 320 if (transition->propertyStorageSize() > transition->propertyStorageCapacity()) 328 321 transition->growPropertyStorageCapacity(); … … 351 344 352 345 offset = transition->putSpecificValue(globalData, propertyName, attributes, specificValue); 353 ASSERT(offset >= structure->m_anonymousSlotCount);354 ASSERT(structure->m_anonymousSlotCount == transition->m_anonymousSlotCount);355 346 if (transition->propertyStorageSize() > transition->propertyStorageCapacity()) 356 347 transition->growPropertyStorageCapacity(); 357 348 358 transition->m_offset = offset - structure->m_anonymousSlotCount; 359 ASSERT(structure->anonymousSlotCount() == transition->anonymousSlotCount()); 349 transition->m_offset = offset; 360 350 structure->m_transitionTable.add(globalData, transition); 361 351 return transition; … … 369 359 370 360 offset = transition->remove(propertyName); 371 ASSERT(offset >= structure->m_anonymousSlotCount);372 ASSERT(structure->m_anonymousSlotCount == transition->m_anonymousSlotCount);373 361 374 362 return transition; … … 386 374 transition->m_propertyTable = structure->copyPropertyTable(globalData, transition); 387 375 transition->m_isPinnedPropertyTable = true; 388 389 ASSERT(structure->anonymousSlotCount() == transition->anonymousSlotCount()); 376 390 377 return transition; 391 378 } … … 410 397 ASSERT_UNUSED(removed, removed); 411 398 } 412 413 ASSERT(structure->anonymousSlotCount() == transition->anonymousSlotCount()); 399 414 400 return transition; 415 401 } … … 424 410 transition->m_propertyTable = structure->copyPropertyTable(globalData, transition); 425 411 transition->m_isPinnedPropertyTable = true; 426 427 ASSERT(structure->anonymousSlotCount() == transition->anonymousSlotCount()); 412 428 413 return transition; 429 414 } … … 439 424 transition->m_isPinnedPropertyTable = true; 440 425 transition->m_dictionaryKind = kind; 441 442 ASSERT(structure->anonymousSlotCount() == transition->anonymousSlotCount()); 426 443 427 return transition; 444 428 } … … 494 478 transition->m_preventExtensions = true; 495 479 496 ASSERT(structure->anonymousSlotCount() == transition->anonymousSlotCount());497 480 return transition; 498 481 } … … 540 523 ASSERT(m_propertyTable); 541 524 542 unsigned anonymousSlotCount = m_anonymousSlotCount;543 525 size_t propertyCount = m_propertyTable->size(); 544 526 Vector<JSValue> values(propertyCount); … … 549 531 values[i] = object->getDirectOffset(iter->offset); 550 532 // Update property table to have the new property offsets 551 iter->offset = anonymousSlotCount +i;533 iter->offset = i; 552 534 } 553 535 554 536 // Copy the original property values into their final locations 555 537 for (unsigned i = 0; i < propertyCount; i++) 556 object->putDirectOffset(globalData, anonymousSlotCount +i, values[i]);538 object->putDirectOffset(globalData, i, values[i]); 557 539 558 540 m_propertyTable->clearDeletedOffsets(); … … 575 557 576 558 size_t offset = putSpecificValue(globalData, propertyName, attributes, specificValue); 577 ASSERT(offset >= m_anonymousSlotCount);578 559 if (propertyStorageSize() > propertyStorageCapacity()) 579 560 growPropertyStorageCapacity(); … … 590 571 m_isPinnedPropertyTable = true; 591 572 size_t offset = remove(propertyName); 592 ASSERT(offset >= m_anonymousSlotCount);593 573 return offset; 594 574 } … … 638 618 attributes = entry->attributes; 639 619 specificValue = entry->specificValue.get(); 640 ASSERT(entry->offset >= m_anonymousSlotCount);641 620 return entry->offset; 642 621 } … … 688 667 newOffset = m_propertyTable->getDeletedOffset(); 689 668 else 690 newOffset = m_propertyTable->size() + m_anonymousSlotCount; 691 ASSERT(newOffset >= m_anonymousSlotCount); 669 newOffset = m_propertyTable->size(); 692 670 693 671 m_propertyTable->add(PropertyMapEntry(globalData, this, rep, newOffset, attributes, specificValue)); … … 713 691 714 692 size_t offset = position.first->offset; 715 ASSERT(offset >= m_anonymousSlotCount);716 693 717 694 m_propertyTable->remove(position); … … 845 822 for (PropertyTable::iterator iter = m_propertyTable->begin(); iter != end; ++iter) { 846 823 ASSERT(!(iter->attributes & DontEnum)); 847 ASSERT(iter->offset >= m_anonymousSlotCount);848 824 } 849 825 } -
trunk/Source/JavaScriptCore/runtime/Structure.h
r94701 r94929 63 63 typedef JSCell Base; 64 64 65 static Structure* create(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo& typeInfo, unsigned anonymousSlotCount,const ClassInfo* classInfo)65 static Structure* create(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo& typeInfo, const ClassInfo* classInfo) 66 66 { 67 67 ASSERT(globalData.structureStructure); 68 68 ASSERT(classInfo); 69 Structure* structure = new (allocateCell<Structure>(globalData.heap)) Structure(globalData, globalObject, prototype, typeInfo, anonymousSlotCount,classInfo);69 Structure* structure = new (allocateCell<Structure>(globalData.heap)) Structure(globalData, globalObject, prototype, typeInfo, classInfo); 70 70 structure->finishCreation(globalData); 71 71 return structure; … … 134 134 void growPropertyStorageCapacity(); 135 135 unsigned propertyStorageCapacity() const { ASSERT(structure()->classInfo() == &s_info); return m_propertyStorageCapacity; } 136 unsigned propertyStorageSize() const { ASSERT(structure()->classInfo() == &s_info); return m_anonymousSlotCount +(m_propertyTable ? m_propertyTable->propertyStorageSize() : static_cast<unsigned>(m_offset + 1)); }136 unsigned propertyStorageSize() const { ASSERT(structure()->classInfo() == &s_info); return (m_propertyTable ? m_propertyTable->propertyStorageSize() : static_cast<unsigned>(m_offset + 1)); } 137 137 bool isUsingInlineStorage() const; 138 138 … … 151 151 152 152 bool hasNonEnumerableProperties() const { return m_hasNonEnumerableProperties; } 153 154 bool hasAnonymousSlots() const { return !!m_anonymousSlotCount; }155 unsigned anonymousSlotCount() const { return m_anonymousSlotCount; }156 153 157 154 bool isEmpty() const { return m_propertyTable ? m_propertyTable->isEmpty() : m_offset == noOffset; } … … 192 189 193 190 private: 194 Structure(JSGlobalData&, JSGlobalObject*, JSValue prototype, const TypeInfo&, unsigned anonymousSlotCount,const ClassInfo*);191 Structure(JSGlobalData&, JSGlobalObject*, JSValue prototype, const TypeInfo&, const ClassInfo*); 195 192 Structure(JSGlobalData&); 196 193 Structure(JSGlobalData&, const Structure*); … … 279 276 #endif 280 277 unsigned m_specificFunctionThrashCount : 2; 281 unsigned m_anonymousSlotCount : 5;282 278 unsigned m_preventExtensions : 1; 283 279 unsigned m_didTransition : 1; 284 // 3free bits280 // 8 free bits 285 281 }; 286 282 … … 293 289 294 290 PropertyMapEntry* entry = m_propertyTable->find(propertyName.impl()).first; 295 ASSERT(!entry || entry->offset >= m_anonymousSlotCount);296 291 return entry ? entry->offset : notFound; 297 292 } … … 305 300 306 301 PropertyMapEntry* entry = m_propertyTable->findWithString(name.impl()).first; 307 ASSERT(!entry || entry->offset >= m_anonymousSlotCount);308 302 return entry ? entry->offset : notFound; 309 303 } -
trunk/Source/JavaScriptCore/runtime/StructureChain.h
r94599 r94929 55 55 void visitChildren(SlotVisitor&); 56 56 57 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) { return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), 0,&s_info); }57 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) { return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), &s_info); } 58 58 59 59 static ClassInfo s_info; -
trunk/Source/JavaScriptGlue/ChangeLog
r94920 r94929 1 2011-09-09 Oliver Hunt <oliver@apple.com> 2 3 Remove support for anonymous storage from jsobjects 4 https://bugs.webkit.org/show_bug.cgi?id=67881 5 6 Reviewed by Sam Weinig. 7 8 Don't need an anonymous slot count anymore 9 10 * UserObjectImp.h: 11 (UserObjectImp::createStructure): 12 1 13 2011-08-18 Filip Pizlo <fpizlo@apple.com> 2 14 -
trunk/Source/JavaScriptGlue/UserObjectImp.h
r94599 r94929 69 69 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 70 70 { 71 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames), AnonymousSlotCount,&s_info);71 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames), &s_info); 72 72 } 73 73 -
trunk/Source/WebCore/ChangeLog
r94920 r94929 1 2011-09-09 Oliver Hunt <oliver@apple.com> 2 3 Remove support for anonymous storage from jsobjects 4 https://bugs.webkit.org/show_bug.cgi?id=67881 5 6 Reviewed by Sam Weinig. 7 8 Remove all use of anonymous slots, this required modifying 9 bindings generation to add member variables for cached attributes, 10 and override visitChildren with the necessary logic to mark those 11 new members. 12 13 I added bindings generation tests for these values. 14 15 * bindings/js/JSAudioConstructor.h: 16 (WebCore::JSAudioConstructor::createStructure): 17 * bindings/js/JSDOMBinding.h: 18 (WebCore::DOMConstructorObject::createStructure): 19 * bindings/js/JSDOMGlobalObject.h: 20 (WebCore::JSDOMGlobalObject::createStructure): 21 * bindings/js/JSDOMWindowBase.h: 22 (WebCore::JSDOMWindowBase::createStructure): 23 * bindings/js/JSDOMWindowShell.h: 24 (WebCore::JSDOMWindowShell::createStructure): 25 * bindings/js/JSDOMWrapper.h: 26 (WebCore::JSDOMWrapper::createStructure): 27 * bindings/js/JSImageConstructor.h: 28 (WebCore::JSImageConstructor::createStructure): 29 * bindings/js/JSMessageEventCustom.cpp: 30 (WebCore::JSMessageEvent::data): 31 (WebCore::JSMessageEvent::initMessageEvent): 32 * bindings/js/JSOptionConstructor.h: 33 (WebCore::JSOptionConstructor::createStructure): 34 * bindings/js/JSWorkerContextBase.h: 35 (WebCore::JSWorkerContextBase::createStructure): 36 * bindings/scripts/CodeGeneratorJS.pm: 37 (GenerateHeader): 38 (GenerateImplementation): 39 (GenerateConstructorDeclaration): 40 * bindings/scripts/test/JS/JSTestInterface.cpp: 41 (WebCore::JSTestInterfaceConstructor::createStructure): 42 * bindings/scripts/test/JS/JSTestInterface.h: 43 (WebCore::JSTestInterface::createStructure): 44 (WebCore::JSTestInterfacePrototype::createStructure): 45 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: 46 (WebCore::JSTestMediaQueryListListenerConstructor::createStructure): 47 * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: 48 (WebCore::JSTestMediaQueryListListener::createStructure): 49 (WebCore::JSTestMediaQueryListListenerPrototype::createStructure): 50 * bindings/scripts/test/JS/JSTestObj.cpp: 51 (WebCore::JSTestObjConstructor::createStructure): 52 (WebCore::jsTestObjCachedAttribute1): 53 (WebCore::jsTestObjCachedAttribute2): 54 (WebCore::JSTestObj::visitChildren): 55 * bindings/scripts/test/JS/JSTestObj.h: 56 (WebCore::JSTestObj::createStructure): 57 (WebCore::JSTestObjPrototype::createStructure): 58 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: 59 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure): 60 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: 61 (WebCore::JSTestSerializedScriptValueInterface::createStructure): 62 (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure): 63 * bindings/scripts/test/TestObj.idl: 64 * bindings/scripts/test/V8/V8TestObj.cpp: 65 (WebCore::TestObjInternal::cachedAttribute1AttrGetter): 66 (WebCore::TestObjInternal::cachedAttribute2AttrGetter): 67 * bridge/c/CRuntimeObject.h: 68 (JSC::Bindings::CRuntimeObject::createStructure): 69 * bridge/c/c_instance.cpp: 70 (JSC::Bindings::CRuntimeMethod::createStructure): 71 * bridge/jni/jsc/JavaInstanceJSC.cpp: 72 (JavaRuntimeMethod::createStructure): 73 * bridge/jni/jsc/JavaRuntimeObject.h: 74 (JSC::Bindings::JavaRuntimeObject::createStructure): 75 * bridge/objc/ObjCRuntimeObject.h: 76 (JSC::Bindings::ObjCRuntimeObject::createStructure): 77 * bridge/objc/objc_instance.mm: 78 (ObjCRuntimeMethod::createStructure): 79 * bridge/objc/objc_runtime.h: 80 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 81 * bridge/runtime_array.h: 82 (JSC::RuntimeArray::createStructure): 83 * bridge/runtime_method.h: 84 (JSC::RuntimeMethod::createStructure): 85 * bridge/runtime_object.h: 86 (JSC::Bindings::RuntimeObject::createStructure): 87 1 88 2011-09-01 Filip Pizlo <fpizlo@apple.com> 2 89 -
trunk/Source/WebCore/bindings/js/JSAudioConstructor.h
r94599 r94929 46 46 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 47 47 { 48 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);48 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 49 49 } 50 50 -
trunk/Source/WebCore/bindings/js/JSDOMBinding.h
r94875 r94929 48 48 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 49 49 { 50 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);50 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 51 51 } 52 52 -
trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h
r94875 r94929 73 73 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSValue prototype) 74 74 { 75 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);75 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 76 76 } 77 77 -
trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h
r94599 r94929 53 53 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSValue prototype) 54 54 { 55 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);55 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 56 56 } 57 57 -
trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h
r94875 r94929 65 65 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSValue prototype) 66 66 { 67 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);67 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 68 68 } 69 69 -
trunk/Source/WebCore/bindings/js/JSDOMWrapper.h
r94875 r94929 45 45 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 46 46 { 47 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);47 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 48 48 } 49 49 -
trunk/Source/WebCore/bindings/js/JSImageConstructor.h
r94599 r94929 37 37 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 38 38 { 39 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);39 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 40 40 } 41 41 -
trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp
r94161 r94929 47 47 JSValue JSMessageEvent::data(ExecState* exec) const 48 48 { 49 if (JSValue cachedValue = getAnonymousValue(JSMessageEvent::dataSlot))49 if (JSValue cachedValue = m_data.get()) 50 50 return cachedValue; 51 51 … … 74 74 75 75 // Save the result so we don't have to deserialize the value again. 76 const_cast<JSMessageEvent*>(this)-> putAnonymousValue(exec->globalData(), JSMessageEvent::dataSlot, result);76 const_cast<JSMessageEvent*>(this)->m_data.set(exec->globalData(), this, result); 77 77 return result; 78 78 } … … 116 116 else 117 117 result = jsNull(); 118 putAnonymousValue(exec->globalData(), JSMessageEvent::dataSlot, result);118 m_data.set(exec->globalData(), this, result); 119 119 return jsUndefined(); 120 120 } -
trunk/Source/WebCore/bindings/js/JSOptionConstructor.h
r94599 r94929 38 38 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 39 39 { 40 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);40 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 41 41 } 42 42 -
trunk/Source/WebCore/bindings/js/JSWorkerContextBase.h
r94599 r94929 52 52 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 53 53 { 54 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);54 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 55 55 } 56 56 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r94875 r94929 804 804 " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n" . 805 805 " {\n" . 806 " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);\n" .806 " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);\n" . 807 807 " }\n\n"); 808 809 # visit function810 if ($needsMarkChildren) {811 push(@headerContent, " virtual void visitChildren(JSC::SlotVisitor&);\n\n");812 $structureFlags{"JSC::OverridesVisitChildren"} = 1;813 }814 808 815 809 # Custom pushEventHandlerScope function … … 869 863 $numCustomAttributes++ if $attribute->signature->extendedAttributes->{"CustomSetter"} || $attribute->signature->extendedAttributes->{"JSCCustomSetter"}; 870 864 if ($attribute->signature->extendedAttributes->{"CachedAttribute"}) { 871 push(@headerContent, " static const unsigned " . $attribute->signature->name . "Slot = $numCachedAttributes + Base::AnonymousSlotCount;\n");865 push(@headerContent, " JSC::WriteBarrier<JSC::Unknown> m_" . $attribute->signature->name . ";\n"); 872 866 $numCachedAttributes++; 873 } 874 } 875 } 876 877 if ($numCachedAttributes > 0) { 878 push(@headerContent, " using $parentClassName" . "::putAnonymousValue;\n"); 879 push(@headerContent, " using $parentClassName" . "::getAnonymousValue;\n"); 880 } 867 $needsMarkChildren = 1; 868 } 869 } 870 } 871 872 # visit function 873 if ($needsMarkChildren) { 874 push(@headerContent, " virtual void visitChildren(JSC::SlotVisitor&);\n\n"); 875 $structureFlags{"JSC::OverridesVisitChildren"} = 1; 876 } 877 881 878 if ($numCustomAttributes > 0) { 882 879 push(@headerContent, "\n // Custom attributes\n"); … … 921 918 push(@headerContent, " return static_cast<$implClassName*>(Base::impl());\n"); 922 919 push(@headerContent, " }\n"); 923 }924 925 # anonymous slots926 if ($numCachedAttributes) {927 push(@headerContent, "public:\n");928 push(@headerContent, " static const unsigned AnonymousSlotCount = $numCachedAttributes + Base::AnonymousSlotCount;\n");929 920 } 930 921 … … 1047 1038 " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n" . 1048 1039 " {\n" . 1049 " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);\n" .1040 " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);\n" . 1050 1041 " }\n"); 1051 1042 if ($dataNode->extendedAttributes->{"DelegatingPrototypePutFunction"}) { … … 1534 1525 } 1535 1526 push(@implContent, " ASSERT(inherits(&s_info));\n"); 1536 if ($numCachedAttributes > 0) {1537 push(@implContent, " for (unsigned i = Base::AnonymousSlotCount; i < AnonymousSlotCount; i++)\n");1538 push(@implContent, " putAnonymousValue(globalObject->globalData(), i, JSValue());\n");1539 }1540 1527 push(@implContent, "}\n\n"); 1541 1542 if ($needsMarkChildren && !$dataNode->extendedAttributes->{"CustomMarkFunction"}) {1543 push(@implContent, "void ${className}::visitChildren(SlotVisitor& visitor)\n");1544 push(@implContent, "{\n");1545 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(this, &s_info);\n");1546 push(@implContent, " COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);\n");1547 push(@implContent, " ASSERT(structure()->typeInfo().overridesVisitChildren());\n");1548 push(@implContent, " Base::visitChildren(visitor);\n");1549 push(@implContent, " impl()->visitJSEventListeners(visitor);\n");1550 push(@implContent, "}\n\n");1551 }1552 1528 1553 1529 if (!$dataNode->extendedAttributes->{"ExtendsDOMGlobalObject"}) { … … 1618 1594 push(@implContent, "{\n"); 1619 1595 push(@implContent, " ${className}* castedThis = static_cast<$className*>(asObject(slotBase));\n"); 1596 1597 if ($attribute->signature->extendedAttributes->{"CachedAttribute"}) { 1598 $needsMarkChildren = 1; 1599 } 1620 1600 1621 1601 if ($dataNode->extendedAttributes->{"CheckDomainSecurity"} && … … 1664 1644 $cacheIndex = $currentCachedAttribute; 1665 1645 $currentCachedAttribute++; 1666 push(@implContent, " if (JSValue cachedValue = castedThis->getAnonymousValue(" . $className . "::" . $attribute->signature->name . "Slot))\n");1646 push(@implContent, " if (JSValue cachedValue = m_" . $attribute->signature->name . ".get())\n"); 1667 1647 push(@implContent, " return cachedValue;\n"); 1668 1648 } … … 1689 1669 } 1690 1670 1691 push(@implContent, " castedThis->putAnonymousValue(exec->globalData(), " . $className . "::" . $attribute->signature->name . "Slot, result);\n") if ($attribute->signature->extendedAttributes->{"CachedAttribute"});1671 push(@implContent, " m_" . $attribute->signature->name . ".set(exec->globalData(), this, result);\n") if ($attribute->signature->extendedAttributes->{"CachedAttribute"}); 1692 1672 push(@implContent, " return result;\n"); 1693 1673 … … 2193 2173 } 2194 2174 } 2175 2195 2176 push(@implContent, "}\n\n"); 2196 2177 … … 2204 2185 } 2205 2186 } 2187 2188 if ($needsMarkChildren && !$dataNode->extendedAttributes->{"CustomMarkFunction"}) { 2189 push(@implContent, "void ${className}::visitChildren(SlotVisitor& visitor)\n"); 2190 push(@implContent, "{\n"); 2191 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(this, &s_info);\n"); 2192 push(@implContent, " COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);\n"); 2193 push(@implContent, " ASSERT(structure()->typeInfo().overridesVisitChildren());\n"); 2194 push(@implContent, " Base::visitChildren(visitor);\n"); 2195 if ($dataNode->extendedAttributes->{"EventTarget"}) { 2196 push(@implContent, " impl()->visitJSEventListeners(visitor);\n"); 2197 } 2198 if ($numCachedAttributes > 0) { 2199 foreach (@{$dataNode->attributes}) { 2200 my $attribute = $_; 2201 if ($attribute->signature->extendedAttributes->{"CachedAttribute"}) { 2202 push(@implContent, " if (m_" . $attribute->signature->name . ")\n"); 2203 push(@implContent, " visitor.append(&m_" . $attribute->signature->name . ");\n"); 2204 } 2205 } 2206 } 2207 push(@implContent, "}\n\n"); 2208 } 2209 die "Can't generate binding for class with cached attribute and custom mark." if (($numCachedAttributes > 0) and ($dataNode->extendedAttributes->{"CustomMarkFunction"})); 2206 2210 } 2207 2211 … … 3118 3122 push(@$outputArray, " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n"); 3119 3123 push(@$outputArray, " {\n"); 3120 push(@$outputArray, " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);\n");3124 push(@$outputArray, " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);\n"); 3121 3125 push(@$outputArray, " }\n"); 3122 3126 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
r94875 r94929 79 79 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 80 80 { 81 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);81 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 82 82 } 83 83 protected: -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h
r94766 r94929 47 47 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 48 48 { 49 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);49 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 50 50 } 51 51 … … 75 75 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 76 76 { 77 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);77 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 78 78 } 79 79 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp
r94875 r94929 80 80 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 81 81 { 82 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);82 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 83 83 } 84 84 protected: -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h
r94766 r94929 45 45 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 46 46 { 47 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);47 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 48 48 } 49 49 … … 75 75 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 76 76 { 77 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);77 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 78 78 } 79 79 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
r94875 r94929 117 117 { "conditionalAttr6", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr6Constructor), (intptr_t)setJSTestObjConditionalAttr6Constructor THUNK_GENERATOR(0) }, 118 118 #endif 119 { "cachedAttribute1", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjCachedAttribute1), (intptr_t)0 THUNK_GENERATOR(0) }, 120 { "cachedAttribute2", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjCachedAttribute2), (intptr_t)0 THUNK_GENERATOR(0) }, 119 121 { "description", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjDescription), (intptr_t)0 THUNK_GENERATOR(0) }, 120 122 { "id", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjId), (intptr_t)setJSTestObjId THUNK_GENERATOR(0) }, … … 125 127 126 128 #undef THUNK_GENERATOR 127 static JSC_CONST_HASHTABLE HashTable JSTestObjTable = { 13 4, 127, JSTestObjTableValues, 0 };129 static JSC_CONST_HASHTABLE HashTable JSTestObjTable = { 135, 127, JSTestObjTableValues, 0 }; 128 130 /* Hash table for constructor */ 129 131 #if ENABLE(JIT) … … 180 182 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 181 183 { 182 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);184 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 183 185 } 184 186 protected: … … 671 673 #endif 672 674 675 JSValue jsTestObjCachedAttribute1(ExecState* exec, JSValue slotBase, const Identifier&) 676 { 677 JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(slotBase)); 678 UNUSED_PARAM(exec); 679 if (JSValue cachedValue = m_cachedAttribute1.get()) 680 return cachedValue; 681 TestObj* imp = static_cast<TestObj*>(castedThis->impl()); 682 JSValue result = imp->cachedAttribute1() ? imp->cachedAttribute1()->deserialize(exec, castedThis->globalObject()) : jsNull(); 683 m_cachedAttribute1.set(exec->globalData(), this, result); 684 return result; 685 } 686 687 688 JSValue jsTestObjCachedAttribute2(ExecState* exec, JSValue slotBase, const Identifier&) 689 { 690 JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(slotBase)); 691 UNUSED_PARAM(exec); 692 if (JSValue cachedValue = m_cachedAttribute2.get()) 693 return cachedValue; 694 TestObj* imp = static_cast<TestObj*>(castedThis->impl()); 695 JSValue result = imp->cachedAttribute2() ? imp->cachedAttribute2()->deserialize(exec, castedThis->globalObject()) : jsNull(); 696 m_cachedAttribute2.set(exec->globalData(), this, result); 697 return result; 698 } 699 700 673 701 JSValue jsTestObjDescription(ExecState* exec, JSValue slotBase, const Identifier&) 674 702 { … … 1816 1844 } 1817 1845 1846 void JSTestObj::visitChildren(SlotVisitor& visitor) 1847 { 1848 ASSERT_GC_OBJECT_INHERITS(this, &s_info); 1849 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); 1850 ASSERT(structure()->typeInfo().overridesVisitChildren()); 1851 Base::visitChildren(visitor); 1852 if (m_cachedAttribute1) 1853 visitor.append(&m_cachedAttribute1); 1854 if (m_cachedAttribute2) 1855 visitor.append(&m_cachedAttribute2); 1856 } 1857 1818 1858 // Constant getters 1819 1859 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h
r94766 r94929 46 46 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 47 47 { 48 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);48 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 49 49 } 50 50 51 51 static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*); 52 JSC::WriteBarrier<JSC::Unknown> m_cachedAttribute1; 53 JSC::WriteBarrier<JSC::Unknown> m_cachedAttribute2; 54 virtual void visitChildren(JSC::SlotVisitor&); 55 52 56 53 57 // Custom attributes … … 64 68 protected: 65 69 JSTestObj(JSC::Structure*, JSDOMGlobalObject*, PassRefPtr<TestObj>); 66 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;70 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesVisitChildren | Base::StructureFlags; 67 71 }; 68 72 … … 84 88 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 85 89 { 86 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);90 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 87 91 } 88 92 … … 90 94 JSTestObjPrototype(JSC::JSGlobalData& globalData, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(globalData, structure) { finishCreation(globalData); } 91 95 protected: 92 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;96 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesVisitChildren | Base::StructureFlags; 93 97 }; 94 98 … … 202 206 JSC::JSValue jsTestObjConditionalAttr6Constructor(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); 203 207 void setJSTestObjConditionalAttr6Constructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue); 208 JSC::JSValue jsTestObjCachedAttribute1(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); 209 JSC::JSValue jsTestObjCachedAttribute2(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); 204 210 JSC::JSValue jsTestObjDescription(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); 205 211 JSC::JSValue jsTestObjId(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp
r94875 r94929 81 81 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 82 82 { 83 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);83 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 84 84 } 85 85 protected: -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h
r94766 r94929 47 47 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 48 48 { 49 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);49 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 50 50 } 51 51 … … 75 75 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 76 76 { 77 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);77 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 78 78 } 79 79 -
trunk/Source/WebCore/bindings/scripts/test/TestObj.idl
r94360 r94929 147 147 148 148 #if defined(TESTING_V8) || defined(TESTING_JS) 149 readonly attribute [CachedAttribute] any cachedAttribute1; 150 readonly attribute [CachedAttribute] any cachedAttribute2; 151 #endif 152 153 #if defined(TESTING_V8) || defined(TESTING_JS) 149 154 // Overloads 150 155 void overloadedMethod(in TestObj objArg, in DOMString strArg); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
r94891 r94929 40 40 #include "V8Proxy.h" 41 41 #include "V8TestCallback.h" 42 #include "V8any.h" 42 43 #include "V8int.h" 43 44 #include "V8log.h" … … 580 581 581 582 #endif // ENABLE(Condition1) || ENABLE(Condition2) 583 584 static v8::Handle<v8::Value> cachedAttribute1AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) 585 { 586 INC_STATS("DOM.TestObj.cachedAttribute1._get"); 587 TestObj* imp = V8TestObj::toNative(info.Holder()); 588 RefPtr<any> result = imp->cachedAttribute1(); 589 v8::Handle<v8::Value> wrapper = result.get() ? getDOMObjectMap().get(result.get()) : v8::Handle<v8::Value>(); 590 if (wrapper.IsEmpty()) { 591 wrapper = toV8(result.get()); 592 if (!wrapper.IsEmpty()) 593 V8DOMWrapper::setNamedHiddenReference(info.Holder(), "cachedAttribute1", wrapper); 594 } 595 return wrapper; 596 } 597 598 static v8::Handle<v8::Value> cachedAttribute2AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) 599 { 600 INC_STATS("DOM.TestObj.cachedAttribute2._get"); 601 TestObj* imp = V8TestObj::toNative(info.Holder()); 602 RefPtr<any> result = imp->cachedAttribute2(); 603 v8::Handle<v8::Value> wrapper = result.get() ? getDOMObjectMap().get(result.get()) : v8::Handle<v8::Value>(); 604 if (wrapper.IsEmpty()) { 605 wrapper = toV8(result.get()); 606 if (!wrapper.IsEmpty()) 607 V8DOMWrapper::setNamedHiddenReference(info.Holder(), "cachedAttribute2", wrapper); 608 } 609 return wrapper; 610 } 582 611 583 612 static v8::Handle<v8::Value> enabledAtRuntimeAttr1AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) … … 1278 1307 {"conditionalAttr6", TestObjInternal::TestObjConstructorGetter, 0, &V8TestObjectC::info, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::ReadOnly), 0 /* on instance */}, 1279 1308 #endif // ENABLE(Condition1) || ENABLE(Condition2) 1309 // Attribute 'cachedAttribute1' (Type: 'readonly attribute' ExtAttr: 'CachedAttribute') 1310 {"cachedAttribute1", TestObjInternal::cachedAttribute1AttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 1311 // Attribute 'cachedAttribute2' (Type: 'readonly attribute' ExtAttr: 'CachedAttribute') 1312 {"cachedAttribute2", TestObjInternal::cachedAttribute2AttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 1280 1313 // Attribute 'description' (Type: 'readonly attribute' ExtAttr: '') 1281 1314 {"description", TestObjInternal::descriptionAttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, -
trunk/Source/WebCore/bridge/c/CRuntimeObject.h
r94875 r94929 57 57 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 58 58 { 59 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);59 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 60 60 } 61 61 -
trunk/Source/WebCore/bridge/c/c_instance.cpp
r94599 r94929 124 124 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 125 125 { 126 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);126 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 127 127 } 128 128 -
trunk/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
r94599 r94929 129 129 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 130 130 { 131 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);131 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 132 132 } 133 133 -
trunk/Source/WebCore/bridge/jni/jsc/JavaRuntimeObject.h
r94875 r94929 55 55 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 56 56 { 57 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);57 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 58 58 } 59 59 -
trunk/Source/WebCore/bridge/objc/ObjCRuntimeObject.h
r94875 r94929 54 54 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 55 55 { 56 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);56 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 57 57 } 58 58 -
trunk/Source/WebCore/bridge/objc/objc_instance.mm
r94599 r94929 184 184 static Structure* createStructure(JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSValue prototype) 185 185 { 186 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);186 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 187 187 } 188 188 -
trunk/Source/WebCore/bridge/objc/objc_runtime.h
r94875 r94929 115 115 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 116 116 { 117 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);117 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 118 118 } 119 119 -
trunk/Source/WebCore/bridge/qt/qt_instance.cpp
r94875 r94929 71 71 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 72 72 { 73 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);73 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 74 74 } 75 75 -
trunk/Source/WebCore/bridge/qt/qt_pixmapruntime.cpp
r94875 r94929 212 212 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 213 213 { 214 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);214 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 215 215 } 216 216 -
trunk/Source/WebCore/bridge/qt/qt_runtime.h
r94875 r94929 141 141 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 142 142 { 143 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);143 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 144 144 } 145 145 -
trunk/Source/WebCore/bridge/runtime_array.h
r94875 r94929 73 73 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 74 74 { 75 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);75 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 76 76 } 77 77 -
trunk/Source/WebCore/bridge/runtime_method.h
r94875 r94929 54 54 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 55 55 { 56 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);56 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 57 57 } 58 58 -
trunk/Source/WebCore/bridge/runtime_object.h
r94875 r94929 71 71 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 72 72 { 73 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);73 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 74 74 } 75 75 -
trunk/Source/WebKit/mac/ChangeLog
r94908 r94929 1 2011-09-09 Oliver Hunt <oliver@apple.com> 2 3 Remove support for anonymous storage from jsobjects 4 https://bugs.webkit.org/show_bug.cgi?id=67881 5 6 Reviewed by Sam Weinig. 7 8 Remove the use of AnonymousSlotCount 9 10 * Plugins/Hosted/ProxyInstance.mm: 11 (WebKit::ProxyRuntimeMethod::createStructure): 12 * Plugins/Hosted/ProxyRuntimeObject.h: 13 (WebKit::ProxyRuntimeObject::createStructure): 14 1 15 2011-09-09 Chris Marrin <cmarrin@apple.com> 2 16 -
trunk/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
r94599 r94929 192 192 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 193 193 { 194 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount,&s_info);194 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); 195 195 } 196 196 -
trunk/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.h
r94875 r94929 54 54 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 55 55 { 56 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);56 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 57 57 } 58 58 -
trunk/Source/WebKit2/ChangeLog
r94908 r94929 1 2011-09-09 Oliver Hunt <oliver@apple.com> 2 3 Remove support for anonymous storage from jsobjects 4 https://bugs.webkit.org/show_bug.cgi?id=67881 5 6 Reviewed by Sam Weinig. 7 8 Remove the use of AnonymousSlotCount. 9 10 * WebProcess/Plugins/Netscape/JSNPMethod.h: 11 (WebKit::JSNPMethod::createStructure): 12 * WebProcess/Plugins/Netscape/JSNPObject.h: 13 (WebKit::JSNPObject::createStructure): 14 1 15 2011-09-09 Chris Marrin <cmarrin@apple.com> 2 16 -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
r94875 r94929 58 58 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 59 59 { 60 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);60 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 61 61 } 62 62 -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h
r94875 r94929 77 77 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 78 78 { 79 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount,&s_info);79 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info); 80 80 } 81 81
Note: See TracChangeset
for help on using the changeset viewer.