Index: runtime/vm/instructions_mips.cc |
diff --git a/runtime/vm/instructions_mips.cc b/runtime/vm/instructions_mips.cc |
index 533d8e47f3f225a4bd354a0d1d3d79920cc0d847..3e8cbe807cc00790f77d5aa7ec759e9252f534fa 100644 |
--- a/runtime/vm/instructions_mips.cc |
+++ b/runtime/vm/instructions_mips.cc |
@@ -227,6 +227,19 @@ void JumpPattern::SetTargetAddress(uword target_address) const { |
ori->SetInstructionBits((ori_bits & 0xffff0000) | target_lo); |
} |
+ |
+ReturnPattern::ReturnPattern(uword pc) |
+ : pc_(pc) { |
+} |
+ |
+ |
+bool ReturnPattern::IsValid() const { |
+ Instr* jr = Instr::At(pc_); |
+ return (jr->OpcodeField() == SPECIAL) && |
+ (jr->FunctionField() == JR) && |
+ (jr->RsField() == RA); |
+} |
+ |
} // namespace dart |
#endif // defined TARGET_ARCH_MIPS |