Skip to content
  1. Jan 07, 2008
  2. Oct 25, 2007
  3. Sep 29, 2007
    • Gordon Henriksen's avatar
      This is done already. · f5aa229e
      Gordon Henriksen authored
      llvm-svn: 42467
      f5aa229e
    • Gordon Henriksen's avatar
      Collector is the base class for garbage collection code generators. · 37ca83d4
      Gordon Henriksen authored
      This version enhances the previous patch to add root initialization
      as discussed here:
      
      http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053455.html
      
      Collector gives its subclasses control over generic algorithms:
      
        unsigned NeededSafePoints; //< Bitmask of required safe points.
        bool CustomReadBarriers;   //< Default is to insert loads.
        bool CustomWriteBarriers;  //< Default is to insert stores.
        bool CustomRoots;          //< Default is to pass through to backend.
        bool InitRoots;            //< If set, roots are nulled during lowering.
      
      It also has callbacks which collectors can hook:
      
        /// If any of the actions are set to Custom, this is expected to
        /// be overriden to create a transform to lower those actions to
        /// LLVM IR.
        virtual Pass *createCustomLoweringPass() const;
      
        /// beginAssembly/finishAssembly - Emit module metadata as
        /// assembly code.
        virtual void beginAssembly(Module &M, std::ostream &OS,
                                   AsmPrinter &AP,
                                   const TargetAsmInfo &TAI) const;
        virtual void finishAssembly(Module &M,
                                    CollectorModuleMetadata &CMM,
                                    std::ostream &OS, AsmPrinter &AP,
                                    const TargetAsmInfo &TAI) const;  
      
      Various other independent algorithms could be implemented, but were
      not necessary for the initial two collectors. Some examples are
      listed here:
      
      http://llvm.org/docs/GarbageCollection.html#collector-algos
      
      llvm-svn: 42466
      37ca83d4
  4. Sep 11, 2007
  5. Jun 02, 2007
  6. May 18, 2007
  7. Apr 30, 2007
  8. Apr 16, 2007
  9. Mar 29, 2007
  10. Mar 28, 2007
  11. Mar 20, 2007
Loading