Navigation
| Name | AutoRTFM |
| Type | Runtime |
| Location | /Engine/Source/Runtime/AutoRTFM/ |
| Module Build Rules | AutoRTFM.Build.cs |
Classes
| Name | Remarks |
|---|---|
| TOpenWrapper | An object wrapper that will ensure the copy constructor, move constructor, copy assignment, move assignment and destructor are all called in the open. |
| TTask | TTask is a small std::function like class that can wrap a functor (lambda, etc). |
Structs
| Name | Remarks |
|---|---|
| autortfm_extern_api | Function pointers used by AutoRTFM for heap allocations, etc. |
| autortfm_open_to_closed_mapping | autortfm_open_to_closed_mapping maps an open function to its closed variant. |
| autortfm_open_to_closed_table | autortfm_open_to_closed_table holds a pointer to a null-terminated list of autortfm_open_to_closed_mapping, and an intrusive linked-list pointer to the previous and next registered autortfm_open_to_closed_table. |
| FAutoRTFMMetrics | |
| FCrashInfo | |
| FEnabledStateResetterScoped |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| autortfm_callstack_frame | unsigned long long | A single frame of a callstack capture. | AutoRTFM/CAPI.h |
| autortfm_transaction_id | uint64_t | An opaque unique identifier for a transaction. | AutoRTFM/CAPI.h |
Enums
Public
| Name | Remarks |
|---|---|
| AutoRTFM::EReturnFromOpenMode | An enumerator of modes used to control the behaviour of values passed across the open -> closed boundary. |
| autortfm_context_status | An enumerator of AutoRTFM context status modes. This must match AutoRTFM::EContextStatus. |
| autortfm_log_severity | AutoRTFM logging severity. |
| autortfm_mode | An enumerator of mutually exclusive AutoRTFM modes applied to functions or classes. |
| autortfm_sanitizer_mode | An enumerator of AutoRTFM sanitizer modes. |
| autortfm_transaction_status | This must match values in AutoRTFM::ETransactionStatus / AutoRTFM::ETransactionResult. |
| autortfm_write_flags | Flags that can be passed to autortfm_record_open_write_with_flags(). |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| autortfm_last_mode | const autortfm_mode | The last mode declared in autortfm_mode. Used for range checking. | AutoRTFM/Constants.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AutoRTFM::Testing::AssertionFailure
(
const char* Expression, |
Implemented by the test framework, and called when AUTORTFM_TESTING_ASSERT() fails. | AutoRTFM/Testing.h | |
const char * autortfm_mode_to_string
(
autortfm_mode Mode |
Returns the AutoRTFM mode as a string. | AutoRTFM/Constants.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void AutoRTFM::Testing::Abort
(
const TFunctor& Functor |
Run the callback in a transaction like Transact, but abort program execution if the result is anything other than abort. | AutoRTFM/Testing.h | |
static void AutoRTFM::Testing::Commit
(
const TFunctor& Functor |
Run the callback in a transaction like Transact, but abort program execution if the result is anything other than autortfm_committed. | AutoRTFM/Testing.h | |
static void autortfm_abort_transaction() |
AutoRTFM/CAPI.h | ||
static void autortfm_cascading_abort_transaction() |
AutoRTFM/CAPI.h | ||
static void autortfm_cascading_retry_transaction() |
AutoRTFM/CAPI.h | ||
static void autortfm_check_abi
(
void* ptr, |
If running with AutoRTFM enabled, then perform an ABI check between the AutoRTFM compiler and the AutoRTFM runtime, to ensure that memory is being laid out in an identical manner between the AutoRTFM runtime and the AutoRTFM compiler pass. | AutoRTFM/CAPI.h | |
static autortfm_transaction_status autortfm_close
(
void(*)(void*) UninstrumentedWork, |
AutoRTFM/CAPI.h | ||
static void autortfm_commit_transaction() |
AutoRTFM/CAPI.h | ||
static autortfm_transaction_id autortfm_current_transaction_id() |
AutoRTFM/CAPI.h | ||
static void autortfm_debug_dump_ir () |
Debug utility: place a call to this function in a function body to have the AutoRTFM compiler dump that function's IR at each pipeline stage (pre/post EarlyPass, pre/post InstrumentationPass). | AutoRTFM/CAPI.h | |
static void * autortfm_did_allocate
(
void* ptr, |
AutoRTFM/CAPI.h | ||
static void autortfm_did_free
(
void* ptr |
AutoRTFM/CAPI.h | ||
static autortfm_context_status autortfm_get_context_status() |
AutoRTFM/CAPI.h | ||
static void autortfm_initialize
(
const autortfm_extern_api* ExternAPI |
AutoRTFM/CAPI.h | ||
static bool autortfm_is_closed() |
AutoRTFM/CAPI.h | ||
static bool autortfm_is_context_status
(
autortfm_context_status Status |
AutoRTFM/CAPI.h | ||
static bool autortfm_is_on_current_transaction_stack
(
void* Ptr |
AutoRTFM/CAPI.h | ||
static void * autortfm_lookup_function
(
void* OriginalFunction, |
AutoRTFM/CAPI.h | ||
static void autortfm_on_abort
(
void(*)(void*arg) work, |
AutoRTFM/CAPI.h | ||
static void autortfm_on_commit
(
void(*)(void*arg) work, |
AutoRTFM/CAPI.h | ||
static void autortfm_on_pre_abort
(
void(*)(void*arg) work, |
AutoRTFM/CAPI.h | ||
static void autortfm_open
(
void(*)(void*arg) work, |
AutoRTFM/CAPI.h | ||
static void autortfm_open_no_sanitize
(
void(*)(void*arg) work, |
AutoRTFM/CAPI.h | ||
static void autortfm_pop_on_abort_handler
(
const void* key |
AutoRTFM/CAPI.h | ||
static void autortfm_push_on_abort_handler
(
const void* key, |
AutoRTFM/CAPI.h | ||
static void autortfm_record_open_write
(
void* Ptr, |
AutoRTFM/CAPI.h | ||
static void autortfm_record_open_write_with_flags
(
void* Ptr, |
AutoRTFM/CAPI.h | ||
static void autortfm_register_open_to_closed_functions
(
autortfm_open_to_closed_table* Table |
AutoRTFM/CAPI.h | ||
static void autortfm_shutdown() |
AutoRTFM/CAPI.h | ||
static void autortfm_start_transaction() |
AutoRTFM/CAPI.h | ||
static autortfm_transaction_status autortfm_transact
(
void(*)(void*) UninstrumentedWork, |
AutoRTFM/CAPI.h | ||
static autortfm_transaction_status autortfm_transact_then_open
(
void(*)(void*) UninstrumentedWork, |
AutoRTFM/CAPI.h | ||
static void autortfm_unreachable
(
const char* Message |
AutoRTFM/CAPI.h | ||
static void autortfm_unregister_open_to_closed_functions
(
autortfm_open_to_closed_table* Table |
AutoRTFM/CAPI.h |