scala/scala — pull request #299 by adriaanm (2012-03-20 19:34:28+00:00)
Title: virtpatmat: jump-based codegen + tail calls + (partial)fun synthesis during typer (WIP) + more skolem-packing (WIP)

- this introduces a new translation scheme as discussed on scala-internals
- tail call support
- instead of mangling trees during uncurry, synth a (partial)function subclass during typer when a function with match-body is encountered (this is work in progress)
- pack skolems in branches of if/case before lubbing their types (otherwise we try to lub independently skolemized types) -- this is only enabled for virtpatmat, but is generally useful I believe (also, work in progress)

there are a couple of known problems with this version of virtpatmat, but I opted to ship it for this milestone so that people can try out the new codegen -- I should have fixes for the bugs I know of in a nightly later this week

none of the known problems arise unless -Yvirtpatmat, of course