1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
From ef8f88537cf8264ea1b7f079b7cf93f2fda2bbcb Mon Sep 17 00:00:00 2001
From: Jonghyun Park <parjong@gmail.com>
Date: Thu, 18 May 2017 12:30:52 +0900
Subject: [PATCH 25/29] Fix undefined references on SOS (#11701)
---
src/vm/i386/excepx86.cpp | 21 +++++++++------------
src/vm/virtualcallstub.cpp | 14 +++++++-------
2 files changed, 16 insertions(+), 19 deletions(-)
diff --git a/src/vm/i386/excepx86.cpp b/src/vm/i386/excepx86.cpp
index cf01147..9f19d47 100644
--- a/src/vm/i386/excepx86.cpp
+++ b/src/vm/i386/excepx86.cpp
@@ -1953,18 +1953,6 @@ LPVOID STDCALL COMPlusEndCatch(LPVOID ebp, DWORD ebx, DWORD edi, DWORD esi, LPVO
return esp;
}
-#endif // !DACCESS_COMPILE
-
-PTR_CONTEXT GetCONTEXTFromRedirectedStubStackFrame(CONTEXT * pContext)
-{
- LIMITED_METHOD_DAC_CONTRACT;
-
- UINT_PTR stackSlot = pContext->Ebp + REDIRECTSTUB_EBP_OFFSET_CONTEXT;
- PTR_PTR_CONTEXT ppContext = dac_cast<PTR_PTR_CONTEXT>((TADDR)stackSlot);
- return *ppContext;
-}
-
-#if !defined(DACCESS_COMPILE)
PEXCEPTION_REGISTRATION_RECORD GetCurrentSEHRecord()
{
WRAPPER_NO_CONTRACT;
@@ -3618,6 +3606,15 @@ EXCEPTION_HANDLER_IMPL(COMPlusFrameHandlerRevCom)
#endif // !DACCESS_COMPILE
#endif // !WIN64EXCEPTIONS
+PTR_CONTEXT GetCONTEXTFromRedirectedStubStackFrame(CONTEXT * pContext)
+{
+ LIMITED_METHOD_DAC_CONTRACT;
+
+ UINT_PTR stackSlot = pContext->Ebp + REDIRECTSTUB_EBP_OFFSET_CONTEXT;
+ PTR_PTR_CONTEXT ppContext = dac_cast<PTR_PTR_CONTEXT>((TADDR)stackSlot);
+ return *ppContext;
+}
+
#ifndef DACCESS_COMPILE
LONG CLRNoCatchHandler(EXCEPTION_POINTERS* pExceptionInfo, PVOID pv)
{
diff --git a/src/vm/virtualcallstub.cpp b/src/vm/virtualcallstub.cpp
index 01b15c6..e753860 100644
--- a/src/vm/virtualcallstub.cpp
+++ b/src/vm/virtualcallstub.cpp
@@ -1640,6 +1640,13 @@ void VirtualCallStubManager::BackPatchWorkerStatic(PCODE returnAddress, TADDR si
END_ENTRYPOINT_VOIDRET;
}
+#if defined(_TARGET_X86_) && defined(FEATURE_PAL)
+void BackPatchWorkerStaticStub(PCODE returnAddr, TADDR siteAddrForRegisterIndirect)
+{
+ VirtualCallStubManager::BackPatchWorkerStatic(returnAddr, siteAddrForRegisterIndirect);
+}
+#endif
+
PCODE VirtualCallStubManager::ResolveWorker(StubCallSite* pCallSite,
OBJECTREF *protectedObj,
DispatchToken token,
@@ -4047,10 +4054,3 @@ BOOL VirtualCallStubManagerManager::TraceManager(
// Forward the call to the appropriate manager.
return pMgr->TraceManager(thread, trace, pContext, pRetAddr);
}
-
-#if defined(_TARGET_X86_) && defined(FEATURE_PAL)
-void BackPatchWorkerStaticStub(PCODE returnAddr, TADDR siteAddrForRegisterIndirect)
-{
- VirtualCallStubManager::BackPatchWorkerStatic(returnAddr, siteAddrForRegisterIndirect);
-}
-#endif
--
2.7.4
|