[
Top
]
[
Contents
]
[
Index
]
[
?
]
Table of Contents
1. Introduction and rationale for libjit
1.1 Obtaining libjit
1.2 Further reading
2. Features of libjit
3. Tutorials in using libjit
3.1 Tutorial 1 - mul_add
3.2 Tutorial 2 - gcd
3.3 Tutorial 3 - compiling on-demand
3.4 Tutorial 4 - mul_add, C++ version
3.5 Tutorial 5 - gcd, with tail calls
3.6 Dynamic Pascal - A full JIT example
4. Initializing the JIT
4.1 Using libjit in a multi-threaded environment
4.2 Context functions
5. Building and compiling functions with the JIT
6. Manipulating system types
7. Working with temporary values in the JIT
8. Working with instructions in the JIT
9. Working with basic blocks in the JIT
10. Intrinsic functions available to libjit users
11. Handling exceptions
12. Hooking a breakpoint debugger into libjit
13. Manipulating ELF binaries
13.1 Reading ELF binaries
14. Miscellaneous utility routines
14.1 Memory allocation
14.2 Memory set, copy, compare, etc
14.3 String operations
14.4 Metadata handling
14.5 Function application and closures
14.6 Stack walking
14.7 Dynamic libraries
15. Diagnostic routines
16. Using libjit from C++
17. Contexts in C++
18. Values in C++
19. Functions in C++
20. Porting libjit to new architectures
20.1 Porting the function apply facility
20.2 Creating the instruction generation macros
20.3 Writing the architecture definition rules
20.3.1 Defining the registers
20.3.2 Other architecture macros
20.3.3 Architecture-dependent functions
20.4 Allocating registers in the back end
Index of concepts and facilities
[
Top
]
[
Contents
]
[
Index
]
[
?
]
This document was generated by
Klaus Treichel
on
May, 11 2008
using
texi2html 1.78
.