Index: src/arm/macro-assembler-arm.h |
diff --git a/src/arm/macro-assembler-arm.h b/src/arm/macro-assembler-arm.h |
index 445c7833176796782764079024889e5ec9ab46af..4290bc91acf5921d73d2f790b837049b1e065dd0 100644 |
--- a/src/arm/macro-assembler-arm.h |
+++ b/src/arm/macro-assembler-arm.h |
@@ -316,6 +316,7 @@ |
// Push two registers. Pushes leftmost register first (to highest address). |
void Push(Register src1, Register src2, Condition cond = al) { |
+ DCHECK(!src1.is(src2)); |
if (src1.code() > src2.code()) { |
stm(db_w, sp, src1.bit() | src2.bit(), cond); |
} else { |
@@ -326,6 +327,7 @@ |
// Push three registers. Pushes leftmost register first (to highest address). |
void Push(Register src1, Register src2, Register src3, Condition cond = al) { |
+ DCHECK(!AreAliased(src1, src2, src3)); |
if (src1.code() > src2.code()) { |
if (src2.code() > src3.code()) { |
stm(db_w, sp, src1.bit() | src2.bit() | src3.bit(), cond); |
@@ -345,6 +347,7 @@ |
Register src3, |
Register src4, |
Condition cond = al) { |
+ DCHECK(!AreAliased(src1, src2, src3, src4)); |
if (src1.code() > src2.code()) { |
if (src2.code() > src3.code()) { |
if (src3.code() > src4.code()) { |
@@ -369,6 +372,7 @@ |
// Push five registers. Pushes leftmost register first (to highest address). |
void Push(Register src1, Register src2, Register src3, Register src4, |
Register src5, Condition cond = al) { |
+ DCHECK(!AreAliased(src1, src2, src3, src4, src5)); |
if (src1.code() > src2.code()) { |
if (src2.code() > src3.code()) { |
if (src3.code() > src4.code()) { |