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 24JIT_TEMPLATE(CMP_LONG) 25JIT_TEMPLATE(RETURN) 26JIT_TEMPLATE(INVOKE_METHOD_NO_OPT) 27JIT_TEMPLATE(INVOKE_METHOD_CHAIN) 28JIT_TEMPLATE(INVOKE_METHOD_PREDICTED_CHAIN) 29JIT_TEMPLATE(INVOKE_METHOD_NATIVE) 30JIT_TEMPLATE(MUL_LONG) 31JIT_TEMPLATE(SHL_LONG) 32JIT_TEMPLATE(SHR_LONG) 33JIT_TEMPLATE(USHR_LONG) 34JIT_TEMPLATE(ADD_FLOAT_VFP) 35JIT_TEMPLATE(SUB_FLOAT_VFP) 36JIT_TEMPLATE(MUL_FLOAT_VFP) 37JIT_TEMPLATE(DIV_FLOAT_VFP) 38JIT_TEMPLATE(ADD_DOUBLE_VFP) 39JIT_TEMPLATE(SUB_DOUBLE_VFP) 40JIT_TEMPLATE(MUL_DOUBLE_VFP) 41JIT_TEMPLATE(DIV_DOUBLE_VFP) 42JIT_TEMPLATE(DOUBLE_TO_FLOAT_VFP) 43JIT_TEMPLATE(DOUBLE_TO_INT_VFP) 44JIT_TEMPLATE(FLOAT_TO_DOUBLE_VFP) 45JIT_TEMPLATE(FLOAT_TO_INT_VFP) 46JIT_TEMPLATE(INT_TO_DOUBLE_VFP) 47JIT_TEMPLATE(INT_TO_FLOAT_VFP) 48JIT_TEMPLATE(CMPG_DOUBLE_VFP) 49JIT_TEMPLATE(CMPL_DOUBLE_VFP) 50JIT_TEMPLATE(CMPG_FLOAT_VFP) 51JIT_TEMPLATE(CMPL_FLOAT_VFP) 52JIT_TEMPLATE(SQRT_DOUBLE_VFP) 53JIT_TEMPLATE(THROW_EXCEPTION_COMMON) 54JIT_TEMPLATE(MEM_OP_DECODE) 55JIT_TEMPLATE(STRING_COMPARETO) 56JIT_TEMPLATE(STRING_INDEXOF) 57JIT_TEMPLATE(INTERPRET) 58JIT_TEMPLATE(MONITOR_ENTER) 59JIT_TEMPLATE(MONITOR_ENTER_DEBUG) 60JIT_TEMPLATE(RESTORE_STATE) 61JIT_TEMPLATE(SAVE_STATE) 62JIT_TEMPLATE(PERIODIC_PROFILING) 63JIT_TEMPLATE(RETURN_PROF) 64JIT_TEMPLATE(INVOKE_METHOD_NO_OPT_PROF) 65JIT_TEMPLATE(INVOKE_METHOD_CHAIN_PROF) 66JIT_TEMPLATE(INVOKE_METHOD_PREDICTED_CHAIN_PROF) 67JIT_TEMPLATE(INVOKE_METHOD_NATIVE_PROF) 68