summaryrefslogtreecommitdiff
path: root/src/arch/dalvik/processor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/dalvik/processor.c')
-rw-r--r--src/arch/dalvik/processor.c77
1 files changed, 46 insertions, 31 deletions
diff --git a/src/arch/dalvik/processor.c b/src/arch/dalvik/processor.c
index fbba5e2..be1e2e5 100644
--- a/src/arch/dalvik/processor.c
+++ b/src/arch/dalvik/processor.c
@@ -261,13 +261,13 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
[DOP_NOP] = dalvik_read_instr_nop,
[DOP_MOVE] = dalvik_read_instr_move,
[DOP_MOVE_FROM_16] = dalvik_read_instr_move_from_16,
-
-
+ [DOP_MOVE_16] = dalvik_read_instr_move_16,
+ [DOP_MOVE_WIDE] = dalvik_read_instr_move_wide,
[DOP_MOVE_WIDE_FROM_16] = dalvik_read_instr_move_wide_from_16,
-
+ [DOP_MOVE_WIDE_16] = dalvik_read_instr_move_wide_16,
[DOP_MOVE_OBJECT] = dalvik_read_instr_move_object,
[DOP_MOVE_OBJECT_FROM_16] = dalvik_read_instr_move_object_from_16,
-
+ [DOP_MOVE_OBJECT_16] = dalvik_read_instr_move_object_16,
[DOP_MOVE_RESULT] = dalvik_read_instr_move_result,
[DOP_MOVE_RESULT_WIDE] = dalvik_read_instr_move_result_wide,
[DOP_MOVE_RESULT_OBJECT] = dalvik_read_instr_move_result_object,
@@ -287,15 +287,17 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
[DOP_CONST_STRING] = dalvik_read_instr_const_string,
[DOP_CONST_STRING_JUMBO] = dalvik_read_instr_const_string_jumbo,
[DOP_CONST_CLASS] = dalvik_read_instr_const_class,
-
+ [DOP_MONITOR_ENTER] = dalvik_read_instr_monitor_enter,
+ [DOP_MONITOR_EXIT] = dalvik_read_instr_monitor_exit,
[DOP_CHECK_CAST] = dalvik_read_instr_check_cast,
-
+ [DOP_INSTANCE_OF] = dalvik_read_instr_instance_of,
[DOP_ARRAY_LENGTH] = dalvik_read_instr_array_length,
[DOP_NEW_INSTANCE] = dalvik_read_instr_new_instance,
[DOP_NEW_ARRAY] = dalvik_read_instr_new_array,
-
+ [DOP_FILLED_NEW_ARRAY] = dalvik_read_instr_filled_new_array,
+ [DOP_FILLED_NEW_ARRAY_RANGE]= dalvik_read_instr_filled_new_array_range,
[DOP_FILL_ARRAY_DATA] = dalvik_read_instr_fill_array_data,
-
+ [DOP_THROW] = dalvik_read_instr_throw,
[DOP_GOTO] = dalvik_read_instr_goto,
[DOP_GOTO_16] = dalvik_read_instr_goto_16,
[DOP_GOTO_32] = dalvik_read_instr_goto_32,
@@ -318,10 +320,6 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
[DOP_IF_GEZ] = dalvik_read_instr_if_gez,
[DOP_IF_GTZ] = dalvik_read_instr_if_gtz,
[DOP_IF_LEZ] = dalvik_read_instr_if_lez,
-
-
-
-
[DOP_AGET] = dalvik_read_instr_aget,
[DOP_AGET_WIDE] = dalvik_read_instr_aget_wide,
[DOP_AGET_OBJECT] = dalvik_read_instr_aget_object,
@@ -374,8 +372,12 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
[DOP_INVOKE_DIRECT_RANGE] = dalvik_read_instr_invoke_direct_range,
[DOP_INVOKE_STATIC_RANGE] = dalvik_read_instr_invoke_static_range,
[DOP_INVOKE_INTERFACE_RANGE]= dalvik_read_instr_invoke_interface_range,
-
-
+ [DOP_NEG_INT] = dalvik_read_instr_neg_int,
+ [DOP_NOT_INT] = dalvik_read_instr_not_int,
+ [DOP_NEG_LONG] = dalvik_read_instr_neg_long,
+ [DOP_NOT_LONG] = dalvik_read_instr_not_long,
+ [DOP_NEG_FLOAT] = dalvik_read_instr_neg_float,
+ [DOP_NEG_DOUBLE] = dalvik_read_instr_neg_double,
[DOP_TO_INT_LONG] = dalvik_read_instr_to_int_long,
[DOP_TO_INT_FLOAT] = dalvik_read_instr_to_int_float,
[DOP_TO_INT_DOUBLE] = dalvik_read_instr_to_int_double,
@@ -402,19 +404,27 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
[DOP_SHL_INT] = dalvik_read_instr_shl_int,
[DOP_SHR_INT] = dalvik_read_instr_shr_int,
[DOP_USHR_INT] = dalvik_read_instr_ushr_int,
-
-
- [DOP_ADD_LONG] = dalvik_read_instr_add_long,
- [DOP_SUB_LONG] = dalvik_read_instr_sub_long,
- [DOP_MUL_LONG] = dalvik_read_instr_mul_long,
- [DOP_DIV_LONG] = dalvik_read_instr_div_long,
-
-
- [DOP_SHL_LONG] = dalvik_read_instr_shl_long,
- [DOP_SHR_LONG] = dalvik_read_instr_shr_long,
- [DOP_USHR_LONG] = dalvik_read_instr_ushr_long,
-
-
+ [DOP_ADD_LONG] = dalvik_read_instr_add_long,
+ [DOP_SUB_LONG] = dalvik_read_instr_sub_long,
+ [DOP_MUL_LONG] = dalvik_read_instr_mul_long,
+ [DOP_DIV_LONG] = dalvik_read_instr_div_long,
+ [DOP_REM_LONG] = dalvik_read_instr_rem_long,
+ [DOP_AND_LONG] = dalvik_read_instr_and_long,
+ [DOP_OR_LONG] = dalvik_read_instr_or_long,
+ [DOP_XOR_LONG] = dalvik_read_instr_xor_long,
+ [DOP_SHL_LONG] = dalvik_read_instr_shl_long,
+ [DOP_SHR_LONG] = dalvik_read_instr_shr_long,
+ [DOP_USHR_LONG] = dalvik_read_instr_ushr_long,
+ [DOP_ADD_FLOAT] = dalvik_read_instr_add_float,
+ [DOP_SUB_FLOAT] = dalvik_read_instr_sub_float,
+ [DOP_MUL_FLOAT] = dalvik_read_instr_mul_float,
+ [DOP_DIV_FLOAT] = dalvik_read_instr_div_float,
+ [DOP_REM_FLOAT] = dalvik_read_instr_rem_float,
+ [DOP_ADD_DOUBLE] = dalvik_read_instr_add_double,
+ [DOP_SUB_DOUBLE] = dalvik_read_instr_sub_double,
+ [DOP_MUL_DOUBLE] = dalvik_read_instr_mul_double,
+ [DOP_DIV_DOUBLE] = dalvik_read_instr_div_double,
+ [DOP_REM_DOUBLE] = dalvik_read_instr_rem_double,
[DOP_ADD_INT_2ADDR] = dalvik_read_instr_add_int_2addr,
[DOP_SUB_INT_2ADDR] = dalvik_read_instr_sub_int_2addr,
[DOP_MUL_INT_2ADDR] = dalvik_read_instr_mul_int_2addr,
@@ -429,19 +439,24 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
[DOP_ADD_LONG_2ADDR] = dalvik_read_instr_add_long_2addr,
[DOP_SUB_LONG_2ADDR] = dalvik_read_instr_sub_long_2addr,
[DOP_MUL_LONG_2ADDR] = dalvik_read_instr_mul_long_2addr,
-
+ [DOP_DIV_LONG_2ADDR] = dalvik_read_instr_div_long_2addr,
+ [DOP_REM_LONG_2ADDR] = dalvik_read_instr_rem_long_2addr,
+ [DOP_AND_LONG_2ADDR] = dalvik_read_instr_and_long_2addr,
+ [DOP_OR_LONG_2ADDR] = dalvik_read_instr_or_long_2addr,
+ [DOP_XOR_LONG_2ADDR] = dalvik_read_instr_xor_long_2addr,
[DOP_SHL_LONG_2ADDR] = dalvik_read_instr_shl_long_2addr,
[DOP_SHR_LONG_2ADDR] = dalvik_read_instr_shr_long_2addr,
[DOP_USHR_LONG_2ADDR] = dalvik_read_instr_ushr_long_2addr,
-
[DOP_ADD_FLOAT_2ADDR] = dalvik_read_instr_add_float_2addr,
[DOP_SUB_FLOAT_2ADDR] = dalvik_read_instr_sub_float_2addr,
[DOP_MUL_FLOAT_2ADDR] = dalvik_read_instr_mul_float_2addr,
-
+ [DOP_DIV_FLOAT_2ADDR] = dalvik_read_instr_div_float_2addr,
+ [DOP_REM_FLOAT_2ADDR] = dalvik_read_instr_rem_float_2addr,
[DOP_ADD_DOUBLE_2ADDR] = dalvik_read_instr_add_double_2addr,
[DOP_SUB_DOUBLE_2ADDR] = dalvik_read_instr_sub_double_2addr,
[DOP_MUL_DOUBLE_2ADDR] = dalvik_read_instr_mul_double_2addr,
-
+ [DOP_DIV_DOUBLE_2ADDR] = dalvik_read_instr_div_double_2addr,
+ [DOP_REM_DOUBLE_2ADDR] = dalvik_read_instr_rem_double_2addr,
[DOP_ADD_INT_LIT16] = dalvik_read_instr_add_int_lit16,
[DOP_RSUB_INT] = dalvik_read_instr_rsub_int,
[DOP_MUL_INT_LIT16] = dalvik_read_instr_mul_int_lit16,