Index: src/compiler/operator-properties.cc |
diff --git a/src/compiler/operator-properties.cc b/src/compiler/operator-properties.cc |
index cfff869c4470e36103a168484e5b0bcf2c3004d3..2078abf450e763391cb077b5eeb68c93e9a74b8e 100644 |
--- a/src/compiler/operator-properties.cc |
+++ b/src/compiler/operator-properties.cc |
@@ -42,6 +42,11 @@ int OperatorProperties::GetFrameStateInputCount(const Operator* op) { |
case IrOpcode::kJSDivide: |
case IrOpcode::kJSModulus: |
+ // Bitwise operations |
+ case IrOpcode::kJSBitwiseOr: |
+ case IrOpcode::kJSBitwiseXor: |
+ case IrOpcode::kJSBitwiseAnd: |
+ |
// Shift operations |
case IrOpcode::kJSShiftLeft: |
case IrOpcode::kJSShiftRight: |
@@ -96,14 +101,6 @@ int OperatorProperties::GetFrameStateInputCount(const Operator* op) { |
case IrOpcode::kJSStackCheck: |
return 1; |
- // Binary operators that can deopt in the middle the operation (e.g., |
- // as a result of lazy deopt in ToNumber conversion) need a second frame |
- // state so that we can resume before the operation. |
- case IrOpcode::kJSBitwiseAnd: |
- case IrOpcode::kJSBitwiseOr: |
- case IrOpcode::kJSBitwiseXor: |
- return 2; |
- |
default: |
return 0; |
} |