Wenyu Zhao
Wenyu Zhao
This PR adds a lock-free block queue and uses it for Immix's clean block allocation (as `BlockPageResource`) and recyclable block allocation (as a reusable block queue). The lock-free block queue...
Fix ImmixSpace's `is_live` and `get_forwarded_object` for https://github.com/mmtk/mmtk-openjdk/pull/141 . --- The context of this PR: OpenJDK has several object cache (or storage) that should be processed during GC. For example, `CodeCache`...
https://github.com/mmtk/mmtk-core/blob/master/src/plan/barriers.rs#L22 Should `BarrierSelector` be decorated with `#[repr(u8)]` to safely convert to unique `u8` values?
https://github.com/mmtk/mmtk-core/blob/533d19f7a8b59978ad6c92f2c46e12881ded8083/src/util/statistics/stats.rs#L14 When the log buffer overflow happens, instead of simply presenting a warning, we should either panic directly or log extra message to break the plotty parser.
Add documentation on how to setup and use sanity GC for debugging.
Currently, MMTk will always use zeroed memory for allocation. However, OpenJDK internally will do another round of zeroing, which is redundant. We need to either disable OpenJDK internal zeroing or...
We need a work stealing implementation (like the one Java MMTk has) to improve load balancing for the work-packets system.
Looks like at the moment, we use `VMLocalMarkBitSpec` to define per-object mark metadata, and it only allows one bit of metadata for each object. This prevents from the implementation of...
We only have one worker group hard-coded in the work packet scheduler. However, there are three use cases for the multiple worker groups generalization: 1. LXR requires another worker group...
At the end of `Work::do_work`, the stat counter code will get the type of current work packet, map it to a local buffer, and push the current work packet execution...