OSDN Git Service

Dalvik fast interpreter support and JIT implementation
[android-x86/dalvik.git] / vm / compiler / template / config-mips
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 # Configuration for ARMv5TE architecture targets.
18 #
19
20 # file header and basic definitions
21 #import c/header.c
22 import mips/header.S
23
24 # C pre-processor defines for stub C instructions
25 #import cstubs/stubdefs.c
26
27 # highly-platform-specific defs
28 import mips/platform.S
29
30 # common defs for the C helpers; include this before the instruction handlers
31 #import c/opcommon.c
32
33 # opcode list; argument to op-start is default directory
34 op-start mips
35
36     op TEMPLATE_SHL_LONG mips
37     op TEMPLATE_SHR_LONG mips
38     op TEMPLATE_USHR_LONG mips
39     op TEMPLATE_INT_TO_DOUBLE_VFP mips
40     op TEMPLATE_FLOAT_TO_DOUBLE_VFP mips
41     op TEMPLATE_ADD_DOUBLE_VFP mips
42     op TEMPLATE_DIV_DOUBLE_VFP mips
43     op TEMPLATE_MUL_DOUBLE_VFP mips
44     op TEMPLATE_SUB_DOUBLE_VFP mips
45     op TEMPLATE_ADD_FLOAT_VFP mips
46     op TEMPLATE_DIV_FLOAT_VFP mips
47     op TEMPLATE_MUL_FLOAT_VFP mips
48     op TEMPLATE_SUB_FLOAT_VFP mips
49     op TEMPLATE_FLOAT_TO_INT_VFP mips
50     op TEMPLATE_INT_TO_FLOAT_VFP mips
51     op TEMPLATE_DOUBLE_TO_FLOAT_VFP mips
52     op TEMPLATE_DOUBLE_TO_INT_VFP mips
53     op TEMPLATE_CMP_LONG mips
54     op TEMPLATE_CMPL_FLOAT_VFP mips
55     op TEMPLATE_CMPL_DOUBLE_VFP mips
56     op TEMPLATE_CMPG_FLOAT_VFP mips
57     op TEMPLATE_CMPG_DOUBLE_VFP mips
58     op TEMPLATE_MUL_LONG mips
59     op TEMPLATE_INTERPRET mips
60     op TEMPLATE_THROW_EXCEPTION_COMMON mips
61     op TEMPLATE_SQRT_DOUBLE_VFP mips
62     op TEMPLATE_SAVE_STATE mips
63     op TEMPLATE_RESTORE_STATE mips
64     op TEMPLATE_RETURN mips
65     op TEMPLATE_STRING_COMPARETO mips
66     op TEMPLATE_STRING_INDEXOF mips
67     op TEMPLATE_MEM_OP_DECODE mips
68     op TEMPLATE_MONITOR_ENTER mips
69     op TEMPLATE_MONITOR_ENTER_DEBUG mips
70     op TEMPLATE_INVOKE_METHOD_PREDICTED_CHAIN mips
71     op TEMPLATE_INVOKE_METHOD_CHAIN mips
72     op TEMPLATE_INVOKE_METHOD_NATIVE mips
73     op TEMPLATE_INVOKE_METHOD_NO_OPT mips
74
75     # New templates for ICS
76     op TEMPLATE_INVOKE_METHOD_PREDICTED_CHAIN_PROF mips
77     op TEMPLATE_INVOKE_METHOD_CHAIN_PROF mips
78     op TEMPLATE_INVOKE_METHOD_NATIVE_PROF mips
79     op TEMPLATE_INVOKE_METHOD_NO_OPT_PROF mips
80     op TEMPLATE_PERIODIC_PROFILING mips
81     op TEMPLATE_RETURN_PROF mips
82
83 op-end
84
85 # "helper" code for C; include if you use any of the C stubs (this generates
86 # object code, so it's normally excluded)
87 ##import c/gotoTargets.c
88
89 # end of defs; include this when cstubs/stubdefs.c is included
90 #import cstubs/enddefs.c
91
92 # common subroutines for asm
93 import mips/footer.S