| Index: src/trusted/validator/x86/decoder/generator/modeled_nacl_inst.c
 | 
| diff --git a/src/trusted/validator/x86/decoder/generator/modeled_nacl_inst.c b/src/trusted/validator/x86/decoder/generator/modeled_nacl_inst.c
 | 
| deleted file mode 100644
 | 
| index 0975ffac928eff8023cc824d8dc25531742de728..0000000000000000000000000000000000000000
 | 
| --- a/src/trusted/validator/x86/decoder/generator/modeled_nacl_inst.c
 | 
| +++ /dev/null
 | 
| @@ -1,138 +0,0 @@
 | 
| -/*
 | 
| - * Copyright (c) 2011 The Native Client Authors. All rights reserved.
 | 
| - * Use of this source code is governed by a BSD-style license that can be
 | 
| - * found in the LICENSE file.
 | 
| - */
 | 
| -
 | 
| -#define NEEDSNACLINSTTYPESTRING
 | 
| -
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/generator/modeled_nacl_inst.h"
 | 
| -
 | 
| -#include <string.h>
 | 
| -
 | 
| -void NaClSetOpcodeInModRm(uint8_t value, uint8_t *opcode_ext) {
 | 
| -  *opcode_ext += value;
 | 
| -}
 | 
| -
 | 
| -void NaClSetOpcodeInModRmRm(uint8_t value, uint8_t *opcode_ext) {
 | 
| -  *opcode_ext += (value << 4);
 | 
| -}
 | 
| -
 | 
| -void NaClSetOpcodePlusR(uint8_t value, uint8_t *opcode_ext) {
 | 
| -  *opcode_ext += value;
 | 
| -}
 | 
| -
 | 
| -/* Print the flag name if the flag is defined for the corresponding operand.
 | 
| - * Used to print out set/use/zero extend information for partial instructions.
 | 
| - */
 | 
| -static void NaClPrintAddOperandFlag(struct Gio* f,
 | 
| -                                    const NaClOp* op,
 | 
| -                                    NaClOpFlag flag,
 | 
| -                                    const char* flag_name) {
 | 
| -  if (op->flags & NACL_OPFLAG(flag)) {
 | 
| -    gprintf(f, "%s", flag_name);
 | 
| -  }
 | 
| -}
 | 
| -
 | 
| -void NaClModeledInstPrint(struct Gio* f, const NaClModeledInst* inst) {
 | 
| -  int i;
 | 
| -  int count = 2;
 | 
| -  /* Add prefix bytes if defined by prefix. */
 | 
| -  const char* prefix = OpcodePrefixBytes(inst->prefix);
 | 
| -  int prefix_len = (int) strlen(prefix);
 | 
| -  gprintf(f, "  %s", prefix);
 | 
| -  if (prefix_len > 0) {
 | 
| -    count += prefix_len + 1;
 | 
| -    gprintf(f, " ");
 | 
| -  }
 | 
| -
 | 
| -  /* Add opcode bytes. */
 | 
| -  for (i = 0; i < inst->num_opcode_bytes; ++i) {
 | 
| -    if (i > 0) {
 | 
| -      gprintf(f, " ");
 | 
| -      ++count;
 | 
| -    }
 | 
| -    gprintf(f,"%02x", inst->opcode[i]);
 | 
| -    count += 2;
 | 
| -  }
 | 
| -  if (inst->flags & NACL_IFLAG(OpcodeInModRm)) {
 | 
| -    gprintf(f, " / %d", NaClGetOpcodeInModRm(inst->opcode_ext));
 | 
| -    count += 4;
 | 
| -  } else if (inst->flags & NACL_IFLAG(OpcodePlusR)) {
 | 
| -    gprintf(f, " - r%d", NaClGetOpcodePlusR(inst->opcode_ext));
 | 
| -    count += 5;
 | 
| -  }
 | 
| -  if (inst->flags & NACL_IFLAG(OpcodeInModRmRm)) {
 | 
| -    gprintf(f, " / %d", NaClGetOpcodeInModRmRm(inst->opcode_ext));
 | 
| -    count += 4;
 | 
| -  }
 | 
| -  while (count < 30) {
 | 
| -    gprintf(f, " ");
 | 
| -    ++count;
 | 
| -  }
 | 
| -  { /* Print out instruction type less the NACLi_ prefix. */
 | 
| -    const char* name = NaClInstTypeString(inst->insttype);
 | 
| -    gprintf(f, "%s ", name + strlen("NACLi_"));
 | 
| -  }
 | 
| -  if (inst->flags) NaClIFlagsPrint(f, inst->flags);
 | 
| -  gprintf(f, "\n");
 | 
| -
 | 
| -  /* If instruction type is invalid, and doesn't have
 | 
| -   * special translation purposes, then don't print additional
 | 
| -   * (ignored) information stored in the modeled instruction.
 | 
| -   */
 | 
| -  if ((NACLi_INVALID != inst->insttype) ||
 | 
| -      ((inst->flags & NACL_IFLAG(Opcode0F0F)))) {
 | 
| -    Bool is_first = TRUE;
 | 
| -    int i;
 | 
| -    gprintf(f, "    ");
 | 
| -
 | 
| -    /* Instruction has been simplified. Print out corresponding
 | 
| -     * hints to the reader, so that they know that the instruction
 | 
| -     * has been simplified.
 | 
| -     */
 | 
| -    if (NaClHasBit(inst->flags, NACL_IFLAG(PartialInstruction))) {
 | 
| -      gprintf(f, "[P] ");
 | 
| -    }
 | 
| -    gprintf(f, "%s", NaClMnemonicName(inst->name));
 | 
| -
 | 
| -    /* If an instruction has been simplified, and it illegal, communicate
 | 
| -     * that in the printed modeled instruction.
 | 
| -     */
 | 
| -    if (NaClHasBit(inst->flags, NACL_IFLAG(NaClIllegal)) &&
 | 
| -        NaClHasBit(inst->flags, NACL_IFLAG(PartialInstruction))) {
 | 
| -      gprintf(f, "(illegal)");
 | 
| -    }
 | 
| -    for (i = 0; i < inst->num_operands; ++i) {
 | 
| -      if (NULL == inst->operands[i].format_string) continue;
 | 
| -      if (is_first) {
 | 
| -        is_first = FALSE;
 | 
| -      } else {
 | 
| -        gprintf(f, ",");
 | 
| -      }
 | 
| -      gprintf(f, " %s", inst->operands[i].format_string);
 | 
| -
 | 
| -      /* If this is a partial instruction, add set/use information
 | 
| -       * so that that it is more clear what was matched.
 | 
| -       */
 | 
| -      if (NaClHasBit(inst->flags, NACL_IFLAG(PartialInstruction))) {
 | 
| -        const NaClOp* op = inst->operands + i;
 | 
| -        if (NaClHasBit(op->flags, (NACL_OPFLAG(OpSet) |
 | 
| -                                   NACL_OPFLAG(OpUse) |
 | 
| -                                   NACL_OPFLAG(OperandZeroExtends_v)))) {
 | 
| -          gprintf(f, " (");
 | 
| -          NaClPrintAddOperandFlag(f, op, OpSet, "s");
 | 
| -          NaClPrintAddOperandFlag(f, op, OpUse, "u");
 | 
| -          NaClPrintAddOperandFlag(f, op, OperandZeroExtends_v, "z");
 | 
| -          gprintf(f, ")");
 | 
| -        }
 | 
| -      }
 | 
| -    }
 | 
| -    gprintf(f, "\n");
 | 
| -    /* Now print actual encoding of each operand. */
 | 
| -    for (i = 0; i < inst->num_operands; ++i) {
 | 
| -      gprintf(f, "      ");
 | 
| -      NaClOpPrint(f, inst->operands + i);
 | 
| -    }
 | 
| -  }
 | 
| -}
 | 
| 
 |