diff --git a/doc/hotspot-style.html b/doc/hotspot-style.html index 04999f545ee18..c04ac93dc9138 100644 --- a/doc/hotspot-style.html +++ b/doc/hotspot-style.html @@ -49,6 +49,7 @@

HotSpot Coding Style

  • thread_local
  • nullptr
  • <atomic>
  • +
  • Uniform Initialization
  • Additional Permitted Features
  • Excluded Features
  • Undecided Features
  • @@ -275,6 +276,17 @@

    <atomic>

    Do 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