Chromium Code Reviews| Index: runtime/vm/intermediate_language_arm.cc |
| =================================================================== |
| --- runtime/vm/intermediate_language_arm.cc (revision 25778) |
| +++ runtime/vm/intermediate_language_arm.cc (working copy) |
| @@ -1000,15 +1000,20 @@ |
| // this is a redirection address that forces the simulator to call |
| // into the runtime system. |
| uword entry = reinterpret_cast<uword>(native_c_function()); |
| + const ExternalLabel* stub_entry; |
| + if (is_bootstrap_native()) { |
| + stub_entry = &StubCode::CallBootstrapCFunctionLabel(); |
| #if defined(USING_SIMULATOR) |
| - entry = Simulator::RedirectExternalReference(entry, |
| - Simulator::kNativeCall, |
| - function().NumParameters()); |
| + entry = Simulator::RedirectExternalReference( |
| + entry, Simulator::kBootstrapNativeCall, function().NumParameters()); |
| #endif |
| + } else { |
|
regis
2013/08/06 17:01:22
For clarity, I would add a comment explaining that
siva
2013/08/06 19:04:26
Done.
|
| + stub_entry = &StubCode::CallNativeCFunctionLabel(); |
| + } |
| __ LoadImmediate(R5, entry); |
| __ LoadImmediate(R1, NativeArguments::ComputeArgcTag(function())); |
| compiler->GenerateCall(token_pos(), |
| - &StubCode::CallNativeCFunctionLabel(), |
| + stub_entry, |
| PcDescriptors::kOther, |
| locs()); |
| __ Pop(result); |