These are chat archives for dropbox/pyston

29th
Nov 2015
Kevin Modzelewski
@kmod
Nov 29 2015 07:17
well, we apply some custom patches on top of the libunwind branch
(we haven't figured out a great workflow for this)
in that one we patch the x86_64 version of the file that wasn't compiling for you
I just filed #1018 since this isn't the first time this has come up
Greg Price
@gnprice
Nov 29 2015 21:12
cool, seems like the right error
now building on my work desktop rather than my personal laptop, and it's well past that point and still going
err, s/error/way to fix that problem/
Greg Price
@gnprice
Nov 29 2015 21:27
I'm reading the tests and a little puzzled at how some of them work. It looks like test/tests/ is a bunch of Python scripts we run... but the repo doesn't contain expected output?
but then when we run the tests, we stash pickle files foo.expected_cache next to the test foo.py?
What's the semantics of how we detect changes in the output?
And another, perhaps more immediately practical testing question: how do we test optimizations?
That is, when writing an optimization, how do we write a test that ensures the optimization is really happening, and prevents us accidentally breaking it in the future?
(so, a very different question from testing how valuable the optimization is -- which is what benchmarks and other performance testing are good at)
Greg Price
@gnprice
Nov 29 2015 21:43
Ah, I guess the answer to my first question is probably "we expect the same output as CPython"
so the cache just saves us repeatedly running under CPython
Greg Price
@gnprice
Nov 29 2015 21:58
Question #3: what exactly is a CompilerVariable? I'm reading parts of src/codegen/compvars.cpp. I see it's a thing with a getType method that's useful for optimizations.
I suppose this is... in the middle of compiling a trace? And this is a variable from the trace? So I guess we have a type from the trace.
Greg Price
@gnprice
Nov 29 2015 22:06
Hmm, do we ever instantiate CompilerVariable itself? Or is it always its subclass ValuedCompilerVariable (or another subclass I'm missing)?
I see us invoking getType directly on values of type CompilerVariable, but that's a pure virtual function.
Greg Price
@gnprice
Nov 29 2015 22:25
(BTW, the build did in fact work on my desktop and make check passed)
(modulo the integration tests, which I didn't git submodule update in)