For what it’s worth, it still feels to me like adding additional opcodes is more complexity than it’s worth. Keeping an in-memory record of what’s going on is some effort, but not really any harder than introspecting the VM’s record.
And I suspect you don’t want to be tied to VM allocations anyway. Chances are good that you’ll wind up wanting to allocate some “arenas” (big blocks that you subdivide for a particular purpose, i.e. a large number of fixed-size blocks).