Chromium Code Reviews| Index: runtime/vm/assembler_arm.h |
| =================================================================== |
| --- runtime/vm/assembler_arm.h (revision 25638) |
| +++ runtime/vm/assembler_arm.h (working copy) |
| @@ -297,10 +297,11 @@ |
| class Assembler : public ValueObject { |
| public: |
| - Assembler() |
| + explicit Assembler(bool use_far_branches = false) |
| : buffer_(), |
| object_pool_(GrowableObjectArray::Handle()), |
| prologue_offset_(-1), |
| + use_far_branches_(use_far_branches), |
| comments_() { } |
| ~Assembler() { } |
| @@ -317,6 +318,8 @@ |
| } |
| const GrowableObjectArray& object_pool() const { return object_pool_; } |
| + bool use_far_branches() const { return use_far_branches_; } |
| + |
| void FinalizeInstructions(const MemoryRegion& region) { |
| buffer_.FinalizeInstructions(region); |
| } |
| @@ -733,6 +736,8 @@ |
| GrowableObjectArray& object_pool_; // Objects and patchable jump targets. |
| int32_t prologue_offset_; |
| + bool use_far_branches_; |
|
srdjan
2013/07/31 22:52:27
const
zra
2013/08/01 00:28:32
Done.
|
| + |
| int32_t AddObject(const Object& obj); |
| int32_t AddExternalLabel(const ExternalLabel* label); |
| @@ -849,7 +854,7 @@ |
| void EmitFarBranch(Condition cond, int32_t offset, bool link); |
| void EmitBranch(Condition cond, Label* label, bool link); |
| - static int32_t EncodeBranchOffset(int32_t offset, int32_t inst); |
| + int32_t EncodeBranchOffset(int32_t offset, int32_t inst); |
| static int DecodeBranchOffset(int32_t inst); |
| int32_t EncodeTstOffset(int32_t offset, int32_t inst); |
| int DecodeTstOffset(int32_t inst); |