You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Removed VVisitorWrapper since archiving has different API needs than marking.
Improved const-ness of the VMarkStackVisitor. #rnx #rb neil.henning [CL 29597622 by tim smith in ue5-main branch]
This commit is contained in:
@@ -54,7 +54,6 @@
|
||||
#include "VerseVM/VVMHeap.h"
|
||||
#include "VerseVM/VVMMarkStack.h"
|
||||
#include "VerseVM/VVMValue.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
#include "VerseVM/VVMWriteBarrier.h"
|
||||
#endif
|
||||
|
||||
@@ -3198,7 +3197,7 @@ struct TVerseDebugReachabilityVisitor : public Verse::FAbstractVisitor
|
||||
{
|
||||
}
|
||||
|
||||
virtual void VisitNonNull(const Verse::VCell* InCell) override
|
||||
virtual void VisitNonNull(Verse::VCell* InCell) override
|
||||
{
|
||||
Context.Stats.AddVerseCells(1);
|
||||
if (MarkStack.TryMarkNonNull(InCell) && bTrackHistory)
|
||||
@@ -3212,21 +3211,20 @@ struct TVerseDebugReachabilityVisitor : public Verse::FAbstractVisitor
|
||||
}
|
||||
}
|
||||
|
||||
virtual void VisitNonNull(const UObject* InObject) override
|
||||
virtual void VisitNonNull(UObject* InObject) override
|
||||
{
|
||||
UObject* Object = const_cast<UObject*>(InObject);
|
||||
UE::GC::GStats.IncreaseObjectRefStats(Object);
|
||||
UE::GC::GStats.IncreaseObjectRefStats(InObject);
|
||||
Verse::FAbstractVisitor::FReferrerContext* VisitorContext = GetContext();
|
||||
const Verse::VCell* Referencer = VisitorContext != nullptr && VisitorContext->GetReferrer().IsCell() ? VisitorContext->GetReferrer().AsCell() : nullptr;
|
||||
if (ValidateReference(Object, PermanentPool, FReferenceToken(Referencer), FMemberId(0)))
|
||||
if (ValidateReference(InObject, PermanentPool, FReferenceToken(Referencer), FMemberId(0)))
|
||||
{
|
||||
FReferenceMetadata Metadata(GUObjectArray.ObjectToIndex(Object));
|
||||
bool bReachedFirst = TReachabilityProcessor<Options>::HandleValidReference(Context, FImmutableReference{ Object }, Metadata);
|
||||
FReferenceMetadata Metadata(GUObjectArray.ObjectToIndex(InObject));
|
||||
bool bReachedFirst = TReachabilityProcessor<Options>::HandleValidReference(Context, FImmutableReference{ InObject }, Metadata);
|
||||
if (bReachedFirst && bTrackHistory)
|
||||
{
|
||||
if (Referencer != nullptr)
|
||||
{
|
||||
GetContextHistoryReferences(Context, FReferenceToken(Referencer), 0).Add(FGCDirectReference(Object));
|
||||
GetContextHistoryReferences(Context, FReferenceToken(Referencer), 0).Add(FGCDirectReference(InObject));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#if WITH_VERSE_VM || defined(__INTELLISENSE__)
|
||||
#include "VerseVM/VVMAbstractVisitor.h"
|
||||
#include "VerseVM/VVMRestValue.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
void FAbstractVisitor::VisitNonNull(VCell* InCell)
|
||||
{
|
||||
}
|
||||
|
||||
void FAbstractVisitor::VisitNonNull(UObject* InObject)
|
||||
{
|
||||
}
|
||||
|
||||
void FAbstractVisitor::VisitEmergentType(const VCell* InEmergentType)
|
||||
{
|
||||
VisitNonNull(const_cast<VCell*>(InEmergentType));
|
||||
}
|
||||
|
||||
void FAbstractVisitor::Visit(VCell* InCell)
|
||||
{
|
||||
if (InCell != nullptr)
|
||||
{
|
||||
VisitNonNull(InCell);
|
||||
}
|
||||
}
|
||||
|
||||
void FAbstractVisitor::Visit(UObject* InObject)
|
||||
{
|
||||
if (InObject != nullptr)
|
||||
{
|
||||
VisitNonNull(InObject);
|
||||
}
|
||||
}
|
||||
|
||||
void FAbstractVisitor::Visit(VValue Value)
|
||||
{
|
||||
if (VCell* Cell = Value.ExtractCell())
|
||||
{
|
||||
Visit(Cell);
|
||||
}
|
||||
else if (Value.IsUObject())
|
||||
{
|
||||
Visit(Value.AsUObject());
|
||||
}
|
||||
}
|
||||
|
||||
void FAbstractVisitor::Visit(VRestValue& Value)
|
||||
{
|
||||
Value.Visit(*this);
|
||||
}
|
||||
|
||||
} // namespace Verse
|
||||
#endif // WITH_VERSE_VM || defined(__INTELLISENSE__)
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMTuple.h"
|
||||
#include "VerseVM/VVMValue.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
#include "VerseVM/VVMWriteBarrier.h"
|
||||
|
||||
namespace Verse
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "VerseVM/VVMEmergentType.h"
|
||||
#include "VerseVM/VVMHeap.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
#include <type_traits>
|
||||
|
||||
namespace Verse
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMProcedure.h"
|
||||
#include "VerseVM/VVMTypeCreator.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMShape.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "VerseVM/Inline/VVMCellInline.h"
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMProcedure.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMProcedure.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "VerseVM/VVMGlobalTrivialEmergentTypePtr.h"
|
||||
#include "VerseVM/Inline/VVMAbstractVisitorInline.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMNeverDestroyed.h"
|
||||
#include "VerseVM/VVMSubspace.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
#include "pas_scavenger_ue.h"
|
||||
#include "verse_heap_mark_bits_page_commit_controller_ue.h"
|
||||
#include "verse_heap_ue.h"
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "VerseVM/Inline/VVMEqualInline.h"
|
||||
#include "VerseVM/Inline/VVMValueInline.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
#include "VerseVM/VVMWriteBarrier.h"
|
||||
|
||||
namespace Verse
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMValue.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include "VerseVM/Inline/VVMAbstractVisitorInline.h"
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
#include "VerseVM/Inline/VVMCellInline.h"
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMLog.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "VerseVM/Inline/VVMValueInline.h"
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMUnreachable.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "VerseVM/VVMFailureContext.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMProcedure.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
|
||||
namespace Verse
|
||||
{
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "VerseVM/VVMCppClassInfo.h"
|
||||
#include "VerseVM/VVMMarkStackVisitor.h"
|
||||
#include "VerseVM/VVMValue.h"
|
||||
#include "VerseVM/VVMVisitorWrapper.h"
|
||||
#include "VerseVM/VVMWriteBarrier.h"
|
||||
|
||||
namespace Verse
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user