Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

Commit

Permalink
Deleted unneeded fields pCurrentContextPointers&volatileCurrContextPo…
Browse files Browse the repository at this point in the history
…inters
  • Loading branch information
sergign60 committed Feb 6, 2017
1 parent 5f49bf4 commit d9847af
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 42 deletions.
8 changes: 4 additions & 4 deletions src/Native/Runtime/arm/AsmOffsetsCpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,23 @@
//
// NOTE: the offsets MUST be in hex notation WITHOUT the 0x prefix

PLAT_ASM_SIZEOF(148, ExInfo)
PLAT_ASM_SIZEOF(130, ExInfo)
PLAT_ASM_OFFSET(0, ExInfo, m_pPrevExInfo)
PLAT_ASM_OFFSET(4, ExInfo, m_pExContext)
PLAT_ASM_OFFSET(8, ExInfo, m_exception)
PLAT_ASM_OFFSET(0c, ExInfo, m_kind)
PLAT_ASM_OFFSET(0d, ExInfo, m_passNumber)
PLAT_ASM_OFFSET(10, ExInfo, m_idxCurClause)
PLAT_ASM_OFFSET(18, ExInfo, m_frameIter)
PLAT_ASM_OFFSET(140, ExInfo, m_notifyDebuggerSP)
PLAT_ASM_OFFSET(128, ExInfo, m_notifyDebuggerSP)

PLAT_ASM_OFFSET(4, PInvokeTransitionFrame, m_RIP)
PLAT_ASM_OFFSET(8, PInvokeTransitionFrame, m_FramePointer)
PLAT_ASM_OFFSET(0c, PInvokeTransitionFrame, m_pThread)
PLAT_ASM_OFFSET(10, PInvokeTransitionFrame, m_dwFlags)
PLAT_ASM_OFFSET(14, PInvokeTransitionFrame, m_PreservedRegs)

PLAT_ASM_SIZEOF(128, StackFrameIterator)
PLAT_ASM_SIZEOF(110, StackFrameIterator)
PLAT_ASM_OFFSET(08, StackFrameIterator, m_FramePointer)
PLAT_ASM_OFFSET(0c, StackFrameIterator, m_ControlPC)
PLAT_ASM_OFFSET(10, StackFrameIterator, m_RegDisplay)
Expand All @@ -44,7 +44,7 @@ PLAT_ASM_OFFSET(20, PAL_LIMITED_CONTEXT, R11)
PLAT_ASM_OFFSET(28, PAL_LIMITED_CONTEXT, SP)
PLAT_ASM_OFFSET(2c, PAL_LIMITED_CONTEXT, LR)

PLAT_ASM_SIZEOF(a0, REGDISPLAY)
PLAT_ASM_SIZEOF(88, REGDISPLAY)
PLAT_ASM_OFFSET(38, REGDISPLAY, SP)

PLAT_ASM_OFFSET(10, REGDISPLAY, pR4)
Expand Down
8 changes: 4 additions & 4 deletions src/Native/Runtime/coreclr/gcinfodecoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1484,19 +1484,19 @@ OBJECTREF* GcInfoDecoder::GetRegisterSlot(

if(regNum <= 3)
{
ppReg = &pRD->volatileCurrContextPointers.R0;
ppReg = &pRD->pR0;
return (OBJECTREF*)*(ppReg + regNum);
}
else if(regNum == 12)
{
return (OBJECTREF*) pRD->volatileCurrContextPointers.R12;
return (OBJECTREF*) pRD->pR12;
}
else if(regNum == 14)
{
return (OBJECTREF*) pRD->pCurrentContextPointers->Lr;
return (OBJECTREF*) pRD->pLR;
}

ppReg = &pRD->pCurrentContextPointers->R4;
ppReg = &pRD->pR4;

return (OBJECTREF*)*(ppReg + regNum-4);

Expand Down
35 changes: 1 addition & 34 deletions src/Native/Runtime/regdisplay.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,37 +49,7 @@ struct REGDISPLAY

#elif defined(_TARGET_ARM_)

typedef struct _ArmVolatileContextPointer
{
PTR_UIntNative R0;
PTR_UIntNative R1;
PTR_UIntNative R2;
PTR_UIntNative R3;
PTR_UIntNative R12;
} ArmVolatileContextPointer;

typedef struct _ArmNonVolatileContextPointer {
PTR_UIntNative R4;
PTR_UIntNative R5;
PTR_UIntNative R6;
PTR_UIntNative R7;
PTR_UIntNative R8;
PTR_UIntNative R9;
PTR_UIntNative R10;
PTR_UIntNative R11;
PTR_UIntNative Lr;

PTR_UInt64 D8;
PTR_UInt64 D9;
PTR_UInt64 D10;
PTR_UInt64 D11;
PTR_UInt64 D12;
PTR_UInt64 D13;
PTR_UInt64 D14;
PTR_UInt64 D15;
} ArmNonVolatileContextPointer;

struct REGDISPLAY
struct REGDISPLAY
{
PTR_UIntNative pR0;
PTR_UIntNative pR1;
Expand All @@ -105,9 +75,6 @@ struct REGDISPLAY
// for EH, but not adjusted, so we only need
// their values, not their addresses

ArmNonVolatileContextPointer *pCurrentContextPointers;
ArmVolatileContextPointer volatileCurrContextPointers;

inline PCODE GetIP() { return IP; }
inline PTR_PCODE GetAddrOfIP() { return pIP; }
inline UIntNative GetSP() { return SP; }
Expand Down

0 comments on commit d9847af

Please sign in to comment.