Part IV. Internals of the
CLISP
Implementation
Prev
Next
Part IV. Internals of the
CLISP
Implementation
Table of Contents
34. The source files of
CLISP
34.1. File Types
34.2. Source Pre-Processing
34.3. Files
34.3.1. Unpreprocessed
C
code
34.3.2. Other assembly language stuff
34.3.3. Lisp source files
34.3.4. External Modules
34.3.5. Documentation
34.3.6. Internationalization
34.3.7. Automatic configuration on
UNIX
and
MinGW
34.3.8. Externally maintained files
35. Overview of
CLISP
's Garbage Collection
35.1. Introduction
35.2. Lisp objects in
CLISP
35.3. Object Pointer Representations
35.4. Memory Models
35.5. The burden of garbage-collection upon the rest of
CLISP
35.5.1. Lisp
object
invalidation
35.5.2. Managing Lisp
object
s in
C
35.5.3. Run-time GC-safety checks
35.5.4. Memory protection
35.6. Foreign Pointers
35.7. Forcing or inhibiting Garbage Collections
35.8. Garbage Collection and Multithreading
36. Extending
CLISP
Core
36.1. Adding a built-in function
36.2. Adding a built-in variable
36.3. Recompilation
37. The
CLISP
bytecode specification
37.1. Introduction
37.2. The virtual machine
37.3. The structure of compiled functions
37.4. The general structure of the instructions
37.5. The instruction set
37.5.1. Instructions for constants
37.5.2. Instructions for lexical variables
37.5.3. Instructions for dynamic variables
37.5.4. Instructions for stack operations
37.5.5. Instructions for control flow, jumps
37.5.6. Instructions for lexical environment, creation of closures
37.5.7. Instructions for function calls
37.5.8. Instructions for optional and keyword parameters
37.5.9. Instructions for multiple values
37.5.10. Instructions for
BLOCK
and
RETURN-FROM
37.5.11. Instructions for
TAGBODY
and
GO
37.5.12. Instructions for
CATCH
and
THROW
37.5.13. Instructions for
UNWIND-PROTECT
37.5.14. Instructions for
HANDLER-BIND
37.5.15. Instructions for some inlined functions
37.5.16. Combined instructions
37.5.17. Shortcut instructions
37.6. Examining compiled closures
37.7. Bytecode Design
37.7.1. When to add a new bytecode?
37.7.2. Why JMPTAIL?
These notes document
CLISP
version 2.49.93+
Last modified: 2018-02-19
Enter your search terms
Submit search form
Web
clisp.org