Memory Pool System Logo
latest

Memory Pool System

  • Guide
    • 1. Overview of the Memory Pool System
    • 2. Building the Memory Pool System
    • 3. Garbage collecting a language with the Memory Pool System
    • 4. The stretchy vector problem
    • 5. Debugging with the Memory Pool System
    • 6. Tuning the Memory Pool System for performance
    • 7. Advanced topics
    • 8. Implementing malloc and free
  • Reference
  • Pool reference
  • Design
  • Old design

Appendices

  • Bibliography
  • Memory Management Glossary
  • Index to source code
  • Memory Pool System Kit Open Source License
  • Contact us
  • Contributing to the MPS
  • Release notes

Indices and tables

  • Index
Memory Pool System
  • Guide
  • Edit on GitHub

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 manual
    • 2.5. Building the MPS for development
      • 2.5.1. Prerequisites
      • 2.5.2. Platforms
      • 2.5.3. Running make
    • 2.6. Installing the Memory Pool System
      • 2.6.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. Alignment
      • 3.4.2. The scan method
      • 3.4.3. The skip method
      • 3.4.4. The forward method
      • 3.4.5. The is-forwarded method
      • 3.4.6. The padding method
    • 3.5. Creating the pool
    • 3.6. Roots
    • 3.7. Threads
    • 3.8. Allocation
    • 3.9. Maintaining consistency
    • 3.10. Tidying up
    • 3.11. What next?
  • 4. The stretchy vector problem
  • 5. Debugging with the Memory Pool System
    • 5.1. General debugging advice
    • 5.2. Address space layout randomization
    • 5.3. Example: underscanning
    • 5.4. Example: allocating with wrong size
    • 5.5. What next?
  • 6. Tuning the Memory Pool System for performance
  • 7. Advanced topics
    • 7.1. Finalization
    • 7.2. Location dependency
    • 7.3. Weak hash tables
    • 7.4. Global symbol table
    • 7.5. Segregation of objects
  • 8. Implementing malloc and free
Previous Next

© Copyright 2023, Ravenbrook Limited. Revision e2f9497b.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
version-1.118
version-1.117
version-1.116
version-1.115
Downloads
On Read the Docs
Project Home
Builds