Make callee-saved registers behave according to kReserveMarkingRegister
We were mistakenly blocking the marking register and refreshing it, but
didn't remove it from callee-saved registers list when CC GC is not
being used, leading to crashes.
Test: art/test/testrnunner/testrunner.py --target --32 --jit
Change-Id: I33e18c900042fd1dfb1f75512868c895fd83c1e1
diff --git a/compiler/optimizing/code_generator_arm_vixl.h b/compiler/optimizing/code_generator_arm_vixl.h
index fc5fc48..e5b31cf 100644
--- a/compiler/optimizing/code_generator_arm_vixl.h
+++ b/compiler/optimizing/code_generator_arm_vixl.h
@@ -84,7 +84,7 @@
vixl::aarch32::r6,
vixl::aarch32::r7),
// Do not consider r8 as a callee-save register with Baker read barriers.
- ((gUseReadBarrier && kUseBakerReadBarrier)
+ (kReserveMarkingRegister
? vixl::aarch32::RegisterList()
: vixl::aarch32::RegisterList(vixl::aarch32::r8)),
vixl::aarch32::RegisterList(vixl::aarch32::r10,