cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
epony has quit [Remote host closed the connection]
glyph has quit [Ping timeout: 244 seconds]
glyph has joined #pypy
jacob22 has quit [Read error: Connection reset by peer]
jacob22 has joined #pypy
CrazyPython has quit [Ping timeout: 240 seconds]
tsaka__ has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
andi- has quit [Remote host closed the connection]
andi- has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
jcea has quit [Quit: jcea]
tsaka__ has quit [Ping timeout: 260 seconds]
oberstet has joined #pypy
epony has joined #pypy
dddddd has quit [Ping timeout: 260 seconds]
tsaka__ has joined #pypy
tsaka__ has quit [Ping timeout: 244 seconds]
nimaje has quit [Read error: Connection reset by peer]
nimaje has joined #pypy
jacob22 has quit [Read error: Connection reset by peer]
jacob22 has joined #pypy
<mattip>
when I check "hg outgoing", I see the topic branch "recvmsg_into". Is that normal?
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
lritter has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
<arigo>
cfbolz (with delay): stop making co-vid or co-ronavirus jokes :-)
<cfbolz>
Hah
<arigo>
mattip: I've been in the same situation regularly, but I'm not sure I understand exactly when
jacob22 has quit [Read error: Connection reset by peer]
jacob22 has joined #pypy
ElizabethTu has joined #pypy
ElizabethTu has quit [Client Quit]
jcea has joined #pypy
<cfbolz>
(I still don't understand why English spells it "coronavirus" and doesn't use an article for it. it's supposed to be some kind of strange Latin, but still doesn't make much sense to me)
zmt01 has joined #pypy
zmt00 has quit [Ping timeout: 240 seconds]
dddddd has joined #pypy
Dejan has joined #pypy
Dejan has quit [Changing host]
Dejan has joined #pypy
Dejan has quit [Client Quit]
Dejan has joined #pypy
Dejan has quit [Remote host closed the connection]
jacob22 has quit [Read error: Connection reset by peer]
<Dejan>
I wonder when will the 3.7 nightly build start working :)
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
infernix has quit [Ping timeout: 244 seconds]
CrazyPython has quit [Ping timeout: 240 seconds]
adamholm_ has quit [Read error: Connection reset by peer]
jvesely has quit [Quit: jvesely]
xcm has quit [Read error: Connection reset by peer]
xcm has joined #pypy
infernix has joined #pypy
jvesely has joined #pypy
<arigo>
https://github.com/python/cpython/pull/19735 <= after three years of going nowhere with attemps at covering all possible complicated use cases, Victor managed to push through the three-lines change I proposed in 2017. Success!
oberstet has quit [Ping timeout: 260 seconds]
BiancaRagazza has joined #pypy
Ai9zO5AP has quit [Ping timeout: 240 seconds]
BiancaRagazza has quit [Client Quit]
Ai9zO5AP has joined #pypy
<antocuni>
I have a translation problem; in hpy_universal/state.py I have the following code:
<antocuni>
the idea is to call get_llhelper (which in turns call llhelper(...), see apiset.py) to convince the annotator to annotate the helpers and produce the C code
<antocuni>
but the C code is not generated
<mattip>
what does cpyext api.py do?
<antocuni>
I *think* that what happens is that some optimization at some stage decides that the call to get_llhelper is elidable, and so it is removed
<antocuni>
for example, test_ztranslation passes, because I think it is run with less optimizations
<antocuni>
mattip: good question... cpyext/api.py is complicate enough that it's not straightforward to understand what happens
<antocuni>
e.g., get_llhelper is definitely called by apy.build_bridge, but this is used only in the untranslated case
<antocuni>
ah, there is something which looks like rpython magic at the beginning of slotdefs.py
<antocuni>
@register_flow_sc... what the hell is it?
<antocuni>
ah, it seems some magic to automatically call get_llhelper when you call llslot() on an API function
<antocuni>
not sure why it was necessary
<mattip>
I seem to recall something about having a global reference in a cache preventing some optimization
<antocuni>
anyway, I don't think this is the magic which makes the annotator to annotate&emit all the cpyext functions
andi- has quit [Ping timeout: 240 seconds]
<mattip>
it is something about get_slot_tp_function
<antocuni>
ah yes, you might be right
<antocuni>
that functions call get_llhelper for all slots
* mattip
haven't looked at that for a long time, and even then not sure I understood the magic
<antocuni>
I think it would be enough to find a way to convince the translator not to elide those calls
<antocuni>
now I am trying to write the addresses of the llhelpers into a raw-allocated void*, hoping it will be enough
<mattip>
isn't that the same thing as putting the python functions in a global dictionary?
<antocuni>
mattip: but that list exists only before translation
* antocuni
off for 10 minutes
Dejan has quit [Read error: Connection reset by peer]
<antocuni>
mattip: it seems it was enough
<antocuni>
it's not very nice as a solution, but unless someone has a better idea, I think I'll commit it
<antocuni>
and... horray! Not the translated pypy-c can pass all hpy tests 🎉
lritter has quit [Remote host closed the connection]
andi- has joined #pypy
<mattip>
yay. As long as you add a nice comment so someone can figure out not only what but why ...
<antocuni>
yes, sure :)
ncdulo has joined #pypy
<ncdulo>
Hey there! Was just checking out the PyPy site, and reading into the Compatibility page -- I noticed what looks like a CSS error
<ncdulo>
In the first <pre> block, there is a very long string of module names. That string expands horizontally off the side of the page, resulting in a very long sideways scroll to read it all.
<ncdulo>
It seems that if you place the `display: block` style into the CSS for <pre>, it eliminates the page scrollbar and allows the actual code block itself to scroll horizontally