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
- 1. Interface conventions
- 2. Keyword arguments
- 3. Error handing
- 4. Arenas
- 5. Pools
- 6. Allocation
- 7. Object formats
- 8. Scanning
- 9. Threads
- 10. Roots
- 11. Garbage collection
- 12. Messages
- 13. Finalization
- 14. Location dependency
- 15. Segregated allocation caches
- 16. Allocation patterns
- 17. Allocation frames
- 18. Debugging pools
- 19. Telemetry
- 20. Weak references
- 21. Plinth
- 22. Platforms
- 23. Porting the MPS
- 24. Deprecated interfaces
- 25. Security issues
- Pool reference
- 1. Choosing a pool class
- 2. Pool class properties
- 3. Writing a new pool class
- 4. AMC (Automatic Mostly-Copying)
- 5. AMCZ (Automatic Mostly-Copying Zero-rank)
- 6. AMS (Automatic Mark and Sweep)
- 7. AWL (Automatic Weak Linked)
- 8. LO (Leaf Object)
- 9. MFS (Manual Fixed Small)
- 10. MVFF (Manual Variable First Fit)
- 11. MVT (Manual Variable Temporal)
- 12. SNC (Stack No Checking)
- Design
- 1. Fixed-length queues
- 2. Generic modules
- 3. Bootstrapping
- 4. Coalescing block structures
- 5. Fast high-resolution clock
- 6. MPS Configuration
- 7. The critical path through the MPS
- 8. Execution environment
- 9. Fail-over allocator
- 10. Finalization
- 11. Free list allocator
- 12. Transliterating the alphabet into hexadecimal
- 13. C Style – formatting
- 14. C Style – naming
- 15. Review checklist
- 16. C interface design
- 17. Keyword arguments in the MPS
- 18. Lands
- 19. Lock module
- 20. Client message protocol
- 21. Nailboards for ambiguously referenced segments
- 22. Pool classes
- 23. Mutator context
- 24. Memory protection
- 25. POSIX implementation of protection module
- 26. Ranges of addresses
- 27. Ring data structure
- 28. Shield
- 29. Signatures in the MPS
- 30. Stack probe
- 31. Splay trees
- 32. Stack and register scanning
- 33. Multi-threaded testing
- 34. Thread manager
- 35. Thread safety in the MPS
- 36. General MPS types
- 37. Library version mechanism
- 38. Virtual mapping
- 39. Write barrier
- 40. The WriteF function
- Old design
- 1. Allocation frame protocol
- 2. Arena
- 3. Virtual Memory Arena
- 4. Bit tables
- 5. Allocation buffers and allocation points
- 6. Checking
- 7. Collection framework
- 8. Diagnostic feedback
- 9. The generic fix function
- 10. I/O subsystem
- 11. Library interface
- 12. Locus manager
- 13. GC messages
- 14. Debugging features for client objects
- 15. AMC pool class
- 16. AMS pool class
- 17. AWL pool class
- 18. LO pool class
- 19. MFS pool class
- 20. MRG pool class
- 21. Manual Variable Temporal (MVT) pool design
- 22. MVFF pool class
- 23. Protocol inheritance
- 24. POSIX thread extensions
- 25. Root manager
- 26. The generic scanner
- 27. Segment data structure
- 28. MPS Strategy
- 29. Telemetry
- 30. Tests
- 31. Tracer