Final couple of syncs with NQP JVM.

Remaining differences are bits that need to be backend specific.