зеркало из https://github.com/mozilla/pjs.git
Fix 10061: xptcall not right on irix. patch by Robert Low (rob@adacel.com.au). r=jband sr=blizzard
This commit is contained in:
Родитель
d370359e69
Коммит
afb86238f1
|
@ -106,15 +106,16 @@ invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount,
|
||||||
break;
|
break;
|
||||||
case nsXPTType::T_FLOAT:
|
case nsXPTType::T_FLOAT:
|
||||||
if (i < N_ARG_REGS)
|
if (i < N_ARG_REGS)
|
||||||
((double*)regs)[i] = s->val.f;
|
// Place a float in least significant bytes.
|
||||||
|
*(float*)(((char*)®s[i+1]) - sizeof(float)) = s->val.f;
|
||||||
else
|
else
|
||||||
*((double*)d++) = s->val.f;
|
*(float*)d++ = s->val.f;
|
||||||
break;
|
break;
|
||||||
case nsXPTType::T_DOUBLE:
|
case nsXPTType::T_DOUBLE:
|
||||||
if (i < N_ARG_REGS)
|
if (i < N_ARG_REGS)
|
||||||
((double*)regs)[i] = s->val.d;
|
*(double*)®s[i] = s->val.d;
|
||||||
else
|
else
|
||||||
*((double*)d++) = s->val.d;
|
*(double*)d++ = s->val.d;
|
||||||
break;
|
break;
|
||||||
case nsXPTType::T_BOOL:
|
case nsXPTType::T_BOOL:
|
||||||
if (i < N_ARG_REGS)
|
if (i < N_ARG_REGS)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче