From b668b50b41d75cd10ffeb5408fc8d21ec05bbc2f Mon Sep 17 00:00:00 2001 From: Sentinel209_cp <5b554accd9e292fcb886b205d8d4c32c5d52ce2df5Ng6vpx> Date: Tue, 14 Oct 2014 10:30:55 +0000 Subject: [PATCH] Fixed an issue with the compiler which caused Int64[] and UInt64[] elements to get retrieved incorrectly. --- .../Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Property.cs | 10 ++++++++-- source2/IL2CPU/Cosmos.IL2CPU/IL/Ldelem_Ref.cs | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/source2/Debug/Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Property.cs b/source2/Debug/Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Property.cs index 7e303bce2..07de94aec 100644 --- a/source2/Debug/Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Property.cs +++ b/source2/Debug/Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Property.cs @@ -450,8 +450,14 @@ namespace Cosmos.Debug.VSDebugEngine else { - if (m_variableInformation.IsReference) xData = mProcess.mDbgConnector.GetMemoryData(m_variableInformation.Pointer, 4, 4); - else xData = mProcess.mDbgConnector.GetStackData(OFFSET, 4); + if (m_variableInformation.IsReference) + { + xData = mProcess.mDbgConnector.GetMemoryData(m_variableInformation.Pointer, 4, 4); + } + else + { + xData = mProcess.mDbgConnector.GetStackData(OFFSET, 4); + } if (xData == null) { propertyInfo.bstrValue = String.Format("Error! Stack data received was null!"); diff --git a/source2/IL2CPU/Cosmos.IL2CPU/IL/Ldelem_Ref.cs b/source2/IL2CPU/Cosmos.IL2CPU/IL/Ldelem_Ref.cs index f8f620d86..42d0766de 100644 --- a/source2/IL2CPU/Cosmos.IL2CPU/IL/Ldelem_Ref.cs +++ b/source2/IL2CPU/Cosmos.IL2CPU/IL/Ldelem_Ref.cs @@ -46,8 +46,8 @@ namespace Cosmos.IL2CPU.X86.IL new CPUx86.Push { DestinationReg = CPUx86.Registers.EDX, DestinationIsIndirect = true }; break; case 8: + new CPUx86.Push { DestinationReg = CPUx86.Registers.EDX, DestinationDisplacement = 4, DestinationIsIndirect = true }; new CPUx86.Push { DestinationReg = CPUx86.Registers.EDX, DestinationIsIndirect = true }; - new CPUx86.Push { DestinationReg = CPUx86.Registers.EDX, DestinationDisplacement = 4, DestinationIsIndirect = true }; break; } }