Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1250)

Unified Diff: src/trusted/validator/x86/decoder/ncopcode_desc.h

Issue 625923004: Delete old x86 validator. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: rebase master Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_ */
« no previous file with comments | « src/trusted/validator/x86/decoder/ncop_exps_inl.c ('k') | src/trusted/validator/x86/decoder/ncopcode_desc.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698