Commit Graph

11 Commits

Author SHA1 Message Date
neil henning
735dba3d91 Remove the older and unused pragma approach to enabling AutoRTFM.
This pragma didn't work with our unity builds, and we moved away from it anyway.

#rb michael.nicolella

[CL 32322029 by neil henning in ue5-main branch]
2024-03-19 07:54:11 -04:00
neil henning
870bc295d4 Document the entire AutoRTFM user-facing API and deprecate a bunch of functions that most users should not use (move these to the ForTheRuntime namespace to hopefully make it clear what shouldn't be called by those of us not working on the runtime!).
#rb michael.nicolella

[CL 30655391 by neil henning in ue5-main branch]
2024-01-17 05:59:25 -05:00
neil henning
52d4f4c4a5 Rename OpenCommit -> OnCommit and OpenAbort -> OnAbort to make it more obvious to users when the code executes.
#rb Brandon.Schaefer

[CL 30500167 by neil henning in ue5-main branch]
2024-01-09 05:11:46 -05:00
neil henning
08fc7777a6 Remove DeferUntilCommit / DeferUntilAbort from the AutoRTFM API (use OpenCommit / OpenAbort instead).
#preflight 646c6afd1b241f0748614b9d

[CL 25579609 by neil henning in ue5-main branch]
2023-05-23 07:48:03 -04:00
neil henning
87ba132d21 [autortfm] Use UE_LOG with a new LogAutoRTFM category for all our logging.
#preflight 645bb3818f4d53ff229fb9f4

[CL 25423338 by neil henning in ue5-main branch]
2023-05-11 05:22:24 -04:00
brandon schaefer
b27291844a Fix nodiscard warnings for clang
#rb Jason.Weiler, Michael.Nicolella
#preflight 641dedab973e609670ea12ed

[CL 24789573 by brandon schaefer in ue5-main branch]
2023-03-24 18:18:15 -04:00
neil henning
92b421ce5a Add a test with a dumb little VM showing how the AutoRTFM calls will work.
#preflight 641d94bc974dfaa53ce0ed85

[CL 24780579 by neil henning in ue5-main branch]
2023-03-24 12:04:10 -04:00
michael nicolella
2fe7eda1f0 autortfm:
- remove explicit operator new/delete instrumentation. these operators can be instrumented directly by the application by overriding them, otherwise calling one from transactional code will abort when trying to find the instrumented version
- add auto rtfm instrumentation to the FMemory allocator
- remove 'will_deallocate' since it does nothing and required the runtime to be able to get the alloced size which isn't easy to do from the runtime
- Transact now executes the work item when it's compiled away, assuming that we will wrap this around existing code that we still want to execute when non-instrumented

#preflight 641cc32b973e60967084811d

[CL 24773875 by michael nicolella in ue5-main branch]
2023-03-23 23:28:18 -04:00
jason weiler
7a7d71868f First go at the AutoRTFM Open API for the VM. This is definitely crunchy.
Adds StartTransaction, RecordOpenWrite, WriteMemory, and some others.
Replaces Abort with AbortTransaction

#preflight 641b559da6092dfb8dc39cf3

[CL 24756491 by jason weiler in ue5-main branch]
2023-03-22 19:46:30 -04:00
brandon schaefer
3e8cf406a6 Add a header to ensure we include our MinWindows and Windows type headers *before* catch_amalgamated.hpp includes its Windows.h stuff
Fix GraphBenchmark shadow warnings

#rb Neil.Henning, Jason.Weiler
#preflight none

[CL 24723829 by brandon schaefer in ue5-main branch]
2023-03-20 17:13:55 -04:00
brandon schaefer
3b859ae861 Setup initial UE/UBT standalone program AutoRTFMTests
#rb Neil.Henning
#preflight none

[CL 24701555 by brandon schaefer in ue5-main branch]
2023-03-17 23:06:47 -04:00