Index: runtime/vm/jit_optimizer.cc |
diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc |
index dd23e57bd19715f01ea4ce4c9e97d6df971f4cff..36eee23ef8526bb69ffdf6cce5834e009284359d 100644 |
--- a/runtime/vm/jit_optimizer.cc |
+++ b/runtime/vm/jit_optimizer.cc |
@@ -1897,6 +1897,18 @@ bool JitOptimizer::TryInlineInstanceMethod(InstanceCallInstr* call) { |
return TryInlineFloat64x2Method(call, recognized_kind); |
} |
+ if (recognized_kind == MethodRecognizer::kSmi_bitAndFromSmi) { |
+ AddReceiverCheck(call); |
+ BinarySmiOpInstr* op = |
+ new(Z) BinarySmiOpInstr( |
+ Token::kBIT_AND, |
+ new(Z) Value(call->ArgumentAt(0)), |
+ new(Z) Value(call->ArgumentAt(1)), |
+ call->deopt_id()); |
+ ReplaceCall(call, op); |
+ return true; |
+ } |
+ |
return false; |
} |