1 /* 2 * Copyright (C) 2009 The Android Open Source Project 3 * 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 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 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. 15 */ 16 17 /* 18 * Dalvik opcode list that uses additional templates to complete JIT execution. 19 */ 20 #ifndef JIT_TEMPLATE 21 #define JIT_TEMPLATE(X) 22 #endif 23 24 JIT_TEMPLATE(CMP_LONG) 25 JIT_TEMPLATE(RETURN) 26 JIT_TEMPLATE(INVOKE_METHOD_NO_OPT) 27 JIT_TEMPLATE(INVOKE_METHOD_CHAIN) 28 JIT_TEMPLATE(INVOKE_METHOD_PREDICTED_CHAIN) 29 JIT_TEMPLATE(INVOKE_METHOD_NATIVE) 30 JIT_TEMPLATE(MUL_LONG) 31 JIT_TEMPLATE(SHL_LONG) 32 JIT_TEMPLATE(SHR_LONG) 33 JIT_TEMPLATE(USHR_LONG) 34 JIT_TEMPLATE(ADD_FLOAT_VFP) 35 JIT_TEMPLATE(SUB_FLOAT_VFP) 36 JIT_TEMPLATE(MUL_FLOAT_VFP) 37 JIT_TEMPLATE(DIV_FLOAT_VFP) 38 JIT_TEMPLATE(ADD_DOUBLE_VFP) 39 JIT_TEMPLATE(SUB_DOUBLE_VFP) 40 JIT_TEMPLATE(MUL_DOUBLE_VFP) 41 JIT_TEMPLATE(DIV_DOUBLE_VFP) 42 JIT_TEMPLATE(DOUBLE_TO_FLOAT_VFP) 43 JIT_TEMPLATE(DOUBLE_TO_INT_VFP) 44 JIT_TEMPLATE(FLOAT_TO_DOUBLE_VFP) 45 JIT_TEMPLATE(FLOAT_TO_INT_VFP) 46 JIT_TEMPLATE(INT_TO_DOUBLE_VFP) 47 JIT_TEMPLATE(INT_TO_FLOAT_VFP) 48 JIT_TEMPLATE(CMPG_DOUBLE_VFP) 49 JIT_TEMPLATE(CMPL_DOUBLE_VFP) 50 JIT_TEMPLATE(CMPG_FLOAT_VFP) 51 JIT_TEMPLATE(CMPL_FLOAT_VFP) 52 JIT_TEMPLATE(SQRT_DOUBLE_VFP) 53 JIT_TEMPLATE(THROW_EXCEPTION_COMMON) 54 JIT_TEMPLATE(MEM_OP_DECODE) 55 JIT_TEMPLATE(STRING_COMPARETO) 56 JIT_TEMPLATE(STRING_INDEXOF) 57 JIT_TEMPLATE(INTERPRET) 58 JIT_TEMPLATE(MONITOR_ENTER) 59 JIT_TEMPLATE(MONITOR_ENTER_DEBUG) 60 JIT_TEMPLATE(PERIODIC_PROFILING) 61 JIT_TEMPLATE(RETURN_PROF) 62 JIT_TEMPLATE(INVOKE_METHOD_NO_OPT_PROF) 63 JIT_TEMPLATE(INVOKE_METHOD_CHAIN_PROF) 64 JIT_TEMPLATE(INVOKE_METHOD_PREDICTED_CHAIN_PROF) 65 JIT_TEMPLATE(INVOKE_METHOD_NATIVE_PROF) 66