GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Remote host closed the connection]
dalley has quit [Quit: Leaving]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Remote host closed the connection]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Ping timeout: 276 seconds]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Remote host closed the connection]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Ping timeout: 256 seconds]
<antocuni> cfbolz: do you have reasons to think that the JIT would not work out of the box?
<cfbolz> antocuni: eg can these objects be virtual?
<cfbolz> or they can never be, because they come from C code always
<antocuni> that's a good question
<antocuni> in theory it's possible to create these objects from Python code
<antocuni> I mean, not just in theory, in practice it will happen all the time
<antocuni> e.g. if you call numpy.zeros()
<cfbolz> but some C code needs to run, I assume
<antocuni> yes
<antocuni> you need to provide them some real memory
<cfbolz> pity ;-)
<antocuni> I think that currently what happens is that W_HPyObject is virtual, but hpy_data is malloc()ed anyway
<antocuni> cfbolz: we can always interpret and trace the C code :)
<cfbolz> graalpython does that
<cfbolz> but well
<cfbolz> its own mess
<antocuni> anyway, a varsized W_HPyObject which embeds the "C" memory will still be a win over the current situation
<cfbolz> antocuni: ok
<antocuni> even if you can't virtualize it
<cfbolz> Does reading a field from the varsized part always go via C?
<antocuni> good question
<antocuni> from the hpy point of view, you don't know what's inside the memory blob
<antocuni> so yes
<cfbolz> Ok
<cfbolz> (sorry, I'm not up to date on hpy at all)
<antocuni> ah no wait
<cfbolz> you need to know where gcrefs are at least
<antocuni> I think there is already a way to define "fields"
<antocuni> but I don't remember the name of those
<antocuni> ah, "members" I think
<cfbolz> Ok
<antocuni> yes exactly. You can define a member (as you do in CPython) and say that at offset X there is a int
<antocuni> so reading/writing that doesn't go through C
<antocuni> but I suspect it's not very common
<cfbolz> Ok
<cfbolz> antocuni: if it ever becomes common, we could like the JIT to be able to eg optimize away reading the same field twice
<antocuni> right
<antocuni> or reading after writing
GianlucaRizzo has joined #hpy
<cfbolz> yep
Gianluca_ has joined #hpy
GianlucaRizzo has quit [Remote host closed the connection]
Gianluca_ has quit [Remote host closed the connection]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Ping timeout: 272 seconds]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Remote host closed the connection]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Remote host closed the connection]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Ping timeout: 256 seconds]
DuToit has joined #hpy
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Ping timeout: 246 seconds]
DuToit has quit [Read error: Connection reset by peer]
DuToit has joined #hpy
DuToit has quit [Read error: No route to host]
GianlucaRizzo has joined #hpy
GianlucaRizzo has quit [Remote host closed the connection]
mattip has quit [Ping timeout: 276 seconds]