165
165
### Approach 1: Use ` SFTProcessEdges `
166
166
167
167
[ ` SFTProcessEdges ` ] ( https://docs.mmtk.io/api/mmtk/scheduler/gc_work/struct.SFTProcessEdges.html ) dispatches
168
- the tracing of objects to their respective spaces through [ Space Function Table (SFT)] ( https://docs.mmtk.io/api/mmtk/policy/space /trait.SFT.html ) .
168
+ the tracing of objects to their respective spaces through [ Space Function Table (SFT)] ( https://docs.mmtk.io/api/mmtk/policy/sft /trait.SFT.html ) .
169
169
As long as all the policies in a plan provide an implementation of ` sft_trace_object() ` in their SFT implementations,
170
170
the plan can use ` SFTProcessEdges ` . Currently most policies provide an implementation for ` sft_trace_object() ` , except
171
171
mark compact and immix. Those two policies use multiple GC traces, and due to the limitation of SFT, SFT does not allow
@@ -176,7 +176,7 @@ multiple `sft_trace_object()` for a policy.
176
176
### Approach 2: Derive ` PlanTraceObject ` and use ` PlanProcessEdges `
177
177
178
178
` PlanProcessEdges ` is another general ` ProcessEdgesWork ` implementation that can be used by most plans. When a plan
179
- implements the [ ` PlanTraceObject ` ] ( https://docs.mmtk.io/api/mmtk/plan/transitive_closure /trait.PlanTraceObject.html ) ,
179
+ implements the [ ` PlanTraceObject ` ] ( https://docs.mmtk.io/api/mmtk/plan/global /trait.PlanTraceObject.html ) ,
180
180
it can use ` PlanProcessEdges ` .
181
181
182
182
You can manually provide an implementation of ` PlanTraceObject ` for ` MyGC ` . But you can also use the derive macro MMTK provides,
@@ -244,4 +244,4 @@ If the benchmarks pass - good job! You have built a functional copying
244
244
collector!
245
245
246
246
If you get particularly stuck, the code for the completed ` MyGC ` plan
247
- is available [ here] ( https://github.com/mmtk/mmtk-core/tree/master/docs/tutorial/code/mygc_semispace ) .
247
+ is available [ here] ( https://github.com/mmtk/mmtk-core/tree/master/docs/userguide/src/ tutorial/code/mygc_semispace ) .
0 commit comments