Deal with FrameOverlay in the new mm (#4646)

This commit is contained in:
Alexander Shabalin
2021-01-22 16:05:51 +03:00
committed by Nikolay Krasko
parent 77e2b9f9a0
commit 687cf20d7d
6 changed files with 239 additions and 8 deletions
@@ -142,6 +142,16 @@ extern "C" RUNTIME_NOTHROW void InitAndRegisterGlobal(ObjHeader** location, cons
extern "C" const MemoryModel CurrentMemoryModel = MemoryModel::kExperimental;
extern "C" RUNTIME_NOTHROW void EnterFrame(ObjHeader** start, int parameters, int count) {
auto* threadData = mm::ThreadRegistry::Instance().CurrentThreadData();
threadData->shadowStack().EnterFrame(start, parameters, count);
}
extern "C" RUNTIME_NOTHROW void LeaveFrame(ObjHeader** start, int parameters, int count) {
auto* threadData = mm::ThreadRegistry::Instance().CurrentThreadData();
threadData->shadowStack().LeaveFrame(start, parameters, count);
}
extern "C" RUNTIME_NOTHROW void AddTLSRecord(MemoryState* memory, void** key, int size) {
GetThreadData(memory)->tls().AddRecord(key, size);
}