150a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee/* 250a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * Copyright (C) 2009 The Android Open Source Project 350a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * 450a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * Licensed under the Apache License, Version 2.0 (the "License"); 550a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * you may not use this file except in compliance with the License. 650a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * You may obtain a copy of the License at 750a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * 850a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * http://www.apache.org/licenses/LICENSE-2.0 950a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * 1050a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * Unless required by applicable law or agreed to in writing, software 1150a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * distributed under the License is distributed on an "AS IS" BASIS, 1250a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1350a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * See the License for the specific language governing permissions and 1450a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * limitations under the License. 1550a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee */ 1650a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee 1750a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee/* 1850a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee * Dalvik opcode list that uses additional templates to complete JIT execution. 1950a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee */ 2050a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee#ifndef JIT_TEMPLATE 2150a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee#define JIT_TEMPLATE(X) 2250a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee#endif 2350a6bf2f01efba0acbff9bb03e7ee09688553e08Bill Buzbee 2450a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(CMP_LONG) 2550a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(RETURN) 2650a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(INVOKE_METHOD_NO_OPT) 2750a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(INVOKE_METHOD_CHAIN) 2850a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(INVOKE_METHOD_PREDICTED_CHAIN) 2950a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(INVOKE_METHOD_NATIVE) 3050a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(MUL_LONG) 3150a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(SHL_LONG) 3250a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(SHR_LONG) 3350a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(USHR_LONG) 3450a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(ADD_FLOAT_VFP) 3550a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(SUB_FLOAT_VFP) 3650a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(MUL_FLOAT_VFP) 3750a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(DIV_FLOAT_VFP) 3850a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(ADD_DOUBLE_VFP) 3950a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(SUB_DOUBLE_VFP) 4050a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(MUL_DOUBLE_VFP) 4150a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(DIV_DOUBLE_VFP) 4250a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(DOUBLE_TO_FLOAT_VFP) 4350a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(DOUBLE_TO_INT_VFP) 4450a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(FLOAT_TO_DOUBLE_VFP) 4550a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(FLOAT_TO_INT_VFP) 4650a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(INT_TO_DOUBLE_VFP) 4750a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(INT_TO_FLOAT_VFP) 4850a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(CMPG_DOUBLE_VFP) 4950a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(CMPL_DOUBLE_VFP) 5050a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(CMPG_FLOAT_VFP) 5150a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(CMPL_FLOAT_VFP) 5250a6bf2f01efba0acbff9bb03e7ee09688553e08Bill BuzbeeJIT_TEMPLATE(SQRT_DOUBLE_VFP) 534f48917c0741e4d9b15ca7c45956aea05fea103fBen ChengJIT_TEMPLATE(THROW_EXCEPTION_COMMON) 549e45c0b968d63ea38353c99252d233879c2efdafjeffhaoJIT_TEMPLATE(MEM_OP_DECODE) 55fd023aaec5f2b0df61d1702ea2f29a70abe90158Bill BuzbeeJIT_TEMPLATE(STRING_COMPARETO) 56fd023aaec5f2b0df61d1702ea2f29a70abe90158Bill BuzbeeJIT_TEMPLATE(STRING_INDEXOF) 579a8c75adb2abf551d06dbf757bff558c1feded08Bill BuzbeeJIT_TEMPLATE(INTERPRET) 58c1d9ed490a7bd6caab51df41f3c9e590fcecb727Bill BuzbeeJIT_TEMPLATE(MONITOR_ENTER) 59c1d9ed490a7bd6caab51df41f3c9e590fcecb727Bill BuzbeeJIT_TEMPLATE(MONITOR_ENTER_DEBUG) 60