On Tuesday, 7 October 2014 at 21:59:08 UTC, Peter Alexander wrote:
On Tuesday, 7 October 2014 at 20:13:32 UTC, Jacob Carlborg wrote:
I didn't look at any source code to see what "new" is actually allocating, for example.

I did some random sampling, and it's 90% exceptions, with the occasional array allocation.


That's interesting. I suspected around 50%. Well that's even better since if we do ref-counted exceptions we solve 90% of problem ;)

I noticed that a lot of the ~ and ~= complaints are in code that only ever runs at compile time (generating strings for mixin). I wonder if there's any way we can silence these false positives.

I'm going to use blacklist for these as compiler can't in general know if it is going to be used exclusively at CTFE or not.

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

Holy grail is:
- plot DOT call-graph of GC-users, with leafs being the ones reported by -vgc. So I start with this list then add functions them, then functions that use these functions and so on.

Reply via email to