Esempio n. 1
0
    TypePropertyCache *Type::CreatePropertyCache()
    {
        Assert(!propertyCache);

        propertyCache = RecyclerNew(GetRecycler(), TypePropertyCache);
        return propertyCache;
    }
Esempio n. 2
0
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();
}
Esempio n. 3
0
 RecyclerWeakReference<DynamicObject>* DynamicObject::CreateWeakReferenceToSelf()
 {
     Assert(!ThreadContext::IsOnStack(this));
     return GetRecycler()->CreateWeakReferenceHandle(this);
 }
Esempio n. 4
0
 DynamicType* DynamicObject::DuplicateType()
 {
     return RecyclerNew(GetRecycler(), DynamicType, this->GetDynamicType());
 }