From 85ed098c25c7b69a254005bd660778c37ef047a1 Mon Sep 17 00:00:00 2001 From: mbrandy Date: Mon, 6 Jul 2015 12:22:23 -0700 Subject: [PATCH] PPC: Fix "Support for global var shortcuts in script contexts." R=ishell@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1212343007 Cr-Commit-Position: refs/heads/master@{#29502} --- src/ppc/full-codegen-ppc.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ppc/full-codegen-ppc.cc b/src/ppc/full-codegen-ppc.cc index 2175863..d444417 100644 --- a/src/ppc/full-codegen-ppc.cc +++ b/src/ppc/full-codegen-ppc.cc @@ -2746,7 +2746,7 @@ void FullCodeGenerator::EmitStoreToStackLocalOrContextSlot( void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op, FeedbackVectorICSlot slot) { - if (var->IsUnallocated()) { + if (var->IsUnallocatedOrGlobalSlot()) { // Global var, const, or let. __ mov(StoreDescriptor::NameRegister(), Operand(var->name())); __ LoadP(StoreDescriptor::ReceiverRegister(), GlobalObjectOperand()); @@ -4846,7 +4846,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) { // "delete this" is allowed. bool is_this = var->HasThisName(isolate()); DCHECK(is_sloppy(language_mode()) || is_this); - if (var->IsUnallocated()) { + if (var->IsUnallocatedOrGlobalSlot()) { __ LoadP(r5, GlobalObjectOperand()); __ mov(r4, Operand(var->name())); __ LoadSmiLiteral(r3, Smi::FromInt(SLOPPY)); @@ -5202,7 +5202,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) { DCHECK(!context()->IsEffect()); DCHECK(!context()->IsTest()); VariableProxy* proxy = expr->AsVariableProxy(); - if (proxy != NULL && proxy->var()->IsUnallocated()) { + if (proxy != NULL && proxy->var()->IsUnallocatedOrGlobalSlot()) { Comment cmnt(masm_, "[ Global variable"); __ LoadP(LoadDescriptor::ReceiverRegister(), GlobalObjectOperand()); __ mov(LoadDescriptor::NameRegister(), Operand(proxy->name())); -- 2.7.4