Merged r12569 into trunk branch. (issue 10957018)

1 view
Skip to first unread message

ul...@chromium.org

unread,
Sep 20, 2012, 12:10:08 PM9/20/12
to verw...@chromium.org, v8-...@googlegroups.com
Reviewers: Toon Verwaest,

Description:
Merged r12569 into trunk branch.

Fix CNLT for enum indices.

R=verw...@chromium.org


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

SVN Base: https://v8.googlecode.com/svn/trunk

Affected files:
M src/objects.h
M src/version.cc
A + test/mjsunit/regress/regress-cnlt-enum-indices.js


Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index
141db175e97706461bf4d5491c4bd45e8656e4e7..5c607fe349a630919f759171d7060943d75272a6
100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -2528,7 +2528,7 @@ class DescriptorArray: public FixedArray {
Object* object = get(kEnumCacheIndex);
if (object->IsSmi()) return false;
FixedArray* bridge = FixedArray::cast(object);
- return bridge->get(kEnumCacheBridgeIndicesCacheIndex)->IsSmi();
+ return !bridge->get(kEnumCacheBridgeIndicesCacheIndex)->IsSmi();
}

FixedArray* GetEnumIndicesCache() {
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index
477d925f221dc22e6685e3df079ee8649947001f..21e4e6ed84e7c929d2ec90b6c4e602ed8f386ce1
100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
#define MAJOR_VERSION 3
#define MINOR_VERSION 14
#define BUILD_NUMBER 0
-#define PATCH_LEVEL 0
+#define PATCH_LEVEL 1
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
#define IS_CANDIDATE_VERSION 0
Index: test/mjsunit/regress/regress-cnlt-enum-indices.js
diff --git a/test/mjsunit/regress/regress-cntl-descriptors-enum.js
b/test/mjsunit/regress/regress-cnlt-enum-indices.js
similarity index 87%
copy from test/mjsunit/regress/regress-cntl-descriptors-enum.js
copy to test/mjsunit/regress/regress-cnlt-enum-indices.js
index
ee72fafc8a7c67f2b1ab6cc22a734ef8033a5697..03582bbbe424b10487fab13a6473e9b62781845e
100644
--- a/test/mjsunit/regress/regress-cntl-descriptors-enum.js
+++ b/test/mjsunit/regress/regress-cnlt-enum-indices.js
@@ -27,20 +27,19 @@

// Flags: --allow-natives-syntax --expose-gc

-DontEnum = 2;
-
var o = {};
-%SetProperty(o, "a", 0, DontEnum);
-
var o2 = {};
-%SetProperty(o2, "a", 0, DontEnum);

+o.a = 1;
+o2.a = 1;
+function f() { return 10; }
+// Adds a non-field enumerable property.
+Object.defineProperty(o, "b", { get: f, enumerable: true });
+Object.defineProperty(o2, "b", { get: f, enumerable: true });
assertTrue(%HaveSameMap(o, o2));
+o.c = 2;

-o.y = 2;
+for (var x in o) { }
+o = null;

-for (var v in o) { print(v); }
-o = {};
gc();
-
-for (var v in o2) { print(v); }


verw...@chromium.org

unread,
Sep 20, 2012, 12:11:29 PM9/20/12
to ul...@chromium.org, v8-...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages