2 * Copyright (C) 2008 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * Table of Dalvik opcode names.
20 #include "OpCodeNames.h"
25 * The following two lines work, but slashes and dashes both turn into
26 * underscores, and the strings are all upper case. The output is easier
27 * to read if we do the strings by hand (could probably write a
28 * post-processing function easily enough if maintenance becomes annoying).
31 //DEFINE_GOTO_TABLE(gOpNames)
34 * Dalvik opcode names.
36 static const char* gOpNames[256] = {
79 "filled-new-array/range",
168 "invoke-virtual/range",
169 "invoke-super/range",
170 "invoke-direct/range",
171 "invoke-static/range",
172 "invoke-interface/range",
297 "+iget-object-volatile",
298 "+iget-wide-volatile",
299 "+iput-wide-volatile",
300 "+sget-wide-volatile",
301 "+sput-wide-volatile",
302 "^breakpoint", // does not appear in DEX files
303 "^throw-verification-error", // does not appear in DEX files
305 "+execute-inline/range",
308 "+invoke-direct-empty",
309 "+return-void-barrier",
312 "+iget-object-quick",
315 "+iput-object-quick",
316 "+invoke-virtual-quick",
317 "+invoke-virtual-quick/range",
318 "+invoke-super-quick",
319 "+invoke-super-quick/range",
320 "+iput-object-volatile",
321 "+sget-object-volatile",
322 "+sput-object-volatile",
327 * Return the name of an opcode.
329 const char* dexGetOpcodeName(OpCode op)
331 assert(op >= 0 && op < kNumDalvikInstructions);