cfbolz changed the topic of #pypy to: #pypy PyPy, the flexible snake https://pypy.org | IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end and https://libera.irclog.whitequark.org/pypy | Matti: I made a bit of progress, the tests now only segfault towards the end
pbsds has quit [Ping timeout: 244 seconds]
Atque has quit [Ping timeout: 258 seconds]
glyph has quit [Quit: End of line.]
glyph has joined #pypy
Atque has joined #pypy
<mattip> on hpy-0.0.4 we are down to 5 unique failures in the hpy test suite
<mattip> 1) LeavePythonExecution/ReenterPythonExecution need some GIL handling (started tackling this in the hpy_gil branch)
<mattip> 2) no Err_WriteUnraisable
<mattip> 3) no EXPORT_GLOBAL
<mattip> 4) some formatting of support.DefaultExtensionTemplate.INIT_TEMPLATE
<mattip> 5) some formatting of _debug.get_open_handles exception
<mattip> so we are getting close ...
<mattip> (5) done
glyph has quit [Quit: End of line.]
glyph has joined #pypy
<mattip> (4) done
<mattip> (3) needs HPy_Global_Store and HPy_Global_Load
<mattip> where should we put the object? Into the _hpy_universal.state.State ?
<antocuni> mattip: what is "tne object" in your last question?
glyph has quit [Quit: End of line.]
glyph has joined #pypy
glyph has quit [Client Quit]
glyph has joined #pypy
<mattip> the thing we are storing globally
<mattip> (2) is done, now "just" missing some GIL handling and Global_Store, Global_load
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
<mattip> cpyext has a "gil=" kwarg to the API functions, maybe I can duplicate some of that for HPy
<antocuni> so, the idea of HPyGlobal is to have some sort of long-lived handles which can be stored as static global C variables
<antocuni> as an extension writer, you have to declare a global HPyGlobal variable, and list it HPyModuleDef.globals = ...
<antocuni> from the pypy point of view, what we want is to assign an unique ID to each HPyGlobal, which will probably be an index inside an RPython list
<antocuni> this RPython list should probably be stored as a field of _hpy_universal.state.State
<antocuni> the difference w.r.t. normal handles is HPy handles are supposed to be short lived, while HPyGlobal are long lived (and thus e.g. the debug mode doesn't complain if they "leak")
<antocuni> this is the original PR which discussed it: https://github.com/hpyproject/hpy/pull/299
pbsds has joined #pypy
pbsds8 has joined #pypy
pbsds has quit [Ping timeout: 268 seconds]
pbsds8 is now known as pbsds
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
epony has quit [Quit: QUIT]
epony has joined #pypy
derpydoo has joined #pypy
epony has quit [Ping timeout: 252 seconds]