On Phobos GC hunt

Dmitry Olshansky via Digitalmars-d digitalmars-d at puremagic.com
Thu Oct 16 12:38:17 PDT 2014


On Wednesday, 15 October 2014 at 11:25:58 UTC, Chris wrote:
> On Tuesday, 14 October 2014 at 13:29:33 UTC, Dmitry Olshansky 
> wrote:
>> On Wednesday, 8 October 2014 at 07:52:37 UTC, Dmitry Olshansky 
>> wrote:
>>> On Tuesday, 7 October 2014 at 21:59:08 UTC, Peter Alexander
>>>
>>> Okay,  I think I should go a bit futher with the second 
>>> version of the tool.
>>>
>>> Things on todo list:
>>> - make tool general enough to work for any GitHub based 
>>> project (and hackable for other hostings)
>>> - use Brian's D parser to accurately find artifacts
>>> - detect "throw new SomeStuff" pattern and automatically 
>>> populate potential fix line
>>> - list all source links in one coulmn for the same function 
>>> (this needs proper parser)
>>> - use blacklist of <module-name>:<artifact name> to filter 
>>> out CTFE
>>> - use current data from wiki for "potential fix" column if 
>>> present
>>>
>>
>> The new version is out, it's a bit rough for a proper 
>> announcement yet and misses a couple of things from my todo 
>> list but the improvement is so radical I decided to share it 
>> anyway.
>>
>> With the new pattern-matcher/parser I hacked together in on 
>> top of Brain's lexer it's now surgically precise in labeling 
>> artifacts. Also I retained as much as possible of original 
>> comments (line numbers have changed), and grouped source links 
>> per artifact.
>>
>> Updated Wiki:
>> http://wiki.dlang.org/Stuff_in_Phobos_That_Generates_Garbage
>>
>> Tool:
>> https://github.com/DmitryOlshansky/gchunt
>>
>>
>> Also it's "universal" as in any github-hosted D project, for 
>> example here is an output for druntime:
>>
>> http://wiki.dlang.org/Stuff_in_Druntime_That_Generates_Garbage
>>
>> Still todo:
>> - blacklisting of modules/artifacts
>> - detect usage of (i)dup
>> - label throw new xyz as `EX`
>> - a few bugs to fix in artifact labeling
>
> Thanks a million! That's very very useful.

I sure hoped so! :)
Sadly I'm going to be incredibly busy this weekend, so the proper 
release date shifts to sometime afterwards.



More information about the Digitalmars-d mailing list