Stream: t-compiler/wg-polonius

Topic: meeting 2019.06.11


lqd (Jun 11 2019 at 19:00, on Zulip):

hello @WG-polonius :wave:

lqd (Jun 11 2019 at 19:00, on Zulip):

how is it going ? :)

lqd (Jun 11 2019 at 19:01, on Zulip):

as usual, our WIP roadmap on Paper

lqd (Jun 11 2019 at 19:01, on Zulip):

since we spent a while together on friday I'm expecting a shorter meeting today

lqd (Jun 11 2019 at 19:02, on Zulip):

ie some more expert scheduling

lqd (Jun 11 2019 at 19:02, on Zulip):

@lokalmatador is everything going ok for you with your profiling adventures ?

nikomatsakis (Jun 11 2019 at 19:02, on Zulip):

:wave:

lokalmatador (Jun 11 2019 at 19:03, on Zulip):

ok; well, as I wasn't there on Friday, brief update on my progress: I think I'm getting close to profiling all relevant location of polonius/nll though some checking by @nikomatsakis would probably make sense

lokalmatador (Jun 11 2019 at 19:03, on Zulip):

also i just did a run on the code examples from polonius I got first data

lokalmatador (Jun 11 2019 at 19:03, on Zulip):

measurements.zip

lokalmatador (Jun 11 2019 at 19:04, on Zulip):

for those interested, not much
but yeah

lokalmatador (Jun 11 2019 at 19:04, on Zulip):

:D

lqd (Jun 11 2019 at 19:04, on Zulip):

nice !

lqd (Jun 11 2019 at 19:04, on Zulip):

thanks for working on that, it'll be a good first step

Albin Stjerna (Jun 11 2019 at 19:04, on Zulip):

Cool! Really looking forward to using this for my report at some point :)

lokalmatador (Jun 11 2019 at 19:05, on Zulip):

so next I- subject to proper instrumenting of the code - I plan to select some crates from rust-perf and give those a try

lqd (Jun 11 2019 at 19:05, on Zulip):

(I'll take a look in more detail after the meeting)

lqd (Jun 11 2019 at 19:05, on Zulip):

santiago had done a run of those rustc-perf crates a while back

lqd (Jun 11 2019 at 19:06, on Zulip):

there's still a zulip thread for that, but those contained outliers IIRC so it'll be nice to compare with yours

lokalmatador (Jun 11 2019 at 19:06, on Zulip):

even without NLL?

lokalmatador (Jun 11 2019 at 19:06, on Zulip):

yep, that'd be cool

lqd (Jun 11 2019 at 19:06, on Zulip):

I think it was just the Polonius overhead over regular NLLs

lqd (Jun 11 2019 at 19:06, on Zulip):

(but I can check afterwards)

lqd (Jun 11 2019 at 19:07, on Zulip):

@Albin Stjerna has been mainly working on their presentation IIUC

lokalmatador (Jun 11 2019 at 19:07, on Zulip):

ok

lokalmatador (Jun 11 2019 at 19:07, on Zulip):

yeah, but still interesting I guess

Albin Stjerna (Jun 11 2019 at 19:07, on Zulip):

@lqd Yes, I haven't really gotten anything done on initialisation

lqd (Jun 11 2019 at 19:08, on Zulip):

the WIP presentation is interesting in any case :)

Albin Stjerna (Jun 11 2019 at 19:08, on Zulip):

Yes, and I think it was useful to get a better feeling for what I'm doing as well

Albin Stjerna (Jun 11 2019 at 19:08, on Zulip):

Explaining things to others is the best way to learn and all that

lqd (Jun 11 2019 at 19:08, on Zulip):

I myself worked a bit on prototyping the variant Niko/Aaron described last week

Albin Stjerna (Jun 11 2019 at 19:08, on Zulip):

Cool! How's it going?

lqd (Jun 11 2019 at 19:09, on Zulip):

I haven't much progress since the meeting

lqd (Jun 11 2019 at 19:09, on Zulip):

mostly just a plan to find out what are the differences I was seeing

lqd (Jun 11 2019 at 19:09, on Zulip):

and I've also worked a tiny bit on rustc's test suite analysis

lqd (Jun 11 2019 at 19:10, on Zulip):

since Matthew's PR landed

nikomatsakis (Jun 11 2019 at 19:10, on Zulip):

I haven't had a chance to look into your prototype yet

nikomatsakis (Jun 11 2019 at 19:10, on Zulip):

But I was hoping to do so ..

lqd (Jun 11 2019 at 19:10, on Zulip):

so I just took care of 8 out of 23/24 failures (the simplest ones)

lqd (Jun 11 2019 at 19:10, on Zulip):

I haven't had a chance to look into your prototype yet

no worries, take your time :)

nikomatsakis (Jun 11 2019 at 19:11, on Zulip):

so I just took care of 8 out of 23/24 failures (the simplest ones)

is the plan to basically go through the errors 1 by 1?

lqd (Jun 11 2019 at 19:11, on Zulip):

the WIP analysis is here

lqd (Jun 11 2019 at 19:11, on Zulip):

right now yeah

lqd (Jun 11 2019 at 19:11, on Zulip):

assuming the plan I had in mind was "sound"

lqd (Jun 11 2019 at 19:12, on Zulip):

that is, try to ignore most of the "failures because of test constructions" until we execute the tests on CI

lqd (Jun 11 2019 at 19:12, on Zulip):

and bless the ones which are mostly diagnostics based

lqd (Jun 11 2019 at 19:12, on Zulip):

and open issues for later about all those

lqd (Jun 11 2019 at 19:13, on Zulip):

and for the ones left after that (which will be the majority): look at them in more detail 1 by 1

lqd (Jun 11 2019 at 19:14, on Zulip):

I haven't yet looked at them enough to see if they're regressions, or optimizations or difference in MIR construction etc

lqd (Jun 11 2019 at 19:14, on Zulip):

also in case it was missed: the liveness PR has been merged into Polonius :tada: awesome job @Albin Stjerna

nikomatsakis (Jun 11 2019 at 19:15, on Zulip):

it seems like one of the main questions that we have left is how to land the rustc PR

Albin Stjerna (Jun 11 2019 at 19:15, on Zulip):

Yes! Unfortunately, the changes to rustc just got out of sync with master again

nikomatsakis (Jun 11 2019 at 19:15, on Zulip):

it might be worth digging more deeply into that discrepancy that we saw

Albin Stjerna (Jun 11 2019 at 19:15, on Zulip):

yes, I think so too

Albin Stjerna (Jun 11 2019 at 19:16, on Zulip):

But I don't think I can see a way to get to the output generated by rustc with just propagation of any sort across the CFG

lqd (Jun 11 2019 at 19:16, on Zulip):

in the other topic I mentioned this reminded me of a similar situation for generators

lqd (Jun 11 2019 at 19:17, on Zulip):

maybe it is related

Albin Stjerna (Jun 11 2019 at 19:17, on Zulip):

Ah, now I understand that

nikomatsakis (Jun 11 2019 at 19:17, on Zulip):

But I don't think I can see a way to get to the output generated by rustc with just propagation of any sort across the CFG

not sure I follow this

nikomatsakis (Jun 11 2019 at 19:17, on Zulip):

however

lqd (Jun 11 2019 at 19:18, on Zulip):

so yeah this seems like a good topic for this week I assume ? no need to start on move/overwrite until that is sorted, right ?

nikomatsakis (Jun 11 2019 at 19:18, on Zulip):

yeah, I mean, I think we should start on move mostly because I want poor @Albin Stjerna to make progress on their thesis

nikomatsakis (Jun 11 2019 at 19:18, on Zulip):

but why don't we spent a few minutes digging into that question right now

nikomatsakis (Jun 11 2019 at 19:18, on Zulip):

I suspect it won't take that long to get to the bottom of it

nikomatsakis (Jun 11 2019 at 19:18, on Zulip):

(unless we have other things to do in meeting)

Albin Stjerna (Jun 11 2019 at 19:18, on Zulip):

Sounds good :)

lokalmatador (Jun 11 2019 at 19:18, on Zulip):

also in case it was missed: the liveness PR has been merged into Polonius :tada: awesome job Albin Stjerna

sth to consider for profiling?

Albin Stjerna (Jun 11 2019 at 19:19, on Zulip):

Not yet I think, given that the rustc code isn't in place

lqd (Jun 11 2019 at 19:19, on Zulip):

I don't think there are many things left for the meeting (I remembered I wanted to ask about illegal subset relations in the new proposal during last week's call but forgot, and "placeholder loans")

Albin Stjerna (Jun 11 2019 at 19:20, on Zulip):

@lokalmatador Or, I think it might be interesting to dump performance data for the liveness analysis itself, which happens before the rest of Polonius runs, if possible

lqd (Jun 11 2019 at 19:20, on Zulip):

sth to consider for profiling?

yeah probably :) (the code right now is in Polonius, while I think you've been mainly instrumenting rustc itself)

lokalmatador (Jun 11 2019 at 19:20, on Zulip):

sth to consider for profiling?

yeah probably :) (the code right now is in Polonius, while I think you've been mainly instrumenting rustc itself)

oh yeah, sorry

lokalmatador (Jun 11 2019 at 19:20, on Zulip):

my bad

Albin Stjerna (Jun 11 2019 at 19:21, on Zulip):

Yes, the liveness part happens as part of the call to Polonius so it has to be annotated from within Polonius

Albin Stjerna (Jun 11 2019 at 19:21, on Zulip):

Which makes sense to do I think

lqd (Jun 11 2019 at 19:21, on Zulip):

(oh no it's a good thing to keep in mind no worries @lokalmatador )

Albin Stjerna (Jun 11 2019 at 19:21, on Zulip):

If it can be done, that is

nikomatsakis (Jun 11 2019 at 19:21, on Zulip):

@lqd ps I'm leaning mildly towards modifying the "region error" approach to use "placeholder loans" again, at least in the context of the new analysis, since we're not tracking "subtype" relations directly

lqd (Jun 11 2019 at 19:21, on Zulip):

so for this week does this sound good:

lqd (Jun 11 2019 at 19:23, on Zulip):
lqd (Jun 11 2019 at 19:24, on Zulip):

(in case people want to leave early, or switch to the liveness thread, thank you all for your time)

lokalmatador (Jun 11 2019 at 19:25, on Zulip):

alright, see y'all!

lqd (Jun 11 2019 at 19:26, on Zulip):

ps I'm leaning mildly towards modifying the "region error" approach to use "placeholder loans" again

we described (a bit) a similar approach when we last wanted to remove subset relations, I think ?

nikomatsakis (Jun 11 2019 at 19:26, on Zulip):

yes

nikomatsakis (Jun 11 2019 at 19:27, on Zulip):

the motivation is stronger now, in that we would not be propagating the subset relations the same way

Aaron Weiss (Jun 11 2019 at 19:27, on Zulip):

lqd ps I'm leaning mildly towards modifying the "region error" approach to use "placeholder loans" again, at least in the context of the new analysis, since we're not tracking "subtype" relations directly

And I'm currently working out what a similar change to Oxide looks like too. :big_smile:

lqd (Jun 11 2019 at 19:28, on Zulip):

keep us posted @Aaron Weiss :)

lqd (Jun 11 2019 at 19:28, on Zulip):

especially if you find the soundess flaw

lqd (Jun 11 2019 at 19:29, on Zulip):

I have completely forgotten everything we said last time about placeholder loans, which is OK with Zulip as there was a dedicated thread

Aaron Weiss (Jun 11 2019 at 19:32, on Zulip):

@lqd didn't quite know that I was doing, but Niko pointed out the similarity when I was pinging him about the current change.

lqd (Jun 11 2019 at 19:34, on Zulip):

it's nice to see the 2 different models helping validate/improve each other

lqd (Jun 11 2019 at 19:34, on Zulip):

(and also reassuring)

Aaron Weiss (Jun 11 2019 at 19:37, on Zulip):

indeed! from my perspective, the validation is especially nice because the academic cycle for validating ideas is much slower and the time between submissions can feel pretty hopeless and grueling sometimes.

Aaron Weiss (Jun 11 2019 at 19:38, on Zulip):

definitely nice to have a feeling of "well, this is like what some other smart people are doing" :wink:

Albin Stjerna (Jun 11 2019 at 19:39, on Zulip):

/me notes "hopeless and gruelling"

lqd (Jun 11 2019 at 19:40, on Zulip):

yeah just before a PhD @Albin Stjerna :p

Albin Stjerna (Jun 11 2019 at 19:41, on Zulip):

Well, I just accepted a PhD position this autumn (which gives my Master's a soft deadline of “August-ish” and a hard deadline of “September 1st, minus propagation time for grades and diploma”)

Aaron Weiss (Jun 11 2019 at 19:42, on Zulip):

where at?

Albin Stjerna (Jun 11 2019 at 19:42, on Zulip):

Uppsala university

Aaron Weiss (Jun 11 2019 at 19:42, on Zulip):

Ah, still with Tobias?

Albin Stjerna (Jun 11 2019 at 19:43, on Zulip):

No, it's with Philipp Rümmer on using SMT with string constraints for finding XSS in javascript

Albin Stjerna (Jun 11 2019 at 19:43, on Zulip):

So a bit unrelated

Albin Stjerna (Jun 11 2019 at 19:43, on Zulip):

Tobias has, err, no money for PhDs :(

Aaron Weiss (Jun 11 2019 at 19:43, on Zulip):

Ah, still cool. Congrats! :smiley:

Aaron Weiss (Jun 11 2019 at 19:43, on Zulip):

(that last bit is uncool and rather unfortunate :s)

Albin Stjerna (Jun 11 2019 at 19:44, on Zulip):

But I think he plans on letting me keep his course floating as a TA when he's away on a teaching sabbatical for a year

Albin Stjerna (Jun 11 2019 at 19:45, on Zulip):

Ah, still cool. Congrats! :smiley:

Thank you!

lqd (Jun 11 2019 at 19:55, on Zulip):

measurements.zip

@lokalmatador this data is looking nice already, thank you. (and also of course thanks to @Wesley Wiser for -Z self-profile/measureme/summarize)

Wesley Wiser (Jun 11 2019 at 19:56, on Zulip):

Credit where credit is due: @WG-self-profile :slight_smile:

lokalmatador (Jun 11 2019 at 19:57, on Zulip):

yup, quite a nice tool

lqd (Jun 11 2019 at 19:58, on Zulip):

(ofc thanks @mw as well)

Albin Stjerna (Jun 11 2019 at 20:11, on Zulip):

Ok, I have an early morning tomorrow so I have to go to bed now. Night, expert schedulers!

lqd (Jun 24 2019 at 20:04, on Zulip):

(sorry for the delay, I just got back from a funeral and will start on the meeting notes now)

lqd (Jun 24 2019 at 21:41, on Zulip):

ok finally posted the notes PR here

Last update: Nov 15 2019 at 21:10UTC