summaryrefslogtreecommitdiff
path: root/src/vm/arm/armsinglestepper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/arm/armsinglestepper.cpp')
-rw-r--r--src/vm/arm/armsinglestepper.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/vm/arm/armsinglestepper.cpp b/src/vm/arm/armsinglestepper.cpp
index e000959ef9..bfe88244f8 100644
--- a/src/vm/arm/armsinglestepper.cpp
+++ b/src/vm/arm/armsinglestepper.cpp
@@ -97,17 +97,25 @@ ArmSingleStepper::ArmSingleStepper()
ArmSingleStepper::~ArmSingleStepper()
{
-#if !defined(DACCESS_COMPILE) && !defined(FEATURE_PAL)
+#if !defined(DACCESS_COMPILE)
+#ifdef FEATURE_PAL
+ SystemDomain::GetGlobalLoaderAllocator()->GetExecutableHeap()->BackoutMem(m_rgCode, kMaxCodeBuffer * sizeof(WORD));
+#else
DeleteExecutable(m_rgCode);
#endif
+#endif
}
void ArmSingleStepper::Init()
{
-#if !defined(DACCESS_COMPILE) && !defined(FEATURE_PAL)
+#if !defined(DACCESS_COMPILE)
if (m_rgCode == NULL)
{
+#ifdef FEATURE_PAL
+ m_rgCode = (WORD *)(void *)SystemDomain::GetGlobalLoaderAllocator()->GetExecutableHeap()->AllocMem(S_SIZE_T(kMaxCodeBuffer * sizeof(WORD)));
+#else
m_rgCode = new (executable) WORD[kMaxCodeBuffer];
+#endif
}
#endif
}