Experiment: Memory/thread-safe runtime #1276
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Another experiment, this time to make the runtime memory and thread-safe. So far this should be memory-safe in that multiple modules can share the memory allocator and garbage collector, but there's no locking in place yet. As-is, stuff will explode.
This will most likely not be a viable approach in the long term due to all the locking overhead it ultimately introduces, but perhaps it can serve as the start of a filler implementation until there's something better. Regarding something better, I imagine a global allocator distributing pages to threads which then manage their memory with TLSF or otherwise. We also all know that manual locking is error-prone, and something more aligned with JS, like backed by workers and postMessage, would be much safer.