| Index: src/trusted/validator/x86/decoder/ncopcode_desc.c
 | 
| diff --git a/src/trusted/validator/x86/decoder/ncopcode_desc.c b/src/trusted/validator/x86/decoder/ncopcode_desc.c
 | 
| deleted file mode 100644
 | 
| index 56562c5d4fb54dd5a2ddc7c9e0cf21ff1ffe28bf..0000000000000000000000000000000000000000
 | 
| --- a/src/trusted/validator/x86/decoder/ncopcode_desc.c
 | 
| +++ /dev/null
 | 
| @@ -1,124 +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.
 | 
| - */
 | 
| -
 | 
| -/* Descriptors to model instructions, opcodes, and instruction operands. */
 | 
| -
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/ncopcode_desc.h"
 | 
| -
 | 
| -#include <assert.h>
 | 
| -#include <string.h>
 | 
| -
 | 
| -#include "native_client/src/shared/utils/types.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_prefix_impl.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_insts_impl.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_opcode_flags_impl.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_operand_kind_impl.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_operand_flag_impl.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/nc_decode_tables.h"
 | 
| -
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/ncopcode_desc_inl.c"
 | 
| -
 | 
| -uint8_t NaClGetOpcodeInModRm(uint8_t opcode_ext) {
 | 
| -  return opcode_ext & 0x0F;
 | 
| -}
 | 
| -
 | 
| -uint8_t NaClGetOpcodeInModRmRm(uint8_t opcode_ext) {
 | 
| -  return (opcode_ext >> 4) & 0x0F;
 | 
| -}
 | 
| -
 | 
| -uint8_t NaClGetOpcodePlusR(uint8_t opcode_ext) {
 | 
| -  return opcode_ext & 0x0F;
 | 
| -}
 | 
| -
 | 
| -uint8_t NaClGetInstNumberOperands(const NaClInst* inst) {
 | 
| -  return NaClGetInstNumberOperandsInline(inst);
 | 
| -}
 | 
| -
 | 
| -const NaClOp* NaClGetInstOperand(const NaClDecodeTables* tables,
 | 
| -                                 const NaClInst* inst, uint8_t index) {
 | 
| -  return NaClGetInstOperandInline(tables, inst, index);
 | 
| -}
 | 
| -
 | 
| -/* Print out the opcode operand flags in a simplified (i.e. more human readable)
 | 
| - * form.
 | 
| - */
 | 
| -void NaClOpFlagsPrint(struct Gio* f, NaClOpFlags flags) {
 | 
| -  NaClOpFlag i;
 | 
| -  Bool first = TRUE;
 | 
| -  for (i = 0; i < NaClOpFlagEnumSize; ++i) {
 | 
| -    if (flags & NACL_OPFLAG(i)) {
 | 
| -      if (first) {
 | 
| -        first = FALSE;
 | 
| -      } else {
 | 
| -        gprintf(f, " ");
 | 
| -      }
 | 
| -      gprintf(f, "%s", NaClOpFlagName(i));
 | 
| -    }
 | 
| -  }
 | 
| -}
 | 
| -
 | 
| -/* Print out the opcode operand in a simplified (i.e. more human readable)
 | 
| - * form.
 | 
| - */
 | 
| -void NaClOpPrint(struct Gio* f, const NaClOp* operand) {
 | 
| -  gprintf(f, "%s", NaClOpKindName(operand->kind));
 | 
| -  if (operand->flags) {
 | 
| -    size_t i;
 | 
| -    for (i = strlen(NaClOpKindName(operand->kind)); i < 24; ++i) {
 | 
| -      gprintf(f, " ");
 | 
| -    }
 | 
| -    NaClOpFlagsPrint(f, operand->flags);
 | 
| -  }
 | 
| -  gprintf(f, "\n");
 | 
| -}
 | 
| -
 | 
| -/* Print instruction flags using a simplified (i.e. more human readable) form */
 | 
| -void NaClIFlagsPrint(struct Gio* f, NaClIFlags flags) {
 | 
| -  int i;
 | 
| -  Bool first = TRUE;
 | 
| -  for (i = 0; i < NaClIFlagEnumSize; ++i) {
 | 
| -    if (flags & NACL_IFLAG(i)) {
 | 
| -      if (first) {
 | 
| -        first = FALSE;
 | 
| -      } else {
 | 
| -        gprintf(f, " ");
 | 
| -      }
 | 
| -      gprintf(f, "%s", NaClIFlagName(i));
 | 
| -    }
 | 
| -  }
 | 
| -}
 | 
| -
 | 
| -/* Returns a string defining bytes of the given prefix that are considered
 | 
| - * prefix bytes, independent of the opcode.
 | 
| - */
 | 
| -const char* OpcodePrefixBytes(NaClInstPrefix prefix) {
 | 
| -  switch(prefix) {
 | 
| -    case NoPrefix:
 | 
| -    case Prefix0F:
 | 
| -    case Prefix0F0F:
 | 
| -    case Prefix0F38:
 | 
| -    case Prefix0F3A:
 | 
| -    case PrefixD8:
 | 
| -    case PrefixD9:
 | 
| -    case PrefixDA:
 | 
| -    case PrefixDB:
 | 
| -    case PrefixDC:
 | 
| -    case PrefixDD:
 | 
| -    case PrefixDE:
 | 
| -    case PrefixDF:
 | 
| -    default:  /* This shouldn't happen, but be safe. */
 | 
| -      return "";
 | 
| -    case PrefixF20F:
 | 
| -    case PrefixF20F38:
 | 
| -      return "f2";
 | 
| -    case PrefixF30F:
 | 
| -      return "f3";
 | 
| -    case Prefix660F:
 | 
| -    case Prefix660F38:
 | 
| -    case Prefix660F3A:
 | 
| -      return "66";
 | 
| -  }
 | 
| -}
 | 
| 
 |