Don't do anything special with "rep nop". The former behaviour was to

notify the scheduler that this thread wants to yield, but that gives
such huge delays as to mess up spin-wait loops using "rep nop".  New
behaviour is to simply treat it as a no-op, with no scheduling
consequences.



git-svn-id: svn://svn.valgrind.org/vex/trunk@743
This commit is contained in:
Julian Seward
2005-01-25 15:47:39 +00:00
parent 4af9a299b8
commit d21677dc8a

View File

@@ -11286,8 +11286,14 @@ DisResult disInstr ( /*IN*/ Bool resteerOK,
case 0x90: /* REP NOP (PAUSE) */
/* a hint to the P4 re spin-wait loop */
DIP("rep nop (P4 pause)\n");
# if 0
/* "observe" the hint. Can cause very long delays, though. */
jmp_lit(Ijk_Yield, ((Addr32)guest_eip_bbstart)+delta);
whatNext = Dis_StopHere;
# else
/* act like it's a no-op */
whatNext = Dis_Continue;
# endif
break;
//-- case 0xC3: /* REP RET */