Commit 293f898a authored by dslomov's avatar dslomov Committed by Commit bot

Make sure that individual shipping features can be disabled.

R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/779203005

Cr-Commit-Position: refs/heads/master@{#25690}
parent 35ff259b
...@@ -16,6 +16,9 @@ ...@@ -16,6 +16,9 @@
#define DEFINE_NEG_IMPLICATION(whenflag, thenflag) \ #define DEFINE_NEG_IMPLICATION(whenflag, thenflag) \
DEFINE_VALUE_IMPLICATION(whenflag, thenflag, false) DEFINE_VALUE_IMPLICATION(whenflag, thenflag, false)
#define DEFINE_NEG_NEG_IMPLICATION(whenflag, thenflag) \
DEFINE_NEG_VALUE_IMPLICATION(whenflag, thenflag, false)
// We want to declare the names of the variables for the header file. Normally // We want to declare the names of the variables for the header file. Normally
// this will just be an extern declaration, but for a readonly flag we let the // this will just be an extern declaration, but for a readonly flag we let the
// compiler make better optimizations by giving it the value. // compiler make better optimizations by giving it the value.
...@@ -54,6 +57,9 @@ ...@@ -54,6 +57,9 @@
#define DEFINE_VALUE_IMPLICATION(whenflag, thenflag, value) \ #define DEFINE_VALUE_IMPLICATION(whenflag, thenflag, value) \
if (FLAG_##whenflag) FLAG_##thenflag = value; if (FLAG_##whenflag) FLAG_##thenflag = value;
#define DEFINE_NEG_VALUE_IMPLICATION(whenflag, thenflag, value) \
if (!FLAG_##whenflag) FLAG_##thenflag = value;
#else #else
#error No mode supplied when including flags.defs #error No mode supplied when including flags.defs
#endif #endif
...@@ -75,6 +81,10 @@ ...@@ -75,6 +81,10 @@
#define DEFINE_VALUE_IMPLICATION(whenflag, thenflag, value) #define DEFINE_VALUE_IMPLICATION(whenflag, thenflag, value)
#endif #endif
#ifndef DEFINE_NEG_VALUE_IMPLICATION
#define DEFINE_NEG_VALUE_IMPLICATION(whenflag, thenflag, value)
#endif
#define COMMA , #define COMMA ,
#ifdef FLAG_MODE_DECLARE #ifdef FLAG_MODE_DECLARE
...@@ -202,9 +212,9 @@ HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES) ...@@ -202,9 +212,9 @@ HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES)
HARMONY_STAGED(FLAG_STAGED_FEATURES) HARMONY_STAGED(FLAG_STAGED_FEATURES)
#undef FLAG_STAGED_FEATURES #undef FLAG_STAGED_FEATURES
#define FLAG_SHIPPING_FEATURES(id, description) \ #define FLAG_SHIPPING_FEATURES(id, description) \
DEFINE_BOOL(id, false, "enable " #description) \ DEFINE_BOOL(id, true, "enable " #description) \
DEFINE_IMPLICATION(harmony_shipping, id) DEFINE_NEG_NEG_IMPLICATION(harmony_shipping, id)
HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES)
#undef FLAG_SHIPPING_FEATURES #undef FLAG_SHIPPING_FEATURES
...@@ -985,6 +995,7 @@ DEFINE_IMPLICATION(unbox_double_fields, track_double_fields) ...@@ -985,6 +995,7 @@ DEFINE_IMPLICATION(unbox_double_fields, track_double_fields)
#undef DEFINE_ARGS #undef DEFINE_ARGS
#undef DEFINE_IMPLICATION #undef DEFINE_IMPLICATION
#undef DEFINE_NEG_IMPLICATION #undef DEFINE_NEG_IMPLICATION
#undef DEFINE_NEG_VALUE_IMPLICATION
#undef DEFINE_VALUE_IMPLICATION #undef DEFINE_VALUE_IMPLICATION
#undef DEFINE_ALIAS_BOOL #undef DEFINE_ALIAS_BOOL
#undef DEFINE_ALIAS_INT #undef DEFINE_ALIAS_INT
......
// 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: --noharmony-strings
assertEquals(undefined, String.prototype.includes);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment