Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
FP/ | 03-May-2024 | - | 614 | 505 | ||
Thumb/ | 03-May-2024 | - | 1,152 | 968 | ||
Thumb2/ | 03-May-2024 | - | 1,691 | 1,381 | ||
armv5te/ | 03-May-2024 | - | 222 | 92 | ||
armv5te-vfp/ | 03-May-2024 | - | 224 | 94 | ||
armv7-a/ | 03-May-2024 | - | 220 | 95 | ||
armv7-a-neon/ | 03-May-2024 | - | 220 | 95 | ||
ArchUtility.c | D | 03-May-2024 | 12.8 KiB | 388 | 343 | |
ArmLIR.h | D | 03-May-2024 | 34.6 KiB | 790 | 539 | |
Assemble.c | D | 03-May-2024 | 112.2 KiB | 2,652 | 2,070 | |
CalloutHelper.h | D | 03-May-2024 | 5.3 KiB | 136 | 39 | |
Codegen.h | D | 03-May-2024 | 3.2 KiB | 89 | 38 | |
CodegenCommon.c | D | 03-May-2024 | 11 KiB | 385 | 259 | |
CodegenDriver.c | D | 03-May-2024 | 163.6 KiB | 4,483 | 3,228 | |
CodegenFactory.c | D | 03-May-2024 | 12.9 KiB | 334 | 229 | |
GlobalOptimizations.c | D | 03-May-2024 | 1.8 KiB | 62 | 27 | |
LocalOptimizations.c | D | 03-May-2024 | 19.9 KiB | 513 | 282 | |
README.txt | D | 03-May-2024 | 1.4 KiB | 49 | 34 | |
Ralloc.h | D | 03-May-2024 | 7.4 KiB | 207 | 85 | |
RallocUtil.c | D | 03-May-2024 | 31.5 KiB | 1,011 | 816 |
README.txt
1The codegen file for the ARM-based JIT is composed by files broken by 2functionality hierarchies. The goal is to separate architectural dependent 3and independent components to facilitate maintenance and future extension. 4 5For example, the codegen file for armv7-a is assembled by the following 6components: 7 8-- 9 10/* Architectural independent building blocks */ 11#include "../CodegenCommon.c" 12 13/* Thumb2-specific factory utilities */ 14#include "../Thumb2/Factory.c" 15/* Factory utilities dependent on arch-specific features */ 16#include "../CodegenFactory.c" 17 18/* Thumb2-specific codegen routines */ 19#include "../Thumb2/Gen.c" 20/* Thumb2+VFP codegen routines */ 21#include "../FP/Thumb2VFP.c" 22 23/* Thumb2-specific register allocation */ 24#include "../Thumb2/Ralloc.c" 25 26/* MIR2LIR dispatcher and architectural independent codegen routines */ 27#include "../CodegenDriver.c" 28 29/* Architecture manifest */ 30#include "ArchVariant.c" 31 32-- 33 34For 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 40The FP directory contains FP-specific codegen routines depending on 41Thumb/Thumb2/VFP/PortableFP: 42 43- Thumb2VFP.c 44- ThumbVFP.c 45- ThumbPortableFP.c 46 47In this way the dependency between generic and specific code tied to 48particular architectures can be explicitly represented. 49