| Index: runtime/vm/assembler_arm.h
|
| ===================================================================
|
| --- runtime/vm/assembler_arm.h (revision 25720)
|
| +++ 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,10 @@
|
| }
|
| const GrowableObjectArray& object_pool() const { return object_pool_; }
|
|
|
| + bool use_far_branches() const {
|
| + return FLAG_use_far_branches || use_far_branches_;
|
| + }
|
| +
|
| void FinalizeInstructions(const MemoryRegion& region) {
|
| buffer_.FinalizeInstructions(region);
|
| }
|
| @@ -733,6 +738,8 @@
|
| GrowableObjectArray& object_pool_; // Objects and patchable jump targets.
|
| int32_t prologue_offset_;
|
|
|
| + const bool use_far_branches_;
|
| +
|
| int32_t AddObject(const Object& obj);
|
| int32_t AddExternalLabel(const ExternalLabel* label);
|
|
|
| @@ -849,7 +856,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);
|
|
|