Yi Lin
Yi Lin
With disjoint objects, in some places where we refer to objects, we need to differentiate 'object' (parent + buffer) from just 'parent'. For example, when we ask a binding for...
Some conclusions from our discussion (based on the table above): * `Header metadata`: a buffer does not have any header metadata, or per-object metadata. Its retention is done by some...
This is a Rust compiler's problem: https://github.com/rust-lang/rust/issues/38078. Also, according to your change list, it seems only 1/4 of our use cases are affected by the problem (where we have to...
I thought we only provide non-keep-alive pinning. If a binding only wants to pin an object for only one GC, they need to explicitly unpin after the GC.
We discussed this issue in today's MMTk-Julia meeting. Steve suggested the semantics of pinning is stronger than just not moving the object. Usually in a language implementation, pinning means someone...
Alternative solutions: * Let policy's `trace_object()` returns whether they copied object or not (e.g. returns `Option`). * Pass the slot address to policy's `trace_object()`. If the policy copies objects, they...
> 1. We should implement the actual treadmill algorithm with linked lists What do you mean by 'the actual treadmill algorithm'? Are you referring the treadmill in Java MMTk/JikesRVM, or...
Some benchmarks may take a long time to run with a stress factor 1 (GC every 1 byte). We can set a timeout for each run, such as 1 day....
This is my proposal to implement stress CI. Can you please take a look and let me know if this is reasonable? @wks @caizixian @steveblackburn * Store run state and...
The minimal we need to do is to allow bindings to set a heap size through an API during run-time. In that case, a VM can implement its own heuristics...