Skip to content
Success

Changes

Summary

  1. Add skip lists as a reusable data structure (commit: 9a5f3b1) (details)
  2. Use the skip list library for global GC root management (commit: 40824de) (details)
  3. Use the skip list library to manage overwritten instructions in the debugger (commit: 8fd7894) (details)
  4. Add Changes for #9635 (commit: 4ce3b7c) (details)
Commit 9a5f3b196730dd544fd03e13c9cef328bef02f09 by xavier.leroy
Add skip lists as a reusable data structure

The implementation is taken from globroots.c, but made reusable elsewhere.
(commit: 9a5f3b1)
The file was addedruntime/caml/skiplist.h
The file was modifiedruntime/Makefile (diff)
The file was addedruntime/skiplist.c
Commit 40824de87ff227b814a1d0bdac7aa7a22d507e17 by xavier.leroy
Use the skip list library for global GC root management

Instead of the specialized skip list implementation that was local to
this file.
(commit: 40824de)
The file was modifiedruntime/globroots.c (diff)
Commit 8fd7894b2a8c2493ae9b090b1a9f4098f3524fe7 by xavier.leroy
Use the skip list library to manage overwritten instructions in the debugger

This avoids the quadratic behaviors of the previous array-based
implementation.

Closes: #9606
(commit: 8fd7894)
The file was modifiedruntime/debugger.c (diff)
The file was modifiedChanges (diff)