| 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:
|
|
|