Integrated code formatter
Steven Schveighoffer
schveiguy at gmail.com
Wed Jan 19 04:36:57 UTC 2022
On 1/17/22 8:23 PM, H. S. Teoh wrote:
> I'll take a look at the code now to see if there's anything easily
> salvageable... but at this point I'm ready to propose pulling the
> trigger on -profile=gc completely. (Based on how I suspect it works,
> I'm expecting that it would not be easy to implement any useful output
> for allocations via druntime functions -- at best you'd just get some
> obscure file/line number inside druntime code which would be of no help
> locating where in *your* code the allocation happened.)
Something like that might still be of help. At least it wouldn't lie and
say *no allocations* happened.
But can't we just tag with a UDA a GC allocating function, and then the
highest-level tag is registered with the profiler? Like:
```d
@gcprofile void bar()
{
auto x = new int; // not flagged as allocating.
}
@gcprofile void foo()
{
bar(); // not flagged as allocating.
}
void main()
{
foo(); // flagged as allocating.
bar(); // flagged as allocating.
}
```
-Steve
More information about the Digitalmars-d
mailing list