diff options
Diffstat (limited to 'src/vm/arm/armsinglestepper.cpp')
-rw-r--r-- | src/vm/arm/armsinglestepper.cpp | 12 |
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 } |