These are chat archives for dropbox/pyston

8th
Feb 2016
Marius Wachtler
@undingen
Feb 08 2016 14:12
looks like our socket implementation we copied from cpython also depends on refcounting behavior:
If one calls socket.close() (socket is a python wrapper of type _socketobject around the real socket) it will only remove the reference to the real socket but not call close on it.
It's even mentioned in the comment:
# Wrapper around platform socket objects. This implements
# a platform-independent dup() functionality. The
# implementation currently relies on reference counting
# to close the underlying socket object.
class _socketobject(object):
Marius Wachtler
@undingen
Feb 08 2016 20:05
from todays llvm weekly:
JavaScriptCore's FTL JIT is moving away from using LLVM as its backend, towards B3 (Bare Bones Backend). This includes its own SSA IR, optimisations, and instruction selection backend.
Chris Seaton
@chrisseaton
Feb 08 2016 20:06
How do you guys find the compilation speed of LLVM?
Marius Wachtler
@undingen
Feb 08 2016 20:42
Unfortunately I'm finding it really slow but because of the object code caching we are doing we only have to spend time once / next compilation of the same function will be fast. But still it's a pain especially because LLVM can currently optimize our code only a litte bit because of all the patchpoints we generate.
Something like this B3 sounds really useful would be nice if one can use it outside of javascriptcore
We could probably make the llvm tier a litte fast by extending the fast instruction selector (we can't use it currently because AFAIK it does not support invokes which means it falls back all the time to the slower one)
Marius Wachtler
@undingen
Feb 08 2016 20:49
and make the llvm tier more useful by directly emitting the code for the per bytecode JIT as llvm instructions
Chris Seaton
@chrisseaton
Feb 08 2016 21:01
If you have time to experiment with entirely different backends than LLVM there is also IBM's OMR (J9 internals repackaged as libraries)
Marius Wachtler
@undingen
Feb 08 2016 21:15
oh interesting :-). At the moment I'm currently spending all the time on improving compatibility and fixing bugs but when we get back to improve the perf we may have some other new options available :-).
Marius Wachtler
@undingen
Feb 08 2016 21:28
there slides looks interesting, looking forward to the code