atetubou wrote:

> > > IIUC, the approach you choose here is to let `SemaPPCallbacks` control 
> > > the "entered file stack" and allow it to remove element (which is file) 
> > > from middle of the internal stack in `TimeTraceProfiler`, but this 
> > > creates async event which is not designed for this purpose.
> > > Can we let `SemaPPCallbacks` track the last push file into the stack and 
> > > when exit file, pop all the elements from the stack until we popped the 
> > > last pushed file?
> > 
> > 
> > As I wrote in [#56554 
> > (comment)](https://github.com/llvm/llvm-project/issues/56554#issuecomment-1975812398),
> >  file level span and syntax tree level span should be handled 
> > asynchronously. So using such implementation produces incorrect trace in 
> > other edge cases.
> 
> Can we choose to expose a handle (maybe an unique id for each entry) from 
> `TimeTraceProfiler` instead of exposing the internal entry?

I think pointer to `TimeTraceProfilerEntry` is already like handle as 
definition of the struct is not written in header file. Having another handle 
for that seems unnecessary indirection layer to me. Or better to change the 
name of struct?

https://github.com/llvm/llvm-project/pull/83961
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to