www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 13988] New: simplify/cleanup rt.lifetime


          Issue ID: 13988
           Summary: simplify/cleanup rt.lifetime
           Product: D
           Version: unspecified
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: druntime
          Assignee: nobody puremagic.com
          Reporter: code dawg.eu

The module suffers a lot from bad code. It's mildly complex but due to missing
abstractions/separations the complexity is spread throughout code of completely
different concerns. This makes it hard to change/review so people tend to stuff
new code into the existing mess.

3 concrete points:

Reduce code duplication for different branches that simply handle different
array lengths.

Turn the implicit smallpad, medpad, largepad layouts into structs and use those
(combined with casts) to avoid all the void* arithmetic.

Turn the block info cache into a struct.

Jan 15 2015