diff options
author | Andy McFadden <fadden@android.com> | 2010-06-22 11:01:20 -0700 |
---|---|---|
committer | Andy McFadden <fadden@android.com> | 2010-06-22 11:03:03 -0700 |
commit | c6b25c79a4ec5cc83e2bc14af24e8eabad931743 (patch) | |
tree | f364d98b92b9ddd01806ffa5836ef5d63a87989e /dexdump | |
parent | 45a82a133c0f8d91bce6621be1ea2f4818e8e340 (diff) | |
download | android_dalvik-c6b25c79a4ec5cc83e2bc14af24e8eabad931743.tar.gz android_dalvik-c6b25c79a4ec5cc83e2bc14af24e8eabad931743.tar.bz2 android_dalvik-c6b25c79a4ec5cc83e2bc14af24e8eabad931743.zip |
Relocate OpCodeNames.[ch].
The JIT was pulling it out of the dexdump directory, which is Just
Plain Wrong[tm]. Now it's part of libdex, for all to enjoy.
Change-Id: Ic1e4c981eb2d70ccc3c841ceb5a54f4f77af2008
Diffstat (limited to 'dexdump')
-rw-r--r-- | dexdump/Android.mk | 3 | ||||
-rw-r--r-- | dexdump/DexDump.c | 5 | ||||
-rw-r--r-- | dexdump/OpCodeNames.c | 329 | ||||
-rw-r--r-- | dexdump/OpCodeNames.h | 26 |
4 files changed, 3 insertions, 360 deletions
diff --git a/dexdump/Android.mk b/dexdump/Android.mk index 077339f62..026067b9f 100644 --- a/dexdump/Android.mk +++ b/dexdump/Android.mk @@ -18,8 +18,7 @@ LOCAL_PATH:= $(call my-dir) dexdump_src_files := \ - DexDump.c \ - OpCodeNames.c + DexDump.c dexdump_c_includes := \ dalvik \ diff --git a/dexdump/DexDump.c b/dexdump/DexDump.c index 9582c986f..33646bbce 100644 --- a/dexdump/DexDump.c +++ b/dexdump/DexDump.c @@ -34,11 +34,10 @@ #include "libdex/DexClass.h" #include "libdex/DexProto.h" #include "libdex/InstrUtils.h" +#include "libdex/OpCodeNames.h" #include "libdex/SysUtil.h" #include "libdex/CmdUtils.h" -#include "dexdump/OpCodeNames.h" - #include <stdlib.h> #include <stdio.h> #include <fcntl.h> @@ -740,7 +739,7 @@ void dumpInstruction(DexFile* pDexFile, const DexCode* pCode, int insnIdx, printf("|%04x: nop // spacer", insnIdx); } } else { - printf("|%04x: %s", insnIdx, getOpcodeName(pDecInsn->opCode)); + printf("|%04x: %s", insnIdx, dexGetOpcodeName(pDecInsn->opCode)); } switch (dexGetInstrFormat(gInstrFormat, pDecInsn->opCode)) { diff --git a/dexdump/OpCodeNames.c b/dexdump/OpCodeNames.c deleted file mode 100644 index 1901f15ea..000000000 --- a/dexdump/OpCodeNames.c +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* - * Table of Dalvik opcode names. - */ -#include "OpCodeNames.h" - -/* - * The following two lines work, but slashes and dashes both turn into - * underscores, and the strings are all upper case. The output is easier - * to read if we do the strings by hand (could probably write a - * post-processing function easily enough if maintenance becomes annoying). - */ -//#define H(_op) #_op -//DEFINE_GOTO_TABLE(gOpNames) - -/* - * Dalvik opcode names. - */ -static const char* gOpNames[256] = { - /* 0x00 */ - "nop", - "move", - "move/from16", - "move/16", - "move-wide", - "move-wide/from16", - "move-wide/16", - "move-object", - "move-object/from16", - "move-object/16", - "move-result", - "move-result-wide", - "move-result-object", - "move-exception", - "return-void", - "return", - - /* 0x10 */ - "return-wide", - "return-object", - "const/4", - "const/16", - "const", - "const/high16", - "const-wide/16", - "const-wide/32", - "const-wide", - "const-wide/high16", - "const-string", - "const-string/jumbo", - "const-class", - "monitor-enter", - "monitor-exit", - "check-cast", - - /* 0x20 */ - "instance-of", - "array-length", - "new-instance", - "new-array", - "filled-new-array", - "filled-new-array/range", - "fill-array-data", - "throw", - "goto", - "goto/16", - "goto/32", - "packed-switch", - "sparse-switch", - "cmpl-float", - "cmpg-float", - "cmpl-double", - - /* 0x30 */ - "cmpg-double", - "cmp-long", - "if-eq", - "if-ne", - "if-lt", - "if-ge", - "if-gt", - "if-le", - "if-eqz", - "if-nez", - "if-ltz", - "if-gez", - "if-gtz", - "if-lez", - "UNUSED", - "UNUSED", - - /* 0x40 */ - "UNUSED", - "UNUSED", - "UNUSED", - "UNUSED", - "aget", - "aget-wide", - "aget-object", - "aget-boolean", - "aget-byte", - "aget-char", - "aget-short", - "aput", - "aput-wide", - "aput-object", - "aput-boolean", - "aput-byte", - - /* 0x50 */ - "aput-char", - "aput-short", - "iget", - "iget-wide", - "iget-object", - "iget-boolean", - "iget-byte", - "iget-char", - "iget-short", - "iput", - "iput-wide", - "iput-object", - "iput-boolean", - "iput-byte", - "iput-char", - "iput-short", - - /* 0x60 */ - "sget", - "sget-wide", - "sget-object", - "sget-boolean", - "sget-byte", - "sget-char", - "sget-short", - "sput", - "sput-wide", - "sput-object", - "sput-boolean", - "sput-byte", - "sput-char", - "sput-short", - "invoke-virtual", - "invoke-super", - - /* 0x70 */ - "invoke-direct", - "invoke-static", - "invoke-interface", - "UNUSED", - "invoke-virtual/range", - "invoke-super/range", - "invoke-direct/range", - "invoke-static/range", - "invoke-interface/range", - "UNUSED", - "UNUSED", - "neg-int", - "not-int", - "neg-long", - "not-long", - "neg-float", - - /* 0x80 */ - "neg-double", - "int-to-long", - "int-to-float", - "int-to-double", - "long-to-int", - "long-to-float", - "long-to-double", - "float-to-int", - "float-to-long", - "float-to-double", - "double-to-int", - "double-to-long", - "double-to-float", - "int-to-byte", - "int-to-char", - "int-to-short", - - /* 0x90 */ - "add-int", - "sub-int", - "mul-int", - "div-int", - "rem-int", - "and-int", - "or-int", - "xor-int", - "shl-int", - "shr-int", - "ushr-int", - "add-long", - "sub-long", - "mul-long", - "div-long", - "rem-long", - - /* 0xa0 */ - "and-long", - "or-long", - "xor-long", - "shl-long", - "shr-long", - "ushr-long", - "add-float", - "sub-float", - "mul-float", - "div-float", - "rem-float", - "add-double", - "sub-double", - "mul-double", - "div-double", - "rem-double", - - /* 0xb0 */ - "add-int/2addr", - "sub-int/2addr", - "mul-int/2addr", - "div-int/2addr", - "rem-int/2addr", - "and-int/2addr", - "or-int/2addr", - "xor-int/2addr", - "shl-int/2addr", - "shr-int/2addr", - "ushr-int/2addr", - "add-long/2addr", - "sub-long/2addr", - "mul-long/2addr", - "div-long/2addr", - "rem-long/2addr", - - /* 0xc0 */ - "and-long/2addr", - "or-long/2addr", - "xor-long/2addr", - "shl-long/2addr", - "shr-long/2addr", - "ushr-long/2addr", - "add-float/2addr", - "sub-float/2addr", - "mul-float/2addr", - "div-float/2addr", - "rem-float/2addr", - "add-double/2addr", - "sub-double/2addr", - "mul-double/2addr", - "div-double/2addr", - "rem-double/2addr", - - /* 0xd0 */ - "add-int/lit16", - "rsub-int", - "mul-int/lit16", - "div-int/lit16", - "rem-int/lit16", - "and-int/lit16", - "or-int/lit16", - "xor-int/lit16", - "add-int/lit8", - "rsub-int/lit8", - "mul-int/lit8", - "div-int/lit8", - "rem-int/lit8", - "and-int/lit8", - "or-int/lit8", - "xor-int/lit8", - - /* 0xe0 */ - "shl-int/lit8", - "shr-int/lit8", - "ushr-int/lit8", - "+iget-volatile", - "+iput-volatile", - "+sget-volatile", - "+sput-volatile", - "+iget-object-volatile", - "+iget-wide-volatile", - "+iput-wide-volatile", - "+sget-wide-volatile", - "+sput-wide-volatile", - "^breakpoint", // does not appear in DEX files - "^throw-verification-error", // does not appear in DEX files - "+execute-inline", - "+execute-inline/range", - - /* 0xf0 */ - "+invoke-direct-empty", - "UNUSED", - "+iget-quick", - "+iget-wide-quick", - "+iget-object-quick", - "+iput-quick", - "+iput-wide-quick", - "+iput-object-quick", - "+invoke-virtual-quick", - "+invoke-virtual-quick/range", - "+invoke-super-quick", - "+invoke-super-quick/range", - "+iput-object-volatile", - "+sget-object-volatile", - "+sput-object-volatile", - "UNUSED", -}; - -/* - * Return the name of an opcode. - */ -const char* getOpcodeName(OpCode op) -{ - return gOpNames[op]; -} diff --git a/dexdump/OpCodeNames.h b/dexdump/OpCodeNames.h deleted file mode 100644 index 3965c6de6..000000000 --- a/dexdump/OpCodeNames.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* - * Dalvik opcode names. - */ -#ifndef _DEXDUMP_OPCODENAMES -#define _DEXDUMP_OPCODENAMES - -#include "libdex/OpCode.h" - -const char* getOpcodeName(OpCode op); - -#endif /*_DEXDUMP_OPCODENAMES*/ |