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"
<arigato>
yes, and that is true whether you say w_obj.float_w() inside Cls_ff.__init__ or just outside
<arigato>
yes
<cfbolz>
ok
<cfbolz>
obscure
<arigato>
definitely
<cfbolz>
arigato: but note that 2769e258135f does the same kind of thing :-(
<arigato>
ff363fceb3c5 too
<cfbolz>
gah
cloudyplain has joined #pypy
<arigato>
it could probably be fixed, but is it a good idea: @specialize.call_location on space.int_w and space.float_w
cloudyplain has quit [Read error: Connection reset by peer]
<cfbolz>
arigato: I doubt it
<cfbolz>
arigato: maybe specializing on the argument type?
<arigato>
right, but that's why I suggested @specialize.call_location, because we're sure about the result and it's a one-operation function anyway
<arigato>
butthe general style before ff363fceb3c5 shows a problem anyway
<cfbolz>
I suppose so
<cfbolz>
arigato: feel like trying?
<arigato>
we need to check isinstance(w, W_IntObject)
<arigato>
and not space.type(...)
<cfbolz>
yes
<cfbolz>
we do that a bit everywhere
<arigato>
so meh
<arigato>
ah?
<cfbolz>
at least in all the strategies
<arigato>
right
rokujyouhitoma has joined #pypy
<arigato>
ok, I can give it a try
cloudyplain has joined #pypy
<cfbolz>
arigato: i'll try to improve the error mor
<arigato>
so, what is @specialize.argtype() exactly doing with subclasses...
<arigato>
cfbolz: thanks
<cfbolz>
(by automating the verbose trick)
rokujyouhitoma has quit [Ping timeout: 240 seconds]
tormoz has quit [Ping timeout: 260 seconds]
<kenaan>
arigo default 5bcb6691636b /rpython/annotator/test/test_annrpython.py: checks that specialize:argtype() makes two copies of a function f(), one for the base class and one for the subclass
vkirilichev has joined #pypy
antocuni has joined #pypy
tormoz has joined #pypy
<cfbolz>
arigato: hm, does that also work if the call site first is annotated to B, and then later generalized to A?
<arigato>
roughly yes
<arigato>
I'm not completely sure about the return annotation
nimaje1 has joined #pypy
nimaje is now known as Guest97987
Guest97987 has quit [Killed (karatkievich.freenode.net (Nickname regained by services))]
nimaje1 is now known as nimaje
<arigato>
when the call site is generalized, it'll call a single different function
<cfbolz>
ok
vkirilichev has quit [Ping timeout: 246 seconds]
<kenaan>
arigo default 89a8f8f1a1e2 /pypy/interpreter/baseobjspace.py: translation fix: avoids calling the general methods like W_Root.int_w() on objects that are known to be e.g. W_IntO...
rokujyouhitoma has joined #pypy
inhahe_ has quit [Read error: Connection reset by peer]
glyph has quit [Excess Flood]
glyph has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
<cfbolz>
arigato: what's the easiest way to get a random effect in a test?
<cfbolz>
ah, I see
inhahe_ has joined #pypy
inhahe_ has quit [Client Quit]
inhahe_ has joined #pypy
exarkun has quit [Read error: Connection reset by peer]
exarkun has joined #pypy
marr has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 248 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<cfbolz>
arigato: are you getting somewhere with the fix? or should I commit the translation-unbreaking change for now
<cfbolz>
argh
<cfbolz>
seems I am blind ;-)
<kenaan>
cfbolz default c2c1b6ca6794 /rpython/: print an explanation why the function cannot be elidable/loopinvariant by showing the callstack leading to the pro...
<kenaan>
cfbolz regalloc-playground 364d9e356958 /rpython/jit/backend/: some cleanup in the call hinting implementation, a longer test with two calls
<kenaan>
cfbolz regalloc-playground 91c860e7fe64 /rpython/jit/backend/x86/: implement hints for int_sub
<kenaan>
cfbolz regalloc-playground f60a7734d1b4 /rpython/jit/backend/: float coalescing support
marky1991 has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
haypo has joined #pypy
tbodt has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
tbodt has quit [Read error: Connection reset by peer]
rokujyouhitoma has joined #pypy
<mjacob>
dash: did you try with non-jit or jit?
<dash>
i got this running untranslated
<mjacob>
dash: maybe you want to put some debug prints in, including stack traces, to see from where the functions are called and who violates in FIFO requirement
<dash>
I think it might have just been a stack overflow, I was running this on cpython
<dash>
I took out all the rvmprof stuff and ran it, got StackOverflow
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<mattip>
it seems cpyext calls do not catch rstackovf.StackOverflow exceptions, there is a simple fix that translates and solves the issue on Numpy,
<dash>
I just need to improve pypy support on nixos and use that all the time, heh
<mattip>
but I would like to write a test. I guess I need to write a recursive call that gets wrapped as a tp_* function?
tormoz has quit [Remote host closed the connection]
<mjacob>
dash: what's missing for good pypy support on nix?
tormoz has joined #pypy
<dash>
mjacob: maintenance of package collection for pypy compat, mostly
<mjacob>
dash: isn't that a problem of the packages itself?
<dash>
I had to tweak a couple dependencies in nixpkgs to get my stack working, it's just under-used
<dash>
well, for example, 'configparser' was disabled for pypy in nixpkgs, but it works with pypy as of last release
<dash>
'attrs' had 'pympler' (which doesn't work on pypy) as a build dependency but works fine without it
kaizoku has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
<traverseda>
I want to extend xonsh-shell to respond to environment syscalls. Obviously, since I'd be making a library, I need to use the `embedding_api`. Can I have that connect to an existing python process (probably not), or do I need to use some kind of IPC mechanism?
<traverseda>
With cffi
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tormoz has quit [Remote host closed the connection]
rokujyouhitoma has joined #pypy
tormoz has joined #pypy
<nimaje>
afaik xonsh is written in python, then simply use the cffi module
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<traverseda>
nimaje, that makes sense, and saves me a bunch of time. Thank you
<traverseda>
I was thinking about it wrong
vkirilichev has quit [Remote host closed the connection]
oberstet has quit [Ping timeout: 246 seconds]
rokujyouhitoma has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
rokujyouhitoma has quit [Ping timeout: 252 seconds]