Index: src/hydrogen-instructions.cc |
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc |
index bc7b2ce3b5c288c57bae395ad296022ebf70ef4f..0f28c31e397249551b81ab28a75099234785b698 100644 |
--- a/src/hydrogen-instructions.cc |
+++ b/src/hydrogen-instructions.cc |
@@ -783,6 +783,9 @@ void HInstruction::Verify() { |
bool HInstruction::CanDeoptimize() { |
// TODO(titzer): make this a virtual method? |
+ // TODO(all): Some of these may be incorrect, since any method that can |
+ // collect can provoke lazy deoptimization. Methods like CallNew can |
+ // certainly do that. |
switch (opcode()) { |
case HValue::kAbnormalExit: |
case HValue::kAccessArgumentsAt: |
@@ -796,7 +799,6 @@ bool HInstruction::CanDeoptimize() { |
case HValue::kCallNew: |
case HValue::kCallNewArray: |
case HValue::kCallStub: |
- case HValue::kCallWithDescriptor: |
case HValue::kCapturedObject: |
case HValue::kClassOfTestAndBranch: |
case HValue::kCompareGeneric: |
@@ -863,6 +865,7 @@ bool HInstruction::CanDeoptimize() { |
case HValue::kBranch: |
case HValue::kCallJSFunction: |
case HValue::kCallRuntime: |
+ case HValue::kCallWithDescriptor: |
case HValue::kChange: |
case HValue::kCheckHeapObject: |
case HValue::kCheckInstanceType: |