ARM: Use stm/ldm for live registers save/restore in SlowPathCode.
In case when there is more than 4 register to save/restore in the
SlowPathCode stm/ldm can save some code size.
Test: m test-art-target; m test-art-host
Change-Id: I2d5b44bab58b67207105302cd7d8ee3300b9040a
diff --git a/compiler/utils/arm/assembler_arm.h b/compiler/utils/arm/assembler_arm.h
index aefbf26..ee5811c 100644
--- a/compiler/utils/arm/assembler_arm.h
+++ b/compiler/utils/arm/assembler_arm.h
@@ -763,6 +763,9 @@
virtual void PushList(RegList regs, Condition cond = AL) = 0;
virtual void PopList(RegList regs, Condition cond = AL) = 0;
+ virtual void StoreList(RegList regs, size_t stack_offset) = 0;
+ virtual void LoadList(RegList regs, size_t stack_offset) = 0;
+
virtual void Mov(Register rd, Register rm, Condition cond = AL) = 0;
// Convenience shift instructions. Use mov instruction with shifter operand