docs(gc): document boa_gc API surface used by the engine#38
docs(gc): document boa_gc API surface used by the engine#38nekevss merged 5 commits intoboa-dev:mainfrom
Conversation
Signed-off-by: mrhapile <allinonegaming3456@gmail.com>
Signed-off-by: mrhapile <allinonegaming3456@gmail.com>
There was a problem hiding this comment.
Pull request overview
Adds repository documentation that defines the Boa engine’s boa_gc dependency contract, capturing the specific public API surface that a replacement collector would need to support.
Changes:
- Adds
docs/boa_gc_api_surface.mddescribing the engine-facingboa_gcpointer types, traits, weak references/collections, macros, and runtime utilities. - Adds a small mark-sweep test that smoke-tests creating an
oscarsWeakGcfrom a strongGc.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
oscars/src/collectors/mark_sweep/tests.rs |
Adds a minimal WeakGc creation smoke test for the mark-sweep collector. |
docs/boa_gc_api_surface.md |
New documentation describing the intended boa_gc API compatibility contract used by the Boa engine. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
nekevss
left a comment
There was a problem hiding this comment.
Had a question and one issue.
| } | ||
|
|
||
| /// Tests for the standalone WeakGc pointer behavior. | ||
| mod weak_gc_tests { |
There was a problem hiding this comment.
issue: tests are unrelated to the PR.
Please remove
There was a problem hiding this comment.
Soooo sorryyyy about that!!! I’ll remove those I must have accidentally staged them while working on another PR.
Signed-off-by: mrhapile <allinonegaming3456@gmail.com>
Signed-off-by: mrhapile <allinonegaming3456@gmail.com>
|
@nekevss could you look over this 🙂 |
This PR documents the subset of the
boa_gcAPI that the Boa enginecurrently depends on.
ref - #27
Understanding the exact API surface used by the engine is important for:
The document describes pointer types, tracing traits, weak references,
interior mutability primitives, and runtime utilities relied upon by
the engine.
The goal is to provide a clear compatibility contract for any garbage
collector implementation that aims to replace
boa_gc.The document deliberately avoids internal implementation details (heap vectors, Box allocation, mark-stack internals) and focuses exclusively on the engine → GC interface boundary, making it suitable for inclusion in repository documentation.