Reviewers: Michael Starzinger,
Description:
Revert "Include symbol properties in Object.{create,defineProperties}"
TBR=mstarzin...@chromium.org
BUG=
Please review this at https://codereview.chromium.org/394443002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+3, -39 lines):
M src/v8natives.js
M test/mjsunit/es6/symbols.js
Index: src/v8natives.js
diff --git a/src/v8natives.js b/src/v8natives.js
index
7aea599de4c80711c268c8488e12d3122cf36da1..5ffff2ecacd9f789d475595aa506c3093d20bfe4
100644
--- a/src/v8natives.js
+++ b/src/v8natives.js
@@ -1171,21 +1171,13 @@ function ObjectDefineProperty(obj, p, attributes) {
}
-function GetOwnEnumerablePropertyNames(object) {
+function GetOwnEnumerablePropertyNames(properties) {
var names = new InternalArray();
- for (var key in object) {
- if (%HasOwnProperty(object, key)) {
+ for (var key in properties) {
+ if (%HasOwnProperty(properties, key)) {
names.push(key);
}
}
- // FLAG_harmony_symbols may be on, but symbols aren't included by for-in.
- var symbols = ObjectGetOwnPropertyKeys(object, true);
- for (var i in symbols) {
- var symbol = symbols[i];
- if (ObjectGetOwnPropertyDescriptor(object, symbol).enumerable) {
- names.push(symbol);
- }
- }
return names;
}
Index: test/mjsunit/es6/symbols.js
diff --git a/test/mjsunit/es6/symbols.js b/test/mjsunit/es6/symbols.js
index
b465bee14a9b4630af3eb56be4bf18ccf008fc9c..220439291cb86125aee42f5ef5f76724f6d07766
100644
--- a/test/mjsunit/es6/symbols.js
+++ b/test/mjsunit/es6/symbols.js
@@ -367,34 +367,6 @@ for (var i in objs) {
}
-function TestDefineProperties() {
- var properties = {}
- for (var i in symbols) {
- Object.defineProperty(
- properties, symbols[i], {value: {value: i}, enumerable: i % 2 ===
0})
- }
- var o = Object.defineProperties({}, properties)
- for (var i in symbols) {
- assertEquals(i % 2 === 0, symbols[i] in o)
- }
-}
-TestDefineProperties()
-
-
-function TestCreate() {
- var properties = {}
- for (var i in symbols) {
- Object.defineProperty(
- properties, symbols[i], {value: {value: i}, enumerable: i % 2 === 0})
- }
- var o = Object.create(Object.prototype, properties)
- for (var i in symbols) {
- assertEquals(i % 2 === 0, symbols[i] in o)
- }
-}
-TestCreate()
-
-
function TestCachedKeyAfterScavenge() {
gc();
// Keyed property lookup are cached. Hereby we assume that the keys are
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.