summaryrefslogtreecommitdiff
path: root/src/arch/dalvik/processor.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2010-05-19 23:30:05 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2010-05-19 23:30:05 (GMT)
commit6511f2fe4551c2ea231115d6c659c99e15b3a23b (patch)
treeaeb6d8a50480063e8d75a9096c0ab98420830dad /src/arch/dalvik/processor.c
parent8aca52bcbb6b9c710771087dddeadf4adb05dc66 (diff)
Added support for a few more Dalvik instructions.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@160 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/dalvik/processor.c')
-rw-r--r--src/arch/dalvik/processor.c54
1 files changed, 38 insertions, 16 deletions
diff --git a/src/arch/dalvik/processor.c b/src/arch/dalvik/processor.c
index 7bf469e..1e54146 100644
--- a/src/arch/dalvik/processor.c
+++ b/src/arch/dalvik/processor.c
@@ -151,37 +151,59 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
static const dalvik_read_instr decodings[DOP_COUNT] = {
- [DOP_NOP] = dalvik_read_instr_nop,
+ [DOP_NOP] = dalvik_read_instr_nop,
- [DOP_CONST_4] = dalvik_read_instr_const_4,
- [DOP_CONST_16] = dalvik_read_instr_const_16,
+ [DOP_MOVE_RESULT_OBJECT] = dalvik_read_instr_move_result_object,
- [DOP_CONST_HIGH16] = dalvik_read_instr_const_high16,
+ [DOP_CONST_4] = dalvik_read_instr_const_4,
+ [DOP_CONST_16] = dalvik_read_instr_const_16,
- [DOP_CONST_STRING] = dalvik_read_instr_const_string,
+ [DOP_CONST_HIGH16] = dalvik_read_instr_const_high16,
+ [DOP_CONST_STRING] = dalvik_read_instr_const_string,
- [DOP_RETURN_VOID] = dalvik_read_instr_return_void,
- [DOP_RETURN] = dalvik_read_instr_return,
- [DOP_SGET] = dalvik_read_instr_sget,
- [DOP_SGET_WIDE] = dalvik_read_instr_sget_wide,
- [DOP_SGET_OBJECT] = dalvik_read_instr_sget_object,
+ [DOP_RETURN_VOID] = dalvik_read_instr_return_void,
+ [DOP_RETURN] = dalvik_read_instr_return,
+ [DOP_NEW_INSTANCE] = dalvik_read_instr_new_instance,
- [DOP_INVOKE_VIRTUAL] = dalvik_read_instr_invoke_virtual,
- [DOP_INVOKE_SUPER] = dalvik_read_instr_invoke_super,
- [DOP_INVOKE_DIRECT] = dalvik_read_instr_invoke_direct,
- [DOP_INVOKE_STATIC] = dalvik_read_instr_invoke_static,
- [DOP_INVOKE_INTERFACE] = dalvik_read_instr_invoke_interface,
+ [DOP_IGET] = dalvik_read_instr_iget,
+ [DOP_IGET_WIDE] = dalvik_read_instr_iget_wide,
+ [DOP_IGET_OBJECT] = dalvik_read_instr_iget_object,
+ [DOP_IGET_BOOLEAN] = dalvik_read_instr_iget_boolean,
+ [DOP_IGET_BYTE] = dalvik_read_instr_iget_byte,
+ [DOP_IGET_CHAR] = dalvik_read_instr_iget_char,
+ [DOP_IGET_SHORT] = dalvik_read_instr_iget_short,
+ [DOP_IPUT] = dalvik_read_instr_iput,
+ [DOP_IPUT_WIDE] = dalvik_read_instr_iput_wide,
+ [DOP_IPUT_OBJECT] = dalvik_read_instr_iput_object,
+ [DOP_IPUT_BOOLEAN] = dalvik_read_instr_iput_boolean,
+ [DOP_IPUT_BYTE] = dalvik_read_instr_iput_byte,
+ [DOP_IPUT_CHAR] = dalvik_read_instr_iput_char,
+ [DOP_IPUT_SHORT] = dalvik_read_instr_iput_short,
+ [DOP_SGET] = dalvik_read_instr_sget,
+ [DOP_SGET_WIDE] = dalvik_read_instr_sget_wide,
+ [DOP_SGET_OBJECT] = dalvik_read_instr_sget_object,
- [DOP_MUL_INT_2ADDR] = dalvik_read_instr_mul_int_2addr
+
+ [DOP_INVOKE_VIRTUAL] = dalvik_read_instr_invoke_virtual,
+ [DOP_INVOKE_SUPER] = dalvik_read_instr_invoke_super,
+ [DOP_INVOKE_DIRECT] = dalvik_read_instr_invoke_direct,
+ [DOP_INVOKE_STATIC] = dalvik_read_instr_invoke_static,
+ [DOP_INVOKE_INTERFACE] = dalvik_read_instr_invoke_interface,
+
+
+ [DOP_MUL_INT_2ADDR] = dalvik_read_instr_mul_int_2addr,
+
+
+ [DOP_ADD_INT_LIT8] = dalvik_read_instr_add_int_lit8
};