cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "nothing compares to the timeshifter, my personal polar expedition in software" - pedronis
Guest36286 has quit [Read error: No route to host]
Guest36286 has joined #pypy
Guest36286 has quit [Ping timeout: 240 seconds]
<arigato>
hi
<antocuni>
arigato: I think we have two potential problems in our branch
<antocuni>
the first is that a lot of the functions we have written in C might end up calling some PyErr_*(), which right now are implemented in RPython
<antocuni>
so we could end up having the same problem we had for PyTuple_New calling _Py_NewReference
<arigato>
yes, well... time to rewrite them in C
<antocuni>
not so obvious, as they end up calling PyErr_SetObject, which is implemented as "state.set_exception(OperationError(w_type, w_value))"
<arigato>
well
<arigato>
it's a typical bogus implementation
<arigato>
ah, maybe not
<antocuni>
I think that the actual work is done by State.check_and_raise_exception
<antocuni>
so maybe PyErr_SetObject could simply store the pyobjects on the state, with check_and_raise_exception doing the job of converting to OperationError
<arigato>
it's a bit more work, but I would say that the state should be accessible from C
<arigato>
ah yes, now it's in tupleobject.py instead of methodobject.py
<arigato>
"be ready for make_ref() to fail, and free the
<arigato>
partially-contructed tuple (same logic as tuple_attach)"
<antocuni>
right
<antocuni>
well, probably we can even reuse the same code
<arigato>
ok
<arigato>
yes
<antocuni>
cool
<arigato>
and yes to "but maybe explicit checks are simpler"
<arigato>
at this point, I think it would be cool if somebody that knows CPython well but PyPy's RPython code not too much, could still contribute fixes because the code base looks familiar anyway
<antocuni>
I suppose we have a plan for it then. The only thing is that I probably won't be able to work on it very soon as I have to catch up with things at work, so if there is any volunteer... (hint, hint :))
<arigato>
:-)
<antocuni>
arigato: yes, definitely +1 on that. The less magic the better, I'd say
<arigato>
PyPy: the Gradual Reduction of Magic (tm)
<antocuni>
ouch, I cannot change the IRC topic, apparenly
<antocuni>
arigato: anyway, second potential issue: right now, each of the various W_PyCFunctionObject_* has its own typedef
<antocuni>
which means that e.g. "type(simple.noargs) is not type(simple.onearg)"
<antocuni>
I am not sure whether this is going to be problematic or not
antocuni changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "PyPy: the Gradual Reduction of Magic (tm)"
<antocuni>
cfbolz: thanks :)
tormoz has quit [Quit: No Ping reply in 180 seconds.]
marr has joined #pypy
tormoz has joined #pypy
Guest36286 has joined #pypy
kolko_ has joined #pypy
kolko has quit [Ping timeout: 240 seconds]
ceridwen has quit [Ping timeout: 255 seconds]
cstratak has joined #pypy
Guest36286 has quit [Read error: Connection reset by peer]
cstratak has quit [Remote host closed the connection]
cstratak has joined #pypy
Guest36286 has joined #pypy
Guest36286 has quit [Ping timeout: 258 seconds]
ceridwen has joined #pypy
ceridwen has quit [Changing host]
ceridwen has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 248 seconds]
antocuni has quit [Ping timeout: 240 seconds]
raynold has joined #pypy
antocuni has joined #pypy
jamesaxl has quit [Ping timeout: 255 seconds]
abvi[m] has joined #pypy
altanozlu789 has quit [Quit: Connection closed for inactivity]