diff options
Diffstat (limited to 'deps/v8/src/full-codegen.cc')
-rw-r--r-- | deps/v8/src/full-codegen.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/deps/v8/src/full-codegen.cc b/deps/v8/src/full-codegen.cc index dc646b1a98..bad634cf3f 100644 --- a/deps/v8/src/full-codegen.cc +++ b/deps/v8/src/full-codegen.cc @@ -163,6 +163,12 @@ void BreakableStatementChecker::VisitForInStatement(ForInStatement* stmt) { } +void BreakableStatementChecker::VisitForOfStatement(ForOfStatement* stmt) { + // For-of is breakable because of the next() call. + is_breakable_ = true; +} + + void BreakableStatementChecker::VisitTryCatchStatement( TryCatchStatement* stmt) { // Mark try catch as breakable to avoid adding a break slot in front of it. @@ -304,10 +310,7 @@ bool FullCodeGenerator::MakeCode(CompilationInfo* info) { int len = String::cast(script->source())->length(); isolate->counters()->total_full_codegen_source_size()->Increment(len); } - if (FLAG_trace_codegen) { - PrintF("Full Compiler - "); - } - CodeGenerator::MakeCodePrologue(info); + CodeGenerator::MakeCodePrologue(info, "full"); const int kInitialBufferSize = 4 * KB; MacroAssembler masm(info->isolate(), NULL, kInitialBufferSize); #ifdef ENABLE_GDB_JIT_INTERFACE @@ -923,10 +926,10 @@ void FullCodeGenerator::EmitInlineRuntimeCall(CallRuntime* expr) { } -void FullCodeGenerator::EmitGeneratorSend(CallRuntime* expr) { +void FullCodeGenerator::EmitGeneratorNext(CallRuntime* expr) { ZoneList<Expression*>* args = expr->arguments(); ASSERT(args->length() == 2); - EmitGeneratorResume(args->at(0), args->at(1), JSGeneratorObject::SEND); + EmitGeneratorResume(args->at(0), args->at(1), JSGeneratorObject::NEXT); } |