These are chat archives for dropbox/pyston

26th
Mar 2015
Travis Hance
@tjhance
Mar 26 2015 01:45
What's mcjit time mean?
Kevin Modzelewski
@kmod
Mar 26 2015 08:09
MCJIT = llvms jit system
Travis Hance
@tjhance
Mar 26 2015 08:09
like, all of it?
Kevin Modzelewski
@kmod
Mar 26 2015 08:10
which takes care of doing the process of running the code through the static compilation pipeline, and then linking it in memory (and maybe a couple other things)
well, it's mostly built on top of the existing static compilation infrastructure
Travis Hance
@tjhance
Mar 26 2015 08:10
oh
Kevin Modzelewski
@kmod
Mar 26 2015 08:10
so I guess it mostly refers to the stuff on top of that to provide linking and what not
Marius Wachtler
@undingen
Mar 26 2015 13:13
yeah I finally tracked down the strange bug I encountered running pip where it downlaoaded the wrong version numbers etc...
our reverse iterator is calling into the forward iterator hasnext ....
this small bug took me hours so find :-(. but now I'm happy that it works :-)
Marius Wachtler
@undingen
Mar 26 2015 13:25
and did not want to insult anyone...
Chris Toshok
@toshok
Mar 26 2015 16:05
(gdb) print $7
$11 = (PyObject *) 0x1fc8eb0 <pysqlite_CacheType>
(gdb) print $7->cls->tp_flags & (1<<9)
$12 = 512
1<<9 is Py_TPFLAGS_HEAPTYPE, but pysqlite_CacheType’s tp_flags is set to Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE
Chris Toshok
@toshok
Mar 26 2015 16:20
undingen: ugh, that doesn’t sound fun to track down at all
Marius Wachtler
@undingen
Mar 26 2015 16:29
mmh strange that it has Py_TPFLAGS_HEAPTYPE set
Chris Toshok
@toshok
Mar 26 2015 16:42
actually even stranger is why it’s being visited at all. it’s a non heap root, and we should skip those
Chris Toshok
@toshok
Mar 26 2015 16:48
oh, duh. $7 is also a BoxedClass, so i should be looking at its tp_flags, so ((BoxedClass*)$7)->tp_flags, not $7->cls->tp_flags
Kevin Modzelewski
@kmod
Mar 26 2015 21:17
@undingen shoot :(
maybe we should start pushing more on the cpython test suite stuff
Marius Wachtler
@undingen
Mar 26 2015 21:19
for this kind of problems I think it would help. And I fear that when we get even more feature complete we will encounter more of hard to track down small behavior differences.
Kevin Modzelewski
@kmod
Mar 26 2015 21:21
yeah I was running into something similar with django
where something is wrong with the session management but it's not crashing or anything
Marius Wachtler
@undingen
Mar 26 2015 21:21
:-( do you have found the problem already?
Chris Toshok
@toshok
Mar 26 2015 21:22
any chance it’s the same issue? :)
Kevin Modzelewski
@kmod
Mar 26 2015 21:22
heh hopefully :)
but I've definitely run into issues where we just have slightly wrong behavior
like, we were saying that float('a') == 0.0 and that screwed up django
ok I'm going to see what running those tests would involve
Michael Arntzenius
@rntz
Mar 26 2015 22:14
hm, raise NotImplementedError, Exception(2) produces different behavior between us & CPython
Chris Toshok
@toshok
Mar 26 2015 22:25
huh, what does that even do?
i see NotImplementedError: 2 in the cpython repl
does it wrap exceptions r-to-l?
Kevin Modzelewski
@kmod
Mar 26 2015 22:27
sounds like a difference in our exception normalization
Michael Arntzenius
@rntz
Mar 26 2015 22:32
yeah, it's a difference in exception normalization; I'm looking into it
Kevin Modzelewski
@kmod
Mar 26 2015 22:34
is this from cpython's testsuite?
Michael Arntzenius
@rntz
Mar 26 2015 22:36
no, I ran into it when looking at our unwind path code