[PATCH] GCStrategy should not own GCFunctionInfo

Philip Reames listmail at philipreames.com
Tue Dec 9 16:47:15 PST 2014


Hi whitequark,

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.

http://reviews.llvm.org/D6587

Files:
  include/llvm/CodeGen/GCMetadata.h
  include/llvm/CodeGen/GCMetadataPrinter.h
  include/llvm/CodeGen/GCStrategy.h
  lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp
  lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
  lib/CodeGen/GCMetadata.cpp
  lib/CodeGen/GCMetadataPrinter.cpp
  lib/CodeGen/GCStrategy.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6587.17105.patch
Type: text/x-patch
Size: 11968 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141210/71f9d6fc/attachment.bin>


More information about the llvm-commits mailing list