Lines Matching full:dres
2181 static void jmp_lit( /*MOD*/DisResult* dres,
2184 vassert(dres->whatNext == Dis_Continue);
2185 vassert(dres->len == 0);
2186 vassert(dres->continueAt == 0);
2187 vassert(dres->jk_StopHere == Ijk_INVALID);
2188 dres->whatNext = Dis_StopHere;
2189 dres->jk_StopHere = kind;
2193 static void jmp_treg( /*MOD*/DisResult* dres,
2196 vassert(dres->whatNext == Dis_Continue);
2197 vassert(dres->len == 0);
2198 vassert(dres->continueAt == 0);
2199 vassert(dres->jk_StopHere == Ijk_INVALID);
2200 dres->whatNext = Dis_StopHere;
2201 dres->jk_StopHere = kind;
2206 void jcc_01 ( /*MOD*/DisResult* dres,
2211 vassert(dres->whatNext == Dis_Continue);
2212 vassert(dres->len == 0);
2213 vassert(dres->continueAt == 0);
2214 vassert(dres->jk_StopHere == Ijk_INVALID);
2215 dres->whatNext = Dis_StopHere;
2216 dres->jk_StopHere = Ijk_Boring;
4075 /*MOD*/DisResult* dres, /*OUT*/Bool* decode_OK )
4118 jmp_treg(dres, Ijk_Call, t3);
4119 vassert(dres->whatNext == Dis_StopHere);
4128 jmp_treg(dres, Ijk_Boring, t3);
4129 vassert(dres->whatNext == Dis_StopHere);
4182 jmp_treg(dres, Ijk_Call, t3);
4183 vassert(dres->whatNext == Dis_StopHere);
4192 jmp_treg(dres, Ijk_Boring, t3);
4193 vassert(dres->whatNext == Dis_StopHere);
4396 void dis_REP_op ( /*MOD*/DisResult* dres,
4432 jmp_lit(dres, Ijk_Boring, rip);
4433 vassert(dres->whatNext == Dis_StopHere);
4439 jmp_lit(dres, Ijk_Boring, rip_next);
4440 vassert(dres->whatNext == Dis_StopHere);
8273 void dis_ret ( /*MOD*/DisResult* dres, VexAbiInfo* vbi, ULong d64 )
8283 jmp_treg(dres, Ijk_Ret, t2);
8284 vassert(dres->whatNext == Dis_StopHere);
11120 DisResult* dres )
12925 jmp_lit(dres, Ijk_TInval, (Addr64)(guest_RIP_bbstart+delta));
18043 /*MB_OUT*/DisResult* dres,
18442 dres->whatNext = Dis_ResteerC;
18443 dres->continueAt = d64;
18461 dres->whatNext = Dis_ResteerC;
18462 dres->continueAt = guest_RIP_bbstart+delta;
18468 jcc_01( dres, (AMD64Condcode)(opc - 0x70),
18470 vassert(dres->whatNext == Dis_StopHere);
18641 jmp_lit(dres, Ijk_Yield, guest_RIP_bbstart+delta);
18642 vassert(dres->whatNext == Dis_StopHere);
18880 dis_REP_op ( dres, AMD64CondAlways, dis_MOVS, sz,
18883 dres->whatNext = Dis_StopHere;
18901 dis_REP_op ( dres, AMD64CondZ, dis_CMPS, sz,
18904 dres->whatNext = Dis_StopHere;
18915 dis_REP_op ( dres, AMD64CondAlways, dis_STOS, sz,
18918 vassert(dres->whatNext == Dis_StopHere);
18950 dis_REP_op ( dres, AMD64CondNZ, dis_SCAS, sz,
18953 vassert(dres->whatNext == Dis_StopHere);
18960 dis_REP_op ( dres, AMD64CondZ, dis_SCAS, sz,
18963 vassert(dres->whatNext == Dis_StopHere);
19050 dis_ret(dres, vbi, d64);
19057 dis_ret(dres, vbi, 0);
19140 jmp_lit(dres, Ijk_SigTRAP, guest_RIP_bbstart + delta);
19141 vassert(dres->whatNext == Dis_StopHere);
19437 dres->whatNext = Dis_ResteerU;
19438 dres->continueAt = d64;
19440 jmp_lit(dres, Ijk_Call, d64);
19441 vassert(dres->whatNext == Dis_StopHere);
19453 dres->whatNext = Dis_ResteerU;
19454 dres->continueAt = d64;
19456 jmp_lit(dres, Ijk_Boring, d64);
19457 vassert(dres->whatNext == Dis_StopHere);
19469 dres->whatNext = Dis_ResteerU;
19470 dres->continueAt = d64;
19472 jmp_lit(dres, Ijk_Boring, d64);
19473 vassert(dres->whatNext == Dis_StopHere);
19550 delta = dis_Grp5 ( vbi, pfx, sz, delta, dres, &decode_OK );
19651 /*MB_OUT*/DisResult* dres,
19737 jmp_lit(dres, Ijk_Sys_syscall, guest_RIP_next_assumed);
19738 vassert(dres->whatNext == Dis_StopHere);
19744 jmp_lit(dres, Ijk_NoDecode, guest_RIP_curr_instr);
19745 vassert(dres->whatNext == Dis_StopHere);
19853 dres->whatNext = Dis_ResteerC;
19854 dres->continueAt = d64;
19874 dres->whatNext = Dis_ResteerC;
19875 dres->continueAt = guest_RIP_bbstart+delta;
19881 jcc_01( dres, (AMD64Condcode)(opc - 0x80),
19883 vassert(dres->whatNext == Dis_StopHere);
20400 delta = dis_ESC_0F__SSE2 ( &decode_OK, vbi, pfx, sz, deltaIN, dres );
20440 /*MB_OUT*/DisResult* dres,
20525 /*MB_OUT*/DisResult* dres,
21433 /*MB_OUT*/DisResult* dres,
24523 /*MB_OUT*/DisResult* dres,
25267 /*MB_OUT*/DisResult* dres,
26466 DisResult dres;
26487 dres.whatNext = Dis_Continue;
26488 dres.len = 0;
26489 dres.continueAt = 0;
26490 dres.jk_StopHere = Ijk_INVALID;
26523 jmp_lit(&dres, Ijk_ClientReq, guest_RIP_bbstart+delta);
26524 vassert(dres.whatNext == Dis_StopHere);
26548 jmp_treg(&dres, Ijk_NoRedir, t1);
26549 vassert(dres.whatNext == Dis_StopHere);
26728 delta = dis_ESC_NONE( &dres, expect_CAS,
26733 delta = dis_ESC_0F ( &dres, expect_CAS,
26738 delta = dis_ESC_0F38( &dres,
26743 delta = dis_ESC_0F3A( &dres,
26758 delta = dis_ESC_0F__VEX ( &dres, &uses_vvvv,
26764 delta = dis_ESC_0F38__VEX ( &dres, &uses_vvvv,
26770 delta = dis_ESC_0F3A__VEX ( &dres, &uses_vvvv,
26889 vassert(dres.whatNext == Dis_StopHere);
27028 jmp_lit(&dres, Ijk_NoDecode, guest_RIP_curr_instr);
27029 vassert(dres.whatNext == Dis_StopHere);
27030 dres.len = 0;
27037 return dres;
27043 switch (dres.whatNext) {
27049 stmt( IRStmt_Put( OFFB_RIP, mkU64(dres.continueAt) ) );
27058 dres.len = (Int)toUInt(delta - delta_start);
27059 return dres;
27087 DisResult dres;
27103 dres = disInstr_AMD64_WRK ( &expect_CAS, resteerOkFn,
27114 && guest_RIP_next_assumed != guest_RIP_curr_instr + dres.len) {
27119 guest_RIP_curr_instr + dres.len );
27136 dres = disInstr_AMD64_WRK ( &expect_CAS, resteerOkFn,
27150 return dres;