mirror of
https://github.com/corda/corda.git
synced 2025-02-14 14:42:32 +00:00
fix single-precision float marshalling in dynamicCall
This commit is contained in:
parent
0aaee96479
commit
376941ab35
@ -91,7 +91,9 @@ dynamicCall(void* function, uintptr_t* arguments, uint8_t* argumentTypes,
|
|||||||
switch (argumentTypes[ati]) {
|
switch (argumentTypes[ati]) {
|
||||||
case FLOAT_TYPE: {
|
case FLOAT_TYPE: {
|
||||||
if (fprIndex < FprCount) {
|
if (fprIndex < FprCount) {
|
||||||
fprTable[fprIndex++] = arguments[ai];
|
double d = bitsToFloat(arguments[ai]);
|
||||||
|
memcpy(fprTable + fprIndex, &d, 8);
|
||||||
|
++ fprIndex;
|
||||||
++ gprIndex;
|
++ gprIndex;
|
||||||
++ stackSkip;
|
++ stackSkip;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user