People
Activity
    Tatsuyuki Ishi
    @ishitatsuyuki
    Or, do we have to inject any inline code to the CGU? Doesn't LTO handle it all?
    Michael Woerister
    @michaelwoerister
    With ThinLTO duplicating the code would not be necessary, yes
    You'd have to do whole-crate-graph ThinLTO though
    and it would not work for dynamic dependencies (at least in the current implementation)
    Tatsuyuki Ishi
    @ishitatsuyuki
    Ah good catch
    Wesley Wiser
    @wesleywiser
    Hi @michaelwoerister, I'm available if you want to finish the discussion from yesterday :)
    Michael Woerister
    @michaelwoerister
    hey @wesleywiser, I've been thinking about it but wasn't able to come up with a better solution
    Wesley Wiser
    @wesleywiser
    Yeah
    Michael Woerister
    @michaelwoerister
    maybe the codemap could have a set of "in-progress" filemaps?
    Wesley Wiser
    @wesleywiser
    It feels pretty nasty to have to call the finish building function before emit() works correctly
    Michael Woerister
    @michaelwoerister
    yeah, the diagnostics api has just too many entrypoints
    Wesley Wiser
    @wesleywiser
    I guess then it could lookup the in progress filemap if the BytePos is in that file?
    So the FileMapBuilder will probably have to have interior mutability like the old FileMap did
    Michael Woerister
    @michaelwoerister
    it might be an option
    Wesley Wiser
    @wesleywiser
    Once it's finished parsing though, we can turn it into a lock free FileMap
    Michael Woerister
    @michaelwoerister
    yes
    Wesley Wiser
    @wesleywiser
    Ok
    Do you want me to try that design out or should I just open a PR with what I have now?
    Michael Woerister
    @michaelwoerister
    well, the current state doesn't really work
    we need tests to pass and the fix is a bit too messy for my taste
    Wesley Wiser
    @wesleywiser
    :+1: I'd rather not land that second commit either
    Michael Woerister
    @michaelwoerister
    yeah, too hard to maintain
    Wesley Wiser
    @wesleywiser
    Ok, I'll start working on that idea then
    Michael Woerister
    @michaelwoerister
    cool!
    Wesley Wiser
    @wesleywiser
    Thanks for the help!
    Michael Woerister
    @michaelwoerister
    sure :)
    I'm not sure this will work though...
    Wesley Wiser
    @wesleywiser
    Oh?
    Michael Woerister
    @michaelwoerister
    looking at the CodeMap, there is a lot of stuff in there that expects a FileMap
    Supporting a second type of FileMap would possibly be a lot of hassle
    Wesley Wiser
    @wesleywiser
    So, I was thinking we could add a is_finished: bool to FileMap. Then, we we need to do some of the span_to_*() operations, we'd find the FileMap and if it's !is_finished, then we'd load the corresponding FileMapBuilder from the set of in-progress ones and update our filemap with the latest data.
    Maybe that's too hacky though
    Michael Woerister
    @michaelwoerister
    hm, ok, that doesn't sound too bad
    Wesley Wiser
    @wesleywiser
    Awesome :)
    Michael Woerister
    @michaelwoerister
    good idea!
    Wesley Wiser
    @wesleywiser
    Thanks!
    Niko Matsakis
    @nikomatsakis
    @wesleywiser so I've been thinking about rust-lang/rust#50780 — I was wondering if you'd be interested in investigating that
    I'd be happy to work with you on the plans etc
    don't have much bandwidth for the coding
    "s/much/any"
    Niko Matsakis
    @nikomatsakis
    (btw, we should consider moving this channel over to Discord I think)
    varkor
    @varkor
    +1 for moving everything to Discord
    Luqman Aden
    @luqmana
    What is the link to the Discord?
    Wesley Wiser
    @wesleywiser
    @nikomatsakis Absolutely!
    Niko Matsakis
    @nikomatsakis
    @wesleywiser great! so I just dropped a few high-level notes on 50780
    but what would be a good time to chat?
    Wesley Wiser
    @wesleywiser
    Evenings or weekends would be best for me but I can be flexible :)
    Niko Matsakis
    @nikomatsakis
    btw I created a #wg-compiler-performance on discord
    corresponding to this one