| 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();
|
| }
|
|
|
|
|
|
|