Skip to content

Commit

Permalink
Boa Gc implementation draft (#2394)
Browse files Browse the repository at this point in the history
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel necessary.
--->

Not sure if anyone else may be working on something more substantial/in-depth, but I thought I'd post this. 😄 

The basic rundown is that this is more of an untested (and in some ways naïve) draft than anything else. It builds rather heavily on `rust-gc`, and tries to keep plenty of the core aspects so as to not break anything too much, and also to minimize overarching changes were it to actually be merged at some point.

This implementation does add ~~a generational divide (although a little unoptimized) to the heap,~~ a GcAlloc/Collector struct with methods, and an ephemeron implementation that allows for the WeakPair and WeakGc pointers.
  • Loading branch information
nekevss committed Nov 14, 2022
1 parent 41d57f4 commit 98e6dd3
Show file tree
Hide file tree
Showing 35 changed files with 2,662 additions and 128 deletions.
149 changes: 71 additions & 78 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion boa_engine/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ boa_profiler.workspace = true
boa_macros.workspace = true
boa_ast.workspace = true
boa_parser.workspace = true
gc = "0.4.1"
serde = { version = "1.0.147", features = ["derive", "rc"] }
serde_json = "1.0.87"
rand = "0.8.5"
Expand Down
Loading

0 comments on commit 98e6dd3

Please sign in to comment.