summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/debug/ee/frameinfo.cpp2
-rw-r--r--src/gc/env/gcenv.base.h9
-rw-r--r--src/jit/codegenarm.cpp2
-rw-r--r--src/pal/inc/pal.h2
-rw-r--r--src/vm/dllimportcallback.cpp7
-rw-r--r--src/vm/dllimportcallback.h16
6 files changed, 12 insertions, 26 deletions
diff --git a/src/debug/ee/frameinfo.cpp b/src/debug/ee/frameinfo.cpp
index 3efbddd140..a4741df8f1 100644
--- a/src/debug/ee/frameinfo.cpp
+++ b/src/debug/ee/frameinfo.cpp
@@ -2097,7 +2097,7 @@ StackWalkAction DebuggerWalkStack(Thread *thread,
#endif
memset((void *)&data, 0, sizeof(data));
-#if defined(_TARGET_X86_)
+#if !defined(WIN64EXCEPTIONS)
// @todo - this seems pointless. context->Eip will be 0; and when we copy it over to the DebuggerRD,
// the context will be completely null.
data.regDisplay.ControlPC = context->Eip;
diff --git a/src/gc/env/gcenv.base.h b/src/gc/env/gcenv.base.h
index 52b64eeeef..95c8143785 100644
--- a/src/gc/env/gcenv.base.h
+++ b/src/gc/env/gcenv.base.h
@@ -217,15 +217,10 @@ typedef DWORD (WINAPI *PTHREAD_START_ROUTINE)(void* lpThreadParameter);
#endif // defined(__i386__) || defined(__x86_64__)
-#ifdef __aarch64__
+#if defined(__arm__) || defined(__aarch64__)
#define YieldProcessor() asm volatile ("yield")
#define MemoryBarrier __sync_synchronize
-#endif // __aarch64__
-
-#ifdef __arm__
- #define YieldProcessor()
- #define MemoryBarrier __sync_synchronize
-#endif // __arm__
+#endif // __arm__ || __aarch64__
#endif // _MSC_VER
diff --git a/src/jit/codegenarm.cpp b/src/jit/codegenarm.cpp
index 0597696206..60f7122284 100644
--- a/src/jit/codegenarm.cpp
+++ b/src/jit/codegenarm.cpp
@@ -1732,7 +1732,7 @@ void CodeGen::genProfilingLeaveCallback(unsigned helper)
else if (varTypeIsFloating(compiler->info.compRetType) ||
compiler->IsHfa(compiler->info.compMethodInfo->args.retTypeClass))
{
- r0InUse = !compiler->info.compIsVarArgs && !compiler->opts.compUseSoftFP;
+ r0InUse = compiler->info.compIsVarArgs || compiler->opts.compUseSoftFP;
}
else
{
diff --git a/src/pal/inc/pal.h b/src/pal/inc/pal.h
index 5a4e758aaf..9d05d73530 100644
--- a/src/pal/inc/pal.h
+++ b/src/pal/inc/pal.h
@@ -3823,7 +3823,7 @@ YieldProcessor(
__asm__ __volatile__(
"rep\n"
"nop");
-#elif defined(_ARM64_)
+#elif defined(_ARM_) || defined(_ARM64_)
__asm__ __volatile__( "yield");
#else
return;
diff --git a/src/vm/dllimportcallback.cpp b/src/vm/dllimportcallback.cpp
index b5a4c9c4d7..8c4970970b 100644
--- a/src/vm/dllimportcallback.cpp
+++ b/src/vm/dllimportcallback.cpp
@@ -961,11 +961,18 @@ void UMEntryThunk::Terminate()
CONTRACTL
{
NOTHROW;
+ MODE_ANY;
}
CONTRACTL_END;
m_code.Poison();
+ if (GetObjectHandle())
+ {
+ DestroyLongWeakHandle(GetObjectHandle());
+ m_pObjectHandle = 0;
+ }
+
s_thunkFreeList.AddToList(this);
}
diff --git a/src/vm/dllimportcallback.h b/src/vm/dllimportcallback.h
index 3d93d3263b..03be244e54 100644
--- a/src/vm/dllimportcallback.h
+++ b/src/vm/dllimportcallback.h
@@ -310,22 +310,6 @@ public:
#endif
}
- ~UMEntryThunk()
- {
- CONTRACTL
- {
- NOTHROW;
- GC_NOTRIGGER;
- MODE_ANY;
- }
- CONTRACTL_END;
-
- if (GetObjectHandle())
- {
- DestroyLongWeakHandle(GetObjectHandle());
- }
- }
-
void Terminate();
VOID RunTimeInit()