deps: upgrade V8 to 4.5.103.33
authorAli Ijaz Sheikh <ofrobots@google.com>
Tue, 15 Sep 2015 00:16:54 +0000 (17:16 -0700)
committerJeremiah Senkpiel <fishrock123@rocketmail.com>
Tue, 15 Sep 2015 17:53:37 +0000 (13:53 -0400)
This brings in the patches from 4.5.103.30...4.5.103.33 fixing the issue with
computed property names not working in nested literals.

Full V8 4.5 commit log at:
https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/4.5

Fixes: https://github.com/nodejs/node/issues/2507
PR-URL: https://github.com/nodejs/node/pull/2870
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: targos - Michaƫl Zasso <mic.besace@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: fishrock123 - Jeremiah Senkpiel <fishrock123@rocketmail.com>
deps/v8/build/features.gypi
deps/v8/codereview.settings
deps/v8/include/v8-version.h
deps/v8/src/ast.cc
deps/v8/test/mjsunit/harmony/computed-property-names.js

index 0e26969..59d1513 100644 (file)
       'DebugBaseCommon': {
         'abstract': 1,
         'variables': {
-          'v8_enable_handle_zapping%': 0,
+          'v8_enable_handle_zapping%': 1,
         },
         'conditions': [
           ['v8_enable_handle_zapping==1', {
       },  # Debug
       'Release': {
         'variables': {
-          'v8_enable_handle_zapping%': 1,
+          'v8_enable_handle_zapping%': 0,
         },
         'conditions': [
           ['v8_enable_handle_zapping==1', {
index 7c4dd8e..532e4b4 100644 (file)
@@ -1,5 +1,5 @@
 CODE_REVIEW_SERVER: https://codereview.chromium.org
-CC_LIST: v8-dev@googlegroups.com
+CC_LIST: v8-reviews@googlegroups.com
 VIEW_VC: https://chromium.googlesource.com/v8/v8/+/
 STATUS: http://v8-status.appspot.com/status
 TRY_ON_UPLOAD: False
index a2dc5b0..56ef22b 100644 (file)
@@ -11,7 +11,7 @@
 #define V8_MAJOR_VERSION 4
 #define V8_MINOR_VERSION 5
 #define V8_BUILD_NUMBER 103
-#define V8_PATCH_LEVEL 30
+#define V8_PATCH_LEVEL 33
 
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
index e52504a..ec74e4a 100644 (file)
@@ -441,6 +441,7 @@ void ObjectLiteral::BuildConstantProperties(Isolate* isolate) {
 
     if (position == boilerplate_properties_ * 2) {
       DCHECK(property->is_computed_name());
+      is_simple = false;
       break;
     }
     DCHECK(!property->is_computed_name());
index 36e1411..a559159 100644 (file)
@@ -300,3 +300,59 @@ function ID(x) {
     };
   }, MyError);
 })();
+
+
+(function TestNestedLiterals() {
+  var array = [
+    42,
+    { a: 'A',
+      ['b']: 'B',
+      c: 'C',
+      [ID('d')]: 'D',
+    },
+    43,
+  ];
+  assertEquals(42, array[0]);
+  assertEquals(43, array[2]);
+  assertEquals('A', array[1].a);
+  assertEquals('B', array[1].b);
+  assertEquals('C', array[1].c);
+  assertEquals('D', array[1].d);
+  var object = {
+    outer: 42,
+    inner: {
+      a: 'A',
+      ['b']: 'B',
+      c: 'C',
+      [ID('d')]: 'D',
+    },
+    outer2: 43,
+  };
+  assertEquals(42, object.outer);
+  assertEquals(43, object.outer2);
+  assertEquals('A', object.inner.a);
+  assertEquals('B', object.inner.b);
+  assertEquals('C', object.inner.c);
+  assertEquals('D', object.inner.d);
+  var object = {
+    outer: 42,
+    array: [
+      43,
+      { a: 'A',
+        ['b']: 'B',
+        c: 'C',
+        [ID('d')]: 'D',
+      },
+      44,
+    ],
+    outer2: 45
+  };
+  assertEquals(42, object.outer);
+  assertEquals(45, object.outer2);
+  assertEquals(43, object.array[0]);
+  assertEquals(44, object.array[2]);
+  assertEquals('A', object.array[1].a);
+  assertEquals('B', object.array[1].b);
+  assertEquals('C', object.array[1].c);
+  assertEquals('D', object.array[1].d);
+})();