Chromium Code Reviews| Index: runtime/vm/intermediate_language_ia32.cc |
| diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc |
| index c90b2c52d8fd2e0f4dbb60b6c3854b37104c1130..c3f905ded2b672a51a4838c9bd1bc7ffa6f95576 100644 |
| --- a/runtime/vm/intermediate_language_ia32.cc |
| +++ b/runtime/vm/intermediate_language_ia32.cc |
| @@ -845,20 +845,17 @@ void NativeCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| __ movl(EDX, Immediate(argc_tag)); |
| const StubEntry* stub_entry; |
| - if (link_lazily()) { |
| - stub_entry = StubCode::CallBootstrapCFunction_entry(); |
| - __ movl(ECX, Immediate(NativeEntry::LinkNativeCallEntry())); |
| - compiler->GeneratePatchableCall(token_pos(), *stub_entry, |
| - RawPcDescriptors::kOther, locs()); |
| - } else { |
| - stub_entry = (is_bootstrap_native()) |
| - ? StubCode::CallBootstrapCFunction_entry() |
| - : StubCode::CallNativeCFunction_entry(); |
| - const ExternalLabel label(reinterpret_cast<uword>(native_c_function())); |
| - __ movl(ECX, Immediate(label.address())); |
| - compiler->GenerateCall(token_pos(), *stub_entry, RawPcDescriptors::kOther, |
| - locs()); |
| - } |
| + |
| + // There is no lazy-linking support on ia32. |
| + ASSERT(!link_lazily()); |
|
kustermann
2016/11/16 21:03:12
This property is guaranteed in flow_graph_compiler
Florian Schneider
2016/11/16 21:08:28
We have a test that runs with this flag on all pla
kustermann
2016/11/16 21:12:13
But the code emitted will simply not work, because
Florian Schneider
2016/11/16 21:25:02
Oh ok. Right. Then it's fine to add the assertion
|
| + stub_entry = (is_bootstrap_native()) |
| + ? StubCode::CallBootstrapCFunction_entry() |
| + : StubCode::CallNativeCFunction_entry(); |
| + const ExternalLabel label(reinterpret_cast<uword>(native_c_function())); |
| + __ movl(ECX, Immediate(label.address())); |
| + compiler->GenerateCall(token_pos(), *stub_entry, RawPcDescriptors::kOther, |
| + locs()); |
| + |
| __ popl(result); |
| } |