Lines Matching refs:insns

41 static void rewriteInstField(Method* method, u2* insns, Opcode quickOpc,
43 static void rewriteStaticField(Method* method, u2* insns, Opcode volatileOpc);
44 static void rewriteVirtualInvoke(Method* method, u2* insns, Opcode newOpc);
45 static bool rewriteInvokeObjectInit(Method* method, u2* insns);
46 static bool rewriteExecuteInline(Method* method, u2* insns,
48 static bool rewriteExecuteInlineRange(Method* method, u2* insns,
50 static void rewriteReturnVoid(Method* method, u2* insns);
151 u2* insns;
159 insns = (u2*) method->insns;
160 assert(insns != NULL);
168 opc = dexOpcodeFromCodeUnit(*insns);
169 width = dexGetWidthFromInstruction(insns);
242 rewriteInstField(method, insns, quickOpc, volatileOpc);
277 rewriteStaticField(method, insns, volatileOpc);
282 if (!rewriteInvokeObjectInit(method, insns)) {
289 rewriteReturnVoid(method, insns);
305 if (!rewriteExecuteInline(method, insns, METHOD_VIRTUAL)) {
306 rewriteVirtualInvoke(method, insns,
311 if (!rewriteExecuteInlineRange(method, insns, METHOD_VIRTUAL)) {
312 rewriteVirtualInvoke(method, insns,
317 rewriteVirtualInvoke(method, insns, OP_INVOKE_SUPER_QUICK);
320 rewriteVirtualInvoke(method, insns, OP_INVOKE_SUPER_QUICK_RANGE);
323 rewriteExecuteInline(method, insns, METHOD_DIRECT);
326 rewriteExecuteInlineRange(method, insns, METHOD_DIRECT);
329 rewriteExecuteInline(method, insns, METHOD_STATIC);
332 rewriteExecuteInlineRange(method, insns, METHOD_STATIC);
342 assert(width == dexGetWidthFromInstruction(insns));
344 insns += width;
678 static void rewriteInstField(Method* method, u2* insns, Opcode quickOpc,
682 u2 fieldIdx = insns[1];
689 fieldIdx, (int) (insns - method->insns), clazz->descriptor,
695 updateOpcode(method, insns, volatileOpc);
699 updateOpcode(method, insns, quickOpc);
700 dvmUpdateCodeUnit(method, insns+1, (u2) instField->byteOffset);
718 static void rewriteStaticField0(Method* method, u2* insns, Opcode volatileOpc,
730 fieldIdx, (int) (insns - method->insns), clazz->descriptor,
736 updateOpcode(method, insns, volatileOpc);
742 static void rewriteStaticField(Method* method, u2* insns, Opcode volatileOpc)
744 u2 fieldIdx = insns[1];
745 rewriteStaticField0(method, insns, volatileOpc, fieldIdx);
889 static void rewriteVirtualInvoke(Method* method, u2* insns, Opcode newOpc)
893 u2 methodIdx = insns[1];
899 (int) (insns - method->insns), clazz->descriptor,
904 assert((insns[0] & 0xff) == OP_INVOKE_VIRTUAL ||
905 (insns[0] & 0xff) == OP_INVOKE_VIRTUAL_RANGE ||
906 (insns[0] & 0xff) == OP_INVOKE_SUPER ||
907 (insns[0] & 0xff) == OP_INVOKE_SUPER_RANGE);
913 updateOpcode(method, insns, newOpc);
914 dvmUpdateCodeUnit(method, insns+1, baseMethod->methodIndex);
934 static bool rewriteInvokeObjectInit(Method* method, u2* insns)
938 u2 methodIdx = insns[1];
943 methodIdx, (int) (insns - method->insns),
959 u1 origOp = insns[0] & 0xff;
961 dvmUpdateCodeUnit(method, insns,
965 assert((insns[0] >> 8) == 1);
966 updateOpcode(method, insns, OP_INVOKE_OBJECT_INIT_RANGE);
1051 static bool rewriteExecuteInline(Method* method, u2* insns,
1057 u2 methodIdx = insns[1];
1078 assert((insns[0] & 0xff) == OP_INVOKE_DIRECT ||
1079 (insns[0] & 0xff) == OP_INVOKE_STATIC ||
1080 (insns[0] & 0xff) == OP_INVOKE_VIRTUAL);
1081 updateOpcode(method, insns, OP_EXECUTE_INLINE);
1082 dvmUpdateCodeUnit(method, insns+1, (u2) inlineSubs->inlineIdx);
1102 static bool rewriteExecuteInlineRange(Method* method, u2* insns,
1108 u2 methodIdx = insns[1];
1118 assert((insns[0] & 0xff) == OP_INVOKE_DIRECT_RANGE ||
1119 (insns[0] & 0xff) == OP_INVOKE_STATIC_RANGE ||
1120 (insns[0] & 0xff) == OP_INVOKE_VIRTUAL_RANGE);
1121 updateOpcode(method, insns, OP_EXECUTE_INLINE_RANGE);
1122 dvmUpdateCodeUnit(method, insns+1, (u2) inlineSubs->inlineIdx);
1184 static void rewriteReturnVoid(Method* method, u2* insns)
1186 assert((insns[0] & 0xff) == OP_RETURN_VOID);
1187 updateOpcode(method, insns, OP_RETURN_VOID_BARRIER);