11.11.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!