DynamicObject::DynamicObject(DynamicType * type, ScriptContext * scriptContext) : #if DBG || defined(PROFILE_TYPES) RecyclableObject(type, scriptContext), #else RecyclableObject(type), #endif auxSlots(nullptr), objectArray(nullptr) { Assert(!UsesObjectArrayOrFlagsAsFlags()); InitSlots(this, scriptContext); }
DynamicObject::DynamicObject(DynamicType * type, const bool initSlots) : RecyclableObject(type), auxSlots(nullptr), objectArray(nullptr) { Assert(!UsesObjectArrayOrFlagsAsFlags()); if(initSlots) { InitSlots(this); } else { Assert(type->GetTypeHandler()->GetInlineSlotCapacity() == type->GetTypeHandler()->GetSlotCapacity()); } }
void DynamicObject::InitSlots(DynamicObject* instance) { InitSlots(instance, GetScriptContext()); }