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
jvesely has quit [Ping timeout: 260 seconds]
CrazyPython has joined #pypy
CrazyPython has quit [Read error: Connection reset by peer]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
CrazyPython has joined #pypy
CrazyPython has quit [Read error: Connection reset by peer]
dddddd has quit [Read error: Connection reset by peer]
<cfbolz>
I'd corresponds to something like codec.incrementalencoder(errors)
speeder39_ has joined #pypy
jcea has joined #pypy
<Dejan>
so I guess I need to clone the rpython repo
<Dejan>
ah, rpython is inside the pypy repo...
jvesely has joined #pypy
<Dejan>
Blah, I am too stupid for this, I will let gurus deal with this kind of stuff
<simpson>
You're probably not stupid, just inexperienced with PyPy.
jacob22_ has joined #pypy
jacob22 has quit [Ping timeout: 248 seconds]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
<_aegis_>
I've been getting segfaults with cffi sometimes, where I don't have a corresponding python stack trace unfortunately
<_aegis_>
it seems to be trying to bzero off the end of the stack and hitting a stack guard
<_aegis_>
is there an obvious place for me to look? can something like ffi.new() do large stack allocations?
<cfbolz>
Dejan: sorry, I am only intermittently online today. If you want I'd be happy to guide you through implementing one of these
<Dejan>
cfbolz, I hope that will fix the issue(s) with psycopg2-binary that is the next thing that prevents me from using PyPy at work...
<Dejan>
and I can't use the psycopg2cffi
xcm has quit [Read error: Connection reset by peer]
lesshaste has quit [Ping timeout: 272 seconds]
xcm has joined #pypy
lesshaste has joined #pypy
lesshaste is now known as Guest41744
<arigato>
_aegis_: no, cffi should only do variable-sized stack allocations in one case: for function arguments (and arguably you'll then need that much stack anyway to call the function)
<arigato>
ah hum, let me check, it's possible that a call to "somefunc(int *)" when called as "ffi.somefunc([long-list-of-integers])" might make a temporary copy of that list on the stack
<Alex_Gaynor>
I thought that used `malloc`, not `alloca`
<arigato>
no, there's still a call to alloca()
Arfrever has joined #pypy
jvesely has quit [Quit: jvesely]
Dejan has quit [Quit: Leaving]
jvesely has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
jacob22_ has quit [Read error: Connection reset by peer]
jacob22_ has joined #pypy
Guest41744 has quit [Quit: Leaving]
<_aegis_>
ah, I might actually be doing that!
<_aegis_>
would it happen with any other basic type? floats?
<_aegis_>
I should get around that by explicitly doing ffi.new for any large list I pass to a function?
<_aegis_>
yeah, I have one case where I pass a pretty big List[float] into a float * argument
<kenaan>
cfbolz py3.7-call-changes 8673f4fe2657 /: close to-be-merged branch
<kenaan>
cfbolz py3.7 f20ec1e0843b /: merge py3.7-call-changes implement more faithfully the bytecodes that CPython 3.7 uses for calling functions
<_aegis_>
I'd recommend not doing an alloca there, or at least having a sane length limit on it
<_aegis_>
pretty sure I was triggering it with a list of floats
speeder39_ has quit [Quit: Connection closed for inactivity]
<arigato>
oops, yes, it segfaults indeed
<kenaan>
cfbolz py3.6 193b979f5bec /pypy/: re-implement BUILD_LIST_FROM_ARG in PyPy3 (the comment explaining why it was hard is bogus: iterators have __length...
Ai9zO5AP has quit [Quit: WeeChat 2.5]
CrazyPython has joined #pypy
CrazyPython has quit [Ping timeout: 268 seconds]
CrazyPython has joined #pypy
Smigwell has left #pypy [#pypy]
<kenaan>
cfbolz py3.7 7212fc31582b /: merge py3.6
<kenaan>
cfbolz py3.6 8b7deae55140 /pypy/interpreter/astcompiler/: remove two dead methods
<kenaan>
cfbolz py3.6 2bc8bf236aa7 /pypy/TODO: remove these, I don't think they are relevant any more
CrazyPython has quit [Remote host closed the connection]
CrazyPython has joined #pypy
CrazyPython has quit [Ping timeout: 268 seconds]
jvesely has quit [Quit: jvesely]
adamholmberg has quit [Remote host closed the connection]
CrazyPython has joined #pypy
adamholmberg has joined #pypy
xcm has quit [Read error: Connection reset by peer]
xcm has joined #pypy
CrazyPython has quit [Read error: Connection reset by peer]
adamholmberg has quit [Remote host closed the connection]