diff --git a/doc/hotspot-style.html b/doc/hotspot-style.html index 04999f545ee..c04ac93dc91 100644 --- a/doc/hotspot-style.html +++ b/doc/hotspot-style.html @@ -49,6 +49,7 @@
  • thread_local
  • nullptr
  • <atomic>
  • +
  • Uniform Initialization
  • Additional Permitted Features
  • Excluded Features
  • Undecided Features
  • @@ -275,6 +276,17 @@ while ( test_foo(args...) ) { // No, excess spaces around controlDo not use facilities provided by the <atomic> header (n2427), (n2752); instead, use the HotSpot Atomic class and related facilities.

    Atomic operations in HotSpot code must have semantics which are consistent with those provided by the JDK's compilers for Java. There are platform-specific implementation choices that a C++ compiler might make or change that are outside the scope of the C++ Standard, and might differ from what the Java compilers implement.

    In addition, HotSpot Atomic has a concept of "conservative" memory ordering, which may differ from (may be stronger than) sequentially consistent. There are algorithms in HotSpot that are believed to rely on that ordering.

    +

    Uniform Initialization

    +

    The use of uniform initialization (n2672), also known as brace initialization, is permitted.

    +

    Some relevant sections from cppreference.com:

    + +

    Although related, the use of std::initializer_list remains forbidden, as part of the avoidance of the C++ Standard Library in HotSpot code.

    Additional Permitted Features