Index: src/arm/macro-assembler-arm.h |
diff --git a/src/arm/macro-assembler-arm.h b/src/arm/macro-assembler-arm.h |
index d2a178664e0f18796e422670050a30e73ad76ec3..79d26f2696cd4c729c49b85eaf52e099e661b3d4 100644 |
--- a/src/arm/macro-assembler-arm.h |
+++ b/src/arm/macro-assembler-arm.h |
@@ -1401,7 +1401,8 @@ class MacroAssembler: public Assembler { |
} |
// Activation support. |
- void EnterFrame(StackFrame::Type type, bool load_constant_pool = false); |
+ void EnterFrame(StackFrame::Type type, |
+ bool load_constant_pool_pointer_reg = false); |
// Returns the pc offset at which the frame ends. |
int LeaveFrame(StackFrame::Type type); |
@@ -1530,71 +1531,6 @@ class CodePatcher { |
}; |
-class FrameAndConstantPoolScope { |
- public: |
- FrameAndConstantPoolScope(MacroAssembler* masm, StackFrame::Type type) |
- : masm_(masm), |
- type_(type), |
- old_has_frame_(masm->has_frame()), |
- old_constant_pool_available_(masm->is_constant_pool_available()) { |
- // We only want to enable constant pool access for non-manual frame scopes |
- // to ensure the constant pool pointer is valid throughout the scope. |
- DCHECK(type_ != StackFrame::MANUAL && type_ != StackFrame::NONE); |
- masm->set_has_frame(true); |
- masm->set_constant_pool_available(true); |
- masm->EnterFrame(type, !old_constant_pool_available_); |
- } |
- |
- ~FrameAndConstantPoolScope() { |
- masm_->LeaveFrame(type_); |
- masm_->set_has_frame(old_has_frame_); |
- masm_->set_constant_pool_available(old_constant_pool_available_); |
- } |
- |
- // Normally we generate the leave-frame code when this object goes |
- // out of scope. Sometimes we may need to generate the code somewhere else |
- // in addition. Calling this will achieve that, but the object stays in |
- // scope, the MacroAssembler is still marked as being in a frame scope, and |
- // the code will be generated again when it goes out of scope. |
- void GenerateLeaveFrame() { |
- DCHECK(type_ != StackFrame::MANUAL && type_ != StackFrame::NONE); |
- masm_->LeaveFrame(type_); |
- } |
- |
- private: |
- MacroAssembler* masm_; |
- StackFrame::Type type_; |
- bool old_has_frame_; |
- bool old_constant_pool_available_; |
- |
- DISALLOW_IMPLICIT_CONSTRUCTORS(FrameAndConstantPoolScope); |
-}; |
- |
- |
-// Class for scoping the the unavailability of constant pool access. |
-class ConstantPoolUnavailableScope { |
- public: |
- explicit ConstantPoolUnavailableScope(MacroAssembler* masm) |
- : masm_(masm), |
- old_constant_pool_available_(masm->is_constant_pool_available()) { |
- if (FLAG_enable_ool_constant_pool) { |
- masm_->set_constant_pool_available(false); |
- } |
- } |
- ~ConstantPoolUnavailableScope() { |
- if (FLAG_enable_ool_constant_pool) { |
- masm_->set_constant_pool_available(old_constant_pool_available_); |
- } |
- } |
- |
- private: |
- MacroAssembler* masm_; |
- int old_constant_pool_available_; |
- |
- DISALLOW_IMPLICIT_CONSTRUCTORS(ConstantPoolUnavailableScope); |
-}; |
- |
- |
// ----------------------------------------------------------------------------- |
// Static helper functions. |