| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index e29d834de110d0b616732f725ea8d8b51b84fa73..9921f074c9131814673780729061cf34a017abf9 100644
|
| --- a/src/ia32/code-stubs-ia32.cc
|
| +++ b/src/ia32/code-stubs-ia32.cc
|
| @@ -5038,12 +5038,17 @@ void CEntryStub::GenerateCore(MacroAssembler* masm,
|
| __ dec(Operand::StaticVariable(scope_depth));
|
| }
|
|
|
| - // Make sure we're not trying to return 'the hole' from the runtime
|
| - // call as this may lead to crashes in the IC code later.
|
| + // Runtime functions should not return 'the hole'. Allowing it to escape may
|
| + // lead to crashes in the IC code later.
|
| if (FLAG_debug_code) {
|
| Label okay;
|
| __ cmp(eax, masm->isolate()->factory()->the_hole_value());
|
| __ j(not_equal, &okay, Label::kNear);
|
| + // TODO(wingo): Currently SuspendJSGeneratorObject returns the hole. Change
|
| + // to return another sentinel like a harmony symbol.
|
| + __ cmp(ebx, Immediate(ExternalReference(
|
| + Runtime::kSuspendJSGeneratorObject, masm->isolate())));
|
| + __ j(equal, &okay, Label::kNear);
|
| __ int3();
|
| __ bind(&okay);
|
| }
|
|
|