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 | |
| FEnabledStateResetterScoped |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| autortfm_transaction_id | uint64_t | An opaque unique identifier for a transaction. | AutoRTFM.h |
Enums
Public
| Name | Remarks |
|---|---|
| autortfm_log_severity | AutoRTFM logging severity. |
| autortfm_memory_validation_level | An enumerator of transactional memory validation levels. |
| autortfm_result | This must match AutoRTFM::ETransactionResult. |
| autortfm_status | This must match AutoRTFM::EContextStatus. |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FAutoRTFMMetrics AutoRTFM::GetAutoRTFMMetrics() |
Get a snapshot of the current internal metrics | AutoRTFMMetrics.h | |
void AutoRTFM::ResetAutoRTFMMetrics() |
Reset the internal metrics tracking back to zero | AutoRTFMMetrics.h | |
void AutoRTFM::Testing::AssertionFailure
(
const char* Expression, |
Implemented by the test framework, and called when AUTORTFM_TESTING_ASSERT() fails. | AutoRTFMTesting.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. | AutoRTFMTesting.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. | AutoRTFMTesting.h | |
static void autortfm_abort_transaction() |
AutoRTFM.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.h | |
static autortfm_status autortfm_close
(
void(*)(void*) UninstrumentedWork, |
AutoRTFM.h | ||
static void autortfm_commit
(
void(*)(void*) UninstrumentedWork, |
AutoRTFM.h | ||
static autortfm_result autortfm_commit_transaction() |
AutoRTFM.h | ||
static autortfm_transaction_id autortfm_current_transaction_id() |
AutoRTFM.h | ||
static void * autortfm_did_allocate
(
void* ptr, |
AutoRTFM.h | ||
static void autortfm_did_free
(
void* ptr |
AutoRTFM.h | ||
static void autortfm_initialize
(
const autortfm_extern_api* ExternAPI |
AutoRTFM.h | ||
static bool autortfm_is_closed() |
AutoRTFM.h | ||
static bool autortfm_is_committing() |
AutoRTFM.h | ||
static bool autortfm_is_committing_or_aborting() |
AutoRTFM.h | ||
static bool autortfm_is_on_current_transaction_stack
(
void* Ptr |
AutoRTFM.h | ||
static bool autortfm_is_retrying() |
AutoRTFM.h | ||
static bool autortfm_is_transactional() |
AutoRTFM.h | ||
static void autortfm_on_abort
(
void(*)(void*arg) work, |
AutoRTFM.h | ||
static void autortfm_on_commit
(
void(*)(void*arg) work, |
AutoRTFM.h | ||
static void autortfm_on_pre_abort
(
void(*)(void*arg) work, |
AutoRTFM.h | ||
static void autortfm_open
(
void(*)(void*arg) work, |
AutoRTFM.h | ||
static void autortfm_open_explicit_validation
(
autortfm_memory_validation_level, |
AutoRTFM.h | ||
static void autortfm_pop_on_abort_handler
(
const void* key |
AutoRTFM.h | ||
static void autortfm_push_on_abort_handler
(
const void* key, |
AutoRTFM.h | ||
static void autortfm_record_open_write
(
void* Ptr, |
AutoRTFM.h | ||
static void autortfm_record_open_write_no_memory_validation
(
void* Ptr, |
AutoRTFM.h | ||
static void autortfm_register_open_to_closed_functions
(
autortfm_open_to_closed_table* Table |
AutoRTFM.h | ||
static autortfm_result autortfm_transact
(
void(*)(void*) UninstrumentedWork, |
AutoRTFM.h | ||
static autortfm_result autortfm_transact_then_open
(
void(*)(void*) UninstrumentedWork, |
AutoRTFM.h | ||
static void autortfm_unreachable
(
const char* Message |
AutoRTFM.h | ||
static void autortfm_unregister_open_to_closed_functions
(
autortfm_open_to_closed_table* Table |
AutoRTFM.h |