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

Unified Diff: src/trusted/validator/x86/decoder/generator/ncdecode_st.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/ncdecode_st.c
diff --git a/src/trusted/validator/x86/decoder/generator/ncdecode_st.c b/src/trusted/validator/x86/decoder/generator/ncdecode_st.c
deleted file mode 100644
index faecc029977f549aaa6331506bc0295440756b8b..0000000000000000000000000000000000000000
--- a/src/trusted/validator/x86/decoder/generator/ncdecode_st.c
+++ /dev/null
@@ -1,196 +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.
- */
-
-/*
- * ncdecode_st.c - Implements nested symbol tables.
- *
- * Note: We use linear lists
- */
-
-#ifndef NACL_TRUSTED_BUT_NOT_TCB
-#error("This file is not meant for use in the TCB")
-#endif
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "native_client/src/trusted/validator/x86/decoder/generator/ncdecode_st.h"
-
-#include "native_client/src/include/nacl_macros.h"
-#include "native_client/src/include/portability.h"
-#include "native_client/src/shared/platform/nacl_log.h"
-#include "native_client/src/trusted/validator/x86/decoder/generator/ncdecode_tablegen.h"
-
-/* To turn on debugging of instruction decoding, change value of
- * DEBUGGING to 1.
- */
-#define DEBUGGING 0
-
-#include "native_client/src/shared/utils/debugging.h"
-
-const char* NaClStValueKindName(NaClStValueKind kind) {
- /*
- * See https://code.google.com/p/nativeclient/issues/detail?id=3750
- */
- switch (kind) {
- case nacl_byte:
- return "nacl_byte";
- case nacl_text:
- return "nacl_text";
- case nacl_int:
- return "nacl_int";
- case nacl_defop:
- return "nacl_defop";
- }
- return "???"; /* better not be DCE'd */
-}
-
-void NaClStValueAssign(
- NaClStValue* lhs,
- NaClStValue* rhs) {
- memcpy(lhs, rhs, sizeof(NaClStValue));
-}
-
-void NaClStValuePrint(struct Gio* g, NaClStValue* value) {
- gprintf(g, "<%s : ", NaClStValueKindName(value->kind));
- switch (value->kind) {
- case nacl_byte:
- gprintf(g, "0x%02"NACL_PRIx8, value->value.byte_value);
- break;
- case nacl_int:
- gprintf(g, "%d", value->value.int_value);
- break;
- case nacl_text:
- gprintf(g, "'%s'", value->value.text_value);
- break;
- case nacl_defop:
- gprintf(g, "<defop>");
- break;
- default:
- gprintf(g, "???");
- break;
- }
- gprintf(g, ">");
-}
-
-/* Element in the symbol table. */
-typedef struct NaClSymbolTablePair {
- const char* name; /* The name of the symbol. */
- NaClStValue value; /* The value associated with the symbol. */
-} NaClSymbolTablePair;
-
-/* Simple implementation of a symbol table using an array of size capacity. */
-typedef struct NaClSymbolTable {
- /* The calling context defines the outer scope for processing
- * nested scopes.
- */
- struct NaClSymbolTable* calling_context;
- /* The current size of the symbol table. */
- size_t size;
- /* The maximum size of the symbol table. */
- size_t capacity;
- /* The array holding the contents of the symbol table. */
- NaClSymbolTablePair* values;
-} NaClSymbolTable;
-
-NaClSymbolTable* NaClSymbolTableCreate(
- size_t capacity,
- NaClSymbolTable* calling_context) {
- NaClSymbolTable* st = (NaClSymbolTable*) malloc(sizeof(NaClSymbolTable));
- assert(NULL != st);
- st->calling_context = calling_context;
- st->size = 0;
- st->capacity = capacity;
- st->values = (NaClSymbolTablePair*)
- calloc(capacity, sizeof(NaClSymbolTablePair));
- assert(NULL != st->values);
- DEBUG(NaClLog(LOG_INFO,
- "NaClSymbolTableCreate(%"NACL_PRIdS") = %p\n",
- capacity, (void*) st));
- return st;
-}
-
-void NaClSymbolTableDestroy(NaClSymbolTable* st) {
- DEBUG(NaClLog(LOG_INFO, "NaClSymbolTableDestroy(%p)\n", (void*) st));
- free(st);
-}
-
-void NaClSymbolTablePut(
- const char* name,
- struct NaClStValue* value,
- NaClSymbolTable* st) {
- size_t i;
- DEBUG(NaClLog(LOG_INFO,
- "NaClSymbolTablePut('%s', ", name);
- NaClStValuePrint(NaClLogGetGio(), value);
- gprintf(NaClLogGetGio(), ", %p)\n", (void*) st));
- /* First see if already in the symbol table. */
- for (i = 0; i < st->size; ++i) {
- if (0 == strcmp(name, st->values[i].name)) {
- NaClStValueAssign(&(st->values[i].value), value);
- return;
- }
- }
- /* If reached, not in symbol table, add. */
- assert(st->size < st->capacity);
- st->values[st->size].name = strdup(name);
- assert(NULL != st->values[st->size].name);
- NaClStValueAssign(&(st->values[st->size++].value), value);
-}
-
-void NaClSymbolTablePutByte(const char* name,
- uint8_t byte,
- struct NaClSymbolTable* st) {
- NaClStValue value;
- value.kind = nacl_byte;
- value.value.byte_value = byte;
- NaClSymbolTablePut(name, &value, st);
-}
-
-void NaClSymbolTablePutText(const char* name,
- const char* text,
- struct NaClSymbolTable* st) {
- NaClStValue value;
- value.kind = nacl_text;
- value.value.text_value = text;
- NaClSymbolTablePut(name, &value, st);
-}
-
-void NaClSymbolTablePutInt(const char* name,
- int ival,
- struct NaClSymbolTable* st) {
- NaClStValue value;
- value.kind = nacl_int;
- value.value.int_value = ival;
- NaClSymbolTablePut(name, &value, st);
-}
-
-struct NaClStValue* NaClSymbolTableGet(
- const char* name,
- struct NaClSymbolTable* st) {
- size_t i;
- NaClStValue* result;
- DEBUG(NaClLog(LOG_INFO,
- "-> NaClSymbolTableGet('%s', %p):\n", name, (void*) st));
- while (NULL != st) {
- /* First see if already in the symbol table. */
- for (i = 0; i < st->size; ++i) {
- if (0 == strcmp(name, st->values[i].name)) {
- result = &(st->values[i].value);
- DEBUG(NaClLog(LOG_INFO, "<- NaClSymbolTableGet = ");
- NaClStValuePrint(NaClLogGetGio(), result);
- gprintf(NaClLogGetGio(), ")\n"));
- return result;
- }
- }
- /* If reached, not in this symbol table. Try calling context. */
- st = st->calling_context;
- }
- /* If reached, not defined in any calling context. */
- DEBUG(NaClLog(LOG_INFO, "<- NaClSymbolTableGet = NULL\n"));
- return NULL;
-}

Powered by Google App Engine
This is Rietveld 408576698