| Index: src/hydrogen-instructions.cc
|
| diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc
|
| index 7598d61cb683f37e2ccf7cd79cee03b65f6faca8..a6766a6e214191c4763ef01769861a448cd94bb9 100644
|
| --- a/src/hydrogen-instructions.cc
|
| +++ b/src/hydrogen-instructions.cc
|
| @@ -780,6 +780,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:
|
| @@ -793,7 +796,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:
|
| @@ -859,6 +861,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:
|
|
|