This is an archive of the discontinued LLVM Phabricator instance.

GCStrategy should not own GCFunctionInfo
ClosedPublic

Authored by reames on Dec 9 2014, 4:47 PM.

Details

Summary

This change moves the ownership and access of GCFunctionInfo (the object which describes the safepoints associated with a safepoint under GCRoot) to GCModuleInfo. Previously, this was owned by GCStrategy which was in turned owned by GCModuleInfo. This made GCStrategy module specific which is 'surprising' given it's name and other purposes.

There's a few more changes needed, but we're getting towards the point we can reuse GCStrategy for gc.statepoint as well.

p.s. The style of this code ends up being a mess. I was trying to move code around without otherwise changing much. Once I get the ownership structure rearranged, I will go through and fixup spacing, naming, comments etc.

Diff Detail

Repository
rL LLVM

Event Timeline

reames updated this revision to Diff 17105.Dec 9 2014, 4:47 PM
reames retitled this revision from to GCStrategy should not own GCFunctionInfo.
reames updated this object.
reames edited the test plan for this revision. (Show Details)
reames added a reviewer: whitequark.
reames added a subscriber: Unknown Object (MLST).
whitequark accepted this revision.Dec 9 2014, 8:22 PM
whitequark edited edge metadata.

LGTM

This revision is now accepted and ready to land.Dec 9 2014, 8:22 PM
This revision was automatically updated to reflect the committed changes.