| Index: runtime/vm/intermediate_language.cc
|
| diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
|
| index ab7c878e846a2b9d1be3bdb19ac5608f1ed6a5f1..f4278a505c37358de2f83b9749aa8ef5d5489f68 100644
|
| --- a/runtime/vm/intermediate_language.cc
|
| +++ b/runtime/vm/intermediate_language.cc
|
| @@ -3226,6 +3226,23 @@ void PolymorphicInstanceCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| #endif
|
|
|
|
|
| +Definition* StaticCallInstr::Canonicalize(FlowGraph* flow_graph) {
|
| + if (!FLAG_precompiled_mode) {
|
| + return this;
|
| + }
|
| +
|
| + if (function().recognized_kind() == MethodRecognizer::kObjectRuntimeType) {
|
| + if (input_use_list() == NULL) {
|
| + // This function has only environment uses. In precompiled mode it is
|
| + // fine to remove it - because we will never deoptimize.
|
| + return flow_graph->constant_dead();
|
| + }
|
| + }
|
| +
|
| + return this;
|
| +}
|
| +
|
| +
|
| LocationSummary* StaticCallInstr::MakeLocationSummary(Zone* zone,
|
| bool optimizing) const {
|
| return MakeCallSummary(zone);
|
|
|