Reviewers: danno,

Description:
Merged r10582 into 3.7 branch.

Do not ignore an empty context with extension when creating a scope object.

BUG=crbug.com/107996

[email protected]
TEST=


Please review this at https://chromiumcodereview.appspot.com/9307053/

SVN Base: https://v8.googlecode.com/svn/branches/3.7

Affected files:
  M src/scopes.cc
  M src/version.cc


Index: src/scopes.cc
diff --git a/src/scopes.cc b/src/scopes.cc
index d41a0da3104f950f8d3e5104409a3198cd0e5a40..ad8b6a5e5e072dffc5ea95608f96e6a96b83b323 100644
--- a/src/scopes.cc
+++ b/src/scopes.cc
@@ -148,12 +148,10 @@ Scope::Scope(Scope* inner_scope,
   SetDefaults(type, NULL, scope_info);
   if (!scope_info.is_null()) {
     num_heap_slots_ = scope_info_->ContextLength();
-    if (*scope_info != ScopeInfo::Empty()) {
-      language_mode_ = scope_info->language_mode();
-    }
-  } else if (is_with_scope()) {
-    num_heap_slots_ = Context::MIN_CONTEXT_SLOTS;
   }
+  // Ensure at least MIN_CONTEXT_SLOTS to indicate a materialized context.
+  num_heap_slots_ = Max(num_heap_slots_,
+                        static_cast<int>(Context::MIN_CONTEXT_SLOTS));
   AddInnerScope(inner_scope);
 }

Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 9236cc7352923c80ffb2bef411745530c67d5fae..b86fd103d27eca48153d64aaec48a1ec7801cb88 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     7
 #define BUILD_NUMBER      12
-#define PATCH_LEVEL       21
+#define PATCH_LEVEL       22
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to