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 #define _CODEGEN_C 17 #define _ARMV7_A 18 #define TGT_LIR ArmLIR 19 20 #include "Dalvik.h" 21 #include "interp/InterpDefs.h" 22 #include "libdex/DexOpcodes.h" 23 #include "compiler/CompilerInternals.h" 24 #include "compiler/codegen/arm/ArmLIR.h" 25 #include "mterp/common/FindInterface.h" 26 #include "compiler/codegen/Ralloc.h" 27 #include "compiler/codegen/arm/Codegen.h" 28 #include "compiler/Loop.h" 29 #include "ArchVariant.h" 30 31 /* Arm codegen building blocks */ 32 #include "../CodegenCommon.cpp" 33 34 /* Thumb2-specific factory utilities */ 35 #include "../Thumb2/Factory.cpp" 36 /* Target independent factory utilities */ 37 #include "../../CodegenFactory.cpp" 38 /* Arm-specific factory utilities */ 39 #include "../ArchFactory.cpp" 40 41 /* Thumb2-specific codegen routines */ 42 #include "../Thumb2/Gen.cpp" 43 /* Thumb2+VFP codegen routines */ 44 #include "../FP/Thumb2VFP.cpp" 45 46 /* Thumb2-specific register allocation */ 47 #include "../Thumb2/Ralloc.cpp" 48 49 /* MIR2LIR dispatcher and architectural independent codegen routines */ 50 #include "../CodegenDriver.cpp" 51 52 /* Driver for method-based JIT */ 53 #include "../armv7-a-neon/MethodCodegenDriver.cpp" 54 55 /* Architecture manifest */ 56 #include "ArchVariant.cpp" 57