Chapter 37. The
CLISP
bytecode specification
Prev
Part IV. Internals of the
CLISP
Implementation
Next
Chapter 37. The
CLISP
bytecode specification
Table of Contents
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