mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge.
This commit is contained in:
commit
f166d24a5c
@ -3081,10 +3081,10 @@ TraceRecorder::unbox_jsval(jsval v, LIns*& v_ins)
|
||||
// JSVAL_IS_NUMBER(v)
|
||||
guard(false,
|
||||
lir->ins_eq0(lir->ins2(LIR_pior,
|
||||
lir->ins2(LIR_piand, v_ins, INS_CONSTPTR(JSVAL_INT)),
|
||||
lir->ins2(LIR_piand, v_ins, INS_CONST(JSVAL_INT)),
|
||||
lir->ins2i(LIR_eq,
|
||||
lir->ins2(LIR_piand, v_ins,
|
||||
INS_CONSTPTR(JSVAL_TAGMASK)),
|
||||
INS_CONST(JSVAL_TAGMASK)),
|
||||
JSVAL_DOUBLE))),
|
||||
MISMATCH_EXIT);
|
||||
v_ins = lir->insCall(F_UnboxDouble, &v_ins);
|
||||
@ -3094,7 +3094,7 @@ TraceRecorder::unbox_jsval(jsval v, LIns*& v_ins)
|
||||
case JSVAL_BOOLEAN:
|
||||
guard(true,
|
||||
lir->ins2i(LIR_eq,
|
||||
lir->ins2(LIR_piand, v_ins, INS_CONSTPTR(JSVAL_TAGMASK)),
|
||||
lir->ins2(LIR_piand, v_ins, INS_CONST(JSVAL_TAGMASK)),
|
||||
JSVAL_BOOLEAN),
|
||||
MISMATCH_EXIT);
|
||||
v_ins = lir->ins2i(LIR_ush, v_ins, JSVAL_TAGBITS);
|
||||
@ -3102,14 +3102,14 @@ TraceRecorder::unbox_jsval(jsval v, LIns*& v_ins)
|
||||
case JSVAL_OBJECT:
|
||||
guard(true,
|
||||
lir->ins2i(LIR_eq,
|
||||
lir->ins2(LIR_piand, v_ins, INS_CONSTPTR(JSVAL_TAGMASK)),
|
||||
lir->ins2(LIR_piand, v_ins, INS_CONST(JSVAL_TAGMASK)),
|
||||
JSVAL_OBJECT),
|
||||
MISMATCH_EXIT);
|
||||
return true;
|
||||
case JSVAL_STRING:
|
||||
guard(true,
|
||||
lir->ins2i(LIR_eq,
|
||||
lir->ins2(LIR_piand, v_ins, INS_CONSTPTR(JSVAL_TAGMASK)),
|
||||
lir->ins2(LIR_piand, v_ins, INS_CONST(JSVAL_TAGMASK)),
|
||||
JSVAL_STRING),
|
||||
MISMATCH_EXIT);
|
||||
v_ins = lir->ins2(LIR_piand, v_ins, INS_CONST(~JSVAL_TAGMASK));
|
||||
|
@ -150,7 +150,7 @@ namespace nanojit
|
||||
#define LIR_piand LIR_and
|
||||
#define LIR_pilsh LIR_lsh
|
||||
#define LIR_pcmov LIR_cmov
|
||||
#define LIR_pior LIR_ior
|
||||
#define LIR_pior LIR_or
|
||||
#endif
|
||||
|
||||
inline uint32_t argwords(uint32_t argc) {
|
||||
|
Loading…
Reference in New Issue
Block a user