These are chat archives for dropbox/pyston

20th
Feb 2015
andrewchambers
@andrewchambers
Feb 20 2015 03:59
Yo
So pyston now has an AST interpreter? Is the assembler code in there for fast codegen too? or is fast codegen not implemented yet.
Kevin Modzelewski
@kmod
Feb 20 2015 21:38
yeah, we have an AST interpreter now :)
the assembler is for rewriting inline caches
though we're thinking of adding a "baseline jit" at some point which would presumably use it too
andrewchambers
@andrewchambers
Feb 20 2015 21:40
Nice, I was thinking about how qemu doesn't even bother with an interpreter, I think its dynamic assembler is just so fast it doesn't worry about it.
Chris Toshok
@toshok
Feb 20 2015 21:40
yeah, v8 is the same way iirc
andrewchambers
@andrewchambers
Feb 20 2015 21:40
I think tcc + luajit jit compiler are also cool places to look for inspiration.
Chris Toshok
@toshok
Feb 20 2015 21:41
JavascriptCore has their asm interpreter, but they love having more tiers
luajit++
andrewchambers
@andrewchambers
Feb 20 2015 21:42
I think the problem with too many tiers
is just so much code to maintain
Kevin Modzelewski
@kmod
Feb 20 2015 21:43
yeah, it'd be nice if we didn't end up needing an interpreter at all
Chris Toshok
@toshok
Feb 20 2015 21:43
yeah, I think JSC was required to have one for use in UIWebView
Kevin Modzelewski
@kmod
Feb 20 2015 21:43
there are some features like tracing and profiling that might be easier to support in an interpreter
I guess we'll see :)
andrewchambers
@andrewchambers
Feb 20 2015 21:43
I installed an ubuntu vm so I can try a build, I guess the instructions in doc are out of date now. Should I just copy what travis is doing?
Kevin Modzelewski
@kmod
Feb 20 2015 21:44
hmm I don't think the instructions should be out of date
but yeah you can also use the cmake build (what travis-ci uses) which should be more automated
andrewchambers
@andrewchambers
Feb 20 2015 21:44
Doc was telling me to isntall some libs manually, which are already submodules for example.
Kevin Modzelewski
@kmod
Feb 20 2015 21:45
oh, yeah those submodules are currently only used by the cmake build
andrewchambers
@andrewchambers
Feb 20 2015 21:45
I think profiling entirely jitted code requiers some skill with setting up gdb
Kevin Modzelewski
@kmod
Feb 20 2015 21:47
I just discovered gdb reverse debugging the other day
it's pretty cool :)
andrewchambers
@andrewchambers
Feb 20 2015 21:48
oh wow
andrewchambers
@andrewchambers
Feb 20 2015 21:58
I saw a java reverse debugger, didn't know gdb had it
Hmm, I think im gonna setup pyston to build in a vagrant vm