summaryrefslogtreecommitdiff
path: root/src/vm/argdestination.h
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2015-10-22 10:55:02 -0700
committerJan Vorlicek <janvorli@microsoft.com>2015-10-22 10:55:02 -0700
commitc13593b553ca78c6a94a2523e8f8549031077b60 (patch)
tree929291b42dc757dcc054ca5b876779034846a655 /src/vm/argdestination.h
parente9f018f94407e80c3ed76f227717deac70cc85f7 (diff)
downloadcoreclr-c13593b553ca78c6a94a2523e8f8549031077b60.tar.gz
coreclr-c13593b553ca78c6a94a2523e8f8549031077b60.tar.bz2
coreclr-c13593b553ca78c6a94a2523e8f8549031077b60.zip
Fix floatingpoint register offsets in TransitionBlock for Unix
The conversion between floating point register index and offset was incorrectly multiplying the the index by 8 instead of 16. The xmm registers in the TransitionBlock on Unix take 16 bytes each, not 8.
Diffstat (limited to 'src/vm/argdestination.h')
-rw-r--r--src/vm/argdestination.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm/argdestination.h b/src/vm/argdestination.h
index 5896414f35..7837e51086 100644
--- a/src/vm/argdestination.h
+++ b/src/vm/argdestination.h
@@ -57,7 +57,7 @@ public:
{
LIMITED_METHOD_CONTRACT;
_ASSERTE(IsStructPassedInRegs());
- int offset = TransitionBlock::GetOffsetOfFloatArgumentRegisters() + m_argLocDescForStructInRegs->m_idxFloatReg * 8;
+ int offset = TransitionBlock::GetOffsetOfFloatArgumentRegisters() + m_argLocDescForStructInRegs->m_idxFloatReg * 16;
return dac_cast<PTR_VOID>(dac_cast<TADDR>(m_base) + offset);
}