Skip to content

Commit 67a5ed9

Browse files
committed
Merge
2 parents 331190d + 6e19387 commit 67a5ed9

File tree

313 files changed

+6302
-2757
lines changed

Some content is hidden

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

313 files changed

+6302
-2757
lines changed

doc/hotspot-style.html

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ <h1 class="title">HotSpot Coding Style</h1>
8282
id="toc-local-function-objects">Local Function Objects</a></li>
8383
<li><a href="#inheriting-constructors"
8484
id="toc-inheriting-constructors">Inheriting constructors</a></li>
85+
<li><a href="#attributes" id="toc-attributes">Attributes</a></li>
8586
<li><a href="#additional-permitted-features"
8687
id="toc-additional-permitted-features">Additional Permitted
8788
Features</a></li>
@@ -1057,6 +1058,31 @@ <h3 id="inheriting-constructors">Inheriting constructors</h3>
10571058
C++11/14, as the change is considered a Defect Report that applies to
10581059
those versions. Earlier versions of gcc don't have that option, and
10591060
other supported compilers may not have anything similar.</p>
1061+
<h3 id="attributes">Attributes</h3>
1062+
<p>The use of some attributes (<a
1063+
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)
1064+
(listed below) is permitted. (Note that some of the attributes defined
1065+
in that paper didn't make it into the final specification.)</p>
1066+
<p>Attributes are syntactically permitted in a broad set of locations,
1067+
but specific attributes are only permitted in a subset of those
1068+
locations. In some cases an attribute that appertains to a given element
1069+
may be placed in any of several locations with the same meaning. In
1070+
those cases HotSpot has a preferred location.</p>
1071+
<ul>
1072+
<li>An attribute that appertains to a function is placed at the
1073+
beginning of the function's declaration, rather than between the
1074+
function name and the parameter list.</li>
1075+
</ul>
1076+
<p>Only the following attributes are permitted:</p>
1077+
<ul>
1078+
<li><code>[[noreturn]]</code></li>
1079+
</ul>
1080+
<p>The following attributes are expressly forbidden:</p>
1081+
<ul>
1082+
<li><code>[[carries_dependency]]</code> - Related to
1083+
<code>memory_order_consume</code>.</li>
1084+
<li><code>[[deprecated]]</code> - Not relevant in HotSpot code.</li>
1085+
</ul>
10601086
<h3 id="additional-permitted-features">Additional Permitted
10611087
Features</h3>
10621088
<ul>
@@ -1149,9 +1175,6 @@ <h3 id="excluded-features">Excluded Features</h3>
11491175
difficult to deal with and lead to surprises, as can destruction
11501176
ordering. HotSpot doesn't generally try to cleanup on exit, and running
11511177
destructors at exit can also lead to problems.</p></li>
1152-
<li><p><code>[[deprecated]]</code> attribute (<a
1153-
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html">n3760</a>)
1154-
— Not relevant in HotSpot code.</p></li>
11551178
<li><p>Avoid most operator overloading, preferring named functions. When
11561179
operator overloading is used, ensure the semantics conform to the normal
11571180
expected behavior of the operation.</p></li>
@@ -1171,8 +1194,6 @@ <h3 id="undecided-features">Undecided Features</h3>
11711194
href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>)</p></li>
11721195
<li><p>Member initializers and aggregates (<a
11731196
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
1174-
<li><p><code>[[noreturn]]</code> attribute (<a
1175-
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)</p></li>
11761197
<li><p>Rvalue references and move semantics</p></li>
11771198
</ul>
11781199
</body>

doc/hotspot-style.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,6 +1054,32 @@ and other supported compilers may not have anything similar.
10541054
[p0136r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html
10551055
"p0136r1"
10561056
1057+
### Attributes
1058+
1059+
The use of some attributes
1060+
([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
1061+
(listed below) is permitted. (Note that some of the attributes defined in
1062+
that paper didn't make it into the final specification.)
1063+
1064+
Attributes are syntactically permitted in a broad set of locations, but
1065+
specific attributes are only permitted in a subset of those locations. In
1066+
some cases an attribute that appertains to a given element may be placed in
1067+
any of several locations with the same meaning. In those cases HotSpot has a
1068+
preferred location.
1069+
1070+
* An attribute that appertains to a function is placed at the beginning of the
1071+
function's declaration, rather than between the function name and the parameter
1072+
list.
1073+
1074+
Only the following attributes are permitted:
1075+
1076+
* `[[noreturn]]`
1077+
1078+
The following attributes are expressly forbidden:
1079+
1080+
* `[[carries_dependency]]` - Related to `memory_order_consume`.
1081+
* `[[deprecated]]` - Not relevant in HotSpot code.
1082+
10571083
### Additional Permitted Features
10581084
10591085
* `constexpr`
@@ -1153,10 +1179,6 @@ difficult to deal with and lead to surprises, as can destruction
11531179
ordering. HotSpot doesn't generally try to cleanup on exit, and
11541180
running destructors at exit can also lead to problems.
11551181
1156-
* `[[deprecated]]` attribute
1157-
([n3760](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html)) &mdash;
1158-
Not relevant in HotSpot code.
1159-
11601182
* Avoid most operator overloading, preferring named functions. When
11611183
operator overloading is used, ensure the semantics conform to the
11621184
normal expected behavior of the operation.
@@ -1181,9 +1203,6 @@ features that have not yet been discussed.
11811203
* Member initializers and aggregates
11821204
([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))
11831205
1184-
* `[[noreturn]]` attribute
1185-
([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
1186-
11871206
* Rvalue references and move semantics
11881207
11891208
[ADL]: https://en.cppreference.com/w/cpp/language/adl

doc/testing.html

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -578,12 +578,13 @@ <h3 id="pkcs11-tests">PKCS11 Tests</h3>
578578
<p>For more notes about the PKCS11 tests, please refer to
579579
test/jdk/sun/security/pkcs11/README.</p>
580580
<h3 id="client-ui-tests">Client UI Tests</h3>
581+
<h4 id="system-key-shortcuts">System key shortcuts</h4>
581582
<p>Some Client UI tests use key sequences which may be reserved by the
582583
operating system. Usually that causes the test failure. So it is highly
583584
recommended to disable system key shortcuts prior testing. The steps to
584585
access and disable system key shortcuts for various platforms are
585586
provided below.</p>
586-
<h4 id="macos">MacOS</h4>
587+
<h5 id="macos">macOS</h5>
587588
<p>Choose Apple menu; System Preferences, click Keyboard, then click
588589
Shortcuts; select or deselect desired shortcut.</p>
589590
<p>For example,
@@ -594,17 +595,41 @@ <h4 id="macos">MacOS</h4>
594595
shortcut should be disabled using the steps described above, and then
595596
deselect "Turn keyboard access on or off" option which is responsible
596597
for <code>CTRL + F1</code> combination.</p>
597-
<h4 id="linux">Linux</h4>
598+
<h5 id="linux">Linux</h5>
598599
<p>Open the Activities overview and start typing Settings; Choose
599600
Settings, click Devices, then click Keyboard; set or override desired
600601
shortcut.</p>
601-
<h4 id="windows">Windows</h4>
602+
<h5 id="windows">Windows</h5>
602603
<p>Type <code>gpedit</code> in the Search and then click Edit group
603604
policy; navigate to User Configuration -&gt; Administrative Templates
604605
-&gt; Windows Components -&gt; File Explorer; in the right-side pane
605606
look for "Turn off Windows key hotkeys" and double click on it; enable
606607
or disable hotkeys.</p>
607608
<p>Note: restart is required to make the settings take effect.</p>
609+
<h4 id="robot-api">Robot API</h4>
610+
<p>Most automated Client UI tests use <code>Robot</code> API to control
611+
the UI. Usually, the default operating system settings need to be
612+
adjusted for Robot to work correctly. The detailed steps how to access
613+
and update these settings for different platforms are provided
614+
below.</p>
615+
<h5 id="macos-1">macOS</h5>
616+
<p><code>Robot</code> is not permitted to control your Mac by default
617+
since macOS 10.15. To allow it, choose Apple menu -&gt; System Settings,
618+
click Privacy &amp; Security; then click Accessibility and ensure the
619+
following apps are allowed to control your computer: <em>Java</em> and
620+
<em>Terminal</em>. If the tests are run from an IDE, the IDE should be
621+
granted this permission too.</p>
622+
<h5 id="windows-1">Windows</h5>
623+
<p>On Windows if Cygwin terminal is used to run the tests, there is a
624+
delay in focus transfer. Usually it causes automated UI test failure. To
625+
disable the delay, type <code>regedit</code> in the Search and then
626+
select Registry Editor; navigate to the following key:
627+
<code>HKEY_CURRENT_USER\Control Panel\Desktop</code>; make sure the
628+
<code>ForegroundLockTimeout</code> value is set to 0.</p>
629+
<p>Additional information about Client UI tests configuration for
630+
various operating systems can be obtained at <a
631+
href="https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements">Automated
632+
client GUI testing system set up requirements</a></p>
608633
<h2 id="editing-this-document">Editing this document</h2>
609634
<p>If you want to contribute changes to this document, edit
610635
<code>doc/testing.md</code> and then run

doc/testing.md

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -606,12 +606,14 @@ test/jdk/sun/security/pkcs11/README.
606606

607607
### Client UI Tests
608608

609+
#### System key shortcuts
610+
609611
Some Client UI tests use key sequences which may be reserved by the operating
610612
system. Usually that causes the test failure. So it is highly recommended to
611613
disable system key shortcuts prior testing. The steps to access and disable
612614
system key shortcuts for various platforms are provided below.
613615

614-
#### MacOS
616+
##### macOS
615617

616618
Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
617619
select or deselect desired shortcut.
@@ -624,12 +626,12 @@ test correctly the default global key shortcut should be disabled using the
624626
steps described above, and then deselect "Turn keyboard access on or off"
625627
option which is responsible for `CTRL + F1` combination.
626628

627-
#### Linux
629+
##### Linux
628630

629631
Open the Activities overview and start typing Settings; Choose Settings, click
630632
Devices, then click Keyboard; set or override desired shortcut.
631633

632-
#### Windows
634+
##### Windows
633635

634636
Type `gpedit` in the Search and then click Edit group policy; navigate to User
635637
Configuration -> Administrative Templates -> Windows Components -> File
@@ -638,6 +640,33 @@ double click on it; enable or disable hotkeys.
638640

639641
Note: restart is required to make the settings take effect.
640642

643+
#### Robot API
644+
645+
Most automated Client UI tests use `Robot` API to control the UI. Usually,
646+
the default operating system settings need to be adjusted for Robot
647+
to work correctly. The detailed steps how to access and update these settings
648+
for different platforms are provided below.
649+
650+
##### macOS
651+
652+
`Robot` is not permitted to control your Mac by default since
653+
macOS 10.15. To allow it, choose Apple menu -> System Settings, click
654+
Privacy & Security; then click Accessibility and ensure the following apps are
655+
allowed to control your computer: *Java* and *Terminal*. If the tests are run
656+
from an IDE, the IDE should be granted this permission too.
657+
658+
##### Windows
659+
660+
On Windows if Cygwin terminal is used to run the tests, there is a delay in
661+
focus transfer. Usually it causes automated UI test failure. To disable the
662+
delay, type `regedit` in the Search and then select Registry Editor; navigate
663+
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
664+
the `ForegroundLockTimeout` value is set to 0.
665+
666+
Additional information about Client UI tests configuration for various operating
667+
systems can be obtained at [Automated client GUI testing system set up
668+
requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
669+
641670
## Editing this document
642671

643672
If you want to contribute changes to this document, edit `doc/testing.md` and

make/common/ProcessMarkdown.gmk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ define ProcessMarkdown
8484
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
8585
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
8686
$$(PANDOC) $$($1_OPTIONS) -f $$(PANDOC_MARKDOWN_FLAG) \
87-
-t $$($1_FORMAT) --standalone \
87+
-t $$($1_FORMAT) --eol=lf --standalone \
8888
$$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS_FROM_SRC) $$($1_$2_OPTIONS) \
8989
'$$($1_$2_PANDOC_INPUT)' -o '$$($1_$2_PANDOC_OUTPUT)')
9090
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)

make/conf/jib-profiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1048,7 +1048,7 @@ var getJibProfilesDependencies = function (input, common) {
10481048
linux_x64: "gcc11.2.0-OL6.4+1.0",
10491049
macosx: "Xcode12.4+1.1",
10501050
windows_x64: "VS2022-17.1.0+1.1",
1051-
linux_aarch64: "gcc11.2.0-OL7.6+1.0",
1051+
linux_aarch64: input.build_cpu == "x64" ? "gcc11.2.0-OL7.6+1.1" : "gcc11.2.0-OL7.6+1.0",
10521052
linux_arm: "gcc8.2.0-Fedora27+1.0",
10531053
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
10541054
linux_s390x: "gcc8.2.0-Fedora27+1.0",

make/data/charsetmapping/charsets

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2000, 2023, 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
@@ -476,6 +476,11 @@ charset x-IBM874 IBM874
476476
alias ibm-874
477477
alias 874
478478

479+
# alias for GB18030 is generated at runtime
480+
charset GB18030 GB18030
481+
package sun.nio.cs
482+
type source
483+
479484
########################################################
480485
#
481486
# charsets provided by ExtendedCharsets provider.
@@ -563,11 +568,6 @@ charset GBK GBK # Simplified Chinese
563568
alias windows-936
564569
alias CP936
565570

566-
charset GB18030 GB18030
567-
package sun.nio.cs.ext
568-
type template
569-
alias gb18030-2000
570-
571571
charset GB2312 EUC_CN
572572
package sun.nio.cs.ext
573573
type dbcs

make/data/charsetmapping/stdcs-aix

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ Big5_HKSCS
77
EUC_CN
88
EUC_KR
99
GBK
10-
GB18030
1110
IBM856
1211
IBM921
1312
IBM922

make/data/charsetmapping/stdcs-linux

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ EUC_JP_LINUX
1111
EUC_JP_Open
1212
EUC_TW
1313
GBK
14-
GB18030
1514
ISO_8859_11
1615
ISO_8859_3
1716
ISO_8859_6

make/data/charsetmapping/stdcs-solaris

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

0 commit comments

Comments
 (0)