| Index: runtime/vm/assembler_mips.h
|
| diff --git a/runtime/vm/assembler_mips.h b/runtime/vm/assembler_mips.h
|
| index ec9daf89cab8a40573bb0eceb36cc0f581aa87f8..0f0897ff140b097e7c7f6e5f07e7d383317a3ee5 100644
|
| --- a/runtime/vm/assembler_mips.h
|
| +++ b/runtime/vm/assembler_mips.h
|
| @@ -26,6 +26,7 @@ namespace dart {
|
|
|
| // Forward declarations.
|
| class RuntimeEntry;
|
| +class StubEntry;
|
|
|
| class Immediate : public ValueObject {
|
| public:
|
| @@ -917,6 +918,8 @@ class Assembler : public ValueObject {
|
| jr(TMP);
|
| }
|
|
|
| + void Branch(const StubEntry& stub_entry);
|
| +
|
| void BranchPatchable(const ExternalLabel* label) {
|
| ASSERT(!in_delay_slot_);
|
| const uint16_t low = Utils::Low16Bits(label->address());
|
| @@ -927,12 +930,16 @@ class Assembler : public ValueObject {
|
| delay_slot_available_ = false; // CodePatcher expects a nop.
|
| }
|
|
|
| + void BranchPatchable(const StubEntry& stub_entry);
|
| +
|
| void BranchLink(const ExternalLabel* label) {
|
| ASSERT(!in_delay_slot_);
|
| LoadImmediate(T9, label->address());
|
| jalr(T9);
|
| }
|
|
|
| + void BranchLink(const StubEntry& stub_entry);
|
| +
|
| void BranchLink(const ExternalLabel* label, Patchability patchable) {
|
| ASSERT(!in_delay_slot_);
|
| const int32_t offset = ObjectPool::element_offset(
|
| @@ -944,10 +951,14 @@ class Assembler : public ValueObject {
|
| }
|
| }
|
|
|
| + void BranchLink(const StubEntry& stub_entry, Patchability patchable);
|
| +
|
| void BranchLinkPatchable(const ExternalLabel* label) {
|
| BranchLink(label, kPatchable);
|
| }
|
|
|
| + void BranchLinkPatchable(const StubEntry& stub_entry);
|
| +
|
| void Drop(intptr_t stack_elements) {
|
| ASSERT(stack_elements >= 0);
|
| if (stack_elements > 0) {
|
|
|