| Index: src/x64/full-codegen-x64.cc
 | 
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
 | 
| index cbd6b277bb1b2cb812f3e99e923c4a3b0c6f5a54..fae74603ce252397133e84478c01a55b99d627b9 100644
 | 
| --- a/src/x64/full-codegen-x64.cc
 | 
| +++ b/src/x64/full-codegen-x64.cc
 | 
| @@ -174,10 +174,13 @@ void FullCodeGenerator::Generate() {
 | 
|    // Possibly allocate a local context.
 | 
|    int heap_slots = info->scope()->num_heap_slots() - Context::MIN_CONTEXT_SLOTS;
 | 
|    if (heap_slots > 0) {
 | 
| -    Comment cmnt(masm_, "[ Allocate local context");
 | 
| +    Comment cmnt(masm_, "[ Allocate context");
 | 
|      // Argument to NewContext is the function, which is still in rdi.
 | 
|      __ push(rdi);
 | 
| -    if (heap_slots <= FastNewContextStub::kMaximumSlots) {
 | 
| +    if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
 | 
| +      __ Push(info->scope()->GetScopeInfo());
 | 
| +      __ CallRuntime(Runtime::kNewGlobalContext, 2);
 | 
| +    } else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
 | 
|        FastNewContextStub stub(heap_slots);
 | 
|        __ CallStub(&stub);
 | 
|      } else {
 | 
| 
 |