cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "the modern world where network packets and compiler optimizations are effectively hostile"
rokujyouhitoma has quit [Ping timeout: 248 seconds]
<exarkun>
pypy/module/imp/importing.py - get_so_extension is rpython, right? `importing` is imported by `interp_imp.py` so I guess it would have to be. That means that when it uses the `platform` module ... it ... inherits behavior (?) from the runtime that does the translation? I don't quite see how that works.
<xorAxAx>
exarkun: thats quite typical for pypy
<xorAxAx>
i havent looked at the code but it doesnt sound unlikely
jcea has quit [Remote host closed the connection]
<exarkun>
How does that work? `platform.machine()` surely isn't RPython; how does it get called from some RPython?
<exarkun>
Or am I silly and actually it is RPython (maybe just by happy coincidence?)
<exarkun>
I guess in that specific case the implementation is just `os.uname().machine`, I suppose that's perfectly valid RPython.
<exarkun>
But then it wouldn't _exactly_ inherit the translation runtime implementation ... because PyPy is supplying the os.uname implementation.
<exarkun>
Translation just notices `os.uname` is being used and substitutes a call to its own rpython implementation of that API?
iko has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
<exarkun>
dang do I need a real and honest 32bit machine to exercise this codepath
<exarkun>
Where does the pypy-c-jit-linux-x86-32 builder run? It looks like it runs on some actual 32 bit hardware? Or maybe just a 32 bit VM somewhere?
marmoute has joined #pypy
exarkun has quit [Read error: Connection reset by peer]
Tiberium has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
gsnedders has joined #pypy
exarkun has joined #pypy
<arigato>
exarkun: it runs in a 32-bit VM inside a 64-bit host
<arigato>
or not a VM, I think it's a chroot
<arigato>
I can give you an account on "tannit", where it is
<arigato>
exarkun: get_so_extension() is marked with @specialize.memo()
<arigato>
that means it is actually called at translation time, and the constant result is what will be in the final executable
<exarkun>
that might be handy. I'm looking at the test_sysconfig failure and it seems to have to do with the 32 bit case specifically. I have a 32 bit Ubuntu docker image but that only manages to get about halfway to 32 bit, as far as sysconfig is concerned.
<exarkun>
arigato: ah ok
<exarkun>
When it runs, how does it satisfy the os.uname() call? With the translating interpreter's implementation or the pypy rpython implementation?
<arigato>
it's just called, and that's it
<arigato>
so it runs with whatever interpreter's implementation sn the host
* exarkun
nods
<arigato>
s/sn/is
<arigato>
log there and run "32bit" to enter the 32-bit chroot
<arigato>
...on tannit.openend.se, that is
<exarkun>
great, that works. thanks.
<arigato>
welcome. /me off again
ionelmc has joined #pypy
dw has joined #pypy
rokujyouhitoma has joined #pypy
<kenaan>
exarkun default 727bbd9f3a14 /pypy/module/imp/test/test_app.py: Fix imp module test_suffixes so that it runs its intended assertions. Also change one of the assertions to refle...
* exarkun
wonders if he wants to learn about merging with hg today
rokujyouhitoma has quit [Ping timeout: 255 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
rubdos has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
<fijal>
agronholm: there are benefits of github, but none of the pypy devs are seriously considering it
<agronholm>
ok
<agronholm>
I personally learned hg first but then later came to love git more
<agronholm>
I tend to heavily edit my local commit history before pushing
<LarstiQ>
agronholm: have you looked at hg's evolve extension?
<agronholm>
I was told about it
<fijal>
agronholm: so we actively discourage doing that
<agronholm>
why?
<fijal>
since it hides issues that original author was dealing with
<fijal>
and makes it harder to debug in the future
<agronholm>
huh?
<fijal>
also the branch model in hg makes it easier to care about branch merges for big features
<fijal>
but lots of small commits for tweaks
<agronholm>
I use commit --amend a lot, and I often do interactive rebases to edit previous commits
<agronholm>
makes for a much more readable version history once pushed
<fijal>
sure, it's more readable
MarkMangoba has quit []
<fijal>
but also devoid of crucial information
<agronholm>
crucial, how?
<LarstiQ>
it depends a bit on your workflow
<fijal>
you loose all the info about "the fight to get this right was done here and there"
<exarkun>
fijal: I think it's a religious-equivalent topic.
<fijal>
or "this details got changed back and forward a lot"
<fijal>
exarkun: seems so
<agronholm>
fijal: why would anyone be interested in somebody's local VCS screwups?
MarkMangoba has joined #pypy
<exarkun>
no one really knows if one way is better or not (because no one really knows anything about how software development works)
<LarstiQ>
agronholm: not vcs screwups, but debugging and design history
<LarstiQ>
agronholm: lab notes vs a published novel
<agronholm>
oh well – personally I haven't ever cared about that
<exarkun>
hence "it depends a bit on your workflow".
MarkMangoba has quit [Client Quit]
MarkMangoba has joined #pypy
<fijal>
agronholm: so it mostly does not help at all
<LarstiQ>
(maybe even a better analogy is a finished mathematical proof, it's really hard to learn how to do research math if you only look at those results)
<fijal>
except in a few crucial moments when you're debugging strange JIT problem
yuyichao has quit [Ping timeout: 246 seconds]
yuyichao has joined #pypy
Joannah has joined #pypy
<kenaan>
arigo nogil-unsafe-2 3f8621fd99f2 /rpython/translator/c/src/: Really need a read-write lock here, not a reentrant mutex
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
ronan has joined #pypy
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
ronan has quit [Read error: Connection reset by peer]
ronan has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<mjacob>
agronholm: so the idea is "yes you can edit away your local VCS screwups if you insist but please keep the history of how the code evolved intact"
<agronholm>
mjacob: well, I see no problem with that
<mjacob>
agronholm: we also encourage to push your changes early, so with mercurial's "phases" model this is exactly what you get
Tiberium has quit [Quit: Leaving]
Yardanico has joined #pypy
tormoz has quit [Remote host closed the connection]
<kenaan>
arigo py3.5 f2d17e80c68d /lib-python/3/datetime.py: Issue #2635 {datetime,date,time).replace() returns an instance of the specific subclass in CPython's C '_datetime' m...
blachance has joined #pypy
rokujyouhitoma has joined #pypy
tbodt has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<kenaan>
arigo default 141ba627dc5f /: Issue #2632 Try even harder to get 'CDLL._handle' work like CPython
raynold has joined #pypy
Joannah has quit [Ping timeout: 260 seconds]
rokujyouhitoma has joined #pypy
blachance has quit [Quit: Lost terminal]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Ping timeout: 248 seconds]
tbodt has joined #pypy
zware has quit [Remote host closed the connection]
zware has joined #pypy
kanaka has quit [Changing host]
kanaka has joined #pypy
yuyichao has quit [Read error: Connection reset by peer]
yuyichao has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 255 seconds]