-- cgit v1.2.3 From 97b28ef7b8f407509e7a9405c9f20149f308c9a1 Mon Sep 17 00:00:00 2001 From: "danno@chromium.org" Date: Fri, 6 Dec 2013 15:51:03 +0000 Subject: Merged r18234 into 3.23 branch. Disable escape analysis. R=ulan@chromium.org, verwaest@chromium.org Review URL: https://codereview.chromium.org/99693003 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/flag-definitions.h | 2 +- src/version.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/flag-definitions.h b/src/flag-definitions.h index 63bbd2f4d..405a35156 100644 --- a/src/flag-definitions.h +++ b/src/flag-definitions.h @@ -242,7 +242,7 @@ DEFINE_bool(use_range, true, "use hydrogen range analysis") DEFINE_bool(use_gvn, true, "use hydrogen global value numbering") DEFINE_bool(use_canonicalizing, true, "use hydrogen instruction canonicalizing") DEFINE_bool(use_inlining, true, "use function inlining") -DEFINE_bool(use_escape_analysis, true, "use hydrogen escape analysis") +DEFINE_bool(use_escape_analysis, false, "use hydrogen escape analysis") DEFINE_bool(use_allocation_folding, true, "use allocation folding") DEFINE_int(max_inlining_levels, 5, "maximum number of inlining levels") DEFINE_int(max_inlined_source_size, 600, diff --git a/src/version.cc b/src/version.cc index fee352e2a..4c573323d 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#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 -- cgit v1.2.3 From 41b0316e438840d32c44e330cadf1164921c2a76 Mon Sep 17 00:00:00 2001 From: "danno@chromium.org" Date: Fri, 6 Dec 2013 15:58:07 +0000 Subject: Merged r18241 into 3.23 branch. Check whether the receiver to a keyed-call is actually a heapobject. LOG=N BUG=325225 R=ulan@chromium.org Review URL: https://codereview.chromium.org/102803004 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/code-stubs-hydrogen.cc | 1 + src/version.cc | 2 +- test/mjsunit/regress/regress-crbug-325225.js | 46 ++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 test/mjsunit/regress/regress-crbug-325225.js diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc index e52ec65c4..96cfc3784 100644 --- a/src/code-stubs-hydrogen.cc +++ b/src/code-stubs-hydrogen.cc @@ -614,6 +614,7 @@ HValue* CodeStubGraphBuilder::BuildCodeStub() { info()->set_parameter_count(argc); HValue* receiver = Add(1); + BuildCheckHeapObject(receiver); // Load the expected initial array map from the context. JSArrayBuilder array_builder(this, casted_stub()->elements_kind()); diff --git a/src/version.cc b/src/version.cc index 4c573323d..0571eb68e 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 1 +#define PATCH_LEVEL 2 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-crbug-325225.js b/test/mjsunit/regress/regress-crbug-325225.js new file mode 100644 index 000000000..798d54839 --- /dev/null +++ b/test/mjsunit/regress/regress-crbug-325225.js @@ -0,0 +1,46 @@ +// Copyright 2013 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +function f1(a) { + a[0](0); +} + +function do1() { + f1([f1]); +} + +assertThrows(do1, TypeError); + +function f2(a) { + a[0](true); +} + +function do2() { + f2([function(a) { return f2("undefined", typeof f2(42, 0)); }]); +} + +assertThrows(do2, TypeError); -- cgit v1.2.3 From a0115e20a9971956c7eef316986d8219813e0a00 Mon Sep 17 00:00:00 2001 From: "jochen@chromium.org" Date: Wed, 18 Dec 2013 09:04:18 +0000 Subject: Disable handle zapping in release builds on branch 3.23 R=jkummerow@chromium.org BUG=318206 LOG=n Review URL: https://codereview.chromium.org/109553003 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- build/features.gypi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/features.gypi b/build/features.gypi index 85b8a3846..f0e721209 100644 --- a/build/features.gypi +++ b/build/features.gypi @@ -115,7 +115,7 @@ 'Release': { 'variables': { 'v8_enable_extra_checks%': 0, - 'v8_enable_handle_zapping%': 1, + 'v8_enable_handle_zapping%': 0, }, 'conditions': [ ['v8_enable_extra_checks==1', { -- cgit v1.2.3 From accfbc698197bdc5490e24a1a546f20eb1e0a372 Mon Sep 17 00:00:00 2001 From: "Torne (Richard Coles)" Date: Thu, 2 Jan 2014 15:10:32 +0000 Subject: Update makefiles after merge of Chromium at 241107 This commit was generated by merge_from_chromium.py. Change-Id: I0bef51bc2f65c9a3c1e0f0196de54d472e9c2324 --- tools/gyp/mksnapshot.arm.host.darwin-arm.mk | 2 -- tools/gyp/mksnapshot.arm.host.linux-arm.mk | 2 -- tools/gyp/mksnapshot.ia32.host.darwin-x86.mk | 2 -- tools/gyp/mksnapshot.ia32.host.linux-x86.mk | 2 -- tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk | 2 -- tools/gyp/mksnapshot.mipsel.host.linux-mips.mk | 2 -- tools/gyp/v8_base.arm.host.darwin-arm.mk | 2 -- tools/gyp/v8_base.arm.host.linux-arm.mk | 2 -- tools/gyp/v8_base.arm.target.darwin-arm.mk | 2 -- tools/gyp/v8_base.arm.target.linux-arm.mk | 2 -- tools/gyp/v8_base.ia32.host.darwin-x86.mk | 2 -- tools/gyp/v8_base.ia32.host.linux-x86.mk | 2 -- tools/gyp/v8_base.ia32.target.darwin-x86.mk | 2 -- tools/gyp/v8_base.ia32.target.linux-x86.mk | 2 -- tools/gyp/v8_base.mipsel.host.darwin-mips.mk | 2 -- tools/gyp/v8_base.mipsel.host.linux-mips.mk | 2 -- tools/gyp/v8_base.mipsel.target.darwin-mips.mk | 2 -- tools/gyp/v8_base.mipsel.target.linux-mips.mk | 2 -- tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk | 2 -- tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk | 2 -- tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk | 2 -- tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk | 2 -- tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk | 2 -- tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk | 2 -- tools/gyp/v8_snapshot.target.darwin-arm.mk | 2 -- tools/gyp/v8_snapshot.target.darwin-mips.mk | 2 -- tools/gyp/v8_snapshot.target.darwin-x86.mk | 2 -- tools/gyp/v8_snapshot.target.linux-arm.mk | 2 -- tools/gyp/v8_snapshot.target.linux-mips.mk | 2 -- tools/gyp/v8_snapshot.target.linux-x86.mk | 2 -- 30 files changed, 60 deletions(-) diff --git a/tools/gyp/mksnapshot.arm.host.darwin-arm.mk b/tools/gyp/mksnapshot.arm.host.darwin-arm.mk index f4f14e7b2..9400c47a6 100644 --- a/tools/gyp/mksnapshot.arm.host.darwin-arm.mk +++ b/tools/gyp/mksnapshot.arm.host.darwin-arm.mk @@ -56,7 +56,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -126,7 +125,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/mksnapshot.arm.host.linux-arm.mk b/tools/gyp/mksnapshot.arm.host.linux-arm.mk index 6d0dfd2d6..d922991d3 100644 --- a/tools/gyp/mksnapshot.arm.host.linux-arm.mk +++ b/tools/gyp/mksnapshot.arm.host.linux-arm.mk @@ -56,7 +56,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -126,7 +125,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk b/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk index cbec42a2a..651f17630 100644 --- a/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk +++ b/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk @@ -56,7 +56,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -126,7 +125,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/mksnapshot.ia32.host.linux-x86.mk b/tools/gyp/mksnapshot.ia32.host.linux-x86.mk index b3eaacba1..fbcd9dd40 100644 --- a/tools/gyp/mksnapshot.ia32.host.linux-x86.mk +++ b/tools/gyp/mksnapshot.ia32.host.linux-x86.mk @@ -56,7 +56,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -126,7 +125,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk b/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk index d8345a551..c6fb96c73 100644 --- a/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk +++ b/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk @@ -57,7 +57,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -128,7 +127,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk b/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk index 46a23473a..a2f85bcb0 100644 --- a/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk +++ b/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk @@ -57,7 +57,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -128,7 +127,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.arm.host.darwin-arm.mk b/tools/gyp/v8_base.arm.host.darwin-arm.mk index 53ae66f0e..e19c21064 100644 --- a/tools/gyp/v8_base.arm.host.darwin-arm.mk +++ b/tools/gyp/v8_base.arm.host.darwin-arm.mk @@ -218,7 +218,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -293,7 +292,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.arm.host.linux-arm.mk b/tools/gyp/v8_base.arm.host.linux-arm.mk index 641db996d..bb927a626 100644 --- a/tools/gyp/v8_base.arm.host.linux-arm.mk +++ b/tools/gyp/v8_base.arm.host.linux-arm.mk @@ -218,7 +218,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -294,7 +293,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.arm.target.darwin-arm.mk b/tools/gyp/v8_base.arm.target.darwin-arm.mk index a69f02f36..8084c7605 100644 --- a/tools/gyp/v8_base.arm.target.darwin-arm.mk +++ b/tools/gyp/v8_base.arm.target.darwin-arm.mk @@ -235,7 +235,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -340,7 +339,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.arm.target.linux-arm.mk b/tools/gyp/v8_base.arm.target.linux-arm.mk index a69f02f36..8084c7605 100644 --- a/tools/gyp/v8_base.arm.target.linux-arm.mk +++ b/tools/gyp/v8_base.arm.target.linux-arm.mk @@ -235,7 +235,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -340,7 +339,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.ia32.host.darwin-x86.mk b/tools/gyp/v8_base.ia32.host.darwin-x86.mk index 3d7ac0314..1684de51a 100644 --- a/tools/gyp/v8_base.ia32.host.darwin-x86.mk +++ b/tools/gyp/v8_base.ia32.host.darwin-x86.mk @@ -216,7 +216,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -291,7 +290,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.ia32.host.linux-x86.mk b/tools/gyp/v8_base.ia32.host.linux-x86.mk index d2fb497ed..506c03de5 100644 --- a/tools/gyp/v8_base.ia32.host.linux-x86.mk +++ b/tools/gyp/v8_base.ia32.host.linux-x86.mk @@ -216,7 +216,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -292,7 +291,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.ia32.target.darwin-x86.mk b/tools/gyp/v8_base.ia32.target.darwin-x86.mk index b1e84985b..cd4dcbcbc 100644 --- a/tools/gyp/v8_base.ia32.target.darwin-x86.mk +++ b/tools/gyp/v8_base.ia32.target.darwin-x86.mk @@ -235,7 +235,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -341,7 +340,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.ia32.target.linux-x86.mk b/tools/gyp/v8_base.ia32.target.linux-x86.mk index b1e84985b..cd4dcbcbc 100644 --- a/tools/gyp/v8_base.ia32.target.linux-x86.mk +++ b/tools/gyp/v8_base.ia32.target.linux-x86.mk @@ -235,7 +235,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -341,7 +340,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.mipsel.host.darwin-mips.mk b/tools/gyp/v8_base.mipsel.host.darwin-mips.mk index ed060ce60..283f271b1 100644 --- a/tools/gyp/v8_base.mipsel.host.darwin-mips.mk +++ b/tools/gyp/v8_base.mipsel.host.darwin-mips.mk @@ -219,7 +219,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -295,7 +294,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.mipsel.host.linux-mips.mk b/tools/gyp/v8_base.mipsel.host.linux-mips.mk index 5a67cac6c..7f168db1e 100644 --- a/tools/gyp/v8_base.mipsel.host.linux-mips.mk +++ b/tools/gyp/v8_base.mipsel.host.linux-mips.mk @@ -219,7 +219,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -296,7 +295,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.mipsel.target.darwin-mips.mk b/tools/gyp/v8_base.mipsel.target.darwin-mips.mk index f33f4f5f1..9d235c627 100644 --- a/tools/gyp/v8_base.mipsel.target.darwin-mips.mk +++ b/tools/gyp/v8_base.mipsel.target.darwin-mips.mk @@ -235,7 +235,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -340,7 +339,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_base.mipsel.target.linux-mips.mk b/tools/gyp/v8_base.mipsel.target.linux-mips.mk index f33f4f5f1..9d235c627 100644 --- a/tools/gyp/v8_base.mipsel.target.linux-mips.mk +++ b/tools/gyp/v8_base.mipsel.target.linux-mips.mk @@ -235,7 +235,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -340,7 +339,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk b/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk index 7813a96e4..e85aa1a9c 100644 --- a/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk +++ b/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk @@ -60,7 +60,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -130,7 +129,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk b/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk index a4fc99f20..7cfe4f87b 100644 --- a/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk +++ b/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk @@ -60,7 +60,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -130,7 +129,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk b/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk index ab932f2f4..958950446 100644 --- a/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk +++ b/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk @@ -60,7 +60,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -130,7 +129,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk b/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk index 2c15e5e71..73b78c707 100644 --- a/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk +++ b/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk @@ -60,7 +60,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -130,7 +129,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk b/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk index 435f904d8..90a38a795 100644 --- a/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk +++ b/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk @@ -61,7 +61,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -132,7 +131,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk b/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk index ca08e588e..03f021d61 100644 --- a/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk +++ b/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk @@ -61,7 +61,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -132,7 +131,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_snapshot.target.darwin-arm.mk b/tools/gyp/v8_snapshot.target.darwin-arm.mk index bd041657f..c8fdef13e 100644 --- a/tools/gyp/v8_snapshot.target.darwin-arm.mk +++ b/tools/gyp/v8_snapshot.target.darwin-arm.mk @@ -88,7 +88,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -189,7 +188,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_snapshot.target.darwin-mips.mk b/tools/gyp/v8_snapshot.target.darwin-mips.mk index d5eea5592..6ed47b64b 100644 --- a/tools/gyp/v8_snapshot.target.darwin-mips.mk +++ b/tools/gyp/v8_snapshot.target.darwin-mips.mk @@ -88,7 +88,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -189,7 +188,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_snapshot.target.darwin-x86.mk b/tools/gyp/v8_snapshot.target.darwin-x86.mk index 3bc8d3536..cbac6dfb1 100644 --- a/tools/gyp/v8_snapshot.target.darwin-x86.mk +++ b/tools/gyp/v8_snapshot.target.darwin-x86.mk @@ -90,7 +90,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -192,7 +191,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_snapshot.target.linux-arm.mk b/tools/gyp/v8_snapshot.target.linux-arm.mk index bd041657f..c8fdef13e 100644 --- a/tools/gyp/v8_snapshot.target.linux-arm.mk +++ b/tools/gyp/v8_snapshot.target.linux-arm.mk @@ -88,7 +88,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -189,7 +188,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_snapshot.target.linux-mips.mk b/tools/gyp/v8_snapshot.target.linux-mips.mk index d5eea5592..6ed47b64b 100644 --- a/tools/gyp/v8_snapshot.target.linux-mips.mk +++ b/tools/gyp/v8_snapshot.target.linux-mips.mk @@ -88,7 +88,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -189,7 +188,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ diff --git a/tools/gyp/v8_snapshot.target.linux-x86.mk b/tools/gyp/v8_snapshot.target.linux-x86.mk index 3bc8d3536..cbac6dfb1 100644 --- a/tools/gyp/v8_snapshot.target.linux-x86.mk +++ b/tools/gyp/v8_snapshot.target.linux-x86.mk @@ -90,7 +90,6 @@ MY_CFLAGS_Debug := \ -ffunction-sections MY_DEFS_Debug := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ @@ -192,7 +191,6 @@ MY_CFLAGS_Release := \ -O2 MY_DEFS_Release := \ - '-DANGLE_DX11' \ '-DV8_DEPRECATION_WARNINGS' \ '-D_FILE_OFFSET_BITS=64' \ '-DNO_TCMALLOC' \ -- cgit v1.2.3 From 9fa14b1e2c167efed74f710953f7d17fe1e43d86 Mon Sep 17 00:00:00 2001 From: "Torne (Richard Coles)" Date: Tue, 7 Jan 2014 11:53:15 +0000 Subject: Update makefiles after merge of Chromium at 33.0.1750.16 This commit was generated by merge_from_chromium.py. Change-Id: Ib4aae66daed82b58041baf437b13f464de76bd9a --- tools/gyp/mksnapshot.arm.host.darwin-arm.mk | 3 +-- tools/gyp/mksnapshot.arm.host.linux-arm.mk | 3 +-- tools/gyp/mksnapshot.ia32.host.darwin-x86.mk | 3 +-- tools/gyp/mksnapshot.ia32.host.linux-x86.mk | 3 +-- tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk | 3 +-- tools/gyp/mksnapshot.mipsel.host.linux-mips.mk | 3 +-- tools/gyp/v8_base.arm.host.darwin-arm.mk | 3 +-- tools/gyp/v8_base.arm.host.linux-arm.mk | 3 +-- tools/gyp/v8_base.arm.target.darwin-arm.mk | 3 +-- tools/gyp/v8_base.arm.target.linux-arm.mk | 3 +-- tools/gyp/v8_base.ia32.host.darwin-x86.mk | 3 +-- tools/gyp/v8_base.ia32.host.linux-x86.mk | 3 +-- tools/gyp/v8_base.ia32.target.darwin-x86.mk | 3 +-- tools/gyp/v8_base.ia32.target.linux-x86.mk | 3 +-- tools/gyp/v8_base.mipsel.host.darwin-mips.mk | 3 +-- tools/gyp/v8_base.mipsel.host.linux-mips.mk | 3 +-- tools/gyp/v8_base.mipsel.target.darwin-mips.mk | 3 +-- tools/gyp/v8_base.mipsel.target.linux-mips.mk | 3 +-- tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk | 3 +-- tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk | 3 +-- tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk | 3 +-- tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk | 3 +-- tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk | 3 +-- tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk | 3 +-- tools/gyp/v8_snapshot.target.darwin-arm.mk | 3 +-- tools/gyp/v8_snapshot.target.darwin-mips.mk | 3 +-- tools/gyp/v8_snapshot.target.darwin-x86.mk | 3 +-- tools/gyp/v8_snapshot.target.linux-arm.mk | 3 +-- tools/gyp/v8_snapshot.target.linux-mips.mk | 3 +-- tools/gyp/v8_snapshot.target.linux-x86.mk | 3 +-- 30 files changed, 30 insertions(+), 60 deletions(-) diff --git a/tools/gyp/mksnapshot.arm.host.darwin-arm.mk b/tools/gyp/mksnapshot.arm.host.darwin-arm.mk index 9400c47a6..1d42d26db 100644 --- a/tools/gyp/mksnapshot.arm.host.darwin-arm.mk +++ b/tools/gyp/mksnapshot.arm.host.darwin-arm.mk @@ -149,8 +149,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.arm.host.linux-arm.mk b/tools/gyp/mksnapshot.arm.host.linux-arm.mk index d922991d3..288875a57 100644 --- a/tools/gyp/mksnapshot.arm.host.linux-arm.mk +++ b/tools/gyp/mksnapshot.arm.host.linux-arm.mk @@ -149,8 +149,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk b/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk index 651f17630..26a28367a 100644 --- a/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk +++ b/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk @@ -147,8 +147,7 @@ MY_DEFS_Release := \ '-DV8_USE_DEFAULT_PLATFORM' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.ia32.host.linux-x86.mk b/tools/gyp/mksnapshot.ia32.host.linux-x86.mk index fbcd9dd40..149024402 100644 --- a/tools/gyp/mksnapshot.ia32.host.linux-x86.mk +++ b/tools/gyp/mksnapshot.ia32.host.linux-x86.mk @@ -147,8 +147,7 @@ MY_DEFS_Release := \ '-DV8_USE_DEFAULT_PLATFORM' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk b/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk index c6fb96c73..a07e942ec 100644 --- a/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk +++ b/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk @@ -151,8 +151,7 @@ MY_DEFS_Release := \ '-DV8_USE_DEFAULT_PLATFORM' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk b/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk index a2f85bcb0..cb8ad67d2 100644 --- a/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk +++ b/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk @@ -151,8 +151,7 @@ MY_DEFS_Release := \ '-DV8_USE_DEFAULT_PLATFORM' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm.host.darwin-arm.mk b/tools/gyp/v8_base.arm.host.darwin-arm.mk index e19c21064..a7bec46fb 100644 --- a/tools/gyp/v8_base.arm.host.darwin-arm.mk +++ b/tools/gyp/v8_base.arm.host.darwin-arm.mk @@ -319,8 +319,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm.host.linux-arm.mk b/tools/gyp/v8_base.arm.host.linux-arm.mk index bb927a626..7e0c8c77f 100644 --- a/tools/gyp/v8_base.arm.host.linux-arm.mk +++ b/tools/gyp/v8_base.arm.host.linux-arm.mk @@ -321,8 +321,7 @@ MY_DEFS_Release := \ '-DV8_LIBRT_NOT_AVAILABLE=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm.target.darwin-arm.mk b/tools/gyp/v8_base.arm.target.darwin-arm.mk index 8084c7605..bcd5aa284 100644 --- a/tools/gyp/v8_base.arm.target.darwin-arm.mk +++ b/tools/gyp/v8_base.arm.target.darwin-arm.mk @@ -370,8 +370,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm.target.linux-arm.mk b/tools/gyp/v8_base.arm.target.linux-arm.mk index 8084c7605..bcd5aa284 100644 --- a/tools/gyp/v8_base.arm.target.linux-arm.mk +++ b/tools/gyp/v8_base.arm.target.linux-arm.mk @@ -370,8 +370,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.ia32.host.darwin-x86.mk b/tools/gyp/v8_base.ia32.host.darwin-x86.mk index 1684de51a..b2b157227 100644 --- a/tools/gyp/v8_base.ia32.host.darwin-x86.mk +++ b/tools/gyp/v8_base.ia32.host.darwin-x86.mk @@ -315,8 +315,7 @@ MY_DEFS_Release := \ '-DU_STATIC_IMPLEMENTATION' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.ia32.host.linux-x86.mk b/tools/gyp/v8_base.ia32.host.linux-x86.mk index 506c03de5..a7524ad49 100644 --- a/tools/gyp/v8_base.ia32.host.linux-x86.mk +++ b/tools/gyp/v8_base.ia32.host.linux-x86.mk @@ -317,8 +317,7 @@ MY_DEFS_Release := \ '-DV8_LIBRT_NOT_AVAILABLE=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.ia32.target.darwin-x86.mk b/tools/gyp/v8_base.ia32.target.darwin-x86.mk index cd4dcbcbc..d7506b478 100644 --- a/tools/gyp/v8_base.ia32.target.darwin-x86.mk +++ b/tools/gyp/v8_base.ia32.target.darwin-x86.mk @@ -369,8 +369,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.ia32.target.linux-x86.mk b/tools/gyp/v8_base.ia32.target.linux-x86.mk index cd4dcbcbc..d7506b478 100644 --- a/tools/gyp/v8_base.ia32.target.linux-x86.mk +++ b/tools/gyp/v8_base.ia32.target.linux-x86.mk @@ -369,8 +369,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.mipsel.host.darwin-mips.mk b/tools/gyp/v8_base.mipsel.host.darwin-mips.mk index 283f271b1..9ddaf174d 100644 --- a/tools/gyp/v8_base.mipsel.host.darwin-mips.mk +++ b/tools/gyp/v8_base.mipsel.host.darwin-mips.mk @@ -321,8 +321,7 @@ MY_DEFS_Release := \ '-DU_STATIC_IMPLEMENTATION' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.mipsel.host.linux-mips.mk b/tools/gyp/v8_base.mipsel.host.linux-mips.mk index 7f168db1e..a7f0ad00c 100644 --- a/tools/gyp/v8_base.mipsel.host.linux-mips.mk +++ b/tools/gyp/v8_base.mipsel.host.linux-mips.mk @@ -323,8 +323,7 @@ MY_DEFS_Release := \ '-DV8_LIBRT_NOT_AVAILABLE=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.mipsel.target.darwin-mips.mk b/tools/gyp/v8_base.mipsel.target.darwin-mips.mk index 9d235c627..47db30b54 100644 --- a/tools/gyp/v8_base.mipsel.target.darwin-mips.mk +++ b/tools/gyp/v8_base.mipsel.target.darwin-mips.mk @@ -370,8 +370,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.mipsel.target.linux-mips.mk b/tools/gyp/v8_base.mipsel.target.linux-mips.mk index 9d235c627..47db30b54 100644 --- a/tools/gyp/v8_base.mipsel.target.linux-mips.mk +++ b/tools/gyp/v8_base.mipsel.target.linux-mips.mk @@ -370,8 +370,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk b/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk index e85aa1a9c..e1f0d70f6 100644 --- a/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk +++ b/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk @@ -153,8 +153,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk b/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk index 7cfe4f87b..ba68f3329 100644 --- a/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk +++ b/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk @@ -153,8 +153,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk b/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk index 958950446..075f0b372 100644 --- a/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk +++ b/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk @@ -151,8 +151,7 @@ MY_DEFS_Release := \ '-DV8_USE_DEFAULT_PLATFORM' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk b/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk index 73b78c707..fa30561d8 100644 --- a/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk +++ b/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk @@ -151,8 +151,7 @@ MY_DEFS_Release := \ '-DV8_USE_DEFAULT_PLATFORM' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk b/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk index 90a38a795..bd7537566 100644 --- a/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk +++ b/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk @@ -155,8 +155,7 @@ MY_DEFS_Release := \ '-DV8_USE_DEFAULT_PLATFORM' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk b/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk index 03f021d61..dab680f20 100644 --- a/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk +++ b/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk @@ -155,8 +155,7 @@ MY_DEFS_Release := \ '-DV8_USE_DEFAULT_PLATFORM' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.darwin-arm.mk b/tools/gyp/v8_snapshot.target.darwin-arm.mk index c8fdef13e..17ade5d15 100644 --- a/tools/gyp/v8_snapshot.target.darwin-arm.mk +++ b/tools/gyp/v8_snapshot.target.darwin-arm.mk @@ -217,8 +217,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.darwin-mips.mk b/tools/gyp/v8_snapshot.target.darwin-mips.mk index 6ed47b64b..88a10c1a4 100644 --- a/tools/gyp/v8_snapshot.target.darwin-mips.mk +++ b/tools/gyp/v8_snapshot.target.darwin-mips.mk @@ -217,8 +217,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.darwin-x86.mk b/tools/gyp/v8_snapshot.target.darwin-x86.mk index cbac6dfb1..a2943250b 100644 --- a/tools/gyp/v8_snapshot.target.darwin-x86.mk +++ b/tools/gyp/v8_snapshot.target.darwin-x86.mk @@ -218,8 +218,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.linux-arm.mk b/tools/gyp/v8_snapshot.target.linux-arm.mk index c8fdef13e..17ade5d15 100644 --- a/tools/gyp/v8_snapshot.target.linux-arm.mk +++ b/tools/gyp/v8_snapshot.target.linux-arm.mk @@ -217,8 +217,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.linux-mips.mk b/tools/gyp/v8_snapshot.target.linux-mips.mk index 6ed47b64b..88a10c1a4 100644 --- a/tools/gyp/v8_snapshot.target.linux-mips.mk +++ b/tools/gyp/v8_snapshot.target.linux-mips.mk @@ -217,8 +217,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.linux-x86.mk b/tools/gyp/v8_snapshot.target.linux-x86.mk index cbac6dfb1..a2943250b 100644 --- a/tools/gyp/v8_snapshot.target.linux-x86.mk +++ b/tools/gyp/v8_snapshot.target.linux-x86.mk @@ -218,8 +218,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS -- cgit v1.2.3 From ecfa363c53ab5e5f01fb0645fabd2c060c967385 Mon Sep 17 00:00:00 2001 From: "ulan@chromium.org" Date: Wed, 8 Jan 2014 10:34:14 +0000 Subject: Merged r18263, r18298, r18314, r18319, r18420, r18421 into 3.23 branch. Fix loop side-effects of deoptimizing loops with a nested live OSR loop. Initialize Date parse cache with SMI instead of double to workaround sharing mutable heap numbers in snapshot. Flush instruction cache for deserialized code objects. Fix NotifyStubFailureSaveDoubles generation for ia32. Fix a race between concurrent recompilation and OSR. ARM: fix loading of global object in LWrapReceiver. BUG=280531,330046,318420 LOG=N R=verwaest@chromium.org Review URL: https://codereview.chromium.org/127963002 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arguments.cc | 1 + src/arm/lithium-codegen-arm.cc | 4 +- src/date.js | 2 +- src/hydrogen-gvn.cc | 14 ++++--- src/ia32/builtins-ia32.cc | 7 +++- src/objects-inl.h | 5 +++ src/serialize.cc | 11 ++++++ src/serialize.h | 1 + src/version.cc | 2 +- test/mjsunit/regress-330046.js | 61 +++++++++++++++++++++++++++++ test/mjsunit/regress/regress-280531.js | 32 +++++++++++++++ test/mjsunit/regress/regress-318420.js | 46 ++++++++++++++++++++++ test/mjsunit/regress/regress-context-osr.js | 39 ++++++++++++++++++ 13 files changed, 216 insertions(+), 9 deletions(-) create mode 100644 test/mjsunit/regress-330046.js create mode 100644 test/mjsunit/regress/regress-280531.js create mode 100644 test/mjsunit/regress/regress-318420.js create mode 100644 test/mjsunit/regress/regress-context-osr.js diff --git a/src/arguments.cc b/src/arguments.cc index ae06bd081..205da7c68 100644 --- a/src/arguments.cc +++ b/src/arguments.cc @@ -120,6 +120,7 @@ FOR_EACH_CALLBACK_TABLE_MAPPING_2_VOID_RETURN(WRITE_CALL_2_VOID) double ClobberDoubleRegisters(double x1, double x2, double x3, double x4) { // TODO(ulan): This clobbers only subset of registers depending on compiler, // Rewrite this in assembly to really clobber all registers. + // GCC for ia32 uses the FPU and does not touch XMM registers. return x1 * 1.01 + x2 * 2.02 + x3 * 3.03 + x4 * 4.04; } diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc index e4d816a5d..2c31af583 100644 --- a/src/arm/lithium-codegen-arm.cc +++ b/src/arm/lithium-codegen-arm.cc @@ -3533,7 +3533,9 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) { __ b(&result_in_receiver); __ bind(&global_object); - __ ldr(result, GlobalObjectOperand()); + + __ ldr(result, MemOperand(fp, StandardFrameConstants::kContextOffset)); + __ ldr(result, ContextOperand(result, Context::GLOBAL_OBJECT_INDEX)); __ ldr(result, FieldMemOperand(result, JSGlobalObject::kGlobalReceiverOffset)); if (result.is(receiver)) { diff --git a/src/date.js b/src/date.js index 236384108..f3d4af244 100644 --- a/src/date.js +++ b/src/date.js @@ -132,7 +132,7 @@ function TimeClip(time) { // strings over and over again. var Date_cache = { // Cached time value. - time: NAN, + time: 0, // String input for which the cached time is valid. string: null }; diff --git a/src/hydrogen-gvn.cc b/src/hydrogen-gvn.cc index 02b3a0a2c..7553abe20 100644 --- a/src/hydrogen-gvn.cc +++ b/src/hydrogen-gvn.cc @@ -412,10 +412,13 @@ void HGlobalValueNumberingPhase::ComputeBlockSideEffects() { // Propagate loop side effects upwards. if (block->HasParentLoopHeader()) { - int header_id = block->parent_loop_header()->block_id(); - loop_side_effects_[header_id].Add(block->IsLoopHeader() - ? loop_side_effects_[id] - : side_effects); + HBasicBlock* with_parent = block; + if (block->IsLoopHeader()) side_effects = loop_side_effects_[id]; + do { + HBasicBlock* parent_block = with_parent->parent_loop_header(); + loop_side_effects_[parent_block->block_id()].Add(side_effects); + with_parent = parent_block; + } while (with_parent->HasParentLoopHeader()); } } } @@ -567,7 +570,8 @@ void HGlobalValueNumberingPhase::ProcessLoopBlock( } if (inputs_loop_invariant && ShouldMove(instr, loop_header)) { - TRACE_GVN_1("Hoisting loop invariant instruction %d\n", instr->id()); + TRACE_GVN_2("Hoisting loop invariant instruction i%d to block B%d\n", + instr->id(), pre_header->block_id()); // Move the instruction out of the loop. instr->Unlink(); instr->InsertBefore(pre_header->end()); diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc index 32c3397dc..5a3fa78e3 100644 --- a/src/ia32/builtins-ia32.cc +++ b/src/ia32/builtins-ia32.cc @@ -627,7 +627,12 @@ void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) { void Builtins::Generate_NotifyStubFailureSaveDoubles(MacroAssembler* masm) { - Generate_NotifyStubFailureHelper(masm, kSaveFPRegs); + if (Serializer::enabled()) { + PlatformFeatureScope sse2(SSE2); + Generate_NotifyStubFailureHelper(masm, kSaveFPRegs); + } else { + Generate_NotifyStubFailureHelper(masm, kSaveFPRegs); + } } diff --git a/src/objects-inl.h b/src/objects-inl.h index 1717a5f4b..606899c1d 100644 --- a/src/objects-inl.h +++ b/src/objects-inl.h @@ -5114,6 +5114,11 @@ void JSFunction::ReplaceCode(Code* code) { bool was_optimized = IsOptimized(); bool is_optimized = code->kind() == Code::OPTIMIZED_FUNCTION; + if (was_optimized && is_optimized) { + shared()->EvictFromOptimizedCodeMap( + this->code(), "Replacing with another optimized code"); + } + set_code(code); // Add/remove the function from the list of optimized functions for this diff --git a/src/serialize.cc b/src/serialize.cc index a8df23844..a0a66f9e9 100644 --- a/src/serialize.cc +++ b/src/serialize.cc @@ -794,6 +794,15 @@ Deserializer::Deserializer(SnapshotByteSource* source) } +void Deserializer::FlushICacheForNewCodeObjects() { + PageIterator it(isolate_->heap()->code_space()); + while (it.has_next()) { + Page* p = it.next(); + CPU::FlushICache(p->area_start(), p->area_end() - p->area_start()); + } +} + + void Deserializer::Deserialize(Isolate* isolate) { isolate_ = isolate; ASSERT(isolate_ != NULL); @@ -830,6 +839,8 @@ void Deserializer::Deserialize(Isolate* isolate) { } } + FlushICacheForNewCodeObjects(); + // Issue code events for newly deserialized code objects. LOG_CODE_EVENT(isolate_, LogCodeObjects()); LOG_CODE_EVENT(isolate_, LogCompiledFunctions()); diff --git a/src/serialize.h b/src/serialize.h index 90f78bfd2..ee9df39ad 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -377,6 +377,7 @@ class Deserializer: public SerializerDeserializer { return HeapObject::FromAddress(high_water_[space] - offset); } + void FlushICacheForNewCodeObjects(); // Cached current isolate. Isolate* isolate_; diff --git a/src/version.cc b/src/version.cc index 0571eb68e..18c935887 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 2 +#define PATCH_LEVEL 3 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress-330046.js b/test/mjsunit/regress-330046.js new file mode 100644 index 000000000..d94b804ac --- /dev/null +++ b/test/mjsunit/regress-330046.js @@ -0,0 +1,61 @@ +// Copyright 2013 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Flags: --use-osr --allow-natives-syntax --crankshaft + +var o1 = {a : 10}; +var o2 = { }; +o2.__proto__ = o1; +var o3 = { }; +o3.__proto__ = o2; + +function f(n, x, b) { + var sum = x.a; + for (var i = 0; i < n; i++) { + sum = 1.0 / i; + } + return sum; +} + +f(10, o3); +f(20, o3); +f(30, o3); +%OptimizeFunctionOnNextCall(f, "concurrent"); +f(100000, o3); +// At this point OSR replaces already optimized code. +// Check that it evicts old code from cache. + +// This causes all code for f to be lazily deopted. +o2.a = 5; + +// If OSR did not evict the old code, it will be installed in f here. +%OptimizeFunctionOnNextCall(f); +f(10, o3); + +// The old code is already deoptimized, but f still points to it. +// Disassembling it will crash. +%DebugDisassembleFunction(f); diff --git a/test/mjsunit/regress/regress-280531.js b/test/mjsunit/regress/regress-280531.js new file mode 100644 index 000000000..6799574f6 --- /dev/null +++ b/test/mjsunit/regress/regress-280531.js @@ -0,0 +1,32 @@ +// Copyright 2013 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +var contextA = Realm.create(); +var date1 = Realm.eval(contextA, "new Date('Thu, 29 Aug 2013 00:00:00 UTC')"); +new Date('Thu, 29 Aug 2013 00:00:01 UTC'); +var date2 = Realm.eval(contextA, "new Date('Thu, 29 Aug 2013 00:00:00 UTC')"); +assertEquals(date1, date2); diff --git a/test/mjsunit/regress/regress-318420.js b/test/mjsunit/regress/regress-318420.js new file mode 100644 index 000000000..77bef10ec --- /dev/null +++ b/test/mjsunit/regress/regress-318420.js @@ -0,0 +1,46 @@ +// Copyright 2013 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Flags: --allow-natives-syntax + +function bar(a, b) { with(a) {return a + b;} } + +var obj = { + functions: [bar, bar, bar, bar], + receivers: [bar, bar, undefined, null], + foo: function () { + for (var a = this.functions, e = this.receivers, c = a.length, + d = 0; d < c ; d++) { + a[d].apply(e[d], arguments) + } + } +} + +obj.foo(1, 2, 3, 4); +obj.foo(1, 2, 3, 4); +%OptimizeFunctionOnNextCall(obj.foo); +obj.foo(1, 2, 3, 4); diff --git a/test/mjsunit/regress/regress-context-osr.js b/test/mjsunit/regress/regress-context-osr.js new file mode 100644 index 000000000..b74907de6 --- /dev/null +++ b/test/mjsunit/regress/regress-context-osr.js @@ -0,0 +1,39 @@ +// Copyright 2013 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"use strict"; +function f() { + try { } catch (e) { } +} + +for (this.x = 0; this.x < 1; ++this.x) { + for (this.y = 0; this.y < 1; ++this.y) { + for (this.ll = 0; this.ll < 70670; ++this.ll) { + f(); + } + } +} -- cgit v1.2.3 From f0da20001dc4157eb3d64f0fe8676e503d843df8 Mon Sep 17 00:00:00 2001 From: "palfia@homejinni.com" Date: Wed, 8 Jan 2014 21:55:03 +0000 Subject: Merged r18443 into 3.23 branch. MIPS: Fix loading of global object in LWrapReceiver. BUG=318420 LOG=N R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/128693002 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/mips/lithium-codegen-mips.cc | 4 +++- src/version.cc | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc index 9f3c088db..757b67a54 100644 --- a/src/mips/lithium-codegen-mips.cc +++ b/src/mips/lithium-codegen-mips.cc @@ -3410,7 +3410,9 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) { __ Branch(&result_in_receiver); __ bind(&global_object); - __ lw(result, GlobalObjectOperand()); + + __ lw(result, MemOperand(fp, StandardFrameConstants::kContextOffset)); + __ lw(result, ContextOperand(result, Context::GLOBAL_OBJECT_INDEX)); __ lw(result, FieldMemOperand(result, JSGlobalObject::kGlobalReceiverOffset)); if (result.is(receiver)) { diff --git a/src/version.cc b/src/version.cc index 18c935887..ba4f73450 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 3 +#define PATCH_LEVEL 4 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 -- cgit v1.2.3 From aafe5810a82411878a83bbf65e492fa19d152226 Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Fri, 10 Jan 2014 13:13:22 +0000 Subject: Merged r18307 into 3.23 branch. Fix polymorphic inlined calls with migrating prototypes R=verwaest@chromium.org Review URL: https://codereview.chromium.org/133693002 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/ast.cc | 7 +- src/ast.h | 25 +- src/code-stubs.cc | 1 + src/code-stubs.h | 1 + src/heap.cc | 2 + src/objects-inl.h | 11 + src/objects.cc | 39 ++- src/objects.h | 8 +- src/stub-cache.cc | 3 + src/type-info.cc | 288 +++++---------------- src/type-info.h | 25 +- src/typing.cc | 7 +- src/version.cc | 2 +- .../regress-calls-with-migrating-prototypes.js | 49 ++++ 14 files changed, 188 insertions(+), 280 deletions(-) create mode 100644 test/mjsunit/regress/regress-calls-with-migrating-prototypes.js diff --git a/src/ast.cc b/src/ast.cc index aeb767ef0..681b3d46b 100644 --- a/src/ast.cc +++ b/src/ast.cc @@ -137,7 +137,6 @@ Assignment::Assignment(Isolate* isolate, value_(value), binary_operation_(NULL), assignment_id_(GetNextId(isolate)), - is_monomorphic_(false), is_uninitialized_(false), is_pre_monomorphic_(false), store_mode_(STANDARD_STORE) { } @@ -742,8 +741,10 @@ void CallNew::RecordTypeFeedback(TypeFeedbackOracle* oracle) { void ObjectLiteral::Property::RecordTypeFeedback(TypeFeedbackOracle* oracle) { TypeFeedbackId id = key()->LiteralFeedbackId(); - receiver_type_ = oracle->ObjectLiteralStoreIsMonomorphic(id) - ? oracle->GetObjectLiteralStoreMap(id) : Handle::null(); + SmallMapList maps; + oracle->CollectReceiverTypes(id, &maps); + receiver_type_ = maps.length() == 1 ? maps.at(0) + : Handle::null(); } diff --git a/src/ast.h b/src/ast.h index 0bbb90452..4e413c542 100644 --- a/src/ast.h +++ b/src/ast.h @@ -279,9 +279,8 @@ class SmallMapList V8_FINAL { int length() const { return list_.length(); } void AddMapIfMissing(Handle map, Zone* zone) { - Map* updated = map->CurrentMapForDeprecated(); - if (updated == NULL) return; - map = Handle(updated); + map = Map::CurrentMapForDeprecated(map); + if (map.is_null()) return; for (int i = 0; i < length(); ++i) { if (at(i).is_identical_to(map)) return; } @@ -1691,7 +1690,9 @@ class Property V8_FINAL : public Expression { bool IsFunctionPrototype() const { return is_function_prototype_; } // Type feedback information. - virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; } + virtual bool IsMonomorphic() V8_OVERRIDE { + return receiver_types_.length() == 1; + } virtual SmallMapList* GetReceiverTypes() V8_OVERRIDE { return &receiver_types_; } @@ -1704,7 +1705,6 @@ class Property V8_FINAL : public Expression { return is_uninitialized_ || is_pre_monomorphic_; } void set_is_uninitialized(bool b) { is_uninitialized_ = b; } - void set_is_monomorphic(bool b) { is_monomorphic_ = b; } void set_is_pre_monomorphic(bool b) { is_pre_monomorphic_ = b; } void set_is_string_access(bool b) { is_string_access_ = b; } void set_is_function_prototype(bool b) { is_function_prototype_ = b; } @@ -1720,7 +1720,6 @@ class Property V8_FINAL : public Expression { obj_(obj), key_(key), load_id_(GetNextId(isolate)), - is_monomorphic_(false), is_pre_monomorphic_(false), is_uninitialized_(false), is_string_access_(false), @@ -1732,7 +1731,6 @@ class Property V8_FINAL : public Expression { const BailoutId load_id_; SmallMapList receiver_types_; - bool is_monomorphic_ : 1; bool is_pre_monomorphic_ : 1; bool is_uninitialized_ : 1; bool is_string_access_ : 1; @@ -2001,7 +1999,9 @@ class CountOperation V8_FINAL : public Expression { Expression* expression() const { return expression_; } - virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; } + virtual bool IsMonomorphic() V8_OVERRIDE { + return receiver_types_.length() == 1; + } virtual SmallMapList* GetReceiverTypes() V8_OVERRIDE { return &receiver_types_; } @@ -2009,7 +2009,6 @@ class CountOperation V8_FINAL : public Expression { return store_mode_; } Handle type() const { return type_; } - void set_is_monomorphic(bool b) { is_monomorphic_ = b; } void set_store_mode(KeyedAccessStoreMode mode) { store_mode_ = mode; } void set_type(Handle type) { type_ = type; } @@ -2027,7 +2026,6 @@ class CountOperation V8_FINAL : public Expression { : Expression(isolate, pos), op_(op), is_prefix_(is_prefix), - is_monomorphic_(false), store_mode_(STANDARD_STORE), expression_(expr), assignment_id_(GetNextId(isolate)), @@ -2036,7 +2034,6 @@ class CountOperation V8_FINAL : public Expression { private: Token::Value op_; bool is_prefix_ : 1; - bool is_monomorphic_ : 1; KeyedAccessStoreMode store_mode_ : 5; // Windows treats as signed, // must have extra bit. Handle type_; @@ -2142,7 +2139,9 @@ class Assignment V8_FINAL : public Expression { // Type feedback information. TypeFeedbackId AssignmentFeedbackId() { return reuse(id()); } - virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; } + virtual bool IsMonomorphic() V8_OVERRIDE { + return receiver_types_.length() == 1; + } bool IsUninitialized() { return is_uninitialized_; } bool IsPreMonomorphic() { return is_pre_monomorphic_; } bool HasNoTypeInformation() { @@ -2155,7 +2154,6 @@ class Assignment V8_FINAL : public Expression { return store_mode_; } void set_is_uninitialized(bool b) { is_uninitialized_ = b; } - void set_is_monomorphic(bool b) { is_monomorphic_ = b; } void set_is_pre_monomorphic(bool b) { is_pre_monomorphic_ = b; } void set_store_mode(KeyedAccessStoreMode mode) { store_mode_ = mode; } @@ -2182,7 +2180,6 @@ class Assignment V8_FINAL : public Expression { BinaryOperation* binary_operation_; const BailoutId assignment_id_; - bool is_monomorphic_ : 1; bool is_uninitialized_ : 1; bool is_pre_monomorphic_ : 1; KeyedAccessStoreMode store_mode_ : 5; // Windows treats as signed, diff --git a/src/code-stubs.cc b/src/code-stubs.cc index 3fb615342..5f6a1147a 100644 --- a/src/code-stubs.cc +++ b/src/code-stubs.cc @@ -197,6 +197,7 @@ const char* CodeStub::MajorName(CodeStub::Major major_key, #define DEF_CASE(name) case name: return #name "Stub"; CODE_STUB_LIST(DEF_CASE) #undef DEF_CASE + case UninitializedMajorKey: return "Stub"; default: if (!allow_unknown_keys) { UNREACHABLE(); diff --git a/src/code-stubs.h b/src/code-stubs.h index f2de6166d..c377d7532 100644 --- a/src/code-stubs.h +++ b/src/code-stubs.h @@ -130,6 +130,7 @@ namespace internal { class CodeStub BASE_EMBEDDED { public: enum Major { + UninitializedMajorKey = 0, #define DEF_ENUM(name) name, CODE_STUB_LIST(DEF_ENUM) #undef DEF_ENUM diff --git a/src/heap.cc b/src/heap.cc index d5c40ad15..1e9091b30 100644 --- a/src/heap.cc +++ b/src/heap.cc @@ -4259,6 +4259,8 @@ MaybeObject* Heap::CreateCode(const CodeDesc& desc, code->set_instruction_size(desc.instr_size); code->set_relocation_info(reloc_info); code->set_flags(flags); + code->set_raw_kind_specific_flags1(0); + code->set_raw_kind_specific_flags2(0); if (code->is_call_stub() || code->is_keyed_call_stub()) { code->set_check_type(RECEIVER_MAP_CHECK); } diff --git a/src/objects-inl.h b/src/objects-inl.h index 606899c1d..8406a6ad6 100644 --- a/src/objects-inl.h +++ b/src/objects-inl.h @@ -3915,6 +3915,17 @@ int Code::arguments_count() { } +// For initialization. +void Code::set_raw_kind_specific_flags1(int value) { + WRITE_INT_FIELD(this, kKindSpecificFlags1Offset, value); +} + + +void Code::set_raw_kind_specific_flags2(int value) { + WRITE_INT_FIELD(this, kKindSpecificFlags2Offset, value); +} + + inline bool Code::is_crankshafted() { return IsCrankshaftedField::decode( READ_UINT32_FIELD(this, kKindSpecificFlags2Offset)); diff --git a/src/objects.cc b/src/objects.cc index f96fd8384..cfb554bc7 100644 --- a/src/objects.cc +++ b/src/objects.cc @@ -2803,31 +2803,44 @@ Handle Map::GeneralizeAllFieldRepresentations( } -Map* Map::CurrentMapForDeprecated() { - DisallowHeapAllocation no_allocation; - if (!is_deprecated()) return this; +Handle Map::CurrentMapForDeprecated(Handle map) { + Handle proto_map(map); + while (proto_map->prototype()->IsJSObject()) { + Handle holder(JSObject::cast(proto_map->prototype())); + if (holder->map()->is_deprecated()) { + JSObject::TryMigrateInstance(holder); + } + proto_map = Handle(holder->map()); + } + return CurrentMapForDeprecatedInternal(map); +} - DescriptorArray* old_descriptors = instance_descriptors(); - int descriptors = NumberOfOwnDescriptors(); - Map* root_map = FindRootMap(); +Handle Map::CurrentMapForDeprecatedInternal(Handle map) { + if (!map->is_deprecated()) return map; + + DisallowHeapAllocation no_allocation; + DescriptorArray* old_descriptors = map->instance_descriptors(); + + int descriptors = map->NumberOfOwnDescriptors(); + Map* root_map = map->FindRootMap(); // Check the state of the root map. - if (!EquivalentToForTransition(root_map)) return NULL; + if (!map->EquivalentToForTransition(root_map)) return Handle(); int verbatim = root_map->NumberOfOwnDescriptors(); Map* updated = root_map->FindUpdatedMap( verbatim, descriptors, old_descriptors); - if (updated == NULL) return NULL; + if (updated == NULL) return Handle(); DescriptorArray* updated_descriptors = updated->instance_descriptors(); int valid = updated->NumberOfOwnDescriptors(); if (!updated_descriptors->IsMoreGeneralThan( verbatim, valid, descriptors, old_descriptors)) { - return NULL; + return Handle(); } - return updated; + return handle(updated); } @@ -3879,10 +3892,10 @@ void JSObject::MigrateInstance(Handle object) { Handle JSObject::TryMigrateInstance(Handle object) { - Map* new_map = object->map()->CurrentMapForDeprecated(); - if (new_map == NULL) return Handle(); Handle original_map(object->map()); - JSObject::MigrateToMap(object, handle(new_map)); + Handle new_map = Map::CurrentMapForDeprecatedInternal(original_map); + if (new_map.is_null()) return Handle(); + JSObject::MigrateToMap(object, new_map); if (FLAG_trace_migration) { object->PrintInstanceMigration(stdout, *original_map, object->map()); } diff --git a/src/objects.h b/src/objects.h index bbdefc14a..26051dd59 100644 --- a/src/objects.h +++ b/src/objects.h @@ -5149,6 +5149,9 @@ class Code: public HeapObject { inline bool is_to_boolean_ic_stub() { return kind() == TO_BOOLEAN_IC; } inline bool is_keyed_stub(); + inline void set_raw_kind_specific_flags1(int value); + inline void set_raw_kind_specific_flags2(int value); + // [major_key]: For kind STUB or BINARY_OP_IC, the major key. inline int major_key(); inline void set_major_key(int value); @@ -6038,7 +6041,10 @@ class Map: public HeapObject { // deprecated, it is directly returned. Otherwise, the non-deprecated version // is found by re-transitioning from the root of the transition tree using the // descriptor array of the map. Returns NULL if no updated map is found. - Map* CurrentMapForDeprecated(); + // This method also applies any pending migrations along the prototype chain. + static Handle CurrentMapForDeprecated(Handle map); + // Same as above, but does not touch the prototype chain. + static Handle CurrentMapForDeprecatedInternal(Handle map); static Handle RawCopy(Handle map, int instance_size); MUST_USE_RESULT MaybeObject* RawCopy(int instance_size); diff --git a/src/stub-cache.cc b/src/stub-cache.cc index eec5baf0c..987c16119 100644 --- a/src/stub-cache.cc +++ b/src/stub-cache.cc @@ -1100,6 +1100,9 @@ Handle StubCompiler::GetCodeWithFlags(Code::Flags flags, CodeDesc desc; masm_.GetCode(&desc); Handle code = factory()->NewCode(desc, flags, masm_.CodeObject()); + if (code->has_major_key()) { + code->set_major_key(CodeStub::NoCache); + } #ifdef ENABLE_DISASSEMBLER if (FLAG_print_code_stubs) code->Disassemble(name); #endif diff --git a/src/type-info.cc b/src/type-info.cc index 6e3a4f6b7..eed54ce2b 100644 --- a/src/type-info.cc +++ b/src/type-info.cc @@ -100,86 +100,37 @@ Handle TypeFeedbackOracle::GetInfoCell( bool TypeFeedbackOracle::LoadIsUninitialized(TypeFeedbackId id) { - Handle map_or_code = GetInfo(id); - if (map_or_code->IsMap()) return false; - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); + Handle maybe_code = GetInfo(id); + if (maybe_code->IsCode()) { + Handle code = Handle::cast(maybe_code); return code->is_inline_cache_stub() && code->ic_state() == UNINITIALIZED; } return false; } -bool TypeFeedbackOracle::LoadIsMonomorphicNormal(TypeFeedbackId id) { - Handle map_or_code = GetInfo(id); - if (map_or_code->IsMap()) return true; - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); - bool preliminary_checks = code->is_keyed_load_stub() && - code->ic_state() == MONOMORPHIC && - Code::ExtractTypeFromFlags(code->flags()) == Code::NORMAL; - if (!preliminary_checks) return false; - Map* map = code->FindFirstMap(); - if (map == NULL) return false; - map = map->CurrentMapForDeprecated(); - return map != NULL && !CanRetainOtherContext(map, *native_context_); - } - return false; -} - - bool TypeFeedbackOracle::LoadIsPreMonomorphic(TypeFeedbackId id) { - Handle map_or_code = GetInfo(id); - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); + Handle maybe_code = GetInfo(id); + if (maybe_code->IsCode()) { + Handle code = Handle::cast(maybe_code); return code->is_inline_cache_stub() && code->ic_state() == PREMONOMORPHIC; } return false; } -bool TypeFeedbackOracle::LoadIsPolymorphic(TypeFeedbackId id) { - Handle map_or_code = GetInfo(id); - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); - return code->is_keyed_load_stub() && code->ic_state() == POLYMORPHIC; - } - return false; -} - - bool TypeFeedbackOracle::StoreIsUninitialized(TypeFeedbackId ast_id) { - Handle map_or_code = GetInfo(ast_id); - if (map_or_code->IsMap()) return false; - if (!map_or_code->IsCode()) return false; - Handle code = Handle::cast(map_or_code); + Handle maybe_code = GetInfo(ast_id); + if (!maybe_code->IsCode()) return false; + Handle code = Handle::cast(maybe_code); return code->ic_state() == UNINITIALIZED; } -bool TypeFeedbackOracle::StoreIsMonomorphicNormal(TypeFeedbackId ast_id) { - Handle map_or_code = GetInfo(ast_id); - if (map_or_code->IsMap()) return true; - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); - bool preliminary_checks = - code->is_keyed_store_stub() && - code->ic_state() == MONOMORPHIC && - Code::ExtractTypeFromFlags(code->flags()) == Code::NORMAL; - if (!preliminary_checks) return false; - Map* map = code->FindFirstMap(); - if (map == NULL) return false; - map = map->CurrentMapForDeprecated(); - return map != NULL && !CanRetainOtherContext(map, *native_context_); - } - return false; -} - - bool TypeFeedbackOracle::StoreIsPreMonomorphic(TypeFeedbackId ast_id) { - Handle map_or_code = GetInfo(ast_id); - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); + Handle maybe_code = GetInfo(ast_id); + if (maybe_code->IsCode()) { + Handle code = Handle::cast(maybe_code); return code->ic_state() == PREMONOMORPHIC; } return false; @@ -187,9 +138,9 @@ bool TypeFeedbackOracle::StoreIsPreMonomorphic(TypeFeedbackId ast_id) { bool TypeFeedbackOracle::StoreIsKeyedPolymorphic(TypeFeedbackId ast_id) { - Handle map_or_code = GetInfo(ast_id); - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); + Handle maybe_code = GetInfo(ast_id); + if (maybe_code->IsCode()) { + Handle code = Handle::cast(maybe_code); return code->is_keyed_store_stub() && code->ic_state() == POLYMORPHIC; } @@ -199,8 +150,7 @@ bool TypeFeedbackOracle::StoreIsKeyedPolymorphic(TypeFeedbackId ast_id) { bool TypeFeedbackOracle::CallIsMonomorphic(TypeFeedbackId id) { Handle value = GetInfo(id); - return value->IsMap() || value->IsAllocationSite() || value->IsJSFunction() || - value->IsSmi() || + return value->IsAllocationSite() || value->IsJSFunction() || value->IsSmi() || (value->IsCode() && Handle::cast(value)->ic_state() == MONOMORPHIC); } @@ -218,12 +168,6 @@ bool TypeFeedbackOracle::CallNewIsMonomorphic(TypeFeedbackId id) { } -bool TypeFeedbackOracle::ObjectLiteralStoreIsMonomorphic(TypeFeedbackId id) { - Handle map_or_code = GetInfo(id); - return map_or_code->IsMap(); -} - - byte TypeFeedbackOracle::ForInType(TypeFeedbackId id) { Handle value = GetInfo(id); return value->IsSmi() && @@ -232,40 +176,11 @@ byte TypeFeedbackOracle::ForInType(TypeFeedbackId id) { } -Handle TypeFeedbackOracle::LoadMonomorphicReceiverType(TypeFeedbackId id) { - ASSERT(LoadIsMonomorphicNormal(id)); - Handle map_or_code = GetInfo(id); - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); - Map* map = code->FindFirstMap()->CurrentMapForDeprecated(); - return map == NULL || CanRetainOtherContext(map, *native_context_) - ? Handle::null() - : Handle(map); - } - return Handle::cast(map_or_code); -} - - -Handle TypeFeedbackOracle::StoreMonomorphicReceiverType( - TypeFeedbackId ast_id) { - ASSERT(StoreIsMonomorphicNormal(ast_id)); - Handle map_or_code = GetInfo(ast_id); - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); - Map* map = code->FindFirstMap()->CurrentMapForDeprecated(); - return map == NULL || CanRetainOtherContext(map, *native_context_) - ? Handle::null() - : Handle(map); - } - return Handle::cast(map_or_code); -} - - KeyedAccessStoreMode TypeFeedbackOracle::GetStoreMode( TypeFeedbackId ast_id) { - Handle map_or_code = GetInfo(ast_id); - if (map_or_code->IsCode()) { - Handle code = Handle::cast(map_or_code); + Handle maybe_code = GetInfo(ast_id); + if (maybe_code->IsCode()) { + Handle code = Handle::cast(maybe_code); if (code->kind() == Code::KEYED_STORE_IC) { return KeyedStoreIC::GetKeyedAccessStoreMode(code->extra_ic_state()); } @@ -274,26 +189,6 @@ KeyedAccessStoreMode TypeFeedbackOracle::GetStoreMode( } -void TypeFeedbackOracle::LoadReceiverTypes(TypeFeedbackId id, - Handle name, - SmallMapList* types) { - Code::Flags flags = Code::ComputeFlags( - Code::HANDLER, MONOMORPHIC, kNoExtraICState, - Code::NORMAL, Code::LOAD_IC); - CollectReceiverTypes(id, name, flags, types); -} - - -void TypeFeedbackOracle::StoreReceiverTypes(TypeFeedbackId id, - Handle name, - SmallMapList* types) { - Code::Flags flags = Code::ComputeFlags( - Code::HANDLER, MONOMORPHIC, kNoExtraICState, - Code::NORMAL, Code::STORE_IC); - CollectReceiverTypes(id, name, flags, types); -} - - void TypeFeedbackOracle::CallReceiverTypes(TypeFeedbackId id, Handle name, int arity, @@ -348,12 +243,6 @@ Handle TypeFeedbackOracle::GetCallNewAllocationInfoCell( } -Handle TypeFeedbackOracle::GetObjectLiteralStoreMap(TypeFeedbackId id) { - ASSERT(ObjectLiteralStoreIsMonomorphic(id)); - return Handle::cast(GetInfo(id)); -} - - bool TypeFeedbackOracle::LoadIsBuiltin( TypeFeedbackId id, Builtins::Name builtin) { return *GetInfo(id) == isolate_->builtins()->builtin(builtin); @@ -385,9 +274,9 @@ void TypeFeedbackOracle::CompareType(TypeFeedbackId id, Handle map; Map* raw_map = code->FindFirstMap(); if (raw_map != NULL) { - raw_map = raw_map->CurrentMapForDeprecated(); - if (raw_map != NULL && !CanRetainOtherContext(raw_map, *native_context_)) { - map = handle(raw_map, isolate_); + map = Map::CurrentMapForDeprecated(handle(raw_map)); + if (!map.is_null() && CanRetainOtherContext(*map, *native_context_)) { + map = Handle::null(); } } @@ -460,7 +349,10 @@ void TypeFeedbackOracle::PropertyReceiverTypes( FunctionPrototypeStub proto_stub(Code::LOAD_IC); *is_prototype = LoadIsStub(id, &proto_stub); if (!*is_prototype) { - LoadReceiverTypes(id, name, receiver_types); + Code::Flags flags = Code::ComputeFlags( + Code::HANDLER, MONOMORPHIC, kNoExtraICState, + Code::NORMAL, Code::LOAD_IC); + CollectReceiverTypes(id, name, flags, receiver_types); } } @@ -471,11 +363,8 @@ void TypeFeedbackOracle::KeyedPropertyReceiverTypes( *is_string = false; if (LoadIsBuiltin(id, Builtins::kKeyedLoadIC_String)) { *is_string = true; - } else if (LoadIsMonomorphicNormal(id)) { - receiver_types->Add(LoadMonomorphicReceiverType(id), zone()); - } else if (LoadIsPolymorphic(id)) { - receiver_types->Reserve(kMaxKeyedPolymorphism, zone()); - CollectKeyedReceiverTypes(id, receiver_types); + } else { + CollectReceiverTypes(id, receiver_types); } } @@ -483,7 +372,10 @@ void TypeFeedbackOracle::KeyedPropertyReceiverTypes( void TypeFeedbackOracle::AssignmentReceiverTypes( TypeFeedbackId id, Handle name, SmallMapList* receiver_types) { receiver_types->Clear(); - StoreReceiverTypes(id, name, receiver_types); + Code::Flags flags = Code::ComputeFlags( + Code::HANDLER, MONOMORPHIC, kNoExtraICState, + Code::NORMAL, Code::STORE_IC); + CollectReceiverTypes(id, name, flags, receiver_types); } @@ -491,43 +383,15 @@ void TypeFeedbackOracle::KeyedAssignmentReceiverTypes( TypeFeedbackId id, SmallMapList* receiver_types, KeyedAccessStoreMode* store_mode) { receiver_types->Clear(); - if (StoreIsMonomorphicNormal(id)) { - // Record receiver type for monomorphic keyed stores. - receiver_types->Add(StoreMonomorphicReceiverType(id), zone()); - } else if (StoreIsKeyedPolymorphic(id)) { - receiver_types->Reserve(kMaxKeyedPolymorphism, zone()); - CollectKeyedReceiverTypes(id, receiver_types); - } + CollectReceiverTypes(id, receiver_types); *store_mode = GetStoreMode(id); } -void TypeFeedbackOracle::CountReceiverTypes( - TypeFeedbackId id, SmallMapList* receiver_types) { +void TypeFeedbackOracle::CountReceiverTypes(TypeFeedbackId id, + SmallMapList* receiver_types) { receiver_types->Clear(); - if (StoreIsMonomorphicNormal(id)) { - // Record receiver type for monomorphic keyed stores. - receiver_types->Add(StoreMonomorphicReceiverType(id), zone()); - } else if (StoreIsKeyedPolymorphic(id)) { - receiver_types->Reserve(kMaxKeyedPolymorphism, zone()); - CollectKeyedReceiverTypes(id, receiver_types); - } else { - CollectPolymorphicStoreReceiverTypes(id, receiver_types); - } -} - - -void TypeFeedbackOracle::CollectPolymorphicMaps(Handle code, - SmallMapList* types) { - MapHandleList maps; - code->FindAllMaps(&maps); - types->Reserve(maps.length(), zone()); - for (int i = 0; i < maps.length(); i++) { - Handle map(maps.at(i)); - if (!CanRetainOtherContext(*map, *native_context_)) { - types->AddMapIfMissing(map, zone()); - } - } + CollectReceiverTypes(id, receiver_types); } @@ -538,20 +402,16 @@ void TypeFeedbackOracle::CollectReceiverTypes(TypeFeedbackId ast_id, Handle object = GetInfo(ast_id); if (object->IsUndefined() || object->IsSmi()) return; - if (object->IsMap()) { - types->AddMapIfMissing(Handle::cast(object), zone()); - } else if (Handle::cast(object)->ic_state() == POLYMORPHIC || - Handle::cast(object)->ic_state() == MONOMORPHIC) { - CollectPolymorphicMaps(Handle::cast(object), types); - } else if (FLAG_collect_megamorphic_maps_from_stub_cache && - Handle::cast(object)->ic_state() == MEGAMORPHIC) { + ASSERT(object->IsCode()); + Handle code(Handle::cast(object)); + + if (FLAG_collect_megamorphic_maps_from_stub_cache && + code->ic_state() == MEGAMORPHIC) { types->Reserve(4, zone()); - ASSERT(object->IsCode()); - isolate_->stub_cache()->CollectMatchingMaps(types, - name, - flags, - native_context_, - zone()); + isolate_->stub_cache()->CollectMatchingMaps( + types, name, flags, native_context_, zone()); + } else { + CollectReceiverTypes(ast_id, types); } } @@ -590,26 +450,26 @@ bool TypeFeedbackOracle::CanRetainOtherContext(JSFunction* function, } -void TypeFeedbackOracle::CollectKeyedReceiverTypes(TypeFeedbackId ast_id, - SmallMapList* types) { +void TypeFeedbackOracle::CollectReceiverTypes(TypeFeedbackId ast_id, + SmallMapList* types) { Handle object = GetInfo(ast_id); if (!object->IsCode()) return; Handle code = Handle::cast(object); - if (code->kind() == Code::KEYED_LOAD_IC || - code->kind() == Code::KEYED_STORE_IC) { - CollectPolymorphicMaps(code, types); + MapHandleList maps; + if (code->ic_state() == MONOMORPHIC) { + Map* map = code->FindFirstMap(); + if (map != NULL) maps.Add(handle(map)); + } else if (code->ic_state() == POLYMORPHIC) { + code->FindAllMaps(&maps); + } else { + return; } -} - - -void TypeFeedbackOracle::CollectPolymorphicStoreReceiverTypes( - TypeFeedbackId ast_id, - SmallMapList* types) { - Handle object = GetInfo(ast_id); - if (!object->IsCode()) return; - Handle code = Handle::cast(object); - if (code->kind() == Code::STORE_IC && code->ic_state() == POLYMORPHIC) { - CollectPolymorphicMaps(code, types); + types->Reserve(maps.length(), zone()); + for (int i = 0; i < maps.length(); i++) { + Handle map(maps.at(i)); + if (!CanRetainOtherContext(*map, *native_context_)) { + types->AddMapIfMissing(map, zone()); + } } } @@ -679,28 +539,14 @@ void TypeFeedbackOracle::ProcessRelocInfos(ZoneList* infos) { TypeFeedbackId(static_cast((*infos)[i].data())); Code* target = Code::GetCodeFromTargetAddress(target_address); switch (target->kind()) { - case Code::LOAD_IC: - case Code::STORE_IC: case Code::CALL_IC: - if (target->ic_state() == MONOMORPHIC) { - if (target->kind() == Code::CALL_IC && - target->check_type() != RECEIVER_MAP_CHECK) { - SetInfo(ast_id, Smi::FromInt(target->check_type())); - } else { - Object* map = target->FindFirstMap(); - if (map == NULL) { - SetInfo(ast_id, static_cast(target)); - } else if (!CanRetainOtherContext(Map::cast(map), - *native_context_)) { - Map* feedback = Map::cast(map)->CurrentMapForDeprecated(); - if (feedback != NULL) SetInfo(ast_id, feedback); - } - } - } else { - SetInfo(ast_id, target); + if (target->ic_state() == MONOMORPHIC && + target->check_type() != RECEIVER_MAP_CHECK) { + SetInfo(ast_id, Smi::FromInt(target->check_type())); + break; } - break; - + case Code::LOAD_IC: + case Code::STORE_IC: case Code::KEYED_CALL_IC: case Code::KEYED_LOAD_IC: case Code::KEYED_STORE_IC: diff --git a/src/type-info.h b/src/type-info.h index a0d321584..0ff99e994 100644 --- a/src/type-info.h +++ b/src/type-info.h @@ -230,18 +230,14 @@ class TypeFeedbackOracle: public ZoneObject { Isolate* isolate, Zone* zone); - bool LoadIsMonomorphicNormal(TypeFeedbackId id); bool LoadIsUninitialized(TypeFeedbackId id); bool LoadIsPreMonomorphic(TypeFeedbackId id); - bool LoadIsPolymorphic(TypeFeedbackId id); bool StoreIsUninitialized(TypeFeedbackId id); - bool StoreIsMonomorphicNormal(TypeFeedbackId id); bool StoreIsPreMonomorphic(TypeFeedbackId id); bool StoreIsKeyedPolymorphic(TypeFeedbackId id); bool CallIsMonomorphic(TypeFeedbackId aid); bool KeyedArrayCallIsHoley(TypeFeedbackId id); bool CallNewIsMonomorphic(TypeFeedbackId id); - bool ObjectLiteralStoreIsMonomorphic(TypeFeedbackId id); // TODO(1571) We can't use ForInStatement::ForInType as the return value due // to various cycles in our headers. @@ -249,27 +245,13 @@ class TypeFeedbackOracle: public ZoneObject { // be possible. byte ForInType(TypeFeedbackId id); - Handle LoadMonomorphicReceiverType(TypeFeedbackId id); - Handle StoreMonomorphicReceiverType(TypeFeedbackId id); - KeyedAccessStoreMode GetStoreMode(TypeFeedbackId id); - void LoadReceiverTypes(TypeFeedbackId id, - Handle name, - SmallMapList* types); - void StoreReceiverTypes(TypeFeedbackId id, - Handle name, - SmallMapList* types); void CallReceiverTypes(TypeFeedbackId id, Handle name, int arity, CallKind call_kind, SmallMapList* types); - void CollectKeyedReceiverTypes(TypeFeedbackId id, - SmallMapList* types); - void CollectPolymorphicStoreReceiverTypes(TypeFeedbackId id, - SmallMapList* types); - void PropertyReceiverTypes(TypeFeedbackId id, Handle name, SmallMapList* receiver_types, @@ -286,19 +268,18 @@ class TypeFeedbackOracle: public ZoneObject { void CountReceiverTypes(TypeFeedbackId id, SmallMapList* receiver_types); + void CollectReceiverTypes(TypeFeedbackId id, + SmallMapList* types); + static bool CanRetainOtherContext(Map* map, Context* native_context); static bool CanRetainOtherContext(JSFunction* function, Context* native_context); - void CollectPolymorphicMaps(Handle code, SmallMapList* types); - CheckType GetCallCheckType(TypeFeedbackId id); Handle GetCallTarget(TypeFeedbackId id); Handle GetCallNewTarget(TypeFeedbackId id); Handle GetCallNewAllocationInfoCell(TypeFeedbackId id); - Handle GetObjectLiteralStoreMap(TypeFeedbackId id); - bool LoadIsBuiltin(TypeFeedbackId id, Builtins::Name builtin_id); bool LoadIsStub(TypeFeedbackId id, ICStub* stub); diff --git a/src/typing.cc b/src/typing.cc index 8487c05eb..9458d6dc2 100644 --- a/src/typing.cc +++ b/src/typing.cc @@ -394,8 +394,6 @@ void AstTyper::VisitAssignment(Assignment* expr) { expr->set_is_uninitialized(oracle()->StoreIsUninitialized(id)); if (!expr->IsUninitialized()) { expr->set_is_pre_monomorphic(oracle()->StoreIsPreMonomorphic(id)); - expr->set_is_monomorphic(oracle()->StoreIsMonomorphicNormal(id)); - ASSERT(!expr->IsPreMonomorphic() || !expr->IsMonomorphic()); if (prop->key()->IsPropertyName()) { Literal* lit_key = prop->key()->AsLiteral(); ASSERT(lit_key != NULL && lit_key->value()->IsString()); @@ -407,6 +405,7 @@ void AstTyper::VisitAssignment(Assignment* expr) { id, expr->GetReceiverTypes(), &store_mode); expr->set_store_mode(store_mode); } + ASSERT(!expr->IsPreMonomorphic() || !expr->IsMonomorphic()); } } @@ -445,8 +444,6 @@ void AstTyper::VisitProperty(Property* expr) { expr->set_is_uninitialized(oracle()->LoadIsUninitialized(id)); if (!expr->IsUninitialized()) { expr->set_is_pre_monomorphic(oracle()->LoadIsPreMonomorphic(id)); - expr->set_is_monomorphic(oracle()->LoadIsMonomorphicNormal(id)); - ASSERT(!expr->IsPreMonomorphic() || !expr->IsMonomorphic()); if (expr->key()->IsPropertyName()) { Literal* lit_key = expr->key()->AsLiteral(); ASSERT(lit_key != NULL && lit_key->value()->IsString()); @@ -461,6 +458,7 @@ void AstTyper::VisitProperty(Property* expr) { id, expr->GetReceiverTypes(), &is_string); expr->set_is_string_access(is_string); } + ASSERT(!expr->IsPreMonomorphic() || !expr->IsMonomorphic()); } RECURSE(Visit(expr->obj())); @@ -551,7 +549,6 @@ void AstTyper::VisitUnaryOperation(UnaryOperation* expr) { void AstTyper::VisitCountOperation(CountOperation* expr) { // Collect type feedback. TypeFeedbackId store_id = expr->CountStoreFeedbackId(); - expr->set_is_monomorphic(oracle()->StoreIsMonomorphicNormal(store_id)); expr->set_store_mode(oracle()->GetStoreMode(store_id)); oracle()->CountReceiverTypes(store_id, expr->GetReceiverTypes()); expr->set_type(oracle()->CountType(expr->CountBinOpFeedbackId())); diff --git a/src/version.cc b/src/version.cc index ba4f73450..24732cfcf 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 4 +#define PATCH_LEVEL 5 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-calls-with-migrating-prototypes.js b/test/mjsunit/regress/regress-calls-with-migrating-prototypes.js new file mode 100644 index 000000000..a306e5d9d --- /dev/null +++ b/test/mjsunit/regress/regress-calls-with-migrating-prototypes.js @@ -0,0 +1,49 @@ +// Copyright 2013 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Flags: --allow-natives-syntax + +function f() { + return 1; +} +function C1(f) { + this.f = f; +} +var o1 = new C1(f); +var o2 = {__proto__: new C1(f) } +function foo(o) { + return o.f(); +} +foo(o1); +foo(o1); +foo(o2); +foo(o1); +var o3 = new C1(function() { return 2; }); +%OptimizeFunctionOnNextCall(foo); +assertEquals(1, foo(o2)); +o2.__proto__.f = function() { return 3; }; +assertEquals(3, foo(o2)); -- cgit v1.2.3 From e7c082581083cbc45006a73c2b410435575f30c4 Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Mon, 13 Jan 2014 11:34:55 +0000 Subject: Merged r18284 into 3.23 branch. Increase number of available major keys. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/136513002 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/code-stubs.h | 1 + src/objects.h | 4 ++-- src/version.cc | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/code-stubs.h b/src/code-stubs.h index c377d7532..bedf295d2 100644 --- a/src/code-stubs.h +++ b/src/code-stubs.h @@ -246,6 +246,7 @@ class CodeStub BASE_EMBEDDED { MajorKeyBits::encode(MajorKey()); } + STATIC_ASSERT(NUMBER_OF_IDS < (1 << kStubMajorKeyBits)); class MajorKeyBits: public BitField {}; class MinorKeyBits: public BitField {}; // NOLINT diff --git a/src/objects.h b/src/objects.h index 26051dd59..09a1c7cfb 100644 --- a/src/objects.h +++ b/src/objects.h @@ -311,7 +311,7 @@ static const ExtraICState kNoExtraICState = 0; // Instance size sentinel for objects of variable size. const int kVariableSizeSentinel = 0; -const int kStubMajorKeyBits = 6; +const int kStubMajorKeyBits = 7; const int kStubMinorKeyBits = kBitsPerInt - kSmiTagSize - kStubMajorKeyBits; // All Maps have a field instance_type containing a InstanceType. @@ -5487,7 +5487,7 @@ class Code: public HeapObject { static const int kStubMajorKeyFirstBit = kIsCrankshaftedBit + 1; static const int kSafepointTableOffsetFirstBit = kStubMajorKeyFirstBit + kStubMajorKeyBits; - static const int kSafepointTableOffsetBitCount = 25; + static const int kSafepointTableOffsetBitCount = 24; STATIC_ASSERT(kStubMajorKeyFirstBit + kStubMajorKeyBits <= 32); STATIC_ASSERT(kSafepointTableOffsetFirstBit + diff --git a/src/version.cc b/src/version.cc index 24732cfcf..c0a940ae0 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 5 +#define PATCH_LEVEL 6 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 -- cgit v1.2.3 From 2c45addeb1788c63746dd1ba81bf801951ac8e3b Mon Sep 17 00:00:00 2001 From: "verwaest@chromium.org" Date: Wed, 15 Jan 2014 16:25:55 +0000 Subject: Merged r18286, r18289, r18291, r18292, r18299, r18327 into 3.23 branch. Fix patching the receiver (global object -> global proxy) after the interceptor. Properly restore the receiver after the interceptor call. Fix popping order on ARM. Push receiver and holder separately, given that they can be the same. Fixed global object leak caused by overwriting the global receiver (the global proxy) in the global object with the global object itself. Move the receiver into r0 for PatchGlobalProxy. This fixes the ARM/android bug http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered_tests/builds/112686/steps/androidwebview_instrumentation_tests TBR=dcarney@chromium.org BUG=324812 LOG=N R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/137993018 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- include/v8.h | 28 +++-------- src/api.cc | 16 +++---- src/arm/stub-cache-arm.cc | 11 +++-- src/bootstrapper.cc | 11 ----- src/bootstrapper.h | 3 -- src/ia32/stub-cache-ia32.cc | 14 +++--- src/objects-inl.h | 17 +++---- src/objects.h | 5 ++ src/runtime.cc | 10 ++++ src/runtime.h | 1 + src/v8natives.js | 7 ++- src/version.cc | 2 +- src/x64/stub-cache-x64.cc | 14 +++--- test/cctest/test-api.cc | 97 ++++++++++++++++++++++++-------------- test/cctest/test-decls.cc | 6 +-- test/cctest/test-object-observe.cc | 28 ++++------- 16 files changed, 137 insertions(+), 133 deletions(-) diff --git a/include/v8.h b/include/v8.h index 815f43db7..9bf96081d 100644 --- a/include/v8.h +++ b/include/v8.h @@ -5150,20 +5150,16 @@ class V8_EXPORT ExtensionConfiguration { class V8_EXPORT Context { public: /** - * Returns the global proxy object or global object itself for - * detached contexts. + * Returns the global proxy object. * - * Global proxy object is a thin wrapper whose prototype points to - * actual context's global object with the properties like Object, etc. - * This is done that way for security reasons (for more details see + * Global proxy object is a thin wrapper whose prototype points to actual + * context's global object with the properties like Object, etc. This is done + * that way for security reasons (for more details see * https://wiki.mozilla.org/Gecko:SplitWindow). * * Please note that changes to global proxy object prototype most probably - * would break VM---v8 expects only global object as a prototype of - * global proxy object. - * - * If DetachGlobal() has been invoked, Global() would return actual global - * object until global is reattached with ReattachGlobal(). + * would break VM---v8 expects only global object as a prototype of global + * proxy object. */ Local Global(); @@ -5173,18 +5169,6 @@ class V8_EXPORT Context { */ void DetachGlobal(); - /** - * Reattaches a global object to a context. This can be used to - * restore the connection between a global object and a context - * after DetachGlobal has been called. - * - * \param global_object The global object to reattach to the - * context. For this to work, the global object must be the global - * object that was associated with this context before a call to - * DetachGlobal. - */ - void ReattachGlobal(Handle global_object); - /** * Creates a new context and returns a handle to the newly allocated * context. diff --git a/src/api.cc b/src/api.cc index aee9e3a46..d7c76d5a1 100644 --- a/src/api.cc +++ b/src/api.cc @@ -5410,6 +5410,12 @@ v8::Local Context::Global() { i::Handle context = Utils::OpenHandle(this); i::Isolate* isolate = context->GetIsolate(); i::Handle global(context->global_proxy(), isolate); + // TODO(dcarney): This should always return the global proxy + // but can't presently as calls to GetProtoype will return the wrong result. + if (i::Handle::cast( + global)->IsDetachedFrom(context->global_object())) { + global = i::Handle(context->global_object(), isolate); + } return Utils::ToLocal(i::Handle::cast(global)); } @@ -5422,16 +5428,6 @@ void Context::DetachGlobal() { } -void Context::ReattachGlobal(Handle global_object) { - i::Handle context = Utils::OpenHandle(this); - i::Isolate* isolate = context->GetIsolate(); - ENTER_V8(isolate); - i::Handle global_proxy = - i::Handle::cast(Utils::OpenHandle(*global_object)); - isolate->bootstrapper()->ReattachGlobal(context, global_proxy); -} - - void Context::AllowCodeGenerationFromStrings(bool allow) { i::Handle context = Utils::OpenHandle(this); i::Isolate* isolate = context->GetIsolate(); diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc index 265265d59..4ca5e27ed 100644 --- a/src/arm/stub-cache-arm.cc +++ b/src/arm/stub-cache-arm.cc @@ -1021,7 +1021,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { // holder haven't changed and thus we can use cached constant function. if (*interceptor_holder != lookup->holder()) { stub_compiler_->CheckPrototypes( - IC::CurrentTypeOf(interceptor_holder, masm->isolate()), receiver, + IC::CurrentTypeOf(interceptor_holder, masm->isolate()), holder, handle(lookup->holder()), scratch1, scratch2, scratch3, name, depth2, miss); } else { @@ -1038,7 +1038,8 @@ class CallInterceptorCompiler BASE_EMBEDDED { masm, optimization, arguments_.immediate(), false); } else { Handle function = optimization.constant_function(); - stub_compiler_->GenerateJumpFunctionIgnoreReceiver(function); + __ Move(r0, receiver); + stub_compiler_->GenerateJumpFunction(object, function); } // Deferred code for fast API call case---clean preallocated space. @@ -1091,12 +1092,14 @@ class CallInterceptorCompiler BASE_EMBEDDED { Label* interceptor_succeeded) { { FrameScope scope(masm, StackFrame::INTERNAL); + __ Push(receiver); __ Push(holder, name_); CompileCallLoadPropertyWithInterceptor( masm, receiver, holder, name_, holder_obj, IC::kLoadPropertyWithInterceptorOnly); - __ pop(name_); // Restore the name. - __ pop(receiver); // Restore the holder. + __ pop(name_); + __ pop(holder); + __ pop(receiver); } // If interceptor returns no-result sentinel, call the constant function. __ LoadRoot(scratch, Heap::kNoInterceptorResultSentinelRootIndex); diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc index 4d69f8407..2b2f7c719 100644 --- a/src/bootstrapper.cc +++ b/src/bootstrapper.cc @@ -339,17 +339,6 @@ void Bootstrapper::DetachGlobal(Handle env) { Handle global_proxy(JSGlobalProxy::cast(env->global_proxy())); global_proxy->set_native_context(*factory->null_value()); SetObjectPrototype(global_proxy, factory->null_value()); - env->set_global_proxy(env->global_object()); - env->global_object()->set_global_receiver(env->global_object()); -} - - -void Bootstrapper::ReattachGlobal(Handle env, - Handle global_proxy) { - env->global_object()->set_global_receiver(*global_proxy); - env->set_global_proxy(*global_proxy); - SetObjectPrototype(global_proxy, Handle(env->global_object())); - global_proxy->set_native_context(*env); } diff --git a/src/bootstrapper.h b/src/bootstrapper.h index bac9f4037..4f63c8716 100644 --- a/src/bootstrapper.h +++ b/src/bootstrapper.h @@ -105,9 +105,6 @@ class Bootstrapper { // Detach the environment from its outer global object. void DetachGlobal(Handle env); - // Reattach an outer global object to an environment. - void ReattachGlobal(Handle env, Handle global_proxy); - // Traverses the pointers for memory management. void Iterate(ObjectVisitor* v); diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc index f4f3b2bed..9efedc673 100644 --- a/src/ia32/stub-cache-ia32.cc +++ b/src/ia32/stub-cache-ia32.cc @@ -740,7 +740,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { // holder haven't changed and thus we can use cached constant function. if (*interceptor_holder != lookup->holder()) { stub_compiler_->CheckPrototypes( - IC::CurrentTypeOf(interceptor_holder, masm->isolate()), receiver, + IC::CurrentTypeOf(interceptor_holder, masm->isolate()), holder, handle(lookup->holder()), scratch1, scratch2, scratch3, name, depth2, miss); } else { @@ -756,7 +756,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { GenerateFastApiCall(masm, optimization, arguments_.immediate()); } else { Handle fun = optimization.constant_function(); - stub_compiler_->GenerateJumpFunctionIgnoreReceiver(fun); + stub_compiler_->GenerateJumpFunction(object, fun); } // Deferred code for fast API call case---clean preallocated space. @@ -808,15 +808,17 @@ class CallInterceptorCompiler BASE_EMBEDDED { Label* interceptor_succeeded) { { FrameScope scope(masm, StackFrame::INTERNAL); - __ push(holder); // Save the holder. - __ push(name_); // Save the name. + __ push(receiver); + __ push(holder); + __ push(name_); CompileCallLoadPropertyWithInterceptor( masm, receiver, holder, name_, holder_obj, IC::kLoadPropertyWithInterceptorOnly); - __ pop(name_); // Restore the name. - __ pop(receiver); // Restore the holder. + __ pop(name_); + __ pop(holder); + __ pop(receiver); // Leave the internal frame. } diff --git a/src/objects-inl.h b/src/objects-inl.h index 8406a6ad6..02e3160c9 100644 --- a/src/objects-inl.h +++ b/src/objects-inl.h @@ -5907,16 +5907,13 @@ PropertyAttributes JSReceiver::GetElementAttribute(uint32_t index) { } -// TODO(504): this may be useful in other places too where JSGlobalProxy -// is used. -Object* JSObject::BypassGlobalProxy() { - if (IsJSGlobalProxy()) { - Object* proto = GetPrototype(); - if (proto->IsNull()) return GetHeap()->undefined_value(); - ASSERT(proto->IsJSGlobalObject()); - return proto; - } - return this; +bool JSGlobalObject::IsDetached() { + return JSGlobalProxy::cast(global_receiver())->IsDetachedFrom(this); +} + + +bool JSGlobalProxy::IsDetachedFrom(GlobalObject* global) { + return GetPrototype() != global; } diff --git a/src/objects.h b/src/objects.h index 09a1c7cfb..521665734 100644 --- a/src/objects.h +++ b/src/objects.h @@ -878,6 +878,7 @@ class DictionaryElementsAccessor; class ElementsAccessor; class Failure; class FixedArrayBase; +class GlobalObject; class ObjectVisitor; class StringStream; class Type; @@ -7424,6 +7425,8 @@ class JSGlobalProxy : public JSObject { // Casting. static inline JSGlobalProxy* cast(Object* obj); + inline bool IsDetachedFrom(GlobalObject* global); + // Dispatched behavior. DECLARE_PRINTER(JSGlobalProxy) DECLARE_VERIFIER(JSGlobalProxy) @@ -7493,6 +7496,8 @@ class JSGlobalObject: public GlobalObject { static Handle EnsurePropertyCell(Handle global, Handle name); + inline bool IsDetached(); + // Dispatched behavior. DECLARE_PRINTER(JSGlobalObject) DECLARE_VERIFIER(JSGlobalObject) diff --git a/src/runtime.cc b/src/runtime.cc index 7dc96f201..c909f34db 100644 --- a/src/runtime.cc +++ b/src/runtime.cc @@ -9646,6 +9646,16 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GlobalReceiver) { } +RUNTIME_FUNCTION(MaybeObject*, Runtime_IsAttachedGlobal) { + SealHandleScope shs(isolate); + ASSERT(args.length() == 1); + Object* global = args[0]; + if (!global->IsJSGlobalObject()) return isolate->heap()->false_value(); + return isolate->heap()->ToBoolean( + !JSGlobalObject::cast(global)->IsDetached()); +} + + RUNTIME_FUNCTION(MaybeObject*, Runtime_ParseJson) { HandleScope scope(isolate); ASSERT_EQ(1, args.length()); diff --git a/src/runtime.h b/src/runtime.h index 0f920c725..6a0358399 100644 --- a/src/runtime.h +++ b/src/runtime.h @@ -278,6 +278,7 @@ namespace internal { \ /* Eval */ \ F(GlobalReceiver, 1, 1) \ + F(IsAttachedGlobal, 1, 1) \ F(ResolvePossiblyDirectEval, 5, 2) \ \ F(SetProperty, -1 /* 4 or 5 */, 1) \ diff --git a/src/v8natives.js b/src/v8natives.js index b715e8923..96b88c528 100644 --- a/src/v8natives.js +++ b/src/v8natives.js @@ -170,19 +170,18 @@ function GlobalParseFloat(string) { function GlobalEval(x) { if (!IS_STRING(x)) return x; - var global_receiver = %GlobalReceiver(global); - var global_is_detached = (global === global_receiver); - // For consistency with JSC we require the global object passed to // eval to be the global object from which 'eval' originated. This // is not mandated by the spec. // We only throw if the global has been detached, since we need the // receiver as this-value for the call. - if (global_is_detached) { + if (!%IsAttachedGlobal(global)) { throw new $EvalError('The "this" value passed to eval must ' + 'be the global object from which eval originated'); } + var global_receiver = %GlobalReceiver(global); + var f = %CompileString(x, false); if (!IS_FUNCTION(f)) return f; diff --git a/src/version.cc b/src/version.cc index c0a940ae0..70b626e1a 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 6 +#define PATCH_LEVEL 7 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc index 9bf6e9f2f..c87f00fc4 100644 --- a/src/x64/stub-cache-x64.cc +++ b/src/x64/stub-cache-x64.cc @@ -733,7 +733,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { // holder haven't changed and thus we can use cached constant function. if (*interceptor_holder != lookup->holder()) { stub_compiler_->CheckPrototypes( - IC::CurrentTypeOf(interceptor_holder, masm->isolate()), receiver, + IC::CurrentTypeOf(interceptor_holder, masm->isolate()), holder, handle(lookup->holder()), scratch1, scratch2, scratch3, name, depth2, miss); } else { @@ -749,7 +749,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { GenerateFastApiCall(masm, optimization, arguments_.immediate()); } else { Handle fun = optimization.constant_function(); - stub_compiler_->GenerateJumpFunctionIgnoreReceiver(fun); + stub_compiler_->GenerateJumpFunction(object, fun); } // Deferred code for fast API call case---clean preallocated space. @@ -801,15 +801,17 @@ class CallInterceptorCompiler BASE_EMBEDDED { Label* interceptor_succeeded) { { FrameScope scope(masm, StackFrame::INTERNAL); - __ push(holder); // Save the holder. - __ push(name_); // Save the name. + __ push(receiver); + __ push(holder); + __ push(name_); CompileCallLoadPropertyWithInterceptor( masm, receiver, holder, name_, holder_obj, IC::kLoadPropertyWithInterceptorOnly); - __ pop(name_); // Restore the name. - __ pop(receiver); // Restore the holder. + __ pop(name_); + __ pop(holder); + __ pop(receiver); // Leave the internal frame. } diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc index 2e457d0e8..57c98d06d 100644 --- a/test/cctest/test-api.cc +++ b/test/cctest/test-api.cc @@ -8502,8 +8502,6 @@ TEST(ContextDetachGlobal) { // Detach env2's global, and reuse the global object of env2 env2->Exit(); env2->DetachGlobal(); - // env2 has a new global object. - CHECK(!env2->Global()->Equals(global2)); v8::Handle env3 = Context::New(env1->GetIsolate(), 0, @@ -8538,7 +8536,7 @@ TEST(ContextDetachGlobal) { } -TEST(DetachAndReattachGlobal) { +TEST(DetachGlobal) { LocalContext env1; v8::HandleScope scope(env1->GetIsolate()); @@ -8603,16 +8601,58 @@ TEST(DetachAndReattachGlobal) { // so access should be blocked. result = CompileRun("other.p"); CHECK(result->IsUndefined()); +} - // Detach the global for env3 and reattach it to env2. - env3->DetachGlobal(); - env2->ReattachGlobal(global2); - // Check that we have access to other.p again in env1. |other| is now - // the global object for env2 which has the same security token as env1. - result = CompileRun("other.p"); - CHECK(result->IsInt32()); - CHECK_EQ(42, result->Int32Value()); +TEST(DetachedAccesses) { + LocalContext env1; + v8::HandleScope scope(env1->GetIsolate()); + + // Create second environment. + v8::Handle env2 = Context::New(env1->GetIsolate()); + + Local foo = v8_str("foo"); + + // Set same security token for env1 and env2. + env1->SetSecurityToken(foo); + env2->SetSecurityToken(foo); + + { + v8::Context::Scope scope(env2); + CompileRun( + "var x = 'x';" + "function get_x() { return this.x; }" + "function get_x_w() { return get_x(); }" + ""); + env1->Global()->Set(v8_str("get_x"), CompileRun("get_x")); + env1->Global()->Set(v8_str("get_x_w"), CompileRun("get_x_w")); + } + + Local env2_global = env2->Global(); + env2_global->TurnOnAccessCheck(); + env2->DetachGlobal(); + + Local result; + result = CompileRun("get_x()"); + CHECK(result->IsUndefined()); + result = CompileRun("get_x_w()"); + CHECK(result->IsUndefined()); + + // Reattach env2's proxy + env2 = Context::New(env1->GetIsolate(), + 0, + v8::Handle(), + env2_global); + env2->SetSecurityToken(foo); + { + v8::Context::Scope scope(env2); + CompileRun("var x = 'x2';"); + } + + result = CompileRun("get_x()"); + CHECK(result->IsUndefined()); + result = CompileRun("get_x_w()"); + CHECK_EQ(v8_str("x2"), result); } @@ -14230,8 +14270,10 @@ THREADED_TEST(TurnOnAccessCheck) { } // Detach the global and turn on access check. + Local hidden_global = Local::Cast( + context->Global()->GetPrototype()); context->DetachGlobal(); - context->Global()->TurnOnAccessCheck(); + hidden_global->TurnOnAccessCheck(); // Failing access check to property get results in undefined. CHECK(f1->Call(global, 0, NULL)->IsUndefined()); @@ -14315,8 +14357,10 @@ THREADED_TEST(TurnOnAccessCheckAndRecompile) { // Detach the global and turn on access check now blocking access to property // a and function h. + Local hidden_global = Local::Cast( + context->Global()->GetPrototype()); context->DetachGlobal(); - context->Global()->TurnOnAccessCheck(); + hidden_global->TurnOnAccessCheck(); // Failing access check to property get results in undefined. CHECK(f1->Call(global, 0, NULL)->IsUndefined()); @@ -14332,11 +14376,11 @@ THREADED_TEST(TurnOnAccessCheckAndRecompile) { // Now compile the source again. And get the newly compiled functions, except // for h for which access is blocked. CompileRun(source); - f1 = Local::Cast(context->Global()->Get(v8_str("f1"))); - f2 = Local::Cast(context->Global()->Get(v8_str("f2"))); - g1 = Local::Cast(context->Global()->Get(v8_str("g1"))); - g2 = Local::Cast(context->Global()->Get(v8_str("g2"))); - CHECK(context->Global()->Get(v8_str("h"))->IsUndefined()); + f1 = Local::Cast(hidden_global->Get(v8_str("f1"))); + f2 = Local::Cast(hidden_global->Get(v8_str("f2"))); + g1 = Local::Cast(hidden_global->Get(v8_str("g1"))); + g2 = Local::Cast(hidden_global->Get(v8_str("g2"))); + CHECK(hidden_global->Get(v8_str("h"))->IsUndefined()); // Failing access check to property get results in undefined. CHECK(f1->Call(global, 0, NULL)->IsUndefined()); @@ -15203,23 +15247,6 @@ THREADED_TEST(ReplaceConstantFunction) { } -// Regression test for http://crbug.com/16276. -THREADED_TEST(Regress16276) { - LocalContext context; - v8::HandleScope scope(context->GetIsolate()); - // Force the IC in f to be a dictionary load IC. - CompileRun("function f(obj) { return obj.x; }\n" - "var obj = { x: { foo: 42 }, y: 87 };\n" - "var x = obj.x;\n" - "delete obj.y;\n" - "for (var i = 0; i < 5; i++) f(obj);"); - // Detach the global object to make 'this' refer directly to the - // global object (not the proxy), and make sure that the dictionary - // load IC doesn't mess up loading directly from the global object. - context->DetachGlobal(); - CHECK_EQ(42, CompileRun("f(this).foo")->Int32Value()); -} - static void CheckElementValue(i::Isolate* isolate, int expected, i::Handle obj, diff --git a/test/cctest/test-decls.cc b/test/cctest/test-decls.cc index c3bd5c449..de0d745c7 100644 --- a/test/cctest/test-decls.cc +++ b/test/cctest/test-decls.cc @@ -648,9 +648,9 @@ class ExistsInHiddenPrototypeContext: public DeclarationContext { virtual void PostInitializeContext(Handle context) { Local global_object = context->Global(); Local hidden_proto = hidden_proto_->GetFunction()->NewInstance(); - context->DetachGlobal(); - context->Global()->SetPrototype(hidden_proto); - context->ReattachGlobal(global_object); + Local inner_global = + Local::Cast(global_object->GetPrototype()); + inner_global->SetPrototype(hidden_proto); } // Use the hidden prototype as the holder for the interceptors. diff --git a/test/cctest/test-object-observe.cc b/test/cctest/test-object-observe.cc index 4c32d44dc..b4e7c6974 100644 --- a/test/cctest/test-object-observe.cc +++ b/test/cctest/test-object-observe.cc @@ -242,7 +242,6 @@ TEST(GlobalObjectObservation) { LocalContext context(isolate.GetIsolate()); HandleScope scope(isolate.GetIsolate()); Handle global_proxy = context->Global(); - Handle inner_global = global_proxy->GetPrototype().As(); CompileRun( "var records = [];" "var global = this;" @@ -255,33 +254,26 @@ TEST(GlobalObjectObservation) { context->DetachGlobal(); CompileRun("global.bar = 'goodbye';"); CHECK_EQ(1, CompileRun("records.length")->Int32Value()); - - // Mutating the global object directly still has an effect... - CompileRun("this.bar = 'goodbye';"); - CHECK_EQ(2, CompileRun("records.length")->Int32Value()); - CHECK(inner_global->StrictEquals(CompileRun("records[1].object"))); - - // Reattached, back to global proxy. - context->ReattachGlobal(global_proxy); - CompileRun("global.baz = 'again';"); - CHECK_EQ(3, CompileRun("records.length")->Int32Value()); - CHECK(global_proxy->StrictEquals(CompileRun("records[2].object"))); + CompileRun("this.baz = 'goodbye';"); + CHECK_EQ(1, CompileRun("records.length")->Int32Value()); // Attached to a different context, should not leak mutations // to the old context. context->DetachGlobal(); { LocalContext context2(isolate.GetIsolate()); - context2->DetachGlobal(); - context2->ReattachGlobal(global_proxy); CompileRun( "var records2 = [];" + "var global = this;" "Object.observe(this, function(r) { [].push.apply(records2, r) });" - "this.bat = 'context2';"); + "this.v1 = 'context2';"); + context2->DetachGlobal(); + CompileRun( + "global.v2 = 'context2';" + "this.v3 = 'context2';"); CHECK_EQ(1, CompileRun("records2.length")->Int32Value()); - CHECK(global_proxy->StrictEquals(CompileRun("records2[0].object"))); } - CHECK_EQ(3, CompileRun("records.length")->Int32Value()); + CHECK_EQ(1, CompileRun("records.length")->Int32Value()); // Attaching by passing to Context::New { @@ -295,7 +287,7 @@ TEST(GlobalObjectObservation) { CHECK_EQ(1, CompileRun("records3.length")->Int32Value()); CHECK(global_proxy->StrictEquals(CompileRun("records3[0].object"))); } - CHECK_EQ(3, CompileRun("records.length")->Int32Value()); + CHECK_EQ(1, CompileRun("records.length")->Int32Value()); } -- cgit v1.2.3 From 089ff3201a058d730ea38791253f36b2fc534ae2 Mon Sep 17 00:00:00 2001 From: "palfia@homejinni.com" Date: Wed, 15 Jan 2014 18:11:24 +0000 Subject: Merged r18293, r18294, r18295, r18328 into 3.23 branch. MIPS: Fix patching the receiver (global object -> global proxy) after the interceptor. MIPS: Properly restore the receiver after the interceptor call. MIPS: Fix popping order on ARM. MIPS: Move the receiver into r0 for PatchGlobalProxy. R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/131743012 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/mips/stub-cache-mips.cc | 12 +++++++----- src/version.cc | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc index 3d4617a0a..621753064 100644 --- a/src/mips/stub-cache-mips.cc +++ b/src/mips/stub-cache-mips.cc @@ -1009,7 +1009,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { // holder haven't changed and thus we can use cached constant function. if (*interceptor_holder != lookup->holder()) { stub_compiler_->CheckPrototypes( - IC::CurrentTypeOf(interceptor_holder, masm->isolate()), receiver, + IC::CurrentTypeOf(interceptor_holder, masm->isolate()), holder, handle(lookup->holder()), scratch1, scratch2, scratch3, name, depth2, miss); } else { @@ -1026,7 +1026,8 @@ class CallInterceptorCompiler BASE_EMBEDDED { masm, optimization, arguments_.immediate(), false); } else { Handle function = optimization.constant_function(); - stub_compiler_->GenerateJumpFunctionIgnoreReceiver(function); + __ Move(a0, receiver); + stub_compiler_->GenerateJumpFunction(object, function); } // Deferred code for fast API call case---clean preallocated space. @@ -1080,12 +1081,13 @@ class CallInterceptorCompiler BASE_EMBEDDED { { FrameScope scope(masm, StackFrame::INTERNAL); - __ Push(holder, name_); + __ Push(receiver, holder, name_); CompileCallLoadPropertyWithInterceptor( masm, receiver, holder, name_, holder_obj, IC::kLoadPropertyWithInterceptorOnly); - __ pop(name_); // Restore the name. - __ pop(receiver); // Restore the holder. + __ pop(name_); + __ pop(holder); + __ pop(receiver); } // If interceptor returns no-result sentinel, call the constant function. __ LoadRoot(scratch, Heap::kNoInterceptorResultSentinelRootIndex); diff --git a/src/version.cc b/src/version.cc index 70b626e1a..99fc587e0 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 7 +#define PATCH_LEVEL 8 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 -- cgit v1.2.3 From 598f48de485c6cdf471e922b633e724e65d09af6 Mon Sep 17 00:00:00 2001 From: "ulan@chromium.org" Date: Thu, 16 Jan 2014 09:42:34 +0000 Subject: Merged r18483, r18484 into 3.23 branch. Fix selection of popular pages in store buffer. Correctly handle instances without elements in polymorphic keyed load/store. BUG=331444,331416 LOG=N R=verwaest@chromium.org Review URL: https://codereview.chromium.org/140703002 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/store-buffer.cc | 2 +- src/stub-cache.cc | 4 +++ src/version.cc | 2 +- test/mjsunit/regress/regress-331416.js | 52 ++++++++++++++++++++++++++++++++++ test/mjsunit/regress/regress-331444.js | 44 ++++++++++++++++++++++++++++ 5 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 test/mjsunit/regress/regress-331416.js create mode 100644 test/mjsunit/regress/regress-331444.js diff --git a/src/store-buffer.cc b/src/store-buffer.cc index 22a546742..e89eb1bfe 100644 --- a/src/store-buffer.cc +++ b/src/store-buffer.cc @@ -224,7 +224,7 @@ void StoreBuffer::ExemptPopularPages(int prime_sample_step, int threshold) { containing_chunk = MemoryChunk::FromAnyPointerAddress(heap_, addr); } int old_counter = containing_chunk->store_buffer_counter(); - if (old_counter == threshold) { + if (old_counter >= threshold) { containing_chunk->set_scan_on_scavenge(true); created_new_scan_on_scavenge_pages = true; } diff --git a/src/stub-cache.cc b/src/stub-cache.cc index 987c16119..689eeaef1 100644 --- a/src/stub-cache.cc +++ b/src/stub-cache.cc @@ -1667,6 +1667,8 @@ void KeyedLoadStubCompiler::CompileElementHandlers(MapHandleList* receiver_maps, if ((receiver_map->instance_type() & kNotStringTag) == 0) { cached_stub = isolate()->builtins()->KeyedLoadIC_String(); + } else if (receiver_map->instance_type() < FIRST_JS_RECEIVER_TYPE) { + cached_stub = isolate()->builtins()->KeyedLoadIC_Slow(); } else { bool is_js_array = receiver_map->instance_type() == JS_ARRAY_TYPE; ElementsKind elements_kind = receiver_map->elements_kind(); @@ -1711,6 +1713,8 @@ Handle KeyedStoreStubCompiler::CompileStoreElementPolymorphic( transitioned_map->elements_kind(), is_js_array, store_mode()).GetCode(isolate()); + } else if (receiver_map->instance_type() < FIRST_JS_RECEIVER_TYPE) { + cached_stub = isolate()->builtins()->KeyedStoreIC_Slow(); } else { if (receiver_map->has_fast_elements() || receiver_map->has_external_array_elements()) { diff --git a/src/version.cc b/src/version.cc index 99fc587e0..45e5ebce9 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 8 +#define PATCH_LEVEL 9 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-331416.js b/test/mjsunit/regress/regress-331416.js new file mode 100644 index 000000000..0c60fced1 --- /dev/null +++ b/test/mjsunit/regress/regress-331416.js @@ -0,0 +1,52 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Flags: --allow-natives-syntax + +function load(a, i) { + return a[i]; +} +load([1, 2, 3], "length"); +load(3); +load([1, 2, 3], 3); +load(0, 0); +%OptimizeFunctionOnNextCall(load); +assertEquals(2, load([1, 2, 3], 1)); +assertEquals(undefined, load(0, 0)); + +function store(a, i, x) { + a[i] = x; +} +store([1, 2, 3], "length", 3); +store(3); +store([1, 2, 3], 3, 3); +store(0, 0, 1); +%OptimizeFunctionOnNextCall(store); +var a = [1, 2, 3]; +store(a, 1, 1); +assertEquals(1, a[1]); +store(0, 0, 1); diff --git a/test/mjsunit/regress/regress-331444.js b/test/mjsunit/regress/regress-331444.js new file mode 100644 index 000000000..c78d6fb71 --- /dev/null +++ b/test/mjsunit/regress/regress-331444.js @@ -0,0 +1,44 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Flags: --expose-gc + +function boom() { + var args = []; + for (var i = 0; i < 125000; i++) + args.push(i); + return Array.apply(Array, args); +} +var array = boom(); +function fib(n) { + var f0 = 0, f1 = 1; + for (; n > 0; n = n - 1) { + f0 + f1; + f0 = array; + } +} +fib(12); -- cgit v1.2.3 From c8a13fcb7a7524ad7b23d7aa1c1cb2efa3ddc002 Mon Sep 17 00:00:00 2001 From: "svenpanne@chromium.org" Date: Fri, 24 Jan 2014 12:11:37 +0000 Subject: Merged r18737 into 3.23 branch. Fixed floor-of-div optimization. BUG=334708 LOG=N R=ulan@chromium.org Review URL: https://codereview.chromium.org/135903015 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen-instructions.cc | 12 +--------- src/version.cc | 2 +- test/mjsunit/regress/regress-334708.js | 42 ++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 12 deletions(-) create mode 100644 test/mjsunit/regress/regress-334708.js diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc index 9f9620235..519fb0ff8 100644 --- a/src/hydrogen-instructions.cc +++ b/src/hydrogen-instructions.cc @@ -1441,7 +1441,6 @@ HValue* HUnaryMathOperation::Canonicalize() { if (op() == kMathFloor) { HValue* val = value(); - if (val->IsChange()) val = HChange::cast(val)->value(); if (val->IsDiv() && (val->UseCount() == 1)) { HDiv* hdiv = HDiv::cast(val); HValue* left = hdiv->left(); @@ -1480,17 +1479,8 @@ HValue* HUnaryMathOperation::Canonicalize() { } HMathFloorOfDiv* instr = HMathFloorOfDiv::New(block()->zone(), context(), new_left, new_right); - // Replace this HMathFloor instruction by the new HMathFloorOfDiv. instr->InsertBefore(this); - ReplaceAllUsesWith(instr); - Kill(); - // We know the division had no other uses than this HMathFloor. Delete it. - // Dead code elimination will deal with |left| and |right| if - // appropriate. - hdiv->DeleteAndReplaceWith(NULL); - - // Return NULL to remove this instruction from the graph. - return NULL; + return instr; } } return this; diff --git a/src/version.cc b/src/version.cc index 45e5ebce9..ed1354cd5 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 9 +#define PATCH_LEVEL 10 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-334708.js b/test/mjsunit/regress/regress-334708.js new file mode 100644 index 000000000..f0291bbda --- /dev/null +++ b/test/mjsunit/regress/regress-334708.js @@ -0,0 +1,42 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Flags: --allow-natives-syntax + +function foo(x, y) { + return Math.floor(x / y); +} + +function bar(x, y) { + return foo(x + 1, y + 1); +} + +foo(16, "4"); + +bar(64, 2); +%OptimizeFunctionOnNextCall(bar); +bar(64, 2); -- cgit v1.2.3 From 8cc8ee35cf269fc0f9849545f07e08d43039b364 Mon Sep 17 00:00:00 2001 From: "titzer@chromium.org" Date: Tue, 28 Jan 2014 10:48:19 +0000 Subject: Merged r18697 into 3.23 branch. Fix representation requirement in HReturn. R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/148213008 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen-instructions.cc | 4 ++++ src/hydrogen-instructions.h | 2 ++ src/version.cc | 2 +- test/mjsunit/regress-333594.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 test/mjsunit/regress-333594.js diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc index 519fb0ff8..1323337b0 100644 --- a/src/hydrogen-instructions.cc +++ b/src/hydrogen-instructions.cc @@ -2523,6 +2523,7 @@ HConstant::HConstant(Handle handle, Representation r) has_smi_value_ = has_int32_value_ && Smi::IsValid(int32_value_); double_value_ = n; has_double_value_ = true; + // TODO(titzer): if this heap number is new space, tenure a new one. } else { is_internalized_string_ = handle->IsInternalizedString(); } @@ -2721,6 +2722,9 @@ void HConstant::PrintDataTo(StringStream* stream) { } else { handle(Isolate::Current())->ShortPrint(stream); } + if (!is_not_in_new_space_) { + stream->Add("[new space] "); + } } diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h index d4beb6e1d..045ef932e 100644 --- a/src/hydrogen-instructions.h +++ b/src/hydrogen-instructions.h @@ -1585,6 +1585,8 @@ class HReturn V8_FINAL : public HTemplateControlInstruction<0, 3> { DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P1(HReturn, HValue*); virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { + // TODO(titzer): require an Int32 input for faster returns. + if (index == 2) return Representation::Smi(); return Representation::Tagged(); } diff --git a/src/version.cc b/src/version.cc index ed1354cd5..c704427cd 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 10 +#define PATCH_LEVEL 11 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress-333594.js b/test/mjsunit/regress-333594.js new file mode 100644 index 000000000..6f6dbaafc --- /dev/null +++ b/test/mjsunit/regress-333594.js @@ -0,0 +1,42 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Flags: --allow-natives-syntax + +var a = { x: 1.1 }; +a.x = 0; +var G = a.x; +var o = { x: {} }; + +function func() { + return {x: G}; +} + +func(); +func(); +%OptimizeFunctionOnNextCall(func); +assertEquals(0, func().x); -- cgit v1.2.3 From 7426865f4820274f7835faf30c362b519b730398 Mon Sep 17 00:00:00 2001 From: "verwaest@chromium.org" Date: Wed, 29 Jan 2014 15:14:12 +0000 Subject: Merged r18754 into 3.23 branch. Ensure we don't overwrite transitions in SetPropertyIgnoreAttributes. BUG=326155 LOG=N R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/149503004 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@18917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/objects-inl.h | 11 +++++++++++ src/objects.cc | 5 ++++- src/version.cc | 2 +- test/cctest/test-api.cc | 15 +++++++++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/objects-inl.h b/src/objects-inl.h index 02e3160c9..0e72ec1b0 100644 --- a/src/objects-inl.h +++ b/src/objects-inl.h @@ -4469,6 +4469,17 @@ void Map::set_transitions(TransitionArray* transition_array, // When there is another reference to the array somewhere (e.g. a handle), // not zapping turns from a waste of memory into a source of crashes. if (HasTransitionArray()) { +#ifdef DEBUG + for (int i = 0; i < transitions()->number_of_transitions(); i++) { + Map* target = transitions()->GetTarget(i); + if (target->instance_descriptors() == instance_descriptors()) { + Name* key = transitions()->GetKey(i); + int new_target_index = transition_array->Search(key); + ASSERT(new_target_index != TransitionArray::kNotFound); + ASSERT(transition_array->GetTarget(new_target_index) == target); + } + } +#endif ASSERT(transitions() != transition_array); ZapTransitions(); } diff --git a/src/objects.cc b/src/objects.cc index cfb554bc7..832ddc152 100644 --- a/src/objects.cc +++ b/src/objects.cc @@ -4206,9 +4206,12 @@ Handle JSObject::SetLocalPropertyIgnoreAttributes( // Check for accessor in prototype chain removed here in clone. if (!lookup.IsFound()) { + object->map()->LookupTransition(*object, *name, &lookup); + TransitionFlag flag = lookup.IsFound() + ? OMIT_TRANSITION : INSERT_TRANSITION; // Neither properties nor transitions found. return AddProperty(object, name, value, attributes, kNonStrictMode, - MAY_BE_STORE_FROM_KEYED, extensibility_check, value_type, mode); + MAY_BE_STORE_FROM_KEYED, extensibility_check, value_type, mode, flag); } Handle old_value = isolate->factory()->the_hole_value(); diff --git a/src/version.cc b/src/version.cc index c704427cd..1cc969563 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 11 +#define PATCH_LEVEL 12 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc index 57c98d06d..00cc8bccc 100644 --- a/test/cctest/test-api.cc +++ b/test/cctest/test-api.cc @@ -1950,6 +1950,21 @@ void AddInterceptor(Handle templ, } +THREADED_TEST(EmptyInterceptorBreakTransitions) { + v8::HandleScope scope(CcTest::isolate()); + Handle templ = FunctionTemplate::New(); + AddInterceptor(templ, EmptyInterceptorGetter, EmptyInterceptorSetter); + LocalContext env; + env->Global()->Set(v8_str("Constructor"), templ->GetFunction()); + CompileRun("var o1 = new Constructor;" + "o1.a = 1;" // Ensure a and x share the descriptor array. + "Object.defineProperty(o1, 'x', {value: 10});"); + CompileRun("var o2 = new Constructor;" + "o2.a = 1;" + "Object.defineProperty(o2, 'x', {value: 10});"); +} + + THREADED_TEST(EmptyInterceptorDoesNotShadowAccessors) { v8::HandleScope scope(CcTest::isolate()); Handle parent = FunctionTemplate::New(); -- cgit v1.2.3 From 169cc94eecd03f2c4090f5f12f8a433b8364685c Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Wed, 12 Feb 2014 16:03:10 +0000 Subject: Merged r19031 into 3.23 branch. Fix short-circuiting logical and/or in HOptimizedGraphBuilder. BUG=336148 LOG=N R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/155643003 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen.cc | 13 ++++--- src/version.cc | 2 +- test/mjsunit/regress/regress-crbug-336148.js | 56 ++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 test/mjsunit/regress/regress-crbug-336148.js diff --git a/src/hydrogen.cc b/src/hydrogen.cc index 900e07ecd..36387fd0a 100644 --- a/src/hydrogen.cc +++ b/src/hydrogen.cc @@ -9003,11 +9003,14 @@ void HOptimizedGraphBuilder::VisitLogicalExpression(BinaryOperation* expr) { ASSERT(current_block() != NULL); HValue* left_value = Top(); - if (left_value->IsConstant()) { - HConstant* left_constant = HConstant::cast(left_value); - if ((is_logical_and && left_constant->BooleanValue()) || - (!is_logical_and && !left_constant->BooleanValue())) { - Drop(1); // left_value. + // Short-circuit left values that always evaluate to the same boolean value. + if (expr->left()->ToBooleanIsTrue() || expr->left()->ToBooleanIsFalse()) { + // l (evals true) && r -> r + // l (evals true) || r -> l + // l (evals false) && r -> l + // l (evals false) || r -> r + if (is_logical_and == expr->left()->ToBooleanIsTrue()) { + Drop(1); CHECK_ALIVE(VisitForValue(expr->right())); } return ast_context()->ReturnValue(Pop()); diff --git a/src/version.cc b/src/version.cc index 1cc969563..fe045f364 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 12 +#define PATCH_LEVEL 13 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-crbug-336148.js b/test/mjsunit/regress/regress-crbug-336148.js new file mode 100644 index 000000000..8157c9fcc --- /dev/null +++ b/test/mjsunit/regress/regress-crbug-336148.js @@ -0,0 +1,56 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Flags: --allow-natives-syntax + +function f(o) { + var a = 1; + if (true) return o.v && a; +} + +f({}); +f({}); +%OptimizeFunctionOnNextCall(f); +assertEquals(1, f({ v: 1 })); + + +function f1() { return 1 && 2; }; +function f2() { return 1 || 2; }; +function f3() { return 0 && 2; }; +function f4() { return 0 || 2; }; + +function test() { + assertEquals(2, f1()); + assertEquals(1, f2()); + assertEquals(0, f3()); + assertEquals(2, f4()); +} + +test(); +test(); +[f1, f2, f3, f4].forEach(function(f) { %OptimizeFunctionOnNextCall(f); }); +test(); -- cgit v1.2.3 From e3b442bc2783b64f4114011f9bbb0f1904d4b019 Mon Sep 17 00:00:00 2001 From: "palfia@homejinni.com" Date: Thu, 20 Feb 2014 12:33:58 +0000 Subject: Merged r19500 into 3.23 branch. MIPS: Fix performance regression on sunspider string-unpack-code. R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/173703003 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/mips/stub-cache-mips.cc | 10 +++++++--- src/version.cc | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc index 621753064..9f5089d55 100644 --- a/src/mips/stub-cache-mips.cc +++ b/src/mips/stub-cache-mips.cc @@ -2778,10 +2778,11 @@ Handle BaseLoadStoreStubCompiler::CompilePolymorphicIC( } Label number_case; + Register match = scratch1(); Label* smi_target = IncludesNumberType(types) ? &number_case : &miss; - __ JumpIfSmi(receiver(), smi_target); + __ JumpIfSmi(receiver(), smi_target, match); // Reg match is 0 if Smi. - Register map_reg = scratch1(); + Register map_reg = scratch2(); int receiver_count = types->length(); int number_of_handled_maps = 0; @@ -2791,12 +2792,15 @@ Handle BaseLoadStoreStubCompiler::CompilePolymorphicIC( Handle map = IC::TypeToMap(*type, isolate()); if (!map->is_deprecated()) { number_of_handled_maps++; + // Check map and tail call if there's a match. + // Separate compare from branch, to provide path for above JumpIfSmi(). + __ Subu(match, map_reg, Operand(map)); if (type->Is(Type::Number())) { ASSERT(!number_case.is_unused()); __ bind(&number_case); } __ Jump(handlers->at(current), RelocInfo::CODE_TARGET, - eq, map_reg, Operand(map)); + eq, match, Operand(zero_reg)); } } ASSERT(number_of_handled_maps != 0); diff --git a/src/version.cc b/src/version.cc index fe045f364..d0570ba75 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 13 +#define PATCH_LEVEL 14 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 -- cgit v1.2.3 From 8b363d4621a720d7a111f30bf168a09f82127ef2 Mon Sep 17 00:00:00 2001 From: "verwaest@chromium.org" Date: Wed, 26 Feb 2014 09:04:55 +0000 Subject: Merged r19440 into 3.23 branch. Directly store the transition target on LookupResult in TransitionResult. BUG=chromium:343964 LOG=N R=hpayer@chromium.org Review URL: https://codereview.chromium.org/181223002 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen-instructions.cc | 4 ++-- src/hydrogen.cc | 6 +++--- src/ic.cc | 13 ++++-------- src/objects-inl.h | 8 +++++++- src/objects.h | 2 ++ src/property.cc | 5 +++-- src/property.h | 47 +++++++++++++++----------------------------- src/transitions-inl.h | 4 +--- src/version.cc | 2 +- 9 files changed, 39 insertions(+), 52 deletions(-) diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc index 1323337b0..d418954aa 100644 --- a/src/hydrogen-instructions.cc +++ b/src/hydrogen-instructions.cc @@ -4296,14 +4296,14 @@ HObjectAccess HObjectAccess::ForBackingStoreOffset(int offset, HObjectAccess HObjectAccess::ForField(Handle map, LookupResult *lookup, Handle name) { - ASSERT(lookup->IsField() || lookup->IsTransitionToField(*map)); + ASSERT(lookup->IsField() || lookup->IsTransitionToField()); int index; Representation representation; if (lookup->IsField()) { index = lookup->GetLocalFieldIndexFromMap(*map); representation = lookup->representation(); } else { - Map* transition = lookup->GetTransitionMapFromMap(*map); + Map* transition = lookup->GetTransitionTarget(); int descriptor = transition->LastAdded(); index = transition->instance_descriptors()->GetFieldIndex(descriptor) - map->inobject_properties(); diff --git a/src/hydrogen.cc b/src/hydrogen.cc index 36387fd0a..a95f4a496 100644 --- a/src/hydrogen.cc +++ b/src/hydrogen.cc @@ -5230,7 +5230,7 @@ HInstruction* HOptimizedGraphBuilder::BuildStoreNamedField( } HObjectAccess field_access = HObjectAccess::ForField(map, lookup, name); - bool transition_to_field = lookup->IsTransitionToField(*map); + bool transition_to_field = lookup->IsTransitionToField(); HStoreNamedField *instr; if (FLAG_track_double_fields && field_access.representation().IsDouble()) { @@ -5266,7 +5266,7 @@ HInstruction* HOptimizedGraphBuilder::BuildStoreNamedField( } if (transition_to_field) { - Handle transition(lookup->GetTransitionMapFromMap(*map)); + Handle transition(lookup->GetTransitionTarget()); HConstant* transition_constant = Add(transition); instr->SetTransition(transition_constant, top_info()); // TODO(fschneider): Record the new map type of the object in the IR to @@ -5306,7 +5306,7 @@ static bool ComputeStoreField(Handle type, if (!lookup_transition) return false; type->LookupTransition(NULL, *name, lookup); - return lookup->IsTransitionToField(*type) && + return lookup->IsTransitionToField() && (type->unused_property_fields() > 0); } diff --git a/src/ic.cc b/src/ic.cc index 08df2261f..fc1ca5329 100644 --- a/src/ic.cc +++ b/src/ic.cc @@ -1470,8 +1470,7 @@ static bool LookupForWrite(Handle receiver, // receiver when trying to fetch extra information from the transition. receiver->map()->LookupTransition(*holder, *name, lookup); if (!lookup->IsTransition()) return false; - PropertyDetails target_details = - lookup->GetTransitionDetails(receiver->map()); + PropertyDetails target_details = lookup->GetTransitionDetails(); if (target_details.IsReadOnly()) return false; // If the value that's being stored does not fit in the field that the @@ -1482,7 +1481,7 @@ static bool LookupForWrite(Handle receiver, // transition target. ASSERT(!receiver->map()->is_deprecated()); if (!value->FitsRepresentation(target_details.representation())) { - Handle target(lookup->GetTransitionMapFromMap(receiver->map())); + Handle target(lookup->GetTransitionTarget()); Map::GeneralizeRepresentation( target, target->LastAdded(), value->OptimalRepresentation(), FORCE_FIELD); @@ -1629,12 +1628,8 @@ Handle StoreIC::CompileHandler(LookupResult* lookup, case TRANSITION: { // Explicitly pass in the receiver map since LookupForWrite may have // stored something else than the receiver in the holder. - Handle transition( - lookup->GetTransitionTarget(receiver->map()), isolate()); - int descriptor = transition->LastAdded(); - - DescriptorArray* target_descriptors = transition->instance_descriptors(); - PropertyDetails details = target_descriptors->GetDetails(descriptor); + Handle transition(lookup->GetTransitionTarget()); + PropertyDetails details = transition->GetLastDescriptorDetails(); if (details.type() == CALLBACKS || details.attributes() != NONE) break; diff --git a/src/objects-inl.h b/src/objects-inl.h index 0e72ec1b0..2db3c04f1 100644 --- a/src/objects-inl.h +++ b/src/objects-inl.h @@ -2345,6 +2345,11 @@ int DescriptorArray::SearchWithCache(Name* name, Map* map) { } +PropertyDetails Map::GetLastDescriptorDetails() { + return instance_descriptors()->GetDetails(LastAdded()); +} + + void Map::LookupDescriptor(JSObject* holder, Name* name, LookupResult* result) { @@ -2362,7 +2367,8 @@ void Map::LookupTransition(JSObject* holder, TransitionArray* transition_array = transitions(); int number = transition_array->Search(name); if (number != TransitionArray::kNotFound) { - return result->TransitionResult(holder, number); + return result->TransitionResult( + holder, transition_array->GetTarget(number)); } } result->NotFound(); diff --git a/src/objects.h b/src/objects.h index 521665734..a7f01d185 100644 --- a/src/objects.h +++ b/src/objects.h @@ -5990,6 +5990,8 @@ class Map: public HeapObject { Name* name, LookupResult* result); + inline PropertyDetails GetLastDescriptorDetails(); + // The size of transition arrays are limited so they do not end up in large // object space. Otherwise ClearNonLiveTransitions would leak memory while // applying in-place right trimming. diff --git a/src/property.cc b/src/property.cc index 83a6a365b..2f72eec48 100644 --- a/src/property.cc +++ b/src/property.cc @@ -35,6 +35,7 @@ void LookupResult::Iterate(ObjectVisitor* visitor) { LookupResult* current = this; // Could be NULL. while (current != NULL) { visitor->VisitPointer(BitCast(¤t->holder_)); + visitor->VisitPointer(BitCast(¤t->transition_)); current = current->next_; } } @@ -82,13 +83,13 @@ void LookupResult::Print(FILE* out) { case FIELD: PrintF(out, " -type = map transition\n"); PrintF(out, " -map:\n"); - GetTransitionMap()->Print(out); + GetTransitionTarget()->Print(out); PrintF(out, "\n"); return; case CONSTANT: PrintF(out, " -type = constant property transition\n"); PrintF(out, " -map:\n"); - GetTransitionMap()->Print(out); + GetTransitionTarget()->Print(out); PrintF(out, "\n"); return; case CALLBACKS: diff --git a/src/property.h b/src/property.h index 0f78ba478..da772dc86 100644 --- a/src/property.h +++ b/src/property.h @@ -184,6 +184,7 @@ class LookupResult BASE_EMBEDDED { next_(isolate->top_lookup_result()), lookup_type_(NOT_FOUND), holder_(NULL), + transition_(NULL), cacheable_(true), details_(NONE, NONEXISTENT, Representation::None()) { isolate->SetTopLookupResult(this); @@ -201,6 +202,7 @@ class LookupResult BASE_EMBEDDED { holder_ = holder; details_ = details; number_ = number; + transition_ = NULL; } bool CanHoldValue(Handle value) { @@ -209,16 +211,18 @@ class LookupResult BASE_EMBEDDED { return value->FitsRepresentation(details_.representation()); } - void TransitionResult(JSObject* holder, int number) { + void TransitionResult(JSObject* holder, Map* target) { lookup_type_ = TRANSITION_TYPE; details_ = PropertyDetails(NONE, TRANSITION, Representation::None()); holder_ = holder; - number_ = number; + transition_ = target; + number_ = 0xAAAA; } void DictionaryResult(JSObject* holder, int entry) { lookup_type_ = DICTIONARY_TYPE; holder_ = holder; + transition_ = NULL; details_ = holder->property_dictionary()->DetailsAt(entry); number_ = entry; } @@ -226,6 +230,7 @@ class LookupResult BASE_EMBEDDED { void HandlerResult(JSProxy* proxy) { lookup_type_ = HANDLER_TYPE; holder_ = proxy; + transition_ = NULL; details_ = PropertyDetails(NONE, HANDLER, Representation::Tagged()); cacheable_ = false; } @@ -233,6 +238,7 @@ class LookupResult BASE_EMBEDDED { void InterceptorResult(JSObject* holder) { lookup_type_ = INTERCEPTOR_TYPE; holder_ = holder; + transition_ = NULL; details_ = PropertyDetails(NONE, INTERCEPTOR, Representation::Tagged()); } @@ -248,7 +254,7 @@ class LookupResult BASE_EMBEDDED { } JSProxy* proxy() { - ASSERT(IsFound()); + ASSERT(IsHandler()); return JSProxy::cast(holder_); } @@ -373,42 +379,20 @@ class LookupResult BASE_EMBEDDED { return NULL; } - Map* GetTransitionTarget(Map* map) { - ASSERT(IsTransition()); - TransitionArray* transitions = map->transitions(); - return transitions->GetTarget(number_); - } - Map* GetTransitionTarget() { - return GetTransitionTarget(holder()->map()); - } - - PropertyDetails GetTransitionDetails(Map* map) { - ASSERT(IsTransition()); - TransitionArray* transitions = map->transitions(); - return transitions->GetTargetDetails(number_); + return transition_; } PropertyDetails GetTransitionDetails() { - return GetTransitionDetails(holder()->map()); - } - - bool IsTransitionToField(Map* map) { - return IsTransition() && GetTransitionDetails(map).type() == FIELD; + return transition_->GetLastDescriptorDetails(); } - bool IsTransitionToConstant(Map* map) { - return IsTransition() && GetTransitionDetails(map).type() == CONSTANT; + bool IsTransitionToField() { + return IsTransition() && GetTransitionDetails().type() == FIELD; } - Map* GetTransitionMap() { - ASSERT(IsTransition()); - return Map::cast(GetValue()); - } - - Map* GetTransitionMapFromMap(Map* map) { - ASSERT(IsTransition()); - return map->transitions()->GetTarget(number_); + bool IsTransitionToConstant() { + return IsTransition() && GetTransitionDetails().type() == CONSTANT; } int GetTransitionIndex() { @@ -501,6 +485,7 @@ class LookupResult BASE_EMBEDDED { } lookup_type_; JSReceiver* holder_; + Map* transition_; int number_; bool cacheable_; PropertyDetails details_; diff --git a/src/transitions-inl.h b/src/transitions-inl.h index c4825fcf7..5c7c28b6e 100644 --- a/src/transitions-inl.h +++ b/src/transitions-inl.h @@ -162,9 +162,7 @@ void TransitionArray::SetTarget(int transition_number, Map* value) { PropertyDetails TransitionArray::GetTargetDetails(int transition_number) { Map* map = GetTarget(transition_number); - DescriptorArray* descriptors = map->instance_descriptors(); - int descriptor = map->LastAdded(); - return descriptors->GetDetails(descriptor); + return map->GetLastDescriptorDetails(); } diff --git a/src/version.cc b/src/version.cc index d0570ba75..1d0337564 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 14 +#define PATCH_LEVEL 15 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 -- cgit v1.2.3 From eceb068816dc0c5571c832daccbff8e75ed53d9a Mon Sep 17 00:00:00 2001 From: "ishell@chromium.org" Date: Thu, 27 Feb 2014 12:57:31 +0000 Subject: Merged r19535 into 3.23 branch. Fix for a smi stores optimization on x64 with a regression test. BUG=345715 LOG=N R=verwaest@chromium.org Review URL: https://codereview.chromium.org/182993004 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen.cc | 12 ++++++++++-- src/version.cc | 2 +- test/mjsunit/regress/regress-crbug-345715.js | 26 ++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 test/mjsunit/regress/regress-crbug-345715.js diff --git a/src/hydrogen.cc b/src/hydrogen.cc index a95f4a496..cdf69e7c7 100644 --- a/src/hydrogen.cc +++ b/src/hydrogen.cc @@ -9475,7 +9475,7 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties( Add(object, access, result); } else { Representation representation = details.representation(); - HInstruction* value_instruction = Add(value); + HInstruction* value_instruction; if (representation.IsDouble()) { // Allocate a HeapNumber box and store the value into it. @@ -9490,8 +9490,16 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties( AddStoreMapConstant(double_box, isolate()->factory()->heap_number_map()); Add(double_box, HObjectAccess::ForHeapNumberValue(), - value_instruction); + Add(value)); value_instruction = double_box; + } else if (representation.IsSmi()) { + value_instruction = value->IsUninitialized() + ? graph()->GetConstant0() + : Add(value); + // Ensure that value is stored as smi. + access = access.WithRepresentation(representation); + } else { + value_instruction = Add(value); } Add(object, access, value_instruction); diff --git a/src/version.cc b/src/version.cc index 1d0337564..27b5aa8b8 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 15 +#define PATCH_LEVEL 16 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-crbug-345715.js b/test/mjsunit/regress/regress-crbug-345715.js new file mode 100644 index 000000000..6b4ab6f85 --- /dev/null +++ b/test/mjsunit/regress/regress-crbug-345715.js @@ -0,0 +1,26 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax --debug-code + +a = {y:1.5}; +a.y = 0; +b = a.y; +c = {y:{}}; + +function f() { + return 1; +} + +function g() { + var e = {y: b}; + var d = {x:f()}; + var d = {x:f()}; + return [e, d]; +} + +g(); +g(); +%OptimizeFunctionOnNextCall(g); +assertEquals(1, g()[1].x); -- cgit v1.2.3 From e6e17bda4745d88ae13e1ec6c3d17be230433de3 Mon Sep 17 00:00:00 2001 From: "ishell@chromium.org" Date: Thu, 27 Feb 2014 13:57:49 +0000 Subject: Revert "Merged r19535 into 3.23 branch." This reverts: Merged r19535 into 3.23 branch. Fix for a smi stores optimization on x64 with a regression test. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/179863003 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen.cc | 12 ++---------- src/version.cc | 2 +- test/mjsunit/regress/regress-crbug-345715.js | 26 -------------------------- 3 files changed, 3 insertions(+), 37 deletions(-) delete mode 100644 test/mjsunit/regress/regress-crbug-345715.js diff --git a/src/hydrogen.cc b/src/hydrogen.cc index cdf69e7c7..a95f4a496 100644 --- a/src/hydrogen.cc +++ b/src/hydrogen.cc @@ -9475,7 +9475,7 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties( Add(object, access, result); } else { Representation representation = details.representation(); - HInstruction* value_instruction; + HInstruction* value_instruction = Add(value); if (representation.IsDouble()) { // Allocate a HeapNumber box and store the value into it. @@ -9490,16 +9490,8 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties( AddStoreMapConstant(double_box, isolate()->factory()->heap_number_map()); Add(double_box, HObjectAccess::ForHeapNumberValue(), - Add(value)); + value_instruction); value_instruction = double_box; - } else if (representation.IsSmi()) { - value_instruction = value->IsUninitialized() - ? graph()->GetConstant0() - : Add(value); - // Ensure that value is stored as smi. - access = access.WithRepresentation(representation); - } else { - value_instruction = Add(value); } Add(object, access, value_instruction); diff --git a/src/version.cc b/src/version.cc index 27b5aa8b8..4bda0b000 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 16 +#define PATCH_LEVEL 17 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-crbug-345715.js b/test/mjsunit/regress/regress-crbug-345715.js deleted file mode 100644 index 6b4ab6f85..000000000 --- a/test/mjsunit/regress/regress-crbug-345715.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2014 the V8 project authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Flags: --allow-natives-syntax --debug-code - -a = {y:1.5}; -a.y = 0; -b = a.y; -c = {y:{}}; - -function f() { - return 1; -} - -function g() { - var e = {y: b}; - var d = {x:f()}; - var d = {x:f()}; - return [e, d]; -} - -g(); -g(); -%OptimizeFunctionOnNextCall(g); -assertEquals(1, g()[1].x); -- cgit v1.2.3 From dbd2ea5261320a4a3370a8ecb3a1d964ed602863 Mon Sep 17 00:00:00 2001 From: "hpayer@chromium.org" Date: Fri, 28 Feb 2014 13:32:00 +0000 Subject: Merged r19535 into 3.23 branch. Fix for a smi stores optimization on x64 with a regression test. BUG=345715 LOG=N R=ishell@chromium.org, danno@chromium.org Review URL: https://codereview.chromium.org/184553003 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen.cc | 12 ++++++++++-- src/version.cc | 2 +- test/mjsunit/regress/regress-crbug-345715.js | 26 ++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 test/mjsunit/regress/regress-crbug-345715.js diff --git a/src/hydrogen.cc b/src/hydrogen.cc index a95f4a496..cdf69e7c7 100644 --- a/src/hydrogen.cc +++ b/src/hydrogen.cc @@ -9475,7 +9475,7 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties( Add(object, access, result); } else { Representation representation = details.representation(); - HInstruction* value_instruction = Add(value); + HInstruction* value_instruction; if (representation.IsDouble()) { // Allocate a HeapNumber box and store the value into it. @@ -9490,8 +9490,16 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties( AddStoreMapConstant(double_box, isolate()->factory()->heap_number_map()); Add(double_box, HObjectAccess::ForHeapNumberValue(), - value_instruction); + Add(value)); value_instruction = double_box; + } else if (representation.IsSmi()) { + value_instruction = value->IsUninitialized() + ? graph()->GetConstant0() + : Add(value); + // Ensure that value is stored as smi. + access = access.WithRepresentation(representation); + } else { + value_instruction = Add(value); } Add(object, access, value_instruction); diff --git a/src/version.cc b/src/version.cc index 4bda0b000..08ae1744f 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 17 +#define PATCH_LEVEL 18 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-crbug-345715.js b/test/mjsunit/regress/regress-crbug-345715.js new file mode 100644 index 000000000..a3753417d --- /dev/null +++ b/test/mjsunit/regress/regress-crbug-345715.js @@ -0,0 +1,26 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +a = {y:1.5}; +a.y = 0; +b = a.y; +c = {y:{}}; + +function f() { + return 1; +} + +function g() { + var e = {y: b}; + var d = {x:f()}; + var d = {x:f()}; + return [e, d]; +} + +g(); +g(); +%OptimizeFunctionOnNextCall(g); +assertEquals(1, g()[1].x); -- cgit v1.2.3 From c191249588b32a6de02601341ec775c711afd1eb Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Fri, 28 Feb 2014 15:07:30 +0000 Subject: Merged r19475, r19480, r19530 into 3.23 branch. Fix Hydrogen bounds check elimination Fix cornercase in r19475 Fix optimistic BCE to back off after deopt BUG=chromium:344186,v8:3176 LOG=N R=danno@chromium.org Review URL: https://codereview.chromium.org/184493003 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen-bce.cc | 163 ++++++++++++--------------- src/version.cc | 2 +- test/mjsunit/regress/regress-3176.js | 28 +++++ test/mjsunit/regress/regress-crbug-344186.js | 20 ++++ 4 files changed, 119 insertions(+), 94 deletions(-) create mode 100644 test/mjsunit/regress/regress-3176.js create mode 100644 test/mjsunit/regress/regress-crbug-344186.js diff --git a/src/hydrogen-bce.cc b/src/hydrogen-bce.cc index 869db54a2..e1a284712 100644 --- a/src/hydrogen-bce.cc +++ b/src/hydrogen-bce.cc @@ -91,8 +91,8 @@ class BoundsCheckKey : public ZoneObject { private: BoundsCheckKey(HValue* index_base, HValue* length) - : index_base_(index_base), - length_(length) { } + : index_base_(index_base), + length_(length) { } HValue* index_base_; HValue* length_; @@ -144,10 +144,7 @@ class BoundsCheckBbData: public ZoneObject { // (either upper or lower; note that HasSingleCheck() becomes false). // Otherwise one of the current checks is modified so that it also covers // new_offset, and new_check is removed. - // - // If the check cannot be modified because the context is unknown it - // returns false, otherwise it returns true. - bool CoverCheck(HBoundsCheck* new_check, + void CoverCheck(HBoundsCheck* new_check, int32_t new_offset) { ASSERT(new_check->index()->representation().IsSmiOrInteger32()); bool keep_new_check = false; @@ -158,15 +155,7 @@ class BoundsCheckBbData: public ZoneObject { keep_new_check = true; upper_check_ = new_check; } else { - bool result = BuildOffsetAdd(upper_check_, - &added_upper_index_, - &added_upper_offset_, - Key()->IndexBase(), - new_check->index()->representation(), - new_offset); - if (!result) return false; - upper_check_->ReplaceAllUsesWith(upper_check_->index()); - upper_check_->SetOperandAt(0, added_upper_index_); + TightenCheck(upper_check_, new_check); } } else if (new_offset < lower_offset_) { lower_offset_ = new_offset; @@ -174,32 +163,27 @@ class BoundsCheckBbData: public ZoneObject { keep_new_check = true; lower_check_ = new_check; } else { - bool result = BuildOffsetAdd(lower_check_, - &added_lower_index_, - &added_lower_offset_, - Key()->IndexBase(), - new_check->index()->representation(), - new_offset); - if (!result) return false; - lower_check_->ReplaceAllUsesWith(lower_check_->index()); - lower_check_->SetOperandAt(0, added_lower_index_); + TightenCheck(lower_check_, new_check); } } else { - ASSERT(false); + // Should never have called CoverCheck() in this case. + UNREACHABLE(); } if (!keep_new_check) { new_check->block()->graph()->isolate()->counters()-> bounds_checks_eliminated()->Increment(); new_check->DeleteAndReplaceWith(new_check->ActualValue()); + } else { + HBoundsCheck* first_check = new_check == lower_check_ ? upper_check_ + : lower_check_; + // The length is guaranteed to be live at first_check. + ASSERT(new_check->length() == first_check->length()); + HInstruction* old_position = new_check->next(); + new_check->Unlink(); + new_check->InsertAfter(first_check); + MoveIndexIfNecessary(new_check->index(), new_check, old_position); } - - return true; - } - - void RemoveZeroOperations() { - RemoveZeroAdd(&added_lower_index_, &added_lower_offset_); - RemoveZeroAdd(&added_upper_index_, &added_upper_offset_); } BoundsCheckBbData(BoundsCheckKey* key, @@ -210,18 +194,14 @@ class BoundsCheckBbData: public ZoneObject { HBoundsCheck* upper_check, BoundsCheckBbData* next_in_bb, BoundsCheckBbData* father_in_dt) - : key_(key), - lower_offset_(lower_offset), - upper_offset_(upper_offset), - basic_block_(bb), - lower_check_(lower_check), - upper_check_(upper_check), - added_lower_index_(NULL), - added_lower_offset_(NULL), - added_upper_index_(NULL), - added_upper_offset_(NULL), - next_in_bb_(next_in_bb), - father_in_dt_(father_in_dt) { } + : key_(key), + lower_offset_(lower_offset), + upper_offset_(upper_offset), + basic_block_(bb), + lower_check_(lower_check), + upper_check_(upper_check), + next_in_bb_(next_in_bb), + father_in_dt_(father_in_dt) { } private: BoundsCheckKey* key_; @@ -230,57 +210,56 @@ class BoundsCheckBbData: public ZoneObject { HBasicBlock* basic_block_; HBoundsCheck* lower_check_; HBoundsCheck* upper_check_; - HInstruction* added_lower_index_; - HConstant* added_lower_offset_; - HInstruction* added_upper_index_; - HConstant* added_upper_offset_; BoundsCheckBbData* next_in_bb_; BoundsCheckBbData* father_in_dt_; - // Given an existing add instruction and a bounds check it tries to - // find the current context (either of the add or of the check index). - HValue* IndexContext(HInstruction* add, HBoundsCheck* check) { - if (add != NULL && add->IsAdd()) { - return HAdd::cast(add)->context(); + void MoveIndexIfNecessary(HValue* index_raw, + HBoundsCheck* insert_before, + HInstruction* end_of_scan_range) { + if (!index_raw->IsAdd() && !index_raw->IsSub()) { + // index_raw can be HAdd(index_base, offset), HSub(index_base, offset), + // or index_base directly. In the latter case, no need to move anything. + return; } - if (check->index()->IsBinaryOperation()) { - return HBinaryOperation::cast(check->index())->context(); + HArithmeticBinaryOperation* index = + HArithmeticBinaryOperation::cast(index_raw); + HValue* left_input = index->left(); + HValue* right_input = index->right(); + bool must_move_index = false; + bool must_move_left_input = false; + bool must_move_right_input = false; + for (HInstruction* cursor = end_of_scan_range; cursor != insert_before;) { + if (cursor == left_input) must_move_left_input = true; + if (cursor == right_input) must_move_right_input = true; + if (cursor == index) must_move_index = true; + if (cursor->previous() == NULL) { + cursor = cursor->block()->dominator()->end(); + } else { + cursor = cursor->previous(); + } } - return NULL; - } - - // This function returns false if it cannot build the add because the - // current context cannot be determined. - bool BuildOffsetAdd(HBoundsCheck* check, - HInstruction** add, - HConstant** constant, - HValue* original_value, - Representation representation, - int32_t new_offset) { - HValue* index_context = IndexContext(*add, check); - if (index_context == NULL) return false; - - Zone* zone = BasicBlock()->zone(); - HConstant* new_constant = HConstant::New(zone, index_context, - new_offset, representation); - if (*add == NULL) { - new_constant->InsertBefore(check); - (*add) = HAdd::New(zone, index_context, original_value, new_constant); - (*add)->AssumeRepresentation(representation); - (*add)->InsertBefore(check); - } else { - new_constant->InsertBefore(*add); - (*constant)->DeleteAndReplaceWith(new_constant); + if (must_move_index) { + index->Unlink(); + index->InsertBefore(insert_before); + } + // The BCE algorithm only selects mergeable bounds checks that share + // the same "index_base", so we'll only ever have to move constants. + if (must_move_left_input) { + HConstant::cast(left_input)->Unlink(); + HConstant::cast(left_input)->InsertBefore(index); + } + if (must_move_right_input) { + HConstant::cast(right_input)->Unlink(); + HConstant::cast(right_input)->InsertBefore(index); } - *constant = new_constant; - return true; } - void RemoveZeroAdd(HInstruction** add, HConstant** constant) { - if (*add != NULL && (*add)->IsAdd() && (*constant)->Integer32Value() == 0) { - (*add)->DeleteAndReplaceWith(HAdd::cast(*add)->left()); - (*constant)->DeleteAndReplaceWith(NULL); - } + void TightenCheck(HBoundsCheck* original_check, + HBoundsCheck* tighter_check) { + ASSERT(original_check->length() == tighter_check->length()); + MoveIndexIfNecessary(tighter_check->index(), original_check, tighter_check); + original_check->ReplaceAllUsesWith(original_check->index()); + original_check->SetOperandAt(0, tighter_check->index()); } DISALLOW_COPY_AND_ASSIGN(BoundsCheckBbData); @@ -394,11 +373,10 @@ BoundsCheckBbData* HBoundsCheckEliminationPhase::PreProcessBlock( bb->graph()->isolate()->counters()-> bounds_checks_eliminated()->Increment(); check->DeleteAndReplaceWith(check->ActualValue()); - } else if (data->BasicBlock() != bb || - !data->CoverCheck(check, offset)) { - // If the check is in the current BB we try to modify it by calling - // "CoverCheck", but if also that fails we record the current offsets - // in a new data instance because from now on they are covered. + } else if (data->BasicBlock() == bb) { + data->CoverCheck(check, offset); + } else if (graph()->use_optimistic_licm() || + bb->IsLoopSuccessorDominator()) { int32_t new_lower_offset = offset < data->LowerOffset() ? offset : data->LowerOffset(); @@ -424,7 +402,6 @@ BoundsCheckBbData* HBoundsCheckEliminationPhase::PreProcessBlock( void HBoundsCheckEliminationPhase::PostProcessBlock( HBasicBlock* block, BoundsCheckBbData* data) { while (data != NULL) { - data->RemoveZeroOperations(); if (data->FatherInDominatorTree()) { table_.Insert(data->Key(), data->FatherInDominatorTree(), zone()); } else { diff --git a/src/version.cc b/src/version.cc index 08ae1744f..23b94b476 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 18 +#define PATCH_LEVEL 19 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-3176.js b/test/mjsunit/regress/regress-3176.js new file mode 100644 index 000000000..e2563c0d3 --- /dev/null +++ b/test/mjsunit/regress/regress-3176.js @@ -0,0 +1,28 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +function foo(a) { + var sum = 0; + for (var i = 0; i < 10; i++) { + sum += a[i]; + + if (i > 6) { + sum -= a[i - 4]; + sum -= a[i - 5]; + } + } + return sum; +} + +var a = new Int32Array(10); + +foo(a); +foo(a); +%OptimizeFunctionOnNextCall(foo); +foo(a); +%OptimizeFunctionOnNextCall(foo); +foo(a); +assertOptimized(foo); diff --git a/test/mjsunit/regress/regress-crbug-344186.js b/test/mjsunit/regress/regress-crbug-344186.js new file mode 100644 index 000000000..6486f3864 --- /dev/null +++ b/test/mjsunit/regress/regress-crbug-344186.js @@ -0,0 +1,20 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +var dummy = new Int32Array(100); +var array = new Int32Array(128); +function fun(base) { + array[base - 95] = 1; + array[base - 99] = 2; + array[base + 4] = 3; +} +fun(100); +%OptimizeFunctionOnNextCall(fun); +fun(0); + +for (var i = 0; i < dummy.length; i++) { + assertEquals(0, dummy[i]); +} -- cgit v1.2.3 From b6d20112422ba4af7f438aadcee71eb795440a92 Mon Sep 17 00:00:00 2001 From: "danno@chromium.org" Date: Fri, 28 Feb 2014 20:18:06 +0000 Subject: Merged r19591, r19599 into 3.23 branch. HAllocate should never generate allocation code if the requested size does not fit into page. Regression test included. Fix representation generalization for doubles. BUG=347543 LOG=N R=hpayer@chromium.org Review URL: https://codereview.chromium.org/180703004 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm/lithium-codegen-arm.cc | 6 +++++- src/ia32/lithium-codegen-ia32.cc | 6 +++++- src/mips/lithium-codegen-mips.cc | 6 +++++- src/property-details.h | 2 +- src/spaces.h | 6 ++++++ src/version.cc | 2 +- src/x64/lithium-codegen-x64.cc | 6 +++++- test/mjsunit/regress/regress-347909.js | 19 +++++++++++++++++++ 8 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 test/mjsunit/regress/regress-347909.js diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc index 2c31af583..56990ca22 100644 --- a/src/arm/lithium-codegen-arm.cc +++ b/src/arm/lithium-codegen-arm.cc @@ -5397,7 +5397,11 @@ void LCodeGen::DoAllocate(LAllocate* instr) { if (instr->size()->IsConstantOperand()) { int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); - __ Allocate(size, result, scratch, scratch2, deferred->entry(), flags); + if (size <= Page::kMaxRegularHeapObjectSize) { + __ Allocate(size, result, scratch, scratch2, deferred->entry(), flags); + } else { + __ jmp(deferred->entry()); + } } else { Register size = ToRegister(instr->size()); __ Allocate(size, diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc index f26eeac77..df2d4c529 100644 --- a/src/ia32/lithium-codegen-ia32.cc +++ b/src/ia32/lithium-codegen-ia32.cc @@ -5948,7 +5948,11 @@ void LCodeGen::DoAllocate(LAllocate* instr) { if (instr->size()->IsConstantOperand()) { int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); - __ Allocate(size, result, temp, no_reg, deferred->entry(), flags); + if (size <= Page::kMaxRegularHeapObjectSize) { + __ Allocate(size, result, temp, no_reg, deferred->entry(), flags); + } else { + __ jmp(deferred->entry()); + } } else { Register size = ToRegister(instr->size()); __ Allocate(size, result, temp, no_reg, deferred->entry(), flags); diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc index 757b67a54..3bf0d1308 100644 --- a/src/mips/lithium-codegen-mips.cc +++ b/src/mips/lithium-codegen-mips.cc @@ -5350,7 +5350,11 @@ void LCodeGen::DoAllocate(LAllocate* instr) { } if (instr->size()->IsConstantOperand()) { int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); - __ Allocate(size, result, scratch, scratch2, deferred->entry(), flags); + if (size <= Page::kMaxRegularHeapObjectSize) { + __ Allocate(size, result, scratch, scratch2, deferred->entry(), flags); + } else { + __ jmp(deferred->entry()); + } } else { Register size = ToRegister(instr->size()); __ Allocate(size, diff --git a/src/property-details.h b/src/property-details.h index 617e9b2af..200657f11 100644 --- a/src/property-details.h +++ b/src/property-details.h @@ -137,7 +137,7 @@ class Representation { ASSERT(kind_ != kExternal); ASSERT(other.kind_ != kExternal); - if (IsHeapObject()) return other.IsDouble() || other.IsNone(); + if (IsHeapObject()) return other.IsNone(); if (kind_ == kUInteger8 && other.kind_ == kInteger8) return false; if (kind_ == kUInteger16 && other.kind_ == kInteger16) return false; return kind_ > other.kind_; diff --git a/src/spaces.h b/src/spaces.h index ee11b6b49..7c650a2ac 100644 --- a/src/spaces.h +++ b/src/spaces.h @@ -782,6 +782,12 @@ class Page : public MemoryChunk { // Object area size in bytes. static const int kNonCodeObjectAreaSize = kPageSize - kObjectStartOffset; + // Maximum object size that fits in a page. Objects larger than that size are + // allocated in large object space and are never moved in memory. This also + // applies to new space allocation, since objects are never migrated from new + // space to large object space. Takes double alignment into account. + static const int kMaxRegularHeapObjectSize = kPageSize - kObjectStartOffset; + // Maximum object size that fits in a page. Objects larger than that size // are allocated in large object space and are never moved in memory. This // also applies to new space allocation, since objects are never migrated diff --git a/src/version.cc b/src/version.cc index 23b94b476..ab033e092 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 19 +#define PATCH_LEVEL 20 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc index 9d0dc9423..ff6f1e6ef 100644 --- a/src/x64/lithium-codegen-x64.cc +++ b/src/x64/lithium-codegen-x64.cc @@ -5150,7 +5150,11 @@ void LCodeGen::DoAllocate(LAllocate* instr) { if (instr->size()->IsConstantOperand()) { int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); - __ Allocate(size, result, temp, no_reg, deferred->entry(), flags); + if (size <= Page::kMaxRegularHeapObjectSize) { + __ Allocate(size, result, temp, no_reg, deferred->entry(), flags); + } else { + __ jmp(deferred->entry()); + } } else { Register size = ToRegister(instr->size()); __ Allocate(size, result, temp, no_reg, deferred->entry(), flags); diff --git a/test/mjsunit/regress/regress-347909.js b/test/mjsunit/regress/regress-347909.js new file mode 100644 index 000000000..90a8e6a75 --- /dev/null +++ b/test/mjsunit/regress/regress-347909.js @@ -0,0 +1,19 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +var a = {y:1.5}; +a.y = 0; +var b = a.y; +a.y = {}; +var d = 1; +function f() { + d = 0; + return {y: b}; +} +f(); +f(); +%OptimizeFunctionOnNextCall(f); +f(); -- cgit v1.2.3 From 0091efbce58fcce506403d0a06c7e47d94be47cd Mon Sep 17 00:00:00 2001 From: "verwaest@chromium.org" Date: Tue, 4 Mar 2014 13:31:27 +0000 Subject: Merged r19586 into 3.23 branch. Fix putting of prototype transitions. The length is also subject to GC, just like entry. BUG=347536 LOG=N R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/186653002 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/mark-compact.cc | 1 + src/objects.cc | 2 +- src/version.cc | 2 +- .../regress/regress-put-prototype-transition.js | 49 ++++++++++++++++++++++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 test/mjsunit/regress/regress-put-prototype-transition.js diff --git a/src/mark-compact.cc b/src/mark-compact.cc index 0e6b9804e..07bcb7632 100644 --- a/src/mark-compact.cc +++ b/src/mark-compact.cc @@ -2594,6 +2594,7 @@ void MarkCompactCollector::ClearNonLivePrototypeTransitions(Map* map) { Object* prototype = prototype_transitions->get(proto_offset + i * step); Object* cached_map = prototype_transitions->get(map_offset + i * step); if (IsMarked(prototype) && IsMarked(cached_map)) { + ASSERT(!prototype->IsUndefined()); int proto_index = proto_offset + new_number_of_transitions * step; int map_index = map_offset + new_number_of_transitions * step; if (new_number_of_transitions != i) { diff --git a/src/objects.cc b/src/objects.cc index 832ddc152..e9788786c 100644 --- a/src/objects.cc +++ b/src/objects.cc @@ -11609,7 +11609,7 @@ Handle Map::PutPrototypeTransition(Handle map, cache->set(entry + kProtoTransitionPrototypeOffset, *prototype); cache->set(entry + kProtoTransitionMapOffset, *target_map); - map->SetNumberOfProtoTransitions(transitions); + map->SetNumberOfProtoTransitions(last + 1); return map; } diff --git a/src/version.cc b/src/version.cc index ab033e092..7a9792207 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 20 +#define PATCH_LEVEL 21 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-put-prototype-transition.js b/test/mjsunit/regress/regress-put-prototype-transition.js new file mode 100644 index 000000000..f720bd621 --- /dev/null +++ b/test/mjsunit/regress/regress-put-prototype-transition.js @@ -0,0 +1,49 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax --expose-gc --stress-compaction --gc-interval=255 + +function deepEquals(a, b) { if (a === b) { if (a === 0) return (1 / a) === (1 / b); return true; } if (typeof a != typeof b) return false; if (typeof a == "number") return isNaN(a) && isNaN(b); if (typeof a !== "object" && typeof a !== "function") return false; var objectClass = classOf(a); if (objectClass !== classOf(b)) return false; if (objectClass === "RegExp") { return (a.toString() === b.toString()); } if (objectClass === "Function") return false; if (objectClass === "Array") { var elementCount = 0; if (a.length != b.length) { return false; } for (var i = 0; i < a.length; i++) { if (!deepEquals(a[i], b[i])) return false; } return true; } if (objectClass == "String" || objectClass == "Number" || objectClass == "Boolean" || objectClass == "Date") { if (a.valueOf() !== b.valueOf()) return false; } return deepObjectEquals(a, b); } +assertSame = function assertSame(expected, found, name_opt) { if (found === expected) { if (expected !== 0 || (1 / expected) == (1 / found)) return; } else if ((expected !== expected) && (found !== found)) { return; } fail(PrettyPrint(expected), found, name_opt); }; assertEquals = function assertEquals(expected, found, name_opt) { if (!deepEquals(found, expected)) { fail(PrettyPrint(expected), found, name_opt); } }; +assertEqualsDelta = function assertEqualsDelta(expected, found, delta, name_opt) { assertTrue(Math.abs(expected - found) <= delta, name_opt); }; assertArrayEquals = function assertArrayEquals(expected, found, name_opt) { var start = ""; if (name_opt) { start = name_opt + " - "; } assertEquals(expected.length, found.length, start + "array length"); if (expected.length == found.length) { for (var i = 0; i < expected.length; ++i) { assertEquals(expected[i], found[i], start + "array element at index " + i); } } }; +assertTrue = function assertTrue(value, name_opt) { assertEquals(true, value, name_opt); }; +assertFalse = function assertFalse(value, name_opt) { assertEquals(false, value, name_opt); }; +// End stripped down and modified version of mjsunit.js. + +var __v_0 = {}; +var __v_1 = {}; +function __f_3() { } +function __f_4(obj) { + for (var __v_2 = 0; __v_2 < 26; __v_2++) { + obj["__v_5" + __v_2] = 0; + } +} +function __f_0(__v_1, __v_6) { + (new __f_3()).__proto__ = __v_1; +} +%DebugPrint(undefined); +function __f_1(__v_4, add_first, __v_6, same_map_as) { + var __v_1 = __v_4 ? new __f_3() : {}; + assertTrue(%HasFastProperties(__v_1)); + if (add_first) { + __f_4(__v_1); + assertFalse(%HasFastProperties(__v_1)); + __f_0(__v_1, __v_6); + assertTrue(%HasFastProperties(__v_1)); + } else { + __f_0(__v_1, __v_6); + assertTrue(%HasFastProperties(__v_1)); + __f_4(__v_1); + assertFalse(%HasFastProperties(__v_1)); + } +} +gc(); +for (var __v_2 = 0; __v_2 < 4; __v_2++) { + var __v_6 = ((__v_2 & 2) != 7); + var __v_4 = ((__v_2 & 2) != 0); + __f_1(__v_4, true, __v_6); + var __v_0 = __f_1(__v_4, false, __v_6); + __f_1(__v_4, false, __v_6, __v_0); +} +__v_5 = {a: 1, b: 2, c: 3}; -- cgit v1.2.3 From 3c660e485ea372d1076aecdcece69842563d6adf Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Wed, 5 Mar 2014 12:32:33 +0000 Subject: Merged r18564, r19545, r19668, r19670 into 3.23 branch. Use unsigned integer arithmetic in Zone::NewExpand. Mark HCompareMap as having Tagged representation x64: Fix LMathMinMax for constant Smi right-hand operands Handle exception when retrieving toJSON function in JSON.stringify. BUG=328202,chromium:346636,chromium:349079,349335 LOG=N R=titzer@chromium.org Review URL: https://codereview.chromium.org/184983006 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen-instructions.h | 1 + src/json-stringifier.h | 1 + src/version.cc | 2 +- src/x64/lithium-x64.cc | 11 +++++----- src/zone.cc | 29 +++++++++++++++++--------- test/mjsunit/json2.js | 4 ++++ test/mjsunit/regress/regress-crbug-346636.js | 31 ++++++++++++++++++++++++++++ test/mjsunit/regress/regress-crbug-349079.js | 23 +++++++++++++++++++++ 8 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 test/mjsunit/regress/regress-crbug-346636.js create mode 100644 test/mjsunit/regress/regress-crbug-349079.js diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h index 045ef932e..cf8392852 100644 --- a/src/hydrogen-instructions.h +++ b/src/hydrogen-instructions.h @@ -1548,6 +1548,7 @@ class HCompareMap V8_FINAL : public HUnaryControlInstruction { : HUnaryControlInstruction(value, true_target, false_target), map_(Unique(map)) { ASSERT(!map.is_null()); + set_representation(Representation::Tagged()); } Unique map_; diff --git a/src/json-stringifier.h b/src/json-stringifier.h index 0d17b356a..4510c4b45 100644 --- a/src/json-stringifier.h +++ b/src/json-stringifier.h @@ -360,6 +360,7 @@ Handle BasicJsonStringifier::ApplyToJsonFunction( PropertyAttributes attr; Handle fun = Object::GetProperty(object, object, &lookup, tojson_string_, &attr); + if (fun.is_null()) return Handle::null(); if (!fun->IsJSFunction()) return object; // Call toJSON function. diff --git a/src/version.cc b/src/version.cc index 7a9792207..17793d535 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#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 diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc index 0f7ebc44f..473e93dde 100644 --- a/src/x64/lithium-x64.cc +++ b/src/x64/lithium-x64.cc @@ -1585,15 +1585,16 @@ LInstruction* LChunkBuilder::DoAdd(HAdd* instr) { LInstruction* LChunkBuilder::DoMathMinMax(HMathMinMax* instr) { LOperand* left = NULL; LOperand* right = NULL; - if (instr->representation().IsSmiOrInteger32()) { - ASSERT(instr->left()->representation().Equals(instr->representation())); - ASSERT(instr->right()->representation().Equals(instr->representation())); + ASSERT(instr->left()->representation().Equals(instr->representation())); + ASSERT(instr->right()->representation().Equals(instr->representation())); + if (instr->representation().IsSmi()) { + left = UseRegisterAtStart(instr->BetterLeftOperand()); + right = UseAtStart(instr->BetterRightOperand()); + } else if (instr->representation().IsInteger32()) { left = UseRegisterAtStart(instr->BetterLeftOperand()); right = UseOrConstantAtStart(instr->BetterRightOperand()); } else { ASSERT(instr->representation().IsDouble()); - ASSERT(instr->left()->representation().IsDouble()); - ASSERT(instr->right()->representation().IsDouble()); left = UseRegisterAtStart(instr->left()); right = UseRegisterAtStart(instr->right()); } diff --git a/src/zone.cc b/src/zone.cc index 9ee00edcb..417f895e5 100644 --- a/src/zone.cc +++ b/src/zone.cc @@ -185,25 +185,31 @@ Address Zone::NewExpand(int size) { // except that we employ a maximum segment size when we delete. This // is to avoid excessive malloc() and free() overhead. Segment* head = segment_head_; - int old_size = (head == NULL) ? 0 : head->size(); - static const int kSegmentOverhead = sizeof(Segment) + kAlignment; - int new_size_no_overhead = size + (old_size << 1); - int new_size = kSegmentOverhead + new_size_no_overhead; + const size_t old_size = (head == NULL) ? 0 : head->size(); + static const size_t kSegmentOverhead = sizeof(Segment) + kAlignment; + const size_t new_size_no_overhead = size + (old_size << 1); + size_t new_size = kSegmentOverhead + new_size_no_overhead; + const size_t min_new_size = kSegmentOverhead + static_cast(size); // Guard against integer overflow. - if (new_size_no_overhead < size || new_size < kSegmentOverhead) { + if (new_size_no_overhead < static_cast(size) || + new_size < static_cast(kSegmentOverhead)) { V8::FatalProcessOutOfMemory("Zone"); return NULL; } - if (new_size < kMinimumSegmentSize) { + if (new_size < static_cast(kMinimumSegmentSize)) { new_size = kMinimumSegmentSize; - } else if (new_size > kMaximumSegmentSize) { + } else if (new_size > static_cast(kMaximumSegmentSize)) { // Limit the size of new segments to avoid growing the segment size // exponentially, thus putting pressure on contiguous virtual address space. // All the while making sure to allocate a segment large enough to hold the // requested size. - new_size = Max(kSegmentOverhead + size, kMaximumSegmentSize); + new_size = Max(min_new_size, static_cast(kMaximumSegmentSize)); } - Segment* segment = NewSegment(new_size); + if (new_size > INT_MAX) { + V8::FatalProcessOutOfMemory("Zone"); + return NULL; + } + Segment* segment = NewSegment(static_cast(new_size)); if (segment == NULL) { V8::FatalProcessOutOfMemory("Zone"); return NULL; @@ -213,7 +219,10 @@ Address Zone::NewExpand(int size) { Address result = RoundUp(segment->start(), kAlignment); position_ = result + size; // Check for address overflow. - if (position_ < result) { + // (Should not happen since the segment is guaranteed to accomodate + // size bytes + header and alignment padding) + if (reinterpret_cast(position_) + < reinterpret_cast(result)) { V8::FatalProcessOutOfMemory("Zone"); return NULL; } diff --git a/test/mjsunit/json2.js b/test/mjsunit/json2.js index 0894d779a..f048f0529 100644 --- a/test/mjsunit/json2.js +++ b/test/mjsunit/json2.js @@ -105,6 +105,10 @@ var tojson_via_getter = { get toJSON() { a: 1 }; TestStringify('321', tojson_via_getter); +assertThrows(function() { + JSON.stringify({ get toJSON() { throw "error"; } }); +}); + // Test toJSON with key. tojson_obj = { toJSON: function(key) { return key + key; } }; var tojson_with_key_1 = { a: tojson_obj, b: tojson_obj }; diff --git a/test/mjsunit/regress/regress-crbug-346636.js b/test/mjsunit/regress/regress-crbug-346636.js new file mode 100644 index 000000000..247f8be48 --- /dev/null +++ b/test/mjsunit/regress/regress-crbug-346636.js @@ -0,0 +1,31 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +function assertSame(expected, found) { + if (found === expected) { + if (expected !== 0 || (1 / expected) == (1 / found)) return; + } + return; +}; + +function foo(x) { + return x.bar; +} + +function getter1() { + assertSame(this, this); +} +var o1 = Object.defineProperty({}, "bar", { get: getter1 }); +foo(o1); +foo(o1); + +function getter2() { + assertSame(this, this); +} +var o2 = Object.defineProperty({}, "bar", { get: getter2 }); +foo(o2); +%OptimizeFunctionOnNextCall(foo); +foo(o2); diff --git a/test/mjsunit/regress/regress-crbug-349079.js b/test/mjsunit/regress/regress-crbug-349079.js new file mode 100644 index 000000000..b1076ea43 --- /dev/null +++ b/test/mjsunit/regress/regress-crbug-349079.js @@ -0,0 +1,23 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +function assertEquals(expected, found) { + return found === expected; +}; +%NeverOptimizeFunction(assertEquals); + +function crash() { + var a = 1; + var b = -0; + var c = 1.5; + assertEquals(b, Math.max(b++, c++)); + assertEquals(c, Math.min(b++, c++)); + assertEquals(b, Math.max(b++, a++)); +} +crash(); +crash(); +%OptimizeFunctionOnNextCall(crash); +crash(); -- cgit v1.2.3 From 940f9ef807bc1a3e1df7a05e3ac519b0004142fa Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Wed, 12 Mar 2014 19:30:29 +0000 Subject: Merged r19862 into 3.23 branch. Use intrinsics for builtin ArrayBuffer property accesses BUG=chromium:351787 LOG=N R=yangguo@chromium.org Review URL: https://codereview.chromium.org/197713004 git-svn-id: http://v8.googlecode.com/svn/branches/3.23@19865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arraybuffer.js | 11 ++++---- src/runtime.cc | 4 +++ src/typedarray.js | 4 +-- src/version.cc | 2 +- test/mjsunit/regress/regress-crbug-351787.js | 42 ++++++++++++++++++++++++++++ 5 files changed, 55 insertions(+), 8 deletions(-) create mode 100644 test/mjsunit/regress/regress-crbug-351787.js diff --git a/src/arraybuffer.js b/src/arraybuffer.js index 6125f0f61..cfaa8d7ef 100644 --- a/src/arraybuffer.js +++ b/src/arraybuffer.js @@ -57,17 +57,18 @@ function ArrayBufferSlice(start, end) { var relativeStart = TO_INTEGER(start); var first; + var byte_length = %ArrayBufferGetByteLength(this); if (relativeStart < 0) { - first = MathMax(this.byteLength + relativeStart, 0); + first = MathMax(byte_length + relativeStart, 0); } else { - first = MathMin(relativeStart, this.byteLength); + first = MathMin(relativeStart, byte_length); } - var relativeEnd = IS_UNDEFINED(end) ? this.byteLength : TO_INTEGER(end); + var relativeEnd = IS_UNDEFINED(end) ? byte_length : TO_INTEGER(end); var fin; if (relativeEnd < 0) { - fin = MathMax(this.byteLength + relativeEnd, 0); + fin = MathMax(byte_length + relativeEnd, 0); } else { - fin = MathMin(relativeEnd, this.byteLength); + fin = MathMin(relativeEnd, byte_length); } if (fin < first) { diff --git a/src/runtime.cc b/src/runtime.cc index c909f34db..8333380e8 100644 --- a/src/runtime.cc +++ b/src/runtime.cc @@ -980,6 +980,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TypedArrayInitializeFromArrayLike) { Runtime::ArrayIdToTypeAndSize(arrayId, &array_type, &element_size); Handle buffer = isolate->factory()->NewJSArrayBuffer(); + if (source->IsJSTypedArray() && + JSTypedArray::cast(*source)->type() == array_type) { + length_obj = Handle(JSTypedArray::cast(*source)->length(), isolate); + } size_t length = NumberToSize(isolate, *length_obj); if ((length > static_cast(Smi::kMaxValue)) || diff --git a/src/typedarray.js b/src/typedarray.js index 21dd9c82d..0a06ebbdd 100644 --- a/src/typedarray.js +++ b/src/typedarray.js @@ -49,7 +49,7 @@ endmacro macro TYPED_ARRAY_CONSTRUCTOR(ARRAY_ID, NAME, ELEMENT_SIZE) function NAMEConstructByArrayBuffer(obj, buffer, byteOffset, length) { - var bufferByteLength = buffer.byteLength; + var bufferByteLength = %ArrayBufferGetByteLength(buffer); var offset; if (IS_UNDEFINED(byteOffset)) { offset = 0; @@ -313,7 +313,7 @@ function DataViewConstructor(buffer, byteOffset, byteLength) { // length = 3 if (!IS_ARRAYBUFFER(buffer)) { throw MakeTypeError('data_view_not_array_buffer', []); } - var bufferByteLength = buffer.byteLength; + var bufferByteLength = %ArrayBufferGetByteLength(buffer); var offset = IS_UNDEFINED(byteOffset) ? 0 : ToPositiveInteger(byteOffset, 'invalid_data_view_offset'); if (offset > bufferByteLength) { diff --git a/src/version.cc b/src/version.cc index 17793d535..161f1e05a 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 23 #define BUILD_NUMBER 17 -#define PATCH_LEVEL 22 +#define PATCH_LEVEL 23 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/test/mjsunit/regress/regress-crbug-351787.js b/test/mjsunit/regress/regress-crbug-351787.js new file mode 100644 index 000000000..74cabf2b9 --- /dev/null +++ b/test/mjsunit/regress/regress-crbug-351787.js @@ -0,0 +1,42 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +var ab1 = new ArrayBuffer(8); +ab1.__defineGetter__("byteLength", function() { return 1000000; }); +var ab2 = ab1.slice(800000, 900000); +var array = new Uint8Array(ab2); +for (var i = 0; i < array.length; i++) { + assertEquals(0, array[i]); +} +assertEquals(0, array.length); + + +var ab3 = new ArrayBuffer(8); +ab3.__defineGetter__("byteLength", function() { return 0xFFFFFFFC; }); +var aaa = new DataView(ab3); + +for (var i = 10; i < aaa.length; i++) { + aaa.setInt8(i, 0xcc); +} +assertEquals(8, aaa.byteLength); + + +var a = new Int8Array(4); +a.__defineGetter__("length", function() { return 0xFFFF; }); +var b = new Int8Array(a); +for (var i = 0; i < b.length; i++) { + assertEquals(0, b[i]); +} + + +var ab4 = new ArrayBuffer(8); +ab4.__defineGetter__("byteLength", function() { return 0xFFFFFFFC; }); +var aaaa = new Uint32Array(ab4); + +for (var i = 10; i < aaaa.length; i++) { + aaaa[i] = 0xcccccccc; +} +assertEquals(2, aaaa.length); -- cgit v1.2.3 -- cgit v1.2.3 From 3cb41174f9090b9f3d5d25229aa0ab3aeee8ec5e Mon Sep 17 00:00:00 2001 From: "ulan@chromium.org" Date: Tue, 13 May 2014 09:56:35 +0000 Subject: Version 3.26.31.1 (merged r21196) Fix index register assignment in LoadFieldByIndex for arm, arm64, and mips. BUG=368243 LOG=N R=machenbach@chromium.org Review URL: https://codereview.chromium.org/275103007 git-svn-id: https://v8.googlecode.com/svn/branches/3.26@21286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm/lithium-arm.cc | 2 +- src/arm64/lithium-arm64.cc | 2 +- src/mips/lithium-mips.cc | 2 +- src/version.cc | 2 +- test/mjsunit/regress/regress-368243.js | 25 +++++++++++++++++++++++++ 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 test/mjsunit/regress/regress-368243.js diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc index 0c10a65c2..c9201a807 100644 --- a/src/arm/lithium-arm.cc +++ b/src/arm/lithium-arm.cc @@ -2556,7 +2556,7 @@ LInstruction* LChunkBuilder::DoCheckMapValue(HCheckMapValue* instr) { LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { LOperand* object = UseRegister(instr->object()); - LOperand* index = UseRegister(instr->index()); + LOperand* index = UseTempRegister(instr->index()); LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); LInstruction* result = DefineSameAsFirst(load); return AssignPointerMap(result); diff --git a/src/arm64/lithium-arm64.cc b/src/arm64/lithium-arm64.cc index d31750df2..3eb277876 100644 --- a/src/arm64/lithium-arm64.cc +++ b/src/arm64/lithium-arm64.cc @@ -2545,7 +2545,7 @@ LInstruction* LChunkBuilder::DoCheckMapValue(HCheckMapValue* instr) { LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { LOperand* object = UseRegisterAtStart(instr->object()); - LOperand* index = UseRegister(instr->index()); + LOperand* index = UseRegisterAndClobber(instr->index()); LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); LInstruction* result = DefineSameAsFirst(load); return AssignPointerMap(result); diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc index eb960a4bb..e882655d2 100644 --- a/src/mips/lithium-mips.cc +++ b/src/mips/lithium-mips.cc @@ -2507,7 +2507,7 @@ LInstruction* LChunkBuilder::DoCheckMapValue(HCheckMapValue* instr) { LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { LOperand* object = UseRegister(instr->object()); - LOperand* index = UseRegister(instr->index()); + LOperand* index = UseTempRegister(instr->index()); LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); LInstruction* result = DefineSameAsFirst(load); return AssignPointerMap(result); diff --git a/src/version.cc b/src/version.cc index 6e6cef59d..e4de36a69 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 26 #define BUILD_NUMBER 31 -#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 diff --git a/test/mjsunit/regress/regress-368243.js b/test/mjsunit/regress/regress-368243.js new file mode 100644 index 000000000..6647d1228 --- /dev/null +++ b/test/mjsunit/regress/regress-368243.js @@ -0,0 +1,25 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +function foo(a, c){ + for(var f in c) { + if ("object" === typeof c[f]) { + a[f] = c[f]; + foo(a[f], c[f]); + } + } +}; + +c = { + "one" : { x : 1}, + "two" : { x : 2}, + "thr" : { x : 3, z : 4}, +}; + +foo({}, c); +foo({}, c); +%OptimizeFunctionOnNextCall(foo); +foo({}, c); -- cgit v1.2.3 From e83b2e6675b7f61b33780520d044096fb6409ce0 Mon Sep 17 00:00:00 2001 From: "machenbach@chromium.org" Date: Tue, 13 May 2014 14:14:43 +0000 Subject: Skip presubmit errors caused by lint update. Prevent presubmit errors when merging to the 3.26 branch. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/286583004 git-svn-id: https://v8.googlecode.com/svn/branches/3.26@21289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- tools/presubmit.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/presubmit.py b/tools/presubmit.py index 88f1459d7..1a0eec5b7 100755 --- a/tools/presubmit.py +++ b/tools/presubmit.py @@ -59,9 +59,7 @@ build/printf_format build/storage_class legal/copyright readability/boost -readability/braces readability/casting -readability/check readability/constructors readability/fn_size readability/function @@ -80,7 +78,6 @@ runtime/mutex runtime/nonconf runtime/printf runtime/printf_format -runtime/references runtime/rtti runtime/sizeof runtime/string @@ -91,7 +88,6 @@ whitespace/braces whitespace/comma whitespace/comments whitespace/ending_newline -whitespace/indent whitespace/labels whitespace/line_length whitespace/newline -- cgit v1.2.3 From 034baa6039e0995e44e298fb3e644331c8d56918 Mon Sep 17 00:00:00 2001 From: "jochen@chromium.org" Date: Mon, 19 May 2014 15:27:49 +0000 Subject: Disable handle zapping for release builds on 3.26 BUG=318206 LOG=y R=danno@chromium.org Review URL: https://codereview.chromium.org/295673002 git-svn-id: https://v8.googlecode.com/svn/branches/3.26@21367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- build/features.gypi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/features.gypi b/build/features.gypi index e8f5b2f08..d542d05bb 100644 --- a/build/features.gypi +++ b/build/features.gypi @@ -111,7 +111,7 @@ 'Release': { 'variables': { 'v8_enable_extra_checks%': 0, - 'v8_enable_handle_zapping%': 1, + 'v8_enable_handle_zapping%': 0, }, 'conditions': [ ['v8_enable_extra_checks==1', { -- cgit v1.2.3 From 6dbacd09ec4f2a2769ce103bdda59bf534f80da2 Mon Sep 17 00:00:00 2001 From: "Torne (Richard Coles)" Date: Tue, 27 May 2014 12:14:41 +0100 Subject: Update makefiles after merge of Chromium at 36.0.1985.18 This commit was generated by merge_from_chromium.py. Change-Id: Id57922e5f81bed2d43a47d36e695c921b21c00ec --- tools/gyp/mksnapshot.arm.host.darwin-arm.mk | 11 +++++++++-- tools/gyp/mksnapshot.arm.host.linux-arm.mk | 11 +++++++++-- tools/gyp/mksnapshot.arm64.host.darwin-arm64.mk | 11 +++++++++-- tools/gyp/mksnapshot.arm64.host.linux-arm64.mk | 11 +++++++++-- tools/gyp/mksnapshot.ia32.host.darwin-x86.mk | 11 +++++++++-- tools/gyp/mksnapshot.ia32.host.linux-x86.mk | 11 +++++++++-- tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk | 11 +++++++++-- tools/gyp/mksnapshot.mipsel.host.linux-mips.mk | 11 +++++++++-- tools/gyp/mksnapshot.x64.host.darwin-x86_64.mk | 11 +++++++++-- tools/gyp/mksnapshot.x64.host.linux-x86_64.mk | 11 +++++++++-- tools/gyp/v8_base.arm.host.darwin-arm.mk | 11 +++++++++-- tools/gyp/v8_base.arm.host.linux-arm.mk | 11 +++++++++-- tools/gyp/v8_base.arm.target.darwin-arm.mk | 11 +++++++++-- tools/gyp/v8_base.arm.target.linux-arm.mk | 11 +++++++++-- tools/gyp/v8_base.arm64.host.darwin-arm64.mk | 11 +++++++++-- tools/gyp/v8_base.arm64.host.linux-arm64.mk | 11 +++++++++-- tools/gyp/v8_base.arm64.target.darwin-arm64.mk | 11 +++++++++-- tools/gyp/v8_base.arm64.target.linux-arm64.mk | 11 +++++++++-- tools/gyp/v8_base.ia32.host.darwin-x86.mk | 11 +++++++++-- tools/gyp/v8_base.ia32.host.linux-x86.mk | 11 +++++++++-- tools/gyp/v8_base.ia32.target.darwin-x86.mk | 11 +++++++++-- tools/gyp/v8_base.ia32.target.linux-x86.mk | 11 +++++++++-- tools/gyp/v8_base.mipsel.host.darwin-mips.mk | 11 +++++++++-- tools/gyp/v8_base.mipsel.host.linux-mips.mk | 11 +++++++++-- tools/gyp/v8_base.mipsel.target.darwin-mips.mk | 11 +++++++++-- tools/gyp/v8_base.mipsel.target.linux-mips.mk | 11 +++++++++-- tools/gyp/v8_base.x64.host.darwin-x86_64.mk | 11 +++++++++-- tools/gyp/v8_base.x64.host.linux-x86_64.mk | 11 +++++++++-- tools/gyp/v8_base.x64.target.darwin-x86_64.mk | 11 +++++++++-- tools/gyp/v8_base.x64.target.linux-x86_64.mk | 11 +++++++++-- tools/gyp/v8_libbase.arm.host.darwin-arm.mk | 11 +++++++++-- tools/gyp/v8_libbase.arm.host.linux-arm.mk | 11 +++++++++-- tools/gyp/v8_libbase.arm.target.darwin-arm.mk | 11 +++++++++-- tools/gyp/v8_libbase.arm.target.linux-arm.mk | 11 +++++++++-- tools/gyp/v8_libbase.arm64.host.darwin-arm64.mk | 11 +++++++++-- tools/gyp/v8_libbase.arm64.host.linux-arm64.mk | 11 +++++++++-- tools/gyp/v8_libbase.arm64.target.darwin-arm64.mk | 11 +++++++++-- tools/gyp/v8_libbase.arm64.target.linux-arm64.mk | 11 +++++++++-- tools/gyp/v8_libbase.ia32.host.darwin-x86.mk | 11 +++++++++-- tools/gyp/v8_libbase.ia32.host.linux-x86.mk | 11 +++++++++-- tools/gyp/v8_libbase.ia32.target.darwin-x86.mk | 11 +++++++++-- tools/gyp/v8_libbase.ia32.target.linux-x86.mk | 11 +++++++++-- tools/gyp/v8_libbase.mipsel.host.darwin-mips.mk | 11 +++++++++-- tools/gyp/v8_libbase.mipsel.host.linux-mips.mk | 11 +++++++++-- tools/gyp/v8_libbase.mipsel.target.darwin-mips.mk | 11 +++++++++-- tools/gyp/v8_libbase.mipsel.target.linux-mips.mk | 11 +++++++++-- tools/gyp/v8_libbase.x64.host.darwin-x86_64.mk | 11 +++++++++-- tools/gyp/v8_libbase.x64.host.linux-x86_64.mk | 11 +++++++++-- tools/gyp/v8_libbase.x64.target.darwin-x86_64.mk | 11 +++++++++-- tools/gyp/v8_libbase.x64.target.linux-x86_64.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.arm64.host.darwin-arm64.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.arm64.host.linux-arm64.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.x64.host.darwin-x86_64.mk | 11 +++++++++-- tools/gyp/v8_nosnapshot.x64.host.linux-x86_64.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.darwin-arm.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.darwin-arm64.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.darwin-mips.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.darwin-x86.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.darwin-x86_64.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.linux-arm.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.linux-arm64.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.linux-mips.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.linux-x86.mk | 11 +++++++++-- tools/gyp/v8_snapshot.target.linux-x86_64.mk | 11 +++++++++-- 70 files changed, 630 insertions(+), 140 deletions(-) diff --git a/tools/gyp/mksnapshot.arm.host.darwin-arm.mk b/tools/gyp/mksnapshot.arm.host.darwin-arm.mk index 8f1e83e76..b0bf7fd35 100644 --- a/tools/gyp/mksnapshot.arm.host.darwin-arm.mk +++ b/tools/gyp/mksnapshot.arm.host.darwin-arm.mk @@ -74,6 +74,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -145,6 +149,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -154,8 +162,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.arm.host.linux-arm.mk b/tools/gyp/mksnapshot.arm.host.linux-arm.mk index 2e2db1a82..d83b030ca 100644 --- a/tools/gyp/mksnapshot.arm.host.linux-arm.mk +++ b/tools/gyp/mksnapshot.arm.host.linux-arm.mk @@ -74,6 +74,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -145,6 +149,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -154,8 +162,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.arm64.host.darwin-arm64.mk b/tools/gyp/mksnapshot.arm64.host.darwin-arm64.mk index 27bc0e4c4..7921eab8c 100644 --- a/tools/gyp/mksnapshot.arm64.host.darwin-arm64.mk +++ b/tools/gyp/mksnapshot.arm64.host.darwin-arm64.mk @@ -75,6 +75,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -145,6 +149,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -152,8 +160,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.arm64.host.linux-arm64.mk b/tools/gyp/mksnapshot.arm64.host.linux-arm64.mk index f8f378b48..798c1d86a 100644 --- a/tools/gyp/mksnapshot.arm64.host.linux-arm64.mk +++ b/tools/gyp/mksnapshot.arm64.host.linux-arm64.mk @@ -75,6 +75,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -145,6 +149,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -152,8 +160,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk b/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk index 37e17501e..fca7b935b 100644 --- a/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk +++ b/tools/gyp/mksnapshot.ia32.host.darwin-x86.mk @@ -74,6 +74,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -143,6 +147,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -150,8 +158,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.ia32.host.linux-x86.mk b/tools/gyp/mksnapshot.ia32.host.linux-x86.mk index 9bc8c06eb..56472ffe8 100644 --- a/tools/gyp/mksnapshot.ia32.host.linux-x86.mk +++ b/tools/gyp/mksnapshot.ia32.host.linux-x86.mk @@ -74,6 +74,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -143,6 +147,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -150,8 +158,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk b/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk index 27e2118ea..bd94a6178 100644 --- a/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk +++ b/tools/gyp/mksnapshot.mipsel.host.darwin-mips.mk @@ -75,6 +75,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -148,6 +152,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -158,8 +166,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk b/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk index ae88f7974..6c971d1e5 100644 --- a/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk +++ b/tools/gyp/mksnapshot.mipsel.host.linux-mips.mk @@ -75,6 +75,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -148,6 +152,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -158,8 +166,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.x64.host.darwin-x86_64.mk b/tools/gyp/mksnapshot.x64.host.darwin-x86_64.mk index 68a5f4b94..de08323c3 100644 --- a/tools/gyp/mksnapshot.x64.host.darwin-x86_64.mk +++ b/tools/gyp/mksnapshot.x64.host.darwin-x86_64.mk @@ -75,6 +75,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -145,6 +149,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -152,8 +160,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/mksnapshot.x64.host.linux-x86_64.mk b/tools/gyp/mksnapshot.x64.host.linux-x86_64.mk index 636f201a1..f538dc0de 100644 --- a/tools/gyp/mksnapshot.x64.host.linux-x86_64.mk +++ b/tools/gyp/mksnapshot.x64.host.linux-x86_64.mk @@ -75,6 +75,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -145,6 +149,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -152,8 +160,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm.host.darwin-arm.mk b/tools/gyp/v8_base.arm.host.darwin-arm.mk index c51d7336f..f39524dd3 100644 --- a/tools/gyp/v8_base.arm.host.darwin-arm.mk +++ b/tools/gyp/v8_base.arm.host.darwin-arm.mk @@ -238,6 +238,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -315,6 +319,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -328,8 +336,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm.host.linux-arm.mk b/tools/gyp/v8_base.arm.host.linux-arm.mk index f6d056be5..cc8c6818e 100644 --- a/tools/gyp/v8_base.arm.host.linux-arm.mk +++ b/tools/gyp/v8_base.arm.host.linux-arm.mk @@ -238,6 +238,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -316,6 +320,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -330,8 +338,7 @@ MY_DEFS_Release := \ '-DV8_LIBRT_NOT_AVAILABLE=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm.target.darwin-arm.mk b/tools/gyp/v8_base.arm.target.darwin-arm.mk index c3ffa1c8f..49f569337 100644 --- a/tools/gyp/v8_base.arm.target.darwin-arm.mk +++ b/tools/gyp/v8_base.arm.target.darwin-arm.mk @@ -256,6 +256,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -362,6 +366,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -379,8 +387,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm.target.linux-arm.mk b/tools/gyp/v8_base.arm.target.linux-arm.mk index c3ffa1c8f..49f569337 100644 --- a/tools/gyp/v8_base.arm.target.linux-arm.mk +++ b/tools/gyp/v8_base.arm.target.linux-arm.mk @@ -256,6 +256,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -362,6 +366,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -379,8 +387,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm64.host.darwin-arm64.mk b/tools/gyp/v8_base.arm64.host.darwin-arm64.mk index 275c72f98..28602599d 100644 --- a/tools/gyp/v8_base.arm64.host.darwin-arm64.mk +++ b/tools/gyp/v8_base.arm64.host.darwin-arm64.mk @@ -242,6 +242,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -318,6 +322,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -329,8 +337,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm64.host.linux-arm64.mk b/tools/gyp/v8_base.arm64.host.linux-arm64.mk index 89aa4cce5..f9041382c 100644 --- a/tools/gyp/v8_base.arm64.host.linux-arm64.mk +++ b/tools/gyp/v8_base.arm64.host.linux-arm64.mk @@ -242,6 +242,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -319,6 +323,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -331,8 +339,7 @@ MY_DEFS_Release := \ '-DV8_LIBRT_NOT_AVAILABLE=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm64.target.darwin-arm64.mk b/tools/gyp/v8_base.arm64.target.darwin-arm64.mk index a8e75569b..d0c352607 100644 --- a/tools/gyp/v8_base.arm64.target.darwin-arm64.mk +++ b/tools/gyp/v8_base.arm64.target.darwin-arm64.mk @@ -256,6 +256,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -356,6 +360,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -371,8 +379,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.arm64.target.linux-arm64.mk b/tools/gyp/v8_base.arm64.target.linux-arm64.mk index a8e75569b..d0c352607 100644 --- a/tools/gyp/v8_base.arm64.target.linux-arm64.mk +++ b/tools/gyp/v8_base.arm64.target.linux-arm64.mk @@ -256,6 +256,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -356,6 +360,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -371,8 +379,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.ia32.host.darwin-x86.mk b/tools/gyp/v8_base.ia32.host.darwin-x86.mk index 71bf7b63d..973ed3022 100644 --- a/tools/gyp/v8_base.ia32.host.darwin-x86.mk +++ b/tools/gyp/v8_base.ia32.host.darwin-x86.mk @@ -236,6 +236,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -311,6 +315,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -322,8 +330,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.ia32.host.linux-x86.mk b/tools/gyp/v8_base.ia32.host.linux-x86.mk index 46ee4c5a8..f889708ea 100644 --- a/tools/gyp/v8_base.ia32.host.linux-x86.mk +++ b/tools/gyp/v8_base.ia32.host.linux-x86.mk @@ -236,6 +236,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -312,6 +316,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -324,8 +332,7 @@ MY_DEFS_Release := \ '-DV8_LIBRT_NOT_AVAILABLE=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.ia32.target.darwin-x86.mk b/tools/gyp/v8_base.ia32.target.darwin-x86.mk index a72d76b30..b6739bac9 100644 --- a/tools/gyp/v8_base.ia32.target.darwin-x86.mk +++ b/tools/gyp/v8_base.ia32.target.darwin-x86.mk @@ -255,6 +255,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -359,6 +363,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -374,8 +382,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.ia32.target.linux-x86.mk b/tools/gyp/v8_base.ia32.target.linux-x86.mk index a72d76b30..b6739bac9 100644 --- a/tools/gyp/v8_base.ia32.target.linux-x86.mk +++ b/tools/gyp/v8_base.ia32.target.linux-x86.mk @@ -255,6 +255,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -359,6 +363,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -374,8 +382,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.mipsel.host.darwin-mips.mk b/tools/gyp/v8_base.mipsel.host.darwin-mips.mk index 7ba6c2b90..d626eb909 100644 --- a/tools/gyp/v8_base.mipsel.host.darwin-mips.mk +++ b/tools/gyp/v8_base.mipsel.host.darwin-mips.mk @@ -239,6 +239,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -318,6 +322,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -332,8 +340,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.mipsel.host.linux-mips.mk b/tools/gyp/v8_base.mipsel.host.linux-mips.mk index 31b54e79f..896c31c7c 100644 --- a/tools/gyp/v8_base.mipsel.host.linux-mips.mk +++ b/tools/gyp/v8_base.mipsel.host.linux-mips.mk @@ -239,6 +239,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -319,6 +323,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -334,8 +342,7 @@ MY_DEFS_Release := \ '-DV8_LIBRT_NOT_AVAILABLE=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.mipsel.target.darwin-mips.mk b/tools/gyp/v8_base.mipsel.target.darwin-mips.mk index 3ba887330..968e04fa7 100644 --- a/tools/gyp/v8_base.mipsel.target.darwin-mips.mk +++ b/tools/gyp/v8_base.mipsel.target.darwin-mips.mk @@ -257,6 +257,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -365,6 +369,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -383,8 +391,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.mipsel.target.linux-mips.mk b/tools/gyp/v8_base.mipsel.target.linux-mips.mk index 3ba887330..968e04fa7 100644 --- a/tools/gyp/v8_base.mipsel.target.linux-mips.mk +++ b/tools/gyp/v8_base.mipsel.target.linux-mips.mk @@ -257,6 +257,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -365,6 +369,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -383,8 +391,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.x64.host.darwin-x86_64.mk b/tools/gyp/v8_base.x64.host.darwin-x86_64.mk index 31d4e78a5..3f4fb1222 100644 --- a/tools/gyp/v8_base.x64.host.darwin-x86_64.mk +++ b/tools/gyp/v8_base.x64.host.darwin-x86_64.mk @@ -237,6 +237,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -313,6 +317,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -324,8 +332,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.x64.host.linux-x86_64.mk b/tools/gyp/v8_base.x64.host.linux-x86_64.mk index 1fa410516..7f6fbac3e 100644 --- a/tools/gyp/v8_base.x64.host.linux-x86_64.mk +++ b/tools/gyp/v8_base.x64.host.linux-x86_64.mk @@ -237,6 +237,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -314,6 +318,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -326,8 +334,7 @@ MY_DEFS_Release := \ '-DV8_LIBRT_NOT_AVAILABLE=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.x64.target.darwin-x86_64.mk b/tools/gyp/v8_base.x64.target.darwin-x86_64.mk index 5a3626534..dbf3ab64f 100644 --- a/tools/gyp/v8_base.x64.target.darwin-x86_64.mk +++ b/tools/gyp/v8_base.x64.target.darwin-x86_64.mk @@ -255,6 +255,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -359,6 +363,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -374,8 +382,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_base.x64.target.linux-x86_64.mk b/tools/gyp/v8_base.x64.target.linux-x86_64.mk index 5a3626534..dbf3ab64f 100644 --- a/tools/gyp/v8_base.x64.target.linux-x86_64.mk +++ b/tools/gyp/v8_base.x64.target.linux-x86_64.mk @@ -255,6 +255,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -359,6 +363,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -374,8 +382,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.arm.host.darwin-arm.mk b/tools/gyp/v8_libbase.arm.host.darwin-arm.mk index ea2374d29..c1001a5fd 100644 --- a/tools/gyp/v8_libbase.arm.host.darwin-arm.mk +++ b/tools/gyp/v8_libbase.arm.host.darwin-arm.mk @@ -64,6 +64,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -135,6 +139,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -144,8 +152,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.arm.host.linux-arm.mk b/tools/gyp/v8_libbase.arm.host.linux-arm.mk index ea2374d29..c1001a5fd 100644 --- a/tools/gyp/v8_libbase.arm.host.linux-arm.mk +++ b/tools/gyp/v8_libbase.arm.host.linux-arm.mk @@ -64,6 +64,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -135,6 +139,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -144,8 +152,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.arm.target.darwin-arm.mk b/tools/gyp/v8_libbase.arm.target.darwin-arm.mk index 1b1ef379a..398050c1d 100644 --- a/tools/gyp/v8_libbase.arm.target.darwin-arm.mk +++ b/tools/gyp/v8_libbase.arm.target.darwin-arm.mk @@ -80,6 +80,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -179,6 +183,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -193,8 +201,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.arm.target.linux-arm.mk b/tools/gyp/v8_libbase.arm.target.linux-arm.mk index 1b1ef379a..398050c1d 100644 --- a/tools/gyp/v8_libbase.arm.target.linux-arm.mk +++ b/tools/gyp/v8_libbase.arm.target.linux-arm.mk @@ -80,6 +80,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -179,6 +183,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -193,8 +201,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.arm64.host.darwin-arm64.mk b/tools/gyp/v8_libbase.arm64.host.darwin-arm64.mk index 2d95057f9..6fc628116 100644 --- a/tools/gyp/v8_libbase.arm64.host.darwin-arm64.mk +++ b/tools/gyp/v8_libbase.arm64.host.darwin-arm64.mk @@ -65,6 +65,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -135,6 +139,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -142,8 +150,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.arm64.host.linux-arm64.mk b/tools/gyp/v8_libbase.arm64.host.linux-arm64.mk index 2d95057f9..6fc628116 100644 --- a/tools/gyp/v8_libbase.arm64.host.linux-arm64.mk +++ b/tools/gyp/v8_libbase.arm64.host.linux-arm64.mk @@ -65,6 +65,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -135,6 +139,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -142,8 +150,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.arm64.target.darwin-arm64.mk b/tools/gyp/v8_libbase.arm64.target.darwin-arm64.mk index ef9a9a17a..f97d92190 100644 --- a/tools/gyp/v8_libbase.arm64.target.darwin-arm64.mk +++ b/tools/gyp/v8_libbase.arm64.target.darwin-arm64.mk @@ -77,6 +77,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -170,6 +174,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -182,8 +190,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.arm64.target.linux-arm64.mk b/tools/gyp/v8_libbase.arm64.target.linux-arm64.mk index ef9a9a17a..f97d92190 100644 --- a/tools/gyp/v8_libbase.arm64.target.linux-arm64.mk +++ b/tools/gyp/v8_libbase.arm64.target.linux-arm64.mk @@ -77,6 +77,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -170,6 +174,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -182,8 +190,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.ia32.host.darwin-x86.mk b/tools/gyp/v8_libbase.ia32.host.darwin-x86.mk index 5d53ea12d..39434b744 100644 --- a/tools/gyp/v8_libbase.ia32.host.darwin-x86.mk +++ b/tools/gyp/v8_libbase.ia32.host.darwin-x86.mk @@ -64,6 +64,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -133,6 +137,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -140,8 +148,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.ia32.host.linux-x86.mk b/tools/gyp/v8_libbase.ia32.host.linux-x86.mk index 5d53ea12d..39434b744 100644 --- a/tools/gyp/v8_libbase.ia32.host.linux-x86.mk +++ b/tools/gyp/v8_libbase.ia32.host.linux-x86.mk @@ -64,6 +64,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -133,6 +137,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -140,8 +148,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.ia32.target.darwin-x86.mk b/tools/gyp/v8_libbase.ia32.target.darwin-x86.mk index aa0fda61b..a1b28c4d6 100644 --- a/tools/gyp/v8_libbase.ia32.target.darwin-x86.mk +++ b/tools/gyp/v8_libbase.ia32.target.darwin-x86.mk @@ -81,6 +81,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -178,6 +182,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -190,8 +198,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.ia32.target.linux-x86.mk b/tools/gyp/v8_libbase.ia32.target.linux-x86.mk index aa0fda61b..a1b28c4d6 100644 --- a/tools/gyp/v8_libbase.ia32.target.linux-x86.mk +++ b/tools/gyp/v8_libbase.ia32.target.linux-x86.mk @@ -81,6 +81,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -178,6 +182,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -190,8 +198,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.mipsel.host.darwin-mips.mk b/tools/gyp/v8_libbase.mipsel.host.darwin-mips.mk index af8995002..f935cae31 100644 --- a/tools/gyp/v8_libbase.mipsel.host.darwin-mips.mk +++ b/tools/gyp/v8_libbase.mipsel.host.darwin-mips.mk @@ -65,6 +65,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -138,6 +142,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -148,8 +156,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.mipsel.host.linux-mips.mk b/tools/gyp/v8_libbase.mipsel.host.linux-mips.mk index af8995002..f935cae31 100644 --- a/tools/gyp/v8_libbase.mipsel.host.linux-mips.mk +++ b/tools/gyp/v8_libbase.mipsel.host.linux-mips.mk @@ -65,6 +65,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -138,6 +142,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -148,8 +156,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.mipsel.target.darwin-mips.mk b/tools/gyp/v8_libbase.mipsel.target.darwin-mips.mk index 972eadced..db6f9167c 100644 --- a/tools/gyp/v8_libbase.mipsel.target.darwin-mips.mk +++ b/tools/gyp/v8_libbase.mipsel.target.darwin-mips.mk @@ -81,6 +81,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -182,6 +186,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -197,8 +205,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.mipsel.target.linux-mips.mk b/tools/gyp/v8_libbase.mipsel.target.linux-mips.mk index 972eadced..db6f9167c 100644 --- a/tools/gyp/v8_libbase.mipsel.target.linux-mips.mk +++ b/tools/gyp/v8_libbase.mipsel.target.linux-mips.mk @@ -81,6 +81,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -182,6 +186,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -197,8 +205,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.x64.host.darwin-x86_64.mk b/tools/gyp/v8_libbase.x64.host.darwin-x86_64.mk index 851baef10..0aa44123b 100644 --- a/tools/gyp/v8_libbase.x64.host.darwin-x86_64.mk +++ b/tools/gyp/v8_libbase.x64.host.darwin-x86_64.mk @@ -65,6 +65,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -135,6 +139,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -142,8 +150,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.x64.host.linux-x86_64.mk b/tools/gyp/v8_libbase.x64.host.linux-x86_64.mk index 851baef10..0aa44123b 100644 --- a/tools/gyp/v8_libbase.x64.host.linux-x86_64.mk +++ b/tools/gyp/v8_libbase.x64.host.linux-x86_64.mk @@ -65,6 +65,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -135,6 +139,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -142,8 +150,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.x64.target.darwin-x86_64.mk b/tools/gyp/v8_libbase.x64.target.darwin-x86_64.mk index bbaf094d5..06472343b 100644 --- a/tools/gyp/v8_libbase.x64.target.darwin-x86_64.mk +++ b/tools/gyp/v8_libbase.x64.target.darwin-x86_64.mk @@ -81,6 +81,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -178,6 +182,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -190,8 +198,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_libbase.x64.target.linux-x86_64.mk b/tools/gyp/v8_libbase.x64.target.linux-x86_64.mk index bbaf094d5..06472343b 100644 --- a/tools/gyp/v8_libbase.x64.target.linux-x86_64.mk +++ b/tools/gyp/v8_libbase.x64.target.linux-x86_64.mk @@ -81,6 +81,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -178,6 +182,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -190,8 +198,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk b/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk index c012ce268..1986d0289 100644 --- a/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk +++ b/tools/gyp/v8_nosnapshot.arm.host.darwin-arm.mk @@ -77,6 +77,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -148,6 +152,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -157,8 +165,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk b/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk index 8d2670e15..da86f1f99 100644 --- a/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk +++ b/tools/gyp/v8_nosnapshot.arm.host.linux-arm.mk @@ -77,6 +77,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -148,6 +152,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -157,8 +165,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.arm64.host.darwin-arm64.mk b/tools/gyp/v8_nosnapshot.arm64.host.darwin-arm64.mk index ca76397fb..d61e34e46 100644 --- a/tools/gyp/v8_nosnapshot.arm64.host.darwin-arm64.mk +++ b/tools/gyp/v8_nosnapshot.arm64.host.darwin-arm64.mk @@ -78,6 +78,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -148,6 +152,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -155,8 +163,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.arm64.host.linux-arm64.mk b/tools/gyp/v8_nosnapshot.arm64.host.linux-arm64.mk index 94f740a43..7fec8d13d 100644 --- a/tools/gyp/v8_nosnapshot.arm64.host.linux-arm64.mk +++ b/tools/gyp/v8_nosnapshot.arm64.host.linux-arm64.mk @@ -78,6 +78,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -148,6 +152,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -155,8 +163,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk b/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk index 5e142b8c5..be7ff28a5 100644 --- a/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk +++ b/tools/gyp/v8_nosnapshot.ia32.host.darwin-x86.mk @@ -77,6 +77,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -146,6 +150,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -153,8 +161,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk b/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk index b6a8a99d8..584607005 100644 --- a/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk +++ b/tools/gyp/v8_nosnapshot.ia32.host.linux-x86.mk @@ -77,6 +77,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -146,6 +150,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -153,8 +161,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk b/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk index 42daf3e0e..ebb85abf7 100644 --- a/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk +++ b/tools/gyp/v8_nosnapshot.mipsel.host.darwin-mips.mk @@ -78,6 +78,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -151,6 +155,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -161,8 +169,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk b/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk index 2d290b011..3124df4d7 100644 --- a/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk +++ b/tools/gyp/v8_nosnapshot.mipsel.host.linux-mips.mk @@ -78,6 +78,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -151,6 +155,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -161,8 +169,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.x64.host.darwin-x86_64.mk b/tools/gyp/v8_nosnapshot.x64.host.darwin-x86_64.mk index 3c8560e11..fafc6cebe 100644 --- a/tools/gyp/v8_nosnapshot.x64.host.darwin-x86_64.mk +++ b/tools/gyp/v8_nosnapshot.x64.host.darwin-x86_64.mk @@ -78,6 +78,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -148,6 +152,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -155,8 +163,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_nosnapshot.x64.host.linux-x86_64.mk b/tools/gyp/v8_nosnapshot.x64.host.linux-x86_64.mk index 13a3e235f..73b6ebe04 100644 --- a/tools/gyp/v8_nosnapshot.x64.host.linux-x86_64.mk +++ b/tools/gyp/v8_nosnapshot.x64.host.linux-x86_64.mk @@ -78,6 +78,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -148,6 +152,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -155,8 +163,7 @@ MY_DEFS_Release := \ '-DUSE_OPENSSL_CERTS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.darwin-arm.mk b/tools/gyp/v8_snapshot.target.darwin-arm.mk index 0a0143fd5..8baaef02d 100644 --- a/tools/gyp/v8_snapshot.target.darwin-arm.mk +++ b/tools/gyp/v8_snapshot.target.darwin-arm.mk @@ -107,6 +107,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -208,6 +212,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -222,8 +230,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.darwin-arm64.mk b/tools/gyp/v8_snapshot.target.darwin-arm64.mk index 48145635b..132d633f0 100644 --- a/tools/gyp/v8_snapshot.target.darwin-arm64.mk +++ b/tools/gyp/v8_snapshot.target.darwin-arm64.mk @@ -104,6 +104,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -199,6 +203,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -211,8 +219,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.darwin-mips.mk b/tools/gyp/v8_snapshot.target.darwin-mips.mk index c0804be17..edda5da6b 100644 --- a/tools/gyp/v8_snapshot.target.darwin-mips.mk +++ b/tools/gyp/v8_snapshot.target.darwin-mips.mk @@ -108,6 +108,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -211,6 +215,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -226,8 +234,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.darwin-x86.mk b/tools/gyp/v8_snapshot.target.darwin-x86.mk index cfc431521..dd827a9c6 100644 --- a/tools/gyp/v8_snapshot.target.darwin-x86.mk +++ b/tools/gyp/v8_snapshot.target.darwin-x86.mk @@ -108,6 +108,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -207,6 +211,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -219,8 +227,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.darwin-x86_64.mk b/tools/gyp/v8_snapshot.target.darwin-x86_64.mk index 97d70fdc5..92201ffb9 100644 --- a/tools/gyp/v8_snapshot.target.darwin-x86_64.mk +++ b/tools/gyp/v8_snapshot.target.darwin-x86_64.mk @@ -108,6 +108,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -207,6 +211,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -219,8 +227,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.linux-arm.mk b/tools/gyp/v8_snapshot.target.linux-arm.mk index 0a0143fd5..8baaef02d 100644 --- a/tools/gyp/v8_snapshot.target.linux-arm.mk +++ b/tools/gyp/v8_snapshot.target.linux-arm.mk @@ -107,6 +107,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -208,6 +212,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM' \ '-DV8_I18N_SUPPORT' \ @@ -222,8 +230,7 @@ MY_DEFS_Release := \ '-DCAN_USE_ARMV7_INSTRUCTIONS=1' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.linux-arm64.mk b/tools/gyp/v8_snapshot.target.linux-arm64.mk index 48145635b..132d633f0 100644 --- a/tools/gyp/v8_snapshot.target.linux-arm64.mk +++ b/tools/gyp/v8_snapshot.target.linux-arm64.mk @@ -104,6 +104,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -199,6 +203,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_ARM64' \ '-DV8_I18N_SUPPORT' \ @@ -211,8 +219,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.linux-mips.mk b/tools/gyp/v8_snapshot.target.linux-mips.mk index c0804be17..edda5da6b 100644 --- a/tools/gyp/v8_snapshot.target.linux-mips.mk +++ b/tools/gyp/v8_snapshot.target.linux-mips.mk @@ -108,6 +108,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -211,6 +215,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_MIPS' \ '-DCAN_USE_FPU_INSTRUCTIONS' \ @@ -226,8 +234,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.linux-x86.mk b/tools/gyp/v8_snapshot.target.linux-x86.mk index cfc431521..dd827a9c6 100644 --- a/tools/gyp/v8_snapshot.target.linux-x86.mk +++ b/tools/gyp/v8_snapshot.target.linux-x86.mk @@ -108,6 +108,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -207,6 +211,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_IA32' \ '-DV8_I18N_SUPPORT' \ @@ -219,8 +227,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS diff --git a/tools/gyp/v8_snapshot.target.linux-x86_64.mk b/tools/gyp/v8_snapshot.target.linux-x86_64.mk index 97d70fdc5..92201ffb9 100644 --- a/tools/gyp/v8_snapshot.target.linux-x86_64.mk +++ b/tools/gyp/v8_snapshot.target.linux-x86_64.mk @@ -108,6 +108,10 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -207,6 +211,10 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ + '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ + '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' \ + '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ + '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ '-DVIDEO_HOLE=1' \ '-DV8_TARGET_ARCH_X64' \ '-DV8_I18N_SUPPORT' \ @@ -219,8 +227,7 @@ MY_DEFS_Release := \ '-DCHROME_BUILD_ID=""' \ '-DNDEBUG' \ '-DNVALGRIND' \ - '-DDYNAMIC_ANNOTATIONS_ENABLED=0' \ - '-DENABLE_HANDLE_ZAPPING' + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Include paths placed before CFLAGS/CPPFLAGS -- cgit v1.2.3 From f05f76fc21c027399ff29d16a3beb56a535b1eba Mon Sep 17 00:00:00 2001 From: Primiano Tucci Date: Fri, 13 Jun 2014 18:19:20 +0100 Subject: Disable optimized NEON MemCpy for V8 to WAR emulator bug. V8 is hitting some bug in the arm-32 emulator, which causes a crash as soon as a WebView is created. The bug seems to be triggered by an optimized implementation of memcpy inside V8. This CL is disabling the optimized implementation, which fixes WebView in the emulator. BUG: 15591670 Change-Id: I5196e846b6a483194d5864fe413bffeb2e9f13c5 --- src/arm/codegen-arm.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/arm/codegen-arm.cc b/src/arm/codegen-arm.cc index a8e38777b..4bf58ce93 100644 --- a/src/arm/codegen-arm.cc +++ b/src/arm/codegen-arm.cc @@ -14,6 +14,10 @@ namespace v8 { namespace internal { +// The optimized NEON memcpy seems to trigger a bug in the ARM-32 emulator. +// See b/15591670. +#define EMULATOR_WORKAROUND_FOR_LMP_PREVIEW + #define __ masm. @@ -80,7 +84,7 @@ UnaryMathFunction CreateExpFunction() { #if defined(V8_HOST_ARCH_ARM) OS::MemCopyUint8Function CreateMemCopyUint8Function( OS::MemCopyUint8Function stub) { -#if defined(USE_SIMULATOR) +#if defined(USE_SIMULATOR) || defined(EMULATOR_WORKAROUND_FOR_LMP_PREVIEW) return stub; #else if (!CpuFeatures::IsSupported(UNALIGNED_ACCESSES)) return stub; @@ -236,7 +240,7 @@ OS::MemCopyUint8Function CreateMemCopyUint8Function( // Convert 8 to 16. The number of character to copy must be at least 8. OS::MemCopyUint16Uint8Function CreateMemCopyUint16Uint8Function( OS::MemCopyUint16Uint8Function stub) { -#if defined(USE_SIMULATOR) +#if defined(USE_SIMULATOR) || defined(EMULATOR_WORKAROUND_FOR_LMP_PREVIEW) return stub; #else if (!CpuFeatures::IsSupported(UNALIGNED_ACCESSES)) return stub; -- cgit v1.2.3