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)
602e152baec01433de9c63633ebc6f4adf1cea3a87buzbeeJIT_TEMPLATE(PERIODIC_PROFILING)
6118fba346582c08d81aa96d9508c0e935bad5f36fbuzbeeJIT_TEMPLATE(RETURN_PROF)
6218fba346582c08d81aa96d9508c0e935bad5f36fbuzbeeJIT_TEMPLATE(INVOKE_METHOD_NO_OPT_PROF)
6318fba346582c08d81aa96d9508c0e935bad5f36fbuzbeeJIT_TEMPLATE(INVOKE_METHOD_CHAIN_PROF)
6418fba346582c08d81aa96d9508c0e935bad5f36fbuzbeeJIT_TEMPLATE(INVOKE_METHOD_PREDICTED_CHAIN_PROF)
6518fba346582c08d81aa96d9508c0e935bad5f36fbuzbeeJIT_TEMPLATE(INVOKE_METHOD_NATIVE_PROF)
66