Design of CMU Common Lisp.pdf - Common Lisp.net
Design of CMU Common Lisp.pdf - Common Lisp.net
Design of CMU Common Lisp.pdf - Common Lisp.net
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
12 Environment analysis 30<br />
13 Virtual Machine Representation Introduction 32<br />
14 Global TN assignment 33<br />
15 Local TN assignment 35<br />
16 Control optimization 37<br />
17 VMR conversion 39<br />
17.1 VMR Control representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />
17.2 Stack analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />
17.3 Non-local exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />
18 Copy propagation 43<br />
19 Representation selection 44<br />
20 Lifetime analysis 45<br />
20.1 Flow analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />
20.2 Conflict detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />
21 Packing 48<br />
22 Code generation 52<br />
23 Assembly 53<br />
24 Dumping 54<br />
25 User Interface <strong>of</strong> the Compiler 56<br />
25.1 Error Message Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />
25.2 Source Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />
III Compiler Retargeting 57<br />
26 Retargeting the compiler 58<br />
27 Storage bases and classes 60<br />
28 Type system parameterization 62<br />
29 VOP Definition 63<br />
29.1 Lifetime model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />
29.2 VOP Cost model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />
29.3 Efficiency notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />
30 Assembler Retargeting 65<br />
31 Writing Assembly Code 66<br />
32 Required VOPS 67<br />
32.1 Function Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
32.1.1 Registers and frame format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
32.1.2 Full call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
32.1.3 Unknown values return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
32.1.4 External Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
2