Index: src/asmjs/asm-wasm-builder.cc |
diff --git a/src/asmjs/asm-wasm-builder.cc b/src/asmjs/asm-wasm-builder.cc |
index 917de8b32349df2f7b64d582630bf800b96ac4c2..3e2b8f5984fd0a52c4919ee4d5bc6c5e45fba17e 100644 |
--- a/src/asmjs/asm-wasm-builder.cc |
+++ b/src/asmjs/asm-wasm-builder.cc |
@@ -101,6 +101,7 @@ |
uint32_t index = LookupOrInsertGlobal(fv->var, fv->type); |
foreign_init_function_->EmitWithVarInt(kExprSetGlobal, index); |
} |
+ foreign_init_function_->Emit(kExprEnd); |
} |
Handle<FixedArray> GetForeignArgs() { |
@@ -131,6 +132,7 @@ |
return false; |
} |
BuildForeignInitFunction(); |
+ init_function_->Emit(kExprEnd); // finish init function. |
return true; |
} |
@@ -543,6 +545,10 @@ |
RECURSE(VisitDeclarations(scope->declarations())); |
if (typer_failed_) return; |
RECURSE(VisitStatements(expr->body())); |
+ if (scope_ == kFuncScope) { |
+ // Finish the function-body scope block. |
+ current_function_builder_->Emit(kExprEnd); |
+ } |
} |
void VisitNativeFunctionLiteral(NativeFunctionLiteral* expr) { |