Reviewers: iposva, Message: TBR=iposva
Description: Update comment and add assert. Fix typo where underscore is used instead of a dash. Please review this at http://codereview.chromium.org/16238 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/codegen-ia32.cc M src/objects.h Index: src/objects.h =================================================================== --- src/objects.h (revision 1015) +++ src/objects.h (working copy) @@ -48,7 +48,7 @@ // - GlobalObject // - JSGlobalObject // - JSBuiltinsObject -// _ JSGlobalProxy +// - JSGlobalProxy // - JSValue // - Script // - Array Index: src/codegen-ia32.cc =================================================================== --- src/codegen-ia32.cc (revision 1015) +++ src/codegen-ia32.cc (working copy) @@ -3875,6 +3875,8 @@ // distinction between expressions in a typeof and not in a // typeof. Variable* var = expression_->AsVariableProxy()->AsVariable(); + bool is_global = var != NULL; + ASSERT(!is_global || var->is_global()); // Inline array load code if inside of a loop. We do not know // the receiver map yet, so we initially generate the code with // a check against an invalid map. In the inline cache code, we @@ -3882,11 +3884,12 @@ if (cgen_->loop_nesting() > 0) { Comment cmnt(masm, "[ Inlined array index load"); DeferredReferenceGetKeyedValue* deferred = - new DeferredReferenceGetKeyedValue(cgen_, var != NULL); + new DeferredReferenceGetKeyedValue(cgen_, is_global); // Load receiver and check that it is not a smi (only needed - // if not contextual) and that it has the expected map. + // if this is not a load from the global context) and that it + // has the expected map. __ mov(edx, Operand(esp, kPointerSize)); - if (var == NULL) { + if (!is_global) { __ test(edx, Immediate(kSmiTagMask)); __ j(zero, deferred->enter(), not_taken); } @@ -3921,8 +3924,7 @@ } else { Comment cmnt(masm, "[ Load from keyed Property"); Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Initialize)); - if (var != NULL) { - ASSERT(var->is_global()); + if (is_global) { __ call(ic, RelocInfo::CODE_TARGET_CONTEXT); } else { __ call(ic, RelocInfo::CODE_TARGET); --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
