| Index: src/trusted/validator/x86/decoder/ncopcode_desc.h
 | 
| diff --git a/src/trusted/validator/x86/decoder/ncopcode_desc.h b/src/trusted/validator/x86/decoder/ncopcode_desc.h
 | 
| deleted file mode 100644
 | 
| index dda6bd0f6df0e033040761202ed4864c9033acc8..0000000000000000000000000000000000000000
 | 
| --- a/src/trusted/validator/x86/decoder/ncopcode_desc.h
 | 
| +++ /dev/null
 | 
| @@ -1,174 +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.
 | 
| - */
 | 
| -
 | 
| -/*
 | 
| - * ncopcode_desc.h - Descriptors to model opcode operands.
 | 
| - */
 | 
| -#ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOPCODE_DESC_H_
 | 
| -#define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOPCODE_DESC_H_
 | 
| -
 | 
| -#include <stdio.h>
 | 
| -
 | 
| -#include "native_client/src/include/portability.h"
 | 
| -#include "native_client/src/shared/gio/gio.h"
 | 
| -#include "native_client/src/shared/utils/types.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_prefix.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_insts.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_opcode_flags.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_operand_kind.h"
 | 
| -#include "native_client/src/trusted/validator/x86/decoder/gen/ncopcode_operand_flag.h"
 | 
| -#include "native_client/src/trusted/validator/x86/x86_insts.h"
 | 
| -
 | 
| -EXTERN_C_BEGIN
 | 
| -
 | 
| -struct NaClDecodeTables;
 | 
| -
 | 
| -/* Defines integer to represent sets of possible opcode (instruction) flags */
 | 
| -typedef uint64_t NaClIFlags;
 | 
| -
 | 
| -/* Converts an NaClIFlagEnum to the corresponding bit in NaClIFlags. */
 | 
| -#define NACL_IFLAG(x) (((NaClIFlags) 1) << (x))
 | 
| -
 | 
| -/* Models the empty set of opcode flags. */
 | 
| -#define NACL_EMPTY_IFLAGS ((NaClIFlags) 0)
 | 
| -
 | 
| -/* Prints out the set of defined instruction flags. */
 | 
| -void NaClIFlagsPrint(struct Gio* out, NaClIFlags flags);
 | 
| -
 | 
| -/* Defines integer to represent sets of possible operand flags. */
 | 
| -typedef uint32_t NaClOpFlags;
 | 
| -
 | 
| -/* Converts an NaClOpFlag enum to the corresponding bit in NaClOpFlags. */
 | 
| -#define NACL_OPFLAG(x) (((NaClOpFlags) 1) << x)
 | 
| -
 | 
| -/* Models the empty set of operand flags. */
 | 
| -#define NACL_EMPTY_OPFLAGS ((NaClOpFlags) 0)
 | 
| -
 | 
| -/* Prints out the set of defined OPerand flags. */
 | 
| -void NaClOpFlagsPrint(struct Gio* out, NaClOpFlags flags);
 | 
| -
 | 
| -/* Defines integer to represent sets of possible instruction disallow
 | 
| - * flags.
 | 
| - */
 | 
| -typedef uint16_t NaClDisallowsFlags;
 | 
| -
 | 
| -/* Converts a NaClDisallowsFlag to the corresponding bit
 | 
| - * in NaClDisallowsFlags.
 | 
| - */
 | 
| -#define NACL_DISALLOWS_FLAG(x) (((NaClDisallowsFlags) 1) << (x))
 | 
| -
 | 
| -/* Models the empty set of instruction disallows flags. */
 | 
| -#define NACL_EMPTY_DISALLOWS_FLAGS ((NaClDisallowsFlags) 0)
 | 
| -
 | 
| -/* Metadata about an instruction operand. */
 | 
| -typedef struct NaClOp {
 | 
| -  /* The kind of the operand (i.e. kind of data modeled by the operand).*/
 | 
| -  NaClOpKind kind;
 | 
| -  /* Flags defining additional facts about the operand. */
 | 
| -  NaClOpFlags flags;
 | 
| -  /* Printing format string for operand. */
 | 
| -  const char* format_string;
 | 
| -} NaClOp;
 | 
| -
 | 
| -/* Maxmimum number of opcode bytes per instruction. */
 | 
| -#define NACL_MAX_OPCODE_BYTES 3
 | 
| -
 | 
| -/* Maximum number of opcode bytes used to model an instruction. Include
 | 
| - * opcodes in the modrm byte, and register values encoded in the opcode.
 | 
| - */
 | 
| -#define NACL_MAX_ALL_OPCODE_BYTES 4
 | 
| -
 | 
| -/* Metadata about an instruction, defining a pattern. Note: Since the same
 | 
| - * sequence of opcode bytes may define more than one pattern (depending on
 | 
| - * other bytes in the parsed instruction), the patterns are
 | 
| - * modeled using a singly linked list.
 | 
| - */
 | 
| -typedef struct NaClInst {
 | 
| -  /* Defines the origin of this instruction. */
 | 
| -  NaClInstType insttype;
 | 
| -  /* Flags defining additional facts about the instruction. */
 | 
| -  NaClIFlags flags;
 | 
| -  /* The instruction that this instruction implements. */
 | 
| -  NaClMnemonic name;
 | 
| -  /* Defines opcode extentions, which encodes values for OpcodeInModRm,
 | 
| -   * OpcodePlusR, and OpcodeInModRmRm. Note: to fit the possible 9
 | 
| -   * bits of information in 8 bits, we assume that OpcodeInModRm
 | 
| -   * and OpcodePlusR do not happen in the same instruction.
 | 
| -   */
 | 
| -  uint8_t opcode_ext;
 | 
| -  /* The number of operands modeled for this instruction. */
 | 
| -  uint8_t num_operands;
 | 
| -  /* The corresponding models of the operands. */
 | 
| -  uint16_t operands_offset;
 | 
| -  /* Pointer to the next pattern to try and match for the
 | 
| -   * given sequence of opcode bytes.
 | 
| -   */
 | 
| -  uint16_t next_rule;
 | 
| -} NaClInst;
 | 
| -
 | 
| -/* Returns the OpcodeInModRm value in the opcode_ext field. */
 | 
| -uint8_t NaClGetOpcodeInModRm(uint8_t opcode_ext);
 | 
| -
 | 
| -/* Returns the OpcodeInModRmRm value in the opcode_ext field. */
 | 
| -uint8_t NaClGetOpcodeInModRmRm(uint8_t opcode_ext);
 | 
| -
 | 
| -/* Returns the OpcodePlusR value in the opcode_ext field. */
 | 
| -uint8_t NaClGetOpcodePlusR(uint8_t opcode_ext);
 | 
| -
 | 
| -/* Implements trie nodes for selecting instructions that must match
 | 
| - * a specific sequence of bytes. Used to handle NOP cases.
 | 
| - */
 | 
| -typedef struct NaClInstNode {
 | 
| -  /* The matching byte for the trie node. */
 | 
| -  const uint8_t matching_byte;
 | 
| -  /* The matching modeled instruction, if byte matched. */
 | 
| -  const uint16_t matching_inst;
 | 
| -  /* Node to match remaining bytes if matching_byte matches. */
 | 
| -  const struct NaClInstNode* success;
 | 
| -  /* Node to try next if match_byte doesn't match. Note:
 | 
| -   * The trie is generated in such a way that if the next input
 | 
| -   * byte is > matching_byte, no node in the fail subtree will
 | 
| -   * match the current input. That is, nodes in the trie are
 | 
| -   * sorted by the sequence of matching bytes.
 | 
| -   */
 | 
| -  const struct NaClInstNode* fail;
 | 
| -} NaClInstNode;
 | 
| -
 | 
| -/* Returns the number of logical operands an instruction has. That is,
 | 
| - * returns field num_operands unless the first operand is
 | 
| - * a special encoding that extends the opcode.
 | 
| - */
 | 
| -uint8_t NaClGetInstNumberOperands(const NaClInst* inst);
 | 
| -
 | 
| -/* Returns the indexed logical operand for the instruction. That is,
 | 
| - * returns the index-th operand unless the first operand is
 | 
| - * a special encoding that extends the opcode. In the latter
 | 
| - * case, the (index+1)-th operand is returned.
 | 
| - */
 | 
| -const NaClOp* NaClGetInstOperand(const struct NaClDecodeTables* tables,
 | 
| -                                 const NaClInst* inst,
 | 
| -                                 uint8_t index);
 | 
| -
 | 
| -/* Print out the given operand structure to the given file. */
 | 
| -void NaClOpPrint(struct Gio* f, const NaClOp* operand);
 | 
| -
 | 
| -/* Returns a string defining bytes of the given prefix that are considered
 | 
| - * prefix bytes, independent of the opcode.
 | 
| - */
 | 
| -const char* OpcodePrefixBytes(NaClInstPrefix prefix);
 | 
| -
 | 
| -/* Print out the given instruction to the given file. However, always
 | 
| - * print the value NULL for next_rule, even if the value is non-null. This
 | 
| - * function should be used to print out an individual opcode (instruction)
 | 
| - * pattern.
 | 
| - */
 | 
| -void NaClInstPrint(struct Gio* f,
 | 
| -                   const struct NaClDecodeTables* tables,
 | 
| -                   const NaClInst* inst);
 | 
| -
 | 
| -EXTERN_C_END
 | 
| -
 | 
| -#endif  /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOPCODE_DESC_H_ */
 | 
| 
 |