Index: runtime/vm/code_patcher_mips.cc |
diff --git a/runtime/vm/code_patcher_mips.cc b/runtime/vm/code_patcher_mips.cc |
index 4c8ab992fafd61062fb1a36ccd494d96d867d327..a4d0433a09944eae1a17eb3e4eb000b70f30b76e 100644 |
--- a/runtime/vm/code_patcher_mips.cc |
+++ b/runtime/vm/code_patcher_mips.cc |
@@ -69,15 +69,29 @@ RawFunction* CodePatcher::GetUnoptimizedStaticCallAt( |
void CodePatcher::PatchSwitchableCallAt(uword return_address, |
- const Code& code, |
- const ICData& ic_data, |
- const MegamorphicCache& cache, |
- const Code& lookup_stub) { |
- ASSERT(code.ContainsInstructionAt(return_address)); |
- SwitchableCallPattern call(return_address, code); |
- ASSERT(call.cache() == ic_data.raw()); |
- call.SetLookupStub(lookup_stub); |
- call.SetCache(cache); |
+ const Code& caller_code, |
+ const Object& data, |
+ const Code& target) { |
+ ASSERT(caller_code.ContainsInstructionAt(return_address)); |
+ SwitchableCallPattern call(return_address, caller_code); |
+ call.SetData(data); |
+ call.SetTarget(target); |
+} |
+ |
+ |
+RawCode* CodePatcher::GetSwitchableCallTargetAt(uword return_address, |
+ const Code& caller_code) { |
+ ASSERT(caller_code.ContainsInstructionAt(return_address)); |
+ SwitchableCallPattern call(return_address, caller_code); |
+ return call.target(); |
+} |
+ |
+ |
+RawObject* CodePatcher::GetSwitchableCallDataAt(uword return_address, |
+ const Code& caller_code) { |
+ ASSERT(caller_code.ContainsInstructionAt(return_address)); |
+ SwitchableCallPattern call(return_address, caller_code); |
+ return call.data(); |
} |