change to use instance->str_consts.empty
Avoid repeatedly allocating memory for NFAs.
Cache fates array rather than re-allocating.
Cache frame index, to avoid a linear scan.

Turns out linear scans for frame indexes dominated assembly time. With
this, stage mbc for Rakudo's CORE.setting is a third of what it was.
Fix the fates allocation optimization.

It failed to update a code path that reallocated, leading to a use
after free bug. Found by nwc10++ using ASAN.
fix op name in error message
Update facts during isfalse optimization.

We got the facts out of sync with the not_i insertion, meaning that a
wrong branch could then result later.
Cannot inline [get|bind]lexdyn.

They do a tc->cur_frame->caller, which of course will look different
if we were to inline them.
Account for inlining in dynlex lookup.
Cache dynlex lookups.

As suggested by TimToady++, we stash them within frames, so we get
lifetime management for free (including if continuations happen). We
poke it a few frames down the stack at various intervals, to try and
maximize the benefit. Can likely tune this a bit more yet.
Fix an uninitialized variable bug.
De-virtualize most reader functions.

No point to call the same thing every time through a function pointer.
Bump minimum serialization format version.

This in turn enables us to assume we have varints in the thing we
are reading, which we have for quite a while now.
De-virtualize read_var_int.
De-virtualize serialization write functions.

Again, the abstraction was unused and unrequired.
Merge branch 'master' into moar-jit