| Up to higher level directory | |||
| Name | Date | Size | |
|---|---|---|---|
| ArchFactory.cpp | 11-Dec-2013 | 4.4K | |
| ArchUtility.cpp | 11-Dec-2013 | 14.5K | |
| ArmLIR.h | 11-Dec-2013 | 35.3K | |
| ArmRallocUtil.cpp | 11-Dec-2013 | 3.7K | |
| armv5te/ | 11-Dec-2013 | ||
| armv5te-vfp/ | 11-Dec-2013 | ||
| armv7-a/ | 11-Dec-2013 | ||
| armv7-a-neon/ | 11-Dec-2013 | ||
| Assemble.cpp | 11-Dec-2013 | 124.2K | |
| CalloutHelper.h | 11-Dec-2013 | 5.1K | |
| Codegen.h | 11-Dec-2013 | 2.2K | |
| CodegenCommon.cpp | 11-Dec-2013 | 13.5K | |
| CodegenDriver.cpp | 11-Dec-2013 | 174K | |
| FP/ | 11-Dec-2013 | ||
| GlobalOptimizations.cpp | 11-Dec-2013 | 2.1K | |
| LocalOptimizations.cpp | 11-Dec-2013 | 18.2K | |
| README.txt | 11-Dec-2013 | 1.4K | |
| Thumb/ | 11-Dec-2013 | ||
| Thumb2/ | 11-Dec-2013 | ||
1 The codegen file for the ARM-based JIT is composed by files broken by 2 functionality hierarchies. The goal is to separate architectural dependent 3 and independent components to facilitate maintenance and future extension. 4 5 For example, the codegen file for armv7-a is assembled by the following 6 components: 7 8 -- 9 10 /* Architectural independent building blocks */ 11 #include "../CodegenCommon.cpp" 12 13 /* Thumb2-specific factory utilities */ 14 #include "../Thumb2/Factory.cpp" 15 /* Factory utilities dependent on arch-specific features */ 16 #include "../CodegenFactory.cpp" 17 18 /* Thumb2-specific codegen routines */ 19 #include "../Thumb2/Gen.cpp" 20 /* Thumb2+VFP codegen routines */ 21 #include "../FP/Thumb2VFP.cpp" 22 23 /* Thumb2-specific register allocation */ 24 #include "../Thumb2/Ralloc.cpp" 25 26 /* MIR2LIR dispatcher and architectural independent codegen routines */ 27 #include "../CodegenDriver.cpp" 28 29 /* Architecture manifest */ 30 #include "ArchVariant.cpp" 31 32 -- 33 34 For the Thumb/Thumb2 directories, each contain the followin three files: 35 36 - Factory.c (low-level routines for instruction selections) 37 - Gen.c (invoke the ISA-specific instruction selection routines) 38 - Ralloc.c (arch-dependent register pools) 39 40 The FP directory contains FP-specific codegen routines depending on 41 Thumb/Thumb2/VFP/PortableFP: 42 43 - Thumb2VFP.c 44 - ThumbVFP.c 45 - ThumbPortableFP.c 46 47 In this way the dependency between generic and specific code tied to 48 particular architectures can be explicitly represented. 49