mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-06 09:29:38 +01:00
Compare commits
1442 Commits
jbr-dev-vm
...
jdk-18.0.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d69c87d816 | ||
|
|
7afc0e5fac | ||
|
|
4c325babad | ||
|
|
2b91865456 | ||
|
|
313b033b7d | ||
|
|
b90a5419cc | ||
|
|
07f4a0fb1b | ||
|
|
c0d3d5e2c3 | ||
|
|
af49dcafd4 | ||
|
|
ca6e86b4be | ||
|
|
02b6a03cc4 | ||
|
|
016ab4cd9c | ||
|
|
d417c34579 | ||
|
|
9366a802b7 | ||
|
|
db63984dfd | ||
|
|
430fe80096 | ||
|
|
ece6baa560 | ||
|
|
b50949a57b | ||
|
|
890439550d | ||
|
|
7ebdcf564b | ||
|
|
8f3c8899bd | ||
|
|
a65922baf5 | ||
|
|
038983353a | ||
|
|
f9e1a3efd4 | ||
|
|
29c7f1c427 | ||
|
|
c9b8589a47 | ||
|
|
650fbf8dd2 | ||
|
|
7ca0b98816 | ||
|
|
3658f57220 | ||
|
|
bb950eeaaa | ||
|
|
84441e67fe | ||
|
|
33a5dbba67 | ||
|
|
4ac1e9a2bf | ||
|
|
1417c0f6ff | ||
|
|
623cc73640 | ||
|
|
8956913e09 | ||
|
|
e580f0e08b | ||
|
|
662ec01d82 | ||
|
|
73c7ddf99d | ||
|
|
263561508d | ||
|
|
43be343328 | ||
|
|
515a9476d4 | ||
|
|
092ad51283 | ||
|
|
617f19010c | ||
|
|
7613335263 | ||
|
|
074b635bac | ||
|
|
a81c911176 | ||
|
|
e6c08adaae | ||
|
|
8f4dbe59b3 | ||
|
|
3ace021ef9 | ||
|
|
696d3f22d1 | ||
|
|
a5411119c3 | ||
|
|
c996cc70eb | ||
|
|
2dd5c504bb | ||
|
|
9f39b4bf33 | ||
|
|
4b0818c934 | ||
|
|
3d289c14e8 | ||
|
|
e6425305df | ||
|
|
9327634e98 | ||
|
|
bc630f8e82 | ||
|
|
1ab6f9395f | ||
|
|
eaa791cc8d | ||
|
|
b5ce23b0c1 | ||
|
|
27fbc0804f | ||
|
|
76e25e64e0 | ||
|
|
73014a2a14 | ||
|
|
7bdf94be83 | ||
|
|
26678740b8 | ||
|
|
c66544f78f | ||
|
|
6b5706a8a0 | ||
|
|
d166378316 | ||
|
|
9089b94894 | ||
|
|
92d2de6e95 | ||
|
|
8fd1a9e548 | ||
|
|
defa9e8c83 | ||
|
|
507cbd6d32 | ||
|
|
6bebb34bb4 | ||
|
|
afae492153 | ||
|
|
18d2c4f3b2 | ||
|
|
c3d110d6db | ||
|
|
722d58126e | ||
|
|
e63895e646 | ||
|
|
9bd2fc6d58 | ||
|
|
16ff056158 | ||
|
|
be6a0d2eea | ||
|
|
32c0aa29ff | ||
|
|
b191735904 | ||
|
|
71a6d31fa0 | ||
|
|
07ebeae421 | ||
|
|
517b53e7cc | ||
|
|
7a9ab7c5c3 | ||
|
|
65d11651a5 | ||
|
|
1f4118f909 | ||
|
|
fbb4ebe74f | ||
|
|
36ff9167b2 | ||
|
|
525f17fe15 | ||
|
|
09dfa48cda | ||
|
|
d2492c486b | ||
|
|
80000b5096 | ||
|
|
187cfcc547 | ||
|
|
855bd85983 | ||
|
|
768652cba4 | ||
|
|
6ad170755b | ||
|
|
3b1ed09ec2 | ||
|
|
22f61959f2 | ||
|
|
0f2113cee7 | ||
|
|
2be2a298f1 | ||
|
|
598c493177 | ||
|
|
6202ea57fa | ||
|
|
e1dfd9fa3c | ||
|
|
9d4b5edf2c | ||
|
|
dfc11c6720 | ||
|
|
f4a39323bf | ||
|
|
eb2f497cf0 | ||
|
|
41fe8d2200 | ||
|
|
71640f2870 | ||
|
|
84afe806bd | ||
|
|
6cd7a37a61 | ||
|
|
3564d325e6 | ||
|
|
7796859f04 | ||
|
|
f1c769462d | ||
|
|
fbc28a7047 | ||
|
|
01f93ddf18 | ||
|
|
515e5f5a39 | ||
|
|
1f039b3e1d | ||
|
|
68a08070ca | ||
|
|
93453364ed | ||
|
|
d21b5e77fa | ||
|
|
34f2864680 | ||
|
|
313932af0a | ||
|
|
2b74a8d2a1 | ||
|
|
e32fb7fc20 | ||
|
|
b9ae66dcd8 | ||
|
|
c3653f2400 | ||
|
|
031d5edae4 | ||
|
|
355f7fe2c5 | ||
|
|
2531c332f8 | ||
|
|
74e1fdbb12 | ||
|
|
c305c3e18e | ||
|
|
e161e135c0 | ||
|
|
f32637c0ba | ||
|
|
c6e2f4b322 | ||
|
|
b368886745 | ||
|
|
5b8f9ff39a | ||
|
|
86956ee964 | ||
|
|
c8f1da0c8d | ||
|
|
f8d535a1d3 | ||
|
|
cd5a9a9522 | ||
|
|
11fa95703c | ||
|
|
bb5bc6a87e | ||
|
|
76a2b3bfaf | ||
|
|
a9622b1c93 | ||
|
|
b8e329ac26 | ||
|
|
ef08e2c63b | ||
|
|
37d0e6502c | ||
|
|
fcd258a07f | ||
|
|
8b416ea00c | ||
|
|
56b0dfffb7 | ||
|
|
715b432ae5 | ||
|
|
be731606e2 | ||
|
|
ead9feccae | ||
|
|
7d2ef9d984 | ||
|
|
03680bea1c | ||
|
|
be0538d7c8 | ||
|
|
f5de6fa799 | ||
|
|
28e02fa2cb | ||
|
|
f37bfeadcf | ||
|
|
69cfa9cb36 | ||
|
|
af6c9abafa | ||
|
|
6d3fd860d7 | ||
|
|
82d6afe675 | ||
|
|
3603e754ce | ||
|
|
a6fd2c3114 | ||
|
|
4525a4b94d | ||
|
|
abf6fdd75a | ||
|
|
9c02c4c55f | ||
|
|
12034273c7 | ||
|
|
4d3663a6d0 | ||
|
|
cb7482d5bd | ||
|
|
ae7877df2e | ||
|
|
78b2c8419b | ||
|
|
3adc111766 | ||
|
|
aa28430bdd | ||
|
|
4be02d3155 | ||
|
|
5832a34404 | ||
|
|
6b6f829b46 | ||
|
|
c372990f5f | ||
|
|
518160353a | ||
|
|
afd0dc76b6 | ||
|
|
b02ea6dc3c | ||
|
|
fa47c368d4 | ||
|
|
9a94fbc793 | ||
|
|
1fddb03d93 | ||
|
|
7ee905a8a0 | ||
|
|
e069a3b8bf | ||
|
|
f18deeb69e | ||
|
|
29f61b3b0a | ||
|
|
feff0e5578 | ||
|
|
20ef954158 | ||
|
|
bd35f9740d | ||
|
|
e38df21641 | ||
|
|
4d9b3f4cee | ||
|
|
338d3d2d8a | ||
|
|
09d61b6187 | ||
|
|
c809d34f9e | ||
|
|
4b520f0001 | ||
|
|
c6b027559c | ||
|
|
45f20633f6 | ||
|
|
064ee6ae13 | ||
|
|
ff85659311 | ||
|
|
14a90e536b | ||
|
|
33814791d9 | ||
|
|
65eb066b63 | ||
|
|
29ce3ae34b | ||
|
|
bab7d80317 | ||
|
|
d0e26d3e7c | ||
|
|
5aecb37211 | ||
|
|
f357fdefad | ||
|
|
86d0abb66b | ||
|
|
6d7db4b0b3 | ||
|
|
6caa851218 | ||
|
|
92307e5a94 | ||
|
|
bbc1ddb474 | ||
|
|
cbcb39119d | ||
|
|
40df5df95e | ||
|
|
ad34f03b54 | ||
|
|
a2d1450011 | ||
|
|
b260c5c939 | ||
|
|
928e347736 | ||
|
|
354c904798 | ||
|
|
06b4d494bf | ||
|
|
419f9ccd83 | ||
|
|
8f969a1362 | ||
|
|
642ab34a60 | ||
|
|
d2ee0647a5 | ||
|
|
d65c665839 | ||
|
|
967ef0c482 | ||
|
|
7c792f27a8 | ||
|
|
564c8c6390 | ||
|
|
590fa9d8d7 | ||
|
|
5cd9515333 | ||
|
|
9d43d25da8 | ||
|
|
0f4807e8fe | ||
|
|
f8f9148016 | ||
|
|
95a3010acf | ||
|
|
58b5fb3233 | ||
|
|
06f3713271 | ||
|
|
e7244c19f4 | ||
|
|
b4b0328d62 | ||
|
|
54b800d56d | ||
|
|
2945b786ba | ||
|
|
6588bedc19 | ||
|
|
6d45bba88a | ||
|
|
04ad668921 | ||
|
|
730f67081d | ||
|
|
9d5ae2e380 | ||
|
|
04ee9211fc | ||
|
|
2be3e7ef1c | ||
|
|
dfb15c3e34 | ||
|
|
e49d4a9870 | ||
|
|
713fbeb050 | ||
|
|
734143918d | ||
|
|
97c5cd7fac | ||
|
|
9ee3ccfee2 | ||
|
|
84d3333c7a | ||
|
|
1128674d7f | ||
|
|
54517fa3d8 | ||
|
|
ac7430cf7e | ||
|
|
db3d6d7724 | ||
|
|
467f654916 | ||
|
|
819f9bd084 | ||
|
|
ad1282842c | ||
|
|
deaf75a585 | ||
|
|
36676db2fd | ||
|
|
a5f5d60f25 | ||
|
|
8fbe1724e0 | ||
|
|
b46f0b0b1f | ||
|
|
9cd709060c | ||
|
|
fffa73c1ef | ||
|
|
b9a477bf19 | ||
|
|
bb7efb3517 | ||
|
|
8494fec665 | ||
|
|
f5d7c777bc | ||
|
|
be6b90d90b | ||
|
|
aec1b039b3 | ||
|
|
e82310f360 | ||
|
|
d3408a46b7 | ||
|
|
69b5d49e4f | ||
|
|
d6b5544e74 | ||
|
|
918e339785 | ||
|
|
f48a3e86d0 | ||
|
|
0cc989b7d2 | ||
|
|
475ec8e6c5 | ||
|
|
32139c1a8a | ||
|
|
c93b24d852 | ||
|
|
9a1bbaf8db | ||
|
|
9b99cbe7ab | ||
|
|
94127f43a4 | ||
|
|
0602f4c48b | ||
|
|
3df8dc494d | ||
|
|
ed5d53ae0e | ||
|
|
d40e90b4a1 | ||
|
|
918b3505e1 | ||
|
|
6dae52f8e3 | ||
|
|
08aad8506e | ||
|
|
965ea8d9cd | ||
|
|
84baea753a | ||
|
|
1ea766db55 | ||
|
|
62a7f5d323 | ||
|
|
d1706828fb | ||
|
|
8ef1a232b1 | ||
|
|
352435581e | ||
|
|
83e6a4c0e9 | ||
|
|
3cec700a5c | ||
|
|
03bf55f620 | ||
|
|
3893f4f70b | ||
|
|
b3faecf739 | ||
|
|
fe2ae8e38b | ||
|
|
6e7b7f352e | ||
|
|
c83b781b60 | ||
|
|
8e8fadf2d4 | ||
|
|
5a80abf706 | ||
|
|
fb11d8faf2 | ||
|
|
42d9b1baac | ||
|
|
ba86dd4aaf | ||
|
|
92aa75b721 | ||
|
|
83454530ea | ||
|
|
9b747491de | ||
|
|
2478158815 | ||
|
|
8af3b27ce9 | ||
|
|
3e93e0b809 | ||
|
|
79165b738d | ||
|
|
40d726b8aa | ||
|
|
e4852c6f0a | ||
|
|
37921e3080 | ||
|
|
fd8cb2dae8 | ||
|
|
e5cb84e9a1 | ||
|
|
54993b1307 | ||
|
|
10e0318ff7 | ||
|
|
5dcdee4bcd | ||
|
|
b334d9680b | ||
|
|
30f0c64753 | ||
|
|
5266e7d780 | ||
|
|
e7db581e91 | ||
|
|
fb6d611311 | ||
|
|
d7ad546758 | ||
|
|
ec7cb6d5d3 | ||
|
|
3c2951f738 | ||
|
|
3d61372ba5 | ||
|
|
716c2e1e85 | ||
|
|
a8a1fbce5b | ||
|
|
061017a9f4 | ||
|
|
d7c283a081 | ||
|
|
3955b037da | ||
|
|
5a036ace01 | ||
|
|
7217cb7878 | ||
|
|
7ea4b19f54 | ||
|
|
543d1a8cf4 | ||
|
|
bd7c54aee8 | ||
|
|
c609b5d3d7 | ||
|
|
bb50b92b80 | ||
|
|
5b81d5eeb4 | ||
|
|
69d8669fb3 | ||
|
|
56ca66e86f | ||
|
|
35361270cb | ||
|
|
44fcee3830 | ||
|
|
b2638e5efd | ||
|
|
07669e3bc6 | ||
|
|
24877ac078 | ||
|
|
e535cb3fba | ||
|
|
f22d157e55 | ||
|
|
10db0e4163 | ||
|
|
f148e3e462 | ||
|
|
2ff12966a3 | ||
|
|
ea8d3c92c6 | ||
|
|
239362da51 | ||
|
|
2c31a1735d | ||
|
|
70bad89b01 | ||
|
|
5045eb538b | ||
|
|
587e5409c2 | ||
|
|
082fdf4793 | ||
|
|
ab781874b2 | ||
|
|
adf39522c1 | ||
|
|
7c6f57fcb1 | ||
|
|
a885aab696 | ||
|
|
6994d80937 | ||
|
|
286a26c366 | ||
|
|
d14f06a963 | ||
|
|
8d190dd003 | ||
|
|
194cdf4e28 | ||
|
|
f39fe5b3d6 | ||
|
|
f180a4591f | ||
|
|
104aa1f7f9 | ||
|
|
839b6067c8 | ||
|
|
267c024eb5 | ||
|
|
9642629d15 | ||
|
|
02ee337ae0 | ||
|
|
24e16ac637 | ||
|
|
2b87c2b429 | ||
|
|
e1cde19dbd | ||
|
|
a729a70c01 | ||
|
|
38f525e96e | ||
|
|
780b8b1072 | ||
|
|
678ac589ad | ||
|
|
01cb2b9883 | ||
|
|
660f21a418 | ||
|
|
2e30fa936d | ||
|
|
fbf096eea4 | ||
|
|
0a09092631 | ||
|
|
0d938cedca | ||
|
|
0e7b6bcd82 | ||
|
|
53a4342783 | ||
|
|
f7237793ff | ||
|
|
3f28a21414 | ||
|
|
ba2a8e5a49 | ||
|
|
18c54b4e1a | ||
|
|
dda8f26ce0 | ||
|
|
e4774e68e3 | ||
|
|
53df9ffbca | ||
|
|
d1cad2463a | ||
|
|
45da3aea22 | ||
|
|
890700320a | ||
|
|
0fbd2713f1 | ||
|
|
bef5c7a286 | ||
|
|
473ececaf5 | ||
|
|
19ce33d5e7 | ||
|
|
c93552c8bb | ||
|
|
b8ac0d20ce | ||
|
|
b310f301ef | ||
|
|
15345e3edc | ||
|
|
652b5f8546 | ||
|
|
e0f1fc783c | ||
|
|
73a9654c26 | ||
|
|
30087cc1b8 | ||
|
|
669c90e23b | ||
|
|
4f15be2cd4 | ||
|
|
8f196a2487 | ||
|
|
8b042d14b7 | ||
|
|
ad1ff27b73 | ||
|
|
7c4ef3abaf | ||
|
|
dc2abc9f05 | ||
|
|
8d9cb2efe6 | ||
|
|
65960f712e | ||
|
|
3889af3f7d | ||
|
|
d2b16c8985 | ||
|
|
7696897932 | ||
|
|
3d98ec1b7b | ||
|
|
b79554bb5c | ||
|
|
ea905bd3da | ||
|
|
e002bfec8c | ||
|
|
16cfbc4f4c | ||
|
|
84ca14d0e9 | ||
|
|
103da8fae1 | ||
|
|
088b244ec6 | ||
|
|
a093cdddaf | ||
|
|
8198807b4a | ||
|
|
b226ab99c8 | ||
|
|
09522db5aa | ||
|
|
67745fa749 | ||
|
|
51d6d7a36b | ||
|
|
0dfb3a705d | ||
|
|
f41e768bba | ||
|
|
a363b7b921 | ||
|
|
9b3e672059 | ||
|
|
1e9ed54d36 | ||
|
|
abaa073bcb | ||
|
|
37ff7f3b66 | ||
|
|
8d7958e469 | ||
|
|
bc6dce149e | ||
|
|
0c29ee50f0 | ||
|
|
f505396ccc | ||
|
|
84aa0a191b | ||
|
|
fde0b95ede | ||
|
|
70d5dffb4e | ||
|
|
349328c929 | ||
|
|
c733193543 | ||
|
|
da2be99cfe | ||
|
|
0a01baaf2d | ||
|
|
7049c13cf4 | ||
|
|
ab867f6c7c | ||
|
|
dd73e3cea2 | ||
|
|
65251f7693 | ||
|
|
f1c20e91d8 | ||
|
|
2942646957 | ||
|
|
e30e676709 | ||
|
|
5a4a9bb9d5 | ||
|
|
15a680647c | ||
|
|
21d9ca6cd9 | ||
|
|
98a9f03739 | ||
|
|
915084041f | ||
|
|
01cefc94c7 | ||
|
|
69f56a0ea0 | ||
|
|
fecf906f0a | ||
|
|
a5f2a58ba4 | ||
|
|
ceae380d3a | ||
|
|
3ee26c6a81 | ||
|
|
d230feea55 | ||
|
|
fde6fe7997 | ||
|
|
27299eaa98 | ||
|
|
560f9c9372 | ||
|
|
3a4a94e5a8 | ||
|
|
825e633e71 | ||
|
|
3d39f09c6c | ||
|
|
05ab176768 | ||
|
|
ad51d06925 | ||
|
|
614c6e61fa | ||
|
|
960bdde7eb | ||
|
|
45e8973a22 | ||
|
|
e5676f8d0b | ||
|
|
2622ab3fe9 | ||
|
|
37de442269 | ||
|
|
72bacf8d25 | ||
|
|
e3e5908d0d | ||
|
|
9a3a9b1391 | ||
|
|
aed53eea5e | ||
|
|
0c7a4b8aa8 | ||
|
|
c3a7f2f4bc | ||
|
|
8f9eb620ac | ||
|
|
e9b36a8316 | ||
|
|
b9eb532de2 | ||
|
|
40fef2311c | ||
|
|
3d810ad691 | ||
|
|
ce0234b47d | ||
|
|
040b2c52d3 | ||
|
|
3e798dd40c | ||
|
|
99e4bda303 | ||
|
|
00a6238dae | ||
|
|
3383c0dcc0 | ||
|
|
7e54d065a1 | ||
|
|
eb4d886bc0 | ||
|
|
9879920424 | ||
|
|
f788834998 | ||
|
|
3034ae87ce | ||
|
|
f0136ec945 | ||
|
|
21e302a0f4 | ||
|
|
a81e4fc07b | ||
|
|
26472bd3bd | ||
|
|
b5841ba3f3 | ||
|
|
e785f69961 | ||
|
|
96fe1d0d4d | ||
|
|
077b2de088 | ||
|
|
951247c8cb | ||
|
|
663e33de13 | ||
|
|
0384739afc | ||
|
|
cf7adae633 | ||
|
|
96e36071b6 | ||
|
|
17e68caad7 | ||
|
|
8a8bc29f20 | ||
|
|
d085c2b8a7 | ||
|
|
6d734604a3 | ||
|
|
712b875682 | ||
|
|
7b2d823e84 | ||
|
|
7cb56a230d | ||
|
|
24e586a043 | ||
|
|
ea85e01a4c | ||
|
|
032067264f | ||
|
|
e8acac2aba | ||
|
|
8a44e093dc | ||
|
|
7b67a49f83 | ||
|
|
38802ad56a | ||
|
|
64bdc84390 | ||
|
|
5e7e2da227 | ||
|
|
f4dc03ea6d | ||
|
|
90f96fb4db | ||
|
|
66eaf65261 | ||
|
|
36b887a885 | ||
|
|
017df140ba | ||
|
|
79350b9b4f | ||
|
|
e3243ee963 | ||
|
|
12f08ba4d4 | ||
|
|
bb11c55dff | ||
|
|
f62b81c3b5 | ||
|
|
05a9a51dbf | ||
|
|
1049aba1fb | ||
|
|
851a362479 | ||
|
|
6cf4cd1aa4 | ||
|
|
e3911a8532 | ||
|
|
33e2a518eb | ||
|
|
22f12ac429 | ||
|
|
e529865531 | ||
|
|
8683de5eda | ||
|
|
6b4fbaedbb | ||
|
|
d427c79d3b | ||
|
|
32839ba012 | ||
|
|
8051041eb2 | ||
|
|
3f847fe89a | ||
|
|
ca31ed5335 | ||
|
|
4ff43010bb | ||
|
|
0a9e76c4f9 | ||
|
|
1c215f3369 | ||
|
|
1d7cef33c5 | ||
|
|
c79a485f1c | ||
|
|
2ab43ec242 | ||
|
|
2d4af2255f | ||
|
|
a3406a1d8a | ||
|
|
e47cc81b09 | ||
|
|
f609b8fd74 | ||
|
|
36b59f3814 | ||
|
|
6677554374 | ||
|
|
09e8c8c64a | ||
|
|
976c2bb056 | ||
|
|
03f8c0fb93 | ||
|
|
936f7ff49e | ||
|
|
a0227965bb | ||
|
|
b1a1bf4e30 | ||
|
|
03debf2775 | ||
|
|
b15e6f076a | ||
|
|
11d819d68a | ||
|
|
7a046e0f76 | ||
|
|
3a76d39794 | ||
|
|
2f20b0d8da | ||
|
|
f34f119080 | ||
|
|
47564caeb0 | ||
|
|
2f0bde1a65 | ||
|
|
839033baf6 | ||
|
|
89b125f4d4 | ||
|
|
36bd4a35fb | ||
|
|
57eb864765 | ||
|
|
8db0c361a3 | ||
|
|
03473b4c27 | ||
|
|
ce0f00f66e | ||
|
|
5d249c46ab | ||
|
|
354a34ea20 | ||
|
|
276bfcd1a1 | ||
|
|
d93b238f97 | ||
|
|
00c388b4ab | ||
|
|
a44b45fdf3 | ||
|
|
b3a62b4881 | ||
|
|
38345bd28d | ||
|
|
2c06bca98f | ||
|
|
77cc508802 | ||
|
|
0a65e8b282 | ||
|
|
db55f9272c | ||
|
|
2f4b5405f0 | ||
|
|
91607436b7 | ||
|
|
81938001f9 | ||
|
|
b8453ebdb4 | ||
|
|
231fb61aae | ||
|
|
29e552c03a | ||
|
|
ce4471f806 | ||
|
|
45a60db5a0 | ||
|
|
6bb04626af | ||
|
|
d8c0280273 | ||
|
|
007ad7c77c | ||
|
|
8881f29bc8 | ||
|
|
262d07001b | ||
|
|
a907b2b144 | ||
|
|
b6876649a8 | ||
|
|
8f5a8f740b | ||
|
|
9f2f46ee45 | ||
|
|
2af9e5976f | ||
|
|
e9934e1243 | ||
|
|
9aa30de4bb | ||
|
|
08f65a59a7 | ||
|
|
23e5117a55 | ||
|
|
a77d8ddf11 | ||
|
|
8ed384cfb6 | ||
|
|
cddc6ce446 | ||
|
|
b0a463fa59 | ||
|
|
e5ffdf9120 | ||
|
|
d5e47d6b84 | ||
|
|
f3eb5014aa | ||
|
|
9a9a157a7d | ||
|
|
7906eb050d | ||
|
|
1c45c8a082 | ||
|
|
c06df25a4f | ||
|
|
9629627e2c | ||
|
|
0bc268377e | ||
|
|
a9cb8bdbaa | ||
|
|
20f3872d1c | ||
|
|
b8d33a2a4e | ||
|
|
1d79cfd3a1 | ||
|
|
7719a74cec | ||
|
|
e4362007da | ||
|
|
bd92674be5 | ||
|
|
a59c9b2ac2 | ||
|
|
9326eb1461 | ||
|
|
7a870418a3 | ||
|
|
db0c8d5227 | ||
|
|
1830b8da90 | ||
|
|
fe45835f7c | ||
|
|
9046077fe6 | ||
|
|
7fc344dc96 | ||
|
|
35a831d5a7 | ||
|
|
02f7900882 | ||
|
|
fdcd16a38f | ||
|
|
b231f5baa9 | ||
|
|
ca2efb73f5 | ||
|
|
296780c7ae | ||
|
|
8c5f030491 | ||
|
|
176d21d6c5 | ||
|
|
74f3e69dc8 | ||
|
|
b85500e524 | ||
|
|
0d2980cdd1 | ||
|
|
5a2452c80e | ||
|
|
3b2585c02b | ||
|
|
aeba653034 | ||
|
|
51a5731d6d | ||
|
|
c4b44329c1 | ||
|
|
13deb38433 | ||
|
|
710f496456 | ||
|
|
6b833db3f9 | ||
|
|
1e941dedad | ||
|
|
6954b98f8f | ||
|
|
3445e50bd5 | ||
|
|
0ca0acf63c | ||
|
|
b0d7a9daa6 | ||
|
|
8aae88b0fc | ||
|
|
6f35eede45 | ||
|
|
5e98f993b3 | ||
|
|
2ca4ff87b7 | ||
|
|
c29cab8ab4 | ||
|
|
aea096770e | ||
|
|
9862cd07c1 | ||
|
|
7a140af253 | ||
|
|
91bb0d658b | ||
|
|
08e0fd6757 | ||
|
|
ad3be04d2a | ||
|
|
e27a67a916 | ||
|
|
73e6d7d74d | ||
|
|
bce35ac1d6 | ||
|
|
0c409cac78 | ||
|
|
df02daa6f9 | ||
|
|
2374abda19 | ||
|
|
67c2714ba2 | ||
|
|
a5c160c711 | ||
|
|
ce3ed65ac3 | ||
|
|
f561d3c194 | ||
|
|
38ec3a16d7 | ||
|
|
55b36c6f3b | ||
|
|
0f23c6a9fe | ||
|
|
a0b84453b0 | ||
|
|
a3f710efbe | ||
|
|
0f463a7bf7 | ||
|
|
e01d6d00bc | ||
|
|
fd0a25e62b | ||
|
|
403f3185f0 | ||
|
|
e91e9d8532 | ||
|
|
8822d41fdc | ||
|
|
c1e41fe38b | ||
|
|
c8b0ee6b8a | ||
|
|
0699220830 | ||
|
|
d7012fbd60 | ||
|
|
f9024d0606 | ||
|
|
055de6f566 | ||
|
|
a60e91259b | ||
|
|
dde959dfce | ||
|
|
daf77ebfc4 | ||
|
|
93692ea0a9 | ||
|
|
e35abe3235 | ||
|
|
f65db88b74 | ||
|
|
c27afb313b | ||
|
|
e198594753 | ||
|
|
4bd5bfd8e2 | ||
|
|
5c7f77c824 | ||
|
|
945f4085e5 | ||
|
|
8747882e4c | ||
|
|
38e6d5d6ed | ||
|
|
a7dedb5f47 | ||
|
|
14d66bd438 | ||
|
|
905e3e8813 | ||
|
|
e383d26361 | ||
|
|
7e73bca0b7 | ||
|
|
75adf54bdc | ||
|
|
7320b77b3e | ||
|
|
ea23e7333e | ||
|
|
c815c5cbbb | ||
|
|
71c4b19517 | ||
|
|
cc2cac130c | ||
|
|
0c2d00bff7 | ||
|
|
fa754b8ffd | ||
|
|
4c14eddf41 | ||
|
|
ff6863c98d | ||
|
|
54481394a3 | ||
|
|
0395e4ef8c | ||
|
|
d8b0dee65e | ||
|
|
fc0fe25679 | ||
|
|
3934fe54b4 | ||
|
|
44047f849f | ||
|
|
884915496f | ||
|
|
2653cfbf0f | ||
|
|
c7095b20d9 | ||
|
|
ed7ecca401 | ||
|
|
59c3dcc761 | ||
|
|
0e0dd33fff | ||
|
|
a472433209 | ||
|
|
b01f1073f9 | ||
|
|
92d2176362 | ||
|
|
a74a839af0 | ||
|
|
c393ee8f59 | ||
|
|
7023b3f8a1 | ||
|
|
b9331360f5 | ||
|
|
0616d868c7 | ||
|
|
d95299a4d7 | ||
|
|
3c0faa7352 | ||
|
|
323d201795 | ||
|
|
96c396b701 | ||
|
|
7281861e06 | ||
|
|
8e17ce0031 | ||
|
|
396132ff1e | ||
|
|
9ad4d3d06b | ||
|
|
e21b5c7b37 | ||
|
|
7b1916efda | ||
|
|
8ec80c4bc1 | ||
|
|
7e87f946ce | ||
|
|
dcf36f87f8 | ||
|
|
81203efe41 | ||
|
|
2b5a32c73f | ||
|
|
99d4b07cdd | ||
|
|
1533b8191b | ||
|
|
7bb2173383 | ||
|
|
b57715a117 | ||
|
|
bf4ddf9cb7 | ||
|
|
afb502e28a | ||
|
|
49b7b2ea09 | ||
|
|
5acff75379 | ||
|
|
a6fa6ed1ed | ||
|
|
19075b3f6b | ||
|
|
7de653e428 | ||
|
|
ee49963258 | ||
|
|
3613ce7c7d | ||
|
|
c62b3476ce | ||
|
|
a1f4c428ba | ||
|
|
9eadcbb47e | ||
|
|
fb0be81f01 | ||
|
|
558ee40a4a | ||
|
|
603bba282a | ||
|
|
ce8c76700b | ||
|
|
0ab910d626 | ||
|
|
f3320d2fbd | ||
|
|
32895ac609 | ||
|
|
c7f070f5f1 | ||
|
|
684edbb4c8 | ||
|
|
7115892f96 | ||
|
|
0ef8cbe325 | ||
|
|
724bf3be14 | ||
|
|
61cb4bc6b0 | ||
|
|
8731846001 | ||
|
|
be1ca2bd20 | ||
|
|
a316c06e03 | ||
|
|
615063364a | ||
|
|
465d350d0b | ||
|
|
7439b59b5a | ||
|
|
87b926ebb7 | ||
|
|
2b02b6f513 | ||
|
|
bb92fb02ca | ||
|
|
6a04899ba1 | ||
|
|
01105d6985 | ||
|
|
8fc16f1605 | ||
|
|
fa4ce824a3 | ||
|
|
495c828ae9 | ||
|
|
cd778f5b04 | ||
|
|
b889f2a88a | ||
|
|
5b4e39863d | ||
|
|
8630f55ed7 | ||
|
|
9971a2cab3 | ||
|
|
b7a06be98d | ||
|
|
92be9d8c53 | ||
|
|
9bf31652cb | ||
|
|
0488ebdf14 | ||
|
|
acceffcbf7 | ||
|
|
2eafa036c0 | ||
|
|
47e7a42594 | ||
|
|
99b7b95e01 | ||
|
|
977154400b | ||
|
|
e265f83858 | ||
|
|
c8abe354c1 | ||
|
|
f55e68c929 | ||
|
|
4ac8403f9a | ||
|
|
89ade1d7e8 | ||
|
|
dbf5100dd7 | ||
|
|
5bb1992b84 | ||
|
|
158831e4c3 | ||
|
|
bf2e9ee9d3 | ||
|
|
b7104ba9a9 | ||
|
|
687567822a | ||
|
|
5bbc8d3cb2 | ||
|
|
5021a12cea | ||
|
|
fe6a202087 | ||
|
|
cef9db9a69 | ||
|
|
13265f9901 | ||
|
|
5facaa243a | ||
|
|
d6d82f52d4 | ||
|
|
a1ec4f9618 | ||
|
|
8cc59509fe | ||
|
|
4c3491bfa5 | ||
|
|
c0cda1db4f | ||
|
|
15fd8a300b | ||
|
|
e89b2c040c | ||
|
|
24cf48000a | ||
|
|
e922023ec9 | ||
|
|
157e1d5073 | ||
|
|
c9e65f8ef9 | ||
|
|
de93b1d0e8 | ||
|
|
21da218387 | ||
|
|
48f3fcab51 | ||
|
|
c6339cb8a2 | ||
|
|
5a768f75c9 | ||
|
|
6d8fa8f663 | ||
|
|
63b9f8c0da | ||
|
|
cb989cf3a1 | ||
|
|
c92f230557 | ||
|
|
309acbf0e8 | ||
|
|
abe52aea23 | ||
|
|
85d8cd8566 | ||
|
|
a343fa8766 | ||
|
|
bec977c778 | ||
|
|
7c996d572c | ||
|
|
d88b89f896 | ||
|
|
593401fe8b | ||
|
|
a2f2d8fcf5 | ||
|
|
1750a6e2c0 | ||
|
|
d9b0138d7d | ||
|
|
9a3e954299 | ||
|
|
e6fa5fa37e | ||
|
|
809488bf38 | ||
|
|
93be099ccb | ||
|
|
168081efc8 | ||
|
|
a29273336b | ||
|
|
40606021ee | ||
|
|
485d65865e | ||
|
|
b3f45f868d | ||
|
|
6c05cc9d15 | ||
|
|
2f979ecb5b | ||
|
|
9e831bccd2 | ||
|
|
9f75d5ce50 | ||
|
|
d98b7c2591 | ||
|
|
b0d1e4ff4d | ||
|
|
7addcd7cfb | ||
|
|
2448b3f5f9 | ||
|
|
f1f5e2690c | ||
|
|
19f76c215d | ||
|
|
e5cd2692da | ||
|
|
82f4aacb42 | ||
|
|
574f8903ee | ||
|
|
7c88a59b7b | ||
|
|
c9dec2f984 | ||
|
|
b98ed55060 | ||
|
|
71d593ede6 | ||
|
|
7ca053de21 | ||
|
|
4be88d5482 | ||
|
|
63e0f344e9 | ||
|
|
4961373a67 | ||
|
|
174f553f7e | ||
|
|
3ff085e296 | ||
|
|
10e1610f7b | ||
|
|
43619458d1 | ||
|
|
337a9b73a7 | ||
|
|
97d3280eb4 | ||
|
|
89671aa164 | ||
|
|
3221a14f9e | ||
|
|
7cf68b1901 | ||
|
|
f610ef0dbc | ||
|
|
f143d2a88e | ||
|
|
7f94302cec | ||
|
|
0bcc1749ea | ||
|
|
f6232982b9 | ||
|
|
1da5e6b0e2 | ||
|
|
5dab76b939 | ||
|
|
5bbe4cae87 | ||
|
|
c94dc2ab60 | ||
|
|
fec470f262 | ||
|
|
6523c558d9 | ||
|
|
88bbf3c2e6 | ||
|
|
4dec8fc4cc | ||
|
|
4e647aa584 | ||
|
|
dd622e55c0 | ||
|
|
b2128a9667 | ||
|
|
1efe946db7 | ||
|
|
fab3d6c612 | ||
|
|
c978ca87de | ||
|
|
6a466fe7ae | ||
|
|
4e9dd4bddb | ||
|
|
0961de47de | ||
|
|
7dd823740f | ||
|
|
49f9d8031e | ||
|
|
bef8cf1ba1 | ||
|
|
af14650127 | ||
|
|
0761a4b915 | ||
|
|
3cb241a91f | ||
|
|
3b0ce23bcd | ||
|
|
d589b664cc | ||
|
|
e39bdc9ddb | ||
|
|
45ce06c9f3 | ||
|
|
60cb27dcda | ||
|
|
cd07b3cab0 | ||
|
|
819d2df8b0 | ||
|
|
c41ce6d159 | ||
|
|
0c3eaea11c | ||
|
|
09f5235c65 | ||
|
|
a120937e81 | ||
|
|
c7a80e60e2 | ||
|
|
af7c56b85b | ||
|
|
cea3f01046 | ||
|
|
d1e3ca4ee3 | ||
|
|
913f9281ad | ||
|
|
0021a2f462 | ||
|
|
46b5bfbc38 | ||
|
|
bbc606117f | ||
|
|
7e28bdd1eb | ||
|
|
35e5bb5f59 | ||
|
|
043cde22d4 | ||
|
|
a91a0a523a | ||
|
|
1271fbf3d4 | ||
|
|
135cf3c94d | ||
|
|
50a57238a8 | ||
|
|
5454a76752 | ||
|
|
bd0bed71e5 | ||
|
|
77b2789396 | ||
|
|
c24fb852f2 | ||
|
|
926966be7a | ||
|
|
e63c1486dc | ||
|
|
bd2b41dd70 | ||
|
|
54a29a4470 | ||
|
|
4b9303b77b | ||
|
|
25c8584879 | ||
|
|
76373ae3c8 | ||
|
|
24b588eddb | ||
|
|
b774d31c48 | ||
|
|
333b9d5715 | ||
|
|
4e4a3cf657 | ||
|
|
af82404b3c | ||
|
|
3ab356335d | ||
|
|
f2c5728a86 | ||
|
|
44ce867314 | ||
|
|
9c4988daeb | ||
|
|
c714707eac | ||
|
|
365a2d428c | ||
|
|
20e1a273c2 | ||
|
|
790dcc667d | ||
|
|
ab9170957f | ||
|
|
c70f7cad47 | ||
|
|
3470e7b300 | ||
|
|
a07a046c92 | ||
|
|
fde3839c0c | ||
|
|
a48251cb4a | ||
|
|
bddcc8ea9d | ||
|
|
470e8a0fda | ||
|
|
dd199ee063 | ||
|
|
3a7b663b6f | ||
|
|
34628ff8ac | ||
|
|
a26f9db704 | ||
|
|
895e2bd7c0 | ||
|
|
fd10f1996e | ||
|
|
99bf7dd8dd | ||
|
|
8a3e0a1fc1 | ||
|
|
a579483c88 | ||
|
|
002c538bc0 | ||
|
|
98ab4b03b3 | ||
|
|
dcd6e0da24 | ||
|
|
d17d81a8b2 | ||
|
|
a4491f2253 | ||
|
|
9d191fce55 | ||
|
|
947d52c4c3 | ||
|
|
a03119ce1a | ||
|
|
bad75e6796 | ||
|
|
72a976ef05 | ||
|
|
bcbe3845d9 | ||
|
|
426bcee927 | ||
|
|
4d383b9fcd | ||
|
|
fb8e5cf4ec | ||
|
|
d548f2fc0d | ||
|
|
a619f8909b | ||
|
|
1afddb2560 | ||
|
|
45ebf85ca9 | ||
|
|
ebb1363e5d | ||
|
|
bb7dacdc78 | ||
|
|
31500692d1 | ||
|
|
bfcf6a29a1 | ||
|
|
96fef40b82 | ||
|
|
7fc3a8d052 | ||
|
|
831802ddb1 | ||
|
|
ad9e234f5e | ||
|
|
f17818516c | ||
|
|
ee64ce9f14 | ||
|
|
8c4da9c15f | ||
|
|
da8da3a161 | ||
|
|
8e02064288 | ||
|
|
172aed1a2d | ||
|
|
ced79091f6 | ||
|
|
c0f3e1d6be | ||
|
|
4cb7124c1e | ||
|
|
322b130106 | ||
|
|
c355704a4b | ||
|
|
9623d5bb46 | ||
|
|
21df412bd9 | ||
|
|
a16f2d0a3c | ||
|
|
ede3f4e94c | ||
|
|
40d69f0c41 | ||
|
|
54b8870766 | ||
|
|
3b0b6adc3d | ||
|
|
8d9004b7f4 | ||
|
|
333c4692d8 | ||
|
|
8b1b6f9fb3 | ||
|
|
d9e03e42af | ||
|
|
7dc2db4aac | ||
|
|
1e0184d142 | ||
|
|
d15fbc28af | ||
|
|
d8f6b6c19a | ||
|
|
451a296510 | ||
|
|
5ffb5d100f | ||
|
|
b8cb76ad21 | ||
|
|
dcf428c7a7 | ||
|
|
c3b75c6cdf | ||
|
|
337b73a459 | ||
|
|
cf828673a9 | ||
|
|
ab34cced3b | ||
|
|
b1b83500a9 | ||
|
|
03c2b73e21 | ||
|
|
124f82377b | ||
|
|
8657f77608 | ||
|
|
b8bd259bb8 | ||
|
|
89999f70e0 | ||
|
|
07b1f1c282 | ||
|
|
f623460668 | ||
|
|
e393c5ea9d | ||
|
|
e16b93ad52 | ||
|
|
1ab64143c0 | ||
|
|
b460d6ddaf | ||
|
|
d04d4ee2c1 | ||
|
|
33050f8013 | ||
|
|
8de26361f7 | ||
|
|
7d2633f795 | ||
|
|
cfe7471f17 | ||
|
|
a5f09d1088 | ||
|
|
ef0922e885 | ||
|
|
1e3069593e | ||
|
|
dd93c6e27b | ||
|
|
829dea45c9 | ||
|
|
75f5145e21 | ||
|
|
83c3771929 | ||
|
|
3f01d03a10 | ||
|
|
3f07337722 | ||
|
|
0d80f6cf82 | ||
|
|
b870468bdc | ||
|
|
110e38ded8 | ||
|
|
b7af890574 | ||
|
|
aaf2401bc7 | ||
|
|
c55dd365e3 | ||
|
|
3edee1e1fe | ||
|
|
49f8ce6e9c | ||
|
|
c032186b42 | ||
|
|
a05873a225 | ||
|
|
5ecc99bbf5 | ||
|
|
2ff3977a66 | ||
|
|
296f8537f7 | ||
|
|
2c83559eda | ||
|
|
6d1d4d5292 | ||
|
|
aac6c4ea70 | ||
|
|
f640c7aaa8 | ||
|
|
9c431dd168 | ||
|
|
3cb9724ed9 | ||
|
|
239a35aa91 | ||
|
|
ec199072c5 | ||
|
|
ccbce107f2 | ||
|
|
36b89a1893 | ||
|
|
2aacd4220a | ||
|
|
6364719cd1 | ||
|
|
b60837a7d5 | ||
|
|
97ea9dd2f2 | ||
|
|
8de77634c4 | ||
|
|
920e70701d | ||
|
|
7de2cf852d | ||
|
|
8ca084617f | ||
|
|
4ab274ac1a | ||
|
|
03a8d342b8 | ||
|
|
722d639fad | ||
|
|
340c715c3b | ||
|
|
8319836152 | ||
|
|
d5ccfa2ae9 | ||
|
|
29dcbb72a2 | ||
|
|
5762ec2587 | ||
|
|
4e960fe53f | ||
|
|
c833b4d130 | ||
|
|
d57fb6f684 | ||
|
|
734d1fbd33 | ||
|
|
9561fea790 | ||
|
|
9945f7a074 | ||
|
|
754bc82c4c | ||
|
|
4e7d7caa0c | ||
|
|
f3cedbe928 | ||
|
|
c10de3538b | ||
|
|
b8af6a9bfb | ||
|
|
c80a612709 | ||
|
|
9759fcb17b | ||
|
|
cdf89304ea | ||
|
|
df125f680b | ||
|
|
c74726dbd0 | ||
|
|
2faced09ce | ||
|
|
8a4d2b4aa7 | ||
|
|
986ee5d0bf | ||
|
|
df7b0c7077 | ||
|
|
d4e8712c0a | ||
|
|
47262670f3 | ||
|
|
83b2219220 | ||
|
|
d34ec6ccfc | ||
|
|
332f067388 | ||
|
|
1e75203356 | ||
|
|
03d3c03384 | ||
|
|
c391e59ea6 | ||
|
|
37890650a7 | ||
|
|
e1f0df0de3 | ||
|
|
4e3948f18b | ||
|
|
92b64a2053 | ||
|
|
90a5ae802e | ||
|
|
bb0bab57a1 | ||
|
|
7ad74d82d7 | ||
|
|
1459180f35 | ||
|
|
8609ea55ac | ||
|
|
a5080effc7 | ||
|
|
a914ee7216 | ||
|
|
8f7a37c92f | ||
|
|
3953e0774c | ||
|
|
53d7e95bc6 | ||
|
|
e43f540cde | ||
|
|
2e542e33b8 | ||
|
|
7e757f6a2c | ||
|
|
75d6688df9 | ||
|
|
9914e5c416 | ||
|
|
0ca094bc5f | ||
|
|
6f727d831d | ||
|
|
139a8334cb | ||
|
|
f63c4a832a | ||
|
|
f2404d60de | ||
|
|
7eb0372e55 | ||
|
|
47bfc8aa93 | ||
|
|
0828273b89 | ||
|
|
6726c592ed | ||
|
|
32811026ce | ||
|
|
7957994273 | ||
|
|
9ca6bf0d22 | ||
|
|
0786d8b7b3 | ||
|
|
bb4500d0d2 | ||
|
|
05d38604a2 | ||
|
|
3d7671b65e | ||
|
|
c05dc268ac | ||
|
|
cc14c6f076 | ||
|
|
292d7bb1d5 | ||
|
|
1887028408 | ||
|
|
b7b78ff1f3 | ||
|
|
5e4b514e6e | ||
|
|
2e690ba8bd | ||
|
|
a8edd1b360 | ||
|
|
7326481143 | ||
|
|
8215b2eb61 | ||
|
|
9573022978 | ||
|
|
f08180f35f | ||
|
|
c57ed22e77 | ||
|
|
9180d9a2f9 | ||
|
|
3e0d7c33d4 | ||
|
|
bfd6163471 | ||
|
|
bb95dda0ac | ||
|
|
2f955d6f5b | ||
|
|
94e31e5ca5 | ||
|
|
a8210c53e7 | ||
|
|
dfc557cbea | ||
|
|
c0533ef2d8 | ||
|
|
f8415a9b2f | ||
|
|
355356c405 | ||
|
|
97385d4f16 | ||
|
|
79cebe2c1b | ||
|
|
97b28742b4 | ||
|
|
b1b66965f1 | ||
|
|
edd9d1c97b | ||
|
|
980c50dc60 | ||
|
|
1dc8fa9902 | ||
|
|
aaa36cc006 | ||
|
|
c4d115701d | ||
|
|
756d22c356 | ||
|
|
5b0c9ccc49 | ||
|
|
2657bcbd99 | ||
|
|
53b25bce87 | ||
|
|
1a29b1e95e | ||
|
|
d8a278f394 | ||
|
|
e49e5b5a7e | ||
|
|
2072bc77b4 | ||
|
|
6a477bda85 | ||
|
|
67e52a3078 | ||
|
|
b7425b63f6 | ||
|
|
c57a6c62ba | ||
|
|
6f4cefbcba | ||
|
|
94f5e807c9 | ||
|
|
b36881fa3b | ||
|
|
be40373745 | ||
|
|
79865cd797 | ||
|
|
961dcffc86 | ||
|
|
6a573b888d | ||
|
|
3eca9c36a6 | ||
|
|
af50772d39 | ||
|
|
ddc262746a | ||
|
|
633eab23f0 | ||
|
|
8876eae429 | ||
|
|
c880b87a20 | ||
|
|
c4b52c7378 | ||
|
|
5b660f3347 | ||
|
|
0865120e95 | ||
|
|
75404ea25e | ||
|
|
14100d55dc | ||
|
|
daaa47e200 | ||
|
|
2cffe4c8e0 | ||
|
|
172900dab1 | ||
|
|
b0983df5a4 | ||
|
|
7436a77e3d | ||
|
|
7426fd4c9c | ||
|
|
e3aff8f8d8 | ||
|
|
252aaa9249 | ||
|
|
7700b25460 | ||
|
|
5ec1cdcaf3 | ||
|
|
4838a2ca7c | ||
|
|
ab28db1428 | ||
|
|
8c122af6d8 | ||
|
|
9bc865d38c | ||
|
|
5756385c2b | ||
|
|
61ac53f6e5 | ||
|
|
341de49f8f | ||
|
|
13e9ea9e92 | ||
|
|
753b25633b | ||
|
|
baafa6059e | ||
|
|
0c050be64b | ||
|
|
e741a18062 | ||
|
|
718eff2bb6 | ||
|
|
f214d6e873 | ||
|
|
f36a2bbd15 | ||
|
|
5ba0d09fe4 | ||
|
|
5a12af762d | ||
|
|
db23ecdfae | ||
|
|
d91e227abb | ||
|
|
971aa353aa | ||
|
|
1d44014171 | ||
|
|
bb74ae87ab | ||
|
|
56b8b35286 | ||
|
|
0aa63feca8 | ||
|
|
5ffbe75557 | ||
|
|
1fdc656084 | ||
|
|
3b1b8fc646 | ||
|
|
1b7f4b7dd8 | ||
|
|
653a612a5a | ||
|
|
66ce09f51e | ||
|
|
c43452859d | ||
|
|
d098751366 | ||
|
|
4f3b626a36 | ||
|
|
8799856528 | ||
|
|
8b833bbea8 | ||
|
|
a74c099d67 | ||
|
|
2166ed1369 | ||
|
|
1c6fa113bd | ||
|
|
45adc9227a | ||
|
|
0fbbe4c9a7 | ||
|
|
9d3379b975 | ||
|
|
603138895f | ||
|
|
8821b00041 | ||
|
|
57fe11c9a3 | ||
|
|
81d416477f | ||
|
|
da38ced329 | ||
|
|
d39aad9230 | ||
|
|
c9de80635e | ||
|
|
33df388a24 | ||
|
|
0a361638c5 | ||
|
|
c6df3c9571 | ||
|
|
71788c69db | ||
|
|
ba7d550c6e | ||
|
|
aefd4ac4a3 | ||
|
|
d245a8cc85 | ||
|
|
3f73ca7fcd | ||
|
|
7f78803b09 | ||
|
|
51085b523e | ||
|
|
c77ebe8874 | ||
|
|
d9872ba3d6 | ||
|
|
688b3fe2eb | ||
|
|
eeaf43b229 | ||
|
|
517405e462 | ||
|
|
11cddd3261 | ||
|
|
cbe57e8604 | ||
|
|
a72c8aa6ad | ||
|
|
161fdb4afb | ||
|
|
0fc47e99d2 | ||
|
|
6d91a3eb7b | ||
|
|
42d5d2abaa | ||
|
|
57df0dbc45 | ||
|
|
111d5e1a93 | ||
|
|
7acec3f161 | ||
|
|
afd218d39a | ||
|
|
a5108a605e | ||
|
|
65ed0a742e | ||
|
|
c60bcd09b7 | ||
|
|
6642d2eb8b | ||
|
|
f242cb5ce0 | ||
|
|
240fa6efa2 | ||
|
|
9c91ff57e8 | ||
|
|
d16bf04c95 | ||
|
|
7ce60c6ff6 | ||
|
|
1bd11a7f2c | ||
|
|
ee3576a48b | ||
|
|
5fde4b64e2 | ||
|
|
04891c95e0 | ||
|
|
5c21c00441 | ||
|
|
b3b4b1cc21 | ||
|
|
a67f0f9dc0 | ||
|
|
26e5e9ae8c | ||
|
|
4b3a4fff39 | ||
|
|
dad5d27172 | ||
|
|
48aff23165 | ||
|
|
4d95a5d6dc | ||
|
|
9aa12daa15 | ||
|
|
4da45c4301 | ||
|
|
544193a3bb | ||
|
|
1f8af524ff | ||
|
|
699865f76c | ||
|
|
f71df142a9 | ||
|
|
6f3e40c16d | ||
|
|
a561eac912 | ||
|
|
d2388b7a0f | ||
|
|
dc7f452acb | ||
|
|
7c9868c0b3 | ||
|
|
bb9d142759 | ||
|
|
2a2e9190d4 | ||
|
|
83020617e7 | ||
|
|
2f8c2211c8 | ||
|
|
17f7a45ce4 | ||
|
|
27d747ad4f | ||
|
|
35f6f1d69f | ||
|
|
1890d85c0e | ||
|
|
54b456764b | ||
|
|
e07ab82ee5 | ||
|
|
8c022e2c17 | ||
|
|
b98290444a | ||
|
|
bc48a0ac29 | ||
|
|
9c5441c9c4 | ||
|
|
12fa7073c5 | ||
|
|
7e92abe7a4 | ||
|
|
59b2478abd | ||
|
|
5e4d09c229 | ||
|
|
c86e24d4be | ||
|
|
14dc5178cf | ||
|
|
241ac89f12 | ||
|
|
181292d48c | ||
|
|
09ecb11927 | ||
|
|
99cfc160af | ||
|
|
1c5de8b86b | ||
|
|
46af82e5b0 | ||
|
|
2d13fb21af | ||
|
|
d4546b6b36 |
111
.github/workflows/submit.yml
vendored
111
.github/workflows/submit.yml
vendored
@@ -12,6 +12,10 @@ on:
|
||||
required: true
|
||||
default: "Linux additional (hotspot only), Linux x64, Linux x86, Windows aarch64, Windows x64, macOS x64"
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
prerequisites:
|
||||
name: Prerequisites
|
||||
@@ -19,6 +23,7 @@ jobs:
|
||||
outputs:
|
||||
should_run: ${{ steps.check_submit.outputs.should_run }}
|
||||
bundle_id: ${{ steps.check_bundle_id.outputs.bundle_id }}
|
||||
jdk_version: ${{ steps.check_jdk_versions.outputs.jdk_version }}
|
||||
platform_linux_additional: ${{ steps.check_platforms.outputs.platform_linux_additional }}
|
||||
platform_linux_x64: ${{ steps.check_platforms.outputs.platform_linux_x64 }}
|
||||
platform_linux_x86: ${{ steps.check_platforms.outputs.platform_linux_x86 }}
|
||||
@@ -66,6 +71,23 @@ jobs:
|
||||
run: "echo '${{ steps.check_deps.outputs.dependencies }}'"
|
||||
if: steps.check_submit.outputs.should_run != 'false'
|
||||
|
||||
- name: Determine full JDK versions
|
||||
id: check_jdk_versions
|
||||
shell: bash
|
||||
run: |
|
||||
FEATURE=${{ fromJson(steps.check_deps.outputs.dependencies).DEFAULT_VERSION_FEATURE }}
|
||||
INTERIM=${{ fromJson(steps.check_deps.outputs.dependencies).DEFAULT_VERSION_INTERIM }}
|
||||
UPDATE=${{ fromJson(steps.check_deps.outputs.dependencies).DEFAULT_VERSION_UPDATE }}
|
||||
if [ "x${UPDATE}" != "x0" ]; then
|
||||
V=${FEATURE}.${INTERIM}.${UPDATE}
|
||||
elif [ "x${INTERIM}" != "x0" ]; then
|
||||
V={FEATURE}.${INTERIM}
|
||||
else
|
||||
V=${FEATURE}
|
||||
fi
|
||||
echo "::set-output name=jdk_version::${V}"
|
||||
if: steps.check_submit.outputs.should_run != 'false'
|
||||
|
||||
- name: Determine the jtreg ref to checkout
|
||||
run: "echo JTREG_REF=jtreg-${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_VERSION }}+${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_BUILD }} >> $GITHUB_ENV"
|
||||
if: steps.check_submit.outputs.should_run != 'false'
|
||||
@@ -121,7 +143,7 @@ jobs:
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
|
||||
@@ -250,7 +272,7 @@ jobs:
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
|
||||
@@ -322,6 +344,7 @@ jobs:
|
||||
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
|
||||
|
||||
- name: Run tests
|
||||
id: run_tests
|
||||
run: >
|
||||
JDK_IMAGE_DIR=${{ env.imageroot }}
|
||||
TEST_IMAGE_DIR=${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}
|
||||
@@ -337,10 +360,11 @@ jobs:
|
||||
JTREG="JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash"
|
||||
|
||||
- name: Check that all tests executed successfully
|
||||
if: always()
|
||||
if: steps.run_tests.outcome != 'skipped'
|
||||
run: >
|
||||
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
|
||||
cat build/*/test-results/*/text/newfailures.txt ;
|
||||
cat build/*/test-results/*/text/other_errors.txt ;
|
||||
exit 1 ;
|
||||
fi
|
||||
|
||||
@@ -431,7 +455,7 @@ jobs:
|
||||
gnu-arch: powerpc64le
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
|
||||
@@ -579,7 +603,7 @@ jobs:
|
||||
|
||||
# Reduced 32-bit build uses the same boot JDK as 64-bit build
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
|
||||
@@ -716,7 +740,7 @@ jobs:
|
||||
|
||||
# Reduced 32-bit build uses the same boot JDK as 64-bit build
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
|
||||
@@ -788,6 +812,7 @@ jobs:
|
||||
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
|
||||
|
||||
- name: Run tests
|
||||
id: run_tests
|
||||
run: >
|
||||
JDK_IMAGE_DIR=${{ env.imageroot }}
|
||||
TEST_IMAGE_DIR=${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin-tests${{ matrix.artifact }}
|
||||
@@ -803,10 +828,11 @@ jobs:
|
||||
JTREG="JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash"
|
||||
|
||||
- name: Check that all tests executed successfully
|
||||
if: always()
|
||||
if: steps.run_tests.outcome != 'skipped'
|
||||
run: >
|
||||
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
|
||||
cat build/*/test-results/*/text/newfailures.txt ;
|
||||
cat build/*/test-results/*/text/other_errors.txt ;
|
||||
exit 1 ;
|
||||
fi
|
||||
|
||||
@@ -866,13 +892,26 @@ jobs:
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
|
||||
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_SHA256 }}"
|
||||
|
||||
steps:
|
||||
- name: Restore cygwin installer from cache
|
||||
id: cygwin-installer
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/cygwin/setup-x86_64.exe
|
||||
key: cygwin-installer
|
||||
|
||||
- name: Download cygwin installer
|
||||
run: |
|
||||
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
|
||||
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
|
||||
if: steps.cygwin-installer.outputs.cache-hit != 'true'
|
||||
|
||||
- name: Restore cygwin packages from cache
|
||||
id: cygwin
|
||||
uses: actions/cache@v2
|
||||
@@ -882,9 +921,7 @@ jobs:
|
||||
|
||||
- name: Install cygwin
|
||||
run: |
|
||||
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
|
||||
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
|
||||
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
|
||||
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages cygwin=3.2.0-1,autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
|
||||
|
||||
- name: Checkout the source
|
||||
uses: actions/checkout@v2
|
||||
@@ -955,13 +992,26 @@ jobs:
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
|
||||
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_SHA256 }}"
|
||||
|
||||
steps:
|
||||
- name: Restore cygwin installer from cache
|
||||
id: cygwin-installer
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/cygwin/setup-x86_64.exe
|
||||
key: cygwin-installer
|
||||
|
||||
- name: Download cygwin installer
|
||||
run: |
|
||||
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
|
||||
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
|
||||
if: steps.cygwin-installer.outputs.cache-hit != 'true'
|
||||
|
||||
- name: Restore cygwin packages from cache
|
||||
id: cygwin
|
||||
uses: actions/cache@v2
|
||||
@@ -971,9 +1021,7 @@ jobs:
|
||||
|
||||
- name: Install cygwin
|
||||
run: |
|
||||
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
|
||||
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
|
||||
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
|
||||
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages cygwin=3.2.0-1,autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
|
||||
|
||||
- name: Checkout the source
|
||||
uses: actions/checkout@v2
|
||||
@@ -1107,7 +1155,7 @@ jobs:
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
|
||||
@@ -1134,6 +1182,19 @@ jobs:
|
||||
Get-ChildItem "$HOME\bootjdk\$env:BOOT_JDK_VERSION\*\*" | Move-Item -Destination "$HOME\bootjdk\$env:BOOT_JDK_VERSION"
|
||||
if: steps.bootjdk.outputs.cache-hit != 'true'
|
||||
|
||||
- name: Restore cygwin installer from cache
|
||||
id: cygwin-installer
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/cygwin/setup-x86_64.exe
|
||||
key: cygwin-installer
|
||||
|
||||
- name: Download cygwin installer
|
||||
run: |
|
||||
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
|
||||
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
|
||||
if: steps.cygwin-installer.outputs.cache-hit != 'true'
|
||||
|
||||
- name: Restore cygwin packages from cache
|
||||
id: cygwin
|
||||
uses: actions/cache@v2
|
||||
@@ -1143,9 +1204,7 @@ jobs:
|
||||
|
||||
- name: Install cygwin
|
||||
run: |
|
||||
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
|
||||
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
|
||||
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
|
||||
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages cygwin=3.2.0-1,autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
|
||||
|
||||
- name: Restore jtreg artifact
|
||||
id: jtreg_restore
|
||||
@@ -1196,6 +1255,7 @@ jobs:
|
||||
run: echo ("imageroot=" + (Get-ChildItem -Path $HOME/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }} -Filter release -Recurse -ErrorAction SilentlyContinue -Force).DirectoryName) | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8
|
||||
|
||||
- name: Run tests
|
||||
id: run_tests
|
||||
run: >
|
||||
$env:Path = "$HOME\cygwin\cygwin64\bin;$HOME\cygwin\cygwin64\bin;$env:Path" ;
|
||||
$env:Path = $env:Path -split ";" -match "C:\\Windows|PowerShell|cygwin" -join ";" ;
|
||||
@@ -1214,10 +1274,11 @@ jobs:
|
||||
JTREG="JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash"
|
||||
|
||||
- name: Check that all tests executed successfully
|
||||
if: always()
|
||||
if: steps.run_tests.outcome != 'skipped'
|
||||
run: >
|
||||
if ((Get-ChildItem -Path build\*\test-results\test-summary.txt -Recurse | Select-String -Pattern "TEST SUCCESS" ).Count -eq 0) {
|
||||
Get-Content -Path build\*\test-results\*\*\newfailures.txt ;
|
||||
Get-Content -Path build\*\test-results\*\*\other_errors.txt ;
|
||||
exit 1
|
||||
}
|
||||
|
||||
@@ -1281,7 +1342,7 @@ jobs:
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
|
||||
@@ -1383,7 +1444,7 @@ jobs:
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
|
||||
@@ -1514,7 +1575,7 @@ jobs:
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
|
||||
@@ -1592,6 +1653,7 @@ jobs:
|
||||
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
|
||||
|
||||
- name: Run tests
|
||||
id: run_tests
|
||||
run: >
|
||||
JDK_IMAGE_DIR=${{ env.imageroot }}
|
||||
TEST_IMAGE_DIR=${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}
|
||||
@@ -1607,10 +1669,11 @@ jobs:
|
||||
JTREG="JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash"
|
||||
|
||||
- name: Check that all tests executed successfully
|
||||
if: always()
|
||||
if: steps.run_tests.outcome != 'skipped'
|
||||
run: >
|
||||
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
|
||||
cat build/*/test-results/*/text/newfailures.txt ;
|
||||
cat build/*/test-results/*/text/other_errors.txt ;
|
||||
exit 1 ;
|
||||
fi
|
||||
|
||||
|
||||
664
.hgtags
664
.hgtags
@@ -1,664 +0,0 @@
|
||||
3cc80be736f24704e505ad8ddaa598dec3fa2ed3 jdk-9+181
|
||||
e2b70be325bd10dae4c06f74c46d70d480854916 jdk-9+179
|
||||
5b16a1c3ccffff2a82c88bb7ea894c4ff1c9ebde jdk-9+180
|
||||
43bf6f30fcba031ecf0cc7e511efe3a8179d0f77 jdk-9+176
|
||||
d9f6bc6ba599d0487dc18b2fbdb6c34eedf6f958 jdk-9+177
|
||||
bc9df7dd63ec76f50fafeb4acc44465044662f0a jdk-9+178
|
||||
994036e74ab805bcc09afa0646be17a725bec42f jdk-9+175
|
||||
94680c6d60ecd9ed3ffd1847706efde7eb947afc jdk-9+174
|
||||
6dd7fda42bab7ecf648cafb0a4e9b4ca11b3094f jdk-9+173
|
||||
dad6746278facbbea57dd462cb56fb743dc0a5f0 jdk-9+172
|
||||
643b5f18c2656fe91b69fea85b07b98d5fad394d jdk-9+171
|
||||
898cbe31fbdae2d25d141384fac746cc244a730c jdk-9+170
|
||||
c7efde2b60fc1ec04630be769d9ad60efb39c39c jdk-9+169
|
||||
8fd0a4569191f33c98ee90c2709174a342fefb0d jdk-9+167
|
||||
fcabc74bd44e56c7419d111d59b95669ecb33c55 jdk-9+168
|
||||
d3e973f1809606c67412361041ad197e50fe8cec jdk-9+166
|
||||
3965b747cfe1e6cbd66b8739da5a1ea6ec6985e9 jdk-9+165
|
||||
d16aebbb56d37f12e0c0b0a4fb427db65e1fb1a8 jdk-9+162
|
||||
18c41483a082e097ac2f5f983c1226ed94aa4215 jdk-9+163
|
||||
32db52c675e7d5bc413605d2e89b68b608b19be0 jdk-9+164
|
||||
fd1497902bbe3aa24b21f270ecdcb8de5f7aa9ac jdk-9+159
|
||||
6aa8be0c4e054fe8b3ab016ae00d16d680f92145 jdk-9+160
|
||||
f6883b1a5a6478437cd4181c4bd45328ab24feaf jdk-9+161
|
||||
fa3e76b477829afc4476f0b725cfaa440a6fd917 jdk-9+157
|
||||
b5015f742ba648184bb7fc547197bd33ebfde30d jdk-9+158
|
||||
1cc8dd79fd1cd13d36b385196271a29632c67c3b jdk7-b24
|
||||
bf2517e15f0c0f950e5b3143c4ca11e2df73dcc1 jdk7-b25
|
||||
5ae7db536e3fcf6be78e45b240a9058095e0ed38 jdk7-b26
|
||||
67052ac87fc927d048e62ec54ff42adb230d3f7c jdk7-b27
|
||||
18dc4ba4739a537fd146f77da51db16efce28da2 jdk7-b28
|
||||
bfe4572fd301a6fcd120373cdb2eff5d2da0c72c jdk7-b29
|
||||
bee4731164a06ddece1297ae58db24aca6a1c626 jdk7-b30
|
||||
cd8b8f500face60d1566d850857a7fccadbd383a jdk7-b31
|
||||
a9f1805e3ba9ca520cad199d522c84af5433e85a jdk7-b32
|
||||
6838c1a3296aaa3572364d2ce7d70826cee96286 jdk7-b33
|
||||
90cf935adb353bb0af4b46fb0677e841fd24c000 jdk7-b34
|
||||
6d909d5803e3a22850e6c4e5a75b888742ee7e20 jdk7-b35
|
||||
d718a441936196b93d8bc9f084933af9a4c2a350 jdk7-b36
|
||||
c2036bf76829c03b99108fffab52e20910a9be4f jdk7-b37
|
||||
a2879b2837f5a4c87e9542efe69ef138194af8ff jdk7-b38
|
||||
126f365cec6c3c2c72de934fa1c64b5f082b55b5 jdk7-b39
|
||||
3c53424bbe3bb77e01b468b4b0140deec33e11fc jdk7-b40
|
||||
3cb2a607c347934f8e7e86f840a094c28b08d9ea jdk7-b41
|
||||
caf58ffa084568990cbb3441f9ae188e36b31770 jdk7-b42
|
||||
41bd0a702bc8ec6feebd725a63e7c3227f82ab11 jdk7-b43
|
||||
5843778bda89b1d5ac8e1aa05e26930ac90b3145 jdk7-b44
|
||||
54dffad0bf066791a2793305875250c395011d5f jdk7-b45
|
||||
04b2620edc72de93671646e4720c5992c74ac8b5 jdk7-b46
|
||||
0c4657194eec95c08ba478aee9cfc3c295e41657 jdk7-b47
|
||||
1bf51a4c2627c2f0e0cbcc2cf0421bdb37f1f2b2 jdk7-b48
|
||||
6b84b04a80afe23262377c60913eebfc898f14c4 jdk7-b49
|
||||
5da0e6b9f4f18ef483c977337214b12ee0e1fc8f jdk7-b50
|
||||
a25c5ec5e40e07733d1ff9898a0abe36159288ff jdk7-b51
|
||||
7a90e89e36d103038f8667f6a7daae34ecfa1ad8 jdk7-b52
|
||||
d52186ee770dac57950536cd00ccbfdef360b04c jdk7-b53
|
||||
15096652c4d48dfb9fc0b2cb135304db94c65ba0 jdk7-b54
|
||||
c8b275d62d6b0a980c510e839b70292245863e85 jdk7-b55
|
||||
a8134c4ee2cf451cf9b5e1609f39d83ecd53acc5 jdk7-b56
|
||||
b44f05654c26fcd1f995e712992f9b07ffd7c0c6 jdk7-b57
|
||||
d60a9ce3c3eabf28f5d50ae839d18be04a551bc2 jdk7-b58
|
||||
c33e7d38c9210741dbc285507403a4b20bd802a0 jdk7-b59
|
||||
5a10e4d0b14d7beac53a7b2213ae6864afe1fd3e jdk7-b60
|
||||
dbb955b1ee59b876dd1f133952b557b48b1d7732 jdk7-b61
|
||||
6107cbff3130c747d243c25a7874cd59db5744a8 jdk7-b62
|
||||
dfd8506f74c3731bb169ce93c72612d78ee0413b jdk7-b63
|
||||
d22867c5f1b295a0a2b3b4bc8999a2676f6e20c3 jdk7-b64
|
||||
7d3bf00f3cc4f8125de1842521e7567f37dc84b8 jdk7-b65
|
||||
62109d1b9e7310f29ab51ca6f1d71b899c0ce6b0 jdk7-b66
|
||||
eb24af1404aec8aa140c4cd4d13d2839b150dd41 jdk7-b67
|
||||
bca2225b66d78c4bf4d9801f54cac7715a598650 jdk7-b68
|
||||
1b662b1ed14eb4ae31d5138a36c433b13d941dc5 jdk7-b69
|
||||
207f694795c448c17753eff1a2f50363106960c2 jdk7-b70
|
||||
c5d39b6be65cba0effb5f466ea48fe43764d0e0c jdk7-b71
|
||||
df4bcd06e1d0ab306efa5a44f24a409dc0c0c742 jdk7-b72
|
||||
ce74bd35ce948d629a356e168797f44b593b1578 jdk7-b73
|
||||
4e7661eaa211e186674f6cbefec4aef1144ac2a0 jdk7-b74
|
||||
946518568340c4e511549318f19f47f06b7f5f9b jdk7-b75
|
||||
09e0b33177af2b98a03c9ca19eedf61440bd1cf6 jdk7-b76
|
||||
1d0121b741f029dc4b828e4b36ba6fda92907dd7 jdk7-b77
|
||||
4061c66ba1af1a2e27c2c839ba887407dd3ce050 jdk7-b78
|
||||
e9c98378f6b9256c0595ef2985ca5899f0c0e274 jdk7-b79
|
||||
e6abd38682d237306d6c147c17538ec9e7f8e3a7 jdk7-b80
|
||||
dcc938ac40cc45f1ef454d76020b5db5d943001c jdk7-b81
|
||||
a30062be6d9ca1d48579826f870f85974300004e jdk7-b82
|
||||
34c8199936a1682aa8587857f44cfaf37c2b6381 jdk7-b83
|
||||
b1e55627a6980b9508854ed0c0f21d4f981b4494 jdk7-b84
|
||||
b6f633a93ae0ec4555ff4bf756f5e2150c9bdede jdk7-b85
|
||||
c94d9cc81f495d97817eba9d71b84fc45f7661a5 jdk7-b86
|
||||
b7456c473862048fa70ed8092313a4ef0a55d403 jdk7-b87
|
||||
7077b95d42f6b3942a8751bba033801ff50e5889 jdk7-b88
|
||||
44158f6d3b94c0fa020e33632532473d92d1ea96 jdk7-b89
|
||||
1d1927f9ec097b62c913921e2dfa5dbaf5dc325b jdk7-b90
|
||||
308ad8f68b8dd68e22d73dd490e110059b732422 jdk7-b91
|
||||
ff9031a745d9cc52318f2148e43ca3b07ee08098 jdk7-b92
|
||||
b5dab6a313fdff4c043250e4d9c8f66fd624d27e jdk7-b93
|
||||
8bb281f0f91582104d65d032be22522bfd2d8110 jdk7-b94
|
||||
654298d26561b76dfe3cfcffbbd7078080837300 jdk7-b95
|
||||
d260f892491e040ae385a8e6df59557a7d721abf jdk7-b96
|
||||
7e406ebed9a5968b584f3c3e6b60893b5d6d9741 jdk7-b97
|
||||
db6e660120446c407e2d908d52ec046592b21726 jdk7-b98
|
||||
c4c8a5bc54f66abc68cd185d9294042121922154 jdk7-b99
|
||||
2d6ba7a221915bdf0311acc5641c7f3875cb793e jdk7-b100
|
||||
2548ac036b8fca3326d058d758e6df8355a42469 jdk7-b101
|
||||
88db80c8e49cea352c2900f689600dc410761c1f jdk7-b102
|
||||
64770970865839b0443066370e7d476ef47e90cd jdk7-b103
|
||||
10bc903a228d3a8efdf46fb8c3fcf82a59b88bc5 jdk7-b104
|
||||
1ce7938efb03224ccc8b3cdd7803eb39e889539c jdk7-b105
|
||||
6bdae472f77205046703b685eff2ac4f7a0ecf4e jdk7-b106
|
||||
439de530aac531a360beedba6e2fe51e17292cc0 jdk7-b107
|
||||
044d31b99ef5609389fc771c422e722e5e224228 jdk7-b108
|
||||
e02b4d709e177d08d56130a4bc68061e4bbacc7d jdk7-b109
|
||||
a6442d6bc38a44152e0662688213ce4d2701f42a jdk7-b110
|
||||
69f3edf083477955b5bd2f754252c7504167d8e1 jdk7-b111
|
||||
f960f117f1623629f64203e2b09a92a8f6f14ff5 jdk7-b112
|
||||
1fee41c7ed2b3388970a756a85aa693c0de8407a jdk7-b113
|
||||
750c1ccb2f2d1ddfa95ab6c7f897fdab2f87f7e9 jdk7-b114
|
||||
9cb24917216bc68997154f6e9566c3de62acb2f4 jdk7-b115
|
||||
a4e6aa1f45ad23a6f083ed98d970b5006ea4d292 jdk7-b116
|
||||
228e73f288c543a8c34e2a54227103ae5649e6af jdk7-b117
|
||||
2e876e59938a853934aa738c811b26c452bd9fe8 jdk7-b118
|
||||
4951967a61b4dbbf514828879f57bd1a0d4b420b jdk7-b119
|
||||
8c840d3ab24f8d0f422b991638acb44b6ab1d98c jdk7-b120
|
||||
0ce0a2c3a6926677dc507839a820ab6625541e5a jdk7-b121
|
||||
6f09ea1c034f087916d2a8cf0d22be768400118f jdk7-b122
|
||||
142129d8599d1f56b29387e7f9a5fad53b6d61df jdk7-b123
|
||||
aa894c225b1a517b665ac2a58295217ea2245134 jdk7-b124
|
||||
f658ec2730fa29323c36d23c27e54c7219ef5e16 jdk7-b125
|
||||
f1df068076986679ea1105532a65529d63a89060 jdk7-b126
|
||||
f83cd8bd35c678f94e526990e03dc838d0ec2717 jdk7-b127
|
||||
7da3f5f30855dec6bf3a86529e87dee883b90c72 jdk7-b128
|
||||
6823ea7eb8eb6fab405d7edb7a5c2f690887a2fa jdk7-b129
|
||||
a36beda9b9de91231d92a2c529f21cc218fcf8d5 jdk7-b130
|
||||
d8af56da89bc0fc02a6b6ad78f51157a46d665ab jdk7-b131
|
||||
d61280d36755d1941fb487f554e8b7a6d0bca6a1 jdk7-b132
|
||||
fd444c61e7ed3d92b2a730da7c737b02191b682f jdk7-b133
|
||||
def8e16dd237a47fc067d66d4c616d7baaec6001 jdk7-b134
|
||||
f75a1efb141210901aabe00a834e0fc32bb8b337 jdk7-b135
|
||||
46acf76a533954cfd594bb88fdea79938abfbe20 jdk7-b136
|
||||
d1cf7d4ee16c341f5b8c7e7f1d68a8c412b6c693 jdk7-b137
|
||||
62b8e328f8c8c66c14b0713222116f2add473f3f jdk7-b138
|
||||
955488f34ca418f6cdab843d61c20d2c615637d9 jdk7-b139
|
||||
f4298bc3f4b6baa315643be06966f09684290068 jdk7-b140
|
||||
5d86d0c7692e8f4a58d430d68c03594e2d3403b3 jdk7-b141
|
||||
92bf0655022d4187e9b49c1400f98fb3392a4630 jdk7-b142
|
||||
4a05062d8c4dfa3edec3faf1052af28baba5adff jdk7-b143
|
||||
07a8728ad49ef6dfa469c3a8bf5ab1e9c80bed5c jdk7-b144
|
||||
8294c99e685a1f6d1d37c45cd97854cf74be771e jdk7-b145
|
||||
dca1e8a87e8f756f95b99bac8fe795750d42e1b0 jdk7-b146
|
||||
a2a589fc29543ed32919c78a1810ad93a6fcf5bc jdk7-b147
|
||||
de9223c94f9c710b3eebb599cd3586f36c8b94a9 jdk8-b01
|
||||
1b9d19620eb4606a25b1e28f86d66c8bfa867e06 jdk8-b02
|
||||
6815e85bf96d6d3875954f9777660372cd70d065 jdk8-b03
|
||||
31f5c34d78081572ad9a2401c0bb0c6b9711dd65 jdk8-b04
|
||||
c4f9ea1ecb55ff44e0dd21d2888ead308c86a3aa jdk8-b05
|
||||
429da7734bf491bccde2a752fae97e9f225896dc jdk8-b06
|
||||
bc5710332b294676661103bb20d47d2ea3ba8def jdk8-b07
|
||||
24ee504f80412770c6874836cd9e55b536427b1d jdk8-b08
|
||||
fbf3cabc9e3bb1fcf710941d777cb0400505fbe6 jdk8-b09
|
||||
f651ce87127980c58e3599daba964eba2f3b4026 jdk8-b10
|
||||
cc1f5ce8e504d350e0b0c28c5f84333f8d540132 jdk8-b11
|
||||
86db042b3385c338e17f7664447fdc7d406dd19e jdk8-b12
|
||||
4cc0ef72c812943743ef4765f1100e2fbe2b1a08 jdk8-b13
|
||||
9ffaa48dbfb0f5936c2b789867d0785faec7071d jdk8-b14
|
||||
b5060eae3b32fd9f884a09774338cd8186d7fafa jdk8-b15
|
||||
736a63b854f321c7824b7e47890135f80aee05e3 jdk8-b16
|
||||
f0eccb2946986fb9626efde7d8ed9c8192623f5c jdk8-b17
|
||||
885050364691ac1ac978305c63f3368a197fb04d jdk8-b18
|
||||
0ff7113a0882ec82d642cb9f0297b4e497807ced jdk8-b19
|
||||
6561530ea757c3f3a6fb171c9cc7b3885cdeca85 jdk8-b20
|
||||
b3a426170188f52981cf4573a2f14d487fddab0d jdk8-b21
|
||||
e8f03541af27e38aafb619b96863e17f65ffe53b jdk8-b22
|
||||
498124337041ad53cbaa7eb110f3d7acd6d4eac4 jdk8-b23
|
||||
7d3720d8c595d1519c31e9ff7366203fc2c61350 jdk8-b24
|
||||
0071a6d64113a35ba345bb1580c256de5ce17d3e jdk8-b25
|
||||
6c805d8ed4e5449ea5e4d158c7bdbd7b0b70efd1 jdk8-b26
|
||||
c51754cddc037b9609e202b9ed38363d8683e7a8 jdk8-b27
|
||||
16ba58282d117247f480aae7a79b88141ade52a3 jdk8-b28
|
||||
e070119aa56ee4dc5506c19d2c4d2eecab8ad429 jdk8-b29
|
||||
23da7804aca0c9c4e6e86532a1453125a76d95ee jdk8-b30
|
||||
bac81e9f7d57b75fba5ab31b571f3fe0dc08af69 jdk8-b31
|
||||
2c5208ccb863db936eab523f49450b3fcd230348 jdk8-b32
|
||||
a6e6d42203e6d35f9e8b31eac25b0021b4dd58ad jdk8-b33
|
||||
0ae89825c75c9492e44efb3aca3d9ee3d8a209df jdk8-b34
|
||||
f151d5833912a82cd4f203944da0305c3be83ecc jdk8-b35
|
||||
98ce9816ae089c959ba1e70fba98423a31c4e9fa jdk8-b36
|
||||
b3a91113026c99b0da010d41055719ab0d8938f0 jdk8-b37
|
||||
4cc5610a6dd6227da766ebf9742eb11ff5ded6c0 jdk8-b38
|
||||
35a5397278779a2f8f3013f81586dc8f30cb149d jdk8-b39
|
||||
6e4e654931b976304bf6e7b4d0d6db8f75bac5d9 jdk8-b40
|
||||
c029c972396cea042a0dc67c0f7ccf2fe68007d4 jdk8-b41
|
||||
5c5a64ec0839df5affe9394b99ff338c363acbca jdk8-b42
|
||||
69d8a827cdf9236be9694a46d75c710d71dac7d7 jdk8-b43
|
||||
7e981cb0ad6a194f1fa859f9ad47586db461f269 jdk8-b44
|
||||
9b19b2302c28f4da6d4078f66234abecfed5688a jdk8-b45
|
||||
600c9a1feb01633cbcf2341a43d1d21e6497ecd0 jdk8-b46
|
||||
b820143a6f1ce993c6e6f31db4d64de990f42654 jdk8-b47
|
||||
086271e35b0a419b38e8bda9bebd70693811df0a jdk8-b48
|
||||
cecd7026f30cbd83b0601925a7a5e059aec98138 jdk8-b49
|
||||
38fe5ab028908cf64dd73a43336ba3211577bfc3 jdk8-b50
|
||||
382651d28f2502d371eca751962232c0e535e57a jdk8-b51
|
||||
b67041a6cb508da18d2f5c7687e6a31e08bea4fc jdk8-b52
|
||||
c7aa5cca1c01689a7b1a92411daf83684af05a33 jdk8-b53
|
||||
7c6aa31ff1b2ae48c1c686ebe1aadf0c3da5be15 jdk8-b54
|
||||
319f583f66db47395fa86127dd3ddb729eb7c64f jdk8-b55
|
||||
ffe6bce5a521be40146af2ac03c509b7bac30595 jdk8-b56
|
||||
2c21c080b11b93efb3851e39e1363e45da805943 jdk8-b57
|
||||
479d3302a26d7607ba271d66973e59ebf58825b6 jdk8-b58
|
||||
3bd874584fc01aae92fbc8827e2bd04d8b6ace04 jdk8-b59
|
||||
5e3adc681779037a2d33b7be6f75680619085492 jdk8-b60
|
||||
cdaa6122185f9bf512dcd6600f56bfccc4824e8c jdk8-b61
|
||||
8d9d430b4244b95f5cf1ebe719f834a1ac5d6cd5 jdk8-b62
|
||||
21ee1dd7b809639284900a128b9b656a592ebc7a jdk8-b63
|
||||
70fa4b11f26522e69b51fd652215f60ce350bac3 jdk8-b64
|
||||
a2cf4d4a484378caea2e827ed604b2bbae58bdba jdk8-b65
|
||||
17820b958ae84f7c1cc6719319c8e2232f7a4f1d jdk8-b66
|
||||
76cc9bd3ece407d3a15d3bea537b57927973c5e7 jdk8-b67
|
||||
cb33628d4e8f11e879c371959e5948b66a53376f jdk8-b68
|
||||
adb5171c554e14cd86f618b5584f6e3d693d5889 jdk8-b69
|
||||
0d625373c69e2ad6f546fd88ab50c6c9aad01271 jdk8-b70
|
||||
a41ada2ed4ef735449531c6ebe6cec593d890a1c jdk8-b71
|
||||
6725b3961f987cf40f446d1c11cd324a3bec545f jdk8-b72
|
||||
fe94b40ffd9390f6cffcdf51c0389b0e6dde0c13 jdk8-b73
|
||||
f627eff819628822a0777af8062244352f2a29cf jdk8-b74
|
||||
f1478a6d25fddd311a84dcbfac50824cc1858bdd jdk8-b75
|
||||
f407160c280d1c5b00d314c535441ac26f195fee jdk8-b76
|
||||
d17eb2e13e362085e866d46235314c50cc4661cc jdk8-b77
|
||||
6d3dcd34b5b962ea1ef9eed0dafdee9e812401bc jdk8-b78
|
||||
a1313a8d90d17d363a3b2a645dc4030ec204b168 jdk8-b79
|
||||
3fa21fbf9be7e6b482af43aacb6a09acfa30bdb6 jdk8-b80
|
||||
e41d716405b209d3eddef8bd4240cec2bd34dcca jdk8-b81
|
||||
5e8c55025644730385a6f8fa029ecdb2d2c98a07 jdk8-b82
|
||||
bcebd3fdefc91abb9d7fa0c5af6211b3f8720da6 jdk8-b83
|
||||
d7ad0dfaa41151bd3a9ae46725b0aec3730a9cd0 jdk8-b84
|
||||
1872c12529090e1c1dbf567f02ad7ae6231b8f0c jdk8-b85
|
||||
da9a4c9312816451884aa6db6f18be51a07bff13 jdk8-b86
|
||||
5ebf6c63714de2c9dcf831074086d31daec819df jdk8-b87
|
||||
e517701a4d0e25ae9c7945bca6e1762a8c5d8aa6 jdk8-b88
|
||||
4dec41b3c5e3bb616f0c6f15830d940905aa5d16 jdk8-b89
|
||||
f09ab0c416185e3cba371e81bcb6a16060c90f44 jdk8-b90
|
||||
80b6c3172dc2cfceb022411292d290a967f9c728 jdk8-b91
|
||||
2fd6acba737b01e705e1f7c33588c922a3787f13 jdk8-b92
|
||||
b72ae39e1329fefae50d4690db4fde43f3841a95 jdk8-b93
|
||||
0d804e3b955dce406af6a79ac1cc35c696aff7fb jdk8-b94
|
||||
49fe9c8049132647ad38837a877dd473e6c9b0e5 jdk8-b95
|
||||
ea73f01b9053e7165e7ba80f242bafecbc6af712 jdk8-b96
|
||||
0a85476a0b9cb876d5666d45097dac68bef3fce1 jdk8-b97
|
||||
711eb4aa87de68de78250e0549980936bab53d54 jdk8-b98
|
||||
2d3875b0d18b3ad1c2bebf385a697e309e4005a4 jdk8-b99
|
||||
3d34036aae4ea90b2ca59712d5a69db3221f0875 jdk8-b100
|
||||
edb01c460d4cab21ff0ff13512df7b746efaa0e7 jdk8-b101
|
||||
bbe43d712fe08e650808d774861b256ccb34e500 jdk8-b102
|
||||
30a1d677a20c6a95f98043d8f20ce570304e3818 jdk8-b103
|
||||
b5ed503c26ad38869c247c5e32debec217fd056b jdk8-b104
|
||||
589f4fdc584e373a47cde0162e9eceec9165c381 jdk8-b105
|
||||
514b0b69fb9683ef52062fd962a3e0644431f64d jdk8-b106
|
||||
892889f445755790ae90e61775bfb59ddc6182b5 jdk8-b107
|
||||
74049f7a28b48c14910106a75d9f2504169c352e jdk8-b108
|
||||
af9a674e12a16da1a4bd53e4990ddb1121a21ef1 jdk8-b109
|
||||
b5d2bf482a3ea1cca08c994512804ffbc73de0a1 jdk8-b110
|
||||
b9a0f6c693f347a6f4b9bb994957f4eaa05bdedd jdk8-b111
|
||||
ad67c34f79c28a8e755f4a49f313868619d6702c jdk8-b112
|
||||
4a4dbcf7cb7d3e1a81beaa3b11cd909f69ebc79a jdk8-b113
|
||||
dfa34ab293faad9b543a24646dbb381bc3ab5586 jdk8-b114
|
||||
3dd9732b17034f45d111996d1d50287b05a3998c jdk8-b115
|
||||
aaf663f591aba43ec942263b15ba62759ce26a1e jdk8-b116
|
||||
31b0e03fcad73d7886b306b4c2e57ad270780d0d jdk8-b117
|
||||
f5b521ade7a35cea18df78ee86322207729f5611 jdk8-b118
|
||||
87b743b2263cc53955266411b7797b365a0fb050 jdk8-b119
|
||||
a1ee9743f4ee165eae59389a020f2552f895dac8 jdk8-b120
|
||||
13b877757b0b1c0d5813298df85364f41d7ba6fe jdk9-b00
|
||||
f130ca87de6637acae7d99fcd7a8573eea1cbaed jdk9-b01
|
||||
b32e2219736e42baaf45daf0ad67ed34f6033799 jdk9-b02
|
||||
7f655f31f9bcee618cf832f08176ad8c1ed3fdd3 jdk9-b03
|
||||
099891b1d86f3719e116ac717ffdafc90d037fb7 jdk9-b04
|
||||
dd311791ad6895a3989020dd6c6c46db87972ab8 jdk9-b05
|
||||
85dbdc227c5e11429b4fc4a8ba763f50107edd6e jdk9-b06
|
||||
c826d05f1fb0773f6a28caa763307dd30d90d36e jdk9-b07
|
||||
b47e021195757f8f45582124ea7cad48ccf5f872 jdk9-b08
|
||||
efe7dbc6088691757404e0c8745f894e3ca9c022 jdk9-b09
|
||||
8c0bdeecd7c0f9ce3f3762a51991f755cb3a972c jdk9-b10
|
||||
0809c9a4d36e6291f1c4384604c4bbf29e975722 jdk9-b11
|
||||
0d1f816217dce5e72187f167cc1816080cbeb453 jdk9-b12
|
||||
1a30593dcb9802faec3b6edb24d86ca088594e4e jdk9-b13
|
||||
97932f6ad950ae5a73a9da5c96e6e58503ff646b jdk9-b14
|
||||
74eb0778e4f2dbff6628e718378449fba27c4265 jdk9-b15
|
||||
4a09f5d30be844ac6f714bdb0f63d8c3c08b9a98 jdk9-b16
|
||||
410bccbded9e9cce80f1e13ad221e37ae97a3986 jdk9-b17
|
||||
c5495e25c7258ab5f96a1ae14610887d76d2be63 jdk9-b18
|
||||
2dcf544eb7ed5ac6a3f7813a32e33acea7442405 jdk9-b19
|
||||
89731ae72a761afdf4262e8b9513f302f6563f89 jdk9-b20
|
||||
28dd0c7beb3cad9cf95f17b4b5ad87eb447a4084 jdk9-b21
|
||||
9678e0db8ff6ed845d4c2ee4a3baf7f386a777e5 jdk9-b22
|
||||
39cfdc2dcaf3f195c55398e4e677ab053b07e3d2 jdk9-b23
|
||||
d9ce05f36ffec3e5e8af62a92455c1c66a63c320 jdk9-b24
|
||||
13a5c76976fe48e55c9727c25fae2d2ce7c05da0 jdk9-b25
|
||||
cd6f4557e7fea5799ff3762ed7a80a743e75d5fd jdk9-b26
|
||||
d06a6d3c66c08293b2a9650f3cc01fd55c620e65 jdk9-b27
|
||||
f4269e8f454eb77763ecee228a88ae102a9aef6e jdk9-b28
|
||||
c36c0092693707a8255561433647e8c3cd724ccd jdk9-b29
|
||||
b2287cac7813c70ed7f679d9a46fe774bd4005f8 jdk9-b30
|
||||
9d0e6639a4d71b63507dd94b1a028e963b27e798 jdk9-b31
|
||||
1b1ec4291abc0ba6da7bf79b754f08dd759a4a0c jdk9-b32
|
||||
f0c5e4b732da823bdaa4184133675f384e7cd68d jdk9-b33
|
||||
9618201c5df28a460631577fad1f61e96f775c34 jdk9-b34
|
||||
a137992d750c72f6f944f341aa19b0d0d96afe0c jdk9-b35
|
||||
41df50e7303daf73c0d661ef601c4fe250915de5 jdk9-b36
|
||||
b409bc51bc23cfd51f2bd04ea919ec83535af9d0 jdk9-b37
|
||||
948cceef81ba4cb34bc233e7cc5952951ff04e88 jdk9-b38
|
||||
4e7c4d692e934cb9023af8201e7c2b510e9c4ee1 jdk9-b39
|
||||
82f4cb44b2d7af2352f48568a64b7b6a5ae960cd jdk9-b40
|
||||
9fffb959eb4197ff806e4ac12244761815b4deee jdk9-b41
|
||||
3107be2ba9c6e208a0b86bc7100a141abbc5b5fb jdk9-b42
|
||||
6494b13f88a867026ee316b444d9a4fa589dd6bd jdk9-b43
|
||||
abbfccd659b91a7bb815d5e36fed635dcdd40f31 jdk9-b44
|
||||
bfc24ae2b900187585079bb11e66e459d1e525fe jdk9-b45
|
||||
722378bc599e38d9a1dd484de30f10dfd7b21438 jdk9-b46
|
||||
8327024a99559982b848e9c2191da9c0bf8838fd jdk9-b47
|
||||
b2f9702efbe95527ea3a991474fda23987ff1c5c jdk9-b48
|
||||
5b8db585a33c3cc48e70e688ceee57dd9271dc5d jdk9-b49
|
||||
1550b2f6b63d1411fa84dc7bbc6f04809aedb43f jdk9-b50
|
||||
6efe265424e3f1ea596408a1f71baf2de316c772 jdk9-b51
|
||||
d6224d6021459ac8b3832e822f5acc849fa944af jdk9-b52
|
||||
874d76e4699dfcd61ae1826c9fe0ddc1610ad598 jdk9-b53
|
||||
82cd31c5d6ca8d4c1653f4eb1c09eb2d9a3b2813 jdk9-b54
|
||||
c97e2d1bad9708d379793ba2a4c848eda14c741e jdk9-b55
|
||||
47544495db2d3d2edf0f85862d8715592fdb919f jdk9-b56
|
||||
ddb95d8f169b09544cc17e72a6baaff2400092f5 jdk9-b57
|
||||
f40752db7773ca0c737f2ad88371e35c57fdfed7 jdk9-b58
|
||||
da950f343762a856d69751570a4c07cfa68a415b jdk9-b59
|
||||
38f98cb6b33562a926ec3b79c7b34128be37647d jdk9-b60
|
||||
ac3f5a39d4ff14d70c365e12cf5ec8f2abd52a04 jdk9-b61
|
||||
e7dbbef69d12b6a74dfad331b7188e7f893e8d29 jdk9-b62
|
||||
989253a902c34dcb7564695161c9200a5fbb7412 jdk9-b63
|
||||
8ffdeabc7c2b9a8280bf46cae026ac46b4d31c26 jdk9-b64
|
||||
4915246064b2f89d5f00c96e758686b7fdad36a6 jdk9-b65
|
||||
ff3fc75f3214ad7e03595be1b0d0f38d887b6f0e jdk9-b66
|
||||
56166ce66037952fa21e9f680b31bf8eb47312c0 jdk9-b67
|
||||
5b500c93ce4822d47061cd518ff3f72d9d8cb5b5 jdk9-b68
|
||||
d69c968463f0ae5d0b45de3fc14fe65171b23948 jdk9-b69
|
||||
43d0179ee9de3bfffae3417f09e07eb6d8efc963 jdk9-b70
|
||||
f66c185284727f6e6ffd27e9c45ed2dd9da0a691 jdk9-b71
|
||||
61d2d0629b6dbf4c091dc86151ade1b3ef34fffe jdk9-b72
|
||||
9b3a9d72f07b40c648de79961679f42283af1bb5 jdk9-b73
|
||||
7c577fda1855d03c04546694d514678f596508c9 jdk9-b74
|
||||
f55df5cfe11c97e4b58998b76f5bd00a73cde12d jdk9-b75
|
||||
eeea9adfd1e3d075ef82148c00a4847a1aab4d26 jdk9-b76
|
||||
c25e882cee9622ec75c4e9d60633539a2f0a8809 jdk9-b77
|
||||
c8753d0be1778944dc512ec86a459941ea1ad2c3 jdk9-b78
|
||||
3966bd3b8167419aa05c6718a4af1cf54b1e3c58 jdk9-b79
|
||||
3c9f5bd909ae7187f24622ee4b69f8a5756a9271 jdk9-b80
|
||||
2050b3a0aadcb0e024bf798197421d58e54ec8bf jdk9-b81
|
||||
6521875cb63e1d0121b30af56ebbc36db078c4c6 jdk9-b82
|
||||
f61a63b7d1e52e307abc0bfc751203155d362ec4 jdk9-b83
|
||||
51b2db2fa04c16d767b66113dbf08c5349ce382a jdk9-b84
|
||||
8392405ab038b22e69a3728e17dbdd9e3d3a22ed jdk9-b85
|
||||
7db0663a5e968059fa7c772172187ebd60b6492d jdk9-b86
|
||||
1a52a30674cd28c24d4d388150336121f2e9ddf9 jdk9-b87
|
||||
16b4968f9bb8f34371b42c0ba483d76e91ba84d8 jdk9-b88
|
||||
4a0312f2894bcbe1fd20266c8fda8d983bd2fcf6 jdk9-b89
|
||||
d131f4b8433a79408f935eff9bf92a0664229b60 jdk9-b90
|
||||
8077fd2f055d31e50b46fcf62d9c035bc385a215 jdk9-b91
|
||||
f242d4332f563648426a1b0fa02d8741beba19ef jdk9-b92
|
||||
09206c6513b300e1ac8541f3be012e1a49312104 jdk9-b93
|
||||
25a2cab05cfbe6034b71d9e72d64c65b0572ce63 jdk9-b94
|
||||
5ac6287ec71aafe021cc839d8bc828108d23aaba jdk-9+95
|
||||
139f19d70350238e15e107945cea75082b6380b3 jdk-9+96
|
||||
4edcff1b9a8875eb6380a2165dfec599e8e3f7c0 jdk-9+97
|
||||
d00ad2d9049ac60815f70bff445e95df85648bd2 jdk-9+98
|
||||
f9bcdce2df26678c3fe468130b535c0342c69b89 jdk-9+99
|
||||
4379223f8806626852c46c52d4e7a27a584b406e jdk-9+100
|
||||
80f67512daa15cf37b4825c1c62a675d524d7c49 jdk-9+101
|
||||
2dc4c11fe48831854916d53c3913bdb7d49023ea jdk-9+102
|
||||
4a652e4ca9523422149958673033e0ac740d5e1e jdk-9+103
|
||||
086c682bd8c5f195c324f61e2c61fbcd0226d63b jdk-9+104
|
||||
db483b34fa7148d257a429acddbde9c13687dcae jdk-9+105
|
||||
6c644cca3f3fc2763e2ff7d669849a75d34543ba jdk-9+106
|
||||
1c076468bf7dad5b8f2ee5dcf66e2279caa3e208 jdk-9+107
|
||||
257b579d813201682931d6b42f0445ffe5b4210d jdk-9+108
|
||||
c870cb782aca71093d2584376f27f0cfbfec0e3a jdk-9+109
|
||||
4a95f4b1bd8bfce85dc02a593896749feab96c34 jdk-9+110
|
||||
a6614ff7bf09da74be1d0ef3d9755090d244697a jdk-9+111
|
||||
7359994942f8d8e723b584d66a3a92c2e9e95e5c jdk-9+112
|
||||
6072af7a98be3922f26bdce71b53bb3646cb2ac9 jdk-9+113
|
||||
c84d0cce090e161d736de69e941830adf8c2f87a jdk-9+114
|
||||
8d78fb40648dd221ce4ef19f9d5aa41ee1a3a884 jdk-9+115
|
||||
84aba7335005a3a47751dcf1f37935f97df9f99a jdk-9+116
|
||||
82b8d12a553f5617737c238cec060281d52e351c jdk-9+117
|
||||
7c04fcb12bd4a31570a238e663fa846dfa5ec3b8 jdk-9+118
|
||||
caf97b37ebec84288c112d21d3a60cb628cba1e8 jdk-9+119
|
||||
9330543436402b8f3bd070524846a464d8143557 jdk-9+120
|
||||
18e5cdecb37a2f03ba74f6c8f022858bcbaacf56 jdk-9+121
|
||||
7693aa00e131493ceb42b93305e2f014c9922a3b jdk-9+122
|
||||
d53037a90c441cb528dc41c30827985de0e67c62 jdk-9+123
|
||||
2a5697a98620c4f40e4a1a71478464399b8878de jdk-9+124
|
||||
3aa52182b3ad7c5b3a61cf05a59dd07e4c5884e5 jdk-9+125
|
||||
03e7b2c5ae345be3caf981d76ceb3efe5ff447f8 jdk-9+126
|
||||
8e45018bde9de4ad15b972ae62874bba52dba2d5 jdk-9+127
|
||||
5bf88dce615f6804f9e101a96ffa7c9dfb4fbbbe jdk-9+128
|
||||
e8373543a3f0f60589b7d72b1f9b172721124caf jdk-9+129
|
||||
e613affb88d178dc7c589f1679db113d589bddb4 jdk-9+130
|
||||
4d2a15091124488080d65848b704e25599b2aaeb jdk-9+131
|
||||
2e83d21d78cd9c1d52e6cd2599e9c8aa36ea1f52 jdk-9+132
|
||||
e17429a7e843c4a4ed3651458d0f950970edcbcc jdk-9+133
|
||||
a71210c0d9800eb6925b61ecd6198abd554f90ee jdk-9+134
|
||||
e384420383a5b79fa0012ebcb25d8f83cff7f777 jdk-9+135
|
||||
1b4b5d01aa11edf24b6fadbe3d2f3e411e3b02cd jdk-9+136
|
||||
9cb87c88ed851c0575b8ead753ea238ed5b544e9 jdk-9+137
|
||||
d273dfe9a126d3bffe92072547fef2cd1361b0eb jdk-9+138
|
||||
65477538bec32963dc41153d89c4417eb46c45fc jdk-9+139
|
||||
0875007901f7d364a08220b052f0c81003e9c8c5 jdk-9+140
|
||||
9aadd2163b568d76f8969ad2fb404a63733da359 jdk-9+141
|
||||
df0e03e3ca0ed1307793017dfc1a054c8726131c jdk-9+142
|
||||
d62173b931bf5b6bffc6e80a9060bb2e8b8efc75 jdk-9+143
|
||||
31f5023200d42185b70c4c00ba5672391e4642d0 jdk-9+144
|
||||
3ee4e7827413fa5c5c4fca58597b0ad89e921bfb jdk-9+145
|
||||
581331db696a62dd411926ba7fd437252252a71d jdk-9+146
|
||||
f4e854a77aa38749bd90f722b06974a56e7233d5 jdk-9+147
|
||||
5c71ea43933b6c7e8a85eb1a4eb2213011b95d82 jdk-9+148
|
||||
cf139f925da04c8bd7efd33270a0315d72b338d3 jdk-9+149
|
||||
17469f16fbb406ec9f0dd262ce776ab6efbc38f1 jdk-9+150
|
||||
37b95df0042ae0687324e1f7dc4a2519e230e704 jdk-9+151
|
||||
ab2c8b03c3284fcbdd157551a66f807e3a182d9b jdk-9+152
|
||||
d7034ff7f8e257e81c9f95c7785dd4eaaa3c2afc jdk-9+153
|
||||
8c70d170e62c0c58b5bc3ba666bd140399b98c9c jdk-10+0
|
||||
45b751afd11e6c05991cf4913c5a0ac3304fcc4e jdk-9+154
|
||||
f4aff695ffe05cfdb69d8af25a4ddc6a029754ea jdk-9+155
|
||||
06bce0388880b5ff8e040e4a9d72a3ea11dac321 jdk-9+156
|
||||
74116beae88a8f17a80301aa6c83865c82f10ece jdk-10+1
|
||||
4a79ad46e578112fce68f1af9dd931025cc235cb jdk-10+2
|
||||
d1cab6c7e608479be4ebfad48a25b0ed48600f62 jdk-10+3
|
||||
02253db2ace1422f576f58502fc7831ead77424b jdk-10+4
|
||||
f113ce12fe24fbd24acf02711372d9f1e1c12426 jdk-10+5
|
||||
1407b19a2ddf6baae162f5a1a5b96af473f4d7d1 jdk-10+6
|
||||
30e75693ae99fd8e47fd2f5116527aff1b59aff9 jdk-10+7
|
||||
c42dc7b58b4d4301ea676a76326fd9bbd403d595 jdk-10+8
|
||||
aa5b01f5e5620438fd39efdb2e2f6365a2c7d898 jdk-10+9
|
||||
b0f2b8ff25a2209b2c807785d75f20e5086bbfc2 jdk-10+10
|
||||
036dbf8b381798e5d31065109714d04d97bf98a4 jdk-10+11
|
||||
e6d70017f5b9adbb2ec82d826973d0251800a3c3 jdk-10+12
|
||||
9927a9f16738e240ab7014f0118f41e314ef8f99 jdk-10+13
|
||||
9ef5029b247b4d940080417a287440bbdbab995b jdk-10+14
|
||||
878e216039322cb3f0ecbd0944642a2b4e2593f3 jdk-10+15
|
||||
4bbea012e5676e8025ade2bcfab4d6581e6e9f4b jdk-10+16
|
||||
7db699468b4f84abbcc01647e5a964409737411a jdk-10+17
|
||||
3739654290616e533fc6f51bf9ad69ed47a6abba jdk-10+18
|
||||
14df107500cc3b8ab238c3e4ad2c74e12bfe6067 jdk-10+19
|
||||
4586bc5d28d13d3147b993e6237eaf29a7073bbb jdk-10+20
|
||||
a85884d55ce32799f5c7382b7ea4839052b362a2 jdk-10+21
|
||||
e5357aa85dadacc6562175ff74714fecfb4470cf jdk-10+22
|
||||
22850b3a55240253841b9a425ad60a7fcdb22d47 jdk-10+23
|
||||
3b201865d5c1f244f555cad58da599c9261286d8 jdk-10+24
|
||||
8eb5e3ccee560c28ac9b1df2670adac2b3d36fad jdk-10+25
|
||||
1129253d3bc728a2963ba411ab9dd1adf358fb6b jdk-10+26
|
||||
b87d7b5d5dedc1185e5929470f945b7378cdb3ad jdk-10+27
|
||||
92f08900cb3c0d694e5c529a676c1c9e5909193f jdk-10+28
|
||||
a6e591e12f122768f675428e1e5a838fd0e9c7ec jdk-10+29
|
||||
8fee80b92e65149f7414250fd5e34b6f35d417b4 jdk-10+30
|
||||
e6278add9ff28fab70fe1cc4c1d65f7363dc9445 jdk-10+31
|
||||
a2008587c13fa05fa2dbfcb09fe987576fbedfd1 jdk-10+32
|
||||
bbd692ad4fa300ecca7939ffbe3b1d5e52a28cc6 jdk-10+33
|
||||
89deac44e51517841491ba86ff44aa82a5ca96b3 jdk-10+34
|
||||
d8c634b016c628622c9abbdc6bf50509e5dedbec jdk-10+35
|
||||
0ee20aad71c4f33c426372b4c8bcc1235ce2ec08 jdk-11+0
|
||||
959f2f7cbaa6d2ee45d50029744efb219721576c jdk-10+36
|
||||
4f830b447edf04fb4a52151a5ad44d9bb60723cd jdk-10+37
|
||||
e569e83139fdfbecfeb3cd9014d560917787f158 jdk-10+38
|
||||
5b834ec962366e00d4445352a999a3ac14e26f64 jdk-10+39
|
||||
860326263d1f6a83996d7da0f4c66806ae4aa1eb jdk-10+40
|
||||
3eae36c6baa5f916a3024cf1513e22357e00185d jdk-10+41
|
||||
4b62b815b4f49970b91a952929cf50115c263cb3 jdk-10+42
|
||||
107413b070b92c88bde6230ceb4a19b579781068 jdk-10+43
|
||||
dfa46cfe56346884a61efdc30dc50f7505d66761 jdk-11+1
|
||||
03ae177c26b016353e5ea1cab6ffd051dfa086ca jdk-11+2
|
||||
663f20fc51091bd7f95d18448850ba091207b7bd jdk-10+44
|
||||
4f96cf952e71cb8a127334494faf28880c26181b jdk-10+45
|
||||
1fd4d6068f54561cfc67d54fc9ca84af7212c4f8 jdk-11+3
|
||||
e59941f7247d451fa7df9eaef3fce0f492f8420c jdk-11+4
|
||||
d5c43e9f08fb9a7c74aae0d48daf17f2ad2afaef jdk-11+5
|
||||
3acb379b86725c47e7f33358cb22efa8752ae532 jdk-11+6
|
||||
f7363de371c9a1f668bd0a01b7df3d1ddb9cc58b jdk-11+7
|
||||
755e1b55a4dff510f9639cdb5c5e82549a7e09b3 jdk-11+8
|
||||
0c3e252cea44f06aef570ef464950ab97c669970 jdk-11+9
|
||||
6fa770f9f8ab296e1ce255ec17ccf6d4e1051886 jdk-10+46
|
||||
69d7398038c54774d9395b6810e0cca335edc02c jdk-11+10
|
||||
e1e60f75cd39312a7f59d2a4f91d624e5aecc95e jdk-11+11
|
||||
3ab6ba9f94a9045a526d645af26c933235371d6f jdk-11+12
|
||||
758deedaae8406ae60147486107a54e9864aa7b0 jdk-11+13
|
||||
3595bd343b65f8c37818ebe6a4c343ddeb1a5f88 jdk-11+14
|
||||
a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15
|
||||
02934b0d661b82b7fe1052a04998d2091352e08d jdk-11+16
|
||||
64e4b1686141e57a681936a8283983341484676e jdk-11+17
|
||||
e1b3def126240d5433902f3cb0e91a4c27f6db50 jdk-11+18
|
||||
36ca515343e00b021dcfc902e986d26ec994a2e5 jdk-11+19
|
||||
95aad0c785e497f1bade3955c4e4a677b629fa9d jdk-12+0
|
||||
9816d7cc655e53ba081f938b656e31971b8f097a jdk-11+20
|
||||
14708e1acdc3974f4539027cbbcfa6d69f83cf51 jdk-11+21
|
||||
00b16d0457e43d23f6ca5ade6b243edce62750a0 jdk-12+1
|
||||
9937ef7499dcd7673714517fd5e450410c14ba4e jdk-11+22
|
||||
69b438908512d3dfef5852c6a843a5778333a309 jdk-12+2
|
||||
1edcf36fe15f79d6228d1a63eb680878e2386480 jdk-11+23
|
||||
990db216e7199b2ba9989d8fa20b657e0ca7d969 jdk-12+3
|
||||
ea900a7dc7d77dee30865c60eabd87fc24b1037c jdk-11+24
|
||||
499b873761d8e8a1cc4aa649daf04cbe98cbce77 jdk-12+4
|
||||
331888ea4a788df801b1edf8836646cd25fc758b jdk-11+25
|
||||
f8696e0ab9b795030429fc3374ec03e378fd9ed7 jdk-12+5
|
||||
945ba9278a272a5477ffb1b3ea1b04174fed8036 jdk-11+26
|
||||
7939b3c4e4088bf4f70ec5bbd8030393b653372f jdk-12+6
|
||||
9d7d74c6f2cbe522e39fa22dc557fdd3f79b32ad jdk-11+27
|
||||
ef57958c7c511162da8d9a75f0b977f0f7ac464e jdk-12+7
|
||||
76072a077ee1d815152d45d1692c4b36c53c5c49 jdk-11+28
|
||||
492b366f8e5784cc4927c2c98f9b8a3f16c067eb jdk-12+8
|
||||
31b159f30fb281016c5f0c103552809aeda84063 jdk-12+9
|
||||
8f594f75e0547d4ca16649cb3501659e3155e81b jdk-12+10
|
||||
f0f5d23449d31f1b3580c8a73313918cafeaefd7 jdk-12+11
|
||||
15094d12a632f452a2064318a4e416d0c7a9ce0c jdk-12+12
|
||||
511a9946f83e3e3c7b9dbe1840367063fb39b4e1 jdk-12+13
|
||||
8897e41b327c0a5601c6ba2bba5d07f15a3ffc91 jdk-12+14
|
||||
8897e41b327c0a5601c6ba2bba5d07f15a3ffc91 jdk-12+14
|
||||
6f04692c7d5137ee34a6bd94c0c8a6c9219cb127 jdk-12+14
|
||||
f8626bcc169813a4b2a15880386b952719d1d6d1 jdk-12+15
|
||||
199658d1ef860cdc17055b4fd3e94b057f292fe9 jdk-12+16
|
||||
eefa65e142af305923d2adcd596fab9c639723a1 jdk-12+17
|
||||
e38473506688e0995e701fc7f77d5a91b438ef93 jdk-12+18
|
||||
dc1f9dec2018a37fedba47d8a2aedef99faaec64 jdk-12+19
|
||||
40098289d5804c3b5e7074bc75501a81e70d9b0d jdk-12+20
|
||||
f8fb0c86f2b3d24294d39c5685a628e1beb14ba7 jdk-12+21
|
||||
732bec44c89e8b93a38296bf690f97b7230c5b6d jdk-12+22
|
||||
eef755718cb24813031a842bbfc716a6cea18e9a jdk-12+23
|
||||
cc4098b3bc10d1c390384289025fea7b0d4b9e93 jdk-13+0
|
||||
7d4397b43fa305806160785a4c7210600d59581a jdk-12+24
|
||||
11033c4ada542f9c9a873314b6ecf60af19e8256 jdk-13+1
|
||||
7496df94b3b79f3da53925d2d137317715f11d97 jdk-12+25
|
||||
50677f43ac3df9a8684222b8893543c60f3aa0bd jdk-13+2
|
||||
de9fd809bb475401aad188eab2264226788aad81 jdk-12+26
|
||||
642346a11059b9f283110dc301a24ed43b76a94e jdk-13+3
|
||||
f15d443f97318e9b40e6f451e327ff69ed4ec361 jdk-12+27
|
||||
a47b8125b7cc9ef59619745c163975fe935b57ed jdk-13+4
|
||||
659b004b6a1bd8c31e766cbdf328d8f8473fd4d7 jdk-12+28
|
||||
e3ed960609927b5fdfd0a797159835cd83a81a31 jdk-13+5
|
||||
44f41693631f9b5ac78ff4d2bfabd6734fe46df2 jdk-12+29
|
||||
b5f05fe4a6f8b3996a000c20078b356d991ca8ec jdk-13+6
|
||||
6c377af36a5c4203f16aed8a5e4c2ecc08fcd8bd jdk-12+30
|
||||
021917019cda1c0c5853255322274f37693a2431 jdk-13+7
|
||||
b5f7bb57de2f797be34f6c75d45c3245ad37ab97 jdk-12+31
|
||||
a535ba736cabc6886acdff36de3a096c46e5ddc5 jdk-13+8
|
||||
4ce47bc1fb92cf94c6e3d1f49d582f02dcb851ab jdk-12+32
|
||||
c081f3ea6b9300265a4a34e38f970b1e3ddaae9f jdk-13+9
|
||||
b67884871b5fff79c5ef3eb8ac74dd48d71ea9b1 jdk-12+33
|
||||
8e069f7b4fabfe05d9f500783e6d56cb0196d25c jdk-13+10
|
||||
21ea4076a275a0f498afa517e9ee1b94a9cf0255 jdk-13+11
|
||||
1d7aec80147a6d92b101a76aef92f3ddc88bedf4 jdk-13+12
|
||||
b67884871b5fff79c5ef3eb8ac74dd48d71ea9b1 jdk-12-ga
|
||||
83cace4142c8563b6a921787db02388e1bc48d01 jdk-13+13
|
||||
46cf212cdccaf4fb064d913b12004007d3322b67 jdk-13+14
|
||||
f855ec13aa2501ae184c8b3e0626a8cec9966116 jdk-13+15
|
||||
9d0ae9508d5337b0dc7cc4684be42888c4023755 jdk-13+16
|
||||
93b702d2a0cb9e32160208f6700aede1f8492773 jdk-13+17
|
||||
bebb82ef3434a25f8142edafec20165f07ac562d jdk-13+18
|
||||
a43d6467317d8f1e160f67aadec37919c9d64443 jdk-13+19
|
||||
6ccc7cd7931e34129f6b7e04988fc9a63958dde0 jdk-13+20
|
||||
f2f11d7f7f4e7128f8aba6ffa576cfa76fbf7d1a jdk-13+21
|
||||
181986c5476468bc2dd4532af49599003ee8af37 jdk-13+22
|
||||
b034d2dee5fc93d42a81b65e58ce3f91e42586ff jdk-13+23
|
||||
7e2238451585029680f126ccbb46d01f2ff5607f jdk-13+24
|
||||
22b3b7983adab54e318f75aeb94471f7a4429c1e jdk-14+0
|
||||
22b3b7983adab54e318f75aeb94471f7a4429c1e jdk-13+25
|
||||
2f4e214781a1d597ed36bf5a36f20928c6c82996 jdk-14+1
|
||||
0692b67f54621991ba7afbf23e55b788f3555e69 jdk-13+26
|
||||
43627549a488b7d0b4df8fad436e36233df89877 jdk-14+2
|
||||
b7f68ddec66f996ae3aad03291d129ca9f02482d jdk-13+27
|
||||
e64383344f144217c36196c3c8a2df8f588a2af3 jdk-14+3
|
||||
1e95931e7d8fa7e3899340a9c7cb28dbea50c10c jdk-13+28
|
||||
19d0b382f0869f72d4381b54fa129f1c74b6e766 jdk-14+4
|
||||
3081f39a3d30d63b112098386ac2bb027c2b7223 jdk-13+29
|
||||
0f1e29c77e50c7da11d83df410026392c4d1a28c jdk-14+5
|
||||
2e63fb0a885fa908a97bbb0da8d7c3de11536aca jdk-13+30
|
||||
443f7359b34d60e7821216ffc60f88b6ffe0ccdd jdk-14+6
|
||||
6a159c6c23ccd0029140ab91653442e412305ce5 jdk-13+31
|
||||
28ab01c067551ef158abaef08e154e1051ca0893 jdk-14+7
|
||||
929f37a9c35d530d4e866f6e832001aeb4cfb371 jdk-13+32
|
||||
c0023e364b6f130cb1e93747b796d8718d544db1 jdk-14+8
|
||||
9c250a7600e12bdb1e611835250af3204d4aa152 jdk-13+33
|
||||
18f189e69b29f8215a3500b875127ed4fb2d977a jdk-14+9
|
||||
ececb6dae777e622abda42c705fd984a42f46b5a jdk-14+10
|
||||
bf4c808a4488025a415f867e54c8b088417e08a0 jdk-14+11
|
||||
8570f22b9b6ac6bec673899b582150865696e425 jdk-14+12
|
||||
fbbe6672ae15deaf350a9e935290a36f57ba9c25 jdk-14+13
|
||||
cddef3bde924f3ff4f17f3d369280cf69d0450e5 jdk-14+14
|
||||
9c250a7600e12bdb1e611835250af3204d4aa152 jdk-13-ga
|
||||
778fc2dcbdaa8981e07e929a2cacef979c72261e jdk-14+15
|
||||
d29f0181ba424a95d881aba5eabf2e393abcc70f jdk-14+16
|
||||
5c83830390baafb76a1fbe33443c57620bd45fb9 jdk-14+17
|
||||
e84d8379815ba0d3e50fb096d28c25894cb50b8c jdk-14+18
|
||||
9b67dd88a9313e982ec5f710a7747161bc8f0c23 jdk-14+19
|
||||
54ffb15c48399dd59922ee22bb592d815307e77c jdk-14+20
|
||||
c16ac7a2eba4e73cb4f7ee9294dd647860eebff0 jdk-14+21
|
||||
83810b7d12e7ff761ad3dd91f323a22dad96f108 jdk-14+22
|
||||
15936b142f86731afa4b1a2c0fe4a01e806c4944 jdk-14+23
|
||||
438337c846fb071900ddb6922bddf8b3e895a514 jdk-14+24
|
||||
17d242844fc9e7d18b3eac97426490a9c246119e jdk-14+25
|
||||
288777cf0702914e5266bc1e5d380eed9032ca41 jdk-14+26
|
||||
2c724dba4c3cf9516b2152e151c9aea66b21b30b jdk-15+0
|
||||
91a3f092682fc715d991a87eb6ec6f28886d2035 jdk-14+27
|
||||
63e17cf29bed191ea21020b4648c9cdf893f80f5 jdk-15+1
|
||||
2069b4bfd23b56b6fc659fba8b75aaaa23debbe0 jdk-14+28
|
||||
f33197adda9ad82fdef46ac0f7dc0126204f35b2 jdk-15+2
|
||||
563fa900fa17c290ae516c7a3a69e8c069dde304 jdk-14+29
|
||||
d05fcdf25717d85e80a3a39a6b719458b22be5fe jdk-15+3
|
||||
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+30
|
||||
bb0a7975b31ded63d594ee8dbfc4d4ead587f79b jdk-15+4
|
||||
decd3d2953b640f1043ee76953ff89238bff92e8 jdk-14+31
|
||||
b97c1773ccafae4a8c16cc6aedb10b2a4f9a07ed jdk-15+5
|
||||
2776da28515e087cc8849acf1e131a65ea7e77b6 jdk-14+32
|
||||
ef7d53b4fccd4a0501b17d974e84f37aa99fa813 jdk-15+6
|
||||
f728b6c7f4910d6bd6070cb4dde8393f4ba95113 jdk-14+33
|
||||
e2bc57500c1b785837982f7ce8af6751387ed73b jdk-15+7
|
||||
a96bc204e3b31ddbf909b20088964112f052927e jdk-14+34
|
||||
c7d4f2849dbfb755fc5860b362a4044ea0c9e082 jdk-15+8
|
||||
4a87bb7ebfd7f6a25ec59a5982fe3607242777f8 jdk-14+35
|
||||
62b5bfef8d618e08e6f3a56cf1fb0e67e89e9cc2 jdk-15+9
|
||||
bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14+36
|
||||
1bee69801aeea1a34261c93f35bc9de072a98704 jdk-15+10
|
||||
b2dd4028a6de4e40dda8b76109e4b5c6b294f980 jdk-15+11
|
||||
2ec0ff3042630ddbd3587e340fe0dd40391cb6c4 jdk-15+12
|
||||
1c06a8ee8acad4d93c782626a233693a73de0add jdk-15+13
|
||||
1d6ceb13e142665ea833fca01c8c8598e0ddd211 jdk-15+14
|
||||
bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14-ga
|
||||
82b7c62cf4cc56828a8fb724f57087967232a2a7 jdk-15+15
|
||||
5c7ec21f5d13f6eb5cd32288c69b8be2f9cac256 jdk-15+16
|
||||
dd5198db2e5b1ebcafe065d987c03ba9fcb50fc3 jdk-15+17
|
||||
44aef192b488a48cce12422394691a6b1d16b98e jdk-15+18
|
||||
7cc27caabe6e342151e8baf549beb07a9c755ec2 jdk-15+19
|
||||
46bca5e5e6fb26efd07245d26fe96a9c3260f51e jdk-15+20
|
||||
12b55fad80f30d24b1f8fdb3b947ea6465ef9518 jdk-15+21
|
||||
7223c6d610343fd8323af9d07d501e01fa1a7696 jdk-15+22
|
||||
f143729ca00ec14a98ea5c7f73acba88da97746e jdk-15+23
|
||||
497fd9f9129c4928fd5a876dd55e0daf6298b511 jdk-15+24
|
||||
90b266a84c06f1b3dc0ed8767856793e8c1c357e jdk-15+25
|
||||
0a32396f7a690015d22ca3328ac441a358295d90 jdk-15+26
|
||||
93813843680bbe1b7efbca56c03fd137f20a2c31 jdk-16+0
|
||||
93813843680bbe1b7efbca56c03fd137f20a2c31 jdk-15+27
|
||||
4a485c89d5a08b495961835f5308a96038678aeb jdk-16+1
|
||||
06c9f89459daba98395fad726100feb44f89ba71 jdk-15+28
|
||||
bcbe7b8a77b8971bc221c0be1bd2abb6fb68c2d0 jdk-16+2
|
||||
b58fc60580550a4a587cab729d8fd87223ad6932 jdk-15+29
|
||||
76810b3a88c8c641ae3850a8dfd7c40c984aea9d jdk-16+3
|
||||
6909e4a1f25bfe9a2727026f5845fc1fc44a36aa jdk-15+30
|
||||
e2622818f0bd30e736252eba101fe7d2c27f400b jdk-16+4
|
||||
a32f58c6b8be81877411767de7ba9c4cf087c1b5 jdk-15+31
|
||||
143e258f64af490010eb7e0bacc1cfaeceff0993 jdk-16+5
|
||||
2dad000726b8d5db9f3df647fb4949d88f269dd4 jdk-15+32
|
||||
4a8fd81d64bafa523cddb45f82805536edace106 jdk-16+6
|
||||
6b65f4e7a975628df51ef755b02642075390041d jdk-15+33
|
||||
c3a4a7ea7c304cabdacdc31741eb94c51351668d jdk-16+7
|
||||
b0817631d2f4395508cb10e81c3858a94d9ae4de jdk-15+34
|
||||
0a73d6f3aab48ff6d7e61e47f0bc2d87a054f217 jdk-16+8
|
||||
fd60c3146a024037cdd9be34c645bb793995a7cc jdk-15+35
|
||||
c075a286cc7df767cce28e8057d6ec5051786490 jdk-16+9
|
||||
b01985b4f88f554f97901e53e1ba314681dd9c19 jdk-16+10
|
||||
e3f940bd3c8fcdf4ca704c6eb1ac745d155859d5 jdk-15+36
|
||||
5c18d696c7ce724ca36df13933aa53f50e12b9e0 jdk-16+11
|
||||
fc8e62b399bd93d06e8d13dc3b384c450e853dcd jdk-16+12
|
||||
fd07cdb26fc70243ef23d688b545514f4ddf1c2b jdk-16+13
|
||||
36b29df125dc88f11657ce93b4998aa9ff5f5d41 jdk-16+14
|
||||
@@ -1,6 +1,7 @@
|
||||
[general]
|
||||
project=jdk
|
||||
project=jdk-updates
|
||||
jbs=JDK
|
||||
version=18.0.2
|
||||
|
||||
[checks]
|
||||
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
<li><a href="#specific-build-issues">Specific Build Issues</a></li>
|
||||
<li><a href="#getting-help">Getting Help</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#reproducible-builds">Reproducible Builds</a></li>
|
||||
<li><a href="#hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</a><ul>
|
||||
<li><a href="#bash-completion">Bash Completion</a></li>
|
||||
<li><a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
|
||||
@@ -884,6 +885,32 @@ spawn failed</code></pre>
|
||||
<h3 id="getting-help">Getting Help</h3>
|
||||
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
|
||||
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
|
||||
<h2 id="reproducible-builds">Reproducible Builds</h2>
|
||||
<p>Build reproducibility is the property of getting exactly the same bits out when building, every time, independent on who builds the product, or where. This is for many reasons a harder goal than it initially appears, but it is an important goal, for security reasons and others. Please see <a href="https://reproducible-builds.org">Reproducible Builds</a> for more information about the background and reasons for reproducible builds.</p>
|
||||
<p>Currently, it is not possible to build OpenJDK fully reproducibly, but getting there is an ongoing effort. There are some things you can do to minimize non-determinism and make a larger part of the build reproducible:</p>
|
||||
<ul>
|
||||
<li>Turn on build system support for reproducible builds</li>
|
||||
</ul>
|
||||
<p>Add the flag <code>--enable-reproducible-build</code> to your <code>configure</code> command line. This will turn on support for reproducible builds where it could otherwise be lacking.</p>
|
||||
<ul>
|
||||
<li>Do not rely on <code>configure</code>'s default adhoc version strings</li>
|
||||
</ul>
|
||||
<p>Default adhoc version strings OPT segment include user name, source directory and timestamp. You can either override just the OPT segment using <code>--with-version-opt=<any fixed string></code>, or you can specify the entire version string using <code>--with-version-string=<your version></code>.</p>
|
||||
<ul>
|
||||
<li>Specify how the build sets <code>SOURCE_DATE_EPOCH</code></li>
|
||||
</ul>
|
||||
<p>The JDK build system will set the <code>SOURCE_DATE_EPOCH</code> environment variable during building, depending on the value of the <code>--with-source-date</code> option for <code>configure</code>. The default value is <code>updated</code>, which means that <code>SOURCE_DATE_EPOCH</code> will be set to the current time each time you are running <code>make</code>.</p>
|
||||
<p>The <a href="https://reproducible-builds.org/docs/source-date-epoch/"><code>SOURCE_DATE_EPOCH</code> environment variable</a> is an industry standard, that many tools, such as gcc, recognize, and use in place of the current time when generating output.</p>
|
||||
<p>For reproducible builds, you need to set this to a fixed value. You can use the special value <code>version</code> which will use the nominal release date for the current JDK version, or a value describing a date, either an epoch based timestamp as an integer, or a valid ISO-8601 date.</p>
|
||||
<p><strong>Hint:</strong> If your build environment already sets <code>SOURCE_DATE_EPOCH</code>, you can propagate this using <code>--with-source-date=$SOURCE_DATE_EPOCH</code>.</p>
|
||||
<ul>
|
||||
<li>Specify a hotspot build time</li>
|
||||
</ul>
|
||||
<p>Set a fixed hotspot build time. This will be included in the hotspot library (<code>libjvm.so</code> or <code>jvm.dll</code>) and defaults to the current time when building hotspot. Use <code>--with-hotspot-build-time=<any fixed string></code> for reproducible builds. It's a string so you don't need to format it specifically, so e.g. <code>n/a</code> will do. Another solution is to use the <code>SOURCE_DATE_EPOCH</code> variable, e.g. <code>--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)</code>.</p>
|
||||
<ul>
|
||||
<li>Copyright year</li>
|
||||
</ul>
|
||||
<p>The copyright year in some generated text files are normally set to the current year. This can be overridden by <code>--with-copyright-year=<year></code>. For fully reproducible builds, this needs to be set to a fixed value.</p>
|
||||
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
|
||||
<h3 id="bash-completion">Bash Completion</h3>
|
||||
<p>The <code>configure</code> and <code>make</code> commands tries to play nice with bash command-line completion (using <code><tab></code> or <code><tab><tab></code>). To use this functionality, make sure you enable completion in your <code>~/.bashrc</code> (see instructions for bash in your operating system).</p>
|
||||
|
||||
@@ -1503,6 +1503,68 @@ If you need general help or advice about developing for the JDK, you can also
|
||||
contact the Adoption Group. See the section on [Contributing to OpenJDK](
|
||||
#contributing-to-openjdk) for more information.
|
||||
|
||||
## Reproducible Builds
|
||||
|
||||
Build reproducibility is the property of getting exactly the same bits out when
|
||||
building, every time, independent on who builds the product, or where. This is
|
||||
for many reasons a harder goal than it initially appears, but it is an important
|
||||
goal, for security reasons and others. Please see [Reproducible Builds](
|
||||
https://reproducible-builds.org) for more information about the background and
|
||||
reasons for reproducible builds.
|
||||
|
||||
Currently, it is not possible to build OpenJDK fully reproducibly, but getting
|
||||
there is an ongoing effort. There are some things you can do to minimize
|
||||
non-determinism and make a larger part of the build reproducible:
|
||||
|
||||
* Turn on build system support for reproducible builds
|
||||
|
||||
Add the flag `--enable-reproducible-build` to your `configure` command line.
|
||||
This will turn on support for reproducible builds where it could otherwise be
|
||||
lacking.
|
||||
|
||||
* Do not rely on `configure`'s default adhoc version strings
|
||||
|
||||
Default adhoc version strings OPT segment include user name, source directory
|
||||
and timestamp. You can either override just the OPT segment using
|
||||
`--with-version-opt=<any fixed string>`, or you can specify the entire version
|
||||
string using `--with-version-string=<your version>`.
|
||||
|
||||
* Specify how the build sets `SOURCE_DATE_EPOCH`
|
||||
|
||||
The JDK build system will set the `SOURCE_DATE_EPOCH` environment variable
|
||||
during building, depending on the value of the `--with-source-date` option for
|
||||
`configure`. The default value is `updated`, which means that
|
||||
`SOURCE_DATE_EPOCH` will be set to the current time each time you are running
|
||||
`make`.
|
||||
|
||||
The [`SOURCE_DATE_EPOCH` environment variable](
|
||||
https://reproducible-builds.org/docs/source-date-epoch/) is an industry
|
||||
standard, that many tools, such as gcc, recognize, and use in place of the
|
||||
current time when generating output.
|
||||
|
||||
For reproducible builds, you need to set this to a fixed value. You can use the
|
||||
special value `version` which will use the nominal release date for the current
|
||||
JDK version, or a value describing a date, either an epoch based timestamp as an
|
||||
integer, or a valid ISO-8601 date.
|
||||
|
||||
**Hint:** If your build environment already sets `SOURCE_DATE_EPOCH`, you can
|
||||
propagate this using `--with-source-date=$SOURCE_DATE_EPOCH`.
|
||||
|
||||
* Specify a hotspot build time
|
||||
|
||||
Set a fixed hotspot build time. This will be included in the hotspot library
|
||||
(`libjvm.so` or `jvm.dll`) and defaults to the current time when building
|
||||
hotspot. Use `--with-hotspot-build-time=<any fixed string>` for reproducible
|
||||
builds. It's a string so you don't need to format it specifically, so e.g. `n/a`
|
||||
will do. Another solution is to use the `SOURCE_DATE_EPOCH` variable, e.g.
|
||||
`--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)`.
|
||||
|
||||
* Copyright year
|
||||
|
||||
The copyright year in some generated text files are normally set to the current
|
||||
year. This can be overridden by `--with-copyright-year=<year>`. For fully
|
||||
reproducible builds, this needs to be set to a fixed value.
|
||||
|
||||
## Hints and Suggestions for Advanced Users
|
||||
|
||||
### Bash Completion
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
<li><a href="#nullptr">nullptr</a></li>
|
||||
<li><a href="#atomic"><atomic></a></li>
|
||||
<li><a href="#uniform-initialization">Uniform Initialization</a></li>
|
||||
<li><a href="#local-function-objects">Local Function Objects</a></li>
|
||||
<li><a href="#additional-permitted-features">Additional Permitted Features</a></li>
|
||||
<li><a href="#excluded-features">Excluded Features</a></li>
|
||||
<li><a href="#undecided-features">Undecided Features</a></li>
|
||||
@@ -194,7 +195,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
||||
<p>Similar discussions for some other projects:</p>
|
||||
<ul>
|
||||
<li><p><a href="https://google.github.io/styleguide/cppguide.html">Google C++ Style Guide</a> — Currently (2020) targeting C++17.</p></li>
|
||||
<li><p><a href="https://chromium-cpp.appspot.com">C++11 and C++14 use in Chromium</a> — Categorizes features as allowed, banned, or to be discussed.</p></li>
|
||||
<li><p><a href="https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md">C++11 and C++14 use in Chromium</a> — Categorizes features as allowed, banned, or to be discussed.</p></li>
|
||||
<li><p><a href="https://llvm.org/docs/CodingStandards.html">llvm Coding Standards</a> — Currently (2020) targeting C++14.</p></li>
|
||||
<li><p><a href="https://firefox-source-docs.mozilla.org/code-quality/coding-style/using_cxx_in_firefox_code.html">Using C++ in Mozilla code</a> — C++17 support is required for recent versions (2020).</p></li>
|
||||
</ul>
|
||||
@@ -254,8 +255,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
||||
<li><p>Function argument deduction. This is always permitted, and indeed encouraged. It is nearly always better to allow the type of a function template argument to be deduced rather than explicitly specified.</p></li>
|
||||
<li><p><code>auto</code> variable declarations (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf">n1984</a>)<br> For local variables, this can be used to make the code clearer by eliminating type information that is obvious or irrelevant. Excessive use can make code much harder to understand.</p></li>
|
||||
<li><p>Function return type deduction (<a href="https://isocpp.org/files/papers/N3638.html">n3638</a>)<br> Only use if the function body has a very small number of <code>return</code> statements, and generally relatively little other code.</p></li>
|
||||
<li><p>Generic lambdas. Lambdas are not (yet) permitted.</p></li>
|
||||
<li><p>Lambda init captures. Lambdas are not (yet) permitted.</p></li>
|
||||
<li><p>Also see <a href="#lambdaexpressions">lambda expressions</a>.</p></li>
|
||||
</ul>
|
||||
<h3 id="expression-sfinae">Expression SFINAE</h3>
|
||||
<p><a href="https://en.cppreference.com/w/cpp/language/sfinae" title="Substitution Failure Is Not An Error">Substitution Failure Is Not An Error</a> (SFINAE) is a template metaprogramming technique that makes use of template parameter substitution failures to make compile-time decisions.</p>
|
||||
@@ -288,6 +288,121 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
||||
<li><a href="https://en.cppreference.com/w/cpp/language/aggregate_initialization">aggregate initialization</a></li>
|
||||
</ul>
|
||||
<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>
|
||||
<h3 id="local-function-objects">Local Function Objects</h3>
|
||||
<ul>
|
||||
<li>Local function objects, including lambda expressions, may be used.</li>
|
||||
<li>Lambda expressions must only be used as a downward value.</li>
|
||||
<li>Prefer <code>[&]</code> as the capture list of a lambda expression.</li>
|
||||
<li>Return type deduction for lambda expressions is permitted, and indeed encouraged.</li>
|
||||
<li>An empty parameter list for a lambda expression may be elided.</li>
|
||||
<li>A lambda expression must not be <code>mutable</code>.</li>
|
||||
<li>Generic lambda expressions are permitted.</li>
|
||||
<li>Lambda expressions should be relatively simple.</li>
|
||||
<li>Anonymous lambda expressions should not overly clutter the enclosing expression.</li>
|
||||
<li>An anonymous lambda expression must not be directly invoked.</li>
|
||||
<li>Bind expressions are forbidden.</li>
|
||||
</ul>
|
||||
<p>Single-use function objects can be defined locally within a function, directly at the point of use. This is an alternative to having a function or function object class defined at class or namespace scope.</p>
|
||||
<p>This usage was somewhat limited by C++03, which does not permit such a class to be used as a template parameter. That restriction was removed by C++11 (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm">n2657</a>). Use of this feature is permitted.</p>
|
||||
<p>Many HotSpot protocols involve "function-like" objects that involve some named member function rather than a call operator. For example, a function that performs some action on all threads might be written as</p>
|
||||
<pre><code>void do_something() {
|
||||
struct DoSomething : public ThreadClosure {
|
||||
virtual void do_thread(Thread* t) {
|
||||
... do something with t ...
|
||||
}
|
||||
} closure;
|
||||
Threads::threads_do(&closure);
|
||||
}</code></pre>
|
||||
<p>HotSpot code has historically usually placed the DoSomething class at namespace (or sometimes class) scope. This separates the function's code from its use, often to the detriment of readability. It requires giving the class a globally unique name (if at namespace scope). It also loses the information that the class is intended for use in exactly one place, and does not have any subclasses. (However, the latter can now be indicated by declaring it <code>final</code>.) Often, for simplicity, a local class will skip things like access control and accessor functions, giving the enclosing function direct access to the implementation and eliminating some boilerplate that might be provided if the class is in some outer (more accessible) scope. On the other hand, if there is a lot of surrounding code in the function body or the local class is of significant size, defining it locally can increase clutter and reduce readability.</p>
|
||||
<p><a name="lambdaexpressions"></a> C++11 added <em>lambda expressions</em> as a new way to write a function object. Simple lambda expressions can be significantly more concise than a function object, eliminating a lot of boiler-plate. On the other hand, a complex lambda expression may not provide much, if any, readability benefit compared to an ordinary function object. Also, while a lambda can encapsulate a call to a "function-like" object, it cannot be used in place of such.</p>
|
||||
<p>A common use for local functions is as one-use <a href="https://en.cppreference.com/w/cpp/language/raii" title="Resource Acquisition Is Initialization">RAII</a> objects. The amount of boilerplate for a function object class (local or not) makes such usage somewhat clumsy and verbose. But with the help of a small amount of supporting utility code, lambdas work particularly well for this use case.</p>
|
||||
<p>Another use for local functions is <a href="https://en.wikipedia.org/wiki/Partial_application" title="Partial Application">partial application</a>. Again here, lambdas are typically much simpler and less verbose than function object classes.</p>
|
||||
<p>Because of these benefits, lambda expressions are permitted in HotSpot code, with some restrictions and usage guidance. An anonymous lambda is one which is passed directly as an argument. A named lambda is the value of a variable, which is its name.</p>
|
||||
<p>Lambda expressions should only be passed downward. In particular, a lambda should not be returned from a function or stored in a global variable, whether directly or as the value of a member of some other object. Lambda capture is syntactically subtle (by design), and propagating a lambda in such ways can easily pass references to captured values to places where they are no longer valid. In particular, members of the enclosing <code>this</code> object are effectively captured by reference, even if the default capture is by-value. For such uses-cases a function object class should be used to make the desired value capturing and propagation explicit.</p>
|
||||
<p>Limiting the capture list to <code>[&]</code> (implicitly capture by reference) is a simplifying restriction that still provides good support for HotSpot usage, while reducing the cases a reader must recognize and understand.</p>
|
||||
<ul>
|
||||
<li><p>Many common lambda uses require reference capture. Not permitting it would substantially reduce the utility of lambdas.</p></li>
|
||||
<li><p>Referential transparency. Implicit reference capture makes variable references in the lambda body have the same meaning they would have in the enclosing code. There isn't a semantic barrier across which the meaning of a variable changes.</p></li>
|
||||
<li><p>Explicit reference capture introduces significant clutter, especially when lambda expressions are relatively small and simple, as they should be in HotSpot code.</p></li>
|
||||
<li><p>There are a number of reasons why by-value capture might be used, but for the most part they don't apply to HotSpot code, given other usage restrictions.</p>
|
||||
<ul>
|
||||
<li><p>A primary use-case for by-value capture is to support escaping uses, where values captured by-reference might become invalid. That use-case doesn't apply if only downward lambdas are used.</p></li>
|
||||
<li><p>By-value capture can also make a lambda-local copy for mutation, which requires making the lambda <code>mutable</code>; see below.</p></li>
|
||||
<li><p>By-value capture might be viewed as an optimization, avoiding any overhead for reference capture of cheap to copy values. But the compiler can often eliminate any such overhead.</p></li>
|
||||
<li><p>By-value capture by a non-<code>mutable</code> lambda makes the captured values const, preventing any modification by the lambda and making the captured value unaffected by modifications to the outer variable. But this only applies to captured auto variables, not member variables, and is inconsistent with referential transparency.</p></li>
|
||||
</ul></li>
|
||||
<li><p>Non-capturing lambdas (with an empty capture list - <code>[]</code>) have limited utility. There are cases where no captures are required (pure functions, for example), but if the function is small and simple then that's obvious anyway.</p></li>
|
||||
<li><p>Capture initializers (a C++14 feature - <a href="https://isocpp.org/files/papers/N3649.html">N3649</a>) are not permitted. Capture initializers inherently increase the complexity of the capture list, and provide little benefit over an additional in-scope local variable.</p></li>
|
||||
</ul>
|
||||
<p>The use of <code>mutable</code> lambda expressions is forbidden because there don't seem to be many, if any, good use-cases for them in HotSpot. A lambda expression needs to be mutable in order to modify a by-value captured value. But with only downward lambdas, such usage seems likely to be rare and complicated. It is better to use a function object class in any such cases that arise, rather than requiring all HotSpot developers to understand this relatively obscure feature.</p>
|
||||
<p>While it is possible to directly invoke an anonymous lambda expression, that feature should not be used, as such a form can be confusing to readers. Instead, name the lambda and call it by name.</p>
|
||||
<p>Some reasons to prefer a named lambda instead of an anonymous lambda are</p>
|
||||
<ul>
|
||||
<li><p>The body contains non-trivial control flow or declarations or other nested constructs.</p></li>
|
||||
<li><p>Its role in an argument list is hard to guess without examining the function declaration. Give it a name that indicates its purpose.</p></li>
|
||||
<li><p>It has an unusual capture list.</p></li>
|
||||
<li><p>It has a complex explicit return type or parameter types.</p></li>
|
||||
</ul>
|
||||
<p>Lambda expressions, and particularly anonymous lambda expressions, should be simple and compact. One-liners are good. Anonymous lambdas should usually be limited to a couple lines of body code. More complex lambdas should be named. A named lambda should not clutter the enclosing function and make it long and complex; do continue to break up large functions via the use of separate helper functions.</p>
|
||||
<p>An anonymous lambda expression should either be a one-liner in a one-line expression, or isolated in its own set of lines. Don't place part of a lambda expression on the same line as other arguments to a function. The body of a multi-line lambda argument should be indented from the start of the capture list, as if that were the start of an ordinary function definition. The body of a multi-line named lambda should be indented one step from the variable's indentation.</p>
|
||||
<p>Some examples:</p>
|
||||
<ol type="1">
|
||||
<li><code>foo([&] { ++counter; });</code></li>
|
||||
<li><code>foo(x, [&] { ++counter; });</code></li>
|
||||
<li><code>foo([&] { if (predicate) ++counter; });</code></li>
|
||||
<li><code>foo([&] { auto tmp = process(x); tmp.f(); return tmp.g(); })</code></li>
|
||||
<li><p>Separate one-line lambda from other arguments:</p>
|
||||
<pre><code>foo(c.begin(), c.end(),
|
||||
[&] (const X& x) { do_something(x); return x.value(); });</code></pre></li>
|
||||
<li><p>Indentation for multi-line lambda:</p>
|
||||
<pre><code>c.do_entries([&] (const X& x) {
|
||||
do_something(x, a);
|
||||
do_something1(x, b);
|
||||
do_something2(x, c);
|
||||
});</code></pre></li>
|
||||
<li><p>Separate multi-line lambda from other arguments:</p>
|
||||
<pre><code>foo(c.begin(), c.end(),
|
||||
[&] (const X& x) {
|
||||
do_something(x, a);
|
||||
do_something1(x, b);
|
||||
do_something2(x, c);
|
||||
});</code></pre></li>
|
||||
<li><p>Multi-line named lambda:</p>
|
||||
<pre><code>auto do_entry = [&] (const X& x) {
|
||||
do_something(x, a);
|
||||
do_something1(x, b);
|
||||
do_something2(x, c);
|
||||
};</code></pre></li>
|
||||
</ol>
|
||||
<p>Item 4, and especially items 6 and 7, are pushing the simplicity limits for anonymous lambdas. Item 6 might be better written using a named lambda:</p>
|
||||
<pre><code>c.do_entries(do_entry);</code></pre>
|
||||
<p>Note that C++11 also added <em>bind expressions</em> as a way to write a function object for partial application, using <code>std::bind</code> and related facilities from the Standard Library. <code>std::bind</code> generalizes and replaces some of the binders from C++03. Bind expressions are not permitted in HotSpot code. They don't provide enough benefit over lambdas or local function classes in the cases where bind expressions are applicable to warrant the introduction of yet another mechanism in this space into HotSpot code.</p>
|
||||
<p>References:</p>
|
||||
<ul>
|
||||
<li>Local and unnamed types as template parameters (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm">n2657</a>)</li>
|
||||
<li>New wording for C++0x lambdas (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf">n2927</a>)</li>
|
||||
<li>Generalized lambda capture (init-capture) (<a href="https://isocpp.org/files/papers/N3648.html">N3648</a>)</li>
|
||||
<li>Generic (polymorphic) lambda expressions (<a href="https://isocpp.org/files/papers/N3649.html">N3649</a>)</li>
|
||||
</ul>
|
||||
<p>References from C++17</p>
|
||||
<ul>
|
||||
<li>Wording for constexpr lambda (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0170r1.pdf">p0170r1</a>)</li>
|
||||
<li>Lambda capture of *this by Value (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0018r3.html">p0018r3</a>)</li>
|
||||
</ul>
|
||||
<p>References from C++20</p>
|
||||
<ul>
|
||||
<li>Allow lambda capture [=, this] (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0409r2.html">p0409r2</a>)</li>
|
||||
<li>Familiar template syntax for generic lambdas (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0428r2.pdf">p0428r2</a>)</li>
|
||||
<li>Simplifying implicit lambda capture (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0588r1.html">p0588r1</a>)</li>
|
||||
<li>Default constructible and assignable stateless lambdas (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0624r2.pdf">p0624r2</a>)</li>
|
||||
<li>Lambdas in unevaluated contexts (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0315r4.pdf">p0315r4</a>)</li>
|
||||
<li>Allow pack expansion in lambda init-capture (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0780r2.html">p0780r2</a>) (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2095r0.html">p2095r0</a>)</li>
|
||||
<li>Deprecate implicit capture of this via [=] (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0806r2.html">p0806r2</a>)</li>
|
||||
</ul>
|
||||
<p>References from C++23</p>
|
||||
<ul>
|
||||
<li>Make () more optional for lambdas (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1102r2.html">p1102r2</a>)</li>
|
||||
</ul>
|
||||
<h3 id="additional-permitted-features">Additional Permitted Features</h3>
|
||||
<ul>
|
||||
<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>
|
||||
@@ -305,7 +420,6 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
||||
<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>
|
||||
<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>
|
||||
<li><p><code>override</code> virtual specifiers for 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>
|
||||
<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>
|
||||
<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>
|
||||
</ul>
|
||||
<h3 id="excluded-features">Excluded Features</h3>
|
||||
@@ -337,7 +451,6 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
||||
<li><p>Member initializers and aggregates (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
|
||||
<li><p><code>[[noreturn]]</code> attribute (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)</p></li>
|
||||
<li><p>Rvalue references and move semantics</p></li>
|
||||
<li><p>Lambdas</p></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -409,7 +409,7 @@ Similar discussions for some other projects:
|
||||
* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) —
|
||||
Currently (2020) targeting C++17.
|
||||
|
||||
* [C++11 and C++14 use in Chromium](https://chromium-cpp.appspot.com) —
|
||||
* [C++11 and C++14 use in Chromium](https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md) —
|
||||
Categorizes features as allowed, banned, or to be discussed.
|
||||
|
||||
* [llvm Coding Standards](https://llvm.org/docs/CodingStandards.html) —
|
||||
@@ -596,9 +596,7 @@ use can make code much harder to understand.
|
||||
Only use if the function body has a very small number of `return`
|
||||
statements, and generally relatively little other code.
|
||||
|
||||
* Generic lambdas. Lambdas are not (yet) permitted.
|
||||
|
||||
* Lambda init captures. Lambdas are not (yet) permitted.
|
||||
* Also see [lambda expressions](#lambdaexpressions).
|
||||
|
||||
### Expression SFINAE
|
||||
|
||||
@@ -703,6 +701,273 @@ 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.
|
||||
|
||||
### Local Function Objects
|
||||
|
||||
* Local function objects, including lambda expressions, may be used.
|
||||
* Lambda expressions must only be used as a downward value.
|
||||
* Prefer `[&]` as the capture list of a lambda expression.
|
||||
* Return type deduction for lambda expressions is permitted, and indeed encouraged.
|
||||
* An empty parameter list for a lambda expression may be elided.
|
||||
* A lambda expression must not be `mutable`.
|
||||
* Generic lambda expressions are permitted.
|
||||
* Lambda expressions should be relatively simple.
|
||||
* Anonymous lambda expressions should not overly clutter the enclosing expression.
|
||||
* An anonymous lambda expression must not be directly invoked.
|
||||
* Bind expressions are forbidden.
|
||||
|
||||
Single-use function objects can be defined locally within a function,
|
||||
directly at the point of use. This is an alternative to having a function
|
||||
or function object class defined at class or namespace scope.
|
||||
|
||||
This usage was somewhat limited by C++03, which does not permit such a class
|
||||
to be used as a template parameter. That restriction was removed by C++11
|
||||
([n2657]). Use of this feature is permitted.
|
||||
|
||||
Many HotSpot protocols involve "function-like" objects that involve some
|
||||
named member function rather than a call operator. For example, a function
|
||||
that performs some action on all threads might be written as
|
||||
|
||||
```
|
||||
void do_something() {
|
||||
struct DoSomething : public ThreadClosure {
|
||||
virtual void do_thread(Thread* t) {
|
||||
... do something with t ...
|
||||
}
|
||||
} closure;
|
||||
Threads::threads_do(&closure);
|
||||
}
|
||||
```
|
||||
|
||||
HotSpot code has historically usually placed the DoSomething class at
|
||||
namespace (or sometimes class) scope. This separates the function's code
|
||||
from its use, often to the detriment of readability. It requires giving the
|
||||
class a globally unique name (if at namespace scope). It also loses the
|
||||
information that the class is intended for use in exactly one place, and
|
||||
does not have any subclasses. (However, the latter can now be indicated by
|
||||
declaring it `final`.) Often, for simplicity, a local class will skip
|
||||
things like access control and accessor functions, giving the enclosing
|
||||
function direct access to the implementation and eliminating some
|
||||
boilerplate that might be provided if the class is in some outer (more
|
||||
accessible) scope. On the other hand, if there is a lot of surrounding code
|
||||
in the function body or the local class is of significant size, defining it
|
||||
locally can increase clutter and reduce readability.
|
||||
|
||||
<a name="lambdaexpressions"></a>
|
||||
C++11 added _lambda expressions_ as a new way to write a function object.
|
||||
Simple lambda expressions can be significantly more concise than a function
|
||||
object, eliminating a lot of boiler-plate. On the other hand, a complex
|
||||
lambda expression may not provide much, if any, readability benefit compared
|
||||
to an ordinary function object. Also, while a lambda can encapsulate a call
|
||||
to a "function-like" object, it cannot be used in place of such.
|
||||
|
||||
A common use for local functions is as one-use [RAII] objects. The amount
|
||||
of boilerplate for a function object class (local or not) makes such usage
|
||||
somewhat clumsy and verbose. But with the help of a small amount of
|
||||
supporting utility code, lambdas work particularly well for this use case.
|
||||
|
||||
Another use for local functions is [partial application][PARTIALAPP]. Again
|
||||
here, lambdas are typically much simpler and less verbose than function
|
||||
object classes.
|
||||
|
||||
Because of these benefits, lambda expressions are permitted in HotSpot code,
|
||||
with some restrictions and usage guidance. An anonymous lambda is one which
|
||||
is passed directly as an argument. A named lambda is the value of a
|
||||
variable, which is its name.
|
||||
|
||||
Lambda expressions should only be passed downward. In particular, a lambda
|
||||
should not be returned from a function or stored in a global variable,
|
||||
whether directly or as the value of a member of some other object. Lambda
|
||||
capture is syntactically subtle (by design), and propagating a lambda in
|
||||
such ways can easily pass references to captured values to places where they
|
||||
are no longer valid. In particular, members of the enclosing `this` object
|
||||
are effectively captured by reference, even if the default capture is
|
||||
by-value. For such uses-cases a function object class should be used to
|
||||
make the desired value capturing and propagation explicit.
|
||||
|
||||
Limiting the capture list to `[&]` (implicitly capture by reference) is a
|
||||
simplifying restriction that still provides good support for HotSpot usage,
|
||||
while reducing the cases a reader must recognize and understand.
|
||||
|
||||
* Many common lambda uses require reference capture. Not permitting it
|
||||
would substantially reduce the utility of lambdas.
|
||||
|
||||
* Referential transparency. Implicit reference capture makes variable
|
||||
references in the lambda body have the same meaning they would have in the
|
||||
enclosing code. There isn't a semantic barrier across which the meaning of
|
||||
a variable changes.
|
||||
|
||||
* Explicit reference capture introduces significant clutter, especially when
|
||||
lambda expressions are relatively small and simple, as they should be in
|
||||
HotSpot code.
|
||||
|
||||
* There are a number of reasons why by-value capture might be used, but for
|
||||
the most part they don't apply to HotSpot code, given other usage restrictions.
|
||||
|
||||
* A primary use-case for by-value capture is to support escaping uses,
|
||||
where values captured by-reference might become invalid. That use-case
|
||||
doesn't apply if only downward lambdas are used.
|
||||
|
||||
* By-value capture can also make a lambda-local copy for mutation, which
|
||||
requires making the lambda `mutable`; see below.
|
||||
|
||||
* By-value capture might be viewed as an optimization, avoiding any
|
||||
overhead for reference capture of cheap to copy values. But the
|
||||
compiler can often eliminate any such overhead.
|
||||
|
||||
* By-value capture by a non-`mutable` lambda makes the captured values
|
||||
const, preventing any modification by the lambda and making the captured
|
||||
value unaffected by modifications to the outer variable. But this only
|
||||
applies to captured auto variables, not member variables, and is
|
||||
inconsistent with referential transparency.
|
||||
|
||||
* Non-capturing lambdas (with an empty capture list - `[]`) have limited
|
||||
utility. There are cases where no captures are required (pure functions,
|
||||
for example), but if the function is small and simple then that's obvious
|
||||
anyway.
|
||||
|
||||
* Capture initializers (a C++14 feature - [N3649]) are not permitted.
|
||||
Capture initializers inherently increase the complexity of the capture list,
|
||||
and provide little benefit over an additional in-scope local variable.
|
||||
|
||||
The use of `mutable` lambda expressions is forbidden because there don't
|
||||
seem to be many, if any, good use-cases for them in HotSpot. A lambda
|
||||
expression needs to be mutable in order to modify a by-value captured value.
|
||||
But with only downward lambdas, such usage seems likely to be rare and
|
||||
complicated. It is better to use a function object class in any such cases
|
||||
that arise, rather than requiring all HotSpot developers to understand this
|
||||
relatively obscure feature.
|
||||
|
||||
While it is possible to directly invoke an anonymous lambda expression, that
|
||||
feature should not be used, as such a form can be confusing to readers.
|
||||
Instead, name the lambda and call it by name.
|
||||
|
||||
Some reasons to prefer a named lambda instead of an anonymous lambda are
|
||||
|
||||
* The body contains non-trivial control flow or declarations or other nested
|
||||
constructs.
|
||||
|
||||
* Its role in an argument list is hard to guess without examining the
|
||||
function declaration. Give it a name that indicates its purpose.
|
||||
|
||||
* It has an unusual capture list.
|
||||
|
||||
* It has a complex explicit return type or parameter types.
|
||||
|
||||
Lambda expressions, and particularly anonymous lambda expressions, should be
|
||||
simple and compact. One-liners are good. Anonymous lambdas should usually
|
||||
be limited to a couple lines of body code. More complex lambdas should be
|
||||
named. A named lambda should not clutter the enclosing function and make it
|
||||
long and complex; do continue to break up large functions via the use of
|
||||
separate helper functions.
|
||||
|
||||
An anonymous lambda expression should either be a one-liner in a one-line
|
||||
expression, or isolated in its own set of lines. Don't place part of a
|
||||
lambda expression on the same line as other arguments to a function. The
|
||||
body of a multi-line lambda argument should be indented from the start of
|
||||
the capture list, as if that were the start of an ordinary function
|
||||
definition. The body of a multi-line named lambda should be indented one
|
||||
step from the variable's indentation.
|
||||
|
||||
Some examples:
|
||||
|
||||
1. `foo([&] { ++counter; });`
|
||||
2. `foo(x, [&] { ++counter; });`
|
||||
3. `foo([&] { if (predicate) ++counter; });`
|
||||
4. `foo([&] { auto tmp = process(x); tmp.f(); return tmp.g(); })`
|
||||
5. Separate one-line lambda from other arguments:
|
||||
|
||||
```
|
||||
foo(c.begin(), c.end(),
|
||||
[&] (const X& x) { do_something(x); return x.value(); });
|
||||
```
|
||||
6. Indentation for multi-line lambda:
|
||||
|
||||
```
|
||||
c.do_entries([&] (const X& x) {
|
||||
do_something(x, a);
|
||||
do_something1(x, b);
|
||||
do_something2(x, c);
|
||||
});
|
||||
```
|
||||
7. Separate multi-line lambda from other arguments:
|
||||
|
||||
```
|
||||
foo(c.begin(), c.end(),
|
||||
[&] (const X& x) {
|
||||
do_something(x, a);
|
||||
do_something1(x, b);
|
||||
do_something2(x, c);
|
||||
});
|
||||
```
|
||||
8. Multi-line named lambda:
|
||||
|
||||
```
|
||||
auto do_entry = [&] (const X& x) {
|
||||
do_something(x, a);
|
||||
do_something1(x, b);
|
||||
do_something2(x, c);
|
||||
};
|
||||
```
|
||||
|
||||
Item 4, and especially items 6 and 7, are pushing the simplicity limits for
|
||||
anonymous lambdas. Item 6 might be better written using a named lambda:
|
||||
```
|
||||
c.do_entries(do_entry);
|
||||
```
|
||||
|
||||
Note that C++11 also added _bind expressions_ as a way to write a function
|
||||
object for partial application, using `std::bind` and related facilities
|
||||
from the Standard Library. `std::bind` generalizes and replaces some of the
|
||||
binders from C++03. Bind expressions are not permitted in HotSpot code.
|
||||
They don't provide enough benefit over lambdas or local function classes in
|
||||
the cases where bind expressions are applicable to warrant the introduction
|
||||
of yet another mechanism in this space into HotSpot code.
|
||||
|
||||
References:
|
||||
|
||||
* Local and unnamed types as template parameters ([n2657])
|
||||
* New wording for C++0x lambdas ([n2927])
|
||||
* Generalized lambda capture (init-capture) ([N3648])
|
||||
* Generic (polymorphic) lambda expressions ([N3649])
|
||||
|
||||
[n2657]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
|
||||
[n2927]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf
|
||||
[N3648]: https://isocpp.org/files/papers/N3648.html
|
||||
[N3649]: https://isocpp.org/files/papers/N3649.html
|
||||
|
||||
References from C++17
|
||||
|
||||
* Wording for constexpr lambda ([p0170r1])
|
||||
* Lambda capture of *this by Value ([p0018r3])
|
||||
|
||||
[p0170r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0170r1.pdf
|
||||
[p0018r3]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0018r3.html
|
||||
|
||||
References from C++20
|
||||
|
||||
* Allow lambda capture [=, this] ([p0409r2])
|
||||
* Familiar template syntax for generic lambdas ([p0428r2])
|
||||
* Simplifying implicit lambda capture ([p0588r1])
|
||||
* Default constructible and assignable stateless lambdas ([p0624r2])
|
||||
* Lambdas in unevaluated contexts ([p0315r4])
|
||||
* Allow pack expansion in lambda init-capture ([p0780r2]) ([p2095r0])
|
||||
* Deprecate implicit capture of this via [=] ([p0806r2])
|
||||
|
||||
[p0409r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0409r2.html
|
||||
[p0428r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0428r2.pdf
|
||||
[p0588r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0588r1.html
|
||||
[p0624r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0624r2.pdf
|
||||
[p0315r4]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0315r4.pdf
|
||||
[p0780r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0780r2.html
|
||||
[p2095r0]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2095r0.html
|
||||
[p0806r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0806r2.html
|
||||
|
||||
References from C++23
|
||||
|
||||
* Make () more optional for lambdas ([p1102r2])
|
||||
|
||||
[p1102r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1102r2.html
|
||||
|
||||
### Additional Permitted Features
|
||||
|
||||
* `constexpr`
|
||||
@@ -757,9 +1022,6 @@ part of the avoidance of the C++ Standard Library in HotSpot code.
|
||||
([n3206](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm)),
|
||||
([n3272](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm))
|
||||
|
||||
* Local and unnamed types as template parameters
|
||||
([n2657](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm))
|
||||
|
||||
* Range-based `for` loops
|
||||
([n2930](http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html))
|
||||
([range-for](https://en.cppreference.com/w/cpp/language/range-for))
|
||||
@@ -837,9 +1099,6 @@ features that have not yet been discussed.
|
||||
|
||||
* Rvalue references and move semantics
|
||||
|
||||
* Lambdas
|
||||
|
||||
|
||||
[ADL]: https://en.cppreference.com/w/cpp/language/adl
|
||||
"Argument Dependent Lookup"
|
||||
|
||||
@@ -854,3 +1113,6 @@ features that have not yet been discussed.
|
||||
|
||||
[SFINAE]: https://en.cppreference.com/w/cpp/language/sfinae
|
||||
"Substitution Failure Is Not An Error"
|
||||
|
||||
[PARTIALAPP]: https://en.wikipedia.org/wiki/Partial_application
|
||||
"Partial Application"
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<li><a href="#configuration">Configuration</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#test-selection">Test selection</a><ul>
|
||||
<li><a href="#common-test-groups">Common Test Groups</a></li>
|
||||
<li><a href="#jtreg">JTReg</a></li>
|
||||
<li><a href="#gtest">Gtest</a></li>
|
||||
<li><a href="#microbenchmarks">Microbenchmarks</a></li>
|
||||
@@ -67,6 +68,19 @@ $ make exploded-test TEST=tier2</code></pre>
|
||||
<p>All functionality is available using the <code>test</code> make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, <code>test-only</code> can be used instead, which do not depend on the source and test image build.</p>
|
||||
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST="tier1"</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST="x"</code> solution needs to be used.</p>
|
||||
<p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
|
||||
<h3 id="common-test-groups">Common Test Groups</h3>
|
||||
<p>Ideally, all tests are run for every change but this may not be practical due to the limited testing resources, the scope of the change, etc.</p>
|
||||
<p>The source tree currently defines a few common test groups in the relevant <code>TEST.groups</code> files. There are test groups that cover a specific component, for example <code>hotspot_gc</code>. It is a good idea to look into <code>TEST.groups</code> files to get a sense what tests are relevant to a particular JDK component.</p>
|
||||
<p>Component-specific tests may miss some unintended consequences of a change, so other tests should also be run. Again, it might be impractical to run all tests, and therefore <em>tiered</em> test groups exist. Tiered test groups are not component-specific, but rather cover the significant parts of the entire JDK.</p>
|
||||
<p>Multiple tiers allow balancing test coverage and testing costs. Lower test tiers are supposed to contain the simpler, quicker and more stable tests. Higher tiers are supposed to contain progressively more thorough, slower, and sometimes less stable tests, or the tests that require special configuration.</p>
|
||||
<p>Contributors are expected to run the tests for the areas that are changed, and the first N tiers they can afford to run, but at least tier1.</p>
|
||||
<p>A brief description of the tiered test groups:</p>
|
||||
<ul>
|
||||
<li><p><code>tier1</code>: This is the lowest test tier. Multiple developers run these tests every day. Because of the widespread use, the tests in <code>tier1</code> are carefully selected and optimized to run fast, and to run in the most stable manner. The test failures in <code>tier1</code> are usually followed up on quickly, either with fixes, or adding relevant tests to problem list. GitHub Actions workflows, if enabled, run <code>tier1</code> tests.</p></li>
|
||||
<li><p><code>tier2</code>: This test group covers even more ground. These contain, among other things, tests that either run for too long to be at <code>tier1</code>, or may require special configuration, or tests that are less stable, or cover the broader range of non-core JVM and JDK features/components (for example, XML).</p></li>
|
||||
<li><p><code>tier3</code>: This test group includes more stressful tests, the tests for corner cases not covered by previous tiers, plus the tests that require GUIs. As such, this suite should either be run with low concurrency (<code>TEST_JOBS=1</code>), or without headful tests (<code>JTREG_KEYWORDS=\!headful</code>), or both.</p></li>
|
||||
<li><p><code>tier4</code>: This test group includes every other test not covered by previous tiers. It includes, for example, <code>vmTestbase</code> suites for Hotspot, which run for many hours even on large machines. It also runs GUI tests, so the same <code>TEST_JOBS</code> and <code>JTREG_KEYWORDS</code> caveats apply.</p></li>
|
||||
</ul>
|
||||
<h3 id="jtreg">JTReg</h3>
|
||||
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
|
||||
<p>JTReg test groups can be specified either without a test root, e.g. <code>:tier1</code> (or <code>tier1</code>, the initial colon is optional), or with, e.g. <code>hotspot:tier1</code>, <code>test/jdk:jdk_util</code> or <code>$(TOPDIR)/test/hotspot/jtreg:hotspot_all</code>. The test root can be specified either as an absolute path, or a path relative to the JDK top directory, or the <code>test</code> directory. For simplicity, the hotspot JTReg test root, which really is <code>hotspot/jtreg</code> can be abbreviated as just <code>hotspot</code>.</p>
|
||||
@@ -180,6 +194,8 @@ TEST FAILURE</code></pre>
|
||||
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
|
||||
<h4 id="retry_count">RETRY_COUNT</h4>
|
||||
<p>Retry failed tests up to a set number of times. Defaults to 0.</p>
|
||||
<h4 id="repeat_count">REPEAT_COUNT</h4>
|
||||
<p>Repeat the tests for a set number of times. Defaults to 0.</p>
|
||||
<h3 id="gtest-keywords">Gtest keywords</h3>
|
||||
<h4 id="repeat">REPEAT</h4>
|
||||
<p>The number of times to repeat the tests (<code>--gtest_repeat</code>).</p>
|
||||
@@ -215,7 +231,7 @@ TEST FAILURE</code></pre>
|
||||
JTREG="JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu
|
||||
-Djdk.test.docker.image.version=latest"</code></pre>
|
||||
<h3 id="non-us-locale">Non-US locale</h3>
|
||||
<p>If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting <code>LANG="en_US"</code> in the environment before running tests should work. On Windows, setting <code>JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"</code> helps for most, but not all test cases.</p>
|
||||
<p>If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting <code>LANG="en_US"</code> in the environment before running tests should work. On Windows or MacOS, setting <code>JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"</code> helps for most, but not all test cases.</p>
|
||||
<p>For example:</p>
|
||||
<pre><code>$ export LANG="en_US" && make test TEST=...
|
||||
$ make test JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" TEST=...</code></pre>
|
||||
|
||||
@@ -64,6 +64,52 @@ jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1`. You can
|
||||
always submit a list of fully qualified test descriptors in the `TEST` variable
|
||||
if you want to shortcut the parser.
|
||||
|
||||
### Common Test Groups
|
||||
|
||||
Ideally, all tests are run for every change but this may not be practical due to the limited
|
||||
testing resources, the scope of the change, etc.
|
||||
|
||||
The source tree currently defines a few common test groups in the relevant `TEST.groups`
|
||||
files. There are test groups that cover a specific component, for example `hotspot_gc`.
|
||||
It is a good idea to look into `TEST.groups` files to get a sense what tests are relevant
|
||||
to a particular JDK component.
|
||||
|
||||
Component-specific tests may miss some unintended consequences of a change, so other
|
||||
tests should also be run. Again, it might be impractical to run all tests, and therefore
|
||||
_tiered_ test groups exist. Tiered test groups are not component-specific, but rather cover
|
||||
the significant parts of the entire JDK.
|
||||
|
||||
Multiple tiers allow balancing test coverage and testing costs. Lower test tiers are supposed to
|
||||
contain the simpler, quicker and more stable tests. Higher tiers are supposed to contain
|
||||
progressively more thorough, slower, and sometimes less stable tests, or the tests that require
|
||||
special configuration.
|
||||
|
||||
Contributors are expected to run the tests for the areas that are changed, and the first N tiers
|
||||
they can afford to run, but at least tier1.
|
||||
|
||||
A brief description of the tiered test groups:
|
||||
|
||||
- `tier1`: This is the lowest test tier. Multiple developers run these tests every day.
|
||||
Because of the widespread use, the tests in `tier1` are carefully selected and optimized to run
|
||||
fast, and to run in the most stable manner. The test failures in `tier1` are usually followed up
|
||||
on quickly, either with fixes, or adding relevant tests to problem list. GitHub Actions workflows,
|
||||
if enabled, run `tier1` tests.
|
||||
|
||||
- `tier2`: This test group covers even more ground. These contain, among other things,
|
||||
tests that either run for too long to be at `tier1`, or may require special configuration,
|
||||
or tests that are less stable, or cover the broader range of non-core JVM and JDK features/components
|
||||
(for example, XML).
|
||||
|
||||
- `tier3`: This test group includes more stressful tests, the tests for corner cases
|
||||
not covered by previous tiers, plus the tests that require GUIs. As such, this suite
|
||||
should either be run with low concurrency (`TEST_JOBS=1`), or without headful tests
|
||||
(`JTREG_KEYWORDS=\!headful`), or both.
|
||||
|
||||
- `tier4`: This test group includes every other test not covered by previous tiers. It includes,
|
||||
for example, `vmTestbase` suites for Hotspot, which run for many hours even on large
|
||||
machines. It also runs GUI tests, so the same `TEST_JOBS` and `JTREG_KEYWORDS` caveats
|
||||
apply.
|
||||
|
||||
### JTReg
|
||||
|
||||
JTReg tests can be selected either by picking a JTReg test group, or a selection
|
||||
@@ -375,6 +421,10 @@ modules. If multiple modules are specified, they should be separated by space
|
||||
|
||||
Retry failed tests up to a set number of times. Defaults to 0.
|
||||
|
||||
#### REPEAT_COUNT
|
||||
|
||||
Repeat the tests for a set number of times. Defaults to 0.
|
||||
|
||||
### Gtest keywords
|
||||
|
||||
#### REPEAT
|
||||
@@ -460,7 +510,7 @@ $ make test TEST="jtreg:test/hotspot/jtreg/containers/docker" \
|
||||
|
||||
If your locale is non-US, some tests are likely to fail. To work around this
|
||||
you can set the locale to US. On Unix platforms simply setting `LANG="en_US"`
|
||||
in the environment before running tests should work. On Windows, setting
|
||||
in the environment before running tests should work. On Windows or MacOS, setting
|
||||
`JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` helps for most, but
|
||||
not all test cases.
|
||||
|
||||
|
||||
@@ -71,11 +71,11 @@ define SetupInterimModule
|
||||
SRC := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim \
|
||||
$$(wildcard $(SUPPORT_OUTPUTDIR)/gensrc/$1) \
|
||||
$(TOPDIR)/src/$1/share/classes, \
|
||||
EXCLUDES := sun, \
|
||||
EXCLUDES := sun javax/tools/snippet-files, \
|
||||
EXCLUDE_FILES := $(TOPDIR)/src/$1/share/classes/module-info.java \
|
||||
Standard.java, \
|
||||
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java, \
|
||||
COPY := .gif .png .xml .css .js .js.template .txt javax.tools.JavaCompilerTool, \
|
||||
COPY := .gif .png .xml .css .svg .js .js.template .txt javax.tools.JavaCompilerTool, \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/$1.interim, \
|
||||
DISABLED_WARNINGS := module options, \
|
||||
JAVAC_FLAGS := \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -196,6 +196,11 @@ else # not java.base
|
||||
endif
|
||||
endif
|
||||
|
||||
# Set main class of jdk.httpserver module
|
||||
ifeq ($(MODULE), jdk.httpserver)
|
||||
JMOD_FLAGS += --main-class sun.net.httpserver.simpleserver.Main
|
||||
endif
|
||||
|
||||
# Changes to the jmod tool itself should also trigger a rebuild of all jmods.
|
||||
# The variable JMOD_CMD could contain an environment variable assignment before
|
||||
# the actual command. Filter that out using wildcard before adding to DEPS.
|
||||
|
||||
146
make/Hsdis.gmk
Normal file
146
make/Hsdis.gmk
Normal file
@@ -0,0 +1,146 @@
|
||||
#
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
include JdkNativeCompilation.gmk
|
||||
|
||||
################################################################################
|
||||
# This makefile compiles and installs the hsdis library
|
||||
#
|
||||
################################################################################
|
||||
|
||||
HSDIS_OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/hsdis
|
||||
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
INSTALLED_HSDIS_DIR := $(JDK_OUTPUTDIR)/bin
|
||||
|
||||
# On windows, we need to "fake" a completely different toolchain using gcc
|
||||
# instead of the normal microsoft toolchain. This is quite hacky...
|
||||
|
||||
MINGW_BASE := x86_64-w64-mingw32
|
||||
|
||||
MINGW_SYSROOT = $(shell $(MINGW_BASE)-gcc -print-sysroot)
|
||||
ifeq ($(wildcard $(MINGW_SYSROOT)), )
|
||||
# Use fallback path
|
||||
MINGW_SYSROOT := /usr/$(MINGW_BASE)
|
||||
ifeq ($(wildcard $(MINGW_SYSROOT)), )
|
||||
$(error mingw sysroot not found)
|
||||
endif
|
||||
endif
|
||||
|
||||
$(eval $(call DefineNativeToolchain, TOOLCHAIN_MINGW, \
|
||||
CC := $(MINGW_BASE)-gcc, \
|
||||
LD := $(MINGW_BASE)-ld, \
|
||||
OBJCOPY := $(MINGW_BASE)-objcopy, \
|
||||
RC := $(RC), \
|
||||
SYSROOT_CFLAGS := --sysroot=$(MINGW_SYSROOT), \
|
||||
SYSROOT_LDFLAGS := --sysroot=$(MINGW_SYSROOT), \
|
||||
))
|
||||
|
||||
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/mingw/lib
|
||||
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
|
||||
# Try without mingw
|
||||
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/lib
|
||||
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
|
||||
$(error mingw sysroot lib path not found)
|
||||
endif
|
||||
endif
|
||||
|
||||
MINGW_VERSION = $(shell $(MINGW_BASE)-gcc -v 2>&1 | $(GREP) "gcc version" | $(CUT) -d " " -f 3)
|
||||
MINGW_GCC_LIB_PATH := /usr/lib/gcc/$(MINGW_BASE)/$(MINGW_VERSION)
|
||||
ifeq ($(wildcard $(MINGW_GCC_LIB_PATH)), )
|
||||
# Try using only major version number
|
||||
MINGW_VERSION_MAJOR := $(firstword $(subst ., , $(MINGW_VERSION)))
|
||||
MINGW_GCC_LIB_PATH := /usr/lib/gcc/$(MINGW_BASE)/$(MINGW_VERSION_MAJOR)
|
||||
ifeq ($(wildcard $(MINGW_GCC_LIB_PATH)), )
|
||||
$(error mingw gcc lib path not found)
|
||||
endif
|
||||
endif
|
||||
|
||||
TOOLCHAIN_TYPE := gcc
|
||||
OPENJDK_TARGET_OS := linux
|
||||
CC_OUT_OPTION := -o$(SPACE)
|
||||
LD_OUT_OPTION := -o$(SPACE)
|
||||
GENDEPS_FLAGS := -MMD -MF
|
||||
CFLAGS_DEBUG_SYMBOLS := -g
|
||||
DISABLED_WARNINGS :=
|
||||
DISABLE_WARNING_PREFIX := -Wno-
|
||||
CFLAGS_WARNINGS_ARE_ERRORS := -Werror
|
||||
SHARED_LIBRARY_FLAGS := -shared
|
||||
|
||||
HSDIS_TOOLCHAIN := TOOLCHAIN_MINGW
|
||||
HSDIS_TOOLCHAIN_CFLAGS :=
|
||||
HSDIS_TOOLCHAIN_LDFLAGS := -L$(MINGW_GCC_LIB_PATH) -L$(MINGW_SYSROOT_LIB_PATH)
|
||||
MINGW_DLLCRT := $(MINGW_SYSROOT_LIB_PATH)/dllcrt2.o
|
||||
HSDIS_TOOLCHAIN_LIBS := $(MINGW_DLLCRT) -lmingw32 -lgcc -lgcc_eh -lmoldname \
|
||||
-lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32
|
||||
else
|
||||
INSTALLED_HSDIS_DIR := $(JDK_OUTPUTDIR)/lib
|
||||
|
||||
HSDIS_TOOLCHAIN := TOOLCHAIN_DEFAULT
|
||||
HSDIS_TOOLCHAIN_CFLAGS := $(CFLAGS_JDKLIB)
|
||||
HSDIS_TOOLCHAIN_LDFLAGS := $(LDFLAGS_JDKLIB)
|
||||
HSDIS_TOOLCHAIN_LIBS := -ldl
|
||||
endif
|
||||
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_HSDIS, \
|
||||
NAME := hsdis, \
|
||||
SRC := $(TOPDIR)/src/utils/hsdis, \
|
||||
TOOLCHAIN := $(HSDIS_TOOLCHAIN), \
|
||||
OUTPUT_DIR := $(HSDIS_OUTPUT_DIR), \
|
||||
OBJECT_DIR := $(HSDIS_OUTPUT_DIR), \
|
||||
DISABLED_WARNINGS_gcc := undef format-nonliteral sign-compare, \
|
||||
DISABLED_WARNINGS_clang := undef format-nonliteral, \
|
||||
CFLAGS := $(HSDIS_TOOLCHAIN_CFLAGS) $(HSDIS_CFLAGS), \
|
||||
LDFLAGS := $(HSDIS_TOOLCHAIN_LDFLAGS) $(SHARED_LIBRARY_FLAGS), \
|
||||
LIBS := $(HSDIS_LIBS) $(HSDIS_TOOLCHAIN_LIBS), \
|
||||
))
|
||||
|
||||
build: $(BUILD_HSDIS)
|
||||
|
||||
TARGETS += build
|
||||
|
||||
INSTALLED_HSDIS_NAME := hsdis-$(OPENJDK_TARGET_CPU_LEGACY_LIB)$(SHARED_LIBRARY_SUFFIX)
|
||||
|
||||
INSTALLED_HSDIS := $(INSTALLED_HSDIS_DIR)/$(INSTALLED_HSDIS_NAME)
|
||||
|
||||
$(INSTALLED_HSDIS): $(BUILD_HSDIS_TARGET)
|
||||
$(call LogWarn, NOTE: The resulting build might not be redistributable. Seek legal advice before distibuting.)
|
||||
$(install-file)
|
||||
|
||||
|
||||
install: $(INSTALLED_HSDIS)
|
||||
|
||||
TARGETS += install
|
||||
|
||||
################################################################################
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
.PHONY: all default build install
|
||||
@@ -324,7 +324,7 @@ $(eval $(call SetupTarget, vscode-project-ccls, \
|
||||
# aren't built until after libjava and libjvm are available to link to.
|
||||
$(eval $(call SetupTarget, demos-jdk, \
|
||||
MAKEFILE := CompileDemos, \
|
||||
DEPS := java.base-libs exploded-image, \
|
||||
DEPS := java.base-libs exploded-image buildtools-jdk, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, test-image-demos-jdk, \
|
||||
@@ -383,12 +383,12 @@ bootcycle-images:
|
||||
|
||||
$(eval $(call SetupTarget, zip-security, \
|
||||
MAKEFILE := ZipSecurity, \
|
||||
DEPS := java.base-java java.security.jgss-java java.security.jgss-libs, \
|
||||
DEPS := buildtools-jdk java.base-java java.security.jgss-java java.security.jgss-libs, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, zip-source, \
|
||||
MAKEFILE := ZipSource, \
|
||||
DEPS := gensrc, \
|
||||
DEPS := buildtools-jdk gensrc, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, jrtfs-jar, \
|
||||
@@ -508,13 +508,13 @@ $(eval $(call SetupTarget, docs-jdk-index, \
|
||||
$(eval $(call SetupTarget, docs-zip, \
|
||||
MAKEFILE := Docs, \
|
||||
TARGET := docs-zip, \
|
||||
DEPS := docs-jdk, \
|
||||
DEPS := docs-jdk buildtools-jdk, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, docs-specs-zip, \
|
||||
MAKEFILE := Docs, \
|
||||
TARGET := docs-specs-zip, \
|
||||
DEPS := docs-jdk-specs, \
|
||||
DEPS := docs-jdk-specs buildtools-jdk, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, update-build-docs, \
|
||||
@@ -526,6 +526,18 @@ $(eval $(call SetupTarget, update-x11wrappers, \
|
||||
DEPS := java.base-copy buildtools-jdk, \
|
||||
))
|
||||
|
||||
ifneq ($(HSDIS_BACKEND), none)
|
||||
$(eval $(call SetupTarget, build-hsdis, \
|
||||
MAKEFILE := Hsdis, \
|
||||
TARGET := build, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, install-hsdis, \
|
||||
MAKEFILE := Hsdis, \
|
||||
TARGET := install, \
|
||||
))
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Cross compilation support
|
||||
|
||||
|
||||
@@ -200,9 +200,10 @@ $(eval $(call SetTestOpt,FAILURE_HANDLER_TIMEOUT,JTREG))
|
||||
$(eval $(call ParseKeywordVariable, JTREG, \
|
||||
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR FAILURE_HANDLER_TIMEOUT \
|
||||
TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM RUN_PROBLEM_LISTS \
|
||||
RETRY_COUNT MAX_OUTPUT, \
|
||||
RETRY_COUNT REPEAT_COUNT MAX_OUTPUT $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
|
||||
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
|
||||
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS, \
|
||||
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS \
|
||||
$(CUSTOM_JTREG_STRING_KEYWORDS), \
|
||||
))
|
||||
|
||||
ifneq ($(JTREG), )
|
||||
@@ -744,6 +745,15 @@ define SetupRunJtregTestBody
|
||||
JTREG_RETAIN ?= fail,error
|
||||
JTREG_RUN_PROBLEM_LISTS ?= false
|
||||
JTREG_RETRY_COUNT ?= 0
|
||||
JTREG_REPEAT_COUNT ?= 0
|
||||
|
||||
ifneq ($$(JTREG_RETRY_COUNT), 0)
|
||||
ifneq ($$(JTREG_REPEAT_COUNT), 0)
|
||||
$$(info Error: Cannot use both JTREG_RETRY_COUNT and JTREG_REPEAT_COUNT together.)
|
||||
$$(info Please choose one or the other.)
|
||||
$$(error Cannot continue)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($$(JTREG_LAUNCHER_OPTIONS), )
|
||||
$1_JTREG_LAUNCHER_OPTIONS += $$(JTREG_LAUNCHER_OPTIONS)
|
||||
@@ -832,6 +842,8 @@ define SetupRunJtregTestBody
|
||||
endif
|
||||
endif
|
||||
|
||||
$$(eval $$(call SetupRunJtregTestCustom, $1))
|
||||
|
||||
clean-workdir-$1:
|
||||
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
|
||||
|
||||
@@ -866,6 +878,18 @@ define SetupRunJtregTestBody
|
||||
done
|
||||
endif
|
||||
|
||||
ifneq ($$(JTREG_REPEAT_COUNT), 0)
|
||||
$1_COMMAND_LINE := \
|
||||
for i in {1..$$(JTREG_REPEAT_COUNT)}; do \
|
||||
$$(PRINTF) "\nRepeating Jtreg run: $$$$i out of $$(JTREG_REPEAT_COUNT)\n"; \
|
||||
$$($1_COMMAND_LINE); \
|
||||
if [ "`$$(CAT) $$($1_EXITCODE)`" != "0" ]; then \
|
||||
$$(PRINTF) "\nFailures detected, no more repeats.\n"; \
|
||||
break; \
|
||||
fi; \
|
||||
done
|
||||
endif
|
||||
|
||||
run-test-$1: pre-run-test clean-workdir-$1
|
||||
$$(call LogWarn)
|
||||
$$(call LogWarn, Running test '$$($1_TEST)')
|
||||
|
||||
@@ -35,8 +35,8 @@ BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
|
||||
$(BUILD_INFO_PROPERTIES):
|
||||
$(call MakeTargetDir)
|
||||
$(ECHO) "# Build info properties for JDK tests" > $@
|
||||
$(ECHO) "build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))" >> $@
|
||||
$(ECHO) "build.output.root=$(call FixPath, $(OUTPUTDIR))" >> $@
|
||||
$(ECHO) 'build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))' >> $@
|
||||
$(ECHO) 'build.output.root=$(call FixPath, $(OUTPUTDIR))' >> $@
|
||||
|
||||
README := $(TEST_IMAGE_DIR)/Readme.txt
|
||||
|
||||
|
||||
@@ -75,11 +75,15 @@ TOOL_MAKEJAVASECURITY = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_clas
|
||||
build.tools.makejavasecurity.MakeJavaSecurity
|
||||
|
||||
TOOL_GENERATECACERTS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
-Dkeystore.pkcs12.certProtectionAlgorithm=NONE \
|
||||
-Dkeystore.pkcs12.macAlgorithm=NONE \
|
||||
build.tools.generatecacerts.GenerateCacerts
|
||||
|
||||
TOOL_GENERATEEMOJIDATA = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
build.tools.generateemojidata.GenerateEmojiData
|
||||
|
||||
TOOL_MAKEZIPREPRODUCIBLE = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
build.tools.makezipreproducible.MakeZipReproducible
|
||||
|
||||
# TODO: There are references to the jdwpgen.jar in jdk/make/netbeans/jdwpgen/build.xml
|
||||
# and nbproject/project.properties in the same dir. Needs to be looked at.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -94,11 +94,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
|
||||
|
||||
# Locate the directory of this script.
|
||||
AUTOCONF_DIR=$TOPDIR/make/autoconf
|
||||
|
||||
# Setup username (for use in adhoc version strings etc)
|
||||
# Outer [ ] to quote m4.
|
||||
[ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
|
||||
AC_SUBST(USERNAME)
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -356,6 +356,14 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
||||
fi
|
||||
AC_SUBST(IS_GNU_TIME)
|
||||
|
||||
# Check if it's GNU date
|
||||
check_date=`$DATE --version 2>&1 | $GREP GNU`
|
||||
if test "x$check_date" != x; then
|
||||
IS_GNU_DATE=yes
|
||||
else
|
||||
IS_GNU_DATE=no
|
||||
fi
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
|
||||
UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)
|
||||
UTIL_REQUIRE_PROGS(MIG, mig)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -34,9 +34,10 @@ AC_DEFUN([BASIC_SETUP_PATHS_WINDOWS],
|
||||
OPENJDK_BUILD_OS_ENV=windows.wsl1
|
||||
else
|
||||
# This test is not guaranteed, but there is no documented way of
|
||||
# distinguishing between WSL1 and WSL2. Assume only WSL2 has WSL_INTEROP
|
||||
# in /run/WSL
|
||||
if test -d "/run/WSL" ; then
|
||||
# distinguishing between WSL1 and WSL2.
|
||||
# Check whether "Hyper-V" appears in /proc/interrupts because WSL2 runs on Hyper-V.
|
||||
$GREP -q Hyper-V /proc/interrupts
|
||||
if test $? -eq 0; then
|
||||
OPENJDK_BUILD_OS_ENV=windows.wsl2
|
||||
else
|
||||
OPENJDK_BUILD_OS_ENV=windows.wsl1
|
||||
|
||||
@@ -249,6 +249,7 @@ JDKOPT_EXCLUDE_TRANSLATIONS
|
||||
JDKOPT_ENABLE_DISABLE_MANPAGES
|
||||
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE
|
||||
JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT
|
||||
JDKOPT_SETUP_HSDIS
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
|
||||
@@ -782,10 +782,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
||||
test "x$ENABLE_REPRODUCIBLE_BUILD" = xtrue; then
|
||||
# There is a known issue with the pathmap if the mapping is made to the
|
||||
# empty string. Add a minimal string "s" as prefix to work around this.
|
||||
workspace_root_win=`$FIXPATH_BASE print "${WORKSPACE_ROOT%/}"`
|
||||
# PATHMAP_FLAGS is also added to LDFLAGS in flags-ldflags.m4.
|
||||
PATHMAP_FLAGS="-pathmap:${workspace_root_win//\//\\\\}=s \
|
||||
-pathmap:${workspace_root_win}=s"
|
||||
PATHMAP_FLAGS="-pathmap:${WORKSPACE_ROOT}=s"
|
||||
FILE_MACRO_CFLAGS="$PATHMAP_FLAGS"
|
||||
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${FILE_MACRO_CFLAGS}],
|
||||
PREFIX: $3,
|
||||
|
||||
@@ -32,16 +32,10 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS],
|
||||
|
||||
# Setup the target toolchain
|
||||
|
||||
# The target dir matches the name of VM variant
|
||||
TARGET_JVM_VARIANT_PATH=$JVM_VARIANT_MAIN
|
||||
|
||||
# On some platforms (mac) the linker warns about non existing -L dirs.
|
||||
# For any of the variants server, client, minimal or zero, the dir matches the
|
||||
# variant name. The "main" variant should be used for linking. For the
|
||||
# rest, the dir is just server.
|
||||
if HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client) \
|
||||
|| HOTSPOT_CHECK_JVM_VARIANT(minimal) || HOTSPOT_CHECK_JVM_VARIANT(zero); then
|
||||
TARGET_JVM_VARIANT_PATH=$JVM_VARIANT_MAIN
|
||||
else
|
||||
TARGET_JVM_VARIANT_PATH=server
|
||||
fi
|
||||
FLAGS_SETUP_LDFLAGS_CPU_DEP([TARGET])
|
||||
|
||||
# Setup the build toolchain
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
|
||||
[
|
||||
UTIL_LOOKUP_PROGS(PKGHANDLER, zypper apt-get yum brew port pkgutil pkgadd pacman)
|
||||
UTIL_LOOKUP_PROGS(PKGHANDLER, zypper apt-get yum brew port pkgutil pkgadd pacman apk)
|
||||
])
|
||||
|
||||
AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
|
||||
@@ -58,6 +58,8 @@ AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
|
||||
zypper_help $MISSING_DEPENDENCY ;;
|
||||
*pacman)
|
||||
pacman_help $MISSING_DEPENDENCY ;;
|
||||
*apk)
|
||||
apk_help $MISSING_DEPENDENCY ;;
|
||||
esac
|
||||
|
||||
if test "x$PKGHANDLER_COMMAND" != x; then
|
||||
@@ -80,6 +82,14 @@ cygwin_help() {
|
||||
PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P make )"
|
||||
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
|
||||
;;
|
||||
i686-w64-mingw32-gcc)
|
||||
PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P gcc-core i686-w64-mingw32-gcc-core mingw64-i686-glib2.0 )"
|
||||
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
|
||||
;;
|
||||
x86_64-w64-mingw32-gcc)
|
||||
PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P gcc-core x86_64-w64-mingw32-gcc-core mingw64-x86_64-glib2.0 )"
|
||||
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -184,6 +194,27 @@ pkgadd_help() {
|
||||
PKGHANDLER_COMMAND=""
|
||||
}
|
||||
|
||||
apk_help() {
|
||||
case $1 in
|
||||
devkit)
|
||||
PKGHANDLER_COMMAND="sudo apk add alpine-sdk linux-headers" ;;
|
||||
alsa)
|
||||
PKGHANDLER_COMMAND="sudo apk add alsa-lib-dev" ;;
|
||||
cups)
|
||||
PKGHANDLER_COMMAND="sudo apk add cups-dev" ;;
|
||||
fontconfig)
|
||||
PKGHANDLER_COMMAND="sudo apk add fontconfig-dev" ;;
|
||||
freetype)
|
||||
PKGHANDLER_COMMAND="sudo apk add freetype-dev" ;;
|
||||
harfbuzz)
|
||||
PKGHANDLER_COMMAND="sudo apk add harfbuzz-dev" ;;
|
||||
x11)
|
||||
PKGHANDLER_COMMAND="sudo apk add libxtst-dev libxt-dev libxrender-dev libxrandr-dev" ;;
|
||||
ccache)
|
||||
PKGHANDLER_COMMAND="sudo apk add ccache" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
# This function will check if we're called from the "configure" wrapper while
|
||||
# printing --help. If so, we will print out additional information that can
|
||||
# only be extracted within the autoconf script, and then exit. This must be
|
||||
|
||||
@@ -83,15 +83,6 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
|
||||
AC_MSG_ERROR([Cannot continue])
|
||||
fi
|
||||
|
||||
# All "special" variants share the same output directory ("server")
|
||||
VALID_MULTIPLE_JVM_VARIANTS="server client minimal zero"
|
||||
UTIL_GET_NON_MATCHING_VALUES(INVALID_MULTIPLE_VARIANTS, $JVM_VARIANTS, \
|
||||
$VALID_MULTIPLE_JVM_VARIANTS)
|
||||
if test "x$INVALID_MULTIPLE_VARIANTS" != x && \
|
||||
test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = xtrue; then
|
||||
AC_MSG_ERROR([You can only build multiple variants using these variants: '$VALID_MULTIPLE_JVM_VARIANTS'])
|
||||
fi
|
||||
|
||||
# The "main" variant is the one used by other libs to link against during the
|
||||
# build.
|
||||
if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xtrue"; then
|
||||
|
||||
@@ -169,6 +169,23 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||
fi
|
||||
AC_SUBST(CACERTS_FILE)
|
||||
|
||||
# Choose cacerts source folder for user provided PEM files
|
||||
AC_ARG_WITH(cacerts-src, [AS_HELP_STRING([--with-cacerts-src],
|
||||
[specify alternative cacerts source folder containing certificates])])
|
||||
CACERTS_SRC=""
|
||||
AC_MSG_CHECKING([for cacerts source])
|
||||
if test "x$with_cacerts_src" == x; then
|
||||
AC_MSG_RESULT([default])
|
||||
else
|
||||
CACERTS_SRC=$with_cacerts_src
|
||||
if test ! -d "$CACERTS_SRC"; then
|
||||
AC_MSG_RESULT([fail])
|
||||
AC_MSG_ERROR([Specified cacerts source folder "$CACERTS_SRC" does not exist])
|
||||
fi
|
||||
AC_MSG_RESULT([$CACERTS_SRC])
|
||||
fi
|
||||
AC_SUBST(CACERTS_SRC)
|
||||
|
||||
# Enable or disable unlimited crypto
|
||||
UTIL_ARG_ENABLE(NAME: unlimited-crypto, DEFAULT: true, RESULT: UNLIMITED_CRYPTO,
|
||||
DESC: [enable unlimited crypto policy])
|
||||
@@ -199,6 +216,12 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||
AC_MSG_ERROR([Copyright year must have a value])
|
||||
elif test "x$with_copyright_year" != x; then
|
||||
COPYRIGHT_YEAR="$with_copyright_year"
|
||||
elif test "x$SOURCE_DATE_EPOCH" != x; then
|
||||
if test "x$IS_GNU_DATE" = xyes; then
|
||||
COPYRIGHT_YEAR=`date --date=@$SOURCE_DATE_EPOCH +%Y`
|
||||
else
|
||||
COPYRIGHT_YEAR=`date -j -f %s $SOURCE_DATE_EPOCH +%Y`
|
||||
fi
|
||||
else
|
||||
COPYRIGHT_YEAR=`$DATE +'%Y'`
|
||||
fi
|
||||
@@ -696,7 +719,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
|
||||
if test "x$OPENJDK_BUILD_OS" = xwindows && \
|
||||
test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = xfalse && \
|
||||
test "x$ENABLE_REPRODUCIBLE_BUILD" = xfalse; then
|
||||
AC_MSG_NOTICE([On Windows it is not possible to combine --disable-reproducible-builds])
|
||||
AC_MSG_NOTICE([On Windows it is not possible to combine --disable-reproducible-build])
|
||||
AC_MSG_NOTICE([with --disable-absolute-paths-in-output.])
|
||||
AC_MSG_ERROR([Cannot continue])
|
||||
fi
|
||||
@@ -704,3 +727,172 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
|
||||
AC_SUBST(SOURCE_DATE)
|
||||
AC_SUBST(ENABLE_REPRODUCIBLE_BUILD)
|
||||
])
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Helper function to build binutils from source.
|
||||
#
|
||||
AC_DEFUN([JDKOPT_BUILD_BINUTILS],
|
||||
[
|
||||
BINUTILS_SRC="$with_binutils_src"
|
||||
UTIL_FIXUP_PATH(BINUTILS_SRC)
|
||||
|
||||
if ! test -d $BINUTILS_SRC; then
|
||||
AC_MSG_ERROR([--with-binutils-src is not pointing to a directory])
|
||||
fi
|
||||
if ! test -x $BINUTILS_SRC/configure; then
|
||||
AC_MSG_ERROR([--with-binutils-src does not look like a binutils source directory])
|
||||
fi
|
||||
|
||||
if test -e $BINUTILS_SRC/bfd/libbfd.a && \
|
||||
test -e $BINUTILS_SRC/opcodes/libopcodes.a && \
|
||||
test -e $BINUTILS_SRC/libiberty/libiberty.a && \
|
||||
test -e $BINUTILS_SRC/zlib/libz.a; then
|
||||
AC_MSG_NOTICE([Found binutils binaries in binutils source directory -- not building])
|
||||
else
|
||||
# On Windows, we cannot build with the normal Microsoft CL, but must instead use
|
||||
# a separate mingw toolchain.
|
||||
if test "x$OPENJDK_BUILD_OS" = xwindows; then
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
|
||||
target_base="i686-w64-mingw32"
|
||||
else
|
||||
target_base="$OPENJDK_TARGET_CPU-w64-mingw32"
|
||||
fi
|
||||
binutils_cc="$target_base-gcc"
|
||||
binutils_target="--host=$target_base --target=$target_base"
|
||||
# Somehow the uint typedef is not included when building with mingw
|
||||
binutils_cflags="-Duint=unsigned"
|
||||
compiler_version=`$binutils_cc --version 2>&1`
|
||||
if ! [ [[ "$compiler_version" =~ GCC ]] ]; then
|
||||
AC_MSG_NOTICE([Could not find correct mingw compiler $binutils_cc.])
|
||||
HELP_MSG_MISSING_DEPENDENCY([$binutils_cc])
|
||||
AC_MSG_ERROR([Cannot continue. $HELP_MSG])
|
||||
else
|
||||
AC_MSG_NOTICE([Using compiler $binutils_cc with version $compiler_version])
|
||||
fi
|
||||
elif test "x$OPENJDK_BUILD_OS" = xmacosx; then
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
|
||||
binutils_target="--enable-targets=aarch64-darwin"
|
||||
else
|
||||
binutils_target=""
|
||||
fi
|
||||
else
|
||||
binutils_cc="$CC $SYSROOT_CFLAGS"
|
||||
binutils_target=""
|
||||
fi
|
||||
binutils_cflags="$binutils_cflags $MACHINE_FLAG $JVM_PICFLAG $C_O_FLAG_NORM"
|
||||
|
||||
AC_MSG_NOTICE([Running binutils configure])
|
||||
AC_MSG_NOTICE([configure command line: ./configure --disable-nls CFLAGS="$binutils_cflags" CC="$binutils_cc" $binutils_target])
|
||||
saved_dir=`pwd`
|
||||
cd "$BINUTILS_SRC"
|
||||
./configure --disable-nls CFLAGS="$binutils_cflags" CC="$binutils_cc" $binutils_target
|
||||
if test $? -ne 0 || ! test -e $BINUTILS_SRC/Makefile; then
|
||||
AC_MSG_NOTICE([Automatic building of binutils failed on configure. Try building it manually])
|
||||
AC_MSG_ERROR([Cannot continue])
|
||||
fi
|
||||
AC_MSG_NOTICE([Running binutils make])
|
||||
$MAKE all-opcodes
|
||||
if test $? -ne 0; then
|
||||
AC_MSG_NOTICE([Automatic building of binutils failed on make. Try building it manually])
|
||||
AC_MSG_ERROR([Cannot continue])
|
||||
fi
|
||||
cd $saved_dir
|
||||
AC_MSG_NOTICE([Building of binutils done])
|
||||
fi
|
||||
|
||||
BINUTILS_DIR="$BINUTILS_SRC"
|
||||
])
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Determine if hsdis should be built, and if so, with which backend.
|
||||
#
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_HSDIS],
|
||||
[
|
||||
AC_ARG_WITH([hsdis], [AS_HELP_STRING([--with-hsdis],
|
||||
[what hsdis backend to use ('none', 'binutils') @<:@none@:>@])])
|
||||
|
||||
AC_ARG_WITH([binutils], [AS_HELP_STRING([--with-binutils],
|
||||
[where to find the binutils files needed for hsdis/binutils])])
|
||||
|
||||
AC_ARG_WITH([binutils-src], [AS_HELP_STRING([--with-binutils-src],
|
||||
[where to find the binutils source for building])])
|
||||
|
||||
AC_MSG_CHECKING([what hsdis backend to use])
|
||||
|
||||
if test "x$with_hsdis" = xyes; then
|
||||
AC_MSG_ERROR([--with-hsdis must have a value])
|
||||
elif test "x$with_hsdis" = xnone || test "x$with_hsdis" = xno || test "x$with_hsdis" = x; then
|
||||
HSDIS_BACKEND=none
|
||||
AC_MSG_RESULT(['none', hsdis will not be built])
|
||||
elif test "x$with_hsdis" = xbinutils; then
|
||||
HSDIS_BACKEND=binutils
|
||||
AC_MSG_RESULT(['binutils'])
|
||||
|
||||
# We need the binutils static libs and includes.
|
||||
if test "x$with_binutils_src" != x; then
|
||||
# Try building the source first. If it succeeds, it sets $BINUTILS_DIR.
|
||||
JDKOPT_BUILD_BINUTILS
|
||||
fi
|
||||
|
||||
if test "x$with_binutils" != x; then
|
||||
BINUTILS_DIR="$with_binutils"
|
||||
fi
|
||||
|
||||
binutils_system_error=""
|
||||
HSDIS_LIBS=""
|
||||
if test "x$BINUTILS_DIR" = xsystem; then
|
||||
AC_CHECK_LIB(bfd, bfd_openr, [ HSDIS_LIBS="-lbfd" ], [ binutils_system_error="libbfd not found" ])
|
||||
AC_CHECK_LIB(opcodes, disassembler, [ HSDIS_LIBS="$HSDIS_LIBS -lopcodes" ], [ binutils_system_error="libopcodes not found" ])
|
||||
AC_CHECK_LIB(iberty, xmalloc, [ HSDIS_LIBS="$HSDIS_LIBS -liberty" ], [ binutils_system_error="libiberty not found" ])
|
||||
AC_CHECK_LIB(z, deflate, [ HSDIS_LIBS="$HSDIS_LIBS -lz" ], [ binutils_system_error="libz not found" ])
|
||||
elif test "x$BINUTILS_DIR" != x; then
|
||||
if test -e $BINUTILS_DIR/bfd/libbfd.a && \
|
||||
test -e $BINUTILS_DIR/opcodes/libopcodes.a && \
|
||||
test -e $BINUTILS_DIR/libiberty/libiberty.a; then
|
||||
HSDIS_CFLAGS="-I$BINUTILS_DIR/include -I$BINUTILS_DIR/bfd -DLIBARCH_$OPENJDK_TARGET_CPU_LEGACY_LIB"
|
||||
HSDIS_LIBS="$BINUTILS_DIR/bfd/libbfd.a $BINUTILS_DIR/opcodes/libopcodes.a $BINUTILS_DIR/libiberty/libiberty.a $BINUTILS_DIR/zlib/libz.a"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for binutils to use with hsdis])
|
||||
case "x$BINUTILS_DIR" in
|
||||
xsystem)
|
||||
if test "x$OPENJDK_TARGET_OS" != xlinux; then
|
||||
AC_MSG_RESULT([invalid])
|
||||
AC_MSG_ERROR([binutils on system is supported for Linux only])
|
||||
elif test "x$binutils_system_error" = x; then
|
||||
AC_MSG_RESULT([system])
|
||||
HSDIS_CFLAGS="-DSYSTEM_BINUTILS"
|
||||
else
|
||||
AC_MSG_RESULT([invalid])
|
||||
AC_MSG_ERROR([$binutils_system_error])
|
||||
fi
|
||||
;;
|
||||
x)
|
||||
AC_MSG_RESULT([missing])
|
||||
AC_MSG_NOTICE([--with-hsdis=binutils requires specifying a binutils installation.])
|
||||
AC_MSG_NOTICE([Download binutils from https://www.gnu.org/software/binutils and unpack it,])
|
||||
AC_MSG_NOTICE([and point --with-binutils-src to the resulting directory, or use])
|
||||
AC_MSG_NOTICE([--with-binutils to point to a pre-built binutils installation.])
|
||||
AC_MSG_ERROR([Cannot continue])
|
||||
;;
|
||||
*)
|
||||
if test "x$HSDIS_LIBS" != x; then
|
||||
AC_MSG_RESULT([$BINUTILS_DIR])
|
||||
else
|
||||
AC_MSG_RESULT([invalid])
|
||||
AC_MSG_ERROR([$BINUTILS_DIR does not contain a proper binutils installation])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
else
|
||||
AC_MSG_RESULT([invalid])
|
||||
AC_MSG_ERROR([Incorrect hsdis backend "$with_hsdis"])
|
||||
fi
|
||||
|
||||
AC_SUBST(HSDIS_BACKEND)
|
||||
AC_SUBST(HSDIS_CFLAGS)
|
||||
AC_SUBST(HSDIS_LIBS)
|
||||
])
|
||||
|
||||
@@ -69,6 +69,17 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_SUBST(JDK_RC_PLATFORM_NAME)
|
||||
AC_SUBST(HOTSPOT_VM_DISTRO)
|
||||
|
||||
# Setup username (for use in adhoc version strings etc)
|
||||
AC_ARG_WITH([build-user], [AS_HELP_STRING([--with-build-user],
|
||||
[build username to use in version strings])])
|
||||
if test "x$with_build_user" != x; then
|
||||
USERNAME="$with_build_user"
|
||||
else
|
||||
# Outer [ ] to quote m4.
|
||||
[ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
|
||||
fi
|
||||
AC_SUBST(USERNAME)
|
||||
|
||||
# Set the JDK RC name
|
||||
AC_ARG_WITH(jdk-rc-name, [AS_HELP_STRING([--with-jdk-rc-name],
|
||||
[Set JDK RC name. This is used for FileDescription and ProductName properties
|
||||
|
||||
@@ -307,7 +307,8 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_SHENANDOAHGC],
|
||||
JVM_FEATURES_CHECK_AVAILABILITY(shenandoahgc, [
|
||||
AC_MSG_CHECKING([if platform is supported by Shenandoah])
|
||||
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || \
|
||||
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
|
||||
test "x$OPENJDK_TARGET_CPU" = "xaarch64" || \
|
||||
test "x$OPENJDK_TARGET_CPU" = "xppc64le"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
|
||||
@@ -357,6 +358,13 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_ZGC],
|
||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
||||
AVAILABLE=false
|
||||
fi
|
||||
elif test "x$OPENJDK_TARGET_CPU" = "xppc64le"; then
|
||||
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
||||
AVAILABLE=false
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
||||
AVAILABLE=false
|
||||
|
||||
@@ -149,7 +149,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
|
||||
else
|
||||
AC_MSG_ERROR([Could not locate libffi.so.? for bundling])
|
||||
fi
|
||||
elif test "x${OPENJDK_TARGET_CPU}" = "xx86_64"; then
|
||||
elif test "x${OPENJDK_TARGET_CPU}" = "xx86_64" || test "x${OPENJDK_TARGET_CPU}" = "xaarch64"; then
|
||||
if test -e ${SYSROOT}/usr/lib64/libffi.so.? ; then
|
||||
LIBFFI_LIB_FILE="${SYSROOT}/usr/lib64/libffi.so.?"
|
||||
elif test -e ${SYSROOT}/usr/lib/x86_64-linux-gnu/libffi.so.? ; then
|
||||
|
||||
@@ -359,6 +359,10 @@ ENABLE_COMPATIBLE_CDS_ALIGNMENT := @ENABLE_COMPATIBLE_CDS_ALIGNMENT@
|
||||
|
||||
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT := @ALLOW_ABSOLUTE_PATHS_IN_OUTPUT@
|
||||
|
||||
HSDIS_BACKEND := @HSDIS_BACKEND@
|
||||
HSDIS_CFLAGS := @HSDIS_CFLAGS@
|
||||
HSDIS_LIBS := @HSDIS_LIBS@
|
||||
|
||||
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
|
||||
# it in sync.
|
||||
BOOT_JDK:=@BOOT_JDK@
|
||||
@@ -412,6 +416,8 @@ GTEST_FRAMEWORK_SRC := @GTEST_FRAMEWORK_SRC@
|
||||
|
||||
# Source file for cacerts
|
||||
CACERTS_FILE=@CACERTS_FILE@
|
||||
# Source folder for user provided cacerts PEM files
|
||||
CACERTS_SRC=@CACERTS_SRC@
|
||||
|
||||
# Enable unlimited crypto policy
|
||||
UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -234,7 +234,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
if test -n "$XCODEBUILD"; then
|
||||
# On Mac OS X, default toolchain to clang after Xcode 5
|
||||
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2>&1 | $HEAD -n 1`
|
||||
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version | $HEAD -n 1`
|
||||
$ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null
|
||||
if test $? -ne 0; then
|
||||
AC_MSG_NOTICE([xcodebuild output: $XCODE_VERSION_OUTPUT])
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
################################################################################
|
||||
# The order of these defines the priority by which we try to find them.
|
||||
VALID_VS_VERSIONS="2019 2017"
|
||||
VALID_VS_VERSIONS="2019 2017 2022"
|
||||
|
||||
VS_DESCRIPTION_2017="Microsoft Visual Studio 2017"
|
||||
VS_VERSION_INTERNAL_2017=141
|
||||
@@ -56,6 +56,21 @@ VS_SDK_PLATFORM_NAME_2019=
|
||||
VS_SUPPORTED_2019=true
|
||||
VS_TOOLSET_SUPPORTED_2019=true
|
||||
|
||||
VS_DESCRIPTION_2022="Microsoft Visual Studio 2022"
|
||||
VS_VERSION_INTERNAL_2022=143
|
||||
VS_MSVCR_2022=vcruntime140.dll
|
||||
VS_VCRUNTIME_1_2022=vcruntime140_1.dll
|
||||
VS_MSVCP_2022=msvcp140.dll
|
||||
VS_ENVVAR_2022="VS170COMNTOOLS"
|
||||
VS_USE_UCRT_2022="true"
|
||||
VS_VS_INSTALLDIR_2022="Microsoft Visual Studio/2022"
|
||||
VS_EDITIONS_2022="BuildTools Community Professional Enterprise"
|
||||
VS_SDK_INSTALLDIR_2022=
|
||||
VS_VS_PLATFORM_NAME_2022="v143"
|
||||
VS_SDK_PLATFORM_NAME_2022=
|
||||
VS_SUPPORTED_2022=true
|
||||
VS_TOOLSET_SUPPORTED_2022=true
|
||||
|
||||
################################################################################
|
||||
|
||||
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
|
||||
|
||||
@@ -62,11 +62,7 @@ define SetupTestFilesCompilationBody
|
||||
$1_OUTPUT_SUBDIR := lib
|
||||
$1_BASE_CFLAGS := $(CFLAGS_JDKLIB)
|
||||
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB)
|
||||
ifeq ($(call isTargetOs, windows), false)
|
||||
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $$(call SET_SHARED_LIBRARY_ORIGIN) -pthread
|
||||
else
|
||||
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $$(call SET_SHARED_LIBRARY_ORIGIN)
|
||||
endif
|
||||
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $$(call SET_SHARED_LIBRARY_ORIGIN)
|
||||
$1_COMPILATION_TYPE := LIBRARY
|
||||
else ifeq ($$($1_TYPE), PROGRAM)
|
||||
$1_PREFIX = exe
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -26,6 +26,9 @@
|
||||
ifndef _ZIP_ARCHIVE_GMK
|
||||
_ZIP_ARCHIVE_GMK := 1
|
||||
|
||||
# Depends on build tools for MakeZipReproducible
|
||||
include ../ToolsJdk.gmk
|
||||
|
||||
ifeq (,$(_MAKEBASE_GMK))
|
||||
$(error You must include MakeBase.gmk prior to including ZipArchive.gmk)
|
||||
endif
|
||||
@@ -51,6 +54,8 @@ endif
|
||||
# FOLLOW_SYMLINKS - Set to explicitly follow symlinks. Affects performance of
|
||||
# finding files.
|
||||
# ZIP_OPTIONS extra options to pass to zip
|
||||
# REPRODUCIBLE override ENABLE_REPRODUCIBLE_BUILD (to make zip reproducible or not)
|
||||
|
||||
SetupZipArchive = $(NamedParamsMacroTemplate)
|
||||
define SetupZipArchiveBody
|
||||
|
||||
@@ -124,6 +129,10 @@ define SetupZipArchiveBody
|
||||
) \
|
||||
)
|
||||
|
||||
ifeq ($$($1_REPRODUCIBLE), )
|
||||
$1_REPRODUCIBLE := $$(ENABLE_REPRODUCIBLE_BUILD)
|
||||
endif
|
||||
|
||||
# Use a slightly shorter name for logging, but with enough path to identify this zip.
|
||||
$1_NAME:=$$(subst $$(OUTPUTDIR)/,,$$($1_ZIP))
|
||||
|
||||
@@ -134,6 +143,8 @@ define SetupZipArchiveBody
|
||||
# dir is very small.
|
||||
# If zip has nothing to do, it returns 12 and would fail the build. Check for 12
|
||||
# and only fail if it's not.
|
||||
# For reproducible builds set the zip access & modify times to SOURCE_DATE_EPOCH
|
||||
# by using a ziptmp folder to generate final zip from using MakeZipReproducible.
|
||||
$$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS)
|
||||
$$(call LogWarn, Updating $$($1_NAME))
|
||||
$$(call MakeTargetDir)
|
||||
@@ -163,7 +174,18 @@ define SetupZipArchiveBody
|
||||
$$($1_ZIP_EXCLUDES_$$s) \
|
||||
|| test "$$$$?" = "12" \
|
||||
))$$(NEWLINE) \
|
||||
) true \
|
||||
) true
|
||||
ifeq ($$($1_REPRODUCIBLE), true)
|
||||
$$(call ExecuteWithLog, \
|
||||
$$(SUPPORT_OUTPUTDIR)/makezipreproducible/$$(patsubst $$(OUTPUTDIR)/%,%, $$@), \
|
||||
($(RM) $$(SUPPORT_OUTPUTDIR)/ziptmp/$1/tmp.zip && \
|
||||
$(MKDIR) -p $$(SUPPORT_OUTPUTDIR)/ziptmp/$1 && \
|
||||
$(TOOL_MAKEZIPREPRODUCIBLE) -f $$(SUPPORT_OUTPUTDIR)/ziptmp/$1/tmp.zip \
|
||||
-t $(SOURCE_DATE_EPOCH) $$@ && \
|
||||
$(RM) $$@ && \
|
||||
$(MV) $$(SUPPORT_OUTPUTDIR)/ziptmp/$1/tmp.zip $$@ \
|
||||
))
|
||||
endif
|
||||
$(TOUCH) $$@
|
||||
|
||||
# Add zip to target list
|
||||
|
||||
@@ -394,13 +394,8 @@ var getJibProfilesCommon = function (input, data) {
|
||||
};
|
||||
};
|
||||
|
||||
if (input.build_os == 'macosx' && input.build_cpu == 'aarch64') {
|
||||
common.boot_jdk_version = "17";
|
||||
common.boot_jdk_build_number = "24";
|
||||
} else {
|
||||
common.boot_jdk_version = "16";
|
||||
common.boot_jdk_build_number = "36";
|
||||
}
|
||||
common.boot_jdk_version = "17";
|
||||
common.boot_jdk_build_number = "35";
|
||||
common.boot_jdk_home = input.get("boot_jdk", "install_path") + "/jdk-"
|
||||
+ common.boot_jdk_version
|
||||
+ (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
|
||||
@@ -455,7 +450,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"macosx-aarch64": {
|
||||
target_os: "macosx",
|
||||
target_cpu: "aarch64",
|
||||
dependencies: ["devkit", "gtest"],
|
||||
dependencies: ["devkit", "gtest", "pandoc"],
|
||||
configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
|
||||
"--with-macosx-version-max=11.00.00"),
|
||||
},
|
||||
@@ -564,7 +559,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"ANT_HOME": input.get("ant", "home_path")
|
||||
}
|
||||
};
|
||||
[ "linux-x64", "macosx-x64", "windows-x64"]
|
||||
[ "linux-x64", "macosx-x64", "windows-x64", "linux-aarch64"]
|
||||
.forEach(function (name) {
|
||||
var maketestName = name + "-testmake";
|
||||
profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
|
||||
@@ -593,6 +588,17 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
])
|
||||
},
|
||||
|
||||
"linux-aarch64-zero": {
|
||||
target_os: "linux",
|
||||
target_cpu: "aarch64",
|
||||
dependencies: ["devkit", "gtest"],
|
||||
configure_args: concat(common.configure_args_64bit, [
|
||||
"--with-zlib=system",
|
||||
"--with-jvm-variants=zero",
|
||||
"--enable-libffi-bundling"
|
||||
])
|
||||
},
|
||||
|
||||
"linux-x86-zero": {
|
||||
target_os: "linux",
|
||||
target_cpu: "x86",
|
||||
@@ -638,7 +644,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
// Bootcycle profiles runs the build with itself as the boot jdk. This can
|
||||
// be done in two ways. Either using the builtin bootcycle target in the
|
||||
// build system. Or by supplying the main jdk build as bootjdk to configure.
|
||||
[ "linux-x64", "macosx-x64", "windows-x64" ]
|
||||
[ "linux-x64", "macosx-x64", "windows-x64", "linux-aarch64" ]
|
||||
.forEach(function (name) {
|
||||
var bootcycleName = name + "-bootcycle";
|
||||
var bootcyclePrebuiltName = name + "-bootcycle-prebuilt";
|
||||
@@ -1073,11 +1079,7 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
}
|
||||
var boot_jdk_os = input.build_os;
|
||||
if (input.build_os == "macosx") {
|
||||
if (input.build_cpu == "aarch64") {
|
||||
boot_jdk_os = "macos";
|
||||
} else {
|
||||
boot_jdk_os = "osx";
|
||||
}
|
||||
boot_jdk_os = "macos";
|
||||
}
|
||||
var boot_jdk_platform = boot_jdk_os + "-" + input.build_cpu;
|
||||
var boot_jdk_ext = (input.build_os == "windows" ? ".zip" : ".tar.gz")
|
||||
@@ -1098,6 +1100,17 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
environment_path: common.boot_jdk_home + "/bin"
|
||||
}
|
||||
|
||||
var pandoc_version;
|
||||
if (input.build_cpu == "aarch64") {
|
||||
if (input.build_os == "macosx") {
|
||||
pandoc_version = "2.14.0.2+1.0";
|
||||
} else {
|
||||
pandoc_version = "2.5+1.0";
|
||||
}
|
||||
} else {
|
||||
pandoc_version = "2.3.1+1.0";
|
||||
}
|
||||
|
||||
var makeBinDir = (input.build_os == "windows"
|
||||
? input.get("gnumake", "install_path") + "/cygwin/bin"
|
||||
: input.get("gnumake", "install_path") + "/bin");
|
||||
@@ -1141,9 +1154,9 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
jtreg: {
|
||||
server: "jpg",
|
||||
product: "jtreg",
|
||||
version: "6",
|
||||
version: "6.1",
|
||||
build_number: "1",
|
||||
file: "bundles/jtreg-6+1.zip",
|
||||
file: "bundles/jtreg-6.1+1.zip",
|
||||
environment_name: "JT_HOME",
|
||||
environment_path: input.get("jtreg", "home_path") + "/bin",
|
||||
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
|
||||
@@ -1152,7 +1165,7 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
jmh: {
|
||||
organization: common.organization,
|
||||
ext: "tar.gz",
|
||||
revision: "1.28+1.0"
|
||||
revision: "1.33+1.0"
|
||||
},
|
||||
|
||||
jcov: {
|
||||
@@ -1210,7 +1223,7 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
pandoc: {
|
||||
organization: common.organization,
|
||||
ext: "tar.gz",
|
||||
revision: (input.build_cpu == 'aarch64' ? "2.5+1.0" : "2.3.1+1.0"),
|
||||
revision: pandoc_version,
|
||||
module: "pandoc-" + input.build_platform,
|
||||
configure_args: "PANDOC=" + input.get("pandoc", "install_path") + "/pandoc/pandoc",
|
||||
environment_path: input.get("pandoc", "install_path") + "/pandoc"
|
||||
|
||||
@@ -25,19 +25,19 @@
|
||||
|
||||
# Versions and download locations for dependencies used by pre-submit testing.
|
||||
|
||||
BOOT_JDK_VERSION=16
|
||||
JTREG_VERSION=6
|
||||
BOOT_JDK_VERSION=17
|
||||
JTREG_VERSION=6.1
|
||||
JTREG_BUILD=1
|
||||
GTEST_VERSION=1.8.1
|
||||
|
||||
LINUX_X64_BOOT_JDK_FILENAME=openjdk-16_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_SHA256=e952958f16797ad7dc7cd8b724edd69ec7e0e0434537d80d6b5165193e33b931
|
||||
LINUX_X64_BOOT_JDK_FILENAME=openjdk-17.0.1_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_SHA256=1c0a73cbb863aad579b967316bf17673b8f98a9bb938602a140ba2e5c38f880a
|
||||
|
||||
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-16_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_SHA256=a78bdeaad186297601edac6772d931224d7af6f682a43372e693c37020bd37d6
|
||||
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-17.0.1_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_SHA256=329900a6673b237b502bdcf77bc334da34bc91355c5fd2d457fc00f53fd71ef1
|
||||
|
||||
MACOS_X64_BOOT_JDK_FILENAME=openjdk-16_osx-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_osx-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_SHA256=16f3e39a31e86f3f51b0b4035a37494a47ed3c4ead760eafc6afd7afdf2ad9f2
|
||||
MACOS_X64_BOOT_JDK_FILENAME=openjdk-17.0.1_macos-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_macos-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_SHA256=6ccb35800e723cabe15af60e67099d1a07c111d2d3208aa75523614dde68bee1
|
||||
|
||||
@@ -28,15 +28,15 @@
|
||||
|
||||
DEFAULT_VERSION_FEATURE=18
|
||||
DEFAULT_VERSION_INTERIM=0
|
||||
DEFAULT_VERSION_UPDATE=0
|
||||
DEFAULT_VERSION_UPDATE=2
|
||||
DEFAULT_VERSION_PATCH=0
|
||||
DEFAULT_VERSION_EXTRA1=0
|
||||
DEFAULT_VERSION_EXTRA2=0
|
||||
DEFAULT_VERSION_EXTRA3=0
|
||||
DEFAULT_VERSION_DATE=2022-03-15
|
||||
DEFAULT_VERSION_DATE=2022-07-19
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=62 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||
DEFAULT_VERSION_DOCS_API_SINCE=11
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="16 17 18"
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="17 18"
|
||||
DEFAULT_JDK_SOURCE_TARGET_VERSION=18
|
||||
DEFAULT_PROMOTED_VERSION_PRE=ea
|
||||
|
||||
@@ -32,7 +32,7 @@ formatVersion=3
|
||||
# Version of the currency code information in this class.
|
||||
# It is a serial number that accompanies with each amendment.
|
||||
|
||||
dataVersion=169
|
||||
dataVersion=170
|
||||
|
||||
# List of all valid ISO 4217 currency codes.
|
||||
# To ensure compatibility, do not remove codes.
|
||||
@@ -54,7 +54,7 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
|
||||
SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
|
||||
SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
|
||||
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
|
||||
UYU858-UZS860-VEB862-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
|
||||
UYU858-UZS860-VEB862-VED926-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
|
||||
XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
|
||||
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
|
||||
ZWN942-ZWR935
|
||||
|
||||
@@ -147,6 +147,7 @@ JVM_IsArrayClass
|
||||
JVM_IsCDSDumpingEnabled
|
||||
JVM_IsConstructorIx
|
||||
JVM_IsDumpingClassList
|
||||
JVM_IsFinalizationEnabled
|
||||
JVM_IsHiddenClass
|
||||
JVM_IsInterface
|
||||
JVM_IsPrimitiveClass
|
||||
@@ -183,6 +184,7 @@ JVM_ReferenceRefersTo
|
||||
JVM_RegisterLambdaProxyClassForArchiving
|
||||
JVM_RegisterSignal
|
||||
JVM_ReleaseUTF
|
||||
JVM_ReportFinalizationComplete
|
||||
JVM_ResumeThread
|
||||
JVM_SetArrayElement
|
||||
JVM_SetClassSigners
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -134,9 +134,9 @@ JDWP "Java(tm) Debug Wire Protocol"
|
||||
"<ul>"
|
||||
"<li>All event requests are cancelled. "
|
||||
"<li>All threads suspended by the thread-level "
|
||||
"<a href=\"#JDWP_ThreadReference_Resume\">resume</a> command "
|
||||
"<a href=\"#JDWP_ThreadReference_Suspend\">suspend</a> command "
|
||||
"or the VM-level "
|
||||
"<a href=\"#JDWP_VirtualMachine_Resume\">resume</a> command "
|
||||
"<a href=\"#JDWP_VirtualMachine_Suspend\">suspend</a> command "
|
||||
"are resumed as many times as necessary for them to run. "
|
||||
"<li>Garbage collection is re-enabled in all cases where it was "
|
||||
"<a href=\"#JDWP_ObjectReference_DisableCollection\">disabled</a> "
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -27,7 +27,7 @@
|
||||
# ##########################################################
|
||||
#
|
||||
module name java.base
|
||||
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/acl,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
|
||||
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/acl,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
|
||||
|
||||
class name java/io/FileInputStream
|
||||
-method name finalize descriptor ()V
|
||||
@@ -634,3 +634,13 @@ field name serialVersionUID descriptor J constantValue -1430015993304333921 flag
|
||||
class name javax/net/ssl/HttpsURLConnection
|
||||
method name getSSLSession descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljavax/net/ssl/SSLSession;>;
|
||||
|
||||
class name jdk/internal/event/Event
|
||||
header extends java/lang/Object flags 421
|
||||
method name <init> descriptor ()V flags 4
|
||||
method name begin descriptor ()V flags 1
|
||||
method name end descriptor ()V flags 1
|
||||
method name commit descriptor ()V flags 1
|
||||
method name isEnabled descriptor ()Z flags 1
|
||||
method name shouldCommit descriptor ()Z flags 1
|
||||
method name set descriptor (ILjava/lang/Object;)V flags 1
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -27,7 +27,7 @@
|
||||
# ##########################################################
|
||||
#
|
||||
module name java.base
|
||||
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
|
||||
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
|
||||
|
||||
class name java/io/PrintStream
|
||||
method name write descriptor ([B)V thrownTypes java/io/IOException flags 1
|
||||
@@ -209,18 +209,18 @@ method name setCurrentBlocker descriptor (Ljava/lang/Object;)V flags 9
|
||||
|
||||
class name java/util/concurrent/locks/StampedLock
|
||||
header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
method name tryWriteLock descriptor ()J flags 1
|
||||
method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
|
||||
method name tryReadLock descriptor ()J flags 1
|
||||
method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1
|
||||
method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
|
||||
method name unlock descriptor (J)V flags 1
|
||||
-method name tryWriteLock descriptor ()J
|
||||
-method name writeLockInterruptibly descriptor ()J
|
||||
-method name tryReadLock descriptor ()J
|
||||
-method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J
|
||||
-method name readLockInterruptibly descriptor ()J
|
||||
-method name unlock descriptor (J)V
|
||||
method name tryWriteLock descriptor ()J flags 1
|
||||
method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
|
||||
method name tryReadLock descriptor ()J flags 1
|
||||
method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1
|
||||
method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
|
||||
method name unlock descriptor (J)V flags 1
|
||||
|
||||
-class name java/util/jar/Pack200
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -26,6 +26,9 @@
|
||||
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
|
||||
# ##########################################################
|
||||
#
|
||||
module name java.base
|
||||
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
|
||||
|
||||
class name java/io/PrintStream
|
||||
header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21
|
||||
innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
|
||||
@@ -677,8 +680,8 @@ method name toString descriptor ()Ljava/lang/String; flags 1
|
||||
|
||||
class name java/security/spec/PSSParameterSpec
|
||||
-field name TRAILER_FIELD_BC descriptor I
|
||||
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
|
||||
-method name toString descriptor ()Ljava/lang/String;
|
||||
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
|
||||
method name toString descriptor ()Ljava/lang/String; flags 1
|
||||
|
||||
class name java/security/spec/RSAKeyGenParameterSpec
|
||||
@@ -1169,3 +1172,113 @@ header extends java/lang/Object implements java/security/spec/AlgorithmParameter
|
||||
class name javax/crypto/spec/SecretKeySpec
|
||||
header extends java/lang/Object implements java/security/spec/KeySpec,javax/crypto/SecretKey flags 21
|
||||
|
||||
class name jdk/internal/event/Event
|
||||
header extends java/lang/Object flags 421
|
||||
-method name <init> descriptor ()V
|
||||
-method name begin descriptor ()V
|
||||
-method name end descriptor ()V
|
||||
-method name commit descriptor ()V
|
||||
-method name isEnabled descriptor ()Z
|
||||
-method name shouldCommit descriptor ()Z
|
||||
-method name set descriptor (ILjava/lang/Object;)V
|
||||
method name <init> descriptor ()V flags 4
|
||||
method name begin descriptor ()V flags 1
|
||||
method name end descriptor ()V flags 1
|
||||
method name commit descriptor ()V flags 1
|
||||
method name isEnabled descriptor ()Z flags 1
|
||||
method name shouldCommit descriptor ()Z flags 1
|
||||
method name set descriptor (ILjava/lang/Object;)V flags 1
|
||||
|
||||
class name jdk/internal/vm/vector/VectorSupport
|
||||
header extends java/lang/Object nestMembers jdk/internal/vm/vector/VectorSupport$VectorMask,jdk/internal/vm/vector/VectorSupport$VectorShuffle,jdk/internal/vm/vector/VectorSupport$Vector,jdk/internal/vm/vector/VectorSupport$VectorPayload,jdk/internal/vm/vector/VectorSupport$VectorSpecies flags 21
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
field name VECTOR_OP_ABS descriptor I constantValue 0 flags 19
|
||||
field name VECTOR_OP_NEG descriptor I constantValue 1 flags 19
|
||||
field name VECTOR_OP_SQRT descriptor I constantValue 2 flags 19
|
||||
field name VECTOR_OP_ADD descriptor I constantValue 4 flags 19
|
||||
field name VECTOR_OP_SUB descriptor I constantValue 5 flags 19
|
||||
field name VECTOR_OP_MUL descriptor I constantValue 6 flags 19
|
||||
field name VECTOR_OP_DIV descriptor I constantValue 7 flags 19
|
||||
field name VECTOR_OP_MIN descriptor I constantValue 8 flags 19
|
||||
field name VECTOR_OP_MAX descriptor I constantValue 9 flags 19
|
||||
field name VECTOR_OP_AND descriptor I constantValue 10 flags 19
|
||||
field name VECTOR_OP_OR descriptor I constantValue 11 flags 19
|
||||
field name VECTOR_OP_XOR descriptor I constantValue 12 flags 19
|
||||
field name VECTOR_OP_FMA descriptor I constantValue 13 flags 19
|
||||
field name VECTOR_OP_LSHIFT descriptor I constantValue 14 flags 19
|
||||
field name VECTOR_OP_RSHIFT descriptor I constantValue 15 flags 19
|
||||
field name VECTOR_OP_URSHIFT descriptor I constantValue 16 flags 19
|
||||
field name VECTOR_OP_CAST descriptor I constantValue 17 flags 19
|
||||
field name VECTOR_OP_REINTERPRET descriptor I constantValue 18 flags 19
|
||||
field name BT_eq descriptor I constantValue 0 flags 19
|
||||
field name BT_ne descriptor I constantValue 4 flags 19
|
||||
field name BT_le descriptor I constantValue 5 flags 19
|
||||
field name BT_ge descriptor I constantValue 7 flags 19
|
||||
field name BT_lt descriptor I constantValue 3 flags 19
|
||||
field name BT_gt descriptor I constantValue 1 flags 19
|
||||
field name BT_overflow descriptor I constantValue 2 flags 19
|
||||
field name BT_no_overflow descriptor I constantValue 6 flags 19
|
||||
field name T_FLOAT descriptor I constantValue 6 flags 19
|
||||
field name T_DOUBLE descriptor I constantValue 7 flags 19
|
||||
field name T_BYTE descriptor I constantValue 8 flags 19
|
||||
field name T_SHORT descriptor I constantValue 9 flags 19
|
||||
field name T_INT descriptor I constantValue 10 flags 19
|
||||
field name T_LONG descriptor I constantValue 11 flags 19
|
||||
method name <init> descriptor ()V flags 1
|
||||
method name broadcastCoerced descriptor (Ljava/lang/Class;Ljava/lang/Class;IJLjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$BroadcastOperation;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<+TVM;>;Ljava/lang/Class<TE;>;IJTS;Ljdk/internal/vm/vector/VectorSupport$BroadcastOperation<TVM;TE;TS;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name shuffleIota descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;IIIILjdk/internal/vm/vector/VectorSupport$ShuffleIotaOperation;)Ljdk/internal/vm/vector/VectorSupport$VectorShuffle; flags 9 signature <E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;TS;IIIILjdk/internal/vm/vector/VectorSupport$ShuffleIotaOperation<TE;TS;>;)Ljdk/internal/vm/vector/VectorSupport$VectorShuffle<TE;>; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name shuffleToVector descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljdk/internal/vm/vector/VectorSupport$VectorShuffle;ILjdk/internal/vm/vector/VectorSupport$ShuffleToVectorOperation;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;Sh:Ljdk/internal/vm/vector/VectorSupport$VectorShuffle<TE;>;E:Ljava/lang/Object;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/Class<*>;TSh;ILjdk/internal/vm/vector/VectorSupport$ShuffleToVectorOperation<TVM;TSh;TE;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name indexVector descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;ILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$IndexOperation;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<TE;>;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class<TE;>;ITV;ITS;Ljdk/internal/vm/vector/VectorSupport$IndexOperation<TV;TE;TS;>;)TV;
|
||||
method name reductionCoerced descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljava/util/function/Function;)J flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(ILjava/lang/Class<*>;Ljava/lang/Class<*>;ITV;Ljava/util/function/Function<TV;Ljava/lang/Long;>;)J runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name extract descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;ILjdk/internal/vm/vector/VectorSupport$VecExtractOp;)J flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;ITV;ILjdk/internal/vm/vector/VectorSupport$VecExtractOp<TV;>;)J runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name insert descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;IJLjdk/internal/vm/vector/VectorSupport$VecInsertOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class<*>;ITV;IJLjdk/internal/vm/vector/VectorSupport$VecInsertOp<TV;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name unaryOp descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;>(ILjava/lang/Class<+TVM;>;Ljava/lang/Class<*>;ITVM;Ljava/util/function/Function<TVM;TVM;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name binaryOp descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;>(ILjava/lang/Class<+TVM;>;Ljava/lang/Class<*>;ITVM;TVM;Ljava/util/function/BiFunction<TVM;TVM;TVM;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name ternaryOp descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljdk/internal/vm/vector/VectorSupport$TernaryOperation;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;>(ILjava/lang/Class<+TVM;>;Ljava/lang/Class<*>;ITVM;TVM;TVM;Ljdk/internal/vm/vector/VectorSupport$TernaryOperation<TVM;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name load descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;JLjava/lang/Object;ILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadOperation;)Ljava/lang/Object; flags 9 signature <C:Ljava/lang/Object;VM:Ljava/lang/Object;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<+TVM;>;Ljava/lang/Class<TE;>;ILjava/lang/Object;JTC;ITS;Ljdk/internal/vm/vector/VectorSupport$LoadOperation<TC;TVM;TE;TS;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name loadWithMap descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/Object;JLjdk/internal/vm/vector/VectorSupport$Vector;Ljava/lang/Object;I[IILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadVectorOperationWithMap;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <C:Ljava/lang/Object;V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;W:Ljdk/internal/vm/vector/VectorSupport$Vector<Ljava/lang/Integer;>;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<*>;Ljava/lang/Class<TE;>;ILjava/lang/Class<*>;Ljava/lang/Object;JTW;TC;I[IITS;Ljdk/internal/vm/vector/VectorSupport$LoadVectorOperationWithMap<TC;TV;TE;TS;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name store descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;JLjdk/internal/vm/vector/VectorSupport$Vector;Ljava/lang/Object;ILjdk/internal/vm/vector/VectorSupport$StoreVectorOperation;)V flags 9 signature <C:Ljava/lang/Object;V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;ILjava/lang/Object;JTV;TC;ILjdk/internal/vm/vector/VectorSupport$StoreVectorOperation<TC;TV;>;)V runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name storeWithMap descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/Object;JLjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljava/lang/Object;I[IILjdk/internal/vm/vector/VectorSupport$StoreVectorOperationWithMap;)V flags 9 signature <C:Ljava/lang/Object;V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;W:Ljdk/internal/vm/vector/VectorSupport$Vector<Ljava/lang/Integer;>;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;ILjava/lang/Class<*>;Ljava/lang/Object;JTW;TV;TC;I[IILjdk/internal/vm/vector/VectorSupport$StoreVectorOperationWithMap<TC;TV;>;)V runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name test descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Z flags 9 signature <VM:Ljava/lang/Object;>(ILjava/lang/Class<*>;Ljava/lang/Class<*>;ITVM;TVM;Ljava/util/function/BiFunction<TVM;TVM;Ljava/lang/Boolean;>;)Z runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name compare descriptor (ILjava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorCompareOp;)Ljdk/internal/vm/vector/VectorSupport$VectorMask; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<TE;>;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask<TE;>;E:Ljava/lang/Object;>(ILjava/lang/Class<+TV;>;Ljava/lang/Class<TM;>;Ljava/lang/Class<*>;ITV;TV;Ljdk/internal/vm/vector/VectorSupport$VectorCompareOp<TV;TM;>;)TM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name rearrangeOp descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorShuffle;Ljdk/internal/vm/vector/VectorSupport$VectorRearrangeOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<TE;>;Sh:Ljdk/internal/vm/vector/VectorSupport$VectorShuffle<TE;>;E:Ljava/lang/Object;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class<TSh;>;Ljava/lang/Class<*>;ITV;TSh;Ljdk/internal/vm/vector/VectorSupport$VectorRearrangeOp<TV;TSh;TE;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name blend descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorMask;Ljdk/internal/vm/vector/VectorSupport$VectorBlendOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<TE;>;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask<TE;>;E:Ljava/lang/Object;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class<TM;>;Ljava/lang/Class<*>;ITV;TV;TM;Ljdk/internal/vm/vector/VectorSupport$VectorBlendOp<TV;TM;TE;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name broadcastInt descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;ILjdk/internal/vm/vector/VectorSupport$VectorBroadcastIntOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(ILjava/lang/Class<+TV;>;Ljava/lang/Class<*>;ITV;ILjdk/internal/vm/vector/VectorSupport$VectorBroadcastIntOp<TV;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name convert descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$VectorPayload;Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$VectorConvertOp;)Ljdk/internal/vm/vector/VectorSupport$VectorPayload; flags 9 signature <VOUT:Ljdk/internal/vm/vector/VectorSupport$VectorPayload;VIN:Ljdk/internal/vm/vector/VectorSupport$VectorPayload;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<*>;>(ILjava/lang/Class<*>;Ljava/lang/Class<*>;ILjava/lang/Class<*>;Ljava/lang/Class<*>;ITVIN;TS;Ljdk/internal/vm/vector/VectorSupport$VectorConvertOp<TVOUT;TVIN;TS;>;)TVOUT; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name maybeRebox descriptor (Ljava/lang/Object;)Ljava/lang/Object; flags 9 signature <V:Ljava/lang/Object;>(TV;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
method name getMaxLaneCount descriptor (Ljava/lang/Class;)I flags 109 signature (Ljava/lang/Class<*>;)I
|
||||
method name isNonCapturingLambda descriptor (Ljava/lang/Object;)Z flags 9
|
||||
|
||||
class name jdk/internal/vm/vector/VectorSupport$Vector
|
||||
header extends jdk/internal/vm/vector/VectorSupport$VectorPayload nestHost jdk/internal/vm/vector/VectorSupport flags 21 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorPayload;
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
|
||||
method name <init> descriptor (Ljava/lang/Object;)V flags 1
|
||||
|
||||
class name jdk/internal/vm/vector/VectorSupport$VectorMask
|
||||
header extends jdk/internal/vm/vector/VectorSupport$VectorPayload nestHost jdk/internal/vm/vector/VectorSupport flags 21 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorPayload;
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
method name <init> descriptor (Ljava/lang/Object;)V flags 1
|
||||
|
||||
class name jdk/internal/vm/vector/VectorSupport$VectorPayload
|
||||
header extends java/lang/Object nestHost jdk/internal/vm/vector/VectorSupport flags 21
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
method name <init> descriptor (Ljava/lang/Object;)V flags 1
|
||||
method name getPayload descriptor ()Ljava/lang/Object; flags 14
|
||||
|
||||
class name jdk/internal/vm/vector/VectorSupport$VectorShuffle
|
||||
header extends jdk/internal/vm/vector/VectorSupport$VectorPayload nestHost jdk/internal/vm/vector/VectorSupport flags 21 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorPayload;
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
|
||||
method name <init> descriptor (Ljava/lang/Object;)V flags 1
|
||||
|
||||
class name jdk/internal/vm/vector/VectorSupport$VectorSpecies
|
||||
header extends java/lang/Object nestHost jdk/internal/vm/vector/VectorSupport flags 21 signature <E:Ljava/lang/Object;>Ljava/lang/Object;
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
method name <init> descriptor ()V flags 1
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
# ##########################################################
|
||||
#
|
||||
module name java.base
|
||||
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000
|
||||
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000
|
||||
|
||||
class name java/io/CharArrayReader
|
||||
method name read descriptor (Ljava/nio/CharBuffer;)I thrownTypes java/io/IOException flags 1
|
||||
@@ -114,8 +114,8 @@ header extends java/lang/Object implements java/lang/annotation/Annotation flags
|
||||
class name java/lang/System
|
||||
-method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V
|
||||
-method name getSecurityManager descriptor ()Ljava/lang/SecurityManager;
|
||||
method name getSecurityManager descriptor ()Ljava/lang/SecurityManager; flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")
|
||||
method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")@Ljdk/internal/reflect/CallerSensitive;
|
||||
method name getSecurityManager descriptor ()Ljava/lang/SecurityManager; flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")
|
||||
|
||||
class name java/lang/Thread
|
||||
-method name checkAccess descriptor ()V
|
||||
@@ -313,8 +313,8 @@ field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
|
||||
|
||||
class name java/security/spec/PSSParameterSpec
|
||||
-field name TRAILER_FIELD_BC descriptor I
|
||||
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
|
||||
-method name toString descriptor ()Ljava/lang/String;
|
||||
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
|
||||
method name toString descriptor ()Ljava/lang/String; flags 1
|
||||
|
||||
class name java/security/spec/RSAKeyGenParameterSpec
|
||||
@@ -470,8 +470,8 @@ method name splits descriptor ()Ljava/util/stream/Stream; flags 1 signature ()Lj
|
||||
method name splits descriptor (J)Ljava/util/stream/Stream; flags 1 signature (J)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>;
|
||||
method name splits descriptor (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream; flags 1 signature (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>;
|
||||
method name splits descriptor (JLjava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream; flags 1 signature (JLjava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>;
|
||||
method name split descriptor ()Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041
|
||||
method name split descriptor (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041
|
||||
method name split descriptor ()Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041
|
||||
|
||||
class name java/util/TimeZone
|
||||
header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
|
||||
@@ -928,3 +928,32 @@ method name doAsPrivileged descriptor (Ljavax/security/auth/Subject;Ljava/securi
|
||||
class name javax/security/auth/SubjectDomainCombiner
|
||||
header extends java/lang/Object implements java/security/DomainCombiner flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")
|
||||
|
||||
class name jdk/internal/vm/vector/VectorSupport
|
||||
field name VECTOR_OP_MASK_TRUECOUNT descriptor I constantValue 19 flags 19
|
||||
field name VECTOR_OP_MASK_FIRSTTRUE descriptor I constantValue 20 flags 19
|
||||
field name VECTOR_OP_MASK_LASTTRUE descriptor I constantValue 21 flags 19
|
||||
field name VECTOR_OP_TAN descriptor I constantValue 101 flags 19
|
||||
field name VECTOR_OP_TANH descriptor I constantValue 102 flags 19
|
||||
field name VECTOR_OP_SIN descriptor I constantValue 103 flags 19
|
||||
field name VECTOR_OP_SINH descriptor I constantValue 104 flags 19
|
||||
field name VECTOR_OP_COS descriptor I constantValue 105 flags 19
|
||||
field name VECTOR_OP_COSH descriptor I constantValue 106 flags 19
|
||||
field name VECTOR_OP_ASIN descriptor I constantValue 107 flags 19
|
||||
field name VECTOR_OP_ACOS descriptor I constantValue 108 flags 19
|
||||
field name VECTOR_OP_ATAN descriptor I constantValue 109 flags 19
|
||||
field name VECTOR_OP_ATAN2 descriptor I constantValue 110 flags 19
|
||||
field name VECTOR_OP_CBRT descriptor I constantValue 111 flags 19
|
||||
field name VECTOR_OP_LOG descriptor I constantValue 112 flags 19
|
||||
field name VECTOR_OP_LOG10 descriptor I constantValue 113 flags 19
|
||||
field name VECTOR_OP_LOG1P descriptor I constantValue 114 flags 19
|
||||
field name VECTOR_OP_POW descriptor I constantValue 115 flags 19
|
||||
field name VECTOR_OP_EXP descriptor I constantValue 116 flags 19
|
||||
field name VECTOR_OP_EXPM1 descriptor I constantValue 117 flags 19
|
||||
field name VECTOR_OP_HYPOT descriptor I constantValue 118 flags 19
|
||||
field name BT_unsigned_compare descriptor I constantValue 16 flags 19
|
||||
field name BT_ule descriptor I constantValue 21 flags 19
|
||||
field name BT_uge descriptor I constantValue 23 flags 19
|
||||
field name BT_ult descriptor I constantValue 19 flags 19
|
||||
field name BT_ugt descriptor I constantValue 17 flags 19
|
||||
method name maskReductionCoerced descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljdk/internal/vm/vector/VectorSupport$VectorMaskOp;)I flags 9 signature <E:Ljava/lang/Object;M:Ljava/lang/Object;>(ILjava/lang/Class<+TM;>;Ljava/lang/Class<*>;ITM;Ljdk/internal/vm/vector/VectorSupport$VectorMaskOp<TM;>;)I runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -136,8 +136,8 @@ header extends java/lang/Object implements javax/xml/stream/util/XMLEventConsume
|
||||
|
||||
class name javax/xml/stream/XMLInputFactory
|
||||
header extends java/lang/Object flags 421
|
||||
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
|
||||
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
|
||||
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
|
||||
|
||||
class name javax/xml/stream/XMLOutputFactory
|
||||
header extends java/lang/Object flags 421
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -27,6 +27,6 @@
|
||||
# ##########################################################
|
||||
#
|
||||
class name javax/xml/stream/XMLInputFactory
|
||||
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
|
||||
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
|
||||
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -42,6 +42,6 @@ method name newNSInstance descriptor ()Ljavax/xml/parsers/SAXParserFactory; flag
|
||||
method name newNSInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/parsers/SAXParserFactory; flags 9
|
||||
|
||||
class name javax/xml/stream/XMLInputFactory
|
||||
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
|
||||
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
|
||||
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -27,8 +27,8 @@
|
||||
# ##########################################################
|
||||
#
|
||||
class name javax/xml/stream/XMLInputFactory
|
||||
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
|
||||
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
|
||||
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
|
||||
|
||||
class name org/xml/sax/ContentHandler
|
||||
method name declaration descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V thrownTypes org/xml/sax/SAXException flags 1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -59,9 +59,9 @@ method name asSlice descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 1
|
||||
method name withAccessModes descriptor (I)Ljdk/incubator/foreign/MemorySegment; flags 1041
|
||||
|
||||
class name jdk/incubator/foreign/MemoryAddress
|
||||
field name NULL descriptor Ljdk/incubator/foreign/MemoryAddress; flags 19
|
||||
-method name offset descriptor ()J
|
||||
-method name copy descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/MemoryAddress;J)V
|
||||
field name NULL descriptor Ljdk/incubator/foreign/MemoryAddress; flags 19
|
||||
method name segmentOffset descriptor ()J flags 401
|
||||
method name toRawLongValue descriptor ()J flags 401
|
||||
method name rebase descriptor (Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/MemoryAddress; flags 401
|
||||
@@ -78,8 +78,8 @@ method name collectCoordinates descriptor (Ljava/lang/invoke/VarHandle;ILjava/la
|
||||
method name dropCoordinates descriptor (Ljava/lang/invoke/VarHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; flags 89 signature (Ljava/lang/invoke/VarHandle;I[Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle;
|
||||
|
||||
class name jdk/incubator/foreign/MemoryLayout
|
||||
field name LAYOUT_NAME descriptor Ljava/lang/String; constantValue layout/name flags 19
|
||||
-method name offset descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J
|
||||
field name LAYOUT_NAME descriptor Ljava/lang/String; constantValue layout/name flags 19
|
||||
method name attribute descriptor (Ljava/lang/String;)Ljava/util/Optional; flags 401 signature (Ljava/lang/String;)Ljava/util/Optional<Ljava/lang/constant/Constable;>;
|
||||
method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/MemoryLayout; flags 401
|
||||
method name attributes descriptor ()Ljava/util/stream/Stream; flags 401 signature ()Ljava/util/stream/Stream<Ljava/lang/String;>;
|
||||
@@ -88,16 +88,16 @@ method name byteOffset descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElem
|
||||
method name isPadding descriptor ()Z flags 401
|
||||
|
||||
class name jdk/incubator/foreign/MemorySegment
|
||||
-method name acquire descriptor ()Ljdk/incubator/foreign/MemorySegment;
|
||||
-method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment;
|
||||
-method name isReadOnly descriptor ()Z
|
||||
-method name mapFromPath descriptor (Ljava/nio/file/Path;JLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MemorySegment;
|
||||
field name READ descriptor I constantValue 1 flags 19
|
||||
field name WRITE descriptor I constantValue 2 flags 19
|
||||
field name CLOSE descriptor I constantValue 4 flags 19
|
||||
field name ACQUIRE descriptor I constantValue 8 flags 19
|
||||
field name HANDOFF descriptor I constantValue 16 flags 19
|
||||
field name ALL_ACCESS descriptor I constantValue 31 flags 19
|
||||
-method name acquire descriptor ()Ljdk/incubator/foreign/MemorySegment;
|
||||
-method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment;
|
||||
-method name isReadOnly descriptor ()Z
|
||||
-method name mapFromPath descriptor (Ljava/nio/file/Path;JLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MemorySegment;
|
||||
method name spliterator descriptor (Ljdk/incubator/foreign/MemorySegment;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator; flags 9 signature <S::Ljdk/incubator/foreign/MemorySegment;>(TS;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator<TS;>;
|
||||
method name withOwnerThread descriptor (Ljava/lang/Thread;)Ljdk/incubator/foreign/MemorySegment; flags 401
|
||||
method name withAccessModes descriptor (I)Ljdk/incubator/foreign/MemorySegment; flags 401
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -264,12 +264,12 @@ header extends java/lang/Object implements jdk/incubator/foreign/Addressable,jav
|
||||
innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
-field name ACQUIRE descriptor I
|
||||
field name SHARE descriptor I constantValue 8 flags 19
|
||||
-method name baseAddress descriptor ()Ljdk/incubator/foreign/MemoryAddress;
|
||||
-method name spliterator descriptor (Ljdk/incubator/foreign/MemorySegment;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator;
|
||||
-method name withOwnerThread descriptor (Ljava/lang/Thread;)Ljdk/incubator/foreign/MemorySegment;
|
||||
-method name mapFromPath descriptor (Ljava/nio/file/Path;JJLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MappedMemorySegment;
|
||||
-method name ofNativeRestricted descriptor (Ljdk/incubator/foreign/MemoryAddress;JLjava/lang/Thread;Ljava/lang/Runnable;Ljava/lang/Object;)Ljdk/incubator/foreign/MemorySegment;
|
||||
field name SHARE descriptor I constantValue 8 flags 19
|
||||
method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 401
|
||||
method name spliterator descriptor (Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator; flags 401 signature (Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator<Ljdk/incubator/foreign/MemorySegment;>;
|
||||
method name asSlice descriptor (Ljdk/incubator/foreign/MemoryAddress;J)Ljdk/incubator/foreign/MemorySegment; flags 1
|
||||
|
||||
@@ -43,6 +43,7 @@ innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jd
|
||||
-method name allocateMemoryRestricted descriptor (J)Ljdk/incubator/foreign/MemoryAddress;
|
||||
-method name freeMemoryRestricted descriptor (Ljdk/incubator/foreign/MemoryAddress;)V
|
||||
method name getInstance descriptor ()Ljdk/incubator/foreign/CLinker; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
|
||||
method name systemLookup descriptor ()Ljdk/incubator/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
|
||||
method name downcallHandle descriptor (Ljdk/incubator/foreign/Addressable;Ljdk/incubator/foreign/SegmentAllocator;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 401
|
||||
method name downcallHandle descriptor (Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 401
|
||||
method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemoryAddress; flags 401
|
||||
@@ -51,7 +52,6 @@ method name toCString descriptor (Ljava/lang/String;Ljdk/incubator/foreign/Resou
|
||||
method name toJavaString descriptor (Ljdk/incubator/foreign/MemoryAddress;)Ljava/lang/String; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
|
||||
method name allocateMemory descriptor (J)Ljdk/incubator/foreign/MemoryAddress; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
|
||||
method name freeMemory descriptor (Ljdk/incubator/foreign/MemoryAddress;)V flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
|
||||
method name systemLookup descriptor ()Ljdk/incubator/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
|
||||
|
||||
class name jdk/incubator/foreign/CLinker$VaList
|
||||
header extends java/lang/Object implements jdk/incubator/foreign/Addressable nestHost jdk/incubator/foreign/CLinker sealed true flags 601
|
||||
|
||||
@@ -32,6 +32,8 @@ header exports jdk/incubator/vector requires name\u0020;java.base\u0020;flags\u0
|
||||
class name jdk/incubator/vector/AbstractVector
|
||||
header extends jdk/incubator/vector/Vector flags 420 signature <E:Ljava/lang/Object;>Ljdk/incubator/vector/Vector<TE;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Conversion outerClass jdk/incubator/vector/VectorOperators innerClassName Conversion flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
@@ -55,6 +57,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/Vector; flags 1041
|
||||
class name jdk/incubator/vector/ByteVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Byte;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
@@ -230,6 +233,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
|
||||
class name jdk/incubator/vector/DoubleVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Double;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
@@ -402,6 +406,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
|
||||
class name jdk/incubator/vector/FloatVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Float;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
@@ -574,6 +579,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
|
||||
class name jdk/incubator/vector/IntVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Integer;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
@@ -750,6 +756,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
|
||||
class name jdk/incubator/vector/LongVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Long;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
@@ -919,6 +926,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
|
||||
class name jdk/incubator/vector/ShortVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Short;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
@@ -1184,6 +1192,7 @@ method name hashCode descriptor ()I flags 401
|
||||
class name jdk/incubator/vector/VectorMask
|
||||
header extends jdk/internal/vm/vector/VectorSupport$VectorMask flags 421 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorMask<TE;>;
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
method name vectorSpecies descriptor ()Ljdk/incubator/vector/VectorSpecies; flags 401 signature ()Ljdk/incubator/vector/VectorSpecies<TE;>;
|
||||
method name length descriptor ()I flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
|
||||
@@ -27,6 +27,20 @@
|
||||
# ##########################################################
|
||||
#
|
||||
class name jdk/incubator/vector/ByteVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Byte;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZI)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZI)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZILjdk/incubator/vector/VectorMask;)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZILjdk/incubator/vector/VectorMask<Ljava/lang/Byte;>;)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZI[II)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZI[II)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
@@ -36,7 +50,85 @@ method name intoBooleanArray descriptor ([ZILjdk/incubator/vector/VectorMask;)V
|
||||
method name intoBooleanArray descriptor ([ZI[II)V flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
method name intoBooleanArray descriptor ([ZI[IILjdk/incubator/vector/VectorMask;)V flags 11 signature ([ZI[IILjdk/incubator/vector/VectorMask<Ljava/lang/Byte;>;)V runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
|
||||
class name jdk/incubator/vector/DoubleVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Double;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
|
||||
class name jdk/incubator/vector/FloatVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Float;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
|
||||
class name jdk/incubator/vector/IntVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Integer;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
|
||||
class name jdk/incubator/vector/LongVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Long;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
|
||||
class name jdk/incubator/vector/ShortVector
|
||||
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Short;>;
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
|
||||
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
|
||||
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CI)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CI)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CILjdk/incubator/vector/VectorMask;)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CILjdk/incubator/vector/VectorMask<Ljava/lang/Short;>;)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CI[II)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CI[II)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
class name jdk/javadoc/doclet/Reporter
|
||||
header extends java/lang/Object flags 601
|
||||
innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
|
||||
method name print descriptor (Ljavax/tools/Diagnostic$Kind;Ljavax/tools/FileObject;IIILjava/lang/String;)V flags 1
|
||||
method name getStandardWriter descriptor ()Ljava/io/PrintWriter; flags 1
|
||||
method name getDiagnosticWriter descriptor ()Ljava/io/PrintWriter; flags 1
|
||||
method name print descriptor (Ljavax/tools/Diagnostic$Kind;Ljavax/tools/FileObject;IIILjava/lang/String;)V flags 1
|
||||
|
||||
class name jdk/javadoc/doclet/StandardDoclet
|
||||
header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -27,7 +27,7 @@
|
||||
# ##########################################################
|
||||
#
|
||||
module name jdk.jfr
|
||||
header exports jdk/jfr,jdk/jfr/consumer requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
|
||||
header exports jdk/jfr,jdk/jfr/consumer extraModulePackages jdk/jfr/internal requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
|
||||
|
||||
class name jdk/jfr/AnnotationElement
|
||||
header extends java/lang/Object flags 31
|
||||
@@ -390,3 +390,12 @@ method name readEventTypes descriptor ()Ljava/util/List; thrownTypes java/io/IOE
|
||||
method name close descriptor ()V thrownTypes java/io/IOException flags 1
|
||||
method name readAllEvents descriptor (Ljava/nio/file/Path;)Ljava/util/List; thrownTypes java/io/IOException flags 9 signature (Ljava/nio/file/Path;)Ljava/util/List<Ljdk/jfr/consumer/RecordedEvent;>;
|
||||
|
||||
class name jdk/jfr/internal/Control
|
||||
header extends java/lang/Object flags 421
|
||||
method name <init> descriptor (Ljava/security/AccessControlContext;)V flags 1
|
||||
method name <init> descriptor (Ljava/lang/String;)V flags 1
|
||||
method name combine descriptor (Ljava/util/Set;)Ljava/lang/String; flags 401 signature (Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
|
||||
method name setValue descriptor (Ljava/lang/String;)V flags 401
|
||||
method name getValue descriptor ()Ljava/lang/String; flags 401
|
||||
method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 11
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -26,6 +26,9 @@
|
||||
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
|
||||
# ##########################################################
|
||||
#
|
||||
module name jdk.jfr
|
||||
header exports jdk/jfr,jdk/jfr/consumer requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
|
||||
|
||||
class name jdk/jfr/SettingControl
|
||||
header extends java/lang/Object flags 421 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;
|
||||
|
||||
@@ -48,3 +51,5 @@ class name jdk/jfr/consumer/RecordedObject
|
||||
class name jdk/jfr/consumer/RecordingStream
|
||||
method name onMetadata descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<Ljdk/jfr/consumer/MetadataEvent;>;)V
|
||||
|
||||
-class name jdk/jfr/internal/Control
|
||||
|
||||
|
||||
@@ -21,4 +21,4 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
tzdata2021a
|
||||
tzdata2022a
|
||||
|
||||
@@ -53,9 +53,6 @@
|
||||
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
||||
# https://www.jstor.org/stable/1774359
|
||||
#
|
||||
# A reliable and entertaining source about time zones is
|
||||
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
|
||||
#
|
||||
# European-style abbreviations are commonly used along the Mediterranean.
|
||||
# For sub-Saharan Africa abbreviations were less standardized.
|
||||
# Previous editions of this database used WAT, CAT, SAT, and EAT
|
||||
@@ -176,8 +173,9 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Abidjan -0:16:08 - LMT 1912
|
||||
0:00 - GMT
|
||||
Link Africa/Abidjan Africa/Accra # Ghana
|
||||
Link Africa/Abidjan Africa/Bamako # Mali
|
||||
Link Africa/Abidjan Africa/Banjul # Gambia
|
||||
Link Africa/Abidjan Africa/Banjul # The Gambia
|
||||
Link Africa/Abidjan Africa/Conakry # Guinea
|
||||
Link Africa/Abidjan Africa/Dakar # Senegal
|
||||
Link Africa/Abidjan Africa/Freetown # Sierra Leone
|
||||
@@ -404,93 +402,8 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
|
||||
# Gabon
|
||||
# See Africa/Lagos.
|
||||
|
||||
# Gambia
|
||||
# See Africa/Abidjan.
|
||||
|
||||
# The Gambia
|
||||
# Ghana
|
||||
|
||||
# From P Chan (2020-11-20):
|
||||
# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02]
|
||||
# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71
|
||||
# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70
|
||||
# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the
|
||||
# Interpretation Ordinance, 1876.
|
||||
#
|
||||
# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24]
|
||||
# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76
|
||||
# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75
|
||||
# This Ordinance removed the previous definition of time and introduced DST.
|
||||
#
|
||||
# Time Determination Ordinance (Cap. 214)
|
||||
# The Laws of the Gold Coast (including Togoland Under British Mandate)
|
||||
# Vol. II (1937), p 2328
|
||||
# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328
|
||||
# Revised edition of the 1919 Ordinance.
|
||||
#
|
||||
# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06]
|
||||
# Annual Volume of the Laws of the Gold Coast:
|
||||
# Containing All Legislation Enacted During Year 1940, p 22
|
||||
# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22
|
||||
# This Ordinance changed the forward transition from September to May.
|
||||
#
|
||||
# Defence (Time Determination Ordinance Amendment) Regulations, 1942
|
||||
# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08]
|
||||
# Annual Volume of the Laws of the Gold Coast:
|
||||
# Containing All Legislation Enacted During Year 1942, p 48
|
||||
# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48
|
||||
# These regulations advanced the [standard] time by thirty minutes.
|
||||
#
|
||||
# Defence (Time Determination Ordinance Amendment (No.2)) Regulations,
|
||||
# 1942 (Regulations No. 28 of 1942) [1942-04-25]
|
||||
# Annual Volume of the Laws of the Gold Coast:
|
||||
# Containing All Legislation Enacted During Year 1942, p 87
|
||||
# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87
|
||||
# These regulations abolished DST and changed the time to GMT+0:30.
|
||||
#
|
||||
# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of
|
||||
# 1945) [1945-10-24, commenced on 1946-01-06]
|
||||
# Annual Volume of the Laws of the Gold Coast:
|
||||
# Containing All Legislation Enacted During Year 1945, p 256
|
||||
# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256
|
||||
# These regulations revoked the previous two sets of Regulations.
|
||||
#
|
||||
# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06]
|
||||
# Annual Volume of the Laws of the Gold Coast:
|
||||
# Containing All Legislation Enacted During Year 1945, p 69
|
||||
# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69
|
||||
# This Ordinance abolished DST.
|
||||
#
|
||||
# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22]
|
||||
# Annual Volume of the Laws of the Gold Coast:
|
||||
# Containing All Legislation Enacted During Year 1950, p 35
|
||||
# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35
|
||||
# This Ordinance restored DST but with thirty minutes offset.
|
||||
#
|
||||
# Time Determination Ordinance (Cap. 264)
|
||||
# The Laws of the Gold Coast, Vol. V (1954), p 380
|
||||
# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380
|
||||
# Revised edition of the Time Determination Ordinance.
|
||||
#
|
||||
# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29]
|
||||
# Annual Volume of the Ordinances of the Gold Coast Enacted During the
|
||||
# Year 1956, p 83
|
||||
# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83
|
||||
# This Ordinance abolished DST.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
|
||||
Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT
|
||||
Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
|
||||
Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020
|
||||
Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
|
||||
Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
|
||||
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
|
||||
0:00 Ghana %s 1942 Feb 8
|
||||
0:30 - +0030 1946 Jan 6
|
||||
0:00 Ghana %s
|
||||
|
||||
# Guinea
|
||||
# See Africa/Abidjan.
|
||||
|
||||
@@ -755,7 +668,7 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
||||
# See Africa/Nairobi.
|
||||
|
||||
# Morocco
|
||||
# See the 'europe' file for Spanish Morocco (Africa/Ceuta).
|
||||
# See Africa/Ceuta for Spanish Morocco.
|
||||
|
||||
# From Alex Krivenyshev (2008-05-09):
|
||||
# Here is an article that Morocco plan to introduce Daylight Saving Time between
|
||||
@@ -1028,6 +941,10 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
||||
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
|
||||
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
|
||||
# (setq islamic-year (+ 1 islamic-year))))
|
||||
#
|
||||
# From Milamber (2021-03-31, 2022-03-10), confirming these predictions:
|
||||
# https://www.mmsp.gov.ma/fr/actualites.aspx?id=2076
|
||||
# https://www.ecoactu.ma/horaires-administration-ramadan-gmtheure-gmt-a-partir-de-dimanche-27-mars/
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
|
||||
@@ -1405,23 +1322,21 @@ Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1
|
||||
0:13:35 - LMT 1914 Jan 1
|
||||
0:30 - +0030 1919 Sep 1
|
||||
1:00 - WAT
|
||||
Link Africa/Lagos Africa/Bangui # Central African Republic
|
||||
Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
|
||||
Link Africa/Lagos Africa/Douala # Cameroon
|
||||
Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west)
|
||||
Link Africa/Lagos Africa/Libreville # Gabon
|
||||
Link Africa/Lagos Africa/Luanda # Angola
|
||||
Link Africa/Lagos Africa/Malabo # Equatorial Guinea
|
||||
Link Africa/Lagos Africa/Niamey # Niger
|
||||
Link Africa/Lagos Africa/Porto-Novo # Benin
|
||||
Link Africa/Lagos Africa/Bangui # Central African Republic
|
||||
Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
|
||||
Link Africa/Lagos Africa/Douala # Cameroon
|
||||
Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west)
|
||||
Link Africa/Lagos Africa/Libreville # Gabon
|
||||
Link Africa/Lagos Africa/Luanda # Angola
|
||||
Link Africa/Lagos Africa/Malabo # Equatorial Guinea
|
||||
Link Africa/Lagos Africa/Niamey # Niger
|
||||
Link Africa/Lagos Africa/Porto-Novo # Benin
|
||||
|
||||
# Réunion
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
|
||||
4:00 - +04
|
||||
#
|
||||
# Crozet Islands also observes Réunion time; see the 'antarctica' file.
|
||||
#
|
||||
# Scattered Islands (Îles Éparses) administered from Réunion are as follows.
|
||||
# The following information about them is taken from
|
||||
# Îles Éparses (<http://www.outre-mer.gouv.fr/domtom/ile.htm>, 1997-07-22,
|
||||
@@ -1513,8 +1428,8 @@ Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
|
||||
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
|
||||
1:30 - SAST 1903 Mar
|
||||
2:00 SA SAST
|
||||
Link Africa/Johannesburg Africa/Maseru # Lesotho
|
||||
Link Africa/Johannesburg Africa/Mbabane # Eswatini
|
||||
Link Africa/Johannesburg Africa/Maseru # Lesotho
|
||||
Link Africa/Johannesburg Africa/Mbabane # Eswatini
|
||||
#
|
||||
# Marion and Prince Edward Is
|
||||
# scientific station since 1947
|
||||
@@ -1550,12 +1465,13 @@ Zone Africa/Khartoum 2:10:08 - LMT 1931
|
||||
3:00 - EAT 2017 Nov 1
|
||||
2:00 - CAT
|
||||
|
||||
# South Sudan
|
||||
|
||||
# From Steffen Thorsen (2021-01-18):
|
||||
# "South Sudan will change its time zone by setting the clock back 1
|
||||
# hour on February 1, 2021...."
|
||||
# from https://eyeradio.org/south-sudan-adopts-new-time-zone-makuei/
|
||||
|
||||
# South Sudan
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Juba 2:06:28 - LMT 1931
|
||||
2:00 Sudan CA%sT 2000 Jan 15 12:00
|
||||
@@ -1660,7 +1576,7 @@ Rule Tunisia 2005 only - Sep 30 1:00s 0 -
|
||||
Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
|
||||
Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
|
||||
|
||||
# See Europe/Paris for PMT-related transitions.
|
||||
# See Europe/Paris commentary for PMT-related transitions.
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
|
||||
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
|
||||
|
||||
@@ -171,7 +171,7 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
|
||||
#
|
||||
# Alfred Faure, Possession Island, Crozet Islands, -462551+0515152, since 1964;
|
||||
# sealing & whaling stations operated variously 1802/1911+;
|
||||
# see Indian/Reunion.
|
||||
# see Asia/Dubai.
|
||||
#
|
||||
# Martin-de-Viviès, Amsterdam Island, -374105+0773155, since 1950
|
||||
# Port-aux-Français, Kerguelen Islands, -492110+0701303, since 1951;
|
||||
@@ -185,17 +185,7 @@ Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
|
||||
5:00 - +05
|
||||
#
|
||||
# year-round base in the main continent
|
||||
# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
|
||||
# <https://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
|
||||
#
|
||||
# Another base at Port-Martin, 50km east, began operation in 1947.
|
||||
# It was destroyed by fire on 1952-01-14.
|
||||
#
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Antarctica/DumontDUrville 0 - -00 1947
|
||||
10:00 - +10 1952 Jan 14
|
||||
0 - -00 1956 Nov
|
||||
10:00 - +10
|
||||
# Dumont d'Urville - see Pacific/Port_Moresby.
|
||||
|
||||
# France & Italy - year-round base
|
||||
# Concordia, -750600+1232000, since 2005
|
||||
@@ -211,20 +201,7 @@ Zone Antarctica/DumontDUrville 0 - -00 1947
|
||||
# Zuchelli, Terra Nova Bay, -744140+1640647, since 1986
|
||||
|
||||
# Japan - year-round bases
|
||||
# Syowa (also known as Showa), -690022+0393524, since 1957
|
||||
#
|
||||
# From Hideyuki Suzuki (1999-02-06):
|
||||
# In all Japanese stations, +0300 is used as the standard time.
|
||||
#
|
||||
# Syowa station, which is the first antarctic station of Japan,
|
||||
# was established on 1957-01-29. Since Syowa station is still the main
|
||||
# station of Japan, it's appropriate for the principal location.
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Antarctica/Syowa 0 - -00 1957 Jan 29
|
||||
3:00 - +03
|
||||
# See:
|
||||
# NIPR Antarctic Research Activities (1999-08-17)
|
||||
# http://www.nipr.ac.jp/english/ara01.html
|
||||
# See Asia/Riyadh.
|
||||
|
||||
# S Korea - year-round base
|
||||
# Jang Bogo, Terra Nova Bay, -743700+1641205 since 2014
|
||||
|
||||
@@ -57,9 +57,6 @@
|
||||
# Byalokoz EL. New Counting of Time in Russia since July 1, 1919.
|
||||
# (See the 'europe' file for a fuller citation.)
|
||||
#
|
||||
# A reliable and entertaining source about time zones is
|
||||
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
|
||||
#
|
||||
# The following alphabetic abbreviations appear in these tables
|
||||
# (corrections are welcome):
|
||||
# std dst
|
||||
@@ -2257,6 +2254,14 @@ Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
|
||||
# From Paul Eggert (2013-12-11):
|
||||
# As Steffen suggested, consider the past 21-month experiment to be DST.
|
||||
|
||||
# From Steffen Thorsen (2021-09-24):
|
||||
# The Jordanian Government announced yesterday that they will start DST
|
||||
# in February instead of March:
|
||||
# https://petra.gov.jo/Include/InnerPage.jsp?ID=37683&lang=en&name=en_news (English)
|
||||
# https://petra.gov.jo/Include/InnerPage.jsp?ID=189969&lang=ar&name=news (Arabic)
|
||||
# From the Arabic version, it seems to say it would be at midnight
|
||||
# (assume 24:00) on the last Thursday in February, starting from 2022.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Jordan 1973 only - Jun 6 0:00 1:00 S
|
||||
Rule Jordan 1973 1975 - Oct 1 0:00 0 -
|
||||
@@ -2287,8 +2292,9 @@ Rule Jordan 2004 only - Oct 15 0:00s 0 -
|
||||
Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
|
||||
Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 -
|
||||
Rule Jordan 2013 only - Dec 20 0:00 0 -
|
||||
Rule Jordan 2014 max - Mar lastThu 24:00 1:00 S
|
||||
Rule Jordan 2014 2021 - Mar lastThu 24:00 1:00 S
|
||||
Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
|
||||
Rule Jordan 2022 max - Feb lastThu 24:00 1:00 S
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Amman 2:23:44 - LMT 1931
|
||||
2:00 Jordan EE%sT
|
||||
@@ -2763,7 +2769,8 @@ Rule NBorneo 1935 1941 - Dec 14 0:00 0 -
|
||||
#
|
||||
# peninsular Malaysia
|
||||
# taken from Mok Ly Yng (2003-10-30)
|
||||
# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
|
||||
# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
|
||||
# This agrees with Singapore since 1905-06-01.
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1
|
||||
6:55:25 - SMT 1905 Jun 1 # Singapore M.T.
|
||||
@@ -3402,11 +3409,6 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
||||
# shall [end] on Oct 24th 2020 at 01:00AM by delaying the clock by 60 minutes.
|
||||
# http://www.palestinecabinet.gov.ps/portal/Meeting/Details/51584
|
||||
|
||||
# From Tim Parenti (2020-10-20):
|
||||
# Predict future fall transitions at 01:00 on the Saturday preceding October's
|
||||
# last Sunday (i.e., Sat>=24). This is consistent with our predictions since
|
||||
# 2016, although the time of the change differed slightly in 2019.
|
||||
|
||||
# From Pierre Cashon (2020-10-20):
|
||||
# The summer time this year started on March 28 at 00:00.
|
||||
# https://wafa.ps/ar_page.aspx?id=GveQNZa872839351758aGveQNZ
|
||||
@@ -3419,6 +3421,21 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
||||
# For now, guess spring-ahead transitions are at 00:00 on the Saturday
|
||||
# preceding March's last Sunday (i.e., Sat>=24).
|
||||
|
||||
# From P Chan (2021-10-18):
|
||||
# http://wafa.ps/Pages/Details/34701
|
||||
# Palestine winter time will start from midnight 2021-10-29 (Thursday-Friday).
|
||||
#
|
||||
# From Heba Hemad, Palestine Ministry of Telecom & IT (2021-10-20):
|
||||
# ... winter time will begin in Palestine from Friday 10-29, 01:00 AM
|
||||
# by 60 minutes backwards.
|
||||
#
|
||||
# From Tim Parenti (2021-10-25), per Paul Eggert (2021-10-24):
|
||||
# Guess future fall transitions at 01:00 on the Friday preceding October's
|
||||
# last Sunday (i.e., Fri>=23), as this is more consistent with recent practice.
|
||||
|
||||
# From Heba Hamad (2022-03-10):
|
||||
# summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
|
||||
Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 -
|
||||
@@ -3453,8 +3470,10 @@ Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
|
||||
Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 -
|
||||
Rule Palestine 2019 only - Mar 29 0:00 1:00 S
|
||||
Rule Palestine 2019 only - Oct Sat>=24 0:00 0 -
|
||||
Rule Palestine 2020 max - Mar Sat>=24 0:00 1:00 S
|
||||
Rule Palestine 2020 max - Oct Sat>=24 1:00 0 -
|
||||
Rule Palestine 2020 2021 - Mar Sat>=24 0:00 1:00 S
|
||||
Rule Palestine 2020 only - Oct 24 1:00 0 -
|
||||
Rule Palestine 2021 max - Oct Fri>=23 1:00 0 -
|
||||
Rule Palestine 2022 max - Mar Sun>=25 0:00 1:00 S
|
||||
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
|
||||
@@ -3523,6 +3542,12 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
|
||||
# influence of the sources. There is no current abbreviation for DST,
|
||||
# so use "PDT", the usual American style.
|
||||
|
||||
# From P Chan (2021-05-10):
|
||||
# Here's a fairly comprehensive article in Japanese:
|
||||
# https://wiki.suikawiki.org/n/Philippine%20Time
|
||||
# From Paul Eggert (2021-05-10):
|
||||
# The info in the Japanese table has not been absorbed (yet) below.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Phil 1936 only - Nov 1 0:00 1:00 D
|
||||
Rule Phil 1937 only - Feb 1 0:00 0 S
|
||||
@@ -3589,12 +3614,13 @@ Link Asia/Qatar Asia/Bahrain
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14
|
||||
3:00 - +03
|
||||
Link Asia/Riyadh Antarctica/Syowa
|
||||
Link Asia/Riyadh Asia/Aden # Yemen
|
||||
Link Asia/Riyadh Asia/Kuwait
|
||||
|
||||
# Singapore
|
||||
# taken from Mok Ly Yng (2003-10-30)
|
||||
# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
|
||||
# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
|
||||
6:55:25 - SMT 1905 Jun 1 # Singapore M.T.
|
||||
|
||||
@@ -408,9 +408,22 @@ Zone Indian/Cocos 6:27:40 - LMT 1900
|
||||
# "Minister for Employment, Parveen Bala says they had never thought of
|
||||
# stopping daylight saving. He says it was just to decide on when it should
|
||||
# start and end. Bala says it is a short period..."
|
||||
# Since the end date is still in line with our ongoing predictions, assume for
|
||||
# now that the later-than-usual start date is a one-time departure from the
|
||||
# recent second Sunday in November pattern.
|
||||
#
|
||||
# From Tim Parenti (2021-10-11), per Jashneel Kumar (2021-10-11) and P Chan
|
||||
# (2021-10-12):
|
||||
# https://www.fiji.gov.fj/Media-Centre/Speeches/English/PM-BAINIMARAMA-S-COVID-19-ANNOUNCEMENT-10-10-21
|
||||
# https://www.fbcnews.com.fj/news/covid-19/curfew-moved-back-to-11pm/
|
||||
# In a 2021-10-10 speech concerning updated Covid-19 mitigation measures in
|
||||
# Fiji, prime minister Josaia Voreqe "Frank" Bainimarama announced the
|
||||
# suspension of DST for the 2021/2022 season: "Given that we are in the process
|
||||
# of readjusting in the midst of so many changes, we will also put Daylight
|
||||
# Savings Time on hold for this year. It will also make the reopening of
|
||||
# scheduled commercial air service much smoother if we don't have to be
|
||||
# concerned shifting arrival and departure times, which may look like a simple
|
||||
# thing but requires some significant logistical adjustments domestically and
|
||||
# internationally."
|
||||
# Assume for now that DST will resume with the recent pre-2020 rules for the
|
||||
# 2022/2023 season.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
|
||||
@@ -422,10 +435,11 @@ Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
|
||||
Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
|
||||
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
|
||||
Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
|
||||
Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
|
||||
Rule Fiji 2015 2021 - Jan Sun>=12 3:00 0 -
|
||||
Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 -
|
||||
Rule Fiji 2020 only - Dec 20 2:00 1:00 -
|
||||
Rule Fiji 2021 max - Nov Sun>=8 2:00 1:00 -
|
||||
Rule Fiji 2022 max - Nov Sun>=8 2:00 1:00 -
|
||||
Rule Fiji 2023 max - Jan Sun>=12 3:00 0 -
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
|
||||
12:00 Fiji +12/+13
|
||||
@@ -487,7 +501,7 @@ Link Pacific/Guam Pacific/Saipan # N Mariana Is
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
|
||||
12:00 - +12
|
||||
Zone Pacific/Enderbury -11:24:20 - LMT 1901
|
||||
Zone Pacific/Kanton 0 - -00 1937 Aug 31
|
||||
-12:00 - -12 1979 Oct
|
||||
-11:00 - -11 1994 Dec 31
|
||||
13:00 - +13
|
||||
@@ -620,13 +634,46 @@ Link Pacific/Auckland Antarctica/McMurdo
|
||||
# was probably like Pacific/Auckland
|
||||
|
||||
# Cook Is
|
||||
# From Shanks & Pottenger:
|
||||
#
|
||||
# From Alexander Krivenyshev (2021-03-24):
|
||||
# In 1899 the Cook Islands celebrated Christmas twice to correct the calendar.
|
||||
# According to the old books, missionaries were unaware of
|
||||
# the International Date line, when they came from Sydney.
|
||||
# Thus the Cook Islands were one day ahead....
|
||||
# http://nzetc.victoria.ac.nz/tm/scholarly/tei-KloDisc-t1-body-d18.html
|
||||
# ... Appendix to the Journals of the House of Representatives, 1900
|
||||
# https://atojs.natlib.govt.nz/cgi-bin/atojs?a=d&d=AJHR1900-I.2.1.2.3
|
||||
# (page 20)
|
||||
#
|
||||
# From Michael Deckers (2021-03-24):
|
||||
# ... in the Cook Island Act of 1915-10-11, online at
|
||||
# http://www.paclii.org/ck/legis/ck-nz_act/cia1915132/
|
||||
# "651. The hour of the day shall in each of the islands included in the
|
||||
# Cook Islands be determined in accordance with the meridian of that island."
|
||||
# so that local (mean?) time was still used in Rarotonga (and Niue) in 1915.
|
||||
# This was changed in the Cook Island Amendment Act of 1952-10-16 ...
|
||||
# http://www.paclii.org/ck/legis/ck-nz_act/ciaa1952212/
|
||||
# "651 (1) The hour of the day in each of the islands included in the Cook
|
||||
# Islands, other than Niue, shall be determined as if each island were
|
||||
# situated on the meridian one hundred and fifty-seven degrees thirty minutes
|
||||
# West of Greenwich. (2) The hour of the day in the Island of Niue shall be
|
||||
# determined as if that island were situated on the meridian one hundred and
|
||||
# seventy degrees West of Greenwich."
|
||||
# This act does not state when it takes effect, so one has to assume it
|
||||
# applies since 1952-10-16. But there is the possibility that the act just
|
||||
# legalized prior existing practice, as we had seen with the Guernsey law of
|
||||
# 1913-06-18 for the switch in 1909-04-19.
|
||||
#
|
||||
# From Paul Eggert (2021-03-24):
|
||||
# Transitions after 1952 are from Shanks & Pottenger.
|
||||
#
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Cook 1978 only - Nov 12 0:00 0:30 -
|
||||
Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
|
||||
Rule Cook 1979 1990 - Oct lastSun 0:00 0:30 -
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
|
||||
Zone Pacific/Rarotonga 13:20:56 - LMT 1899 Dec 26 # Avarua
|
||||
-10:39:04 - LMT 1952 Oct 16
|
||||
-10:30 - -1030 1978 Nov 12
|
||||
-10:00 Cook -10/-0930
|
||||
|
||||
@@ -634,10 +681,18 @@ Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
|
||||
|
||||
|
||||
# Niue
|
||||
# See Pacific/Raratonga comments for 1952 transition.
|
||||
#
|
||||
# From Tim Parenti (2021-09-13):
|
||||
# Consecutive contemporaneous editions of The Air Almanac listed -11:20 for
|
||||
# Niue as of Apr 1964 but -11 as of Aug 1964:
|
||||
# Apr 1964: https://books.google.com/books?id=_1So677Y5vUC&pg=SL1-PA23
|
||||
# Aug 1964: https://books.google.com/books?id=MbJloqd-zyUC&pg=SL1-PA23
|
||||
# Without greater specificity, guess 1964-07-01 for this transition.
|
||||
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi
|
||||
-11:20 - -1120 1951
|
||||
-11:30 - -1130 1978 Oct 1
|
||||
Zone Pacific/Niue -11:19:40 - LMT 1952 Oct 16 # Alofi
|
||||
-11:20 - -1120 1964 Jul
|
||||
-11:00 - -11
|
||||
|
||||
# Norfolk
|
||||
@@ -661,6 +716,7 @@ Zone Pacific/Palau -15:02:04 - LMT 1844 Dec 31 # Koror
|
||||
Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
|
||||
9:48:32 - PMMT 1895 # Port Moresby Mean Time
|
||||
10:00 - +10
|
||||
Link Pacific/Port_Moresby Antarctica/DumontDUrville
|
||||
#
|
||||
# From Paul Eggert (2014-10-13):
|
||||
# Base the Bougainville entry on the Arawa-Kieta region, which appears to have
|
||||
@@ -765,13 +821,17 @@ Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands
|
||||
# From Paul Eggert (2014-07-08):
|
||||
# That web page currently lists transitions for 2012/3 and 2013/4.
|
||||
# Assume the pattern instituted in 2012 will continue indefinitely.
|
||||
#
|
||||
# From Geoffrey D. Bennett (2021-09-20):
|
||||
# https://www.mcil.gov.ws/storage/2021/09/MCIL-Scan_20210920_120553.pdf
|
||||
# DST has been cancelled for this year.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule WS 2010 only - Sep lastSun 0:00 1 -
|
||||
Rule WS 2011 only - Apr Sat>=1 4:00 0 -
|
||||
Rule WS 2011 only - Sep lastSat 3:00 1 -
|
||||
Rule WS 2012 max - Apr Sun>=1 4:00 0 -
|
||||
Rule WS 2012 max - Sep lastSun 3:00 1 -
|
||||
Rule WS 2012 2021 - Apr Sun>=1 4:00 0 -
|
||||
Rule WS 2012 2020 - Sep lastSun 3:00 1 -
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
|
||||
-11:26:56 - LMT 1911
|
||||
@@ -818,8 +878,8 @@ Rule Tonga 2001 2002 - Jan lastSun 2:00 0 -
|
||||
Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
|
||||
Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Tongatapu 12:19:20 - LMT 1901
|
||||
12:20 - +1220 1941
|
||||
Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10
|
||||
12:20 - +1220 1961
|
||||
13:00 - +13 1999
|
||||
13:00 Tonga +13/+14
|
||||
|
||||
@@ -1761,6 +1821,23 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# One source for this is page 202 of: Bartky IR. One Time Fits All:
|
||||
# The Campaigns for Global Uniformity (2007).
|
||||
|
||||
# Kanton
|
||||
|
||||
# From Paul Eggert (2021-05-27):
|
||||
# Kiribati's +13 timezone is represented by Kanton, its only populated
|
||||
# island. (It was formerly spelled "Canton", but Gilbertese lacks "C".)
|
||||
# Kanton was settled on 1937-08-31 by two British radio operators
|
||||
# <https://history.state.gov/historicaldocuments/frus1937v02/d94>;
|
||||
# Americans came the next year and built an airfield, partly to
|
||||
# establish airline service and perhaps partly anticipating the
|
||||
# next war. Aside from the war, the airfield was used by commercial
|
||||
# airlines until long-range jets became standard; although currently
|
||||
# for emergency use only, China says it is considering rebuilding the
|
||||
# airfield for high-end niche tourism. Kanton has about two dozen
|
||||
# people, caretakers who rotate in from the rest of Kiribati in 2-5
|
||||
# year shifts, and who use some of the leftover structures
|
||||
# <http://pipa.neaq.org/2012/06/images-of-kanton-island.html>.
|
||||
|
||||
# Kwajalein
|
||||
|
||||
# From an AP article (1993-08-22):
|
||||
@@ -2044,6 +2121,17 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
|
||||
# Tonga
|
||||
|
||||
# From Paul Eggert (2021-03-04):
|
||||
# In 1943 "The standard time kept is 12 hrs. 19 min. 12 sec. fast
|
||||
# on Greenwich mean time." according to the Admiralty's Hydrographic
|
||||
# Dept., Pacific Islands Pilot, Vol. II, 7th ed., 1943, p 360.
|
||||
|
||||
# From Michael Deckers (2021-03-03):
|
||||
# [Ian R Bartky: "One Time Fits All: The Campaigns for Global Uniformity".
|
||||
# Stanford University Press. 2007. p. 255]:
|
||||
# On 10 September 1945 Tonga adopted a standard time 12 hours,
|
||||
# 20 minutes in advance of Greenwich.
|
||||
|
||||
# From Paul Eggert (1996-01-22):
|
||||
# Today's _Wall Street Journal_ (p 1) reports that "Tonga has been plotting
|
||||
# to sneak ahead of [New Zealanders] by introducing daylight-saving time."
|
||||
@@ -2072,9 +2160,26 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# The Crown Prince, presented an unanswerable argument: "Remember that
|
||||
# on the World Day of Prayer, you would be the first people on Earth
|
||||
# to say your prayers in the morning."
|
||||
|
||||
# From Paul Eggert (2006-03-22):
|
||||
# Shanks & Pottenger say the transition was on 1968-10-01; go with Mundell.
|
||||
#
|
||||
# From Tim Parenti (2021-09-13), per Paul Eggert (2006-03-22) and Michael
|
||||
# Deckers (2021-03-03):
|
||||
# Mundell places the transition from +12:20 to +13 in 1941, while Shanks &
|
||||
# Pottenger say the transition was on 1968-10-01.
|
||||
#
|
||||
# The Air Almanac published contemporaneous tables of standard times,
|
||||
# which listed +12:20 as of Nov 1960 and +13 as of Mar 1961:
|
||||
# Nov 1960: https://books.google.com/books?id=bVgtWM6kPZUC&pg=SL1-PA19
|
||||
# Mar 1961: https://books.google.com/books?id=W2nItAul4g0C&pg=SL1-PA19
|
||||
# (Thanks to P Chan for pointing us toward these sources.)
|
||||
# This agrees with Bartky, who writes that "since 1961 [Tonga's] official time
|
||||
# has been thirteen hours in advance of Greenwich time" (p. 202) and further
|
||||
# writes in an endnote that this was because "the legislation was amended" on
|
||||
# 1960-10-19. (p. 255)
|
||||
#
|
||||
# Without greater specificity, presume that Bartky and the Air Almanac point to
|
||||
# a 1961-01-01 transition, as Tāufaʻāhau Tupou IV was still Crown Prince in
|
||||
# 1961 and this still jives with the gist of Mundell's telling, and go with
|
||||
# this over Shanks & Pottenger.
|
||||
|
||||
# From Eric Ulevik (1999-05-03):
|
||||
# Tonga's director of tourism, who is also secretary of the National Millennium
|
||||
|
||||
@@ -26,8 +26,10 @@
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# This file provides links between current names for timezones
|
||||
# and their old names. Many names changed in late 1993.
|
||||
# This file provides links from old or merged timezone names to current ones.
|
||||
# Many names changed in late 1993. Several of these names are
|
||||
# also present in the file 'backzone', which has data important only
|
||||
# for pre-1970 timestamps and so is out of scope for tzdb proper.
|
||||
|
||||
# Link TARGET LINK-NAME
|
||||
Link Africa/Nairobi Africa/Asmera
|
||||
@@ -36,7 +38,7 @@ Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
|
||||
Link America/Adak America/Atka
|
||||
Link America/Argentina/Buenos_Aires America/Buenos_Aires
|
||||
Link America/Argentina/Catamarca America/Catamarca
|
||||
Link America/Atikokan America/Coral_Harbour
|
||||
Link America/Panama America/Coral_Harbour
|
||||
Link America/Argentina/Cordoba America/Cordoba
|
||||
Link America/Tijuana America/Ensenada
|
||||
Link America/Indiana/Indianapolis America/Fort_Wayne
|
||||
@@ -51,7 +53,7 @@ Link America/Rio_Branco America/Porto_Acre
|
||||
Link America/Argentina/Cordoba America/Rosario
|
||||
Link America/Tijuana America/Santa_Isabel
|
||||
Link America/Denver America/Shiprock
|
||||
Link America/Port_of_Spain America/Virgin
|
||||
Link America/Puerto_Rico America/Virgin
|
||||
Link Pacific/Auckland Antarctica/South_Pole
|
||||
Link Asia/Ashgabat Asia/Ashkhabad
|
||||
Link Asia/Kolkata Asia/Calcutta
|
||||
@@ -126,6 +128,7 @@ Link Pacific/Auckland NZ
|
||||
Link Pacific/Chatham NZ-CHAT
|
||||
Link America/Denver Navajo
|
||||
Link Asia/Shanghai PRC
|
||||
Link Pacific/Kanton Pacific/Enderbury
|
||||
Link Pacific/Honolulu Pacific/Johnston
|
||||
Link Pacific/Pohnpei Pacific/Ponape
|
||||
Link Pacific/Pago_Pago Pacific/Samoa
|
||||
|
||||
@@ -91,7 +91,6 @@
|
||||
# 0:00 GMT BST BDST Greenwich, British Summer
|
||||
# 0:00 GMT IST Greenwich, Irish Summer
|
||||
# 0:00 WET WEST WEMT Western Europe
|
||||
# 0:19:32.13 AMT* NST* Amsterdam, Netherlands Summer (1835-1937)
|
||||
# 1:00 BST British Standard (1968-1971)
|
||||
# 1:00 IST GMT Irish Standard (1968-) with winter DST
|
||||
# 1:00 CET CEST CEMT Central Europe
|
||||
@@ -845,7 +844,7 @@ Zone Europe/Andorra 0:06:04 - LMT 1901
|
||||
# Shanks & Pottenger give 02:00, the BEV 00:00. Go with the BEV,
|
||||
# and guess 02:00 for 1945-04-12.
|
||||
|
||||
# From Alois Triendl (2019-07-22):
|
||||
# From Alois Treindl (2019-07-22):
|
||||
# In 1946 the end of DST was on Monday, 7 October 1946, at 3:00 am.
|
||||
# Shanks had this right. Source: Die Weltpresse, 5. Oktober 1946, page 5.
|
||||
|
||||
@@ -1759,19 +1758,22 @@ Zone Atlantic/Reykjavik -1:28 - LMT 1908
|
||||
# advanced to sixty minutes later starting at hour two on 1944-04-02; ...
|
||||
# Starting at hour three on the date 1944-09-17 standard time will be resumed.
|
||||
#
|
||||
# From Alois Triendl (2019-07-02):
|
||||
# From Alois Treindl (2019-07-02):
|
||||
# I spent 6 Euros to buy two archive copies of Il Messaggero, a Roman paper,
|
||||
# for 1 and 2 April 1944. The edition of 2 April has this note: "Tonight at 2
|
||||
# am, put forward the clock by one hour. Remember that in the night between
|
||||
# today and Monday the 'ora legale' will come in force again." That makes it
|
||||
# clear that in Rome the change was on Monday, 3 April 1944 at 2 am.
|
||||
#
|
||||
# From Paul Eggert (2016-10-27):
|
||||
# From Paul Eggert (2021-10-05):
|
||||
# Go with INRiM for DST rules, except as corrected by Inglis for 1944
|
||||
# for the Kingdom of Italy. This is consistent with Renzo Baldini.
|
||||
# Model Rome's occupation by using C-Eur rules from 1943-09-10
|
||||
# to 1944-06-04; although Rome was an open city during this period, it
|
||||
# was effectively controlled by Germany.
|
||||
# was effectively controlled by Germany. Using C-Eur is consistent
|
||||
# with Treindl's comment about Rome in April 1944, as the "Rule Italy"
|
||||
# lines during German occupation do not affect Europe/Rome
|
||||
# (though they do affect Europe/Malta).
|
||||
#
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Italy 1916 only - Jun 3 24:00 1:00 S
|
||||
@@ -1823,6 +1825,10 @@ Zone Europe/Rome 0:49:56 - LMT 1866 Dec 12
|
||||
1:00 Italy CE%sT 1980
|
||||
1:00 EU CE%sT
|
||||
|
||||
# Kosovo
|
||||
# See Europe/Belgrade.
|
||||
|
||||
|
||||
Link Europe/Rome Europe/Vatican
|
||||
Link Europe/Rome Europe/San_Marino
|
||||
|
||||
@@ -2173,6 +2179,10 @@ Zone Europe/Monaco 0:29:32 - LMT 1892 Jun 1
|
||||
# The data entries before 1945 are taken from
|
||||
# https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm
|
||||
|
||||
# From Paul Eggert (2021-05-09):
|
||||
# I invented the abbreviations AMT for Amsterdam Mean Time and NST for
|
||||
# Netherlands Summer Time, used in the Netherlands from 1835 to 1937.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time
|
||||
Rule Neth 1916 only - Oct 1 0:00 0 AMT # Amsterdam Mean Time
|
||||
@@ -2399,12 +2409,10 @@ Rule Port 1943 1945 - Aug Sat>=25 22:00s 1:00 S
|
||||
Rule Port 1944 1945 - Apr Sat>=21 22:00s 2:00 M
|
||||
Rule Port 1946 only - Apr Sat>=1 23:00s 1:00 S
|
||||
Rule Port 1946 only - Oct Sat>=1 23:00s 0 -
|
||||
Rule Port 1947 1949 - Apr Sun>=1 2:00s 1:00 S
|
||||
Rule Port 1947 1949 - Oct Sun>=1 2:00s 0 -
|
||||
# Shanks & Pottenger say DST was observed in 1950; go with Whitman.
|
||||
# Whitman says DST was not observed in 1950; go with Shanks & Pottenger.
|
||||
# Whitman gives Oct lastSun for 1952 on; go with Shanks & Pottenger.
|
||||
Rule Port 1951 1965 - Apr Sun>=1 2:00s 1:00 S
|
||||
Rule Port 1951 1965 - Oct Sun>=1 2:00s 0 -
|
||||
Rule Port 1947 1965 - Apr Sun>=1 2:00s 1:00 S
|
||||
Rule Port 1947 1965 - Oct Sun>=1 2:00s 0 -
|
||||
Rule Port 1977 only - Mar 27 0:00s 1:00 S
|
||||
Rule Port 1977 only - Sep 25 0:00s 0 -
|
||||
Rule Port 1978 1979 - Apr Sun>=1 0:00s 1:00 S
|
||||
@@ -2641,7 +2649,7 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
|
||||
# Although Shanks lists 1945-01-01 as the date for transition from
|
||||
# +01/+02 to +02/+03, more likely this is a placeholder. Guess that
|
||||
# the transition occurred at 1945-04-10 00:00, which is about when
|
||||
# Königsberg surrendered to Soviet troops. (Thanks to Alois Triendl.)
|
||||
# Königsberg surrendered to Soviet troops. (Thanks to Alois Treindl.)
|
||||
|
||||
# From Paul Eggert (2016-03-18):
|
||||
# The 1989 transition is from USSR act No. 227 (1989-03-14).
|
||||
@@ -2800,8 +2808,26 @@ Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr
|
||||
# says he remembers that Samara opted out of the 1992-01-19 exception
|
||||
# 2 days before the switch.
|
||||
#
|
||||
# From Alois Treindl (2022-02-15):
|
||||
# the Russian wikipedia page
|
||||
# https://ru.wikipedia.org/wiki/Московское_время#Перемещение_границы_применения_московского_времени_на_восток
|
||||
# contains the sentence (in Google translation) "In the autumn of
|
||||
# 1981, Arkhangelsk, Vologda, Yaroslavl, Ivanovo, Vladimir, Ryazan,
|
||||
# Lipetsk, Voronezh, Rostov-on-Don, Krasnodar and regions to the east
|
||||
# of those named (about 30 in total) parted ways with Moscow time.
|
||||
# However, the convenience of common time with Moscow turned out to be
|
||||
# decisive - in 1982, these regions again switched to Moscow time."
|
||||
# Shanks International atlas has similar information, and also the
|
||||
# Russian book Zaitsev A., Kutalev D. A new astrologer's reference
|
||||
# book. Coordinates of cities and time corrections, - The World of
|
||||
# Urania, 2012 (Russian: Зайцев А., Куталёв Д., Новый справочник
|
||||
# астролога. Координаты городов и временные поправки).
|
||||
# To me it seems that an extra zone is needed, which starts with LMT
|
||||
# util 1919, later follows Moscow since 1930, but deviates from it
|
||||
# between 1 October 1981 until 1 April 1982.
|
||||
#
|
||||
# From Paul Eggert (2016-03-18):
|
||||
#
|
||||
# From Paul Eggert (2022-02-15):
|
||||
# Given the above, we appear to be missing some Zone entries for the
|
||||
# chaotic early 1980s in Russia. It's not clear what these entries
|
||||
# should be. For now, sweep this under the rug and just document the
|
||||
@@ -2848,7 +2874,7 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880
|
||||
1:00 C-Eur CE%sT 1944 Apr 13
|
||||
3:00 Russia MSK/MSD 1990
|
||||
3:00 - MSK 1990 Jul 1 2:00
|
||||
2:00 - EET 1992
|
||||
2:00 - EET 1992 Mar 20
|
||||
# Central Crimea used Moscow time 1994/1997.
|
||||
#
|
||||
# From Paul Eggert (2006-03-22):
|
||||
@@ -2858,7 +2884,7 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880
|
||||
# sometime between the 1994 DST switches. Shanks & Pottenger simply say
|
||||
# 1994-09-25 03:00, but that can't be right. For now, guess it
|
||||
# changed in May.
|
||||
2:00 E-Eur EE%sT 1994 May
|
||||
2:00 C-Eur EE%sT 1994 May
|
||||
# From IATA SSIM (1994/1997), which also says that Kerch is still like Kiev.
|
||||
3:00 E-Eur MSK/MSD 1996 Mar 31 0:00s
|
||||
3:00 1:00 MSD 1996 Oct 27 3:00s
|
||||
@@ -3706,6 +3732,9 @@ Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C.
|
||||
#
|
||||
# Source: The newspaper "Dagens Nyheter", 1916-10-01, page 7 upper left.
|
||||
|
||||
# An extra-special abbreviation style is SET for Swedish Time (svensk
|
||||
# normaltid) 1879-1899, 3° west of the Stockholm Observatory.
|
||||
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Europe/Stockholm 1:12:12 - LMT 1879 Jan 1
|
||||
1:00:14 - SET 1900 Jan 1 # Swedish Time
|
||||
@@ -4022,6 +4051,27 @@ Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
|
||||
|
||||
# Ukraine
|
||||
#
|
||||
# From Alois Triendl (2014-03-01):
|
||||
# REGULATION A N O V A on March 20, 1992 N 139 ... means that from
|
||||
# 1992 on, Ukraine had DST with begin time at 02:00 am, on last Sunday
|
||||
# in March, and end time 03:00 am, last Sunday in September....
|
||||
# CABINET OF MINISTERS OF UKRAINE RESOLUTION on May 13, 1996 N 509
|
||||
# "On the order of computation time on the territory of Ukraine" ....
|
||||
# As this cabinet decision is from May 1996, it seems likely that the
|
||||
# transition in March 1996, which predates it, was still at 2:00 am
|
||||
# and not at 3:00 as would have been under EU rules.
|
||||
# This is why I have set the change to EU rules into May 1996,
|
||||
# so that the change in March is stil covered by the Ukraine rule.
|
||||
# The next change in October 1996 happened under EU rules....
|
||||
# TZ database holds three other zones for Ukraine.... I have not yet
|
||||
# worked out the consequences for these three zones, as we (me and my
|
||||
# US colleague David Cochrane) are still trying to get more
|
||||
# information upon these local deviations from Kiev rules.
|
||||
#
|
||||
# From Paul Eggert (2022-02-08):
|
||||
# For now, assume that Ukraine's other three zones followed the same rules,
|
||||
# except that Crimea switched to Moscow time in 1994 as described elsewhere.
|
||||
|
||||
# From Igor Karpov, who works for the Ukrainian Ministry of Justice,
|
||||
# via Garrett Wollman (2003-01-27):
|
||||
# BTW, I've found the official document on this matter. It's government
|
||||
@@ -4111,7 +4161,7 @@ Zone Europe/Kiev 2:02:04 - LMT 1880
|
||||
1:00 C-Eur CE%sT 1943 Nov 6
|
||||
3:00 Russia MSK/MSD 1990 Jul 1 2:00
|
||||
2:00 1:00 EEST 1991 Sep 29 3:00
|
||||
2:00 E-Eur EE%sT 1995
|
||||
2:00 C-Eur EE%sT 1996 May 13
|
||||
2:00 EU EE%sT
|
||||
# Transcarpathia used CET 1990/1991.
|
||||
# "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but
|
||||
@@ -4124,8 +4174,8 @@ Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct
|
||||
3:00 Russia MSK/MSD 1990
|
||||
3:00 - MSK 1990 Jul 1 2:00
|
||||
1:00 - CET 1991 Mar 31 3:00
|
||||
2:00 - EET 1992
|
||||
2:00 E-Eur EE%sT 1995
|
||||
2:00 - EET 1992 Mar 20
|
||||
2:00 C-Eur EE%sT 1996 May 13
|
||||
2:00 EU EE%sT
|
||||
# Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991.
|
||||
# "Zaporizhia" is the transliteration of the Ukrainian name, but
|
||||
@@ -4138,7 +4188,8 @@ Zone Europe/Zaporozhye 2:20:40 - LMT 1880
|
||||
3:00 - MSK 1941 Aug 25
|
||||
1:00 C-Eur CE%sT 1943 Oct 25
|
||||
3:00 Russia MSK/MSD 1991 Mar 31 2:00
|
||||
2:00 E-Eur EE%sT 1995
|
||||
2:00 E-Eur EE%sT 1992 Mar 20
|
||||
2:00 C-Eur EE%sT 1996 May 13
|
||||
2:00 EU EE%sT
|
||||
|
||||
# Vatican City
|
||||
|
||||
@@ -95,11 +95,11 @@ Leap 2016 Dec 31 23:59:60 + S
|
||||
# Any additional leap seconds will come after this.
|
||||
# This Expires line is commented out for now,
|
||||
# so that pre-2020a zic implementations do not reject this file.
|
||||
#Expires 2021 Dec 28 00:00:00
|
||||
#Expires 2022 Dec 28 00:00:00
|
||||
|
||||
# POSIX timestamps for the data in this file:
|
||||
#updated 1467936000 (2016-07-08 00:00:00 UTC)
|
||||
#expires 1640649600 (2021-12-28 00:00:00 UTC)
|
||||
#expires 1672185600 (2022-12-28 00:00:00 UTC)
|
||||
|
||||
# Updated through IERS Bulletin C61
|
||||
# File expires on: 28 December 2021
|
||||
# Updated through IERS Bulletin C63
|
||||
# File expires on: 28 December 2022
|
||||
|
||||
@@ -752,7 +752,11 @@ Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35
|
||||
-11:00 US B%sT 1983 Oct 30 2:00
|
||||
-10:00 US AH%sT 1983 Nov 30
|
||||
-10:00 US H%sT
|
||||
# The following switches don't quite make our 1970 cutoff.
|
||||
# The following switches don't make our 1970 cutoff.
|
||||
#
|
||||
# Kiska observed Tokyo date and time during Japanese occupation from
|
||||
# 1942-06-06 to 1943-07-29, and similarly for Attu from 1942-06-07 to
|
||||
# 1943-05-29 (all dates American). Both islands are now uninhabited.
|
||||
#
|
||||
# Shanks writes that part of southwest Alaska (e.g. Aniak)
|
||||
# switched from -11:00 to -10:00 on 1968-09-22 at 02:00,
|
||||
@@ -848,6 +852,8 @@ Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42
|
||||
-7:00 - MST 1967
|
||||
-7:00 US M%sT 1968 Mar 21
|
||||
-7:00 - MST
|
||||
Link America/Phoenix America/Creston
|
||||
|
||||
# From Arthur David Olson (1988-02-13):
|
||||
# A writer from the Inter Tribal Council of Arizona, Inc.,
|
||||
# notes in private correspondence dated 1987-12-28 that "Presently, only the
|
||||
@@ -993,7 +999,7 @@ Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 12:09:53
|
||||
-5:00 US E%sT
|
||||
#
|
||||
# Perry County, Indiana, switched from eastern to central time in April 2006.
|
||||
# From Alois Triendl (2019-07-09):
|
||||
# From Alois Treindl (2019-07-09):
|
||||
# The Indianapolis News, Friday 27 October 1967 states that Perry County
|
||||
# returned to CST. It went again to EST on 27 April 1969, as documented by the
|
||||
# Indianapolis star of Saturday 26 April.
|
||||
@@ -1616,24 +1622,7 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
|
||||
# From Paul Eggert (2020-01-10):
|
||||
# See America/Toronto for most of Quebec, including Montreal.
|
||||
# See America/Halifax for the Îles de la Madeleine and the Listuguj reserve.
|
||||
#
|
||||
# Matthews and Vincent (1998) also write that Quebec east of the -63
|
||||
# meridian is supposed to observe AST, but residents as far east as
|
||||
# Natashquan use EST/EDT, and residents east of Natashquan use AST.
|
||||
# The Quebec department of justice writes in
|
||||
# "The situation in Minganie and Basse-Côte-Nord"
|
||||
# https://www.justice.gouv.qc.ca/en/department/ministre/functions-and-responsabilities/legal-time-in-quebec/the-situation-in-minganie-and-basse-cote-nord/
|
||||
# that the coastal strip from just east of Natashquan to Blanc-Sablon
|
||||
# observes Atlantic standard time all year round.
|
||||
# This common practice was codified into law as of 2007; see Legal Time Act,
|
||||
# CQLR c T-5.1 <http://legisquebec.gouv.qc.ca/en/ShowDoc/cs/T-5.1>.
|
||||
# For lack of better info, guess this practice began around 1970, contra to
|
||||
# Shanks & Pottenger who have this region observing AST/ADT.
|
||||
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Blanc-Sablon -3:48:28 - LMT 1884
|
||||
-4:00 Canada A%sT 1970
|
||||
-4:00 - AST
|
||||
# See America/Puerto_Rico for east of Natashquan.
|
||||
|
||||
# Ontario
|
||||
|
||||
@@ -1672,54 +1661,6 @@ Zone America/Blanc-Sablon -3:48:28 - LMT 1884
|
||||
# time became a comic failure in Orillia. Toronto Star 2017-07-08.
|
||||
# https://www.thestar.com/news/insight/2017/07/08/bold-attempt-at-daylight-saving-time-became-a-comic-failure-in-orillia.html
|
||||
|
||||
# From Paul Eggert (1997-10-17):
|
||||
# Mark Brader writes that an article in the 1997-10-14 Toronto Star
|
||||
# says that Atikokan, Ontario currently does not observe DST,
|
||||
# but will vote on 11-10 whether to use EST/EDT.
|
||||
# He also writes that the Ontario Time Act (1990, Chapter T.9)
|
||||
# http://www.gov.on.ca/MBS/english/publications/statregs/conttext.html
|
||||
# says that Ontario east of 90W uses EST/EDT, and west of 90W uses CST/CDT.
|
||||
# Officially Atikokan is therefore on CST/CDT, and most likely this report
|
||||
# concerns a non-official time observed as a matter of local practice.
|
||||
#
|
||||
# From Paul Eggert (2000-10-02):
|
||||
# Matthews and Vincent (1998) write that Atikokan, Pickle Lake, and
|
||||
# New Osnaburgh observe CST all year, that Big Trout Lake observes
|
||||
# CST/CDT, and that Upsala and Shebandowan observe EST/EDT, all in
|
||||
# violation of the official Ontario rules.
|
||||
#
|
||||
# From Paul Eggert (2006-07-09):
|
||||
# Chris Walton (2006-07-06) mentioned an article by Stephanie MacLellan in the
|
||||
# 2005-07-21 Chronicle-Journal, which said:
|
||||
#
|
||||
# The clocks in Atikokan stay set on standard time year-round.
|
||||
# This means they spend about half the time on central time and
|
||||
# the other half on eastern time.
|
||||
#
|
||||
# For the most part, the system works, Mayor Dennis Brown said.
|
||||
#
|
||||
# "The majority of businesses in Atikokan deal more with Eastern
|
||||
# Canada, but there are some that deal with Western Canada," he
|
||||
# said. "I don't see any changes happening here."
|
||||
#
|
||||
# Walton also writes "Supposedly Pickle Lake and Mishkeegogamang
|
||||
# [New Osnaburgh] follow the same practice."
|
||||
|
||||
# From Garry McKinnon (2006-07-14) via Chris Walton:
|
||||
# I chatted with a member of my board who has an outstanding memory
|
||||
# and a long history in Atikokan (and in the telecom industry) and he
|
||||
# can say for certain that Atikokan has been practicing the current
|
||||
# time keeping since 1952, at least.
|
||||
|
||||
# From Paul Eggert (2006-07-17):
|
||||
# Shanks & Pottenger say that Atikokan has agreed with Rainy River
|
||||
# ever since standard time was introduced, but the information from
|
||||
# McKinnon sounds more authoritative. For now, assume that Atikokan
|
||||
# switched to EST immediately after WWII era daylight saving time
|
||||
# ended. This matches the old (less-populous) America/Coral_Harbour
|
||||
# entry since our cutoff date of 1970, so we can move
|
||||
# America/Coral_Harbour to the 'backward' file.
|
||||
|
||||
# From Mark Brader (2010-03-06):
|
||||
#
|
||||
# Currently the database has:
|
||||
@@ -1850,6 +1791,7 @@ Zone America/Toronto -5:17:32 - LMT 1895
|
||||
-5:00 Canada E%sT 1946
|
||||
-5:00 Toronto E%sT 1974
|
||||
-5:00 Canada E%sT
|
||||
Link America/Toronto America/Nassau
|
||||
Zone America/Thunder_Bay -5:57:00 - LMT 1895
|
||||
-6:00 - CST 1910
|
||||
-5:00 - EST 1942
|
||||
@@ -1865,11 +1807,7 @@ Zone America/Rainy_River -6:18:16 - LMT 1895
|
||||
-6:00 Canada C%sT 1940 Sep 29
|
||||
-6:00 1:00 CDT 1942 Feb 9 2:00s
|
||||
-6:00 Canada C%sT
|
||||
Zone America/Atikokan -6:06:28 - LMT 1895
|
||||
-6:00 Canada C%sT 1940 Sep 29
|
||||
-6:00 1:00 CDT 1942 Feb 9 2:00s
|
||||
-6:00 Canada C%sT 1945 Sep 30 2:00
|
||||
-5:00 - EST
|
||||
# For Atikokan see America/Panama.
|
||||
|
||||
|
||||
# Manitoba
|
||||
@@ -2021,7 +1959,7 @@ Zone America/Swift_Current -7:11:20 - LMT 1905 Sep
|
||||
|
||||
# Alberta
|
||||
|
||||
# From Alois Triendl (2019-07-19):
|
||||
# From Alois Treindl (2019-07-19):
|
||||
# There was no DST in Alberta in 1967... Calgary Herald, 29 April 1967.
|
||||
# 1969, no DST, from Edmonton Journal 18 April 1969
|
||||
#
|
||||
@@ -2060,60 +1998,6 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
|
||||
# Shanks & Pottenger write that since 1970 most of this region has
|
||||
# been like Vancouver.
|
||||
# Dawson Creek uses MST. Much of east BC is like Edmonton.
|
||||
# Matthews and Vincent (1998) write that Creston is like Dawson Creek.
|
||||
|
||||
# It seems though that (re: Creston) is not entirely correct:
|
||||
|
||||
# From Chris Walton (2011-12-01):
|
||||
# There are two areas within the Canadian province of British Columbia
|
||||
# that do not currently observe daylight saving:
|
||||
# a) The Creston Valley (includes the town of Creston and surrounding area)
|
||||
# b) The eastern half of the Peace River Regional District
|
||||
# (includes the cities of Dawson Creek and Fort St. John)
|
||||
|
||||
# Earlier this year I stumbled across a detailed article about the time
|
||||
# keeping history of Creston; it was written by Tammy Hardwick who is the
|
||||
# manager of the Creston & District Museum. The article was written in May 2009.
|
||||
# http://www.ilovecreston.com/?p=articles&t=spec&ar=260
|
||||
# According to the article, Creston has not changed its clocks since June 1918.
|
||||
# i.e. Creston has been stuck on UT-7 for 93 years.
|
||||
# Dawson Creek, on the other hand, changed its clocks as recently as April 1972.
|
||||
|
||||
# Unfortunately the exact date for the time change in June 1918 remains
|
||||
# unknown and will be difficult to ascertain. I e-mailed Tammy a few months
|
||||
# ago to ask if Sunday June 2 was a reasonable guess. She said it was just
|
||||
# as plausible as any other date (in June). She also said that after writing
|
||||
# the article she had discovered another time change in 1916; this is the
|
||||
# subject of another article which she wrote in October 2010.
|
||||
# http://www.creston.museum.bc.ca/index.php?module=comments&uop=view_comment&cm+id=56
|
||||
|
||||
# Here is a summary of the three clock change events in Creston's history:
|
||||
# 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
|
||||
# Exact date unknown
|
||||
# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
|
||||
# Exact date in October unknown; Sunday October 1 is a reasonable guess.
|
||||
# 3. June 1918: switch to Pacific Daylight Time (GMT-7)
|
||||
# Exact date in June unknown; Sunday June 2 is a reasonable guess.
|
||||
# note 1:
|
||||
# On Oct 27/1918 when daylight saving ended in the rest of Canada,
|
||||
# Creston did not change its clocks.
|
||||
# note 2:
|
||||
# During WWII when the Federal Government legislated a mandatory clock change,
|
||||
# Creston did not oblige.
|
||||
# note 3:
|
||||
# There is no guarantee that Creston will remain on Mountain Standard Time
|
||||
# (UTC-7) forever.
|
||||
# The subject was debated at least once this year by the town Council.
|
||||
# http://www.bclocalnews.com/kootenay_rockies/crestonvalleyadvance/news/116760809.html
|
||||
|
||||
# During a period WWII, summer time (Daylight saying) was mandatory in Canada.
|
||||
# In Creston, that was handled by shifting the area to PST (-8:00) then applying
|
||||
# summer time to cause the offset to be -7:00, the same as it had been before
|
||||
# the change. It can be argued that the timezone abbreviation during this
|
||||
# period should be PDT rather than MST, but that doesn't seem important enough
|
||||
# (to anyone) to further complicate the rules.
|
||||
|
||||
# The transition dates (and times) are guesses.
|
||||
|
||||
# From Matt Johnson (2015-09-21):
|
||||
# Fort Nelson, BC, Canada will cancel DST this year. So while previously they
|
||||
@@ -2130,7 +2014,7 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
|
||||
#
|
||||
# From Paul Eggert (2019-07-25):
|
||||
# Shanks says Fort Nelson did not observe DST in 1946, unlike Vancouver.
|
||||
# Alois Triendl confirmed this on 07-22, citing the 1946-04-27 Vancouver Daily
|
||||
# Alois Treindl confirmed this on 07-22, citing the 1946-04-27 Vancouver Daily
|
||||
# Province. He also cited the 1946-09-28 Victoria Daily Times, which said
|
||||
# that Vancouver, Victoria, etc. "change at midnight Saturday"; for now,
|
||||
# guess they meant 02:00 Sunday since 02:00 was common practice in Vancouver.
|
||||
@@ -2167,10 +2051,7 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
|
||||
-8:00 Vanc P%sT 1987
|
||||
-8:00 Canada P%sT 2015 Mar 8 2:00
|
||||
-7:00 - MST
|
||||
Zone America/Creston -7:46:04 - LMT 1884
|
||||
-7:00 - MST 1916 Oct 1
|
||||
-8:00 - PST 1918 Jun 2
|
||||
-7:00 - MST
|
||||
# For Creston see America/Phoenix.
|
||||
|
||||
# Northwest Territories, Nunavut, Yukon
|
||||
|
||||
@@ -2952,64 +2833,61 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
|
||||
|
||||
# Anguilla
|
||||
# Antigua and Barbuda
|
||||
# See America/Port_of_Spain.
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Bahamas
|
||||
#
|
||||
# For 1899 Milne gives -5:09:29.5; round that.
|
||||
#
|
||||
# From P Chan (2020-11-27, corrected on 2020-12-02):
|
||||
# There were two periods of DST observed in 1942-1945: 1942-05-01
|
||||
# midnight to 1944-12-31 midnight and 1945-02-01 to 1945-10-17 midnight.
|
||||
# "midnight" should mean 24:00 from the context.
|
||||
#
|
||||
# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
|
||||
# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
|
||||
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA34
|
||||
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA43
|
||||
#
|
||||
# War Time Order 1943 [1943-03-31] and War Time Order 1944 [1943-12-29]
|
||||
# Appendix to the Statutes of 8 George VI. and the Year 1943. p 9-10, 28-29
|
||||
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA9
|
||||
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA28
|
||||
#
|
||||
# War Time Order 1945 [1945-01-31] and the Order which revoke War Time Order
|
||||
# 1945 [1945-10-16] Appendix to the Statutes of 9 George VI. and the Year
|
||||
# 1945. p 160, 247-248
|
||||
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA160
|
||||
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA247
|
||||
#
|
||||
# From Sue Williams (2006-12-07):
|
||||
# The Bahamas announced about a month ago that they plan to change their DST
|
||||
# rules to sync with the U.S. starting in 2007....
|
||||
# http://www.jonesbahamas.com/?c=45&a=10412
|
||||
# The Bahamas
|
||||
# See America/Toronto.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Bahamas 1942 only - May 1 24:00 1:00 W
|
||||
Rule Bahamas 1944 only - Dec 31 24:00 0 S
|
||||
Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
|
||||
Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
|
||||
Rule Bahamas 1945 only - Oct 17 24:00 0 S
|
||||
Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
|
||||
Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Nassau -5:09:30 - LMT 1912 Mar 2
|
||||
-5:00 Bahamas E%sT 1976
|
||||
-5:00 US E%sT
|
||||
|
||||
# Barbados
|
||||
|
||||
# For 1899 Milne gives -3:58:29.2; round that.
|
||||
|
||||
# From P Chan (2020-12-09 and 2020-12-11):
|
||||
# Standard time of GMT-4 was adopted in 1911.
|
||||
# Definition of Time Act, 1911 (1911-7) [1911-08-28]
|
||||
# 1912, Laws of Barbados (5 v.), OCLC Number: 919801291, Vol. 4, Image No. 522
|
||||
# 1944, Laws of Barbados (5 v.), OCLC Number: 84548697, Vol. 4, Image No. 122
|
||||
# http://llmc.com/browse.aspx?type=2&coll=85&div=297
|
||||
#
|
||||
# DST was observed in 1942-44.
|
||||
# Defence (Daylight Saving) Regulations, 1942, 1942-04-13
|
||||
# Defence (Daylight Saving) (Repeal) Regulations, 1942, 1942-08-22
|
||||
# Defence (Daylight Saving) Regulations, 1943, 1943-04-16
|
||||
# Defence (Daylight Saving) (Repeal) Regulations, 1943, 1943-09-01
|
||||
# Defence (Daylight Saving) Regulations, 1944, 1944-03-21
|
||||
# [Defence (Daylight Saving) (Amendment) Regulations 1944, 1944-03-28]
|
||||
# Defence (Daylight Saving) (Repeal) Regulations, 1944, 1944-08-30
|
||||
#
|
||||
# 1914-, Subsidiary Legis., Annual Vols. OCLC Number: 226290591
|
||||
# 1942: Image Nos. 527-528, 555-556
|
||||
# 1943: Image Nos. 178-179, 198
|
||||
# 1944: Image Nos. 113-115, 129
|
||||
# http://llmc.com/titledescfull.aspx?type=2&coll=85&div=297&set=98437
|
||||
#
|
||||
# From Tim Parenti (2021-02-20):
|
||||
# The transitions below are derived from P Chan's sources, except that the 1977
|
||||
# through 1980 transitions are from Shanks & Pottenger since we have no better
|
||||
# data there. Of particular note, the 1944 DST regulation only advanced the
|
||||
# time to "exactly three and a half hours later than Greenwich mean time", as
|
||||
# opposed to "three hours" in the 1942 and 1943 regulations.
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule Barb 1942 only - Apr 19 5:00u 1:00 D
|
||||
Rule Barb 1942 only - Aug 31 6:00u 0 S
|
||||
Rule Barb 1943 only - May 2 5:00u 1:00 D
|
||||
Rule Barb 1943 only - Sep 5 6:00u 0 S
|
||||
Rule Barb 1944 only - Apr 10 5:00u 0:30 -
|
||||
Rule Barb 1944 only - Sep 10 6:00u 0 S
|
||||
Rule Barb 1977 only - Jun 12 2:00 1:00 D
|
||||
Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S
|
||||
Rule Barb 1978 1980 - Apr Sun>=15 2:00 1:00 D
|
||||
Rule Barb 1979 only - Sep 30 2:00 0 S
|
||||
Rule Barb 1980 only - Sep 25 2:00 0 S
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown
|
||||
-3:58:29 - BMT 1932 # Bridgetown Mean Time
|
||||
Zone America/Barbados -3:58:29 - LMT 1911 Aug 28 # Bridgetown
|
||||
-4:00 Barb A%sT 1944
|
||||
-4:00 Barb AST/-0330 1945
|
||||
-4:00 Barb A%sT
|
||||
|
||||
# Belize
|
||||
@@ -3171,6 +3049,9 @@ Zone Atlantic/Bermuda -4:19:18 - LMT 1890 # Hamilton
|
||||
-4:00 Canada A%sT 1976
|
||||
-4:00 US A%sT
|
||||
|
||||
# Caribbean Netherlands
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Cayman Is
|
||||
# See America/Panama.
|
||||
|
||||
@@ -3399,7 +3280,7 @@ Zone America/Havana -5:29:28 - LMT 1890
|
||||
-5:00 Cuba C%sT
|
||||
|
||||
# Dominica
|
||||
# See America/Port_of_Spain.
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Dominican Republic
|
||||
|
||||
@@ -3451,7 +3332,7 @@ Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador
|
||||
# Guadeloupe
|
||||
# St Barthélemy
|
||||
# St Martin (French part)
|
||||
# See America/Port_of_Spain.
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Guatemala
|
||||
#
|
||||
@@ -3638,7 +3519,7 @@ Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
|
||||
-4:00 - AST
|
||||
|
||||
# Montserrat
|
||||
# See America/Port_of_Spain.
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Nicaragua
|
||||
#
|
||||
@@ -3710,6 +3591,7 @@ Zone America/Managua -5:45:08 - LMT 1890
|
||||
Zone America/Panama -5:18:08 - LMT 1890
|
||||
-5:19:36 - CMT 1908 Apr 22 # Colón Mean Time
|
||||
-5:00 - EST
|
||||
Link America/Panama America/Atikokan
|
||||
Link America/Panama America/Cayman
|
||||
|
||||
# Puerto Rico
|
||||
@@ -3719,10 +3601,29 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
|
||||
-4:00 - AST 1942 May 3
|
||||
-4:00 US A%sT 1946
|
||||
-4:00 - AST
|
||||
Link America/Puerto_Rico America/Anguilla
|
||||
Link America/Puerto_Rico America/Antigua
|
||||
Link America/Puerto_Rico America/Aruba
|
||||
Link America/Puerto_Rico America/Curacao
|
||||
Link America/Puerto_Rico America/Blanc-Sablon # Quebec (Lower North Shore)
|
||||
Link America/Puerto_Rico America/Dominica
|
||||
Link America/Puerto_Rico America/Grenada
|
||||
Link America/Puerto_Rico America/Guadeloupe
|
||||
Link America/Puerto_Rico America/Kralendijk # Caribbean Netherlands
|
||||
Link America/Puerto_Rico America/Lower_Princes # Sint Maarten
|
||||
Link America/Puerto_Rico America/Marigot # St Martin (French part)
|
||||
Link America/Puerto_Rico America/Montserrat
|
||||
Link America/Puerto_Rico America/Port_of_Spain # Trinidad & Tobago
|
||||
Link America/Puerto_Rico America/St_Barthelemy # St Barthélemy
|
||||
Link America/Puerto_Rico America/St_Kitts # St Kitts & Nevis
|
||||
Link America/Puerto_Rico America/St_Lucia
|
||||
Link America/Puerto_Rico America/St_Thomas # Virgin Islands (US)
|
||||
Link America/Puerto_Rico America/St_Vincent
|
||||
Link America/Puerto_Rico America/Tortola # Virgin Islands (UK)
|
||||
|
||||
# St Kitts-Nevis
|
||||
# St Lucia
|
||||
# See America/Port_of_Spain.
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# St Pierre and Miquelon
|
||||
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
|
||||
@@ -3733,7 +3634,10 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
|
||||
-3:00 Canada -03/-02
|
||||
|
||||
# St Vincent and the Grenadines
|
||||
# See America/Port_of_Spain.
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Sint Maarten
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Turks and Caicos
|
||||
#
|
||||
@@ -3804,8 +3708,8 @@ Zone America/Grand_Turk -4:44:32 - LMT 1890
|
||||
-5:00 US E%sT
|
||||
|
||||
# British Virgin Is
|
||||
# Virgin Is
|
||||
# See America/Port_of_Spain.
|
||||
# US Virgin Is
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
|
||||
# Local Variables:
|
||||
|
||||
@@ -597,7 +597,7 @@ Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
|
||||
-3:00 - -03
|
||||
|
||||
# Aruba
|
||||
Link America/Curacao America/Aruba
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Bolivia
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
@@ -1109,7 +1109,7 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
|
||||
|
||||
# Chile
|
||||
|
||||
# From Paul Eggert (2015-04-03):
|
||||
# From Paul Eggert (2022-03-15):
|
||||
# Shanks & Pottenger says America/Santiago introduced standard time in
|
||||
# 1890 and rounds its UT offset to 70W40; guess that in practice this
|
||||
# was the same offset as in 1916-1919. It also says Pacific/Easter
|
||||
@@ -1132,7 +1132,7 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
|
||||
# Historia de la hora oficial de Chile (retrieved 2012-10-24). See:
|
||||
# https://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm
|
||||
# A fancier Spanish version (requiring mouse-clicking) is at:
|
||||
# http://www.horaoficial.cl/historia_hora.html
|
||||
# http://www.horaoficial.cl/historia_hora.php
|
||||
# Conflicts between [1] and [2] were resolved as follows:
|
||||
#
|
||||
# - [1] says the 1910 transition was Jan 1, [2] says Jan 10 and cites
|
||||
@@ -1141,7 +1141,8 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
|
||||
# - [1] says SMT was -4:42:45, [2] says Chile's official time from
|
||||
# 1916 to 1919 was -4:42:46.3, the meridian of Chile's National
|
||||
# Astronomical Observatory (OAN), then located in what is now
|
||||
# Quinta Normal in Santiago. Go with [2], rounding it to -4:42:46.
|
||||
# Quinta Normal in Santiago. Go with [1], as this matches the meridian
|
||||
# referred to by the relevant Chilean laws to this day.
|
||||
#
|
||||
# - [1] says the 1918 transition was Sep 1, [2] says Sep 10 and cites
|
||||
# Boletín No. 22, Aviso No. 129/1918 (1918-08-23). Go with [2].
|
||||
@@ -1163,6 +1164,32 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
|
||||
# this is known to work for DST transitions starting in 2008 and
|
||||
# may well be true for earlier transitions.
|
||||
|
||||
# From Tim Parenti (2022-03-15):
|
||||
# For a brief period of roughly six weeks in 1946, DST was only observed on an
|
||||
# emergency basis in specific regions of central Chile; namely, "the national
|
||||
# territory between the provinces of Coquimbo and Concepción, inclusive".
|
||||
# This was enacted by Decree 3,891, dated 1946-07-13, and took effect
|
||||
# 1946-07-14 24:00, advancing these central regions to -03.
|
||||
# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460715/#page/1
|
||||
# The decree contemplated "[t]hat this advancement of the Official Time, even
|
||||
# though it has been proposed for the cities of Santiago and Valparaíso only,
|
||||
# must be agreed with that of other cities, due to the connection of various
|
||||
# activities that require it, such as, for example, the operation of rail
|
||||
# services". It was originally set to expire after 30 days but was extended
|
||||
# through 1946-08-31 by Decree 4,506, dated 1946-08-13.
|
||||
# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460814/#page/1
|
||||
#
|
||||
# Law Number 8,522, promulgated 1946-08-27, reunified Chilean clocks at their
|
||||
# new "Summer Time" of -04, reckoned as that of "the meridian of the
|
||||
# Astronomical Observatory of Lo Espejo, advanced by 42 minutes and 45
|
||||
# seconds".
|
||||
# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460828/#page/1
|
||||
# After a brief "Winter Time" stint at -05 beginning 1947-04-01, Law Number
|
||||
# 8,777, promulgated 1947-05-17, established year-round -04 "from 23:00 on the
|
||||
# second day after it is published in the 'Diario Oficial'." It was published
|
||||
# on Monday 1947-05-19 and so took effect from Wednesday 1947-05-21 23:00.
|
||||
# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19470519/#page/1
|
||||
|
||||
# From Eduardo Krell (1995-10-19):
|
||||
# The law says to switch to DST at midnight [24:00] on the second SATURDAY
|
||||
# of October.... The law is the same for March and October.
|
||||
@@ -1321,12 +1348,12 @@ Rule Chile 2019 max - Sep Sun>=2 4:00u 1:00 -
|
||||
# IATA SSIM anomalies: (1992-02) says 1992-03-14;
|
||||
# (1996-09) says 1998-03-08. Ignore these.
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Santiago -4:42:46 - LMT 1890
|
||||
-4:42:46 - SMT 1910 Jan 10 # Santiago Mean Time
|
||||
Zone America/Santiago -4:42:45 - LMT 1890
|
||||
-4:42:45 - SMT 1910 Jan 10 # Santiago Mean Time
|
||||
-5:00 - -05 1916 Jul 1
|
||||
-4:42:46 - SMT 1918 Sep 10
|
||||
-4:42:45 - SMT 1918 Sep 10
|
||||
-4:00 - -04 1919 Jul 1
|
||||
-4:42:46 - SMT 1927 Sep 1
|
||||
-4:42:45 - SMT 1927 Sep 1
|
||||
-5:00 Chile -05/-04 1932 Sep 1
|
||||
-4:00 - -04 1942 Jun 1
|
||||
-5:00 - -05 1942 Aug 1
|
||||
@@ -1336,11 +1363,11 @@ Zone America/Santiago -4:42:46 - LMT 1890
|
||||
-5:00 - -05 1947 May 21 23:00
|
||||
-4:00 Chile -04/-03
|
||||
Zone America/Punta_Arenas -4:43:40 - LMT 1890
|
||||
-4:42:46 - SMT 1910 Jan 10
|
||||
-4:42:45 - SMT 1910 Jan 10
|
||||
-5:00 - -05 1916 Jul 1
|
||||
-4:42:46 - SMT 1918 Sep 10
|
||||
-4:42:45 - SMT 1918 Sep 10
|
||||
-4:00 - -04 1919 Jul 1
|
||||
-4:42:46 - SMT 1927 Sep 1
|
||||
-4:42:45 - SMT 1927 Sep 1
|
||||
-5:00 Chile -05/-04 1932 Sep 1
|
||||
-4:00 - -04 1942 Jun 1
|
||||
-5:00 - -05 1942 Aug 1
|
||||
@@ -1392,35 +1419,14 @@ Zone America/Bogota -4:56:16 - LMT 1884 Mar 13
|
||||
# no information; probably like America/Bogota
|
||||
|
||||
# Curaçao
|
||||
|
||||
# Milne gives 4:35:46.9 for Curaçao mean time; round to nearest.
|
||||
# See America/Puerto_Rico.
|
||||
#
|
||||
# From Paul Eggert (2006-03-22):
|
||||
# Shanks & Pottenger say that The Bottom and Philipsburg have been at
|
||||
# -4:00 since standard time was introduced on 1912-03-02; and that
|
||||
# Kralendijk and Rincon used Kralendijk Mean Time (-4:33:08) from
|
||||
# 1912-02-02 to 1965-01-01. The former is dubious, since S&P also say
|
||||
# Saba Island has been like Curaçao.
|
||||
# This all predates our 1970 cutoff, though.
|
||||
#
|
||||
# By July 2007 Curaçao and St Maarten are planned to become
|
||||
# associated states within the Netherlands, much like Aruba;
|
||||
# Bonaire, Saba and St Eustatius would become directly part of the
|
||||
# Netherlands as Kingdom Islands. This won't affect their time zones
|
||||
# though, as far as we know.
|
||||
#
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad
|
||||
-4:30 - -0430 1965
|
||||
-4:00 - AST
|
||||
|
||||
# From Arthur David Olson (2011-06-15):
|
||||
# use links for places with new iso3166 codes.
|
||||
# The name "Lower Prince's Quarter" is both longer than fourteen characters
|
||||
# and contains an apostrophe; use "Lower_Princes" below.
|
||||
|
||||
Link America/Curacao America/Lower_Princes # Sint Maarten
|
||||
Link America/Curacao America/Kralendijk # Caribbean Netherlands
|
||||
# and contains an apostrophe; use "Lower_Princes"....
|
||||
# From Paul Eggert (2021-09-29):
|
||||
# These backward-compatibility links now are in the 'northamerica' file.
|
||||
|
||||
# Ecuador
|
||||
#
|
||||
@@ -1563,11 +1569,40 @@ Zone America/Cayenne -3:29:20 - LMT 1911 Jul
|
||||
-3:00 - -03
|
||||
|
||||
# Guyana
|
||||
|
||||
# From P Chan (2020-11-27):
|
||||
# https://books.google.com/books?id=5-5CAQAAMAAJ&pg=SA1-PA547
|
||||
# The Official Gazette of British Guiana. (New Series.) Vol. XL. July to
|
||||
# December, 1915, p 1547, lists as several notes:
|
||||
# "Local Mean Time 3 hours 52 mins. 39 secs. slow of Greenwich Mean Time
|
||||
# (Georgetown.) From 1st August, 1911, British Guiana Standard Mean Time 4
|
||||
# hours slow of Greenwich Mean Time, by notice in Official Gazette on 1st July,
|
||||
# 1911. From 1st March, 1915, British Guiana Standard Mean Time 3 hours 45
|
||||
# mins. 0 secs. slow of Greenwich Mean Time, by notice in Official Gazette on
|
||||
# 23rd January, 1915."
|
||||
#
|
||||
# https://parliament.gov.gy/documents/acts/10923-act_no._27_of_1975_-_interpretation_and_general_clauses_(amendment)_act_1975.pdf
|
||||
# Interpretation and general clauses (Amendment) Act 1975 (Act No. 27 of 1975)
|
||||
# [dated 1975-07-31]
|
||||
# "This Act...shall come into operation on 1st August, 1975."
|
||||
# "...where any expression of time occurs...the time referred to shall signify
|
||||
# the standard time of Guyana which shall be three hours behind Greenwich Mean
|
||||
# Time."
|
||||
#
|
||||
# Circular No. 10/1992 dated 1992-03-20
|
||||
# https://dps.gov.gy/wp-content/uploads/2018/12/1992-03-20-Circular-010.pdf
|
||||
# "...cabinet has decided that with effect from Sunday 29th March, 1992, Guyana
|
||||
# Standard Time would be re-established at 01:00 hours by adjusting the hands
|
||||
# of the clock back to 24:00 hours."
|
||||
# Legislated in the Interpretation and general clauses (Amendment) Act 1992
|
||||
# (Act No. 6 of 1992) [passed 1992-03-27, published 1992-04-18]
|
||||
# https://parliament.gov.gy/documents/acts/5885-6_of_1992_interpretation_and_general_clauses_(amendment)_act_1992.pdf
|
||||
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
|
||||
-3:45 - -0345 1975 Jul 31
|
||||
-3:00 - -03 1991
|
||||
# IATA SSIM (1996-06) says -4:00. Assume a 1991 switch.
|
||||
Zone America/Guyana -3:52:39 - LMT 1911 Aug 1 # Georgetown
|
||||
-4:00 - -04 1915 Mar 1
|
||||
-3:45 - -0345 1975 Aug 1
|
||||
-3:00 - -03 1992 Mar 29 1:00
|
||||
-4:00 - -04
|
||||
|
||||
# Paraguay
|
||||
@@ -1708,24 +1743,7 @@ Zone America/Paramaribo -3:40:40 - LMT 1911
|
||||
-3:00 - -03
|
||||
|
||||
# Trinidad and Tobago
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
|
||||
-4:00 - AST
|
||||
|
||||
# These all agree with Trinidad and Tobago since 1970.
|
||||
Link America/Port_of_Spain America/Anguilla
|
||||
Link America/Port_of_Spain America/Antigua
|
||||
Link America/Port_of_Spain America/Dominica
|
||||
Link America/Port_of_Spain America/Grenada
|
||||
Link America/Port_of_Spain America/Guadeloupe
|
||||
Link America/Port_of_Spain America/Marigot # St Martin (French part)
|
||||
Link America/Port_of_Spain America/Montserrat
|
||||
Link America/Port_of_Spain America/St_Barthelemy # St Barthélemy
|
||||
Link America/Port_of_Spain America/St_Kitts # St Kitts & Nevis
|
||||
Link America/Port_of_Spain America/St_Lucia
|
||||
Link America/Port_of_Spain America/St_Thomas # Virgin Islands (US)
|
||||
Link America/Port_of_Spain America/St_Vincent
|
||||
Link America/Port_of_Spain America/Tortola # Virgin Islands (UK)
|
||||
# See America/Puerto_Rico.
|
||||
|
||||
# Uruguay
|
||||
# From Paul Eggert (1993-11-18):
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
#
|
||||
# From Paul Eggert (2018-06-27):
|
||||
# From Paul Eggert (2021-09-20):
|
||||
# This file is intended as a backward-compatibility aid for older programs.
|
||||
# New programs should use zone1970.tab. This file is like zone1970.tab (see
|
||||
# zone1970.tab's comments), but with the following additional restrictions:
|
||||
@@ -39,6 +39,9 @@
|
||||
# clocks have agreed since 1970; this is a narrower definition than
|
||||
# that of zone1970.tab.
|
||||
#
|
||||
# Unlike zone1970.tab, a row's third column can be a Link from
|
||||
# 'backward' instead of a Zone.
|
||||
#
|
||||
# This table is intended as an aid for users, to help them select timezones
|
||||
# appropriate for their practical needs. It is not intended to take or
|
||||
# endorse any position on legal or territorial claims.
|
||||
@@ -251,7 +254,7 @@ KE -0117+03649 Africa/Nairobi
|
||||
KG +4254+07436 Asia/Bishkek
|
||||
KH +1133+10455 Asia/Phnom_Penh
|
||||
KI +0125+17300 Pacific/Tarawa Gilbert Islands
|
||||
KI -0308-17105 Pacific/Enderbury Phoenix Islands
|
||||
KI -0247-17143 Pacific/Kanton Phoenix Islands
|
||||
KI +0152-15720 Pacific/Kiritimati Line Islands
|
||||
KM -1141+04316 Indian/Comoro
|
||||
KN +1718-06243 America/St_Kitts
|
||||
@@ -414,7 +417,7 @@ TK -0922-17114 Pacific/Fakaofo
|
||||
TL -0833+12535 Asia/Dili
|
||||
TM +3757+05823 Asia/Ashgabat
|
||||
TN +3648+01011 Africa/Tunis
|
||||
TO -2110-17510 Pacific/Tongatapu
|
||||
TO -210800-1751200 Pacific/Tongatapu
|
||||
TR +4101+02858 Europe/Istanbul
|
||||
TT +1039-06131 America/Port_of_Spain
|
||||
TV -0831+17913 Pacific/Funafuti
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
# Create a bundle in the build directory, containing what's needed to
|
||||
# build and run JMH microbenchmarks from the OpenJDK build.
|
||||
|
||||
JMH_VERSION=1.32
|
||||
JMH_VERSION=1.34
|
||||
COMMONS_MATH3_VERSION=3.2
|
||||
JOPT_SIMPLE_VERSION=4.6
|
||||
|
||||
|
||||
@@ -34,13 +34,7 @@ JVM_SUPPORT_DIR := $(JVM_VARIANT_OUTPUTDIR)/support
|
||||
DTRACE_SUPPORT_DIR := $(JVM_SUPPORT_DIR)/dtrace
|
||||
|
||||
LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base)
|
||||
ifneq ($(filter client minimal zero, $(JVM_VARIANT)), )
|
||||
JVM_VARIANT_SUBDIR := $(JVM_VARIANT)
|
||||
else
|
||||
# Use 'server' as default target directory name for all other variants.
|
||||
JVM_VARIANT_SUBDIR := server
|
||||
endif
|
||||
JVM_LIB_OUTPUTDIR := $(LIB_OUTPUTDIR)/$(JVM_VARIANT_SUBDIR)
|
||||
JVM_LIB_OUTPUTDIR := $(LIB_OUTPUTDIR)/$(JVM_VARIANT)
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
@@ -149,12 +149,14 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
||||
ifeq ($(call check-jvm-feature, shenandoahgc), true)
|
||||
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
|
||||
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/shenandoah/shenandoah_$(HOTSPOT_TARGET_CPU).ad \
|
||||
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/shenandoah/shenandoah_$(HOTSPOT_TARGET_CPU_ARCH).ad \
|
||||
)))
|
||||
endif
|
||||
|
||||
ifeq ($(call check-jvm-feature, zgc), true)
|
||||
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
|
||||
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/z/z_$(HOTSPOT_TARGET_CPU).ad \
|
||||
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/z/z_$(HOTSPOT_TARGET_CPU_ARCH).ad \
|
||||
)))
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -101,7 +101,7 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBJVM, \
|
||||
CFLAGS_windows := -EHsc, \
|
||||
CFLAGS_macosx := -DGTEST_OS_MAC=1, \
|
||||
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc) \
|
||||
undef, \
|
||||
undef stringop-overflow, \
|
||||
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang) \
|
||||
undef switch format-nonliteral tautological-undefined-compare \
|
||||
self-assign-overloaded, \
|
||||
|
||||
@@ -58,6 +58,10 @@ else
|
||||
JVM_EXCLUDE_PATTERNS += /zero/
|
||||
endif
|
||||
|
||||
ifeq ($(JVM_VARIANT), core)
|
||||
JVM_CFLAGS_FEATURES += -DVMTYPE=\"Core\"
|
||||
endif
|
||||
|
||||
ifeq ($(JVM_VARIANT), custom)
|
||||
JVM_CFLAGS_FEATURES += -DVMTYPE=\"Custom\"
|
||||
endif
|
||||
|
||||
@@ -74,8 +74,8 @@ ifeq ($(DEBUG_LEVEL), release)
|
||||
endif
|
||||
else ifeq ($(DEBUG_LEVEL), fastdebug)
|
||||
JVM_CFLAGS_DEBUGLEVEL := -DASSERT
|
||||
ifeq ($(call isTargetOs, windows aix), false)
|
||||
# NOTE: Old build did not define CHECK_UNHANDLED_OOPS on Windows and AIX.
|
||||
ifeq ($(call isTargetOs, aix), false)
|
||||
# NOTE: Old build did not define CHECK_UNHANDLED_OOPS on AIX.
|
||||
JVM_CFLAGS_DEBUGLEVEL += -DCHECK_UNHANDLED_OOPS
|
||||
endif
|
||||
else ifeq ($(DEBUG_LEVEL), slowdebug)
|
||||
|
||||
@@ -99,9 +99,26 @@ else ifeq ($(call isTargetOs, aix), true)
|
||||
|
||||
else ifeq ($(call isTargetOs, windows), true)
|
||||
DUMP_SYMBOLS_CMD := $(DUMPBIN) -symbols *.obj
|
||||
|
||||
# The following lines create a list of vftable symbols to be filtered out of
|
||||
# the mapfile. Removing this line causes the linker to complain about too many
|
||||
# (> 64K) symbols, so the _guess_ is that this line is here to keep down the
|
||||
# number of exported symbols below that limit.
|
||||
#
|
||||
# Some usages of C++ lambdas require the vftable symbol of classes that use
|
||||
# the lambda type as a template parameter. The usage of those classes won't
|
||||
# link if their vftable symbols are removed. That's why there's an exception
|
||||
# for vftable symbols containing the string 'lambda'.
|
||||
#
|
||||
# A very simple example of a lambda usage that fails if the lambda vftable
|
||||
# symbols are missing in the mapfile:
|
||||
#
|
||||
# #include <functional>
|
||||
# std::function<void()> f = [](){}
|
||||
|
||||
FILTER_SYMBOLS_AWK_SCRIPT := \
|
||||
'{ \
|
||||
if ($$7 ~ /??_7.*@@6B@/ && $$7 !~ /type_info/) print $$7; \
|
||||
if ($$7 ~ /??_7.*@@6B@/ && $$7 !~ /type_info/ && $$7 !~ /lambda/) print $$7; \
|
||||
}'
|
||||
|
||||
else
|
||||
|
||||
@@ -116,6 +116,12 @@ public class HelloClasslist {
|
||||
DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.ROOT)
|
||||
.format(new Date()));
|
||||
|
||||
// A selection of trivial and common reflection operations
|
||||
var instance = HelloClasslist.class.getConstructor().newInstance();
|
||||
HelloClasslist.class.getMethod("staticMethod_V").invoke(null);
|
||||
var obj = HelloClasslist.class.getMethod("staticMethod_L_L", Object.class).invoke(null, instance);
|
||||
HelloClasslist.class.getField("field").get(instance);
|
||||
|
||||
// A selection of trivial and relatively common MH operations
|
||||
invoke(MethodHandles.identity(double.class), 1.0);
|
||||
invoke(MethodHandles.identity(int.class), 1);
|
||||
@@ -126,8 +132,14 @@ public class HelloClasslist {
|
||||
LOGGER.log(Level.FINE, "New Date: " + newDate + " - old: " + oldDate);
|
||||
}
|
||||
|
||||
public HelloClasslist() {}
|
||||
|
||||
public String field = "someValue";
|
||||
|
||||
public static void staticMethod_V() {}
|
||||
|
||||
public static Object staticMethod_L_L(Object o) { return o; }
|
||||
|
||||
private static MethodHandle handle(String name, MethodType type) throws Throwable {
|
||||
return MethodHandles.lookup().findStatic(HelloClasslist.class, name, type);
|
||||
}
|
||||
|
||||
@@ -114,6 +114,7 @@ public class CLDRConverter {
|
||||
ResourceBundle.Control.getControl(ResourceBundle.Control.FORMAT_DEFAULT);
|
||||
|
||||
private static Set<String> AVAILABLE_TZIDS;
|
||||
static int copyrightYear;
|
||||
private static String zoneNameTempFile;
|
||||
private static String tzDataDir;
|
||||
private static final Map<String, String> canonicalTZMap = new HashMap<>();
|
||||
@@ -217,6 +218,10 @@ public class CLDRConverter {
|
||||
verbose = true;
|
||||
break;
|
||||
|
||||
case "-year":
|
||||
copyrightYear = Integer.parseInt(args[++i]);
|
||||
break;
|
||||
|
||||
case "-zntempfile":
|
||||
zoneNameTempFile = args[++i];
|
||||
break;
|
||||
@@ -235,7 +240,7 @@ public class CLDRConverter {
|
||||
}
|
||||
}
|
||||
} catch (RuntimeException e) {
|
||||
severe("unknown or imcomplete arg(s): " + currentArg);
|
||||
severe("unknown or incomplete arg(s): " + currentArg);
|
||||
usage();
|
||||
System.exit(1);
|
||||
}
|
||||
@@ -260,6 +265,10 @@ public class CLDRConverter {
|
||||
setupBaseLocales("en-US");
|
||||
}
|
||||
|
||||
if (copyrightYear == 0) {
|
||||
copyrightYear = ZonedDateTime.now(ZoneId.of("America/Los_Angeles")).getYear();
|
||||
}
|
||||
|
||||
bundleGenerator = new ResourceBundleGenerator();
|
||||
|
||||
// Parse data independent of locales
|
||||
@@ -292,6 +301,7 @@ public class CLDRConverter {
|
||||
+ "\t-basemodule generates bundles that go into java.base module%n"
|
||||
+ "\t-baselocales loc(,loc)* locales that go into the base module%n"
|
||||
+ "\t-o dir output directory (default: ./build/gensrc)%n"
|
||||
+ "\t-year year copyright year in output%n"
|
||||
+ "\t-zntempfile template file for java.time.format.ZoneName.java%n"
|
||||
+ "\t-tzdatadir tzdata directory for java.time.format.ZoneName.java%n"
|
||||
+ "\t-utf8 use UTF-8 rather than \\uxxxx (for debug)%n");
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
package build.tools.cldrconverter;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
@@ -131,8 +132,7 @@ class CopyrightHeaders {
|
||||
" * questions.\n" +
|
||||
" */\n";
|
||||
|
||||
static String getOracleCopyright() {
|
||||
int year = getYear();
|
||||
static String getOracleCopyright(int year) {
|
||||
return String.format(year > 2012 ? ORACLE_AFTER2012 : ORACLE2012, year);
|
||||
}
|
||||
|
||||
@@ -140,16 +140,10 @@ class CopyrightHeaders {
|
||||
return UNICODE;
|
||||
}
|
||||
|
||||
static String getOpenJDKCopyright() {
|
||||
int year = getYear();
|
||||
static String getOpenJDKCopyright(int year) {
|
||||
return String.format(year > 2012 ? OPENJDK_AFTER2012 : OPENJDK2012, year);
|
||||
}
|
||||
|
||||
private static int getYear() {
|
||||
return new GregorianCalendar(TimeZone.getTimeZone("America/Los_Angeles"),
|
||||
Locale.US).get(Calendar.YEAR);
|
||||
}
|
||||
|
||||
// no instantiation
|
||||
private CopyrightHeaders() {
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ class ResourceBundleGenerator implements BundleGenerator {
|
||||
|
||||
try (PrintWriter out = new PrintWriter(file, encoding)) {
|
||||
// Output copyright headers
|
||||
out.println(CopyrightHeaders.getOpenJDKCopyright());
|
||||
out.println(CopyrightHeaders.getOpenJDKCopyright(CLDRConverter.copyrightYear));
|
||||
out.println(CopyrightHeaders.getUnicodeCopyright());
|
||||
|
||||
if (useJava) {
|
||||
@@ -266,7 +266,7 @@ class ResourceBundleGenerator implements BundleGenerator {
|
||||
CLDRConverter.info("Generating file " + file);
|
||||
|
||||
try (PrintWriter out = new PrintWriter(file, "us-ascii")) {
|
||||
out.printf(CopyrightHeaders.getOpenJDKCopyright());
|
||||
out.printf(CopyrightHeaders.getOpenJDKCopyright(CLDRConverter.copyrightYear));
|
||||
|
||||
out.printf((CLDRConverter.isBaseModule ? "package sun.util.cldr;\n\n" :
|
||||
"package sun.util.resources.cldr.provider;\n\n")
|
||||
|
||||
@@ -37,6 +37,7 @@ import java.security.NoSuchAlgorithmException;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.HexFormat;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@@ -102,7 +103,7 @@ public class Depend implements Plugin {
|
||||
private final MessageDigest apiHash;
|
||||
{
|
||||
try {
|
||||
apiHash = MessageDigest.getInstance("MD5");
|
||||
apiHash = MessageDigest.getInstance("SHA-256");
|
||||
} catch (NoSuchAlgorithmException ex) {
|
||||
throw new IllegalStateException(ex);
|
||||
}
|
||||
@@ -156,13 +157,7 @@ public class Depend implements Plugin {
|
||||
}
|
||||
|
||||
private String toString(byte[] digest) {
|
||||
StringBuilder result = new StringBuilder();
|
||||
|
||||
for (byte b : digest) {
|
||||
result.append(String.format("%X", b));
|
||||
}
|
||||
|
||||
return result.toString();
|
||||
return HexFormat.of().withUpperCase().formatHex(digest);
|
||||
}
|
||||
|
||||
private static final class APIVisitor implements ElementVisitor<Void, Void>,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -25,21 +25,15 @@
|
||||
|
||||
package build.tools.generatecacerts;
|
||||
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.security.DigestOutputStream;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.security.KeyStore;
|
||||
import java.security.cert.CertificateFactory;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -51,33 +45,16 @@ import java.util.stream.Collectors;
|
||||
public class GenerateCacerts {
|
||||
public static void main(String[] args) throws Exception {
|
||||
try (FileOutputStream fos = new FileOutputStream(args[1])) {
|
||||
store(args[0], fos, "changeit".toCharArray());
|
||||
store(args[0], fos);
|
||||
}
|
||||
}
|
||||
|
||||
// The following code are copied from JavaKeyStore.java.
|
||||
public static void store(String dir, OutputStream stream) throws Exception {
|
||||
|
||||
private static final int MAGIC = 0xfeedfeed;
|
||||
private static final int VERSION_2 = 0x02;
|
||||
CertificateFactory cf = CertificateFactory.getInstance("X.509");
|
||||
|
||||
// This method is a simplified version of JavaKeyStore::engineStore.
|
||||
// A new "dir" argument is added. All cert names in "dir" is collected into
|
||||
// a sorted array. Each cert is stored with a creation date set to its
|
||||
// notBefore value. Thus the output is determined as long as the certs
|
||||
// are the same.
|
||||
public static void store(String dir, OutputStream stream, char[] password)
|
||||
throws IOException, NoSuchAlgorithmException, CertificateException
|
||||
{
|
||||
byte[] encoded; // the certificate encoding
|
||||
CertificateFactory cf = CertificateFactory.getInstance("X509");
|
||||
|
||||
MessageDigest md = getPreKeyedHash(password);
|
||||
DataOutputStream dos
|
||||
= new DataOutputStream(new DigestOutputStream(stream, md));
|
||||
|
||||
dos.writeInt(MAGIC);
|
||||
// always write the latest version
|
||||
dos.writeInt(VERSION_2);
|
||||
KeyStore ks = KeyStore.getInstance("pkcs12");
|
||||
ks.load(null, null);
|
||||
|
||||
// All file names in dir sorted.
|
||||
// README is excluded. Name starting with "." excluded.
|
||||
@@ -88,61 +65,15 @@ public class GenerateCacerts {
|
||||
|
||||
entries.sort(String::compareTo);
|
||||
|
||||
dos.writeInt(entries.size());
|
||||
|
||||
for (String entry : entries) {
|
||||
|
||||
String alias = entry + " [jdk]";
|
||||
X509Certificate cert;
|
||||
try (InputStream fis = Files.newInputStream(Path.of(dir, entry))) {
|
||||
cert = (X509Certificate) cf.generateCertificate(fis);
|
||||
}
|
||||
|
||||
dos.writeInt(2);
|
||||
|
||||
// Write the alias
|
||||
dos.writeUTF(alias);
|
||||
|
||||
// Write the (entry creation) date, which is notBefore of the cert
|
||||
dos.writeLong(cert.getNotBefore().getTime());
|
||||
|
||||
// Write the trusted certificate
|
||||
encoded = cert.getEncoded();
|
||||
dos.writeUTF(cert.getType());
|
||||
dos.writeInt(encoded.length);
|
||||
dos.write(encoded);
|
||||
ks.setCertificateEntry(alias, cert);
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the keyed hash which is used to detect tampering with
|
||||
* the keystore (such as deleting or modifying key or
|
||||
* certificate entries).
|
||||
*/
|
||||
byte[] digest = md.digest();
|
||||
|
||||
dos.write(digest);
|
||||
dos.flush();
|
||||
}
|
||||
|
||||
private static MessageDigest getPreKeyedHash(char[] password)
|
||||
throws NoSuchAlgorithmException, UnsupportedEncodingException
|
||||
{
|
||||
|
||||
MessageDigest md = MessageDigest.getInstance("SHA");
|
||||
byte[] passwdBytes = convertToBytes(password);
|
||||
md.update(passwdBytes);
|
||||
Arrays.fill(passwdBytes, (byte) 0x00);
|
||||
md.update("Mighty Aphrodite".getBytes("UTF8"));
|
||||
return md;
|
||||
}
|
||||
|
||||
private static byte[] convertToBytes(char[] password) {
|
||||
int i, j;
|
||||
byte[] passwdBytes = new byte[password.length * 2];
|
||||
for (i=0, j=0; i<password.length; i++) {
|
||||
passwdBytes[j++] = (byte)(password[i] >> 8);
|
||||
passwdBytes[j++] = (byte)password[i];
|
||||
}
|
||||
return passwdBytes;
|
||||
ks.store(stream, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,13 +29,15 @@ import java.io.BufferedWriter;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.TimeZone;
|
||||
import java.util.TreeMap;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -51,17 +53,19 @@ import java.util.stream.Collectors;
|
||||
public class EquivMapsGenerator {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
if (args.length != 2) {
|
||||
if (args.length != 3) {
|
||||
System.err.println("Usage: java EquivMapsGenerator"
|
||||
+ " language-subtag-registry.txt LocaleEquivalentMaps.java");
|
||||
+ " language-subtag-registry.txt LocaleEquivalentMaps.java copyrightYear");
|
||||
System.exit(1);
|
||||
}
|
||||
copyrightYear = Integer.parseInt(args[2]);
|
||||
readLSRfile(args[0]);
|
||||
generateEquivalentMap();
|
||||
generateSourceCode(args[1]);
|
||||
}
|
||||
|
||||
private static String LSRrevisionDate;
|
||||
private static int copyrightYear;
|
||||
private static Map<String, StringBuilder> initialLanguageMap =
|
||||
new TreeMap<>();
|
||||
private static Map<String, StringBuilder> initialRegionVariantMap =
|
||||
@@ -244,9 +248,7 @@ public class EquivMapsGenerator {
|
||||
+ "}";
|
||||
|
||||
private static String getOpenJDKCopyright() {
|
||||
int year = ZonedDateTime.now(ZoneId
|
||||
.of("America/Los_Angeles")).getYear();
|
||||
return String.format(Locale.US, COPYRIGHT, year);
|
||||
return String.format(Locale.US, COPYRIGHT, copyrightYear);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -36,6 +36,7 @@ import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@@ -115,102 +116,112 @@ public class GenGraphs {
|
||||
/**
|
||||
* Custom dot file attributes.
|
||||
*/
|
||||
static class ModuleGraphAttributes implements ModuleDotGraph.Attributes {
|
||||
static Map<String, String> DEFAULT_ATTRIBUTES = Map.of(
|
||||
"ranksep", "0.6",
|
||||
"fontsize", "12",
|
||||
"fontcolor", BLACK,
|
||||
"fontname", "DejaVuSans",
|
||||
"arrowsize", "1",
|
||||
"arrowwidth", "2",
|
||||
"arrowcolor", DARK_GRAY,
|
||||
// custom
|
||||
"requiresMandatedColor", LIGHT_GRAY,
|
||||
"javaSubgraphColor", ORANGE,
|
||||
"jdkSubgraphColor", BLUE
|
||||
);
|
||||
|
||||
final Map<String, Integer> weights = new HashMap<>();
|
||||
final List<Set<String>> ranks = new ArrayList<>();
|
||||
final Map<String, String> attrs;
|
||||
ModuleGraphAttributes(Map<String, String> attrs) {
|
||||
int h = 1000;
|
||||
weight("java.se", "java.sql.rowset", h * 10);
|
||||
weight("java.sql.rowset", "java.sql", h * 10);
|
||||
weight("java.sql", "java.xml", h * 10);
|
||||
weight("java.xml", "java.base", h * 10);
|
||||
|
||||
ranks.add(Set.of("java.logging", "java.scripting", "java.xml"));
|
||||
ranks.add(Set.of("java.sql"));
|
||||
ranks.add(Set.of("java.transaction.xa"));
|
||||
ranks.add(Set.of("java.compiler", "java.instrument"));
|
||||
ranks.add(Set.of("java.desktop", "java.management"));
|
||||
|
||||
this.attrs = attrs;
|
||||
}
|
||||
static class ModuleGraphAttributes extends ModuleDotGraph.DotGraphAttributes {
|
||||
final Properties attrs;
|
||||
final Map<String, Integer> weights;
|
||||
|
||||
ModuleGraphAttributes() {
|
||||
this(DEFAULT_ATTRIBUTES);
|
||||
}
|
||||
this(new Properties());
|
||||
};
|
||||
ModuleGraphAttributes(Properties props) {
|
||||
this(toAttributes(props));
|
||||
this.attrs = props;
|
||||
this.weights = initWeights(props);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double nodeSep() {
|
||||
String v = attrs.getProperty("nodesep");
|
||||
return v != null ? Double.valueOf(v) : super.nodeSep();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double rankSep() {
|
||||
return Double.valueOf(attrs.get("ranksep"));
|
||||
String v = attrs.getProperty("ranksep");
|
||||
return v != null ? Double.valueOf(v) : super.rankSep();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int fontSize() {
|
||||
return Integer.valueOf(attrs.get("fontsize"));
|
||||
String v = attrs.getProperty("fontsize");
|
||||
return v != null ? Integer.valueOf(v) : super.fontSize();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String fontName() {
|
||||
return attrs.get("fontname");
|
||||
String v = attrs.getProperty("fontname");
|
||||
return v != null ? v : super.fontName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String fontColor() {
|
||||
return attrs.get("fontcolor");
|
||||
String v = attrs.getProperty("fontcolor");
|
||||
return v != null ? v : super.fontColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int arrowSize() {
|
||||
return Integer.valueOf(attrs.get("arrowsize"));
|
||||
String v = attrs.getProperty("arrowsize");
|
||||
return v != null ? Integer.valueOf(v) : super.arrowSize();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int arrowWidth() {
|
||||
return Integer.valueOf(attrs.get("arrowwidth"));
|
||||
String v = attrs.getProperty("arrowwidth");
|
||||
return v != null ? Integer.valueOf(v) : super.arrowWidth();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String arrowColor() {
|
||||
return attrs.get("arrowcolor");
|
||||
String v = attrs.getProperty("arrowcolor");
|
||||
return v != null ? v : super.arrowColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Set<String>> ranks() {
|
||||
return ranks;
|
||||
return attrs.stringPropertyNames().stream()
|
||||
.filter(k -> k.startsWith("ranks."))
|
||||
.sorted()
|
||||
.map(k -> Arrays.stream(attrs.getProperty(k).split(","))
|
||||
.collect(Collectors.toSet()))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String requiresMandatedColor() {
|
||||
return attrs.get("requiresMandatedColor");
|
||||
String v = attrs.getProperty("requiresMandatedColor");
|
||||
return v != null ? v : super.requiresMandatedColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String javaSubgraphColor() {
|
||||
return attrs.get("javaSubgraphColor");
|
||||
String v = attrs.getProperty("javaSubgraphColor");
|
||||
return v != null ? v : super.javaSubgraphColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String jdkSubgraphColor() {
|
||||
return attrs.get("jdkSubgraphColor");
|
||||
String v = attrs.getProperty("jdkSubgraphColor");
|
||||
return v != null ? v : super.jdkSubgraphColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String nodeMargin() {
|
||||
String v = attrs.getProperty("node-margin");
|
||||
return v != null ? v : super.nodeMargin();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String requiresStyle() {
|
||||
String v = attrs.getProperty("requiresStyle");
|
||||
return v != null ? v : super.requiresStyle();
|
||||
};
|
||||
|
||||
@Override
|
||||
public String requiresTransitiveStyle() {
|
||||
String v = attrs.getProperty("requiresTransitiveStyle");
|
||||
return v != null ? v : super.requiresTransitiveStyle();
|
||||
};
|
||||
|
||||
@Override
|
||||
public int weightOf(String s, String t) {
|
||||
int w = weights.getOrDefault(s + ":" + t, 1);
|
||||
@@ -221,14 +232,25 @@ public class GenGraphs {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public void weight(String s, String t, int w) {
|
||||
weights.put(s + ":" + t, w);
|
||||
}
|
||||
/*
|
||||
* Create a map of <mn>:<dep> with a weight trying to line up
|
||||
* the modules in the weights property in the specified order.
|
||||
*/
|
||||
public static Map<String, Integer> initWeights(Properties props) {
|
||||
String[] modules = props.getProperty("weights", "").split(",");
|
||||
int len = modules.length;
|
||||
if (len == 0) return Map.of();
|
||||
|
||||
static Map<String, String> toAttributes(Properties props) {
|
||||
return DEFAULT_ATTRIBUTES.keySet().stream()
|
||||
.collect(Collectors.toMap(Function.identity(),
|
||||
k -> props.getProperty(k, DEFAULT_ATTRIBUTES.get(k))));
|
||||
Map<String, Integer> weights = new HashMap<>();
|
||||
String mn = modules[0];
|
||||
int w = 10000;
|
||||
for (int i = 1; i < len; i++) {
|
||||
String dep = modules[i];
|
||||
weights.put(mn + ":" + dep, w);
|
||||
mn = dep;
|
||||
}
|
||||
weights.put(mn + ":java.base", w);
|
||||
return weights;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,2 +1,35 @@
|
||||
# Configuration file for build.tools.jigsaw.GenGraphs
|
||||
|
||||
nodesep=.5
|
||||
node-margin=.2,.2
|
||||
ranksep=0.6
|
||||
fontsize=12
|
||||
fontcolor=#000000
|
||||
fontname=DejaVuSans
|
||||
arrowsize=1
|
||||
arrowwidth=2
|
||||
|
||||
# requires edge: gray
|
||||
arrowcolor=#999999
|
||||
requiresMandatedColor=#999999
|
||||
|
||||
# requires mandated java.base edge: light gray
|
||||
requiresMandatedColor=#dddddd
|
||||
|
||||
requiresTransitiveStyle=
|
||||
requiresStyle=dashed
|
||||
|
||||
# java.* modules: orange
|
||||
javaSubgraphColor=#e76f00
|
||||
|
||||
# jdk.* modules: blue
|
||||
jdkSubgraphColor=#437291
|
||||
|
||||
# configure the group of modules in the same rank
|
||||
ranks.1=java.logging,java.scripting,java.xml
|
||||
ranks.2=java.sql
|
||||
ranks.4=java.compiler,java.instrument
|
||||
ranks.5=java.desktop,java.management
|
||||
|
||||
# configure the edges A -> B -> C .... with the same weight
|
||||
# that should get these modules lined in a straight line
|
||||
weights=java.se,java.sql.rowset,java.sql,java.xml
|
||||
|
||||
@@ -0,0 +1,231 @@
|
||||
/*
|
||||
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package build.tools.makezipreproducible;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.*;
|
||||
import java.nio.file.attribute.BasicFileAttributes;
|
||||
import java.nio.channels.Channels;
|
||||
import java.nio.channels.FileChannel;
|
||||
import java.util.*;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipException;
|
||||
import java.util.zip.ZipFile;
|
||||
import java.util.zip.ZipInputStream;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
/**
|
||||
* Generate a zip file in a "reproducible" manner from the input zip file.
|
||||
* Standard zip tools rely on OS file list querying whose ordering can vary
|
||||
* by platform architecture, this class ensures the zip entries are ordered
|
||||
* and also supports SOURCE_DATE_EPOCH timestamps.
|
||||
*/
|
||||
public class MakeZipReproducible {
|
||||
String input_file = null;
|
||||
String fname = null;
|
||||
String zname = "";
|
||||
long timestamp = -1L;
|
||||
boolean verbose = false;
|
||||
|
||||
// Keep a sorted Set of ZipEntrys to be processed, so that the zip is reproducible
|
||||
SortedMap<String, ZipEntry> entries = new TreeMap<String, ZipEntry>();
|
||||
|
||||
private boolean ok;
|
||||
|
||||
public MakeZipReproducible() {
|
||||
}
|
||||
|
||||
public synchronized boolean run(String args[]) {
|
||||
ok = true;
|
||||
if (!parseArgs(args)) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
zname = fname.replace(File.separatorChar, '/');
|
||||
if (zname.startsWith("./")) {
|
||||
zname = zname.substring(2);
|
||||
}
|
||||
|
||||
if (verbose) System.out.println("Input zip file: " + input_file);
|
||||
|
||||
File inFile = new File(input_file);
|
||||
if (!inFile.exists()) {
|
||||
error("Input zip file does not exist");
|
||||
ok = false;
|
||||
} else {
|
||||
File zipFile = new File(fname);
|
||||
// Check archive to create does not exist
|
||||
if (!zipFile.exists()) {
|
||||
// Process input ZipEntries
|
||||
ok = processInputEntries(inFile);
|
||||
if (ok) {
|
||||
try (FileOutputStream out = new FileOutputStream(fname)) {
|
||||
ok = create(inFile, new BufferedOutputStream(out, 4096));
|
||||
}
|
||||
} else {
|
||||
}
|
||||
} else {
|
||||
error("Target zip file "+fname+" already exists.");
|
||||
ok = false;
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
fatalError(e);
|
||||
ok = false;
|
||||
} catch (Error ee) {
|
||||
ee.printStackTrace();
|
||||
ok = false;
|
||||
} catch (Throwable t) {
|
||||
t.printStackTrace();
|
||||
ok = false;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
boolean parseArgs(String args[]) {
|
||||
try {
|
||||
boolean parsingIncludes = false;
|
||||
boolean parsingExcludes = false;
|
||||
int count = 0;
|
||||
while(count < args.length) {
|
||||
if (args[count].startsWith("-")) {
|
||||
String flag = args[count].substring(1);
|
||||
switch (flag.charAt(0)) {
|
||||
case 'f':
|
||||
fname = args[++count];
|
||||
break;
|
||||
case 't':
|
||||
// SOURCE_DATE_EPOCH timestamp specified
|
||||
timestamp = Long.parseLong(args[++count]) * 1000;
|
||||
break;
|
||||
case 'v':
|
||||
verbose = true;
|
||||
break;
|
||||
default:
|
||||
error(String.format("Illegal option -%s", String.valueOf(flag.charAt(0))));
|
||||
usageError();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// input zip file
|
||||
if (input_file != null) {
|
||||
error("Input zip file already specified");
|
||||
usageError();
|
||||
return false;
|
||||
}
|
||||
input_file = args[count];
|
||||
}
|
||||
count++;
|
||||
}
|
||||
} catch (ArrayIndexOutOfBoundsException e) {
|
||||
usageError();
|
||||
return false;
|
||||
} catch (NumberFormatException e) {
|
||||
usageError();
|
||||
return false;
|
||||
}
|
||||
if (fname == null) {
|
||||
error("-f <outputArchiveName> must be specified");
|
||||
usageError();
|
||||
return false;
|
||||
}
|
||||
// If no files specified then default to current directory
|
||||
if (input_file == null) {
|
||||
error("No input zip file specified");
|
||||
usageError();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Process input zip file and add to sorted entries set
|
||||
boolean processInputEntries(File inFile) throws IOException {
|
||||
ZipFile zipFile = new ZipFile(inFile);
|
||||
zipFile.stream().forEach(entry -> entries.put(entry.getName(), entry));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Create new zip from entries
|
||||
boolean create(File inFile, OutputStream out) throws IOException
|
||||
{
|
||||
try (ZipFile zipFile = new ZipFile(inFile);
|
||||
ZipOutputStream zos = new ZipOutputStream(out)) {
|
||||
for (Map.Entry<String, ZipEntry> entry : entries.entrySet()) {
|
||||
ZipEntry zipEntry = entry.getValue();
|
||||
if (zipEntry.getSize() > 0) {
|
||||
try (InputStream eis = zipFile.getInputStream(zipEntry)) {
|
||||
addEntry(zos, zipEntry, eis);
|
||||
}
|
||||
} else {
|
||||
addEntry(zos, zipEntry, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Add Entry and data to Zip
|
||||
void addEntry(ZipOutputStream zos, ZipEntry entry, InputStream entryInputStream) throws IOException {
|
||||
if (verbose) {
|
||||
System.out.println("Adding: "+entry.getName());
|
||||
}
|
||||
|
||||
// Set to specified timestamp if set otherwise leave as original lastModified time
|
||||
if (timestamp != -1L) {
|
||||
entry.setTime(timestamp);
|
||||
}
|
||||
|
||||
zos.putNextEntry(entry);
|
||||
if (entry.getSize() > 0 && entryInputStream != null) {
|
||||
entryInputStream.transferTo(zos);
|
||||
}
|
||||
zos.closeEntry();
|
||||
}
|
||||
|
||||
void usageError() {
|
||||
error(
|
||||
"Usage: MakeZipReproducible [-v] [-t <SOURCE_DATE_EPOCH>] -f <output_zip_file> <input_zip_file>\n" +
|
||||
"Options:\n" +
|
||||
" -v verbose output\n" +
|
||||
" -f specify archive file name to create\n" +
|
||||
" -t specific SOURCE_DATE_EPOCH value to use for timestamps\n" +
|
||||
" input_zip_file re-written as a reproducible zip output_zip_file.\n");
|
||||
}
|
||||
|
||||
void fatalError(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
protected void error(String s) {
|
||||
System.err.println(s);
|
||||
}
|
||||
|
||||
public static void main(String args[]) {
|
||||
MakeZipReproducible z = new MakeZipReproducible();
|
||||
System.exit(z.run(args) ? 0 : 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -31,8 +31,8 @@ import java.util.Set;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.ModuleElement;
|
||||
import javax.lang.model.element.PackageElement;
|
||||
import javax.lang.model.element.TypeElement;
|
||||
|
||||
import com.sun.source.doctree.DocTree;
|
||||
import com.sun.source.doctree.UnknownBlockTagTree;
|
||||
@@ -75,7 +75,7 @@ public class ToolGuide implements Taglet {
|
||||
*/
|
||||
@Override
|
||||
public Set<Location> getAllowedLocations() {
|
||||
return EnumSet.of(MODULE, PACKAGE);
|
||||
return EnumSet.of(MODULE, PACKAGE, TYPE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -151,6 +151,12 @@ public class ToolGuide implements Taglet {
|
||||
return pe.getEnclosingElement() != null
|
||||
? "../" + pkgPart
|
||||
: pkgPart;
|
||||
case CLASS:
|
||||
TypeElement te = (TypeElement)elem;
|
||||
return te.getQualifiedName()
|
||||
.toString()
|
||||
.replace('.', '/')
|
||||
.replaceAll("[^/]+", "..");
|
||||
|
||||
default:
|
||||
throw new IllegalArgumentException(elem.getKind().toString());
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
package build.tools.symbolgenerator;
|
||||
|
||||
import build.tools.symbolgenerator.CreateSymbols.ModuleHeaderDescription.ExportsDescription;
|
||||
import build.tools.symbolgenerator.CreateSymbols
|
||||
.ModuleHeaderDescription
|
||||
.ProvidesDescription;
|
||||
@@ -122,7 +123,9 @@ import com.sun.tools.classfile.Field;
|
||||
import com.sun.tools.classfile.InnerClasses_attribute;
|
||||
import com.sun.tools.classfile.InnerClasses_attribute.Info;
|
||||
import com.sun.tools.classfile.Method;
|
||||
import com.sun.tools.classfile.ModulePackages_attribute;
|
||||
import com.sun.tools.classfile.MethodParameters_attribute;
|
||||
import com.sun.tools.classfile.ModuleMainClass_attribute;
|
||||
import com.sun.tools.classfile.ModuleResolution_attribute;
|
||||
import com.sun.tools.classfile.ModuleTarget_attribute;
|
||||
import com.sun.tools.classfile.Module_attribute;
|
||||
@@ -243,7 +246,14 @@ public class CreateSymbols {
|
||||
md,
|
||||
mhd,
|
||||
versionsList);
|
||||
mhd.exports.stream().forEach(pkg -> {
|
||||
List<String> packages = new ArrayList<>();
|
||||
mhd.exports.stream()
|
||||
.map(ExportsDescription::packageName)
|
||||
.forEach(packages::add);
|
||||
if (mhd.extraModulePackages != null) {
|
||||
packages.addAll(mhd.extraModulePackages);
|
||||
}
|
||||
packages.stream().forEach(pkg -> {
|
||||
for (char v : mhd.versions.toCharArray()) {
|
||||
package2Version2Module.computeIfAbsent(pkg, dummy -> new HashMap<>()).put(v, md.name);
|
||||
}
|
||||
@@ -928,6 +938,12 @@ public class CreateSymbols {
|
||||
attributes.put(Attribute.ModuleTarget,
|
||||
new ModuleTarget_attribute(attrIdx, targetIdx));
|
||||
}
|
||||
if (header.moduleMainClass != null) {
|
||||
int attrIdx = addString(cp, Attribute.ModuleMainClass);
|
||||
int targetIdx = addString(cp, header.moduleMainClass);
|
||||
attributes.put(Attribute.ModuleMainClass,
|
||||
new ModuleMainClass_attribute(attrIdx, targetIdx));
|
||||
}
|
||||
int attrIdx = addString(cp, Attribute.Module);
|
||||
attributes.put(Attribute.Module,
|
||||
new Module_attribute(attrIdx,
|
||||
@@ -967,13 +983,21 @@ public class CreateSymbols {
|
||||
return new RequiresEntry(idx,
|
||||
r.flags,
|
||||
r.version != null
|
||||
? addInt(cp, r.version)
|
||||
? addString(cp, r.version)
|
||||
: 0);
|
||||
}
|
||||
|
||||
private static ExportsEntry createExportsEntry(List<CPInfo> cp,
|
||||
String e) {
|
||||
return new ExportsEntry(addPackageName(cp, e), 0, new int[0]);
|
||||
ExportsDescription export) {
|
||||
int[] to;
|
||||
if (export.isQualified()) {
|
||||
to = export.to.stream()
|
||||
.mapToInt(module -> addModuleName(cp, module))
|
||||
.toArray();
|
||||
} else {
|
||||
to = new int[0];
|
||||
}
|
||||
return new ExportsEntry(addPackageName(cp, export.packageName()), 0, to);
|
||||
}
|
||||
|
||||
private static OpensEntry createOpensEntry(List<CPInfo> cp, String e) {
|
||||
@@ -1398,7 +1422,7 @@ public class CreateSymbols {
|
||||
dumpDescriptions(classes, modules, platforms, Set.of(), descDest.resolve("symbols"), args);
|
||||
}
|
||||
//where:
|
||||
private static final String DO_NO_MODIFY =
|
||||
public static String DO_NOT_MODIFY =
|
||||
"#\n" +
|
||||
"# Copyright (c) {YEAR}, Oracle and/or its affiliates. All rights reserved.\n" +
|
||||
"# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n" +
|
||||
@@ -1470,14 +1494,19 @@ public class CreateSymbols {
|
||||
ExcludeIncludeList currentEIList = excludesIncludes;
|
||||
|
||||
if (!currentVersionModules.isEmpty()) {
|
||||
Set<String> privateIncludes =
|
||||
enhancedIncludesListBasedOnClassHeaders(classes, classData);
|
||||
Set<String> includes = new HashSet<>();
|
||||
|
||||
for (ModuleDescription md : currentVersionModules.values()) {
|
||||
md.header.get(0).exports.stream().map(e -> e + '/')
|
||||
md.header.get(0).exports.stream()
|
||||
.filter(e -> !e.isQualified())
|
||||
.map(e -> e.packageName + '/')
|
||||
.forEach(includes::add);
|
||||
}
|
||||
|
||||
currentEIList = new ExcludeIncludeList(includes,
|
||||
privateIncludes,
|
||||
Collections.emptySet());
|
||||
}
|
||||
|
||||
@@ -1500,7 +1529,9 @@ public class CreateSymbols {
|
||||
if (unsupported.header
|
||||
.get(0)
|
||||
.exports
|
||||
.contains(cd.packge().replace('.', '/'))) {
|
||||
.stream()
|
||||
.map(ed -> ed.packageName)
|
||||
.anyMatch(pack -> pack.equals(cd.packge().replace('.', '/')))) {
|
||||
ClassHeaderDescription ch = cd.header.get(0);
|
||||
if (ch.classAnnotations == null) {
|
||||
ch.classAnnotations = new ArrayList<>();
|
||||
@@ -1522,7 +1553,7 @@ public class CreateSymbols {
|
||||
for (ClassDescription clazz : currentVersionClasses) {
|
||||
ClassHeaderDescription header = clazz.header.get(0);
|
||||
|
||||
if (includeEffectiveAccess(currentVersionClasses, clazz)) {
|
||||
if (includeEffectiveAccess(currentVersionClasses, clazz) && currentEIList.accepts(clazz.name, false)) {
|
||||
modified |= include(includedClasses, currentVersionClasses, clazz.name);
|
||||
}
|
||||
|
||||
@@ -1548,6 +1579,8 @@ public class CreateSymbols {
|
||||
}
|
||||
} while (modified);
|
||||
|
||||
Set<String> allIncludedPackages = new HashSet<>();
|
||||
|
||||
for (ClassDescription clazz : currentVersionClasses) {
|
||||
if (!includedClasses.contains(clazz.name)) {
|
||||
continue;
|
||||
@@ -1588,6 +1621,8 @@ public class CreateSymbols {
|
||||
} else {
|
||||
classes.add(clazz);
|
||||
}
|
||||
|
||||
allIncludedPackages.add(clazz.packge().replace('.', '/'));
|
||||
}
|
||||
|
||||
for (ModuleDescription module : currentVersionModules.values()) {
|
||||
@@ -1604,6 +1639,13 @@ public class CreateSymbols {
|
||||
}
|
||||
}
|
||||
|
||||
header.exports.removeIf(ed -> ed.isQualified() &&
|
||||
!allIncludedPackages.contains(ed.packageName()));
|
||||
|
||||
if (header.extraModulePackages != null) {
|
||||
header.extraModulePackages.retainAll(allIncludedPackages);
|
||||
}
|
||||
|
||||
ModuleDescription existing = modules.get(module.name);
|
||||
|
||||
if (existing != null) {
|
||||
@@ -1635,7 +1677,16 @@ public class CreateSymbols {
|
||||
md.header
|
||||
.stream()
|
||||
.filter(h -> h.versions.contains(v.version))
|
||||
.flatMap(h -> h.exports.stream())
|
||||
.flatMap(h -> {
|
||||
List<String> packages = new ArrayList<>();
|
||||
h.exports.stream()
|
||||
.map(ExportsDescription::packageName)
|
||||
.forEach(packages::add);
|
||||
if (h.extraModulePackages != null) {
|
||||
packages.addAll(h.extraModulePackages);
|
||||
}
|
||||
return packages.stream();
|
||||
})
|
||||
.map(p -> p.replace('/', '.'))
|
||||
.forEach(p -> package2Modules.putIfAbsent(p, md.name));
|
||||
}
|
||||
@@ -1711,11 +1762,11 @@ public class CreateSymbols {
|
||||
boolean hasChange = true;
|
||||
if (Files.isReadable(f)) {
|
||||
String oldContent = Files.readString(f, StandardCharsets.UTF_8);
|
||||
int yearPos = DO_NO_MODIFY.indexOf("{YEAR}");
|
||||
int yearPos = DO_NOT_MODIFY.indexOf("{YEAR}");
|
||||
String headerPattern =
|
||||
Pattern.quote(DO_NO_MODIFY.substring(0, yearPos)) +
|
||||
Pattern.quote(DO_NOT_MODIFY.substring(0, yearPos)) +
|
||||
"([0-9]+)(, [0-9]+)?" +
|
||||
Pattern.quote(DO_NO_MODIFY.substring(yearPos + "{YEAR}".length()));
|
||||
Pattern.quote(DO_NOT_MODIFY.substring(yearPos + "{YEAR}".length()));
|
||||
String pattern = headerPattern +
|
||||
Pattern.quote(dataString);
|
||||
Matcher m = Pattern.compile(pattern, Pattern.MULTILINE).matcher(oldContent);
|
||||
@@ -1732,7 +1783,7 @@ public class CreateSymbols {
|
||||
try (Writer out = Files.newBufferedWriter(f, StandardCharsets.UTF_8)) {
|
||||
String currentYear = String.valueOf(year);
|
||||
String yearSpec = (existingYear != null && !currentYear.equals(existingYear) ? existingYear + ", " : "") + currentYear;
|
||||
out.append(DO_NO_MODIFY.replace("{YEAR}", yearSpec));
|
||||
out.append(DO_NOT_MODIFY.replace("{YEAR}", yearSpec));
|
||||
out.write(dataString);
|
||||
}
|
||||
}
|
||||
@@ -1743,7 +1794,7 @@ public class CreateSymbols {
|
||||
|
||||
outputFiles.put(desc, files);
|
||||
}
|
||||
symbolsOut.append(DO_NO_MODIFY.replace("{YEAR}", "2015, " + year));
|
||||
symbolsOut.append(DO_NOT_MODIFY.replace("{YEAR}", "2015, " + year));
|
||||
symbolsOut.append("#command used to generate this file:\n");
|
||||
symbolsOut.append("#")
|
||||
.append(CreateSymbols.class.getName())
|
||||
@@ -1916,7 +1967,7 @@ public class CreateSymbols {
|
||||
return ;
|
||||
}
|
||||
|
||||
if (!excludesIncludes.accepts(cf.getName())) {
|
||||
if (!excludesIncludes.accepts(cf.getName(), true)) {
|
||||
return ;
|
||||
}
|
||||
|
||||
@@ -2012,6 +2063,45 @@ public class CreateSymbols {
|
||||
addModuleHeader(moduleDesc, headerDesc, version);
|
||||
}
|
||||
|
||||
private Set<String> enhancedIncludesListBasedOnClassHeaders(ClassList classes,
|
||||
Iterable<byte[]> classData) {
|
||||
Set<String> additionalIncludes = new HashSet<>();
|
||||
|
||||
for (byte[] classFileData : classData) {
|
||||
try (InputStream in = new ByteArrayInputStream(classFileData)) {
|
||||
ClassFile cf = ClassFile.read(in);
|
||||
|
||||
if (cf.access_flags.is(AccessFlags.ACC_MODULE)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Set<String> additionalClasses = new HashSet<>();
|
||||
|
||||
if (cf.super_class != 0) {
|
||||
additionalClasses.add(cf.getSuperclassName());
|
||||
}
|
||||
for (int i = 0; i < cf.interfaces.length; i++) {
|
||||
additionalClasses.add(cf.getInterfaceName(i));
|
||||
}
|
||||
|
||||
for (String additional : additionalClasses) {
|
||||
int dollar;
|
||||
|
||||
additionalIncludes.add(additional);
|
||||
|
||||
while ((dollar = additional.lastIndexOf('$')) != (-1)) {
|
||||
additional = additional.substring(0, dollar);
|
||||
additionalIncludes.add(additional);
|
||||
}
|
||||
}
|
||||
} catch (IOException | ConstantPoolException ex) {
|
||||
throw new IllegalStateException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
return additionalIncludes;
|
||||
}
|
||||
|
||||
private void addModuleHeader(ModuleDescription moduleDesc,
|
||||
ModuleHeaderDescription headerDesc,
|
||||
String version) {
|
||||
@@ -2197,9 +2287,11 @@ public class CreateSymbols {
|
||||
|
||||
header.exports =
|
||||
Arrays.stream(mod.exports)
|
||||
.filter(ee -> ee.exports_to_count == 0)
|
||||
.map(ee -> getPackageName(cf, ee.exports_index))
|
||||
.map(ee -> ExportsDescription.create(cf, ee))
|
||||
.collect(Collectors.toList());
|
||||
if (header.extraModulePackages != null) {
|
||||
header.exports.forEach(ed -> header.extraModulePackages.remove(ed.packageName()));
|
||||
}
|
||||
header.requires =
|
||||
Arrays.stream(mod.requires)
|
||||
.map(r -> RequiresDescription.create(cf, r))
|
||||
@@ -2235,6 +2327,20 @@ public class CreateSymbols {
|
||||
break;
|
||||
}
|
||||
case Attribute.ModulePackages:
|
||||
assert feature instanceof ModuleHeaderDescription;
|
||||
ModuleHeaderDescription header =
|
||||
(ModuleHeaderDescription) feature;
|
||||
ModulePackages_attribute mod =
|
||||
(ModulePackages_attribute) attr;
|
||||
header.extraModulePackages = new ArrayList<>();
|
||||
for (int i = 0; i < mod.packages_count; i++) {
|
||||
String packageName = getPackageName(cf, mod.packages_index[i]);
|
||||
if (header.exports == null ||
|
||||
header.exports.stream().noneMatch(ed -> ed.packageName().equals(packageName))) {
|
||||
header.extraModulePackages.add(packageName);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Attribute.ModuleHashes:
|
||||
break;
|
||||
case Attribute.NestHost: {
|
||||
@@ -2294,6 +2400,13 @@ public class CreateSymbols {
|
||||
chd.isSealed = true;
|
||||
break;
|
||||
}
|
||||
case Attribute.ModuleMainClass: {
|
||||
ModuleMainClass_attribute moduleMainClass = (ModuleMainClass_attribute) attr;
|
||||
assert feature instanceof ModuleHeaderDescription;
|
||||
ModuleHeaderDescription mhd = (ModuleHeaderDescription) feature;
|
||||
mhd.moduleMainClass = moduleMainClass.getMainClassName(cf.constant_pool);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
throw new IllegalStateException("Unhandled attribute: " +
|
||||
attrName);
|
||||
@@ -2338,11 +2451,16 @@ public class CreateSymbols {
|
||||
}
|
||||
}
|
||||
|
||||
private static Integer getVersion(ClassFile cf, int idx) {
|
||||
public static String INJECTED_VERSION = null;
|
||||
|
||||
private static String getVersion(ClassFile cf, int idx) {
|
||||
if (INJECTED_VERSION != null) {
|
||||
return INJECTED_VERSION;
|
||||
}
|
||||
if (idx == 0)
|
||||
return null;
|
||||
try {
|
||||
return ((CONSTANT_Integer_info) cf.constant_pool.get(idx)).value;
|
||||
return ((CONSTANT_Utf8_info) cf.constant_pool.get(idx)).value;
|
||||
} catch (InvalidIndex ex) {
|
||||
throw new IllegalStateException(ex);
|
||||
}
|
||||
@@ -2456,9 +2574,15 @@ public class CreateSymbols {
|
||||
if (clazzName == null)
|
||||
return false;
|
||||
|
||||
ClassDescription desc = classes.find(clazzName, true);
|
||||
|
||||
if (desc == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean modified = includedClasses.add(clazzName);
|
||||
|
||||
for (ClassDescription outer : classes.enclosingClasses(classes.find(clazzName, true))) {
|
||||
for (ClassDescription outer : classes.enclosingClasses(desc)) {
|
||||
modified |= includedClasses.add(outer.name);
|
||||
}
|
||||
|
||||
@@ -2500,10 +2624,17 @@ public class CreateSymbols {
|
||||
|
||||
public static class ExcludeIncludeList {
|
||||
public final Set<String> includeList;
|
||||
public final Set<String> privateIncludeList;
|
||||
public final Set<String> excludeList;
|
||||
|
||||
protected ExcludeIncludeList(Set<String> includeList, Set<String> excludeList) {
|
||||
this(includeList, Set.of(), excludeList);
|
||||
}
|
||||
|
||||
protected ExcludeIncludeList(Set<String> includeList, Set<String> privateIncludeList,
|
||||
Set<String> excludeList) {
|
||||
this.includeList = includeList;
|
||||
this.privateIncludeList = privateIncludeList;
|
||||
this.excludeList = excludeList;
|
||||
}
|
||||
|
||||
@@ -2523,8 +2654,10 @@ public class CreateSymbols {
|
||||
return new ExcludeIncludeList(includeList, excludeList);
|
||||
}
|
||||
|
||||
public boolean accepts(String className) {
|
||||
return matches(includeList, className) && !matches(excludeList, className);
|
||||
public boolean accepts(String className, boolean includePrivateClasses) {
|
||||
return (matches(includeList, className) ||
|
||||
(includePrivateClasses && matches(privateIncludeList, className))) &&
|
||||
!matches(excludeList, className);
|
||||
}
|
||||
|
||||
private static boolean matches(Set<String> list, String className) {
|
||||
@@ -2724,13 +2857,15 @@ public class CreateSymbols {
|
||||
|
||||
static class ModuleHeaderDescription extends HeaderDescription {
|
||||
String name;
|
||||
List<String> exports = new ArrayList<>();
|
||||
List<ExportsDescription> exports = new ArrayList<>();
|
||||
List<String> opens = new ArrayList<>();
|
||||
List<String> extraModulePackages = new ArrayList<>();
|
||||
List<RequiresDescription> requires = new ArrayList<>();
|
||||
List<String> uses = new ArrayList<>();
|
||||
List<ProvidesDescription> provides = new ArrayList<>();
|
||||
Integer moduleResolution;
|
||||
String moduleTarget;
|
||||
String moduleMainClass;
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
@@ -2738,11 +2873,13 @@ public class CreateSymbols {
|
||||
hash = 83 * hash + Objects.hashCode(this.name);
|
||||
hash = 83 * hash + Objects.hashCode(this.exports);
|
||||
hash = 83 * hash + Objects.hashCode(this.opens);
|
||||
hash = 83 * hash + Objects.hashCode(this.extraModulePackages);
|
||||
hash = 83 * hash + Objects.hashCode(this.requires);
|
||||
hash = 83 * hash + Objects.hashCode(this.uses);
|
||||
hash = 83 * hash + Objects.hashCode(this.provides);
|
||||
hash = 83 * hash + Objects.hashCode(this.moduleResolution);
|
||||
hash = 83 * hash + Objects.hashCode(this.moduleTarget);
|
||||
hash = 83 * hash + Objects.hashCode(this.moduleMainClass);
|
||||
return hash;
|
||||
}
|
||||
|
||||
@@ -2765,6 +2902,9 @@ public class CreateSymbols {
|
||||
if (!listEquals(this.opens, other.opens)) {
|
||||
return false;
|
||||
}
|
||||
if (!listEquals(this.extraModulePackages, other.extraModulePackages)) {
|
||||
return false;
|
||||
}
|
||||
if (!listEquals(this.requires, other.requires)) {
|
||||
return false;
|
||||
}
|
||||
@@ -2781,6 +2921,10 @@ public class CreateSymbols {
|
||||
other.moduleResolution)) {
|
||||
return false;
|
||||
}
|
||||
if (!Objects.equals(this.moduleMainClass,
|
||||
other.moduleMainClass)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2792,10 +2936,17 @@ public class CreateSymbols {
|
||||
&& versions.contains(version)))
|
||||
return ;
|
||||
output.append("header");
|
||||
if (exports != null && !exports.isEmpty())
|
||||
output.append(" exports " + serializeList(exports));
|
||||
if (exports != null && !exports.isEmpty()) {
|
||||
List<String> exportsList =
|
||||
exports.stream()
|
||||
.map(exp -> exp.serialize())
|
||||
.collect(Collectors.toList());
|
||||
output.append(" exports " + serializeList(exportsList));
|
||||
}
|
||||
if (opens != null && !opens.isEmpty())
|
||||
output.append(" opens " + serializeList(opens));
|
||||
if (extraModulePackages != null && !extraModulePackages.isEmpty())
|
||||
output.append(" extraModulePackages " + serializeList(extraModulePackages));
|
||||
if (requires != null && !requires.isEmpty()) {
|
||||
List<String> requiresList =
|
||||
requires.stream()
|
||||
@@ -2818,6 +2969,8 @@ public class CreateSymbols {
|
||||
output.append(" resolution " +
|
||||
quote(Integer.toHexString(moduleResolution),
|
||||
true));
|
||||
if (moduleMainClass != null)
|
||||
output.append(" moduleMainClass " + quote(moduleMainClass, true));
|
||||
writeAttributes(output);
|
||||
output.append("\n");
|
||||
writeInnerClasses(output, baselineVersion, version);
|
||||
@@ -2840,8 +2993,12 @@ public class CreateSymbols {
|
||||
if (!"header".equals(reader.lineKey))
|
||||
return false;
|
||||
|
||||
exports = deserializeList(reader.attributes.get("exports"));
|
||||
List<String> exportsList = deserializeList(reader.attributes.get("exports"), false);
|
||||
exports = exportsList.stream()
|
||||
.map(ExportsDescription::deserialize)
|
||||
.collect(Collectors.toList());
|
||||
opens = deserializeList(reader.attributes.get("opens"));
|
||||
extraModulePackages = deserializeList(reader.attributes.get("extraModulePackages"));
|
||||
List<String> requiresList =
|
||||
deserializeList(reader.attributes.get("requires"));
|
||||
requires = requiresList.stream()
|
||||
@@ -2862,6 +3019,8 @@ public class CreateSymbols {
|
||||
moduleResolution = Integer.parseInt(resolutionFlags, 16);
|
||||
}
|
||||
|
||||
moduleMainClass = reader.attributes.get("moduleMainClass");
|
||||
|
||||
readAttributes(reader);
|
||||
reader.moveNext();
|
||||
readInnerClasses(reader);
|
||||
@@ -2869,13 +3028,53 @@ public class CreateSymbols {
|
||||
return true;
|
||||
}
|
||||
|
||||
record ExportsDescription(String packageName, List<String> to) {
|
||||
public String serialize() {
|
||||
return packageName +
|
||||
(isQualified() ? "[" + quote(serializeList(to), true, true) + "]"
|
||||
: "");
|
||||
}
|
||||
|
||||
public static ExportsDescription deserialize(String data) {
|
||||
int bracket = data.indexOf("[");
|
||||
String packageName;
|
||||
List<String> to;
|
||||
if (bracket != (-1)) {
|
||||
packageName = data.substring(0, bracket);
|
||||
to = deserializeList(unquote(data.substring(bracket + 1, data.length() - 1)));
|
||||
} else {
|
||||
packageName = data;
|
||||
to = null;
|
||||
}
|
||||
|
||||
return new ExportsDescription(packageName, to);
|
||||
}
|
||||
|
||||
public static ExportsDescription create(ClassFile cf,
|
||||
ExportsEntry ee) {
|
||||
String packageName = getPackageName(cf, ee.exports_index);
|
||||
List<String> to = null;
|
||||
if (ee.exports_to_count > 0) {
|
||||
to = new ArrayList<>();
|
||||
for (int moduleIndex : ee.exports_to_index) {
|
||||
to.add(getModuleName(cf, moduleIndex));
|
||||
}
|
||||
}
|
||||
return new ExportsDescription(packageName, to);
|
||||
}
|
||||
|
||||
public boolean isQualified() {
|
||||
return to != null && !to.isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
static class RequiresDescription {
|
||||
final String moduleName;
|
||||
final int flags;
|
||||
final Integer version;
|
||||
final String version;
|
||||
|
||||
public RequiresDescription(String moduleName, int flags,
|
||||
Integer version) {
|
||||
String version) {
|
||||
this.moduleName = moduleName;
|
||||
this.flags = flags;
|
||||
this.version = version;
|
||||
@@ -2883,7 +3082,7 @@ public class CreateSymbols {
|
||||
|
||||
public String serialize() {
|
||||
String versionKeyValue = version != null
|
||||
? " version " + quote(String.valueOf(version), true)
|
||||
? " version " + quote(version, true)
|
||||
: "";
|
||||
return "name " + quote(moduleName, true) +
|
||||
" flags " + quote(Integer.toHexString(flags), true) +
|
||||
@@ -2893,8 +3092,8 @@ public class CreateSymbols {
|
||||
public static RequiresDescription deserialize(String data) {
|
||||
Map<String, String> attributes = splitAttributes(data);
|
||||
|
||||
Integer ver = attributes.containsKey("version")
|
||||
? Integer.parseInt(attributes.get("version"))
|
||||
String ver = attributes.containsKey("version")
|
||||
? attributes.get("version")
|
||||
: null;
|
||||
int flags = Integer.parseInt(attributes.get("flags"), 16);
|
||||
return new RequiresDescription(attributes.get("name"),
|
||||
@@ -2905,7 +3104,7 @@ public class CreateSymbols {
|
||||
public static RequiresDescription create(ClassFile cf,
|
||||
RequiresEntry req) {
|
||||
String mod = getModuleName(cf, req.requires_index);
|
||||
Integer ver = getVersion(cf, req.requires_version_index);
|
||||
String ver = getVersion(cf, req.requires_version_index);
|
||||
return new RequiresDescription(mod,
|
||||
req.requires_flags,
|
||||
ver);
|
||||
@@ -3047,10 +3246,24 @@ public class CreateSymbols {
|
||||
header.write(output, baselineVersion, version);
|
||||
}
|
||||
for (FieldDescription field : fields) {
|
||||
field.write(output, baselineVersion, version);
|
||||
if (!field.versions.contains(version)) {
|
||||
field.write(output, baselineVersion, version);
|
||||
}
|
||||
}
|
||||
for (MethodDescription method : methods) {
|
||||
method.write(output, baselineVersion, version);
|
||||
if (!method.versions.contains(version)) {
|
||||
method.write(output, baselineVersion, version);
|
||||
}
|
||||
}
|
||||
for (FieldDescription field : fields) {
|
||||
if (field.versions.contains(version)) {
|
||||
field.write(output, baselineVersion, version);
|
||||
}
|
||||
}
|
||||
for (MethodDescription method : methods) {
|
||||
if (method.versions.contains(version)) {
|
||||
method.write(output, baselineVersion, version);
|
||||
}
|
||||
}
|
||||
output.append("\n");
|
||||
}
|
||||
@@ -3133,6 +3346,12 @@ public class CreateSymbols {
|
||||
|
||||
return pack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class ClassHeaderDescription extends HeaderDescription {
|
||||
@@ -3241,12 +3460,12 @@ public class CreateSymbols {
|
||||
readRecordComponents(reader);
|
||||
}
|
||||
readInnerClasses(reader);
|
||||
|
||||
isSealed = reader.attributes.containsKey("permittedSubclasses");
|
||||
if (isSealed) {
|
||||
String subclassesList = reader.attributes.get("permittedSubclasses");
|
||||
permittedSubclasses = deserializeList(subclassesList);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -4096,8 +4315,11 @@ public class CreateSymbols {
|
||||
}
|
||||
w.write("module:" + module.name);
|
||||
w.write("\n");
|
||||
for (String pack : header.get().exports) {
|
||||
w.write(pack.replace('/', '.'));
|
||||
for (ExportsDescription export : header.get().exports) {
|
||||
if (export.isQualified()) {
|
||||
continue;
|
||||
}
|
||||
w.write(export.packageName.replace('/', '.'));
|
||||
w.write("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,7 +183,8 @@ public class CompileProperties {
|
||||
log.error("cannot close " + filename, e);
|
||||
}
|
||||
}
|
||||
if ( ok = true && contents != null ) {
|
||||
ok = true;
|
||||
if ( contents != null ) {
|
||||
String tokens[] = (new String(contents)).split("\\s+");
|
||||
if ( tokens.length > 0 ) {
|
||||
ok = parseOptions(tokens);
|
||||
|
||||
@@ -95,16 +95,10 @@ ifeq ($(call And, $(call isTargetOs, windows) $(call isTargetCpu, x86)), true)
|
||||
endif
|
||||
DEFAULT_CFG_VARIANT ?= server
|
||||
|
||||
# Any variant other than server, client, minimal, or zero is represented as server in
|
||||
# the cfg file.
|
||||
VALID_CFG_VARIANTS := server client minimal zero
|
||||
CFG_VARIANTS := $(filter $(VALID_CFG_VARIANTS), $(JVM_VARIANTS)) \
|
||||
$(if $(filter-out $(VALID_CFG_VARIANTS), $(JVM_VARIANTS)), server)
|
||||
|
||||
# Change the order to put the default variant first if present.
|
||||
ORDERED_CFG_VARIANTS := \
|
||||
$(if $(filter $(DEFAULT_CFG_VARIANT), $(CFG_VARIANTS)), $(DEFAULT_CFG_VARIANT)) \
|
||||
$(filter-out $(DEFAULT_CFG_VARIANT), $(CFG_VARIANTS))
|
||||
$(if $(filter $(DEFAULT_CFG_VARIANT), $(JVM_VARIANTS)), $(DEFAULT_CFG_VARIANT)) \
|
||||
$(filter-out $(DEFAULT_CFG_VARIANT), $(JVM_VARIANTS))
|
||||
|
||||
JVMCFG := $(LIB_DST_DIR)/jvm.cfg
|
||||
|
||||
|
||||
@@ -60,7 +60,11 @@ TARGETS += $(GENDATA_CURDATA)
|
||||
|
||||
################################################################################
|
||||
|
||||
GENDATA_CACERTS_SRC := $(TOPDIR)/make/data/cacerts/
|
||||
ifneq ($(CACERTS_SRC), )
|
||||
GENDATA_CACERTS_SRC := $(CACERTS_SRC)
|
||||
else
|
||||
GENDATA_CACERTS_SRC := $(TOPDIR)/make/data/cacerts/
|
||||
endif
|
||||
GENDATA_CACERTS := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/security/cacerts
|
||||
|
||||
$(GENDATA_CACERTS): $(BUILD_TOOLS_JDK) $(wildcard $(GENDATA_CACERTS_SRC)/*)
|
||||
|
||||
@@ -62,6 +62,7 @@ $(CLDR_GEN_DONE): $(wildcard $(CLDR_DATA_DIR)/dtd/*.dtd) \
|
||||
-baselocales "en-US" \
|
||||
-o $(GENSRC_DIR) \
|
||||
-basemodule \
|
||||
-year $(COPYRIGHT_YEAR) \
|
||||
-zntempfile $(ZONENAME_TEMPLATE) \
|
||||
-tzdatadir $(TZ_DATA_DIR))
|
||||
$(TOUCH) $@
|
||||
@@ -99,7 +100,7 @@ GENSRC_LSREQUIVMAPS := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/Loc
|
||||
|
||||
$(GENSRC_LSREQUIVMAPS): $(TOPDIR)/make/data/lsrdata/language-subtag-registry.txt $(BUILD_TOOLS_JDK)
|
||||
$(call MakeDir, $(@D))
|
||||
$(TOOL_GENERATELSREQUIVMAPS) $< $@
|
||||
$(TOOL_GENERATELSREQUIVMAPS) $< $@ $(COPYRIGHT_YEAR)
|
||||
|
||||
TARGETS += $(GENSRC_LSREQUIVMAPS)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -23,7 +23,7 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
DOCLINT += -Xdoclint:all/protected,-reference,-accessibility \
|
||||
DOCLINT += -Xdoclint:all/protected,-reference \
|
||||
'-Xdoclint/package:java.*,javax.*'
|
||||
JAVAC_FLAGS += -XDstringConcat=inline
|
||||
COPY += .icu .dat .spp .nrm content-types.properties \
|
||||
|
||||
@@ -156,11 +156,8 @@ ifeq ($(call isTargetOsType, unix), true)
|
||||
TARGETS += $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig)
|
||||
endef
|
||||
|
||||
# The subdir is the same as the variant for client, minimal or zero, for all
|
||||
# others it's server.
|
||||
VARIANT_SUBDIRS := $(filter client minimal zero, $(JVM_VARIANTS)) \
|
||||
$(if $(filter-out client minimal zero, $(JVM_VARIANTS)), server)
|
||||
$(foreach v, $(VARIANT_SUBDIRS), $(eval $(call CreateSymlinks,$v)))
|
||||
# The subdir is the same as the variant
|
||||
$(foreach v, $(JVM_VARIANTS), $(eval $(call CreateSymlinks,$v)))
|
||||
endif
|
||||
############################################################################
|
||||
|
||||
|
||||
@@ -25,3 +25,5 @@
|
||||
|
||||
DOCLINT += -Xdoclint:all/protected \
|
||||
'-Xdoclint/package:java.*,javax.*'
|
||||
|
||||
EXCLUDES += javax/tools/snippet-files
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -23,7 +23,7 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
DOCLINT += -Xdoclint:all/protected,-reference,-missing \
|
||||
DOCLINT += -Xdoclint:all/protected \
|
||||
'-Xdoclint/package:java.*,javax.*'
|
||||
COPY += .gif .png .wav .txt .xml .css .pf
|
||||
CLEAN += iio-plugin.properties cursors.properties
|
||||
|
||||
@@ -834,6 +834,19 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
# MACOSX_METAL_VERSION_MIN specifies the lowest version of Macosx
|
||||
# that should be used to compile Metal shaders. We support Metal
|
||||
# pipeline only on Macosx >=10.14. For Macosx versions <10.14 even if
|
||||
# we enable Metal pipeline using -Dsun.java2d.metal=true, at
|
||||
# runtime we force it to use OpenGL pipeline. And MACOSX_VERSION_MIN
|
||||
# for aarch64 has always been >10.14 so we use continue to use
|
||||
# MACOSX_VERSION_MIN for aarch64.
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), xaarch64)
|
||||
MACOSX_METAL_VERSION_MIN=$(MACOSX_VERSION_MIN)
|
||||
else
|
||||
MACOSX_METAL_VERSION_MIN=10.14.0
|
||||
endif
|
||||
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
SHADERS_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/shaders.metal
|
||||
SHADERS_SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/native/java.desktop/libosxui
|
||||
@@ -845,7 +858,9 @@ ifeq ($(call isTargetOs, macosx), true)
|
||||
DEPS := $(SHADERS_SRC), \
|
||||
OUTPUT_FILE := $(SHADERS_AIR), \
|
||||
SUPPORT_DIR := $(SHADERS_SUPPORT_DIR), \
|
||||
COMMAND := $(METAL) -c -std=osx-metal2.0 -o $(SHADERS_AIR) $(SHADERS_SRC), \
|
||||
COMMAND := $(METAL) -c -std=osx-metal2.0 \
|
||||
-mmacosx-version-min=$(MACOSX_METAL_VERSION_MIN) \
|
||||
-o $(SHADERS_AIR) $(SHADERS_SRC), \
|
||||
))
|
||||
|
||||
$(eval $(call SetupExecute, metallib_shaders, \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -23,5 +23,5 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
DOCLINT += -Xdoclint:all/protected,-accessibility \
|
||||
DOCLINT += -Xdoclint:all/protected \
|
||||
'-Xdoclint/package:java.*,javax.*'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -23,5 +23,5 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
DOCLINT += -Xdoclint:all/protected,-reference,-accessibility \
|
||||
DOCLINT += -Xdoclint:all/protected,-reference \
|
||||
'-Xdoclint/package:java.*,javax.*'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -23,5 +23,5 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
DOCLINT += -Xdoclint:all/protected,-reference,-accessibility \
|
||||
DOCLINT += -Xdoclint:all/protected,-reference \
|
||||
'-Xdoclint/package:java.*,javax.*'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -23,6 +23,6 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
DOCLINT += -Xdoclint:all/protected,-accessibility \
|
||||
DOCLINT += -Xdoclint:all/protected \
|
||||
'-Xdoclint/package:java.*,javax.*'
|
||||
CLEAN += jndiprovider.properties
|
||||
|
||||
@@ -27,4 +27,5 @@ include LauncherCommon.gmk
|
||||
|
||||
$(eval $(call SetupBuildLauncher, rmiregistry, \
|
||||
MAIN_CLASS := sun.rmi.registry.RegistryImpl, \
|
||||
JAVA_ARGS := -Djava.security.manager=allow, \
|
||||
))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -23,5 +23,5 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
DOCLINT += -Xdoclint:all/protected,-accessibility \
|
||||
DOCLINT += -Xdoclint:all/protected \
|
||||
'-Xdoclint/package:java.*,javax.*'
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user