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

Unified Diff: src/trusted/validator/x86/decoder/generator/modeled_nacl_inst.c

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/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);
- }
- }
-}

Powered by Google App Engine
This is Rietveld 408576698