Merge patch from JeremyF:

39-lock-prefix

Add a new UInstr LOCK to represent a "lock" prefix in the instruction
stream. This has the same semantics as NOP, but allows a skin to tell
whether a group of UInstrs associated with an x86 instruction are
meant to be locked.

HELGRIND: uses the LOCK UInstr to automatically take and release a
special __BUS_HARDWARE_LOCK__ around locked instructions. This only
works properly if all instructions touching a given address are locked
(even reads).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1310 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_from_ucode.c b/coregrind/vg_from_ucode.c
index d08c505..769785d 100644
--- a/coregrind/vg_from_ucode.c
+++ b/coregrind/vg_from_ucode.c
@@ -1981,7 +1981,7 @@
    old_emitted_code_used = emitted_code_used;
    
    switch (u->opcode) {
-      case NOP: case CALLM_S: case CALLM_E: break;
+      case NOP: case LOCK: case CALLM_S: case CALLM_E: break;
 
       case INCEIP: {
         /* Note: Redundant INCEIP merging.  A potentially useful