Skip to content

Clean slate implementation of a garbage collector for the D Programming Language

Notifications You must be signed in to change notification settings

symmetryinvestments/symgc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDC Garbage collector, ported to normal D

This is a port of the SDC garbage collector to D code that builds with DMD/LDC/gdc.

The idea is to extract the GC portions of the SDC runtime (and everything needed) in order to be able to build using standard compilers.

Requirements

Linux x64 (so far)

DMD master (2.111 base)

Progress so far

  • d.sync is ported, uses core.atomic for building locks. Unittests passing.
  • d.gc modules are in progress (29/37):
  • allocclass.d
  • arena.d
  • base.d
  • bin.d
  • bitmap.d
  • block.d
  • capi.d
  • collector.d
  • cpu.d
  • emap.d
  • extent.d
  • fork.d
  • global.d
  • heap.d
  • hooks.d - stubs added, need to fill these in.
  • memmap.d
  • page.d
  • proc.d
  • range.d
  • rbtree.d
  • region.d
  • ring.d
  • rtree.d
  • scanner.d
  • signal.d
  • size.d
  • sizeclass.d
  • slab.d
  • spec.d
  • stack.d
  • tbin.d
  • tcache.d
  • thread.d
  • time.d
  • tstate.d
  • types.d
  • util.d

NOTE: The above being checked doesn't mean it's fully tested. Just that it passes unittests. Integration tests will need to be ported to ensure everything works as expected.

Todo

  • Finish porting all GC modules
  • Integration tests

Acknowledgements

Symmetry Investments is sponsoring this work.

About

Clean slate implementation of a garbage collector for the D Programming Language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages