18#ifndef UE_USE_VIRTUAL_STACK_ALLOCATOR_FOR_SCRIPT_VM
19#define UE_USE_VIRTUAL_STACK_ALLOCATOR_FOR_SCRIPT_VM 0
22#if UE_USE_VIRTUAL_STACK_ALLOCATOR_FOR_SCRIPT_VM
36#define UE_VSTACK_MAKE_FRAME(Name, VirtualStackAllocatorPtr) FScopedStackAllocatorBookmark Name = (VirtualStackAllocatorPtr)->CreateScopedBookmark()
37#define UE_VSTACK_ALLOC(VirtualStackAllocatorPtr, Size) UeVstackAllocHelper((VirtualStackAllocatorPtr), (Size), 0)
38#define UE_VSTACK_ALLOC_ALIGNED(VirtualStackAllocatorPtr, Size, Align) UeVstackAllocHelper((VirtualStackAllocatorPtr), (Size), (Align))
40#define UE_VSTACK_MAKE_FRAME(Name, VirtualStackAllocatorPtr)
41#define UE_VSTACK_ALLOC(VirtualStackAllocatorPtr, Size) FMemory_Alloca(Size)
42#define UE_VSTACK_ALLOC_ALIGNED(VirtualStackAllocatorPtr, Size, Align) FMemory_Alloca_Aligned(Size, Align)
141#if UE_USE_VIRTUAL_STACK_ALLOCATOR_FOR_SCRIPT_VM
153#if PER_FUNCTION_SCRIPT_STATS
164#if DO_BLUEPRINT_GUARD
201 template<
class TProperty>
206 template<
class TProperty,
typename TNativeType>
221 template<
typename TNumericType>
284 UE_DEPRECATED(5.1,
"Please use GetStackDescription(FStringBuilderBase&).")
294#if DO_BLUEPRINT_GUARD
314 , MostRecentPropertyAddress(nullptr)
315 , MostRecentPropertyContainer(nullptr)
319 , CurrentNativeFunction(nullptr)
320 , bArrayContextFailed(
false)
321 , bAbortingExecution(
false)
326#if DO_BLUEPRINT_GUARD
327 FBlueprintContextTracker::Get().ScriptStack.Push(
this);
344#if PER_FUNCTION_SCRIPT_STATS
350#if UE_USE_VIRTUAL_STACK_ALLOCATOR_FOR_SCRIPT_VM
365 T Result = FPlatformMemory::ReadUnaligned<T>(
Code);
370template<
typename TNumericType>
380#if UE_WITH_OBJECT_HANDLE_LATE_RESOLVE || UE_WITH_REMOTE_OBJECT_HANDLE
461 FScriptName Result = FPlatformMemory::ReadUnaligned<FScriptName>(
Code);
479template<
class TProperty>
501template<
class TProperty,
typename TNativeType>
#define NULL
Definition oodle2base.h:134
constexpr T Align(T Val, uint64 Alignment)
Definition AlignmentTemplates.h:18
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
#define ensure( InExpression)
Definition AssertionMacros.h:464
Stack MostRecentProperty
Definition BlueprintTypeConversions.cpp:390
#define FORCEINLINE_DEBUGGABLE
Definition CoreMiscDefines.h:74
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
TArray< CodeSkipSizeType, TInlineAllocator< 8 > > FlowStackType
Definition Stack.h:97
EPropertyType
Definition Stack.h:51
@ CPT_Int64
Definition Stack.h:60
@ CPT_Text
Definition Stack.h:76
@ CPT_LazyObjectReference
Definition Stack.h:79
@ CPT_String
Definition Stack.h:75
@ CPT_Bool8
Definition Stack.h:62
@ CPT_MAX
Definition Stack.h:88
@ CPT_Name
Definition Stack.h:68
@ CPT_UInt16
Definition Stack.h:54
@ CPT_UInt32
Definition Stack.h:55
@ CPT_Unused_Index_22
Definition Stack.h:74
@ CPT_SoftObjectReference
Definition Stack.h:81
@ CPT_FLargeWorldCoordinatesReal
Definition Stack.h:86
@ CPT_Int8
Definition Stack.h:57
@ CPT_FieldPath
Definition Stack.h:85
@ CPT_Delegate
Definition Stack.h:69
@ CPT_Float
Definition Stack.h:66
@ CPT_Set
Definition Stack.h:84
@ CPT_WeakObjectReference
Definition Stack.h:78
@ CPT_ObjectPtrReference
Definition Stack.h:80
@ CPT_Bool16
Definition Stack.h:63
@ CPT_MulticastDelegate
Definition Stack.h:77
@ CPT_None
Definition Stack.h:52
@ CPT_Unused_Index_19
Definition Stack.h:71
@ CPT_Bool64
Definition Stack.h:65
@ CPT_Map
Definition Stack.h:83
@ CPT_Int16
Definition Stack.h:58
@ CPT_Byte
Definition Stack.h:53
@ CPT_ObjectReference
Definition Stack.h:67
@ CPT_Bool
Definition Stack.h:61
@ CPT_Double
Definition Stack.h:82
@ CPT_Unused_Index_21
Definition Stack.h:73
@ CPT_Int
Definition Stack.h:59
@ CPT_Bool32
Definition Stack.h:64
@ CPT_Interface
Definition Stack.h:70
@ CPT_UInt64
Definition Stack.h:56
@ CPT_Struct
Definition Stack.h:72
COREUOBJECT_API void GInitRunaway()
Definition ScriptCore.cpp:127
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
FORCEINLINE FName ScriptNameToName(FScriptName InName)
Definition NameTypes.h:1597
#define MAX_uint8
Definition NumericLimits.h:19
uint64 ScriptPointerType
Definition ObjectMacros.h:22
#define RESULT_DECL
Definition Script.h:92
uint32 CodeSkipSizeType
Definition Script.h:67
uint16 VariableSizeType
Definition Script.h:52
#define PER_FUNCTION_SCRIPT_STATS
Definition Script.h:27
#define RESULT_PARAM
Definition Script.h:91
auto GetData(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Get())
Definition StringConv.h:802
uint32 Size
Definition VulkanMemory.cpp:4034
if(Failed) console_printf("Failed.\n")
static COREUOBJECT_API FBlueprintContext * GetThreadSingleton()
Definition ScriptCore.cpp:208
FVirtualStackAllocator * GetVirtualStackAllocator()
Definition Script.h:81
static COREUOBJECT_API FFieldClass * StaticClass()
Definition Field.cpp:293
bool IsA(const FFieldClass *FieldType) const
Definition Field.h:731
FField * Next
Definition Field.h:603
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition UnrealType.h:174
Definition VirtualStackAllocator.h:72
Definition UnrealType.h:1538
Type
Definition LogVerbosity.h:17
Definition FieldSystemNoiseAlgo.cpp:6
@ false
Definition radaudio_common.h:23
uint8 * Locals
Definition Stack.h:120
double ReadDouble()
Definition Stack.h:410
uint8 * Code
Definition Stack.h:119
FFrame(UObject *InObject, UFunction *InNode, void *InLocals, FFrame *InPreviousFrame=NULL, FField *InPropertyChainForCompiledIn=NULL)
Definition Stack.h:308
VariableSizeType ReadVariableSize(FProperty **ExpressionField)
Definition Stack.h:440
static COREUOBJECT_API FFrame * PushThreadLocalTopStackFrame(FFrame *NewTopStackFrame)
Definition ScriptCore.cpp:624
float ReadFloat()
Definition Stack.h:405
FFrame * PreviousFrame
Definition Stack.h:130
FProperty * MostRecentProperty
Definition Stack.h:122
FlowStackType FlowStack
Definition Stack.h:127
T Read()
Definition Stack.h:363
TNumericType ReadInt()
Definition Stack.h:371
FORCEINLINE_DEBUGGABLE TNativeType & StepCompiledInRef(void *const TemporaryBuffer)
Definition Stack.h:502
COREUOBJECT_API FString GetStackDescription() const
Definition ScriptCore.cpp:604
FOutParmRec * OutParms
Definition Stack.h:133
UObject * Object
Definition Stack.h:118
static COREUOBJECT_API FString GetScriptCallstack(bool bReturnEmpty=false, bool bTopOfStackOnly=false)
Definition ScriptCore.cpp:563
FProperty * ReadProperty()
Definition Stack.h:388
static COREUOBJECT_API void PopThreadLocalTopStackFrame(FFrame *NewTopStackFrame)
Definition ScriptCore.cpp:631
FName ReadName()
Definition Stack.h:459
bool bArrayContextFailed
Definition Stack.h:148
ScriptPointerType ReadPointer()
Definition Stack.h:415
FProperty * ReadPropertyUnchecked()
Definition Stack.h:398
const uint8 PeekCode() const
Definition Stack.h:214
COREUOBJECT_API void StepExplicitProperty(void *const Result, FProperty *Property)
Definition ScriptCore.cpp:514
void SkipCode(const int32 NumOps)
Definition Stack.h:217
UObject * ReadObject()
Definition Stack.h:376
FFrame * PreviousTrackingFrame
Definition Stack.h:146
COREUOBJECT_API FString GetStackTrace() const
Definition ScriptCore.cpp:762
bool bAbortingExecution
Definition Stack.h:151
FORCEINLINE_DEBUGGABLE bool StepAndCheckMostRecentProperty(UObject *Context, RESULT_DECL)
Definition Stack.h:468
uint8 * MostRecentPropertyAddress
Definition Stack.h:123
uint8 * MostRecentPropertyContainer
Definition Stack.h:124
virtual ~FFrame()
Definition Stack.h:162
UFunction * Node
Definition Stack.h:117
static COREUOBJECT_API void KismetExecutionMessage(const TCHAR *Message, ELogVerbosity::Type Verbosity, FName WarningId=FName())
Definition ScriptCore.cpp:644
FField * PropertyChainForCompiledIn
Definition Stack.h:136
FORCEINLINE_DEBUGGABLE void StepCompiledIn(void *Result)
Definition Stack.h:480
static COREUOBJECT_API FFrame * GetThreadLocalTopStackFrame()
Definition ScriptCore.cpp:636
CodeSkipSizeType ReadCodeSkipCount()
Definition Stack.h:433
UFunction * CurrentNativeFunction
Definition Stack.h:139
int32 ReadWord()
Definition Stack.h:424
uint8 * PropAddr
Definition Stack.h:105
FOutParmRec * NextOutParm
Definition Stack.h:106
FProperty * Property
Definition Stack.h:104
Definition NameTypes.h:491
Definition ObjectPtr.h:488
FORCEINLINE T * Get() const
Definition ObjectPtr.h:664