TypePropertyCache *Type::CreatePropertyCache() { Assert(!propertyCache); propertyCache = RecyclerNew(GetRecycler(), TypePropertyCache); return propertyCache; }
void RecyclerSweep::BackgroundSweep() { this->BeginBackground(forceForeground); if (GetRecycler()->IsPageHeapEnabled()) { // Finish the concurrent part of the first pass this->recycler->autoHeap.SweepSmallNonFinalizable<true>(*this); } else { // Finish the concurrent part of the first pass this->recycler->autoHeap.SweepSmallNonFinalizable<false>(*this); } // Finish the rest of the sweep this->FinishSweep(); this->EndBackground(); }
RecyclerWeakReference<DynamicObject>* DynamicObject::CreateWeakReferenceToSelf() { Assert(!ThreadContext::IsOnStack(this)); return GetRecycler()->CreateWeakReferenceHandle(this); }
DynamicType* DynamicObject::DuplicateType() { return RecyclerNew(GetRecycler(), DynamicType, this->GetDynamicType()); }