HackerTrans
TopNewTrendsCommentsPastAskShowJobs

djwatson24

no profile record

Submissions

Scheme Reports at Fifty

crumbles.blog
66 points·by djwatson24·9개월 전·25 comments

comments

djwatson24
·지난달·discuss
I’ve always wondered about linear scan vs SSA based spilling & regalloc, like libfirm & qbe use:

‘Register spilling and live-range splitting for SSA-form programs’ and ‘Preference-Guided Register Assignment’

It’s much cleaner to code, since you don’t need to generate live ranges explicitly, and can break it up in two passes. Linear scan creates new inactive /active intervals, while the ssa form allocators just reuse the ssa graph. I’ve never benchmarked them back to back though.
djwatson24
·2개월 전·discuss
> We wanted to check out the infamous Infinite Loop too, but were afraid it could take a long time.

Haha! Nerd jokes are the best jokes
djwatson24
·3개월 전·discuss
It's quite impressive they're able to take nearly arbitrary C and do this! Very similar to what pypy is doing here, but for C, and not a python subset.

However not without downsides. It sounds like average code is only 2x faster than Lua, vs. LuaJit which is often 5-10x faster.
djwatson24
·8개월 전·discuss
Absolutely. Things that took hours or days to debug before take mere minutes once I have an rr recording.
djwatson24
·9개월 전·discuss
Tail calling (with musttail)+ preserve_none are definitely the future of interpreters. Gets you ~95% of the performance of writing the vm in assembly, while keeping it high level. Unfortunately only clang and llvm support it so far, but hopefully we get some other llvm backend langs in soon!