Index: src/arm64/macro-assembler-arm64.h |
diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h |
index 48f2e774dc2c2dc0893081fb8683f414c7058f47..8b761eec96e1d0392cfe02009da77470b2ed79ea 100644 |
--- a/src/arm64/macro-assembler-arm64.h |
+++ b/src/arm64/macro-assembler-arm64.h |
@@ -614,7 +614,11 @@ class MacroAssembler : public Assembler { |
queued_.push_back(rt); |
} |
- void PushQueued(); |
+ enum PreambleDirective { |
+ WITH_PREAMBLE, |
+ SKIP_PREAMBLE |
+ }; |
+ void PushQueued(PreambleDirective preamble_directive = WITH_PREAMBLE); |
void PopQueued(); |
private: |
@@ -2012,6 +2016,15 @@ class MacroAssembler : public Assembler { |
void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, |
Register scratch1, Label* found); |
+ // Perform necessary maintenance operations before a push or after a pop. |
+ // |
+ // Note that size is specified in bytes. |
+ void PushPreamble(Operand total_size); |
+ void PopPostamble(Operand total_size); |
+ |
+ void PushPreamble(int count, int size) { PushPreamble(count * size); } |
+ void PopPostamble(int count, int size) { PopPostamble(count * size); } |
+ |
private: |
// Helpers for CopyFields. |
// These each implement CopyFields in a different way. |
@@ -2039,15 +2052,6 @@ class MacroAssembler : public Assembler { |
const CPURegister& dst0, const CPURegister& dst1, |
const CPURegister& dst2, const CPURegister& dst3); |
- // Perform necessary maintenance operations before a push or after a pop. |
- // |
- // Note that size is specified in bytes. |
- void PushPreamble(Operand total_size); |
- void PopPostamble(Operand total_size); |
- |
- void PushPreamble(int count, int size) { PushPreamble(count * size); } |
- void PopPostamble(int count, int size) { PopPostamble(count * size); } |
- |
// Call Printf. On a native build, a simple call will be generated, but if the |
// simulator is being used then a suitable pseudo-instruction is used. The |
// arguments and stack (csp) must be prepared by the caller as for a normal |