Skip to content

Commit 0830f2b

Browse files
authored
Merge pull request #3 from openjdk/master
Merge
2 parents 5ba6724 + 7988c1d commit 0830f2b

File tree

10,291 files changed

+741663
-243680
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

10,291 files changed

+741663
-243680
lines changed

.github/workflows/submit.yml

Lines changed: 1609 additions & 0 deletions
Large diffs are not rendered by default.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
/dist/
33
/.idea/
44
/.vscode/
5+
/nbproject/
56
nbproject/private/
67
/webrev
78
/.src-rev
@@ -14,3 +15,4 @@ test/nashorn/lib
1415
NashornProfile.txt
1516
**/JTreport/**
1617
**/JTwork/**
18+
/src/utils/LogCompilation/target/

.hgignore

Lines changed: 0 additions & 18 deletions
This file was deleted.

.jcheck/conf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ version=0
1414
domain=openjdk.org
1515

1616
[checks "whitespace"]
17-
files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java|.*\.cc|.*\.hh|.*\.m|.*\.mm
17+
files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java|.*\.cc|.*\.hh|.*\.m|.*\.mm|.*\.gmk|.*\.m4|.*\.ac|Makefile
18+
ignore-tabs=.*\.gmk|Makefile
1819

1920
[checks "merge"]
2021
message=Merge

doc/building.html

Lines changed: 67 additions & 56 deletions
Large diffs are not rendered by default.

doc/building.md

Lines changed: 113 additions & 77 deletions
Large diffs are not rendered by default.

doc/hotspot-style.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ <h1 class="title">HotSpot Coding Style</h1>
4949
<li><a href="#thread_local">thread_local</a></li>
5050
<li><a href="#nullptr">nullptr</a></li>
5151
<li><a href="#atomic">&lt;atomic&gt;</a></li>
52+
<li><a href="#uniform-initialization">Uniform Initialization</a></li>
5253
<li><a href="#additional-permitted-features">Additional Permitted Features</a></li>
5354
<li><a href="#excluded-features">Excluded Features</a></li>
5455
<li><a href="#undecided-features">Undecided Features</a></li>
@@ -275,6 +276,17 @@ <h3 id="atomic">&lt;atomic&gt;</h3>
275276
<p>Do not use facilities provided by the <code>&lt;atomic&gt;</code> header (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html">n2427</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm">n2752</a>); instead, use the HotSpot <code>Atomic</code> class and related facilities.</p>
276277
<p>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.</p>
277278
<p>In addition, HotSpot <code>Atomic</code> has a concept of &quot;conservative&quot; 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.</p>
279+
<h3 id="uniform-initialization">Uniform Initialization</h3>
280+
<p>The use of <em>uniform initialization</em> (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm">n2672</a>), also known as <em>brace initialization</em>, is permitted.</p>
281+
<p>Some relevant sections from cppreference.com:</p>
282+
<ul>
283+
<li><a href="https://en.cppreference.com/w/cpp/language/initialization">initialization</a></li>
284+
<li><a href="https://en.cppreference.com/w/cpp/language/value_initialization">value initialization</a></li>
285+
<li><a href="https://en.cppreference.com/w/cpp/language/direct_initialization">direct initialization</a></li>
286+
<li><a href="https://en.cppreference.com/w/cpp/language/list_initialization">list initialization</a></li>
287+
<li><a href="https://en.cppreference.com/w/cpp/language/aggregate_initialization">aggregate initialization</a></li>
288+
</ul>
289+
<p>Although related, the use of <code>std::initializer_list</code> remains forbidden, as part of the avoidance of the C++ Standard Library in HotSpot code.</p>
278290
<h3 id="additional-permitted-features">Additional Permitted Features</h3>
279291
<ul>
280292
<li><p><code>constexpr</code> (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf">n2235</a>) (<a href="https://isocpp.org/files/papers/N3652.html">n3652</a>)</p></li>
@@ -292,6 +304,7 @@ <h3 id="additional-permitted-features">Additional Permitted Features</h3>
292304
<li><p>Dynamic initialization and destruction with concurrency (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm">n2660</a>)</p></li>
293305
<li><p><code>final</code> virtual specifiers for classes and virtual functions (<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm">n2928</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm">n3206</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm">n3272</a>)</p></li>
294306
<li><p>Local and unnamed types as template parameters (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm">n2657</a>)</p></li>
307+
<li><p>Range-based <code>for</code> loops (<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html">n2930</a>) (<a href="https://en.cppreference.com/w/cpp/language/range-for">range-for</a>)</p></li>
295308
</ul>
296309
<h3 id="excluded-features">Excluded Features</h3>
297310
<ul>

doc/hotspot-style.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,23 @@ ordering, which may differ from (may be stronger than) sequentially
681681
consistent. There are algorithms in HotSpot that are believed to rely
682682
on that ordering.
683683

684+
### Uniform Initialization
685+
686+
The use of _uniform initialization_
687+
([n2672](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm)),
688+
also known as _brace initialization_, is permitted.
689+
690+
Some relevant sections from cppreference.com:
691+
692+
* [initialization](https://en.cppreference.com/w/cpp/language/initialization)
693+
* [value initialization](https://en.cppreference.com/w/cpp/language/value_initialization)
694+
* [direct initialization](https://en.cppreference.com/w/cpp/language/direct_initialization)
695+
* [list initialization](https://en.cppreference.com/w/cpp/language/list_initialization)
696+
* [aggregate initialization](https://en.cppreference.com/w/cpp/language/aggregate_initialization)
697+
698+
Although related, the use of `std::initializer_list` remains forbidden, as
699+
part of the avoidance of the C++ Standard Library in HotSpot code.
700+
684701
### Additional Permitted Features
685702

686703
* `constexpr`
@@ -733,6 +750,10 @@ on that ordering.
733750
* Local and unnamed types as template parameters
734751
([n2657](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm))
735752

753+
* Range-based `for` loops
754+
([n2930](http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html))
755+
([range-for](https://en.cppreference.com/w/cpp/language/range-for))
756+
736757
### Excluded Features
737758

738759
* New string and character literals

make/Bundles.gmk

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -410,17 +410,43 @@ endif
410410

411411
################################################################################
412412

413-
ifneq ($(filter docs-bundles, $(MAKECMDGOALS)), )
414-
DOCS_BUNDLE_FILES := $(call FindFiles, $(DOCS_IMAGE_DIR))
413+
ifneq ($(filter docs-jdk-bundles, $(MAKECMDGOALS)), )
414+
DOCS_JDK_BUNDLE_FILES := $(call FindFiles, $(DOCS_JDK_IMAGE_DIR))
415415

416-
$(eval $(call SetupBundleFile, BUILD_DOCS_BUNDLE, \
417-
BUNDLE_NAME := $(DOCS_BUNDLE_NAME), \
418-
FILES := $(DOCS_BUNDLE_FILES), \
419-
BASE_DIRS := $(DOCS_IMAGE_DIR), \
416+
$(eval $(call SetupBundleFile, BUILD_DOCS_JDK_BUNDLE, \
417+
BUNDLE_NAME := $(DOCS_JDK_BUNDLE_NAME), \
418+
FILES := $(DOCS_JDK_BUNDLE_FILES), \
419+
BASE_DIRS := $(DOCS_JDK_IMAGE_DIR), \
420420
SUBDIR := docs, \
421421
))
422422

423-
DOCS_TARGETS += $(BUILD_DOCS_BUNDLE)
423+
DOCS_JDK_TARGETS += $(BUILD_DOCS_JDK_BUNDLE)
424+
endif
425+
426+
ifneq ($(filter docs-javase-bundles, $(MAKECMDGOALS)), )
427+
DOCS_JAVASE_BUNDLE_FILES := $(call FindFiles, $(DOCS_JAVASE_IMAGE_DIR))
428+
429+
$(eval $(call SetupBundleFile, BUILD_DOCS_JAVASE_BUNDLE, \
430+
BUNDLE_NAME := $(DOCS_JAVASE_BUNDLE_NAME), \
431+
FILES := $(DOCS_JAVASE_BUNDLE_FILES), \
432+
BASE_DIRS := $(DOCS_JAVASE_IMAGE_DIR), \
433+
SUBDIR := docs-javase, \
434+
))
435+
436+
DOCS_JAVASE_TARGETS += $(BUILD_DOCS_JAVASE_BUNDLE)
437+
endif
438+
439+
ifneq ($(filter docs-reference-bundles, $(MAKECMDGOALS)), )
440+
DOCS_REFERENCE_BUNDLE_FILES := $(call FindFiles, $(DOCS_REFERENCE_IMAGE_DIR))
441+
442+
$(eval $(call SetupBundleFile, BUILD_DOCS_REFERENCE_BUNDLE, \
443+
BUNDLE_NAME := $(DOCS_REFERENCE_BUNDLE_NAME), \
444+
FILES := $(DOCS_REFERENCE_BUNDLE_FILES), \
445+
BASE_DIRS := $(DOCS_REFERENCE_IMAGE_DIR), \
446+
SUBDIR := docs-reference, \
447+
))
448+
449+
DOCS_REFERENCE_TARGETS += $(BUILD_DOCS_REFERENCE_BUNDLE)
424450
endif
425451

426452
################################################################################
@@ -469,9 +495,12 @@ $(eval $(call IncludeCustomExtension, Bundles.gmk))
469495
product-bundles: $(PRODUCT_TARGETS)
470496
legacy-bundles: $(LEGACY_TARGETS)
471497
test-bundles: $(TEST_TARGETS)
472-
docs-bundles: $(DOCS_TARGETS)
498+
docs-jdk-bundles: $(DOCS_JDK_TARGETS)
499+
docs-javase-bundles: $(DOCS_JAVASE_TARGETS)
500+
docs-reference-bundles: $(DOCS_REFERENCE_TARGETS)
473501
static-libs-bundles: $(STATIC_LIBS_TARGETS)
474502
jcov-bundles: $(JCOV_TARGETS)
475503

476-
.PHONY: all default product-bundles test-bundles docs-bundles \
504+
.PHONY: all default product-bundles test-bundles \
505+
docs-jdk-bundles docs-javase-bundles docs-reference-bundles \
477506
static-libs-bundles jcov-bundles

make/CompileCommands.gmk

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -45,11 +45,6 @@ $(OUTPUTDIR)/compile_commands.json: $(wildcard $(MAKESUPPORT_OUTPUTDIR)/compile-
4545
$(RM) $@
4646
$(FIND) $(MAKESUPPORT_OUTPUTDIR)/compile-commands/ -name \*.json | \
4747
$(SORT) | $(XARGS) $(CAT) >> [email protected]
48-
$(if $(FIXPATH),$(FIXPATH) $(AWK) 'BEGIN { \
49-
tmpfile = substr(ARGV[2],2); \
50-
cmd = "$(CP) " "\047" tmpfile "\047" " [email protected]"; \
51-
system(cmd); \
52-
5348
$(SED) -e '1s/^/[\$(NEWLINE)/' -e '$(DOLLAR)s/,\s\{0,\}$(DOLLAR)/\$(NEWLINE)]/' [email protected] > $@
5449
5550

0 commit comments

Comments
 (0)