Navigation

  • index
  • next |
  • previous |
  • Memory Pool System 1.111.0 documentation »

Guide¶

  • 1. Overview of the Memory Pool System
    • 1.1. Supported target platforms
    • 1.2. Technical introduction
    • 1.3. What next?
  • 2. Building the Memory Pool System
    • 2.1. Introduction
    • 2.2. Getting hold of the MPS Kit
    • 2.3. Compiling the MPS for your project
      • 2.3.1. Compiling for production
      • 2.3.2. Compiling for debugging
      • 2.3.3. Optimizing for your object format
      • 2.3.4. Compiling without the C library
    • 2.4. Building the MPS for development
      • 2.4.1. Prerequisites
      • 2.4.2. Platforms
      • 2.4.3. Running make
    • 2.5. Installing the Memory Pool System
      • 2.5.1. mpseventsql
  • 3. Garbage collecting a language with the Memory Pool System
    • 3.1. The Scheme interpreter
    • 3.2. Choosing an arena class
    • 3.3. Choosing a pool class
    • 3.4. Describing your objects
      • 3.4.1. The scan method
      • 3.4.2. The skip method
      • 3.4.3. The forward method
      • 3.4.4. The is-forwarded method
      • 3.4.5. The padding method
    • 3.5. Generation chains
    • 3.6. Creating the pool
    • 3.7. Roots
    • 3.8. Threads
    • 3.9. Allocation
    • 3.10. Maintaining consistency
    • 3.11. Tidying up
    • 3.12. What next?
  • 4. Debugging with the Memory Pool System
    • 4.1. General debugging advice
    • 4.2. Example: underscanning
    • 4.3. Example: allocating with wrong size
    • 4.4. What next?
  • 5. Tuning the Memory Pool System for performance
  • 6. Advanced topics
    • 6.1. Finalization
    • 6.2. Location dependency
    • 6.3. Weak hash tables
    • 6.4. Global symbol table
    • 6.5. Segregation of objects

Logo

Previous topic

Memory Pool System

Next topic

1. Overview of the Memory Pool System

Downloads

MPS Kit release 1.111.0
All MPS Kit releases

Issues

Known issues
Issues fixed in release 1.111.0

Contact us

mps-questions@ravenbrook.com

Navigation

  • index
  • next |
  • previous |
  • Memory Pool System 1.111.0 documentation »
© Copyright 2023, Ravenbrook Limited. Created using Sphinx 2.2.1.