Index: src/full-codegen/ia32/full-codegen-ia32.cc |
diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc |
index a1da615178ecb87ce8b5af32963428e89eb3c461..8d103ed13b5e03f4d1e3476e25670eaa688ea9d1 100644 |
--- a/src/full-codegen/ia32/full-codegen-ia32.cc |
+++ b/src/full-codegen/ia32/full-codegen-ia32.cc |
@@ -288,37 +288,35 @@ void FullCodeGenerator::Generate() { |
__ CallRuntime(Runtime::kTraceEnter); |
} |
- // Visit the declarations and body unless there is an illegal |
- // redeclaration. |
- if (scope()->HasIllegalRedeclaration()) { |
- EmitIllegalRedeclaration(); |
- } else { |
- PrepareForBailoutForId(BailoutId::FunctionEntry(), NO_REGISTERS); |
- { Comment cmnt(masm_, "[ Declarations"); |
- VisitDeclarations(scope()->declarations()); |
- } |
- |
- // Assert that the declarations do not use ICs. Otherwise the debugger |
- // won't be able to redirect a PC at an IC to the correct IC in newly |
- // recompiled code. |
- DCHECK_EQ(0, ic_total_count_); |
- |
- { Comment cmnt(masm_, "[ Stack check"); |
- PrepareForBailoutForId(BailoutId::Declarations(), NO_REGISTERS); |
- Label ok; |
- ExternalReference stack_limit |
- = ExternalReference::address_of_stack_limit(isolate()); |
- __ cmp(esp, Operand::StaticVariable(stack_limit)); |
- __ j(above_equal, &ok, Label::kNear); |
- __ call(isolate()->builtins()->StackCheck(), RelocInfo::CODE_TARGET); |
- __ bind(&ok); |
- } |
- |
- { Comment cmnt(masm_, "[ Body"); |
- DCHECK(loop_depth() == 0); |
- VisitStatements(literal()->body()); |
- DCHECK(loop_depth() == 0); |
- } |
+ // Visit the declarations and body. |
+ PrepareForBailoutForId(BailoutId::FunctionEntry(), NO_REGISTERS); |
+ { |
+ Comment cmnt(masm_, "[ Declarations"); |
+ VisitDeclarations(scope()->declarations()); |
+ } |
+ |
+ // Assert that the declarations do not use ICs. Otherwise the debugger |
+ // won't be able to redirect a PC at an IC to the correct IC in newly |
+ // recompiled code. |
+ DCHECK_EQ(0, ic_total_count_); |
+ |
+ { |
+ Comment cmnt(masm_, "[ Stack check"); |
+ PrepareForBailoutForId(BailoutId::Declarations(), NO_REGISTERS); |
+ Label ok; |
+ ExternalReference stack_limit = |
+ ExternalReference::address_of_stack_limit(isolate()); |
+ __ cmp(esp, Operand::StaticVariable(stack_limit)); |
+ __ j(above_equal, &ok, Label::kNear); |
+ __ call(isolate()->builtins()->StackCheck(), RelocInfo::CODE_TARGET); |
+ __ bind(&ok); |
+ } |
+ |
+ { |
+ Comment cmnt(masm_, "[ Body"); |
+ DCHECK(loop_depth() == 0); |
+ VisitStatements(literal()->body()); |
+ DCHECK(loop_depth() == 0); |
} |
// Always emit a 'return undefined' in case control fell off the end of |