Walter: > http://llvm.org/pubs/2006-05-24-SAFECode-BoundsCheck.pdf > We are on the right track with D with our focus on making D > proveably memory safe.
The paper strategy uses Automatic Pool Allocation: >Automatic Pool Allocation [13] is a fully automatic compile-time >transformation that partitions memory into pools corresponding to a >compile-time partitioning of objects computed by a pointer analysis. It tries >to create pools that are as fine-grained and short-lived as possible. It >merges all the target objects of a pointer into a single pool, thus ensuring >that there is a unique pool corresponding to each pointer.< >We have shown previously that Automatic Pool Allocation can significantly >improve memory hierarchy performance for a wide range of programs and does not >noticeably hurt performance in other cases [13]. It's compilation times are >quite low (less than 3 seconds for programs up to 200K lines of code), and are >a small fraction of the time taken by GCC to compile the same programs.< It sounds useful for D compilers too, to improve and reduce the run-time work of the D GC. (That "it's" is wrong I think.) The reference [13] is this one: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.119.9873&rep=rep1&type=pdf Bye, bearophile
