From 4fbd3757244c84c9ac1b8cbeda5d4b531a059a4c Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Tue, 19 Apr 2016 17:13:11 -0700 Subject: [PATCH] deps: upgrade to V8 5.0.71.33 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This picks up the fix for harmony-regexp-properties being enabled without a flag. V8-Commit: https://github.com/v8/v8/commit/27ac008 Fixes: https://github.com/nodejs/node/issues/6251 PR-URL: https://github.com/nodejs/node/pull/6290 Reviewed-By: jasnell - James M Snell Reviewed-By: ChALkeR - Сковорода Никита Андреевич Reviewed-By: indutny - Fedor Indutny Reviewed-By: targos - Michaël Zasso Reviewed-By: jbergstroem - Johan Bergström Reviewed-By: cjihrig - Colin Ihrig --- deps/v8/include/v8-version.h | 2 +- deps/v8/src/regexp/regexp-parser.cc | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 3d41a2cb3f..1c3e60f95e 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 5 #define V8_MINOR_VERSION 0 #define V8_BUILD_NUMBER 71 -#define V8_PATCH_LEVEL 32 +#define V8_PATCH_LEVEL 33 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/regexp/regexp-parser.cc b/deps/v8/src/regexp/regexp-parser.cc index 2fe6fde82a..46c593c264 100644 --- a/deps/v8/src/regexp/regexp-parser.cc +++ b/deps/v8/src/regexp/regexp-parser.cc @@ -358,13 +358,17 @@ RegExpTree* RegExpParser::ParseDisjunction() { uc32 p = Next(); Advance(2); if (unicode()) { - ZoneList* ranges = ParsePropertyClass(); - if (ranges == nullptr) { - return ReportError(CStrVector("Invalid property name")); + if (FLAG_harmony_regexp_property) { + ZoneList* ranges = ParsePropertyClass(); + if (ranges == nullptr) { + return ReportError(CStrVector("Invalid property name")); + } + RegExpCharacterClass* cc = + new (zone()) RegExpCharacterClass(ranges, p == 'P'); + builder->AddCharacterClass(cc); + } else { + return ReportError(CStrVector("Invalid escape")); } - RegExpCharacterClass* cc = - new (zone()) RegExpCharacterClass(ranges, p == 'P'); - builder->AddCharacterClass(cc); } else { builder->AddCharacter(p); }