Fix the crash bug (need to mark static non-pointer regs as depointerified on flush)

This commit is contained in:
Henrik Rydgard 2015-07-08 11:43:38 +02:00
parent 2a8560e522
commit 444fc0885c

View file

@ -645,6 +645,9 @@ void Arm64RegCache::FlushAll() {
if (allocs[i].pointerified && !ar[allocs[i].ar].pointerified) {
// Re-pointerify
emit_->MOVK(EncodeRegTo64(allocs[i].ar), ((uint64_t)Memory::base) >> 32, SHIFT_32);
} else {
// If this register got pointerified on the way, mark it as not, so that after save/reload (like in an interpreter fallback), it won't be regarded as such, as it simply won't be.
ar[allocs[i].ar].pointerified = false;
}
}
// Sanity check