fix single-precision float marshalling in dynamicCall

This commit is contained in:
Joel Dice 2009-03-07 14:32:08 -07:00
parent 0aaee96479
commit 376941ab35

View File

@ -91,7 +91,9 @@ dynamicCall(void* function, uintptr_t* arguments, uint8_t* argumentTypes,
switch (argumentTypes[ati]) {
case FLOAT_TYPE: {
if (fprIndex < FprCount) {
fprTable[fprIndex++] = arguments[ai];
double d = bitsToFloat(arguments[ai]);
memcpy(fprTable + fprIndex, &d, 8);
++ fprIndex;
++ gprIndex;
++ stackSkip;
} else {