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 | hacking on TLS is fun, way more fun than arguing over petty shit, turns out
cfbolz has quit [Ping timeout: 264 seconds]
ronan has quit [Ping timeout: 268 seconds]
agronholm has quit [Ping timeout: 268 seconds]
krono has quit [Ping timeout: 264 seconds]
ronan has joined #pypy
graingert has quit [Ping timeout: 268 seconds]
eamanu has quit [Ping timeout: 264 seconds]
yizawa_ has joined #pypy
yizawa has quit [Ping timeout: 268 seconds]
yizawa_ is now known as yizawa
idnar has quit [Ping timeout: 268 seconds]
cfbolz has joined #pypy
idnar has joined #pypy
graingert has joined #pypy
agronholm has joined #pypy
eamanu has joined #pypy
jerith has quit [Read error: Connection reset by peer]
phlebas has quit [Read error: Connection reset by peer]
samth has quit [Read error: Connection reset by peer]
krono has joined #pypy
samth has joined #pypy
phlebas has joined #pypy
jerith has joined #pypy
phlebas has quit [Ping timeout: 268 seconds]
jerith has quit [Ping timeout: 268 seconds]
jerith has joined #pypy
samth has quit [Ping timeout: 264 seconds]
samth has joined #pypy
phlebas has joined #pypy
idnar has quit [Ping timeout: 244 seconds]
ronan has quit [Ping timeout: 244 seconds]
eamanu has quit [Ping timeout: 256 seconds]
cfbolz has quit [Ping timeout: 256 seconds]
samth has quit [Ping timeout: 268 seconds]
graingert has quit [Ping timeout: 244 seconds]
yizawa has quit [Ping timeout: 244 seconds]
ctismer has quit [Ping timeout: 245 seconds]
ronan has joined #pypy
yizawa has joined #pypy
ctismer has joined #pypy
cfbolz has joined #pypy
eamanu has joined #pypy
agronholm has quit [Ping timeout: 256 seconds]
fijal has quit [Ping timeout: 256 seconds]
idnar has joined #pypy
fijal has joined #pypy
phlebas has quit [Ping timeout: 268 seconds]
krono has quit [Ping timeout: 256 seconds]
phlebas has joined #pypy
graingert has joined #pypy
krono has joined #pypy
samth has joined #pypy
agronholm has joined #pypy
the_drow has quit [*.net *.split]
mgorny has quit [*.net *.split]
commandoline has quit [*.net *.split]
commandoline has joined #pypy
mgorny has joined #pypy
the_drow has joined #pypy
graingert[m] has quit [*.net *.split]
Ninpo has quit [*.net *.split]
ammar2 has quit [*.net *.split]
the_rat_ has quit [*.net *.split]
pjenvey has quit [*.net *.split]
Ninpo has joined #pypy
the_rat has joined #pypy
ammar2 has joined #pypy
pjenvey has joined #pypy
graingert[m] has joined #pypy
otisolsen70 has joined #pypy
otisolsen70 has quit [Quit: Leaving]
alicetries has joined #pypy
jacob22 has quit [Ping timeout: 260 seconds]
greedom has joined #pypy
greedom has quit [Remote host closed the connection]
Ninpo has joined #pypy
Ninpo has quit [Changing host]
otisolsen70 has joined #pypy
<mattip> it is about time to drop portable builds for centos 6, which went EOL in Nov 2020
glyph has quit [Quit: End of line.]
glyph has joined #pypy
jacob22 has joined #pypy
<mattip> but I guess this impacts cibuildwheel and projects packaging manylinux2010 wheels ...
<cfbolz> cool, the new parser is only a tiny amount slower than the old one
<mattip> nice
wleslie has quit [Ping timeout: 260 seconds]
Atque has quit [Quit: ...]
wleslie has joined #pypy
wleslie has quit [Ping timeout: 260 seconds]
wleslie has joined #pypy
<ctismer> Hi mattip: I got a weird error in our generated classes. Please have a look...
<ctismer> mattip: As you can see, we have this mutable private `m_PyMethodCache` array that records if methods are overwritten with Python.
<ctismer> mattip: This cache works great in CPython, but PyPy seems to ignore it. Are these objects also read-only or something??
<ctismer> mattip: cfbolz: I am wondering because I thought only `PyType_Object`s are read-only?
<catern> has someone already written a nice recursive pretty printer for cdata objects? i.e. something that calls ffi.typeof to figure out the type, prints it, then recurses on the fields/elements?
<cfbolz> ctismer: I don't quite get how the cache is used
<cfbolz> Does cpython use that field automatically?
<ctismer> cfbolz: no, this is completely our construct. It just happens to be ignored. Since it is no PyTypeObject, something else must go wrong.
<cfbolz> ctismer: yes, that sounds strange
<ctismer> cfbolz: mattip: I will continue with analysis until I have real evidence. Please ignore my post. But explaining it helped me to understand more 😂
<cfbolz> Ok 😅
<ctismer> cfbolz: The cache works correctly! It is the override lookup function that obtains a nonsense override. Hey, it's a long way to Tipperary...
<ctismer> cfbolz: Does PyPy distinguish between PyFunction and PyCPunction? Something seems fishi there.
<cfbolz> ctismer: yes, I am not sure we have both
<cfbolz> I think there is no such a thing as a builtin function
<ctismer> cfbolz: That might explain a lot. Will investigate further. Hooka hooka 😆
<cfbolz> >>>> type(list.append) is type(lambda:1)
<cfbolz> True
<cfbolz> ctismer: ^^
<ctismer> cfbolz: Argh. I need to find a new criterion to check when I have an overridden function
<ctismer> but I might be very close to the first solution, then.
<cfbolz> ctismer: there might be a way still
<ctismer> cfbolz: Yes? I am all ears
<cfbolz> ctismer: the code objects have different types I think
<ctismer> cfbolz: The function that calculates overrides is a bit complex.
greedom has joined #pypy
<ctismer> cfbolz: just FYI, I still don't know where it fails, still looking.
greedom has quit [Ping timeout: 240 seconds]
greedom has joined #pypy
greedom has quit [Remote host closed the connection]
greedom has joined #pypy
<ctismer> cfbolz: Got it: PyMethod_Check says 1 on PyPy and 0 on CPython
<cfbolz> right :-(
greedom has quit [Remote host closed the connection]
greedom has joined #pypy
<ctismer> cfbolz: ok, I need some kind of replacement for `method` vs. `builtin_function_or_method`.
<ctismer> cfbolz: maybe I could check the module of the function?
<cfbolz> ctismer: yeah, worth a try
<cfbolz> for builtin_function_or_method, __module__ seems to be None
greedom has quit [Remote host closed the connection]
greedom has joined #pypy
<ctismer> cfbolz: yes, but I get `method` from PyPy and need to find out if it is builtin
<ctismer> cfbolz: The module is NULL
<cfbolz> ctismer: right, so you should be able to use that
<cfbolz> C-implemented methods have NULL, python-implemented ones have a module
<cfbolz> I would think
<ctismer> cfbolz: Ah, need to prove that in the morning. Thanks!
<cfbolz> :-)
<cfbolz> ctismer: thanks for fighting your way through this!
<ctismer> cfbolz: I have sworn to get this running, and I never-ish give up :)
<ctismer> cfbolz: In any case, this will work nome way. If nothing helps, I can register all builtin functions in a dict, for instance. Hee hoo, looking forward to tomorrow! 😂
greedom has quit [Remote host closed the connection]
jstoker has left #pypy [#pypy]
Julian has joined #pypy
jstoker has joined #pypy
Julian has quit [Quit: leaving]
otisolsen70 has quit [Quit: Leaving]