| Index: runtime/vm/code_patcher_arm.cc
|
| ===================================================================
|
| --- runtime/vm/code_patcher_arm.cc (revision 19826)
|
| +++ runtime/vm/code_patcher_arm.cc (working copy)
|
| @@ -33,7 +33,8 @@
|
| const Code& code,
|
| uword new_target) {
|
| ASSERT(code.ContainsInstructionAt(return_address));
|
| - UNIMPLEMENTED();
|
| + CallPattern call(return_address, code);
|
| + call.SetTargetAddress(new_target);
|
| }
|
|
|
|
|
| @@ -47,13 +48,20 @@
|
| ICData* ic_data,
|
| Array* arguments_descriptor) {
|
| ASSERT(code.ContainsInstructionAt(return_address));
|
| - UNIMPLEMENTED();
|
| - return 0;
|
| + CallPattern call(return_address, code);
|
| + if (ic_data != NULL) {
|
| + *ic_data = call.IcData();
|
| + }
|
| + if (arguments_descriptor != NULL) {
|
| + *arguments_descriptor = call.ArgumentsDescriptor();
|
| + }
|
| + return call.TargetAddress();
|
| }
|
|
|
|
|
| intptr_t CodePatcher::InstanceCallSizeInBytes() {
|
| - UNIMPLEMENTED();
|
| + // The instance call instruction sequence has a variable size on ARM.
|
| + UNREACHABLE();
|
| return 0;
|
| }
|
|
|
|
|