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>
you need to provide them some real memory
<
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>
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
<
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
<
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>
antocuni: if it ever becomes common, we could like the JIT to be able to eg optimize away reading the same field twice
<
antocuni>
or reading after writing
GianlucaRizzo has joined #hpy
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]