| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 0019b6d578c803af9f19376d253cfc8945165ef6..48043e62f815a351c1e189ca0b1e46d449a40703 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -5291,8 +5291,11 @@
|
| DCHECK(!HasStackOverflow());
|
| DCHECK(current_block() != NULL);
|
| DCHECK(current_block()->HasPredecessor());
|
| - Handle<SharedFunctionInfo> shared_info = Compiler::GetSharedFunctionInfo(
|
| - expr, current_info()->script(), top_info());
|
| + Handle<SharedFunctionInfo> shared_info = expr->shared_info();
|
| + if (shared_info.is_null()) {
|
| + shared_info =
|
| + Compiler::BuildFunctionInfo(expr, current_info()->script(), top_info());
|
| + }
|
| // We also have a stack overflow if the recursive compilation did.
|
| if (HasStackOverflow()) return;
|
| HFunctionLiteral* instr =
|
| @@ -11666,7 +11669,7 @@
|
| switch (variable->location()) {
|
| case Variable::UNALLOCATED: {
|
| globals_.Add(variable->name(), zone());
|
| - Handle<SharedFunctionInfo> function = Compiler::GetSharedFunctionInfo(
|
| + Handle<SharedFunctionInfo> function = Compiler::BuildFunctionInfo(
|
| declaration->fun(), current_info()->script(), top_info());
|
| // Check for stack-overflow exception.
|
| if (function.is_null()) return SetStackOverflow();
|
|
|