When an input line ends with '\', wait for more code before executing.
JVM backend housekeeping - remove unused vars, imports.
Will ease lowering of lexicals in Perl6::Optimizer.
This fixes a REPL bug: If a command had no output, $*MAIN_CTX wasn't being saved. This means, for example, 'use Test' (no output), followed by 'ok True' on the next line would throw an error (as if 'use Test' was never run).
This also happens to get spesh.
For now just as another attribute; there's now 3 of these that could flatten into a single attribute of flag bits.
This invokes the optimizer of the main language when there's a call back into it. This in turn means we don't need to poison all lowering of lexicals in the NQP optimizer in token/rule/regex. For now, we will poision if we spot a call back into the main language; this can be relaxed later.
This is good enough for the NQP subset of Perl 6, at least.
The optimizer now got clever enough to see through the hack.
The thread pool scheduler wants its threads to be background ones, but they were not marked as such. This caused hangs at process end.