| Index: src/full-codegen.cc | 
| diff --git a/src/full-codegen.cc b/src/full-codegen.cc | 
| index 4eb10c7431dfd3e29045296a5f4517e6bcf2d119..7509628eb5d0be7b273d25cb8442027df42ea2c2 100644 | 
| --- a/src/full-codegen.cc | 
| +++ b/src/full-codegen.cc | 
| @@ -946,6 +946,11 @@ void FullCodeGenerator::VisitContinueStatement(ContinueStatement* stmt) { | 
| SetStatementPosition(stmt); | 
| NestedStatement* current = nesting_stack_; | 
| int stack_depth = 0; | 
| +  // When continuing, we clobber the unpredictable value in the accumulator | 
| +  // with one that's safe for GC.  If we hit an exit from the try block of | 
| +  // try...finally on our way out, we will unconditionally preserve the | 
| +  // accumulator on the stack. | 
| +  ClearAccumulator(); | 
| while (!current->IsContinueTarget(stmt->target())) { | 
| stack_depth = current->Exit(stack_depth); | 
| current = current->outer(); | 
| @@ -962,6 +967,11 @@ void FullCodeGenerator::VisitBreakStatement(BreakStatement* stmt) { | 
| SetStatementPosition(stmt); | 
| NestedStatement* current = nesting_stack_; | 
| int stack_depth = 0; | 
| +  // When breaking, we clobber the unpredictable value in the accumulator | 
| +  // with one that's safe for GC.  If we hit an exit from the try block of | 
| +  // try...finally on our way out, we will unconditionally preserve the | 
| +  // accumulator on the stack. | 
| +  ClearAccumulator(); | 
| while (!current->IsBreakTarget(stmt->target())) { | 
| stack_depth = current->Exit(stack_depth); | 
| current = current->outer(); | 
| @@ -1235,7 +1245,10 @@ void FullCodeGenerator::VisitTryFinallyStatement(TryFinallyStatement* stmt) { | 
| Visit(stmt->try_block()); | 
| __ PopTryHandler(); | 
| } | 
| -  // Execute the finally block on the way out. | 
| +  // Execute the finally block on the way out.  Clobber the unpredictable | 
| +  // value in the accumulator with one that's safe for GC.  The finally | 
| +  // block will unconditionally preserve the accumulator on the stack. | 
| +  ClearAccumulator(); | 
| __ Call(&finally_entry); | 
| } | 
|  | 
|  |