summaryrefslogtreecommitdiff
path: root/src/vm/util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/util.cpp')
-rw-r--r--src/vm/util.cpp39
1 files changed, 16 insertions, 23 deletions
diff --git a/src/vm/util.cpp b/src/vm/util.cpp
index 260e0daa38..2c71289c8d 100644
--- a/src/vm/util.cpp
+++ b/src/vm/util.cpp
@@ -1861,8 +1861,6 @@ size_t GetLargestOnDieCacheSize(BOOL bTrueSize)
STATIC_CONTRACT_NOTHROW;
STATIC_CONTRACT_GC_NOTRIGGER;
-#if defined(_TARGET_AMD64_) || defined (_TARGET_X86_)
-
static size_t maxSize;
static size_t maxTrueSize;
@@ -1879,6 +1877,7 @@ size_t GetLargestOnDieCacheSize(BOOL bTrueSize)
}
}
+#if defined(_TARGET_AMD64_) || defined (_TARGET_X86_)
DefaultCatchFilterParam param;
param.pv = COMPLUS_EXCEPTION_EXECUTE_HANDLER;
@@ -2001,18 +2000,20 @@ size_t GetLargestOnDieCacheSize(BOOL bTrueSize)
{
}
PAL_ENDTRY
+#else
+ maxSize = maxTrueSize = GetLogicalProcessorCacheSizeFromOS() ; // Returns the size of the highest level processor cache
+#endif
+
+#if defined(_TARGET_ARM64_)
+ // Bigger gen0 size helps arm64 targets
+ maxSize = maxTrueSize * 3;
+#endif
// printf("GetLargestOnDieCacheSize returns %d, adjusted size %d\n", maxSize, maxTrueSize);
if (bTrueSize)
return maxTrueSize;
else
return maxSize;
-
-#else
- size_t cache_size = GetLogicalProcessorCacheSizeFromOS() ; // Returns the size of the highest level processor cache
- return cache_size;
-
-#endif
}
//---------------------------------------------------------------------
@@ -2845,7 +2846,6 @@ void InitializeClrNotifications()
#if defined(FEATURE_GDBJIT)
#include "gdbjit.h"
-__declspec(thread) bool tls_isSymReaderInProgress = false;
#endif // FEATURE_GDBJIT
// called from the runtime
@@ -2859,19 +2859,12 @@ void DACNotify::DoJITNotification(MethodDesc *MethodDescPtr)
MODE_PREEMPTIVE;
}
CONTRACTL_END;
-#if defined(FEATURE_GDBJIT) && defined(FEATURE_PAL) && !defined(CROSSGEN_COMPILE)
- if(!tls_isSymReaderInProgress)
- {
- tls_isSymReaderInProgress = true;
- NotifyGdb::MethodCompiled(MethodDescPtr);
- tls_isSymReaderInProgress = false;
- }
-#endif
+
TADDR Args[2] = { JIT_NOTIFICATION, (TADDR) MethodDescPtr };
DACNotifyExceptionHelper(Args, 2);
}
-void DACNotify::DoJITDiscardNotification(MethodDesc *MethodDescPtr)
+void DACNotify::DoJITPitchingNotification(MethodDesc *MethodDescPtr)
{
CONTRACTL
{
@@ -2883,9 +2876,9 @@ void DACNotify::DoJITDiscardNotification(MethodDesc *MethodDescPtr)
CONTRACTL_END;
#if defined(FEATURE_GDBJIT) && defined(FEATURE_PAL) && !defined(CROSSGEN_COMPILE)
- NotifyGdb::MethodDropped(MethodDescPtr);
+ NotifyGdb::MethodPitched(MethodDescPtr);
#endif
- TADDR Args[2] = { JIT_DISCARD_NOTIFICATION, (TADDR) MethodDescPtr };
+ TADDR Args[2] = { JIT_PITCHING_NOTIFICATION, (TADDR) MethodDescPtr };
DACNotifyExceptionHelper(Args, 2);
}
@@ -3007,10 +3000,10 @@ BOOL DACNotify::ParseJITNotification(TADDR Args[], TADDR& MethodDescPtr)
return TRUE;
}
-BOOL DACNotify::ParseJITDiscardNotification(TADDR Args[], TADDR& MethodDescPtr)
+BOOL DACNotify::ParseJITPitchingNotification(TADDR Args[], TADDR& MethodDescPtr)
{
- _ASSERTE(Args[0] == JIT_DISCARD_NOTIFICATION);
- if (Args[0] != JIT_DISCARD_NOTIFICATION)
+ _ASSERTE(Args[0] == JIT_PITCHING_NOTIFICATION);
+ if (Args[0] != JIT_PITCHING_NOTIFICATION)
{
return FALSE;
}