| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index 0db7424eb26e79887434efc03101d875cbc7a16c..e35fb796a1dd47b9c5ca344874a8c1ca01ded194 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -779,10 +779,11 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
| bool hole_init = mode == CONST || mode == CONST_HARMONY || mode == LET;
|
| switch (variable->location()) {
|
| case Variable::UNALLOCATED:
|
| - globals_->Add(variable->name());
|
| + globals_->Add(variable->name(), zone());
|
| globals_->Add(variable->binding_needs_init()
|
| ? isolate()->factory()->the_hole_value()
|
| - : isolate()->factory()->undefined_value());
|
| + : isolate()->factory()->undefined_value(),
|
| + zone());
|
| break;
|
|
|
| case Variable::PARAMETER:
|
| @@ -837,12 +838,12 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
| Variable* variable = proxy->var();
|
| switch (variable->location()) {
|
| case Variable::UNALLOCATED: {
|
| - globals_->Add(variable->name());
|
| + globals_->Add(variable->name(), zone());
|
| Handle<SharedFunctionInfo> function =
|
| Compiler::BuildFunctionInfo(declaration->fun(), script());
|
| // Check for stack-overflow exception.
|
| if (function.is_null()) return SetStackOverflow();
|
| - globals_->Add(function);
|
| + globals_->Add(function, zone());
|
| break;
|
| }
|
|
|
| @@ -894,8 +895,8 @@ void FullCodeGenerator::VisitModuleDeclaration(ModuleDeclaration* declaration) {
|
| switch (variable->location()) {
|
| case Variable::UNALLOCATED: {
|
| Comment cmnt(masm_, "[ ModuleDeclaration");
|
| - globals_->Add(variable->name());
|
| - globals_->Add(instance);
|
| + globals_->Add(variable->name(), zone());
|
| + globals_->Add(instance, zone());
|
| Visit(declaration->module());
|
| break;
|
| }
|
| @@ -1567,7 +1568,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| // Mark all computed expressions that are bound to a key that
|
| // is shadowed by a later occurrence of the same key. For the
|
| // marked expressions, no store code is emitted.
|
| - expr->CalculateEmitStore();
|
| + expr->CalculateEmitStore(zone());
|
|
|
| AccessorTable accessor_table(isolate()->zone());
|
| for (int i = 0; i < expr->properties()->length(); i++) {
|
|
|