| Index: src/full-codegen.cc | 
| diff --git a/src/full-codegen.cc b/src/full-codegen.cc | 
| index 1a60f33d8f1736f59c37776b5f1eb124e2ea6e76..0c82eb3d82b0186c5f061273b351836742d1da7b 100644 | 
| --- a/src/full-codegen.cc | 
| +++ b/src/full-codegen.cc | 
| @@ -1052,7 +1052,9 @@ void FullCodeGenerator::VisitBlock(Block* stmt) { | 
|  | 
| Scope* saved_scope = scope(); | 
| // Push a block context when entering a block with block scoped variables. | 
| -  if (stmt->scope() != NULL) { | 
| +  if (stmt->scope() == NULL) { | 
| +    PrepareForBailoutForId(stmt->EntryId(), NO_REGISTERS); | 
| +  } else { | 
| scope_ = stmt->scope(); | 
| ASSERT(!scope_->is_module_scope()); | 
| { Comment cmnt(masm_, "[ Extend block context"); | 
| @@ -1063,17 +1065,17 @@ void FullCodeGenerator::VisitBlock(Block* stmt) { | 
| // Replace the context stored in the frame. | 
| StoreToFrameField(StandardFrameConstants::kContextOffset, | 
| context_register()); | 
| +      PrepareForBailoutForId(stmt->EntryId(), NO_REGISTERS); | 
| } | 
| { Comment cmnt(masm_, "[ Declarations"); | 
| VisitDeclarations(scope_->declarations()); | 
| +      PrepareForBailoutForId(stmt->DeclsId(), NO_REGISTERS); | 
| } | 
| } | 
|  | 
| -  PrepareForBailoutForId(stmt->EntryId(), NO_REGISTERS); | 
| VisitStatements(stmt->statements()); | 
| scope_ = saved_scope; | 
| __ bind(nested_block.break_label()); | 
| -  PrepareForBailoutForId(stmt->ExitId(), NO_REGISTERS); | 
|  | 
| // Pop block context if necessary. | 
| if (stmt->scope() != NULL) { | 
| @@ -1082,6 +1084,7 @@ void FullCodeGenerator::VisitBlock(Block* stmt) { | 
| StoreToFrameField(StandardFrameConstants::kContextOffset, | 
| context_register()); | 
| } | 
| +  PrepareForBailoutForId(stmt->ExitId(), NO_REGISTERS); | 
| } | 
|  | 
|  | 
|  |