Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Side by Side Diff: src/scopeinfo.cc

Issue 653603002: Try to fix cross-script global scope (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/runtime.cc ('k') | src/scopes.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdlib.h> 5 #include <stdlib.h>
6 6
7 #include "src/v8.h" 7 #include "src/v8.h"
8 8
9 #include "src/scopeinfo.h" 9 #include "src/scopeinfo.h"
10 #include "src/scopes.h" 10 #include "src/scopes.h"
11 11
12 namespace v8 { 12 namespace v8 {
13 namespace internal { 13 namespace internal {
14 14
15 15
16 Handle<ScopeInfo> ScopeInfo::Create(Scope* scope, Zone* zone) { 16 Handle<ScopeInfo> ScopeInfo::Create(Scope* scope, Zone* zone) {
17 ASSERT(!scope->is_script_scope());
18
17 // Collect stack and context locals. 19 // Collect stack and context locals.
18 ZoneList<Variable*> stack_locals(scope->StackLocalCount(), zone); 20 ZoneList<Variable*> stack_locals(scope->StackLocalCount(), zone);
19 ZoneList<Variable*> context_locals(scope->ContextLocalCount(), zone); 21 ZoneList<Variable*> context_locals(scope->ContextLocalCount(), zone);
20 scope->CollectStackAndContextLocals(&stack_locals, &context_locals); 22 scope->CollectStackAndContextLocals(&stack_locals, &context_locals);
21 const int stack_local_count = stack_locals.length(); 23 const int stack_local_count = stack_locals.length();
22 const int context_local_count = context_locals.length(); 24 const int context_local_count = context_locals.length();
23 // Make sure we allocate the correct amount. 25 // Make sure we allocate the correct amount.
24 ASSERT(scope->StackLocalCount() == stack_local_count); 26 ASSERT(scope->StackLocalCount() == stack_local_count);
25 ASSERT(scope->ContextLocalCount() == context_local_count); 27 ASSERT(scope->ContextLocalCount() == context_local_count);
26 28
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 } else { 550 } else {
549 ASSERT(var->index() >= 0); 551 ASSERT(var->index() >= 0);
550 info->set_index(i, var->index()); 552 info->set_index(i, var->index());
551 } 553 }
552 } 554 }
553 ASSERT(i == info->length()); 555 ASSERT(i == info->length());
554 return info; 556 return info;
555 } 557 }
556 558
557 } } // namespace v8::internal 559 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/runtime.cc ('k') | src/scopes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698