• Home
Name Date Size #Lines LOC

..--

FP/03-May-2024-614505

Thumb/03-May-2024-1,152968

Thumb2/03-May-2024-1,6911,381

armv5te/03-May-2024-22292

armv5te-vfp/03-May-2024-22494

armv7-a/03-May-2024-22095

armv7-a-neon/03-May-2024-22095

ArchUtility.cD03-May-202412.8 KiB388343

ArmLIR.hD03-May-202434.6 KiB790539

Assemble.cD03-May-2024112.2 KiB2,6522,070

CalloutHelper.hD03-May-20245.3 KiB13639

Codegen.hD03-May-20243.2 KiB8938

CodegenCommon.cD03-May-202411 KiB385259

CodegenDriver.cD03-May-2024163.6 KiB4,4833,228

CodegenFactory.cD03-May-202412.9 KiB334229

GlobalOptimizations.cD03-May-20241.8 KiB6227

LocalOptimizations.cD03-May-202419.9 KiB513282

README.txtD03-May-20241.4 KiB4934

Ralloc.hD03-May-20247.4 KiB20785

RallocUtil.cD03-May-202431.5 KiB1,011816

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