mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-08 18:39:40 +01:00
Compare commits
569 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7ae5f1610 | ||
|
|
e5061951b9 | ||
|
|
e0b17eb76a | ||
|
|
03274a258c | ||
|
|
0cabfd8d6a | ||
|
|
d7e81e7a35 | ||
|
|
a713331728 | ||
|
|
f778785387 | ||
|
|
4ad6f21f5c | ||
|
|
46e6e3b209 | ||
|
|
01d4654fc5 | ||
|
|
6cd9b02238 | ||
|
|
c66f663b5c | ||
|
|
2ab3532374 | ||
|
|
9e74092dc1 | ||
|
|
c8156c0b66 | ||
|
|
f1f0458b1b | ||
|
|
2f2bc69cfe | ||
|
|
ad76a905d7 | ||
|
|
99d7bc982b | ||
|
|
bbec6da084 | ||
|
|
3516f80a26 | ||
|
|
3711b5bb35 | ||
|
|
b06d22299a | ||
|
|
52f04bf6c3 | ||
|
|
45788c4e61 | ||
|
|
46ffdff93b | ||
|
|
9b711fb257 | ||
|
|
1c97593962 | ||
|
|
826659ad63 | ||
|
|
0f03e9d6c7 | ||
|
|
b437289bfe | ||
|
|
5a00e54942 | ||
|
|
f122568846 | ||
|
|
6468f527fd | ||
|
|
494490592a | ||
|
|
6a74615e1e | ||
|
|
7eca58b6be | ||
|
|
6d61320c7b | ||
|
|
29f240826c | ||
|
|
a634731b73 | ||
|
|
ff36fffe3c | ||
|
|
0cc6691c27 | ||
|
|
97ae55889c | ||
|
|
0c19b8558b | ||
|
|
ec6e340076 | ||
|
|
6f8ba9eead | ||
|
|
75298651ed | ||
|
|
0437e4d4e7 | ||
|
|
842a826b68 | ||
|
|
bef4d6be1b | ||
|
|
c7d20880ac | ||
|
|
4affe99ed5 | ||
|
|
a0a0a17844 | ||
|
|
4703fdd69d | ||
|
|
02f0a46c86 | ||
|
|
062b700e38 | ||
|
|
ebfcd2bfa1 | ||
|
|
ce17875bc7 | ||
|
|
a63763b215 | ||
|
|
3ecc27f409 | ||
|
|
a914dbce9c | ||
|
|
2a83f351c1 | ||
|
|
ef0390a6d2 | ||
|
|
f3a551628f | ||
|
|
4da52bf189 | ||
|
|
592dc61c16 | ||
|
|
aa10db6ad9 | ||
|
|
39be7c439f | ||
|
|
7056a860c5 | ||
|
|
61c72efe92 | ||
|
|
7c17b07a14 | ||
|
|
5c5c2f6105 | ||
|
|
59c61599e8 | ||
|
|
fa92a1ae30 | ||
|
|
c4b4f7d98d | ||
|
|
1f92311125 | ||
|
|
5574d370e5 | ||
|
|
32ee7e82c5 | ||
|
|
fde0138d99 | ||
|
|
15f16199d6 | ||
|
|
46dd55c5af | ||
|
|
40f4cc7c72 | ||
|
|
8127e972c6 | ||
|
|
8b5077bc69 | ||
|
|
a1b2983653 | ||
|
|
e34c611483 | ||
|
|
db5952faed | ||
|
|
bde3bc5d17 | ||
|
|
2d68c11793 | ||
|
|
e27ac0735c | ||
|
|
9eb4d5c09d | ||
|
|
4a36b99147 | ||
|
|
15c06e4fd3 | ||
|
|
f35a828680 | ||
|
|
0502795259 | ||
|
|
ae78294fa5 | ||
|
|
9f83af882f | ||
|
|
ab893aa273 | ||
|
|
4e625ea816 | ||
|
|
6c74f7d46f | ||
|
|
e6d82249b1 | ||
|
|
d7d85fca45 | ||
|
|
a3956b5872 | ||
|
|
594f25e18e | ||
|
|
90b53b73e7 | ||
|
|
0b267a82c1 | ||
|
|
53b3fce4f4 | ||
|
|
e2d357f67a | ||
|
|
f797245c59 | ||
|
|
78981cafc1 | ||
|
|
9398f9ac8e | ||
|
|
1c0f50063b | ||
|
|
42adc906f3 | ||
|
|
13fdc97111 | ||
|
|
265dee9aff | ||
|
|
06734f2ad4 | ||
|
|
0cb9963fa6 | ||
|
|
c36da96430 | ||
|
|
fb308bafd0 | ||
|
|
8a16de4c38 | ||
|
|
0e7696d1c2 | ||
|
|
2dc40efe6a | ||
|
|
9868f366eb | ||
|
|
314f47bf87 | ||
|
|
d4ff96d940 | ||
|
|
48fc67994d | ||
|
|
cbd5b02792 | ||
|
|
81c4a411a9 | ||
|
|
44821439eb | ||
|
|
f6baacd761 | ||
|
|
8c1c066947 | ||
|
|
b7d2114a7b | ||
|
|
ce7a1b7132 | ||
|
|
50bdd7df7b | ||
|
|
e74193ce92 | ||
|
|
8eb12093d3 | ||
|
|
7e2c2ae4be | ||
|
|
0019821107 | ||
|
|
8053d1f34f | ||
|
|
c0511f8b27 | ||
|
|
f853777509 | ||
|
|
c84b072a69 | ||
|
|
8411c8a27e | ||
|
|
58f3a36500 | ||
|
|
9958820e80 | ||
|
|
12aa52a78d | ||
|
|
da1487e720 | ||
|
|
c5c9e7c0fa | ||
|
|
403ba2b9c2 | ||
|
|
83dab3ff6f | ||
|
|
ee31c27faf | ||
|
|
f809b33c72 | ||
|
|
dcd9ddabbb | ||
|
|
c8ade4be8e | ||
|
|
6cf9365e9e | ||
|
|
f9f55a9195 | ||
|
|
d302ce14a6 | ||
|
|
8ab6a9022c | ||
|
|
b8498efac7 | ||
|
|
dd3a4f42d6 | ||
|
|
a06b2decaf | ||
|
|
609966517c | ||
|
|
3f12fe7daf | ||
|
|
bfa7ed4b3f | ||
|
|
9ae14f6f6a | ||
|
|
e643392c34 | ||
|
|
2803f4389b | ||
|
|
e748b92830 | ||
|
|
e2e3d33503 | ||
|
|
ebd563d22a | ||
|
|
6bf6303f55 | ||
|
|
a0b157a9dd | ||
|
|
ac198dbd78 | ||
|
|
9fc59f042b | ||
|
|
8162e3384b | ||
|
|
e28b0f5911 | ||
|
|
21977c73ba | ||
|
|
f844af61c3 | ||
|
|
9d258d710c | ||
|
|
ac96f6b133 | ||
|
|
4647e932f9 | ||
|
|
fdf1560e22 | ||
|
|
3b46e3ff4b | ||
|
|
467b4d6290 | ||
|
|
6cfc489b25 | ||
|
|
841a18c95f | ||
|
|
441d164171 | ||
|
|
ba3243fef9 | ||
|
|
5269ecdf3d | ||
|
|
7edfd8d8fe | ||
|
|
5384141e61 | ||
|
|
5e0d6df24c | ||
|
|
6ad68eee01 | ||
|
|
0b4d9f74fb | ||
|
|
f53a84c67e | ||
|
|
42779ae5a6 | ||
|
|
38f5e28b81 | ||
|
|
e6b3ac6c91 | ||
|
|
06e3ec9219 | ||
|
|
68a62289ef | ||
|
|
b10af05a52 | ||
|
|
8146386f68 | ||
|
|
94c2637a3e | ||
|
|
df08a22b60 | ||
|
|
8f124ab418 | ||
|
|
68cb1bcbee | ||
|
|
d7b9d38ae1 | ||
|
|
0015a43e31 | ||
|
|
fb589c0932 | ||
|
|
e7a37bf2ba | ||
|
|
9ecaf16ebc | ||
|
|
bcfc089f9f | ||
|
|
0a752f8ffc | ||
|
|
6e126e5979 | ||
|
|
f7306c8adc | ||
|
|
7e921d75bd | ||
|
|
bdf88f2239 | ||
|
|
f632d1d93b | ||
|
|
a3c8a490da | ||
|
|
d7a9c5a259 | ||
|
|
9d9b37355c | ||
|
|
7922baa262 | ||
|
|
ef71dbf829 | ||
|
|
9581702658 | ||
|
|
f763fa1a82 | ||
|
|
d519543234 | ||
|
|
bc5717cdfa | ||
|
|
024c464b2d | ||
|
|
2b3bfd368f | ||
|
|
75ae582a2e | ||
|
|
f81d6bf876 | ||
|
|
a9d650f750 | ||
|
|
944cb608b2 | ||
|
|
d368a9fac3 | ||
|
|
c4d1541d12 | ||
|
|
a5811f6cf1 | ||
|
|
dc946872d1 | ||
|
|
d882705462 | ||
|
|
f9b091f3f0 | ||
|
|
fe4e6f2de0 | ||
|
|
1f713a66b2 | ||
|
|
b4b9300225 | ||
|
|
06d1b6b372 | ||
|
|
c8f2c2bcdf | ||
|
|
66016a300c | ||
|
|
3bb5184a04 | ||
|
|
b5102ff88d | ||
|
|
ca80128c8f | ||
|
|
0ce8da8489 | ||
|
|
c350bd9e40 | ||
|
|
0c6aacc897 | ||
|
|
2e086b0acf | ||
|
|
24086bf53d | ||
|
|
77fa7caf59 | ||
|
|
798679e10a | ||
|
|
e3b540dfd7 | ||
|
|
392d31e99b | ||
|
|
bd9aef25c3 | ||
|
|
b547081a35 | ||
|
|
cd8682d148 | ||
|
|
9028f3dab7 | ||
|
|
900b48897f | ||
|
|
2efc4b2296 | ||
|
|
ee96089677 | ||
|
|
4c46ac69a1 | ||
|
|
b894310b17 | ||
|
|
889e98e5ce | ||
|
|
6389c5fa3b | ||
|
|
0eacac01b6 | ||
|
|
26600d8b04 | ||
|
|
627e383a03 | ||
|
|
114b6b9d97 | ||
|
|
bd6ca0571e | ||
|
|
b5aa1d91b0 | ||
|
|
2ff94baf19 | ||
|
|
584e025150 | ||
|
|
431281c1d3 | ||
|
|
2974df4681 | ||
|
|
9d1bd9fe2f | ||
|
|
c2424cc882 | ||
|
|
55332dbdc8 | ||
|
|
778aaedca3 | ||
|
|
2d1ae6c557 | ||
|
|
decc5b8a37 | ||
|
|
24e137bb90 | ||
|
|
7f5c30379e | ||
|
|
01266c53ac | ||
|
|
70afe3dcbb | ||
|
|
afe688a0ff | ||
|
|
0aba06757a | ||
|
|
9f2576fee3 | ||
|
|
947066c9ff | ||
|
|
f799ac567f | ||
|
|
d1820a0c33 | ||
|
|
0213aeea3d | ||
|
|
5e503bb356 | ||
|
|
54a92f73dc | ||
|
|
b795b3f328 | ||
|
|
3e53dcb8b2 | ||
|
|
2d5a65992e | ||
|
|
020dda5c13 | ||
|
|
a1cfe2fa67 | ||
|
|
ecdf1e54cf | ||
|
|
be1caf06a2 | ||
|
|
b0c6fd136c | ||
|
|
d6a18d9d53 | ||
|
|
7893d8c0bd | ||
|
|
8b599f8b00 | ||
|
|
79e6be22b8 | ||
|
|
d42b34ee9c | ||
|
|
5e8dcdcb82 | ||
|
|
2de2c9c25a | ||
|
|
8c5ff0cf83 | ||
|
|
9b6a3e5071 | ||
|
|
368d6170a0 | ||
|
|
31c7fc8788 | ||
|
|
98e4473686 | ||
|
|
0339ed0342 | ||
|
|
fd7f12ee94 | ||
|
|
b2267802c7 | ||
|
|
ded9ca27d0 | ||
|
|
d3e987b137 | ||
|
|
3be30401e8 | ||
|
|
2162e4a3ae | ||
|
|
35fccb556c | ||
|
|
064502f583 | ||
|
|
73299608c2 | ||
|
|
1776549497 | ||
|
|
baa744682c | ||
|
|
03398c1245 | ||
|
|
520f916abd | ||
|
|
3471946ba6 | ||
|
|
0f8e35d988 | ||
|
|
ffa855f549 | ||
|
|
6113541aa7 | ||
|
|
7a5f866524 | ||
|
|
d27f758da4 | ||
|
|
7b1b1fea07 | ||
|
|
00469a5462 | ||
|
|
b4e03cfb23 | ||
|
|
00622ed0d9 | ||
|
|
46008a21e3 | ||
|
|
6271ba6c6f | ||
|
|
29a38da552 | ||
|
|
2030f1d39d | ||
|
|
e17a86a260 | ||
|
|
cf8ba6d6bc | ||
|
|
468a003507 | ||
|
|
e67ae2aa6b | ||
|
|
648775dfe4 | ||
|
|
0505c04446 | ||
|
|
766a123c9d | ||
|
|
83d496b5e2 | ||
|
|
175f5400a3 | ||
|
|
a67df9eb63 | ||
|
|
32a6fa0337 | ||
|
|
ce89a4359e | ||
|
|
cc13bc2d40 | ||
|
|
32f30b3b44 | ||
|
|
4f5da86318 | ||
|
|
f09d4bdd39 | ||
|
|
ff9ce74e67 | ||
|
|
38f3d579cc | ||
|
|
0a988949cd | ||
|
|
14cc78298e | ||
|
|
5e578fe88f | ||
|
|
e438d6e19c | ||
|
|
229270ba20 | ||
|
|
3fca6eb841 | ||
|
|
b5a36fc425 | ||
|
|
cdeb6f03c1 | ||
|
|
bea7b3672c | ||
|
|
9cb69f42cd | ||
|
|
a89fafeb0c | ||
|
|
520124bf1b | ||
|
|
0e2079c92d | ||
|
|
f1da96796e | ||
|
|
4d14e2da58 | ||
|
|
0d0c8e79c9 | ||
|
|
de0c2489a2 | ||
|
|
9729512620 | ||
|
|
42055e6257 | ||
|
|
8c45b952cd | ||
|
|
267191ab60 | ||
|
|
17644032f9 | ||
|
|
265647cb2b | ||
|
|
731e4d1bf2 | ||
|
|
80ca315f29 | ||
|
|
179dba1c95 | ||
|
|
99453de34a | ||
|
|
8f7529cb1e | ||
|
|
ab5985ae2e | ||
|
|
63c74f466a | ||
|
|
9bcc2b7a10 | ||
|
|
e63c028c01 | ||
|
|
3aa670c503 | ||
|
|
4f8e9c8699 | ||
|
|
b4b1db56aa | ||
|
|
482cbf3184 | ||
|
|
038c3c5fb3 | ||
|
|
2c2925238e | ||
|
|
bf1f326775 | ||
|
|
e972cefbef | ||
|
|
b1aefcd868 | ||
|
|
c8048610a4 | ||
|
|
8d8725e803 | ||
|
|
766f811887 | ||
|
|
21b000888a | ||
|
|
0a157e7a9d | ||
|
|
059b8b918e | ||
|
|
ff65114af2 | ||
|
|
ee2a2a1779 | ||
|
|
d5a3785f00 | ||
|
|
bcae829bbb | ||
|
|
bc986959eb | ||
|
|
cd0478e807 | ||
|
|
77d02a1485 | ||
|
|
856de99519 | ||
|
|
f982b24373 | ||
|
|
5b040753a3 | ||
|
|
74bea3b09a | ||
|
|
4a0e403175 | ||
|
|
1071d9ab1f | ||
|
|
75f0908fcd | ||
|
|
6973aec10b | ||
|
|
632195a828 | ||
|
|
fcd0128f36 | ||
|
|
9f8d619a44 | ||
|
|
f855cf22ef | ||
|
|
1b35c219ac | ||
|
|
63ef550d4e | ||
|
|
22a5333676 | ||
|
|
294f6bc8ee | ||
|
|
f2b7716ae7 | ||
|
|
d3a265cd5a | ||
|
|
5b0928583d | ||
|
|
6d58e4e86e | ||
|
|
106d603a4f | ||
|
|
5d84dd3479 | ||
|
|
961c93205d | ||
|
|
5d0a2a11e2 | ||
|
|
ae6ec433f1 | ||
|
|
3088c90aa9 | ||
|
|
9b03afa4d9 | ||
|
|
6e9f703d1b | ||
|
|
2aae93a8e9 | ||
|
|
740def15b4 | ||
|
|
78b018bd12 | ||
|
|
3cc0fff0cd | ||
|
|
a2475b2dc9 | ||
|
|
14f033daf1 | ||
|
|
2056c3fd58 | ||
|
|
dc41db6308 | ||
|
|
2f4e451d0e | ||
|
|
e80ed16400 | ||
|
|
81d06e0253 | ||
|
|
0187ceffff | ||
|
|
7330c04d9b | ||
|
|
bade1c5721 | ||
|
|
3c3a8111e1 | ||
|
|
e734e838eb | ||
|
|
e6f2b0900e | ||
|
|
d2d676fdfe | ||
|
|
6fbcc112f9 | ||
|
|
c095842ed9 | ||
|
|
3917c6d4cc | ||
|
|
f3a6e05b91 | ||
|
|
68a7c557ec | ||
|
|
2011912712 | ||
|
|
77e68499fb | ||
|
|
47545e078a | ||
|
|
1a2d0e0832 | ||
|
|
9464080df9 | ||
|
|
2dd2b35578 | ||
|
|
219bf71d06 | ||
|
|
55330d49b1 | ||
|
|
16fde7febb | ||
|
|
2ae1edabc7 | ||
|
|
c953039cf5 | ||
|
|
f93c8955ef | ||
|
|
4eff3e5ebf | ||
|
|
757bfd833e | ||
|
|
64c2a6cc6f | ||
|
|
236eb13bf3 | ||
|
|
f0dc5ce23d | ||
|
|
84939932c5 | ||
|
|
7dfc93e435 | ||
|
|
204d067810 | ||
|
|
c91390062d | ||
|
|
05f0accaca | ||
|
|
190290cd72 | ||
|
|
e556e4fb46 | ||
|
|
47a821ef8e | ||
|
|
506be3c773 | ||
|
|
78ea0a8cfa | ||
|
|
75edfacafb | ||
|
|
ac2e0ddaf6 | ||
|
|
6dd21caac7 | ||
|
|
947c34dbdd | ||
|
|
8fc9de3354 | ||
|
|
ac9291cce5 | ||
|
|
a32bf10aef | ||
|
|
e7183a807b | ||
|
|
535b08045d | ||
|
|
878aaa678e | ||
|
|
a3243a7788 | ||
|
|
a99729994a | ||
|
|
d0b82b8c70 | ||
|
|
1eb0870358 | ||
|
|
a6487ea02a | ||
|
|
53fa1b5286 | ||
|
|
04d055b78c | ||
|
|
27df5ee6de | ||
|
|
89769c3940 | ||
|
|
d2a9de76a3 | ||
|
|
1a5bc76a2e | ||
|
|
89e8d76b1c | ||
|
|
48cff8b2ba | ||
|
|
8e93bf1fbd | ||
|
|
ac74653031 | ||
|
|
3d553b6f1d | ||
|
|
c88e0bd63f | ||
|
|
0d912b1acf | ||
|
|
e853408828 | ||
|
|
9afb7b87e8 | ||
|
|
0b532e4eed | ||
|
|
2285424ed7 | ||
|
|
ff5ffd5a06 | ||
|
|
97d7427a3b | ||
|
|
a7e8dcbebb | ||
|
|
0e3fd83ee3 | ||
|
|
b852bed92d | ||
|
|
d7669c10dc | ||
|
|
cc7ec07984 | ||
|
|
d325d6de1e | ||
|
|
a2a18ba2d7 | ||
|
|
b99ee7e989 | ||
|
|
b642d464eb | ||
|
|
a6a0867c4f | ||
|
|
32a8d45cd8 | ||
|
|
0a0b21d4e7 | ||
|
|
466945846f | ||
|
|
ef39a75d25 | ||
|
|
67ea3c4c47 | ||
|
|
be53abfeaa | ||
|
|
223c1f28be | ||
|
|
4e7f91cd80 | ||
|
|
fbdaa4e3c5 | ||
|
|
2313f5e761 | ||
|
|
1f69cd03ef | ||
|
|
aa4722aac3 | ||
|
|
3527595117 | ||
|
|
ab739c64d8 | ||
|
|
906b632177 | ||
|
|
19f6a75459 | ||
|
|
f14ac49e0a | ||
|
|
0d202fec61 | ||
|
|
65fe494ed6 | ||
|
|
153dbcc602 | ||
|
|
7c4b41463b | ||
|
|
f7736efae6 | ||
|
|
66eb82ac93 | ||
|
|
1d3fea61c7 | ||
|
|
539fa92e07 | ||
|
|
91f0d8cc53 | ||
|
|
f33ada94be | ||
|
|
ed95ab0228 | ||
|
|
3ec0b69b7e |
26
.hgtags
26
.hgtags
@@ -587,3 +587,29 @@ f56b853d452bd339e3f4360cf4be42cc90f9284c jdk-11.0.7+7
|
||||
7201cd0c64776aa574d252b03a4c92b25d0a7d7f jdk-11.0.7+9
|
||||
44ce940b344b9f240be4807f5b8f06e178e3aecd jdk-11.0.7+10
|
||||
44ce940b344b9f240be4807f5b8f06e178e3aecd jdk-11.0.7-ga
|
||||
2eb415c82056bdc308d23ee6761f422de46dc5e5 jdk-11.0.8+1
|
||||
88eaa453331e9aeca979d58509538ebb74831ce4 jdk-11.0.8+2
|
||||
2c0c9cfe2a4e1340f7db106e2220dbd0d5b86092 jdk-11.0.8+3
|
||||
aa6c93b4f1acf4166d74d0252b35c53ad71d8540 jdk-11.0.8+4
|
||||
8df1a601187c0b4cb9e525075bd7b85ee3d72595 jdk-11.0.8+5
|
||||
e42c6d1a1993c720a4643140190bb1ba6f1bbf9f jdk-11.0.8+6
|
||||
46d4984bb3c6dd1b0f5135505b77921d23c69841 jdk-11.0.8+7
|
||||
40b646e9d8fbb2d70992b61e4f4b08ca5652c907 jdk-11.0.8+8
|
||||
59f8565ee5e224697a9e09ee2c557836733bc579 jdk-11.0.8+9
|
||||
0b0d55cb09b29360ab254edeef32a3b386e9713e jdk-11.0.8+10
|
||||
0b0d55cb09b29360ab254edeef32a3b386e9713e jdk-11.0.8-ga
|
||||
5cc275af8419178813299cc0ed81a2a85dadfdcd jdk-11.0.9+1
|
||||
3112657edde9491fb83f098f1a8b7e9275bcb2f7 jdk-11.0.9+2
|
||||
d8a0513b92ee262d4e64c1e13d43e1b3f3e5c5d5 jdk-11.0.9+3
|
||||
cb299db4a5698b814f6b3ba1f3d73d01f6a0e1f6 jdk-11.0.9+4
|
||||
55237fa85afb404bc0dc0f4948a6459d8d3e5dac jdk-11.0.9+5
|
||||
c07e785e36f587b95e151de382844cea3d1a5868 jdk-11.0.9+6
|
||||
1ba4c16a8afa3f5aaa7830fc1f14a0137cc2553b jdk-11.0.9+7
|
||||
8711e8554e15ae2fa38718d5c7dc858da10e8a4a jdk-11.0.9+8
|
||||
e872676174c7f171a9864becba83cb783cfec9d0 jdk-11.0.9+9
|
||||
6ac1b68e7c0034e08a96d7d37e93e5075a6e8d61 jdk-11.0.9+10
|
||||
4397fa4529b2794ddcdf3445c0611fe383243fb4 jdk-11.0.9+11
|
||||
4397fa4529b2794ddcdf3445c0611fe383243fb4 jdk-11.0.9-ga
|
||||
4fd46d208f0a4b55924af8e0c2fb6bcf46e18ec6 jdk-11.0.9.1+0
|
||||
27723943c0dd65a191cbefe031cec001521e4b13 jdk-11.0.9.1+1
|
||||
31affc22b3b5f5d43783ffadf57f22848bad9db8 jdk-11.0.9.1-ga
|
||||
|
||||
@@ -277,7 +277,7 @@
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">Windows</td>
|
||||
<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.5.5</td>
|
||||
<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.9.16</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -293,7 +293,7 @@ issues.
|
||||
Linux gcc 7.3.0
|
||||
macOS Apple Xcode 9.4 (using clang 9.1.0)
|
||||
Solaris Oracle Solaris Studio 12.4 (with compiler version 5.13)
|
||||
Windows Microsoft Visual Studio 2017 update 15.5.5
|
||||
Windows Microsoft Visual Studio 2017 update 15.9.16
|
||||
|
||||
### gcc
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@ build_number=$3
|
||||
script_dir=jb/project/tools/linux/scripts
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "dcevm" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "dcevm" || exit $?
|
||||
@@ -55,7 +55,7 @@ function create_jbr {
|
||||
|
||||
if [[ "$bundle_type" == *jcef* ]] || [[ "$bundle_type" == *dcevm* ]]; then
|
||||
cp -R $BASE_DIR/$JBR_BUNDLE $BASE_DIR/jbr
|
||||
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
|
||||
rsync -av jcef_linux_x64/ $BASE_DIR/$JBR_BUNDLE/lib --exclude="modular-sdk" || exit $?
|
||||
fi
|
||||
grep -v "^JAVA_VERSION" $JSDK/release | grep -v "^MODULES" >> $BASE_DIR/$JBR_BUNDLE/release
|
||||
|
||||
@@ -108,7 +108,7 @@ rm -rf $BASE_DIR/$JBRSDK_BUNDLE
|
||||
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
|
||||
|
||||
if [[ "$bundle_type" == *jcef* ]] || [[ "$bundle_type" == *dcevm* ]]; then
|
||||
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
|
||||
rsync -av jcef_linux_x64/ $BASE_DIR/$JBRSDK_BUNDLE/lib --exclude="modular-sdk" || exit $?
|
||||
fi
|
||||
if [ "$bundle_type" == "jfx_jcef" ]; then
|
||||
echo Creating $JBSDK.tar.gz ...
|
||||
|
||||
@@ -6,5 +6,5 @@ build_number=$3
|
||||
script_dir=jb/project/tools/mac/scripts
|
||||
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
|
||||
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
|
||||
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "dcevm" || exit $?
|
||||
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?
|
||||
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "dcevm" || exit $?
|
||||
|
||||
@@ -17,9 +17,9 @@ index b5a23138213..5c0a3242c80 100644
|
||||
COMPANY_NAME=N/A
|
||||
-HOTSPOT_VM_DISTRO="OpenJDK"
|
||||
+HOTSPOT_VM_DISTRO="Dynamic Code Evolution"
|
||||
|
||||
# Might need better names for these
|
||||
MACOSX_BUNDLE_NAME_BASE="OpenJDK"
|
||||
VENDOR_URL=https://openjdk.java.net/
|
||||
VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
|
||||
VENDOR_URL_VM_BUG=https://bugreport.java.com/bugreport/crash.jsp
|
||||
--
|
||||
2.24.3 (Apple Git-128)
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@ build_number=$3
|
||||
script_dir=jb/project/tools/windows/scripts
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "dcevm" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?
|
||||
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "dcevm" || exit $?
|
||||
|
||||
@@ -45,7 +45,7 @@ function create_jbr {
|
||||
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
|
||||
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]]
|
||||
then
|
||||
cp -R jcef_win_x64/* ${JBR_BUNDLE}/bin
|
||||
rsync -av jcef_win_x64/ ${JBR_BUNDLE}/bin --exclude="modular-sdk" || exit $?
|
||||
fi
|
||||
echo Modifying release info ...
|
||||
cat ${JSDK}/release | tr -d '\r' | grep -v 'JAVA_VERSION' | grep -v 'MODULES' >> ${JBR_BUNDLE}/release
|
||||
@@ -100,7 +100,7 @@ BASE_DIR=build/windows-x86_64-normal-server-release/images
|
||||
JBRSDK_BUNDLE=jbrsdk
|
||||
|
||||
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
|
||||
cp -R jcef_win_x64/* ${JBRSDK_BUNDLE}/bin
|
||||
rsync -av jcef_win_x64/ ${JBRSDK_BUNDLE}/bin --exclude='modular-sdk' || _exit $?
|
||||
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
|
||||
mv release ${JBRSDK_BUNDLE}/release
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ function pack_jbr {
|
||||
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
|
||||
echo Creating $JBR.tar.gz ...
|
||||
rm -rf ${BASE_DIR}/jbr
|
||||
chmod -R ug+rwx,o+rx ${BASE_DIR}/${JBR_BUNDLE}
|
||||
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
|
||||
|
||||
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || exit 1
|
||||
|
||||
127
make/Bundles.gmk
127
make/Bundles.gmk
@@ -50,6 +50,7 @@ $(eval $(call IncludeCustomExtension, Bundles-pre.gmk))
|
||||
# files or directories may contain spaces.
|
||||
# BASE_DIRS : Base directories for the root dir in the bundle.
|
||||
# SUBDIR : Optional name of root dir in bundle.
|
||||
# OUTPUTDIR : Optionally override output dir
|
||||
SetupBundleFile = $(NamedParamsMacroTemplate)
|
||||
define SetupBundleFileBody
|
||||
|
||||
@@ -70,7 +71,10 @@ define SetupBundleFileBody
|
||||
|
||||
$$(call SetIfEmpty, $1_UNZIP_DEBUGINFO, false)
|
||||
|
||||
$(BUNDLES_OUTPUTDIR)/$$($1_BUNDLE_NAME): $$($1_FILES)
|
||||
$$(call SetIfEmpty, $1_OUTPUTDIR, $$(BUNDLES_OUTPUTDIR))
|
||||
|
||||
$$($1_OUTPUTDIR)/$$($1_BUNDLE_NAME): $$($1_FILES)
|
||||
$$(call LogWarn, Creating $$($1_BUNDLE_NAME))
|
||||
# If any of the files contain a space in the file name, FindFiles
|
||||
# will have replaced it with ?. Tar does not accept that so need to
|
||||
# switch it back.
|
||||
@@ -121,6 +125,13 @@ define SetupBundleFileBody
|
||||
&& $(TAR) cf - -$(TAR_INCLUDE_PARAM) $$($1_$$d_LIST_FILE) \
|
||||
$(TAR_IGNORE_EXIT_VALUE) ) \
|
||||
| ( $(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) && $(TAR) xf - )$$(NEWLINE) )
|
||||
# Rename stripped pdb files
|
||||
ifeq ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+public)
|
||||
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.stripped.pdb"`; do \
|
||||
$(ECHO) Renaming $$$${f} to $$$${f%stripped.pdb}pdb $(LOG_INFO); \
|
||||
$(MV) $$$${f} $$$${f%stripped.pdb}pdb; \
|
||||
done
|
||||
endif
|
||||
# Unzip any zipped debuginfo files
|
||||
ifeq ($$($1_UNZIP_DEBUGINFO), true)
|
||||
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.diz"`; do \
|
||||
@@ -137,7 +148,7 @@ define SetupBundleFileBody
|
||||
endif
|
||||
endif
|
||||
|
||||
$1 += $(BUNDLES_OUTPUTDIR)/$$($1_BUNDLE_NAME)
|
||||
$1 += $$($1_OUTPUTDIR)/$$($1_BUNDLE_NAME)
|
||||
|
||||
endef
|
||||
|
||||
@@ -152,6 +163,12 @@ ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
|
||||
JRE_IMAGE_HOMEDIR := $(JRE_MACOSX_CONTENTS_DIR)/Home
|
||||
JDK_BUNDLE_SUBDIR :=
|
||||
JRE_BUNDLE_SUBDIR :=
|
||||
# In certain situations, the JDK_IMAGE_DIR points to an image without the
|
||||
# the symbols and demos. If so, the symobls and demos can be found in a
|
||||
# separate image. These variables allow for overriding from a custom makefile.
|
||||
JDK_SYMBOLS_IMAGE_DIR ?= $(JDK_IMAGE_DIR)
|
||||
JDK_DEMOS_IMAGE_DIR ?= $(JDK_IMAGE_DIR)
|
||||
JDK_DEMOS_IMAGE_HOMEDIR ?= $(JDK_DEMOS_IMAGE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)/Home
|
||||
else
|
||||
JDK_IMAGE_HOMEDIR := $(JDK_IMAGE_DIR)
|
||||
JRE_IMAGE_HOMEDIR := $(JRE_IMAGE_DIR)
|
||||
@@ -161,24 +178,56 @@ else
|
||||
JDK_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
|
||||
JRE_BUNDLE_SUBDIR := $(JRE_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
|
||||
endif
|
||||
# In certain situations, the JDK_IMAGE_DIR points to an image without the
|
||||
# the symbols and demos. If so, the symobls and demos can be found in a
|
||||
# separate image. These variables allow for overriding from a custom makefile.
|
||||
JDK_SYMBOLS_IMAGE_DIR ?= $(JDK_IMAGE_DIR)
|
||||
JDK_DEMOS_IMAGE_DIR ?= $(JDK_IMAGE_DIR)
|
||||
JDK_DEMOS_IMAGE_HOMEDIR ?= $(JDK_DEMOS_IMAGE_DIR)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
|
||||
ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
|
||||
|
||||
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.pdb %.map
|
||||
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.map
|
||||
|
||||
# There may be files with spaces in the names, so use ShellFindFiles
|
||||
# explicitly.
|
||||
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
|
||||
ifneq ($(JDK_IMAGE_DIR), $(JDK_SYMBOLS_IMAGE_DIR))
|
||||
ALL_JDK_SYMBOLS_FILES := $(call ShellFindFiles, $(JDK_SYMBOLS_IMAGE_DIR))
|
||||
else
|
||||
ALL_JDK_SYMBOLS_FILES := $(ALL_JDK_FILES)
|
||||
endif
|
||||
ifneq ($(JDK_IMAGE_DIR), $(JDK_DEMOS_IMAGE_DIR))
|
||||
ALL_JDK_DEMOS_FILES := $(call ShellFindFiles, $(JDK_DEMOS_IMAGE_DIR))
|
||||
else
|
||||
ALL_JDK_DEMOS_FILES := $(ALL_JDK_FILES)
|
||||
endif
|
||||
|
||||
# Create special filter rules when dealing with unzipped .dSYM directories on
|
||||
# macosx
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
|
||||
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
|
||||
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, $(ALL_JDK_FILES))))
|
||||
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, \
|
||||
$(ALL_JDK_SYMBOLS_FILES))))
|
||||
endif
|
||||
endif
|
||||
|
||||
# Create special filter rules when dealing with debug symbols on windows
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||
JDK_SYMBOLS_EXCLUDE_PATTERN := %.pdb
|
||||
else
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
|
||||
JDK_SYMBOLS_EXCLUDE_PATTERN := \
|
||||
$(filter-out \
|
||||
%.stripped.pdb, \
|
||||
$(filter %.pdb, $(ALL_JDK_FILES)) \
|
||||
)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -191,20 +240,22 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
|
||||
, \
|
||||
$(ALL_JDK_FILES) \
|
||||
)
|
||||
|
||||
JDK_SYMBOLS_BUNDLE_FILES := \
|
||||
$(filter \
|
||||
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
|
||||
$(SYMBOLS_EXCLUDE_PATTERN) \
|
||||
, \
|
||||
$(filter-out \
|
||||
$(JDK_IMAGE_HOMEDIR)/demo/% \
|
||||
$(JDK_IMAGE_HOMEDIR)/demo/% %.stripped.pdb \
|
||||
, \
|
||||
$(ALL_JDK_FILES) \
|
||||
$(ALL_JDK_SYMBOLS_FILES) \
|
||||
) \
|
||||
) \
|
||||
$(call FindFiles, $(SYMBOLS_IMAGE_DIR))
|
||||
|
||||
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_IMAGE_HOMEDIR)/demo/%, $(ALL_JDK_FILES))
|
||||
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
|
||||
$(ALL_JDK_DEMOS_FILES))
|
||||
|
||||
ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))
|
||||
|
||||
@@ -217,6 +268,21 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
|
||||
endif
|
||||
endif
|
||||
|
||||
# Create special filter rules when dealing with debug symbols on windows
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||
JRE_SYMBOLS_EXCLUDE_PATTERN := %.pdb
|
||||
else
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
|
||||
JRE_SYMBOLS_EXCLUDE_PATTERN := \
|
||||
$(filter-out \
|
||||
%.stripped.pdb, \
|
||||
$(filter %.pdb, $(ALL_JRE_FILES)) \
|
||||
)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
JRE_BUNDLE_FILES := $(filter-out \
|
||||
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
|
||||
$(SYMBOLS_EXCLUDE_PATTERN), \
|
||||
@@ -313,15 +379,17 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
|
||||
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
|
||||
endif
|
||||
|
||||
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
|
||||
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
|
||||
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
|
||||
BASE_DIRS := $(JDK_IMAGE_DIR) $(wildcard $(SYMBOLS_IMAGE_DIR)), \
|
||||
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
|
||||
UNZIP_DEBUGINFO := true, \
|
||||
))
|
||||
ifeq ($(COPY_DEBUG_SYMBOLS), true)
|
||||
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
|
||||
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
|
||||
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
|
||||
BASE_DIRS := $(JDK_SYMBOLS_IMAGE_DIR) $(wildcard $(SYMBOLS_IMAGE_DIR)), \
|
||||
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
|
||||
UNZIP_DEBUGINFO := true, \
|
||||
))
|
||||
|
||||
PRODUCT_TARGETS += $(BUILD_JDK_SYMBOLS_BUNDLE)
|
||||
PRODUCT_TARGETS += $(BUILD_JDK_SYMBOLS_BUNDLE)
|
||||
endif
|
||||
|
||||
# The demo bundle is only created to support client tests. Ideally it should
|
||||
# be built with the main test bundle, but since the prerequisites match
|
||||
@@ -329,7 +397,7 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
|
||||
$(eval $(call SetupBundleFile, BUILD_TEST_DEMOS_BUNDLE, \
|
||||
BUNDLE_NAME := $(TEST_DEMOS_BUNDLE_NAME), \
|
||||
FILES := $(TEST_DEMOS_BUNDLE_FILES), \
|
||||
BASE_DIRS := $(JDK_IMAGE_DIR), \
|
||||
BASE_DIRS := $(JDK_DEMOS_IMAGE_DIR), \
|
||||
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
|
||||
))
|
||||
|
||||
@@ -367,6 +435,27 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(filter static-libs-bundles, $(MAKECMDGOALS)), )
|
||||
STATIC_LIBS_BUNDLE_FILES := $(call FindFiles, $(STATIC_LIBS_IMAGE_DIR))
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
|
||||
STATIC_LIBS_BUNDLE_SUBDIR := $(JDK_MACOSX_CONTENTS_SUBDIR)/Home
|
||||
else
|
||||
STATIC_LIBS_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)
|
||||
endif
|
||||
|
||||
$(eval $(call SetupBundleFile, BUILD_STATIC_LIBS_BUNDLE, \
|
||||
BUNDLE_NAME := $(STATIC_LIBS_BUNDLE_NAME), \
|
||||
FILES := $(STATIC_LIBS_BUNDLE_FILES), \
|
||||
BASE_DIRS := $(STATIC_LIBS_IMAGE_DIR), \
|
||||
SUBDIR := $(STATIC_LIBS_BUNDLE_SUBDIR), \
|
||||
))
|
||||
|
||||
STATIC_LIBS_TARGETS += $(BUILD_STATIC_LIBS_BUNDLE)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
# Hook to include the corresponding custom file, if present.
|
||||
$(eval $(call IncludeCustomExtension, Bundles.gmk))
|
||||
|
||||
@@ -376,5 +465,7 @@ product-bundles: $(PRODUCT_TARGETS)
|
||||
legacy-bundles: $(LEGACY_TARGETS)
|
||||
test-bundles: $(TEST_TARGETS)
|
||||
docs-bundles: $(DOCS_TARGETS)
|
||||
static-libs-bundles: $(STATIC_LIBS_TARGETS)
|
||||
|
||||
.PHONY: all default product-bundles test-bundles docs-bundles
|
||||
.PHONY: all default product-bundles test-bundles docs-bundles \
|
||||
static-libs-bundles
|
||||
|
||||
@@ -321,7 +321,7 @@ jdk.jshell_COPY += .jsh .properties
|
||||
|
||||
################################################################################
|
||||
|
||||
jdk.internal.le_COPY += .properties
|
||||
jdk.internal.le_COPY += .properties .caps .txt
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, 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
|
||||
@@ -39,7 +39,6 @@ $(eval $(call IncludeCustomExtension, CompileTools.gmk))
|
||||
# Use += to be able to add to this from a custom extension
|
||||
BUILD_TOOLS_SRC_DIRS += \
|
||||
$(TOPDIR)/make/jdk/src/classes \
|
||||
$(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes \
|
||||
$(BUILDTOOLS_OUTPUTDIR)/interim_tzdb_classes \
|
||||
#
|
||||
|
||||
@@ -56,6 +55,7 @@ $(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \
|
||||
ADD_JAVAC_FLAGS := \
|
||||
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
|
||||
--add-exports java.base/sun.text=ALL-UNNAMED \
|
||||
--add-exports java.base/sun.security.util=ALL-UNNAMED \
|
||||
, \
|
||||
))
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# Copyright (c) 2014, 2020, 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
|
||||
@@ -56,12 +57,58 @@ $(call FillFindCache, \
|
||||
)
|
||||
|
||||
ifneq ($(LIBS_DIR), )
|
||||
JMOD_FLAGS += --libs $(LIBS_DIR)
|
||||
DEPS += $(call FindFiles, $(LIBS_DIR))
|
||||
ifeq ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+public)
|
||||
# For public debug symbols on Windows, we have to use stripped pdbs and rename them
|
||||
rename_stripped = $(patsubst %.stripped.pdb,%.pdb,$1)
|
||||
LIBS_DIR_FILTERED := $(subst modules_libs,modules_libs_filtered, $(LIBS_DIR))
|
||||
FILES_LIBS := $(filter-out %.pdb, $(call FindFiles, $(LIBS_DIR))) \
|
||||
$(filter %.stripped.pdb, $(call FindFiles, $(LIBS_DIR)))
|
||||
$(eval $(call SetupCopyFiles, COPY_FILTERED_LIBS, \
|
||||
SRC := $(LIBS_DIR), \
|
||||
DEST := $(LIBS_DIR_FILTERED), \
|
||||
FILES := $(FILES_LIBS), \
|
||||
NAME_MACRO := rename_stripped, \
|
||||
))
|
||||
DEPS += $(COPY_FILTERED_LIBS)
|
||||
JMOD_FLAGS += --libs $(LIBS_DIR_FILTERED)
|
||||
else
|
||||
JMOD_FLAGS += --libs $(LIBS_DIR)
|
||||
endif
|
||||
endif
|
||||
ifneq ($(CMDS_DIR), )
|
||||
JMOD_FLAGS += --cmds $(CMDS_DIR)
|
||||
DEPS += $(call FindFiles, $(CMDS_DIR))
|
||||
ifeq ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+public)
|
||||
# For public debug symbols on Windows, we have to use stripped pdbs, rename them
|
||||
# and filter out a few launcher pdbs where there's a lib that goes by the same name
|
||||
rename_stripped = $(patsubst %.stripped.pdb,%.pdb,$1)
|
||||
CMDS_DIR_FILTERED := $(subst modules_cmds,modules_cmds_filtered, $(CMDS_DIR))
|
||||
FILES_CMDS := $(filter-out %.pdb, $(call FindFiles, $(CMDS_DIR))) \
|
||||
$(filter-out %jimage.stripped.pdb %jpackage.stripped.pdb %java.stripped.pdb, \
|
||||
$(filter %.stripped.pdb, $(call FindFiles, $(CMDS_DIR))))
|
||||
$(eval $(call SetupCopyFiles, COPY_FILTERED_CMDS, \
|
||||
SRC := $(CMDS_DIR), \
|
||||
DEST := $(CMDS_DIR_FILTERED), \
|
||||
FILES := $(FILES_CMDS), \
|
||||
NAME_MACRO := rename_stripped, \
|
||||
))
|
||||
DEPS += $(COPY_FILTERED_CMDS)
|
||||
JMOD_FLAGS += --cmds $(CMDS_DIR_FILTERED)
|
||||
else ifeq ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+full)
|
||||
# For full debug symbols on Windows, we have to filter out a few launcher pdbs
|
||||
# where there's a lib that goes by the same name
|
||||
CMDS_DIR_FILTERED := $(subst modules_cmds,modules_cmds_filtered, $(CMDS_DIR))
|
||||
$(eval $(call SetupCopyFiles, COPY_FILTERED_CMDS, \
|
||||
SRC := $(CMDS_DIR), \
|
||||
DEST := $(CMDS_DIR_FILTERED), \
|
||||
FILES := $(filter-out %jimage.pdb %jpackage.pdb %java.pdb, \
|
||||
$(call FindFiles, $(CMDS_DIR))), \
|
||||
))
|
||||
DEPS += $(COPY_FILTERED_CMDS)
|
||||
JMOD_FLAGS += --cmds $(CMDS_DIR_FILTERED)
|
||||
else
|
||||
JMOD_FLAGS += --cmds $(CMDS_DIR)
|
||||
endif
|
||||
endif
|
||||
ifneq ($(CONF_DIR), )
|
||||
JMOD_FLAGS += --config $(CONF_DIR)
|
||||
@@ -154,7 +201,15 @@ ifeq ($(INTERIM_JMOD), true)
|
||||
DEPS := $(filter-out $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/classlist, $(DEPS))
|
||||
endif
|
||||
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}'
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.pdb,*.map}'
|
||||
else
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.map}'
|
||||
endif
|
||||
else
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
|
||||
endif
|
||||
|
||||
# Create jmods in a temp dir and then move them into place to keep the
|
||||
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2020, 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
|
||||
@@ -84,6 +84,17 @@ $(eval $(call SetupCopyFiles, COPY_CLASSLIST, \
|
||||
|
||||
TARGETS += $(COPY_CLASSLIST)
|
||||
|
||||
# In case of shipping public debug symbols on windows, there is another temporary
|
||||
# location from where jmods are compiled - need to deploy classlist there, too.
|
||||
ifeq ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+public)
|
||||
$(eval $(call SetupCopyFiles, COPY_CLASSLIST_TO_FILTERED, \
|
||||
FILES := $(CLASSLIST_FILE), \
|
||||
DEST := $(SUPPORT_OUTPUTDIR)/modules_libs_filtered/java.base, \
|
||||
))
|
||||
|
||||
TARGETS += $(COPY_CLASSLIST_TO_FILTERED)
|
||||
endif
|
||||
|
||||
# Copy the default_jli_trace.txt file into jdk.jlink
|
||||
$(eval $(call SetupCopyFiles, COPY_JLI_TRACE, \
|
||||
FILES := $(JLI_TRACE_FILE), \
|
||||
|
||||
57
make/GraalBuilderImage.gmk
Normal file
57
make/GraalBuilderImage.gmk
Normal file
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# Copyright (c) 2020, Red Hat Inc.
|
||||
# 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.
|
||||
#
|
||||
|
||||
# This makefile creates a jdk image overlayed with statically linked core
|
||||
# libraries.
|
||||
|
||||
default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
TARGETS :=
|
||||
|
||||
$(eval $(call SetupCopyFiles, COPY_JDK_IMG, \
|
||||
SRC := $(JDK_IMAGE_DIR)/, \
|
||||
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/, \
|
||||
FILES := $(call FindFiles, $(JDK_IMAGE_DIR)/), \
|
||||
))
|
||||
TARGETS += $(COPY_JDK_IMG)
|
||||
|
||||
$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS, \
|
||||
SRC := $(STATIC_LIBS_IMAGE_DIR)/lib, \
|
||||
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/lib, \
|
||||
FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
|
||||
$(call FindFiles, $(STATIC_LIBS_IMAGE_DIR)/lib)), \
|
||||
))
|
||||
TARGETS += $(COPY_STATIC_LIBS)
|
||||
|
||||
################################################################################
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
.PHONY: all
|
||||
@@ -43,7 +43,7 @@ help:
|
||||
$(info $(_) make images # Create a complete jdk image)
|
||||
$(info $(_) # (alias for product-images))
|
||||
$(info $(_) make <name>-image # Build just the image for any of: )
|
||||
$(info $(_) # jdk, test, docs, symbols, legacy-jre)
|
||||
$(info $(_) # jdk, test, docs, symbols, legacy-jre, static-libs)
|
||||
$(info $(_) make <phase> # Build the specified phase and everything it depends on)
|
||||
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
|
||||
$(info $(_) make *-only # Applies to most targets and disables building the)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2020, 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
|
||||
@@ -301,6 +301,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
else
|
||||
LIBS_TARGET_SUBDIR := lib
|
||||
endif
|
||||
CMDS_TARGET_SUBDIR := bin
|
||||
|
||||
# Param 1 - dir to find debuginfo files in
|
||||
FindDebuginfoFiles = \
|
||||
@@ -317,12 +318,15 @@ else
|
||||
# dirs.
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
$(call FillFindCache, \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs)
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs $(SUPPORT_OUTPUTDIR)/modules_cmds)
|
||||
FindDebuginfoFiles = \
|
||||
$(if $(wildcard $1), $(call containing, .dSYM/, $(call FindFiles, $1)))
|
||||
endif
|
||||
endif
|
||||
|
||||
FILTERED_PDBS := %jimage.stripped.pdb %jpackage.stripped.pdb %java.stripped.pdb \
|
||||
%jimage.pdb %jpackage.pdb %java.pdb %jimage.map %jpackage.map %java.map
|
||||
|
||||
# Param 1 - either JDK or JRE
|
||||
SetupCopyDebuginfo = \
|
||||
$(foreach m, $(ALL_$1_MODULES), \
|
||||
@@ -333,6 +337,13 @@ SetupCopyDebuginfo = \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
|
||||
)) \
|
||||
$(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
|
||||
$(eval $(call SetupCopyFiles, COPY_$1_CMDS_DEBUGINFO_$m, \
|
||||
SRC := $(SUPPORT_OUTPUTDIR)/modules_cmds/$m, \
|
||||
DEST := $($1_IMAGE_DIR)/$(CMDS_TARGET_SUBDIR), \
|
||||
FILES := $(filter-out $(FILTERED_PDBS), $(call FindDebuginfoFiles, \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_cmds/$m)), \
|
||||
)) \
|
||||
$(eval $1_TARGETS += $$(COPY_$1_CMDS_DEBUGINFO_$m)) \
|
||||
)
|
||||
|
||||
# No space before argument to avoid having to put $(strip ) everywhere in
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
# Copyright (c) 2011, 2020, 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
|
||||
@@ -78,13 +78,9 @@ ifneq ($(CREATING_BUILDJDK), true)
|
||||
interim-rmic:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk)
|
||||
|
||||
interim-cldrconverter:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimCLDRConverter.gmk)
|
||||
|
||||
interim-tzdb:
|
||||
interim-tzdb:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimTZDB.gmk)
|
||||
|
||||
|
||||
buildtools-jdk:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileToolsJdk.gmk)
|
||||
|
||||
@@ -96,7 +92,7 @@ interim-tzdb:
|
||||
endif
|
||||
|
||||
ALL_TARGETS += buildtools-langtools interim-langtools \
|
||||
interim-rmic interim-cldrconverter interim-tzdb buildtools-jdk buildtools-modules \
|
||||
interim-rmic interim-tzdb buildtools-jdk buildtools-modules \
|
||||
buildtools-hotspot
|
||||
|
||||
################################################################################
|
||||
@@ -225,6 +221,21 @@ $(eval $(call DeclareRecipesForPhase, LIBS, \
|
||||
|
||||
ALL_TARGETS += $(LIBS_TARGETS)
|
||||
|
||||
################################################################################
|
||||
# Targets for compiling static versions of certain native libraries. These do
|
||||
# not end up in the jmods or the normal JDK image, but are instead bundled into
|
||||
# a special deliverable.
|
||||
$(eval $(call DeclareRecipesForPhase, STATIC_LIBS, \
|
||||
TARGET_SUFFIX := static-libs, \
|
||||
FILE_PREFIX := Lib, \
|
||||
MAKE_SUBDIR := lib, \
|
||||
CHECK_MODULES := $(ALL_MODULES), \
|
||||
USE_WRAPPER := true, \
|
||||
EXTRA_ARGS := STATIC_LIBS=true, \
|
||||
))
|
||||
|
||||
ALL_TARGETS += $(STATIC_LIBS_TARGETS)
|
||||
|
||||
################################################################################
|
||||
# Targets for compiling native executables
|
||||
$(eval $(call DeclareRecipesForPhase, LAUNCHER, \
|
||||
@@ -384,6 +395,9 @@ legacy-jre-image:
|
||||
symbols-image:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk symbols)
|
||||
|
||||
static-libs-image:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f StaticLibsImage.gmk)
|
||||
|
||||
mac-jdk-bundle:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk jdk-bundle)
|
||||
|
||||
@@ -396,10 +410,13 @@ release-file:
|
||||
exploded-image-optimize:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk)
|
||||
|
||||
graal-builder-image:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GraalBuilderImage.gmk)
|
||||
|
||||
ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
|
||||
zip-source jrtfs-jar jdk-image legacy-jre-image \
|
||||
symbols-image mac-jdk-bundle mac-legacy-jre-bundle \
|
||||
release-file exploded-image-optimize
|
||||
symbols-image static-libs-image mac-jdk-bundle mac-legacy-jre-bundle \
|
||||
release-file exploded-image-optimize graal-builder-image
|
||||
|
||||
################################################################################
|
||||
# Docs targets
|
||||
@@ -631,7 +648,11 @@ test-bundles:
|
||||
docs-bundles:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk docs-bundles)
|
||||
|
||||
ALL_TARGETS += product-bundles legacy-bundles test-bundles docs-bundles
|
||||
static-libs-bundles:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk static-libs-bundles)
|
||||
|
||||
ALL_TARGETS += product-bundles legacy-bundles test-bundles docs-bundles \
|
||||
static-libs-bundles
|
||||
|
||||
################################################################################
|
||||
# Install targets
|
||||
@@ -664,7 +685,7 @@ else
|
||||
|
||||
interim-langtools: $(INTERIM_LANGTOOLS_GENSRC_TARGETS)
|
||||
|
||||
buildtools-jdk: interim-langtools interim-cldrconverter interim-tzdb
|
||||
buildtools-jdk: interim-langtools interim-tzdb
|
||||
|
||||
buildtools-hotspot: interim-langtools
|
||||
|
||||
@@ -696,10 +717,14 @@ else
|
||||
|
||||
# If not already set, set the JVM variant target so that the JVM will be built.
|
||||
JVM_MAIN_LIB_TARGETS ?= hotspot-$(JVM_VARIANT_MAIN)-libs
|
||||
JVM_MAIN_GENSRC_TARGETS ?= hotspot-$(JVM_VARIANT_MAIN)-gensrc
|
||||
|
||||
# Building one JVM variant is enough to start building the other libs
|
||||
$(LIBS_TARGETS): $(JVM_MAIN_LIB_TARGETS)
|
||||
|
||||
# Static libs depend on hotspot gensrc
|
||||
$(STATIC_LIBS_TARGETS): $(JVM_MAIN_GENSRC_TARGETS)
|
||||
|
||||
$(LAUNCHER_TARGETS): java.base-libs
|
||||
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
@@ -804,9 +829,15 @@ else
|
||||
$(foreach m, $(GENSRC_MODULES), $(eval $m-libs-compile-commands: $m-gensrc))
|
||||
$(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs-compile-commands: $m-java))
|
||||
|
||||
$(COMPILE_COMMANDS_TARGETS_HOTSPOT): clean-compile-commands
|
||||
$(COMPILE_COMMANDS_TARGETS_JDK): clean-compile-commands
|
||||
compile-commands-hotspot: $(COMPILE_COMMANDS_TARGETS_HOTSPOT)
|
||||
compile-commands: $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK)
|
||||
|
||||
# The -static-libs targets depend on -java as well as java.base-copy.
|
||||
$(foreach m, $(filter $(JAVA_MODULES), $(STATIC_LIBS_MODULES)), \
|
||||
$(eval $m-static-libs: $m-java java.base-copy))
|
||||
|
||||
vscode-project: compile-commands
|
||||
vscode-project-clangd: compile-commands
|
||||
vscode-project-rtags: compile-commands
|
||||
@@ -874,6 +905,10 @@ else
|
||||
legacy-jre-image: jmods release-file
|
||||
symbols-image: $(LIBS_TARGETS) $(LAUNCHER_TARGETS)
|
||||
|
||||
static-libs-image: $(STATIC_LIBS_TARGETS)
|
||||
|
||||
graal-builder-image: jdk-image static-libs-image
|
||||
|
||||
mac-jdk-bundle: jdk-image
|
||||
mac-legacy-jre-bundle: legacy-jre-image
|
||||
|
||||
@@ -967,6 +1002,8 @@ else
|
||||
|
||||
docs-bundles: docs-image
|
||||
|
||||
static-libs-bundles: static-libs-image
|
||||
|
||||
generate-summary: jmods buildtools-modules
|
||||
|
||||
update-x11wrappers: java.base-copy buildtools-jdk
|
||||
@@ -1005,6 +1042,8 @@ rmic: $(RMIC_TARGETS)
|
||||
|
||||
libs: $(LIBS_TARGETS)
|
||||
|
||||
static-libs: $(STATIC_LIBS_TARGETS)
|
||||
|
||||
launchers: $(LAUNCHER_TARGETS)
|
||||
|
||||
jmods: $(JMOD_TARGETS)
|
||||
@@ -1111,10 +1150,10 @@ test-image: prepare-test-image \
|
||||
all-images: product-images test-image docs-image
|
||||
|
||||
# all-bundles packages all our deliverables as tar.gz bundles.
|
||||
all-bundles: product-bundles test-bundles docs-bundles
|
||||
all-bundles: product-bundles test-bundles docs-bundles static-libs-bundles
|
||||
|
||||
ALL_TARGETS += buildtools hotspot hotspot-libs hotspot-gensrc gensrc gendata \
|
||||
copy java rmic libs launchers jmods \
|
||||
copy java rmic libs static-libs launchers jmods \
|
||||
jdk.jdwp.agent-gensrc $(ALL_MODULES) demos \
|
||||
exploded-image-base exploded-image \
|
||||
create-buildjdk docs-jdk-api docs-javase-api docs-reference-api docs-jdk \
|
||||
@@ -1167,6 +1206,9 @@ clean: $(CLEAN_DIR_TARGETS)
|
||||
clean-docs:
|
||||
$(call CleanDocs)
|
||||
|
||||
clean-compile-commands:
|
||||
$(call CleanMakeSupportDir,compile-commands)
|
||||
|
||||
$(CLEAN_DIR_TARGETS):
|
||||
$(call CleanDir,$(patsubst clean-%, %, $@))
|
||||
|
||||
@@ -1208,9 +1250,9 @@ dist-clean: clean
|
||||
)
|
||||
$(ECHO) Cleaned everything, you will have to re-run configure.
|
||||
|
||||
ALL_TARGETS += clean clean-docs dist-clean $(CLEAN_DIR_TARGETS) $(CLEAN_SUPPORT_DIR_TARGETS) \
|
||||
$(CLEAN_TEST_TARGETS) $(CLEAN_PHASE_TARGETS) $(CLEAN_MODULE_TARGETS) \
|
||||
$(CLEAN_MODULE_PHASE_TARGETS)
|
||||
ALL_TARGETS += clean clean-docs clean-compile-commands dist-clean $(CLEAN_DIR_TARGETS) \
|
||||
$(CLEAN_SUPPORT_DIR_TARGETS) $(CLEAN_TEST_TARGETS) $(CLEAN_PHASE_TARGETS) \
|
||||
$(CLEAN_MODULE_TARGETS) $(CLEAN_MODULE_PHASE_TARGETS)
|
||||
|
||||
################################################################################
|
||||
# Declare *-only targets for each normal target
|
||||
|
||||
@@ -65,6 +65,13 @@ define CleanSupportDir
|
||||
@$(PRINTF) " done\n"
|
||||
endef
|
||||
|
||||
define CleanMakeSupportDir
|
||||
@$(PRINTF) "Cleaning $(strip $1) make support artifacts ..."
|
||||
@$(PRINTF) "\n" $(LOG_DEBUG)
|
||||
$(RM) -r $(MAKESUPPORT_OUTPUTDIR)/$(strip $1)
|
||||
@$(PRINTF) " done\n"
|
||||
endef
|
||||
|
||||
define CleanTest
|
||||
@$(PRINTF) "Cleaning test $(strip $1) ..."
|
||||
@$(PRINTF) "\n" $(LOG_DEBUG)
|
||||
@@ -137,7 +144,7 @@ define DeclareRecipeForModuleMakefile
|
||||
$$(addprefix -I, $$(PHASE_MAKEDIRS) \
|
||||
$$(addsuffix /$$($1_MAKE_SUBDIR), $$(PHASE_MAKEDIRS)) \
|
||||
) \
|
||||
MODULE=$2 MAKEFILE_PREFIX=$$($1_FILE_PREFIX))
|
||||
MODULE=$2 MAKEFILE_PREFIX=$$($1_FILE_PREFIX) $$($1_EXTRA_ARGS))
|
||||
else
|
||||
+($(CD) $$(dir $$(firstword $$(wildcard $$(addsuffix \
|
||||
/$$($1_MAKE_SUBDIR)/$$($1_FILE_PREFIX)-$2.gmk, $$(PHASE_MAKEDIRS))))) \
|
||||
@@ -146,7 +153,7 @@ define DeclareRecipeForModuleMakefile
|
||||
$$(addprefix -I, $$(PHASE_MAKEDIRS) \
|
||||
$$(addsuffix /$$($1_MAKE_SUBDIR), $$(PHASE_MAKEDIRS)) \
|
||||
) \
|
||||
MODULE=$2 \
|
||||
MODULE=$2 $$($1_EXTRA_ARGS) \
|
||||
)
|
||||
endif
|
||||
|
||||
@@ -186,12 +193,13 @@ endef
|
||||
# CHECK_MODULES : List of modules to try
|
||||
# MULTIPLE_MAKEFILES : Set to true to handle makefiles for the same module and
|
||||
# phase in multiple repos
|
||||
# EXTRA_ARGS : Add extra make args to each makefile call
|
||||
# Exported variables:
|
||||
# $1_MODULES : All modules that had rules generated
|
||||
# $1_TARGETS : All targets generated
|
||||
define DeclareRecipesForPhase
|
||||
$(foreach i,2 3 4 5 6 7, $(if $(strip $($i)),$(strip $1)_$(strip $($i)))$(NEWLINE))
|
||||
$(if $(8),$(error Internal makefile error: Too many arguments to \
|
||||
$(foreach i,2 3 4 5 6 7 8, $(if $(strip $($i)),$(strip $1)_$(strip $($i)))$(NEWLINE))
|
||||
$(if $(9),$(error Internal makefile error: Too many arguments to \
|
||||
DeclareRecipesForPhase, please update MakeHelper.gmk))
|
||||
|
||||
$$(foreach m, $$($(strip $1)_CHECK_MODULES), \
|
||||
|
||||
@@ -658,10 +658,14 @@ define SetupRunJtregTestBody
|
||||
$1_JTREG_LAUNCHER_OPTIONS += -Xmx$$($1_JTREG_MAX_MEM)
|
||||
endif
|
||||
|
||||
# Make sure the tmp dir is normalized as some tests will react badly otherwise
|
||||
$1_TEST_TMP_DIR := $$(abspath $$($1_TEST_SUPPORT_DIR)/tmp)
|
||||
|
||||
$1_JTREG_BASIC_OPTIONS += -$$($1_JTREG_TEST_MODE) \
|
||||
-verbose:$$(JTREG_VERBOSE) -retain:$$(JTREG_RETAIN) \
|
||||
-concurrency:$$($1_JTREG_JOBS) -timeoutFactor:$$(JTREG_TIMEOUT_FACTOR) \
|
||||
-vmoption:-XX:MaxRAMPercentage=$$($1_JTREG_MAX_RAM_PERCENTAGE)
|
||||
-vmoption:-XX:MaxRAMPercentage=$$($1_JTREG_MAX_RAM_PERCENTAGE) \
|
||||
-vmoption:-Djava.io.tmpdir="$$($1_TEST_TMP_DIR)"
|
||||
|
||||
$1_JTREG_BASIC_OPTIONS += -automatic -ignore:quiet
|
||||
|
||||
@@ -740,7 +744,8 @@ define SetupRunJtregTestBody
|
||||
run-test-$1: clean-workdir-$1 $$($1_AOT_TARGETS)
|
||||
$$(call LogWarn)
|
||||
$$(call LogWarn, Running test '$$($1_TEST)')
|
||||
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
|
||||
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
|
||||
$$($1_TEST_TMP_DIR))
|
||||
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, ( \
|
||||
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
|
||||
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2017, 2019, 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
|
||||
@@ -237,7 +237,8 @@ else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
NUM_CORES := $(NUMBER_OF_PROCESSORS)
|
||||
MEMORY_SIZE := $(shell \
|
||||
$(EXPR) `wmic computersystem get totalphysicalmemory -value | $(GREP) = \
|
||||
$(EXPR) `wmic computersystem get totalphysicalmemory -value \
|
||||
| $(GREP) = | $(SED) 's/\\r//g' \
|
||||
| $(CUT) -d "=" -f 2-` / 1024 / 1024 \
|
||||
)
|
||||
endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2019, 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,30 +23,34 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
# This makefile creates an image of the optional static versions of certain JDK
|
||||
# libraries.
|
||||
|
||||
default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
include Modules.gmk
|
||||
|
||||
##########################################################################################
|
||||
ALL_MODULES = $(call FindAllModules)
|
||||
|
||||
### CLDRConverter needs the JRE time zone names from the java.base source.
|
||||
################################################################################
|
||||
|
||||
define cldrconverter_copytznames
|
||||
$(MKDIR) -p '$(@D)'
|
||||
$(RM) '$@'
|
||||
$(SED) -e "s/package sun.util.resources/package build.tools.cldrconverter/" \
|
||||
-e "s/extends TimeZoneNamesBundle//" \
|
||||
-e "s/protected final/static final/" \
|
||||
< $(<) > $@
|
||||
endef
|
||||
TARGETS :=
|
||||
|
||||
$(eval $(call SetupCopyFiles,COPY_INTERIM_CLDRCONVERTER, \
|
||||
SRC := $(TOPDIR)/src/java.base/share/classes/sun/util/resources, \
|
||||
DEST := $(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes/build/tools/cldrconverter, \
|
||||
FILES := TimeZoneNames.java, \
|
||||
MACRO := cldrconverter_copytznames))
|
||||
|
||||
##########################################################################################
|
||||
$(foreach m, $(ALL_MODULES), \
|
||||
$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS_$m, \
|
||||
FLATTEN := true, \
|
||||
SRC := $(SUPPORT_OUTPUTDIR)/native/$m, \
|
||||
DEST := $(STATIC_LIBS_IMAGE_DIR)/lib, \
|
||||
FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
|
||||
$(call FindFiles, $(SUPPORT_OUTPUTDIR)/native/$m/*/static)), \
|
||||
)) \
|
||||
$(eval TARGETS += $$(COPY_STATIC_LIBS_$m)) \
|
||||
)
|
||||
|
||||
all: $(COPY_INTERIM_CLDRCONVERTER)
|
||||
################################################################################
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
.PHONY: all
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, 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
|
||||
@@ -74,6 +74,7 @@ TOOL_TZDB = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
build.tools.tzdb.TzdbZoneRulesCompiler
|
||||
|
||||
TOOL_BLACKLISTED_CERTS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
--add-exports java.base/sun.security.util=ALL-UNNAMED \
|
||||
build.tools.blacklistedcertsconverter.BlacklistedCertsConverter
|
||||
|
||||
TOOL_MAKEJAVASECURITY = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
|
||||
@@ -641,17 +641,18 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
|
||||
AC_MSG_RESULT([$TOPDIR])
|
||||
AC_SUBST(TOPDIR)
|
||||
|
||||
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
|
||||
BASIC_FIXUP_PATH(CURDIR)
|
||||
BASIC_FIXUP_PATH(TOPDIR)
|
||||
|
||||
if test "x$CUSTOM_ROOT" != x; then
|
||||
BASIC_FIXUP_PATH(CUSTOM_ROOT)
|
||||
WORKSPACE_ROOT="${CUSTOM_ROOT}"
|
||||
else
|
||||
WORKSPACE_ROOT="${TOPDIR}"
|
||||
fi
|
||||
AC_SUBST(WORKSPACE_ROOT)
|
||||
|
||||
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
|
||||
BASIC_FIXUP_PATH(CURDIR)
|
||||
BASIC_FIXUP_PATH(TOPDIR)
|
||||
|
||||
# Locate the directory of this script.
|
||||
AUTOCONF_DIR=$TOPDIR/make/autoconf
|
||||
|
||||
@@ -1231,12 +1232,25 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
||||
AC_MSG_CHECKING([if codesign certificate is present])
|
||||
$RM codesign-testfile
|
||||
$TOUCH codesign-testfile
|
||||
$CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
|
||||
$CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD \
|
||||
>&AS_MESSAGE_LOG_FD || CODESIGN=
|
||||
$RM codesign-testfile
|
||||
if test "x$CODESIGN" = x; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
AC_MSG_RESULT([yes])
|
||||
# Verify that the codesign has --option runtime
|
||||
AC_MSG_CHECKING([if codesign has --option runtime])
|
||||
$RM codesign-testfile
|
||||
$TOUCH codesign-testfile
|
||||
$CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
|
||||
2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
|
||||
$RM codesign-testfile
|
||||
if test "x$CODESIGN" = x; then
|
||||
AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
|
||||
else
|
||||
AC_MSG_RESULT([yes])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
BASIC_REQUIRE_PROGS(SETFILE, SetFile)
|
||||
|
||||
@@ -169,19 +169,7 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
gcc)
|
||||
DISABLE_WARNING_PREFIX="-Wno-"
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
|
||||
# Repeate the check for the BUILD_CC and BUILD_CXX. Need to also reset
|
||||
# CFLAGS since any target specific flags will likely not work with the
|
||||
# build compiler
|
||||
CC_OLD="$CC"
|
||||
CXX_OLD="$CXX"
|
||||
CC="$BUILD_CC"
|
||||
CXX="$BUILD_CXX"
|
||||
CFLAGS_OLD="$CFLAGS"
|
||||
CFLAGS=""
|
||||
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
|
||||
CC="$CC_OLD"
|
||||
CXX="$CXX_OLD"
|
||||
CFLAGS="$CFLAGS_OLD"
|
||||
;;
|
||||
clang)
|
||||
DISABLE_WARNING_PREFIX="-Wno-"
|
||||
@@ -221,6 +209,20 @@ AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Extra flags needed when building optional static versions of certain
|
||||
# JDK libraries.
|
||||
STATIC_LIBS_CFLAGS="-DSTATIC_BUILD=1"
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -ffunction-sections -fdata-sections"
|
||||
fi
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
# Disable relax-relocation to enable compatibility with older linkers
|
||||
RELAX_RELOCATIONS_FLAG="-Xassembler -mrelax-relocations=no"
|
||||
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${RELAX_RELOCATIONS_FLAG}],
|
||||
IF_TRUE: [STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS ${RELAX_RELOCATIONS_FLAG}"])
|
||||
fi
|
||||
AC_SUBST(STATIC_LIBS_CFLAGS)
|
||||
])
|
||||
|
||||
AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
||||
@@ -362,6 +364,17 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS],
|
||||
|
||||
FLAGS_SETUP_CFLAGS_CPU_DEP([TARGET])
|
||||
|
||||
# Repeat the check for the BUILD_CC and BUILD_CXX. Need to also reset CFLAGS
|
||||
# since any target specific flags will likely not work with the build compiler.
|
||||
CC_OLD="$CC"
|
||||
CXX_OLD="$CXX"
|
||||
CFLAGS_OLD="$CFLAGS"
|
||||
CXXFLAGS_OLD="$CXXFLAGS"
|
||||
CC="$BUILD_CC"
|
||||
CXX="$BUILD_CXX"
|
||||
CFLAGS=""
|
||||
CXXFLAGS=""
|
||||
|
||||
FLAGS_OS=$OPENJDK_BUILD_OS
|
||||
FLAGS_OS_TYPE=$OPENJDK_BUILD_OS_TYPE
|
||||
FLAGS_CPU=$OPENJDK_BUILD_CPU
|
||||
@@ -373,6 +386,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS],
|
||||
|
||||
FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_], [BUILD_])
|
||||
|
||||
CC="$CC_OLD"
|
||||
CXX="$CXX_OLD"
|
||||
CFLAGS="$CFLAGS_OLD"
|
||||
CXXFLAGS="$CXXFLAGS_OLD"
|
||||
|
||||
# Tests are only ever compiled for TARGET
|
||||
CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
|
||||
CXXFLAGS_TESTLIB="$CXXFLAGS_JDKLIB"
|
||||
|
||||
@@ -72,8 +72,9 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
fi
|
||||
|
||||
# Add -z defs, to forbid undefined symbols in object files.
|
||||
# add relro (mark relocations read only) for all libs
|
||||
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro"
|
||||
# add -z,relro (mark relocations read only) for all libs
|
||||
# add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only)
|
||||
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro -Wl,-z,now"
|
||||
# s390x : remove unused code+data in link step
|
||||
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
|
||||
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
|
||||
@@ -127,10 +128,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
if test x$DEBUG_LEVEL = xrelease; then
|
||||
DEBUGLEVEL_LDFLAGS_JDK_ONLY="$DEBUGLEVEL_LDFLAGS_JDK_ONLY -Wl,-O1"
|
||||
fi
|
||||
if test x$DEBUG_LEVEL = xslowdebug; then
|
||||
# do relocations at load
|
||||
DEBUGLEVEL_LDFLAGS="-Wl,-z,now"
|
||||
fi
|
||||
fi
|
||||
|
||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
# All valid JVM features, regardless of platform
|
||||
VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
|
||||
graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc zgc nmt cds \
|
||||
graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc shenandoahgc zgc nmt cds \
|
||||
static-build link-time-opt aot jfr"
|
||||
|
||||
# Deprecated JVM features (these are ignored, but with a warning)
|
||||
@@ -47,8 +47,8 @@ AC_DEFUN([HOTSPOT_CHECK_JVM_VARIANT],
|
||||
[ [ [[ " $JVM_VARIANTS " =~ " $1 " ]] ] ])
|
||||
|
||||
###############################################################################
|
||||
# Check if the specified JVM features are explicitly enabled. To be used in
|
||||
# shell if constructs, like this:
|
||||
# Check if the specified JVM feature is enabled. To be used in shell if
|
||||
# constructs, like this:
|
||||
# if HOTSPOT_CHECK_JVM_FEATURE(jvmti); then
|
||||
#
|
||||
# Only valid to use after HOTSPOT_SETUP_JVM_FEATURES has setup features.
|
||||
@@ -58,6 +58,20 @@ AC_DEFUN([HOTSPOT_CHECK_JVM_VARIANT],
|
||||
AC_DEFUN([HOTSPOT_CHECK_JVM_FEATURE],
|
||||
[ [ [[ " $JVM_FEATURES " =~ " $1 " ]] ] ])
|
||||
|
||||
###############################################################################
|
||||
# Check if the specified JVM feature is explicitly disabled. To be used in
|
||||
# shell if constructs, like this:
|
||||
# if HOTSPOT_IS_JVM_FEATURE_DISABLED(jvmci); then
|
||||
#
|
||||
# This function is internal to hotspot.m4, and is only used when constructing
|
||||
# the valid set of enabled JVM features. Users outside of hotspot.m4 should just
|
||||
# use HOTSPOT_CHECK_JVM_FEATURE to check if a feature is enabled or not.
|
||||
|
||||
# Definition kept in one line to allow inlining in if statements.
|
||||
# Additional [] needed to keep m4 from mangling shell constructs.
|
||||
AC_DEFUN([HOTSPOT_IS_JVM_FEATURE_DISABLED],
|
||||
[ [ [[ " $DISABLED_JVM_FEATURES " =~ " $1 " ]] ] ])
|
||||
|
||||
###############################################################################
|
||||
# Check which variants of the JVM that we want to build. Available variants are:
|
||||
# server: normal interpreter, and a tiered C1/C2 compiler
|
||||
@@ -338,6 +352,19 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
fi
|
||||
fi
|
||||
|
||||
# Only enable Shenandoah on supported arches, and only if requested
|
||||
AC_MSG_CHECKING([if shenandoah can be built])
|
||||
if HOTSPOT_CHECK_JVM_FEATURE(shenandoahgc); then
|
||||
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
|
||||
AC_MSG_RESULT([no, platform not supported])
|
||||
fi
|
||||
else
|
||||
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
|
||||
fi
|
||||
|
||||
# Only enable ZGC on supported platforms
|
||||
AC_MSG_CHECKING([if zgc can be built])
|
||||
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
|
||||
@@ -349,7 +376,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
|
||||
# Disable unsupported GCs for Zero
|
||||
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
|
||||
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc"
|
||||
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc shenandoahgc zgc"
|
||||
fi
|
||||
|
||||
# Turn on additional features based on other parts of configure
|
||||
@@ -377,8 +404,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
|
||||
AC_MSG_CHECKING([if jvmci module jdk.internal.vm.ci should be built])
|
||||
# Check if jvmci is diabled
|
||||
DISABLE_JVMCI=`$ECHO $DISABLED_JVM_FEATURES | $GREP jvmci`
|
||||
if test "x$DISABLE_JVMCI" = "xjvmci"; then
|
||||
if HOTSPOT_IS_JVM_FEATURE_DISABLED(jvmci); then
|
||||
AC_MSG_RESULT([no, forced])
|
||||
JVM_FEATURES_jvmci=""
|
||||
INCLUDE_JVMCI="false"
|
||||
@@ -404,8 +430,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
|
||||
AC_MSG_CHECKING([if graal module jdk.internal.vm.compiler should be built])
|
||||
# Check if graal is diabled
|
||||
DISABLE_GRAAL=`$ECHO $DISABLED_JVM_FEATURES | $GREP graal`
|
||||
if test "x$DISABLE_GRAAL" = "xgraal"; then
|
||||
if HOTSPOT_IS_JVM_FEATURE_DISABLED(graal); then
|
||||
AC_MSG_RESULT([no, forced])
|
||||
JVM_FEATURES_graal=""
|
||||
INCLUDE_GRAAL="false"
|
||||
@@ -437,8 +462,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
AC_SUBST(INCLUDE_GRAAL)
|
||||
|
||||
# Disable aot with '--with-jvm-features=-aot'
|
||||
DISABLE_AOT=`$ECHO $DISABLED_JVM_FEATURES | $GREP aot`
|
||||
if test "x$DISABLE_AOT" = "xaot"; then
|
||||
if HOTSPOT_IS_JVM_FEATURE_DISABLED(aot); then
|
||||
ENABLE_AOT="false"
|
||||
fi
|
||||
|
||||
@@ -462,7 +486,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
JVM_FEATURES_aot="aot"
|
||||
fi
|
||||
else
|
||||
if test "x$enable_aot" = "xno" || test "x$DISABLE_AOT" = "xaot"; then
|
||||
if test "x$enable_aot" = "xno" || HOTSPOT_IS_JVM_FEATURE_DISABLED(aot); then
|
||||
AC_MSG_RESULT([no, forced])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
@@ -483,7 +507,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
fi
|
||||
|
||||
# All variants but minimal (and custom) get these features
|
||||
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc jni-check jvmti management nmt services vm-structs zgc"
|
||||
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc shenandoahgc jni-check jvmti management nmt services vm-structs zgc"
|
||||
|
||||
AC_MSG_CHECKING([if cds should be enabled])
|
||||
if test "x$ENABLE_CDS" = "xtrue"; then
|
||||
|
||||
@@ -283,7 +283,7 @@ AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
[
|
||||
#
|
||||
# NATIVE_DEBUG_SYMBOLS
|
||||
# Native debug symbols.
|
||||
# This must be done after the toolchain is setup, since we're looking at objcopy.
|
||||
#
|
||||
AC_MSG_CHECKING([what type of native debug symbols to use])
|
||||
@@ -295,11 +295,9 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
if test "x$withval" = xexternal || test "x$withval" = xzipped; then
|
||||
AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols])
|
||||
fi
|
||||
else
|
||||
if test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||
if test "x$withval" = xinternal; then
|
||||
AC_MSG_ERROR([Windows does not support the parameter 'internal' for --with-native-debug-symbols])
|
||||
fi
|
||||
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||
if test "x$withval" = xinternal; then
|
||||
AC_MSG_ERROR([Windows does not support the parameter 'internal' for --with-native-debug-symbols])
|
||||
fi
|
||||
fi
|
||||
],
|
||||
@@ -315,18 +313,17 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
fi
|
||||
fi
|
||||
])
|
||||
NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
|
||||
AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS])
|
||||
AC_MSG_RESULT([$with_native_debug_symbols])
|
||||
|
||||
if test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
|
||||
if test "x$with_native_debug_symbols" = xnone; then
|
||||
COMPILE_WITH_DEBUG_SYMBOLS=false
|
||||
COPY_DEBUG_SYMBOLS=false
|
||||
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then
|
||||
elif test "x$with_native_debug_symbols" = xinternal; then
|
||||
COMPILE_WITH_DEBUG_SYMBOLS=true
|
||||
COPY_DEBUG_SYMBOLS=false
|
||||
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
|
||||
elif test "x$with_native_debug_symbols" = xexternal; then
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
if test "x$OBJCOPY" = x; then
|
||||
@@ -339,7 +336,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
COMPILE_WITH_DEBUG_SYMBOLS=true
|
||||
COPY_DEBUG_SYMBOLS=true
|
||||
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
|
||||
elif test "x$with_native_debug_symbols" = xzipped; then
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
if test "x$OBJCOPY" = x; then
|
||||
@@ -369,6 +366,33 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
AC_SUBST(COMPILE_WITH_DEBUG_SYMBOLS)
|
||||
AC_SUBST(COPY_DEBUG_SYMBOLS)
|
||||
AC_SUBST(ZIP_EXTERNAL_DEBUG_SYMBOLS)
|
||||
|
||||
# Should we add external native debug symbols to the shipped bundles?
|
||||
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
|
||||
AC_ARG_WITH([external-symbols-in-bundles],
|
||||
[AS_HELP_STRING([--with-external-symbols-in-bundles],
|
||||
[which type of external native debug symbol information shall be shipped in product bundles (none, public, full)
|
||||
(e.g. ship full/stripped pdbs on Windows) @<:@none@:>@])])
|
||||
|
||||
if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
|
||||
AC_MSG_RESULT([no])
|
||||
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
|
||||
if test "x$OPENJDK_TARGET_OS" != xwindows ; then
|
||||
AC_MSG_ERROR([--with-external-symbols-in-bundles currently only works on windows!])
|
||||
elif test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
|
||||
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external is used!])
|
||||
elif test "x$with_external_symbols_in_bundles" = xfull ; then
|
||||
AC_MSG_RESULT([full])
|
||||
SHIP_DEBUG_SYMBOLS=full
|
||||
else
|
||||
AC_MSG_RESULT([public])
|
||||
SHIP_DEBUG_SYMBOLS=public
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
|
||||
fi
|
||||
|
||||
AC_SUBST(SHIP_DEBUG_SYMBOLS)
|
||||
])
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -143,7 +143,9 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_MSG_ERROR([--with-vendor-url must have a value])
|
||||
elif [ ! [[ $with_vendor_url =~ ^[[:print:]]*$ ]] ]; then
|
||||
AC_MSG_ERROR([--with-vendor-url contains non-printing characters: $with_vendor_url])
|
||||
else
|
||||
elif test "x$with_vendor_url" != x; then
|
||||
# Only set VENDOR_URL if '--with-vendor-url' was used and is not empty.
|
||||
# Otherwise we will use the value from "version-numbers" included above.
|
||||
VENDOR_URL="$with_vendor_url"
|
||||
fi
|
||||
AC_SUBST(VENDOR_URL)
|
||||
@@ -155,7 +157,9 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_MSG_ERROR([--with-vendor-bug-url must have a value])
|
||||
elif [ ! [[ $with_vendor_bug_url =~ ^[[:print:]]*$ ]] ]; then
|
||||
AC_MSG_ERROR([--with-vendor-bug-url contains non-printing characters: $with_vendor_bug_url])
|
||||
else
|
||||
elif test "x$with_vendor_bug_url" != x; then
|
||||
# Only set VENDOR_URL_BUG if '--with-vendor-bug-url' was used and is not empty.
|
||||
# Otherwise we will use the value from "version-numbers" included above.
|
||||
VENDOR_URL_BUG="$with_vendor_bug_url"
|
||||
fi
|
||||
AC_SUBST(VENDOR_URL_BUG)
|
||||
@@ -167,7 +171,9 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_MSG_ERROR([--with-vendor-vm-bug-url must have a value])
|
||||
elif [ ! [[ $with_vendor_vm_bug_url =~ ^[[:print:]]*$ ]] ]; then
|
||||
AC_MSG_ERROR([--with-vendor-vm-bug-url contains non-printing characters: $with_vendor_vm_bug_url])
|
||||
else
|
||||
elif test "x$with_vendor_vm_bug_url" != x; then
|
||||
# Only set VENDOR_URL_VM_BUG if '--with-vendor-vm-bug-url' was used and is not empty.
|
||||
# Otherwise we will use the value from "version-numbers" included above.
|
||||
VENDOR_URL_VM_BUG="$with_vendor_vm_bug_url"
|
||||
fi
|
||||
AC_SUBST(VENDOR_URL_VM_BUG)
|
||||
|
||||
@@ -85,6 +85,20 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
|
||||
[LIBFFI_FOUND=no]
|
||||
)
|
||||
fi
|
||||
# on macos we need a special case for system's libffi as
|
||||
# headers are located only in sdk in $SYSROOT and in ffi subfolder
|
||||
if test "x$LIBFFI_FOUND" = xno; then
|
||||
if test "x$SYSROOT" != "x"; then
|
||||
AC_CHECK_HEADER([$SYSROOT/usr/include/ffi/ffi.h],
|
||||
[
|
||||
LIBFFI_FOUND=yes
|
||||
LIBFFI_CFLAGS="-I${SYSROOT}/usr/include/ffi"
|
||||
LIBFFI_LIBS=-lffi
|
||||
],
|
||||
[LIBFFI_FOUND=no]
|
||||
)
|
||||
fi
|
||||
fi
|
||||
if test "x$LIBFFI_FOUND" = xno; then
|
||||
HELP_MSG_MISSING_DEPENDENCY([ffi])
|
||||
AC_MSG_ERROR([Could not find libffi! $HELP_MSG])
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, 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
|
||||
@@ -230,7 +230,8 @@ ifneq ($(COMPANY_NAME),)
|
||||
# Only export "VENDOR" to the build if COMPANY_NAME contains a real value.
|
||||
# Otherwise the default value for VENDOR, which is used to set the "java.vendor"
|
||||
# and "java.vm.vendor" properties is hard-coded into the source code (i.e. in
|
||||
# System.c in the jdk for "vm.vendor" and vm_version.cpp in the VM for "java.vm.vendor")
|
||||
# VersionProps.java.template in the jdk for "java.vendor" and
|
||||
# vm_version.cpp in the VM for "java.vm.vendor")
|
||||
ifneq ($(COMPANY_NAME), N/A)
|
||||
VERSION_CFLAGS += -DVENDOR='"$(COMPANY_NAME)"'
|
||||
endif
|
||||
@@ -286,6 +287,9 @@ USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
|
||||
# Only build headless support or not
|
||||
ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
|
||||
|
||||
# Ship debug symbols (e.g. pdbs on Windows)
|
||||
SHIP_DEBUG_SYMBOLS := @SHIP_DEBUG_SYMBOLS@
|
||||
|
||||
ENABLE_FULL_DOCS := @ENABLE_FULL_DOCS@
|
||||
|
||||
# JDK_OUTPUTDIR specifies where a working jvm is built.
|
||||
@@ -362,6 +366,8 @@ LIBFFI_LIB_FILE:=@LIBFFI_LIB_FILE@
|
||||
GRAALUNIT_LIB := @GRAALUNIT_LIB@
|
||||
FILE_MACRO_CFLAGS := @FILE_MACRO_CFLAGS@
|
||||
|
||||
STATIC_LIBS_CFLAGS := @STATIC_LIBS_CFLAGS@
|
||||
|
||||
PACKAGE_PATH=@PACKAGE_PATH@
|
||||
|
||||
# Source file for cacerts
|
||||
@@ -869,6 +875,14 @@ DOCS_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(DOCS_IMAGE_SUBDIR)
|
||||
# Output docs directly into image
|
||||
DOCS_OUTPUTDIR := $(DOCS_IMAGE_DIR)
|
||||
|
||||
# Static libs image
|
||||
STATIC_LIBS_IMAGE_SUBDIR := static-libs
|
||||
STATIC_LIBS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_IMAGE_SUBDIR)
|
||||
|
||||
# Graal builder image
|
||||
GRAAL_BUILDER_IMAGE_SUBDIR := graal-builder-jdk
|
||||
GRAAL_BUILDER_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(GRAAL_BUILDER_IMAGE_SUBDIR)
|
||||
|
||||
# Macosx bundles directory definitions
|
||||
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
|
||||
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle
|
||||
@@ -903,6 +917,7 @@ JDK_SYMBOLS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
|
||||
TEST_DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests-demos$(DEBUG_PART).tar.gz
|
||||
TEST_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz
|
||||
DOCS_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
|
||||
STATIC_LIBS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-static-libs$(DEBUG_PART).tar.gz
|
||||
|
||||
JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
|
||||
JRE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_BUNDLE_NAME)
|
||||
|
||||
@@ -429,9 +429,10 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
|
||||
# There is no specific version flag, but all output starts with a version string.
|
||||
# First line typically looks something like:
|
||||
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
|
||||
# but the compiler name may vary depending on locale.
|
||||
COMPILER_VERSION_OUTPUT=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
|
||||
# Check that this is likely to be Microsoft CL.EXE.
|
||||
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*Compiler" > /dev/null
|
||||
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft" > /dev/null
|
||||
if test $? -ne 0; then
|
||||
AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
|
||||
AC_MSG_NOTICE([The result from running it was: "$COMPILER_VERSION_OUTPUT"])
|
||||
@@ -460,7 +461,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
|
||||
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
|
||||
$SED -e 's/ *Copyright .*//'`
|
||||
COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
|
||||
$SED -e 's/^.* \(@<:@1-9@:>@\.@<:@0-9.@:>@*\)@<:@^0-9.@:>@.*$/\1/'`
|
||||
$SED -e 's/^.* \(@<:@1-9@:>@<:@0-9@:>@*\.@<:@0-9.@:>@*\)@<:@^0-9.@:>@.*$/\1/'`
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
# clang --version output typically looks like
|
||||
# Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, 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,16 +23,17 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
# Default version numbers to use unless overridden by configure
|
||||
# Default version, product, and vendor information to use,
|
||||
# unless overridden by configure
|
||||
|
||||
DEFAULT_VERSION_FEATURE=11
|
||||
DEFAULT_VERSION_INTERIM=0
|
||||
DEFAULT_VERSION_UPDATE=7
|
||||
DEFAULT_VERSION_PATCH=0
|
||||
DEFAULT_VERSION_UPDATE=9
|
||||
DEFAULT_VERSION_PATCH=1
|
||||
DEFAULT_VERSION_EXTRA1=0
|
||||
DEFAULT_VERSION_EXTRA2=0
|
||||
DEFAULT_VERSION_EXTRA3=0
|
||||
DEFAULT_VERSION_DATE=2020-04-14
|
||||
DEFAULT_VERSION_DATE=2020-11-04
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
|
||||
@@ -44,6 +45,9 @@ PRODUCT_SUFFIX="Runtime Environment"
|
||||
JDK_RC_PLATFORM_NAME=Platform
|
||||
COMPANY_NAME=N/A
|
||||
HOTSPOT_VM_DISTRO="OpenJDK"
|
||||
VENDOR_URL=https://openjdk.java.net/
|
||||
VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
|
||||
VENDOR_URL_VM_BUG=https://bugreport.java.com/bugreport/crash.jsp
|
||||
|
||||
# Might need better names for these
|
||||
MACOSX_BUNDLE_NAME_BASE="OpenJDK"
|
||||
|
||||
@@ -47,7 +47,8 @@ FindSrcDirsForComponent += \
|
||||
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native/$(strip $2) \
|
||||
$(TOPDIR)/src/$(strip $1)/share/native/$(strip $2)))
|
||||
|
||||
# Find a library
|
||||
# Find a library. Used for declaring dependencies on libraries in different
|
||||
# modules.
|
||||
# Param 1 - module name
|
||||
# Param 2 - library name
|
||||
# Param 3 - optional subdir for library
|
||||
@@ -69,6 +70,12 @@ ifeq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
|
||||
FindLib =
|
||||
FindStaticLib =
|
||||
endif
|
||||
# If building static versions of libraries, make these return empty to avoid
|
||||
# declaring dependencies.
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
FindLib =
|
||||
FindStaticLib =
|
||||
endif
|
||||
|
||||
GetJavaHeaderDir = \
|
||||
$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2020, 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
|
||||
@@ -63,6 +63,7 @@ BOOT_MODULES += \
|
||||
jdk.management \
|
||||
jdk.management.jfr \
|
||||
jdk.management.agent \
|
||||
jdk.naming.ldap \
|
||||
jdk.net \
|
||||
jdk.sctp \
|
||||
jdk.unsupported \
|
||||
@@ -165,6 +166,7 @@ DOCS_MODULES += \
|
||||
jdk.management.agent \
|
||||
jdk.management.jfr \
|
||||
jdk.naming.dns \
|
||||
jdk.naming.ldap \
|
||||
jdk.naming.rmi \
|
||||
jdk.net \
|
||||
jdk.pack \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, 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
|
||||
@@ -268,6 +268,19 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# GetEntitlementsFile
|
||||
# Find entitlements file for executable when signing on macosx. If no
|
||||
# specialized file is found, returns the default file.
|
||||
# $1 Executable to find entitlements file for.
|
||||
ENTITLEMENTS_DIR := $(TOPDIR)/make/data/macosxsigning
|
||||
DEFAULT_ENTITLEMENTS_FILE := $(ENTITLEMENTS_DIR)/default.plist
|
||||
|
||||
GetEntitlementsFile = \
|
||||
$(foreach f, $(ENTITLEMENTS_DIR)/$(strip $(notdir $1)).plist, \
|
||||
$(if $(wildcard $f), $f, $(DEFAULT_ENTITLEMENTS_FILE)) \
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Create the recipe needed to compile a single native source file.
|
||||
#
|
||||
@@ -505,6 +518,28 @@ define SetupNativeCompilationBody
|
||||
endif
|
||||
endif
|
||||
|
||||
$$(call SetIfEmpty, $1_COMPILE_WITH_DEBUG_SYMBOLS, $$(COMPILE_WITH_DEBUG_SYMBOLS))
|
||||
|
||||
# STATIC_LIBS is set from Main.gmk when building static versions of certain
|
||||
# native libraries.
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_TYPE := STATIC_LIBRARY
|
||||
# The static versions need to be redirected to different output dirs, both
|
||||
# to not interfere with the main build as well as to not end up inside the
|
||||
# jmods.
|
||||
$1_OBJECT_DIR := $$($1_OBJECT_DIR)/static
|
||||
$1_OUTPUT_DIR := $$($1_OBJECT_DIR)
|
||||
# For release builds where debug symbols are configured to be moved to
|
||||
# separate debuginfo files, disable debug symbols for static libs instead.
|
||||
# We don't currently support this configuration and we don't want symbol
|
||||
# information in release builds unless explicitly asked to provide it.
|
||||
ifeq ($(DEBUG_LEVEL), release)
|
||||
ifeq ($(COPY_DEBUG_SYMBOLS), true)
|
||||
$1_COMPILE_WITH_DEBUG_SYMBOLS := false
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($$($1_TYPE), EXECUTABLE)
|
||||
$1_PREFIX :=
|
||||
ifeq ($$($1_SUFFIX), )
|
||||
@@ -643,6 +678,9 @@ define SetupNativeCompilationBody
|
||||
$1_EXTRA_CFLAGS += $$($1_CFLAGS_$(OPENJDK_TARGET_OS)_release)
|
||||
$1_EXTRA_CFLAGS += $$($1_CFLAGS_$(OPENJDK_TARGET_OS)_$(OPENJDK_TARGET_CPU)_release)
|
||||
endif
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_EXTRA_CFLAGS += $$(STATIC_LIBS_CFLAGS)
|
||||
endif
|
||||
|
||||
# Pickup extra OPENJDK_TARGET_OS_TYPE and/or OPENJDK_TARGET_OS dependent variables for CXXFLAGS.
|
||||
$1_EXTRA_CXXFLAGS := $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS))
|
||||
@@ -656,6 +694,9 @@ define SetupNativeCompilationBody
|
||||
$1_EXTRA_CXXFLAGS += $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_TYPE)_release)
|
||||
$1_EXTRA_CXXFLAGS += $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_release)
|
||||
endif
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_EXTRA_CXXFLAGS += $$(STATIC_LIB_CFLAGS)
|
||||
endif
|
||||
|
||||
# If no C++ flags are explicitly set, default to using the C flags.
|
||||
# After that, we can set additional C++ flags that should not interfere
|
||||
@@ -667,7 +708,7 @@ define SetupNativeCompilationBody
|
||||
$1_EXTRA_CXXFLAGS := $$($1_EXTRA_CFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||
ifeq ($$($1_COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||
$1_EXTRA_CFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
|
||||
$1_EXTRA_CXXFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
|
||||
$1_EXTRA_ASFLAGS += $$(ASFLAGS_DEBUG_SYMBOLS)
|
||||
@@ -935,6 +976,9 @@ define SetupNativeCompilationBody
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).pdb" \
|
||||
"-map:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).map"
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
|
||||
$1_EXTRA_LDFLAGS += "-pdbstripped:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).stripped.pdb"
|
||||
endif
|
||||
$1_DEBUGINFO_FILES := $$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).pdb \
|
||||
$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).map
|
||||
|
||||
@@ -1146,7 +1190,7 @@ define SetupNativeCompilationBody
|
||||
# silently fail otherwise.
|
||||
ifneq ($(CODESIGN), )
|
||||
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
|
||||
--entitlements $(TOPDIR)/make/data/macosxsigning/entitlements.plist $$@
|
||||
--entitlements $$(call GetEntitlementsFile, $$@) $$@
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@@ -155,9 +155,10 @@ define SetupTextFileProcessingBody
|
||||
# Convert the REPLACEMENTS syntax ( A => B ; C => D ; ...) to a sed command
|
||||
# line (-e "s/A/B/g" -e "s/C/D/g" ...), basically by replacing '=>' with '/'
|
||||
# and ';' with '/g" -e "s/', and adjusting for edge cases.
|
||||
# '&' has special meaning in sed so needs to be escaped.
|
||||
$1_REPLACEMENTS_COMMAND_LINE := $(SED) -e 's$$($1_SEP)$$(subst $$(SPACE);$$(SPACE),$$($1_SEP)g' \
|
||||
-e 's$$($1_SEP),$$(subst $$(SPACE)=>$$(SPACE),$$($1_SEP),$$(subst $$(SPACE)=>$$(SPACE);$$(SPACE),$$($1_SEP)$$($1_SEP)g' \
|
||||
-e 's$$($1_SEP),$$(strip $$($1_REPLACEMENTS)))))$$($1_SEP)g'
|
||||
-e 's$$($1_SEP),$$(subst &,\&,$$(strip $$($1_REPLACEMENTS))))))$$($1_SEP)g'
|
||||
else
|
||||
# We don't have any replacements, just pipe the file through cat.
|
||||
$1_REPLACEMENTS_COMMAND_LINE := $(CAT)
|
||||
|
||||
@@ -240,7 +240,7 @@ var getJibProfilesCommon = function (input, data) {
|
||||
// These are the base setttings for all the main build profiles.
|
||||
common.main_profile_base = {
|
||||
dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf"],
|
||||
default_make_targets: ["product-bundles", "test-bundles"],
|
||||
default_make_targets: ["product-bundles", "test-bundles", "static-libs-bundles"],
|
||||
configure_args: concat(["--enable-jtreg-failure-handler"],
|
||||
"--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
|
||||
"--disable-manpages",
|
||||
@@ -312,6 +312,14 @@ var getJibProfilesCommon = function (input, data) {
|
||||
subdir: jdk_subdir,
|
||||
exploded: "images/jdk"
|
||||
},
|
||||
static_libs: {
|
||||
local: "bundles/\\(jdk.*bin-static-libs.tar.gz\\)",
|
||||
remote: [
|
||||
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-static-libs.tar.gz",
|
||||
"bundles/" + pf + "/\\1"
|
||||
],
|
||||
subdir: jdk_subdir,
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -353,6 +361,14 @@ var getJibProfilesCommon = function (input, data) {
|
||||
subdir: jdk_subdir,
|
||||
exploded: "images/jdk"
|
||||
},
|
||||
static_libs: {
|
||||
local: "bundles/\\(jdk.*bin-static-libs-debug.tar.gz\\)",
|
||||
remote: [
|
||||
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-static-libs-debug.tar.gz",
|
||||
"bundles/" + pf + "/\\1"
|
||||
],
|
||||
subdir: jdk_subdir,
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -841,7 +857,7 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
macosx_x64: "Xcode9.4-MacOSX10.13+1.0",
|
||||
solaris_x64: "SS12u4-Solaris11u1+1.0",
|
||||
solaris_sparcv9: "SS12u4-Solaris11u1+1.1",
|
||||
windows_x64: "VS2017-15.5.5+1.0",
|
||||
windows_x64: "VS2017-15.9.16+1.0",
|
||||
linux_aarch64: (input.profile != null && input.profile.indexOf("arm64") >= 0
|
||||
? "gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux+1.0"
|
||||
: "gcc7.3.0-Fedora27+1.1"),
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
#! java BlacklistedCertsConverter SHA-256
|
||||
|
||||
# The line above must be the first line of the blacklisted.certs.pem
|
||||
# file inside src/share/lib/security/. It will be ignored if added in
|
||||
# src/closed/share/lib/security/blacklisted.certs.pem.
|
||||
# The line above must be the first line of this file. Do not
|
||||
# remove it.
|
||||
|
||||
// Subject: CN=Digisign Server ID (Enrich),
|
||||
// OU=457608-K,
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>@@VERSION@@</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>The application is requesting access to the microphone.</string>
|
||||
<key>JavaVM</key>
|
||||
<dict>
|
||||
<key>JVMCapabilities</key>
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>@@VERSION@@</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>The application is requesting access to the microphone.</string>
|
||||
<key>JavaVM</key>
|
||||
<dict>
|
||||
<key>JVMMinimumFrameworkVersion</key>
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
Owner: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
|
||||
Issuer: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
|
||||
Serial number: 1
|
||||
Valid from: Tue May 30 10:38:31 GMT 2000 until: Sat May 30 10:38:31 GMT 2020
|
||||
Signature algorithm name: SHA1withRSA
|
||||
Subject Public Key Algorithm: 2048-bit RSA key
|
||||
Version: 3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU
|
||||
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
|
||||
b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw
|
||||
MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
||||
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD
|
||||
VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA
|
||||
A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul
|
||||
CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n
|
||||
tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl
|
||||
dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch
|
||||
PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC
|
||||
+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O
|
||||
BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E
|
||||
BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl
|
||||
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk
|
||||
ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB
|
||||
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X
|
||||
7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz
|
||||
43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
|
||||
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl
|
||||
pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA
|
||||
WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
|
||||
-----END CERTIFICATE-----
|
||||
43
make/data/cacerts/entrustrootcag4
Normal file
43
make/data/cacerts/entrustrootcag4
Normal file
@@ -0,0 +1,43 @@
|
||||
Owner: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US
|
||||
Issuer: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US
|
||||
Serial number: d9b5437fafa9390f000000005565ad58
|
||||
Valid from: Wed May 27 11:11:16 GMT 2015 until: Sun Dec 27 11:41:16 GMT 2037
|
||||
Signature algorithm name: SHA256withRSA
|
||||
Subject Public Key Algorithm: 4096-bit RSA key
|
||||
Version: 3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAw
|
||||
gb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL
|
||||
Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg
|
||||
MjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAw
|
||||
BgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0
|
||||
MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYTAlVT
|
||||
MRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1
|
||||
c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJ
|
||||
bmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3Qg
|
||||
Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MIICIjANBgkqhkiG9w0B
|
||||
AQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3DumSXbcr3DbVZwbPLqGgZ
|
||||
2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV3imz/f3E
|
||||
T+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j
|
||||
5pds8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAM
|
||||
C1rlLAHGVK/XqsEQe9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73T
|
||||
DtTUXm6Hnmo9RR3RXRv06QqsYJn7ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNX
|
||||
wbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5XxNMhIWNlUpEbsZmOeX7m640A
|
||||
2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV7rtNOzK+mndm
|
||||
nqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8
|
||||
dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwl
|
||||
N4y6mACXi0mWHv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNj
|
||||
c0kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
|
||||
VR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9nMA0GCSqGSIb3DQEBCwUAA4ICAQAS
|
||||
5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4QjbRaZIxowLByQzTS
|
||||
Gwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht7LGr
|
||||
hFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/
|
||||
B7NTeLUKYvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uI
|
||||
AeV8KEsD+UmDfLJ/fOPtjqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbw
|
||||
H5Lk6rWS02FREAutp9lfx1/cH6NcjKF+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+
|
||||
b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKWRGhXxNUzzxkvFMSUHHuk
|
||||
2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjAJOgc47Ol
|
||||
IQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk
|
||||
5F6G+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuY
|
||||
n/PIjhs4ViFqUZPTkcpG2om3PVODLAgfi49T3f+sHw==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,30 +0,0 @@
|
||||
Owner: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR
|
||||
Issuer: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR
|
||||
Serial number: 1121bc276c5547af584eefd4ced629b2a285
|
||||
Valid from: Tue May 26 00:00:00 GMT 2009 until: Tue May 26 00:00:00 GMT 2020
|
||||
Signature algorithm name: SHA256withRSA
|
||||
Subject Public Key Algorithm: 2048-bit RSA key
|
||||
Version: 3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIID5TCCAs2gAwIBAgISESG8J2xVR69YTu/UztYpsqKFMA0GCSqGSIb3DQEBCwUA
|
||||
MEwxCzAJBgNVBAYTAkZSMRIwEAYDVQQKEwlLRVlORUNUSVMxDTALBgNVBAsTBFJP
|
||||
T1QxGjAYBgNVBAMTEUtFWU5FQ1RJUyBST09UIENBMB4XDTA5MDUyNjAwMDAwMFoX
|
||||
DTIwMDUyNjAwMDAwMFowTDELMAkGA1UEBhMCRlIxEjAQBgNVBAoTCUtFWU5FQ1RJ
|
||||
UzENMAsGA1UECxMEUk9PVDEaMBgGA1UEAxMRS0VZTkVDVElTIFJPT1QgQ0EwggEi
|
||||
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDG/bMXhaGtJhuVaTUhPaSI+t7b
|
||||
YDZAF2nCFGP7uNnCdBU3LpzQIM1pjYQyooVMFLSb8iWzVCqDPy2+D/M7ZNH/oFDv
|
||||
d087TuE/C2SFmrpYftLDYtNkJaLUspc8d11jKjOS/M2CDZtUlYf1teuMzVvRyjAv
|
||||
yYhGtc0NEbQYj+7RoT5dFegoz9/DkJtszNEMRXezOuuKkB3pr2RqiXupPUN0+uRn
|
||||
IqH73E3E9WLJyiW0yYBgM6nde6ACv5YlCl7JXyl7tBeBi22BGdDZg1wFj0FpGmlD
|
||||
gJ+or+DpjJGLJyuiJmDND/KkowKDjhiBwheKQxX5bfMdEKRanERhIyF62PvRAgMB
|
||||
AAGjgcAwgb0wEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAQYwVwYD
|
||||
VR0fBFAwTjBMoEqgSIZGaHR0cDovL3RydXN0Y2VudGVyLWNybC5jZXJ0aWZpY2F0
|
||||
Mi5jb20vS2V5bmVjdGlzL0tFWU5FQ1RJU19ST09UX0NBLmNybDAdBgNVHQ4EFgQU
|
||||
77cjl9CokX+mz6YhwDSfzHdB4dAwHwYDVR0jBBgwFoAU77cjl9CokX+mz6YhwDSf
|
||||
zHdB4dAwDQYJKoZIhvcNAQELBQADggEBABoxaZlCwuVAhaKfksNj1I8hOagZIf56
|
||||
/MNNQPMr6EusW0xZk8bcfguvfF+VhWu9x2+6wb74xjpnS5PGBWk+JC3wG5HGPj/s
|
||||
QhiTbAMkim75IGcrfG2rNMkqIjMN132P7tI2ZELINZpuGWHLjWfwaKfQJAXmwxe6
|
||||
Ra58Q7WAeANNIHMF/EMQnTVpQnWUJYIrpjuQGN7Bqa/zLZW/lafPGJfhWeKirxoW
|
||||
YQ33E3FTkzf9PK8AHWyLFK9Gloy2UnzMLU7N4elLCu6a/nqY5ym6G9ocutxrzQQO
|
||||
JkCp63M8/lCoESdVvduOS+9PGO0V/72GmGbumiVxNGxQ8bJRy2adTSk=
|
||||
-----END CERTIFICATE-----
|
||||
23
make/data/cacerts/sslrooteccca
Normal file
23
make/data/cacerts/sslrooteccca
Normal file
@@ -0,0 +1,23 @@
|
||||
Owner: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US
|
||||
Issuer: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US
|
||||
Serial number: 75e6dfcbc1685ba8
|
||||
Valid from: Fri Feb 12 18:14:03 GMT 2016 until: Tue Feb 12 18:14:03 GMT 2041
|
||||
Signature algorithm name: SHA256withECDSA
|
||||
Subject Public Key Algorithm: 384-bit EC key
|
||||
Version: 3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC
|
||||
VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T
|
||||
U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0
|
||||
aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz
|
||||
WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0
|
||||
b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS
|
||||
b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB
|
||||
BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI
|
||||
7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg
|
||||
CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud
|
||||
EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD
|
||||
VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T
|
||||
kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+
|
||||
gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl
|
||||
-----END CERTIFICATE-----
|
||||
41
make/data/cacerts/sslrootevrsaca
Normal file
41
make/data/cacerts/sslrootevrsaca
Normal file
@@ -0,0 +1,41 @@
|
||||
Owner: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US
|
||||
Issuer: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US
|
||||
Serial number: 56b629cd34bc78f6
|
||||
Valid from: Wed May 31 18:14:37 GMT 2017 until: Fri May 30 18:14:37 GMT 2042
|
||||
Signature algorithm name: SHA256withRSA
|
||||
Subject Public Key Algorithm: 4096-bit RSA key
|
||||
Version: 3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV
|
||||
BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE
|
||||
CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy
|
||||
dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy
|
||||
MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G
|
||||
A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD
|
||||
DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq
|
||||
M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf
|
||||
OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa
|
||||
4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9
|
||||
HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR
|
||||
aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA
|
||||
b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ
|
||||
Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV
|
||||
PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO
|
||||
pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu
|
||||
UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY
|
||||
MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV
|
||||
HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4
|
||||
9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW
|
||||
s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5
|
||||
Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg
|
||||
cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM
|
||||
79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz
|
||||
/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt
|
||||
ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm
|
||||
Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK
|
||||
QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ
|
||||
w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi
|
||||
S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07
|
||||
mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==
|
||||
-----END CERTIFICATE-----
|
||||
41
make/data/cacerts/sslrootrsaca
Normal file
41
make/data/cacerts/sslrootrsaca
Normal file
@@ -0,0 +1,41 @@
|
||||
Owner: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US
|
||||
Issuer: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US
|
||||
Serial number: 7b2c9bd316803299
|
||||
Valid from: Fri Feb 12 17:39:39 GMT 2016 until: Tue Feb 12 17:39:39 GMT 2041
|
||||
Signature algorithm name: SHA256withRSA
|
||||
Subject Public Key Algorithm: 4096-bit RSA key
|
||||
Version: 3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE
|
||||
BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK
|
||||
DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp
|
||||
Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz
|
||||
OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv
|
||||
dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv
|
||||
bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN
|
||||
AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R
|
||||
xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX
|
||||
qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC
|
||||
C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3
|
||||
6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh
|
||||
/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF
|
||||
YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E
|
||||
JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc
|
||||
US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8
|
||||
ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm
|
||||
+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi
|
||||
M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV
|
||||
HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G
|
||||
A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV
|
||||
cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc
|
||||
Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs
|
||||
PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/
|
||||
q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0
|
||||
cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr
|
||||
a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I
|
||||
H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y
|
||||
K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu
|
||||
nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf
|
||||
oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY
|
||||
Ic2wBlX7Jz9TkHCpBB5XJ7k=
|
||||
-----END CERTIFICATE-----
|
||||
49
make/data/charsetmapping/IBM943.c2b
Normal file
49
make/data/charsetmapping/IBM943.c2b
Normal file
@@ -0,0 +1,49 @@
|
||||
#
|
||||
# source: 34B003AF.RPMAP130
|
||||
# c->b only entries
|
||||
#
|
||||
815C 2015
|
||||
8160 FF5E
|
||||
8161 2225
|
||||
817C FF0D
|
||||
88A0 555E
|
||||
898B 7130
|
||||
89A8 9DD7
|
||||
8A9A 5699
|
||||
8BA0 4FE0
|
||||
8BEB 8EC0
|
||||
8C71 7E6B
|
||||
8C74 8346
|
||||
8CB2 9E7C
|
||||
8D8D 9EB4
|
||||
8DF2 6805
|
||||
8EC6 5C62
|
||||
8F4A 7E61
|
||||
8FD3 8523
|
||||
8FDD 91AC
|
||||
90E4 87EC
|
||||
917E 6414
|
||||
9189 7626
|
||||
91CB 9A52
|
||||
925C 7C1E
|
||||
92CD 6451
|
||||
9355 5861
|
||||
935E 985A
|
||||
9398 79B1
|
||||
93C0 7006
|
||||
9458 56CA
|
||||
948D 525D
|
||||
94AC 6F51
|
||||
94AE 91B1
|
||||
966A 9830
|
||||
96CB 9EB5
|
||||
9789 840A
|
||||
9858 881F
|
||||
9BA0 5C5B
|
||||
9DB7 6522
|
||||
9E94 688E
|
||||
E379 7E48
|
||||
E445 8141
|
||||
E8F6 9839
|
||||
FA55 FFE4
|
||||
FA59 F86F
|
||||
@@ -23,10 +23,10 @@
|
||||
# 0xF9FD -> u256F -> 0xA2A3
|
||||
# 0xA2CC -> u5341 -> 0xA451
|
||||
# 0xA2CE -> u5345 -> 0xA4CA
|
||||
# 0xF9F9 -> u2550 -> 0xA2A4
|
||||
# 0xF9E9 -> u255E -> 0xA2A5
|
||||
# 0xF9EA -> u256A -> 0xA2A6
|
||||
# 0xF9EB -> u2561 -> 0xA2A7
|
||||
# 0xA2A4 -> u2550 -> 0xF9F9
|
||||
# 0xA2A5 -> u255E -> 0xF9E9
|
||||
# 0xA2A6 -> u256A -> 0xF9EA
|
||||
# 0xA2A7 -> u2561 -> 0xF9EB
|
||||
#
|
||||
# Column #1 is the cp950 code (in hex)
|
||||
# Column #2 is the Unicode (in hex as 0xXXXX)
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
# (we don't need a MS950.c2b, the entries of MS950.c2b-irreversible
|
||||
# are added in MS950.b2c already)
|
||||
#
|
||||
0xF9FA 0x256D
|
||||
0xA2A4 0x2550
|
||||
0xA2A5 0x255E
|
||||
0xA2A6 0x256A
|
||||
0xA2A7 0x2561
|
||||
0xA2CC 0x5341
|
||||
0xA2CE 0x5345
|
||||
0xF9FA 0x256D
|
||||
0xF9FB 0x256E
|
||||
0xF9FC 0x2570
|
||||
0xF9FD 0x256F
|
||||
0xA2CC 0x5341
|
||||
0xA2CE 0x5345
|
||||
0xF9F9 0x2550
|
||||
0xF9E9 0x255E
|
||||
0xF9EA 0x256A
|
||||
0xF9EB 0x2561
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2000, 2020, 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
|
||||
@@ -282,6 +282,7 @@ charset ISO-8859-16 ISO_8859_16
|
||||
alias iso-ir-226
|
||||
alias ISO_8859-16:2001
|
||||
alias ISO_8859-16
|
||||
alias ISO8859_16
|
||||
alias latin10
|
||||
alias l10
|
||||
alias csISO885916
|
||||
@@ -702,7 +703,7 @@ charset x-euc-jp-linux EUC_JP_LINUX
|
||||
charset x-eucJP-Open EUC_JP_Open
|
||||
package sun.nio.cs.ext
|
||||
type template
|
||||
hisname EUC_JP_Solari
|
||||
hisname EUC_JP_Solaris
|
||||
ascii true
|
||||
alias EUC_JP_Solaris # JDK historical
|
||||
alias eucJP-open
|
||||
@@ -1396,7 +1397,7 @@ charset x-IBM833 IBM833
|
||||
|
||||
charset x-IBM834 IBM834 # EBCDIC DBCS-only Korean
|
||||
package sun.nio.cs.ext
|
||||
type source
|
||||
type template
|
||||
alias cp834
|
||||
alias ibm834
|
||||
alias 834
|
||||
@@ -1490,7 +1491,7 @@ charset x-IBM949 IBM949
|
||||
|
||||
charset x-IBM949C IBM949C
|
||||
package sun.nio.cs.ext
|
||||
type source
|
||||
type template
|
||||
alias cp949C # JDK historical
|
||||
alias ibm949C
|
||||
alias ibm-949C
|
||||
|
||||
18
make/data/macosxsigning/java.plist
Normal file
18
make/data/macosxsigning/java.plist
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-library-validation</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.debugger</key>
|
||||
<true/>
|
||||
<key>com.apple.security.device.audio-input</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
8
make/data/macosxsigning/jspawnhelper.plist
Normal file
8
make/data/macosxsigning/jspawnhelper.plist
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,2 +1,2 @@
|
||||
Github: https://raw.githubusercontent.com/publicsuffix/list/33c1c788decfed1052089fa27e3005fe4088dec3/public_suffix_list.dat
|
||||
Date: 2019-09-28
|
||||
Github: https://raw.githubusercontent.com/publicsuffix/list/cbbba1d234670453df9c930dfbf510c0474d4301/public_suffix_list.dat
|
||||
Date: 2020-04-24
|
||||
|
||||
@@ -79,7 +79,6 @@ exchange.aero
|
||||
express.aero
|
||||
federation.aero
|
||||
flight.aero
|
||||
freight.aero
|
||||
fuel.aero
|
||||
gliding.aero
|
||||
government.aero
|
||||
@@ -213,6 +212,7 @@ ac.at
|
||||
co.at
|
||||
gv.at
|
||||
or.at
|
||||
sth.ac.at
|
||||
|
||||
// au : https://en.wikipedia.org/wiki/.au
|
||||
// http://www.auda.org.au/
|
||||
@@ -241,7 +241,7 @@ wa.au
|
||||
// 3LDs
|
||||
act.edu.au
|
||||
catholic.edu.au
|
||||
eq.edu.au
|
||||
// eq.edu.au - Removed at the request of the Queensland Department of Education
|
||||
nsw.edu.au
|
||||
nt.edu.au
|
||||
qld.edu.au
|
||||
@@ -719,11 +719,13 @@ gouv.ci
|
||||
*.ck
|
||||
!www.ck
|
||||
|
||||
// cl : https://en.wikipedia.org/wiki/.cl
|
||||
// cl : https://www.nic.cl
|
||||
// Confirmed by .CL registry <hsalgado@nic.cl>
|
||||
cl
|
||||
gov.cl
|
||||
gob.cl
|
||||
aprendemas.cl
|
||||
co.cl
|
||||
gob.cl
|
||||
gov.cl
|
||||
mil.cl
|
||||
|
||||
// cm : https://en.wikipedia.org/wiki/.cm plus bug 981927
|
||||
@@ -982,8 +984,19 @@ fi
|
||||
// TODO: Check for updates (expected to be phased out around Q1/2009)
|
||||
aland.fi
|
||||
|
||||
// fj : https://en.wikipedia.org/wiki/.fj
|
||||
*.fj
|
||||
// fj : http://domains.fj/
|
||||
// Submitted by registry <garth.miller@cocca.org.nz> 2020-02-11
|
||||
fj
|
||||
ac.fj
|
||||
biz.fj
|
||||
com.fj
|
||||
gov.fj
|
||||
info.fj
|
||||
mil.fj
|
||||
name.fj
|
||||
net.fj
|
||||
org.fj
|
||||
pro.fj
|
||||
|
||||
// fk : https://en.wikipedia.org/wiki/.fk
|
||||
*.fk
|
||||
@@ -1368,7 +1381,7 @@ it
|
||||
gov.it
|
||||
edu.it
|
||||
// Reserved geo-names (regions and provinces):
|
||||
// http://www.nic.it/sites/default/files/docs/Regulation_assignation_v7.1.pdf
|
||||
// https://www.nic.it/sites/default/files/archivio/docs/Regulation_assignation_v7.1.pdf
|
||||
// Regions
|
||||
abr.it
|
||||
abruzzo.it
|
||||
@@ -5886,14 +5899,9 @@ gov.rs
|
||||
in.rs
|
||||
org.rs
|
||||
|
||||
// ru : https://cctld.ru/en/domains/domens_ru/reserved/
|
||||
// ru : https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
|
||||
// Submitted by George Georgievsky <gug@cctld.ru>
|
||||
ru
|
||||
ac.ru
|
||||
edu.ru
|
||||
gov.ru
|
||||
int.ru
|
||||
mil.ru
|
||||
test.ru
|
||||
|
||||
// rw : https://www.ricta.org.rw/sites/default/files/resources/registry_registrar_contract_0.pdf
|
||||
rw
|
||||
@@ -6038,9 +6046,12 @@ org.sn
|
||||
perso.sn
|
||||
univ.sn
|
||||
|
||||
// so : http://www.soregistry.com/
|
||||
// so : http://sonic.so/policies/
|
||||
so
|
||||
com.so
|
||||
edu.so
|
||||
gov.so
|
||||
me.so
|
||||
net.so
|
||||
org.so
|
||||
|
||||
@@ -6510,7 +6521,7 @@ k12.ok.us
|
||||
k12.or.us
|
||||
k12.pa.us
|
||||
k12.pr.us
|
||||
k12.ri.us
|
||||
// k12.ri.us Removed at request of Kim Cournoyer <netsupport@staff.ri.net>
|
||||
k12.sc.us
|
||||
// k12.sd.us Bug 934131 - Removed at request of James Booze <James.Booze@k12.sd.us>
|
||||
k12.tn.us
|
||||
@@ -6797,8 +6808,13 @@ yt
|
||||
مصر
|
||||
|
||||
// xn--e1a4c ("eu", Cyrillic) : EU
|
||||
// https://eurid.eu
|
||||
ею
|
||||
|
||||
// xn--qxa6a ("eu", Greek) : EU
|
||||
// https://eurid.eu
|
||||
ευ
|
||||
|
||||
// xn--mgbah1a3hjkrd ("Mauritania", Arabic) : MR
|
||||
موريتانيا
|
||||
|
||||
@@ -6955,7 +6971,8 @@ yt
|
||||
ак.срб
|
||||
|
||||
// xn--p1ai ("rf", Russian-Cyrillic) : RU
|
||||
// http://www.cctld.ru/en/docs/rulesrf.php
|
||||
// https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
|
||||
// Submitted by George Georgievsky <gug@cctld.ru>
|
||||
рф
|
||||
|
||||
// xn--wgbl6a ("Qatar", Arabic) : QA
|
||||
@@ -7075,7 +7092,7 @@ org.zw
|
||||
|
||||
// newGTLDs
|
||||
|
||||
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2019-09-26T16:43:02Z
|
||||
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2020-04-02T18:20:31Z
|
||||
// This list is auto-generated, don't edit it manually.
|
||||
// aaa : 2015-02-26 American Automobile Association, Inc.
|
||||
aaa
|
||||
@@ -7197,6 +7214,9 @@ alsace
|
||||
// alstom : 2015-07-30 ALSTOM
|
||||
alstom
|
||||
|
||||
// amazon : 2019-12-19 Amazon Registry Services, Inc.
|
||||
amazon
|
||||
|
||||
// americanexpress : 2015-07-31 American Express Travel Related Services Company, Inc.
|
||||
americanexpress
|
||||
|
||||
@@ -7296,7 +7316,7 @@ auto
|
||||
// autos : 2014-01-09 DERAutos, LLC
|
||||
autos
|
||||
|
||||
// avianca : 2015-01-08 Aerovias del Continente Americano S.A. Avianca
|
||||
// avianca : 2015-01-08 Avianca Holdings S.A.
|
||||
avianca
|
||||
|
||||
// aws : 2015-06-25 Amazon Registry Services, Inc.
|
||||
@@ -7374,7 +7394,7 @@ bcn
|
||||
// beats : 2015-05-14 Beats Electronics, LLC
|
||||
beats
|
||||
|
||||
// beauty : 2015-12-03 L'Oréal
|
||||
// beauty : 2015-12-03 XYZ.COM LLC
|
||||
beauty
|
||||
|
||||
// beer : 2014-01-09 Minds + Machines Group Limited
|
||||
@@ -7587,9 +7607,6 @@ careers
|
||||
// cars : 2014-11-13 Cars Registry Limited
|
||||
cars
|
||||
|
||||
// cartier : 2014-06-23 Richemont DNS Inc.
|
||||
cartier
|
||||
|
||||
// casa : 2013-11-21 Minds + Machines Group Limited
|
||||
casa
|
||||
|
||||
@@ -7668,9 +7685,6 @@ christmas
|
||||
// chrome : 2014-07-24 Charleston Road Registry Inc.
|
||||
chrome
|
||||
|
||||
// chrysler : 2015-07-30 FCA US LLC.
|
||||
chrysler
|
||||
|
||||
// church : 2014-02-06 Binky Moon, LLC
|
||||
church
|
||||
|
||||
@@ -7836,7 +7850,7 @@ cuisinella
|
||||
// cymru : 2014-05-08 Nominet UK
|
||||
cymru
|
||||
|
||||
// cyou : 2015-01-22 Beijing Gamease Age Digital Technology Co., Ltd.
|
||||
// cyou : 2015-01-22 ShortDot SA
|
||||
cyou
|
||||
|
||||
// dabur : 2014-02-06 Dabur India Limited
|
||||
@@ -7950,9 +7964,6 @@ docs
|
||||
// doctor : 2016-06-02 Binky Moon, LLC
|
||||
doctor
|
||||
|
||||
// dodge : 2015-07-30 FCA US LLC.
|
||||
dodge
|
||||
|
||||
// dog : 2014-12-04 Binky Moon, LLC
|
||||
dog
|
||||
|
||||
@@ -8058,9 +8069,6 @@ eus
|
||||
// events : 2013-12-05 Binky Moon, LLC
|
||||
events
|
||||
|
||||
// everbank : 2014-05-15 EverBank
|
||||
everbank
|
||||
|
||||
// exchange : 2014-03-06 Binky Moon, LLC
|
||||
exchange
|
||||
|
||||
@@ -8334,7 +8342,7 @@ gmail
|
||||
// gmbh : 2016-01-29 Binky Moon, LLC
|
||||
gmbh
|
||||
|
||||
// gmo : 2014-01-09 GMO Internet Pte. Ltd.
|
||||
// gmo : 2014-01-09 GMO Internet, Inc.
|
||||
gmo
|
||||
|
||||
// gmx : 2014-04-24 1&1 Mail & Media GmbH
|
||||
@@ -8409,7 +8417,7 @@ guitars
|
||||
// guru : 2013-08-27 Binky Moon, LLC
|
||||
guru
|
||||
|
||||
// hair : 2015-12-03 L'Oréal
|
||||
// hair : 2015-12-03 XYZ.COM LLC
|
||||
hair
|
||||
|
||||
// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
|
||||
@@ -8745,9 +8753,6 @@ kyoto
|
||||
// lacaixa : 2014-01-09 Fundación Bancaria Caixa d’Estalvis i Pensions de Barcelona, “la Caixa”
|
||||
lacaixa
|
||||
|
||||
// ladbrokes : 2015-08-06 LADBROKES INTERNATIONAL PLC
|
||||
ladbrokes
|
||||
|
||||
// lamborghini : 2015-06-04 Automobili Lamborghini S.p.A.
|
||||
lamborghini
|
||||
|
||||
@@ -8760,9 +8765,6 @@ lancaster
|
||||
// lancia : 2015-07-31 Fiat Chrysler Automobiles N.V.
|
||||
lancia
|
||||
|
||||
// lancome : 2015-07-23 L'Oréal
|
||||
lancome
|
||||
|
||||
// land : 2013-09-10 Binky Moon, LLC
|
||||
land
|
||||
|
||||
@@ -8814,9 +8816,6 @@ lexus
|
||||
// lgbt : 2014-05-08 Afilias Limited
|
||||
lgbt
|
||||
|
||||
// liaison : 2014-10-02 Liaison Technologies, Incorporated
|
||||
liaison
|
||||
|
||||
// lidl : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
|
||||
lidl
|
||||
|
||||
@@ -8937,7 +8936,7 @@ maif
|
||||
// maison : 2013-12-05 Binky Moon, LLC
|
||||
maison
|
||||
|
||||
// makeup : 2015-01-15 L'Oréal
|
||||
// makeup : 2015-01-15 XYZ.COM LLC
|
||||
makeup
|
||||
|
||||
// man : 2014-12-04 MAN SE
|
||||
@@ -9060,9 +9059,6 @@ money
|
||||
// monster : 2015-09-11 XYZ.COM LLC
|
||||
monster
|
||||
|
||||
// mopar : 2015-07-30 FCA US LLC.
|
||||
mopar
|
||||
|
||||
// mormon : 2013-12-05 IRI Domain Management, LLC ("Applicant")
|
||||
mormon
|
||||
|
||||
@@ -9084,9 +9080,6 @@ mov
|
||||
// movie : 2015-02-05 Binky Moon, LLC
|
||||
movie
|
||||
|
||||
// movistar : 2014-10-16 Telefónica S.A.
|
||||
movistar
|
||||
|
||||
// msd : 2015-07-23 MSD Registry Holdings, Inc.
|
||||
msd
|
||||
|
||||
@@ -9102,9 +9095,6 @@ mutual
|
||||
// nab : 2015-08-20 National Australia Bank Limited
|
||||
nab
|
||||
|
||||
// nadex : 2014-12-11 Nadex Domains, Inc.
|
||||
nadex
|
||||
|
||||
// nagoya : 2013-10-24 GMO Registry, Inc.
|
||||
nagoya
|
||||
|
||||
@@ -9345,9 +9335,6 @@ photos
|
||||
// physio : 2014-05-01 PhysBiz Pty Ltd
|
||||
physio
|
||||
|
||||
// piaget : 2014-10-16 Richemont DNS Inc.
|
||||
piaget
|
||||
|
||||
// pics : 2013-11-14 Uniregistry, Corp.
|
||||
pics
|
||||
|
||||
@@ -9459,7 +9446,7 @@ qpon
|
||||
// quebec : 2013-12-19 PointQuébec Inc
|
||||
quebec
|
||||
|
||||
// quest : 2015-03-26 Quest ION Limited
|
||||
// quest : 2015-03-26 XYZ.COM LLC
|
||||
quest
|
||||
|
||||
// qvc : 2015-07-30 QVC, Inc.
|
||||
@@ -9789,7 +9776,7 @@ site
|
||||
// ski : 2015-04-09 Afilias Limited
|
||||
ski
|
||||
|
||||
// skin : 2015-01-15 L'Oréal
|
||||
// skin : 2015-01-15 XYZ.COM LLC
|
||||
skin
|
||||
|
||||
// sky : 2014-06-19 Sky International AG
|
||||
@@ -9858,9 +9845,6 @@ spreadbetting
|
||||
// srl : 2015-05-07 InterNetX, Corp
|
||||
srl
|
||||
|
||||
// srt : 2015-07-30 FCA US LLC.
|
||||
srt
|
||||
|
||||
// stada : 2014-11-13 STADA Arzneimittel AG
|
||||
stada
|
||||
|
||||
@@ -9987,9 +9971,6 @@ tech
|
||||
// technology : 2013-09-13 Binky Moon, LLC
|
||||
technology
|
||||
|
||||
// telefonica : 2014-10-16 Telefónica S.A.
|
||||
telefonica
|
||||
|
||||
// temasek : 2014-08-07 Temasek Holdings (Private) Limited
|
||||
temasek
|
||||
|
||||
@@ -10083,7 +10064,7 @@ trading
|
||||
// training : 2013-11-07 Binky Moon, LLC
|
||||
training
|
||||
|
||||
// travel : Dog Beach, LLC
|
||||
// travel : 2015-10-09 Dog Beach, LLC
|
||||
travel
|
||||
|
||||
// travelchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
|
||||
@@ -10122,9 +10103,6 @@ ubank
|
||||
// ubs : 2014-12-11 UBS AG
|
||||
ubs
|
||||
|
||||
// uconnect : 2015-07-30 FCA US LLC.
|
||||
uconnect
|
||||
|
||||
// unicom : 2015-10-15 China United Network Communications Corporation Limited
|
||||
unicom
|
||||
|
||||
@@ -10194,9 +10172,6 @@ visa
|
||||
// vision : 2013-12-05 Binky Moon, LLC
|
||||
vision
|
||||
|
||||
// vistaprint : 2014-09-18 Vistaprint Limited
|
||||
vistaprint
|
||||
|
||||
// viva : 2014-11-07 Saudi Telecom Company
|
||||
viva
|
||||
|
||||
@@ -10245,9 +10220,6 @@ wang
|
||||
// wanggou : 2014-12-18 Amazon Registry Services, Inc.
|
||||
wanggou
|
||||
|
||||
// warman : 2015-06-18 Weir Group IP Limited
|
||||
warman
|
||||
|
||||
// watch : 2013-11-14 Binky Moon, LLC
|
||||
watch
|
||||
|
||||
@@ -10362,7 +10334,7 @@ xin
|
||||
// xn--3bst00m : 2013-09-13 Eagle Horizon Limited
|
||||
集团
|
||||
|
||||
// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED
|
||||
// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED OY
|
||||
在线
|
||||
|
||||
// xn--3oq18vl8pn36a : 2015-07-02 Volkswagen (China) Investment Co., Ltd.
|
||||
@@ -10377,7 +10349,7 @@ xin
|
||||
// xn--45q11c : 2013-11-21 Zodiac Gemini Ltd
|
||||
八卦
|
||||
|
||||
// xn--4gbrim : 2013-10-04 Suhub Electronic Establishment
|
||||
// xn--4gbrim : 2013-10-04 Fans TLD Limited
|
||||
موقع
|
||||
|
||||
// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center
|
||||
@@ -10437,10 +10409,13 @@ xin
|
||||
// xn--cck2b3b : 2015-02-26 Amazon Registry Services, Inc.
|
||||
ストア
|
||||
|
||||
// xn--cckwcxetd : 2019-12-19 Amazon Registry Services, Inc.
|
||||
アマゾン
|
||||
|
||||
// xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD
|
||||
삼성
|
||||
|
||||
// xn--czr694b : 2014-01-16 Dot Trademark TLD Holding Company Limited
|
||||
// xn--czr694b : 2014-01-16 Internet DotTrademark Organisation Limited
|
||||
商标
|
||||
|
||||
// xn--czrs0t : 2013-12-19 Binky Moon, LLC
|
||||
@@ -10458,16 +10433,13 @@ xin
|
||||
// xn--efvy88h : 2014-08-22 Guangzhou YU Wei Information Technology Co., Ltd.
|
||||
新闻
|
||||
|
||||
// xn--estv75g : 2015-02-19 Industrial and Commercial Bank of China Limited
|
||||
工行
|
||||
|
||||
// xn--fct429k : 2015-04-09 Amazon Registry Services, Inc.
|
||||
家電
|
||||
|
||||
// xn--fhbei : 2015-01-15 VeriSign Sarl
|
||||
كوم
|
||||
|
||||
// xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED
|
||||
// xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED OY
|
||||
中文网
|
||||
|
||||
// xn--fiq64b : 2013-10-14 CITIC Group Corporation
|
||||
@@ -10497,7 +10469,7 @@ xin
|
||||
// xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry
|
||||
संगठन
|
||||
|
||||
// xn--imr513n : 2014-12-11 Dot Trademark TLD Holding Company Limited
|
||||
// xn--imr513n : 2014-12-11 Internet DotTrademark Organisation Limited
|
||||
餐厅
|
||||
|
||||
// xn--io0a7i : 2013-11-14 China Internet Network Information Center (CNNIC)
|
||||
@@ -10506,6 +10478,9 @@ xin
|
||||
// xn--j1aef : 2015-01-15 VeriSign Sarl
|
||||
ком
|
||||
|
||||
// xn--jlq480n2rg : 2019-12-19 Amazon Registry Services, Inc.
|
||||
亚马逊
|
||||
|
||||
// xn--jlq61u9w7b : 2015-01-08 Nokia Corporation
|
||||
诺基亚
|
||||
|
||||
@@ -10566,7 +10541,7 @@ xin
|
||||
// xn--nyqy26a : 2014-11-07 Stable Tone Limited
|
||||
健康
|
||||
|
||||
// xn--otu796d : 2017-08-06 Dot Trademark TLD Holding Company Limited
|
||||
// xn--otu796d : 2017-08-06 Jiang Yu Liang Cai Technology Company Limited
|
||||
招聘
|
||||
|
||||
// xn--p1acf : 2013-12-12 Rusnames Limited
|
||||
@@ -10641,7 +10616,7 @@ yahoo
|
||||
// yamaxun : 2014-12-18 Amazon Registry Services, Inc.
|
||||
yamaxun
|
||||
|
||||
// yandex : 2014-04-10 YANDEX, LLC
|
||||
// yandex : 2014-04-10 Yandex Europe B.V.
|
||||
yandex
|
||||
|
||||
// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
|
||||
@@ -10691,6 +10666,12 @@ cc.ua
|
||||
inf.ua
|
||||
ltd.ua
|
||||
|
||||
// Adobe : https://www.adobe.com/
|
||||
// Submitted by Ian Boston <boston@adobe.com>
|
||||
adobeaemcloud.com
|
||||
adobeaemcloud.net
|
||||
*.dev.adobeaemcloud.com
|
||||
|
||||
// Agnat sp. z o.o. : https://domena.pl
|
||||
// Submitted by Przemyslaw Plewa <it-admin@domena.pl>
|
||||
beep.pl
|
||||
@@ -10808,6 +10789,10 @@ s3-website.eu-west-2.amazonaws.com
|
||||
s3-website.eu-west-3.amazonaws.com
|
||||
s3-website.us-east-2.amazonaws.com
|
||||
|
||||
// Amsterdam Wireless: https://www.amsterdamwireless.nl/
|
||||
// Submitted by Imre Jonk <hostmaster@amsterdamwireless.nl>
|
||||
amsw.nl
|
||||
|
||||
// Amune : https://amune.org/
|
||||
// Submitted by Team Amune <cert@amune.org>
|
||||
t3l3p0rt.net
|
||||
@@ -10842,12 +10827,6 @@ sweetpepper.org
|
||||
// Submitted by Vincent Tseng <vincenttseng@asustor.com>
|
||||
myasustor.com
|
||||
|
||||
// Automattic Inc. : https://automattic.com/
|
||||
// Submitted by Alex Concha <alex.concha@automattic.com>
|
||||
go-vip.co
|
||||
go-vip.net
|
||||
wpcomstaging.com
|
||||
|
||||
// AVM : https://avm.de
|
||||
// Submitted by Andreas Weise <a.weise@avm.de>
|
||||
myfritz.net
|
||||
@@ -10984,8 +10963,9 @@ certmgr.org
|
||||
xenapponazure.com
|
||||
|
||||
// Civilized Discourse Construction Kit, Inc. : https://www.discourse.org/
|
||||
// Submitted by Rishabh Nambiar <rishabh.nambiar@discourse.org>
|
||||
// Submitted by Rishabh Nambiar & Michael Brown <team@discourse.org>
|
||||
discourse.group
|
||||
discourse.team
|
||||
|
||||
// ClearVox : http://www.clearvox.nl/
|
||||
// Submitted by Leon Rowland <leon@clearvox.nl>
|
||||
@@ -11000,6 +10980,10 @@ cleverapps.io
|
||||
*.lcl.dev
|
||||
*.stg.dev
|
||||
|
||||
// Clic2000 : https://clic2000.fr
|
||||
// Submitted by Mathilde Blanchemanche <mathilde@clic2000.fr>
|
||||
clic2000.net
|
||||
|
||||
// Cloud66 : https://www.cloud66.com/
|
||||
// Submitted by Khash Sajadi <khash@cloud66.com>
|
||||
c66.me
|
||||
@@ -11082,6 +11066,15 @@ co.no
|
||||
webhosting.be
|
||||
hosting-cluster.nl
|
||||
|
||||
// Coordination Center for TLD RU and XN--P1AI : https://cctld.ru/en/domains/domens_ru/reserved/
|
||||
// Submitted by George Georgievsky <gug@cctld.ru>
|
||||
ac.ru
|
||||
edu.ru
|
||||
gov.ru
|
||||
int.ru
|
||||
mil.ru
|
||||
test.ru
|
||||
|
||||
// COSIMO GmbH : http://www.cosimo.de
|
||||
// Submitted by Rene Marticke <rmarticke@cosimo.de>
|
||||
dyn.cosidns.de
|
||||
@@ -11106,6 +11099,18 @@ realm.cz
|
||||
// Submitted by Jonathan Rudenberg <jonathan@cupcake.io>
|
||||
cupcake.is
|
||||
|
||||
// Curv UG : https://curv-labs.de/
|
||||
// Submitted by Marvin Wiesner <Marvin@curv-labs.de>
|
||||
curv.dev
|
||||
|
||||
// Customer OCI - Oracle Dyn https://cloud.oracle.com/home https://dyn.com/dns/
|
||||
// Submitted by Gregory Drake <support@dyn.com>
|
||||
// Note: This is intended to also include customer-oci.com due to wildcards implicitly including the current label
|
||||
*.customer-oci.com
|
||||
*.oci.customer-oci.com
|
||||
*.ocp.customer-oci.com
|
||||
*.ocs.customer-oci.com
|
||||
|
||||
// cyon GmbH : https://www.cyon.ch/
|
||||
// Submitted by Dominic Luechinger <dol@cyon.ch>
|
||||
cyon.link
|
||||
@@ -11133,11 +11138,23 @@ firm.dk
|
||||
reg.dk
|
||||
store.dk
|
||||
|
||||
// dappnode.io : https://dappnode.io/
|
||||
// Submitted by Abel Boldu / DAppNode Team <community@dappnode.io>
|
||||
dyndns.dappnode.io
|
||||
|
||||
// dapps.earth : https://dapps.earth/
|
||||
// Submitted by Daniil Burdakov <icqkill@gmail.com>
|
||||
*.dapps.earth
|
||||
*.bzz.dapps.earth
|
||||
|
||||
// Dark, Inc. : https://darklang.com
|
||||
// Submitted by Paul Biggar <ops@darklang.com>
|
||||
builtwithdark.com
|
||||
|
||||
// Datawire, Inc : https://www.datawire.io
|
||||
// Submitted by Richard Li <secalert@datawire.io>
|
||||
edgestack.me
|
||||
|
||||
// Debian : https://www.debian.org/
|
||||
// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
|
||||
debian.net
|
||||
@@ -11511,6 +11528,10 @@ dynv6.net
|
||||
// Submitted by Vladimir Dudr <info@e4you.cz>
|
||||
e4.cz
|
||||
|
||||
// En root‽ : https://en-root.org
|
||||
// Submitted by Emmanuel Raviart <emmanuel@raviart.com>
|
||||
en-root.fr
|
||||
|
||||
// Enalean SAS: https://www.enalean.com
|
||||
// Submitted by Thomas Cottier <thomas.cottier@enalean.com>
|
||||
mytuleap.com
|
||||
@@ -11603,6 +11624,10 @@ twmail.org
|
||||
mymailer.com.tw
|
||||
url.tw
|
||||
|
||||
// Fabrica Technologies, Inc. : https://www.fabrica.dev/
|
||||
// Submitted by Eric Jiang <eric@fabrica.dev>
|
||||
onfabrica.com
|
||||
|
||||
// Facebook, Inc.
|
||||
// Submitted by Peter Ruibal <public-suffix@fb.com>
|
||||
apps.fbsbx.com
|
||||
@@ -11686,6 +11711,7 @@ vologda.su
|
||||
// Fancy Bits, LLC : http://getchannels.com
|
||||
// Submitted by Aman Gupta <aman@getchannels.com>
|
||||
channelsdvr.net
|
||||
u.channelsdvr.net
|
||||
|
||||
// Fastly Inc. : http://www.fastly.com/
|
||||
// Submitted by Fastly Security <security@fastly.com>
|
||||
@@ -11704,6 +11730,10 @@ global.ssl.fastly.net
|
||||
// Submitted by Likhachev Vasiliy <lihachev@fastvps.ru>
|
||||
fastpanel.direct
|
||||
fastvps-server.com
|
||||
myfast.space
|
||||
myfast.host
|
||||
fastvps.site
|
||||
fastvps.host
|
||||
|
||||
// Featherhead : https://featherhead.xyz/
|
||||
// Submitted by Simon Menke <simon@featherhead.xyz>
|
||||
@@ -11717,6 +11747,13 @@ cloud.fedoraproject.org
|
||||
app.os.fedoraproject.org
|
||||
app.os.stg.fedoraproject.org
|
||||
|
||||
// FearWorks Media Ltd. : https://fearworksmedia.co.uk
|
||||
// submitted by Keith Fairley <domains@fearworksmedia.co.uk>
|
||||
conn.uk
|
||||
copro.uk
|
||||
couk.me
|
||||
ukco.me
|
||||
|
||||
// Fermax : https://fermax.com/
|
||||
// submitted by Koen Van Isterdael <k.vanisterdael@fermax.be>
|
||||
mydobiss.com
|
||||
@@ -11737,9 +11774,12 @@ firebaseapp.com
|
||||
|
||||
// Flynn : https://flynn.io
|
||||
// Submitted by Jonathan Rudenberg <jonathan@flynn.io>
|
||||
flynnhub.com
|
||||
flynnhosting.net
|
||||
|
||||
// Frederik Braun https://frederik-braun.com
|
||||
// Submitted by Frederik Braun <fb@frederik-braun.com>
|
||||
0e.vc
|
||||
|
||||
// Freebox : http://www.freebox.fr
|
||||
// Submitted by Romain Fliedel <rfliedel@freebox.fr>
|
||||
freebox-os.com
|
||||
@@ -11773,8 +11813,9 @@ service.gov.uk
|
||||
gehirn.ne.jp
|
||||
usercontent.jp
|
||||
|
||||
// Gentlent, Limited : https://www.gentlent.com
|
||||
// Submitted by Tom Klein <tklein@gentlent.com>
|
||||
// Gentlent, Inc. : https://www.gentlent.com
|
||||
// Submitted by Tom Klein <tom@gentlent.com>
|
||||
gentapps.com
|
||||
lab.ms
|
||||
|
||||
// GitHub, Inc.
|
||||
@@ -11819,6 +11860,7 @@ a.run.app
|
||||
web.app
|
||||
*.0emm.com
|
||||
appspot.com
|
||||
*.r.appspot.com
|
||||
blogspot.ae
|
||||
blogspot.al
|
||||
blogspot.am
|
||||
@@ -11903,6 +11945,14 @@ publishproxy.com
|
||||
withgoogle.com
|
||||
withyoutube.com
|
||||
|
||||
// Aaron Marais' Gitlab pages: https://lab.aaronleem.co.za
|
||||
// Submitted by Aaron Marais <its_me@aaronleem.co.za>
|
||||
graphox.us
|
||||
|
||||
// Group 53, LLC : https://www.group53.com
|
||||
// Submitted by Tyler Todd <noc@nova53.net>
|
||||
awsmppl.com
|
||||
|
||||
// Hakaran group: http://hakaran.cz
|
||||
// Submited by Arseniy Sokolov <security@hakaran.cz>
|
||||
fin.ci
|
||||
@@ -11952,6 +12002,7 @@ col.ng
|
||||
firm.ng
|
||||
gen.ng
|
||||
ltd.ng
|
||||
ngo.ng
|
||||
ng.school
|
||||
sch.so
|
||||
|
||||
@@ -12028,8 +12079,9 @@ pixolino.com
|
||||
ipifony.net
|
||||
|
||||
// IServ GmbH : https://iserv.eu
|
||||
// Submitted by Kim-Alexander Brodowski <kim.brodowski@iserv.eu>
|
||||
// Submitted by Kim-Alexander Brodowski <info@iserv.eu>
|
||||
mein-iserv.de
|
||||
schulserver.de
|
||||
test-iserv.de
|
||||
iserv.dev
|
||||
|
||||
@@ -12072,6 +12124,10 @@ uni5.net
|
||||
// Submitted by Roy Keene <rkeene@knightpoint.com>
|
||||
knightpoint.systems
|
||||
|
||||
// KUROKU LTD : https://kuroku.ltd/
|
||||
// Submitted by DisposaBoy <security@oya.to>
|
||||
oya.to
|
||||
|
||||
// .KRD : http://nic.krd/data/krd/Registration%20Policy.pdf
|
||||
co.krd
|
||||
edu.krd
|
||||
@@ -12211,8 +12267,8 @@ eu.meteorapp.com
|
||||
co.pl
|
||||
|
||||
// Microsoft Corporation : http://microsoft.com
|
||||
// Submitted by Justin Luk <juluk@microsoft.com>
|
||||
azurecontainer.io
|
||||
// Submitted by Mostafa Elzeiny <moelzein@microsoft.com>
|
||||
*.azurecontainer.io
|
||||
azurewebsites.net
|
||||
azure-mobile.net
|
||||
cloudapp.net
|
||||
@@ -12258,6 +12314,7 @@ nctu.me
|
||||
// Netlify : https://www.netlify.com
|
||||
// Submitted by Jessica Parsons <jessica@netlify.com>
|
||||
bitballoon.com
|
||||
netlify.app
|
||||
netlify.com
|
||||
|
||||
// Neustar Inc.
|
||||
@@ -12415,12 +12472,13 @@ pcloud.host
|
||||
nyc.mn
|
||||
|
||||
// NymNom : https://nymnom.com/
|
||||
// Submitted by Dave McCormack <dave.mccormack@nymnom.com>
|
||||
// Submitted by NymNom <psl@nymnom.com>
|
||||
nom.ae
|
||||
nom.af
|
||||
nom.ai
|
||||
nom.al
|
||||
nym.by
|
||||
nom.bz
|
||||
nym.bz
|
||||
nom.cl
|
||||
nym.ec
|
||||
@@ -12442,6 +12500,7 @@ nom.li
|
||||
nym.li
|
||||
nym.lt
|
||||
nym.lu
|
||||
nom.lv
|
||||
nym.me
|
||||
nom.mk
|
||||
nym.mn
|
||||
@@ -12466,6 +12525,10 @@ nom.uy
|
||||
nom.vc
|
||||
nom.vg
|
||||
|
||||
// Observable, Inc. : https://observablehq.com
|
||||
// Submitted by Mike Bostock <dns@observablehq.com>
|
||||
static.observableusercontent.com
|
||||
|
||||
// Octopodal Solutions, LLC. : https://ulterius.io/
|
||||
// Submitted by Andrew Sampson <andrew@ulterius.io>
|
||||
cya.gg
|
||||
@@ -12486,6 +12549,10 @@ opencraft.hosting
|
||||
// Submitted by Yngve Pettersen <yngve@opera.com>
|
||||
operaunite.com
|
||||
|
||||
// Oursky Limited : https://skygear.io/
|
||||
// Submited by Skygear Developer <hello@skygear.io>
|
||||
skygearapp.com
|
||||
|
||||
// OutSystems
|
||||
// Submitted by Duarte Santos <domain-admin@outsystemscloud.com>
|
||||
outsystemscloud.com
|
||||
@@ -12528,6 +12595,10 @@ gotpantheon.com
|
||||
// Submitted by Steve Leung <steveleung@peplink.com>
|
||||
mypep.link
|
||||
|
||||
// Perspecta : https://perspecta.com/
|
||||
// Submitted by Kenneth Van Alstyne <kvanalstyne@perspecta.com>
|
||||
perspecta.cloud
|
||||
|
||||
// Planet-Work : https://www.planet-work.com/
|
||||
// Submitted by Frédéric VANNIÈRE <f.vanniere@planet-work.com>
|
||||
on-web.fr
|
||||
@@ -12537,6 +12608,12 @@ on-web.fr
|
||||
*.platform.sh
|
||||
*.platformsh.site
|
||||
|
||||
// Platter: https://platter.dev
|
||||
// Submitted by Patrick Flor <patrick@platter.dev>
|
||||
platter-app.com
|
||||
platter-app.dev
|
||||
platterp.us
|
||||
|
||||
// Port53 : https://port53.io/
|
||||
// Submitted by Maximilian Schieder <maxi@zeug.co>
|
||||
dyn53.io
|
||||
@@ -12578,6 +12655,10 @@ pubtls.org
|
||||
// Submitted by Xavier De Cock <xdecock@gmail.com>
|
||||
qualifioapp.com
|
||||
|
||||
// QuickBackend: https://www.quickbackend.com
|
||||
// Submitted by Dani Biro <dani@pymet.com>
|
||||
qbuser.com
|
||||
|
||||
// Redstar Consultants : https://www.redstarconsultants.com/
|
||||
// Submitted by Jons Slemmer <jons@redstarconsultants.com>
|
||||
instantcloud.cn
|
||||
@@ -12590,6 +12671,11 @@ ras.ru
|
||||
// Submitted by Daniel Dent (https://www.danieldent.com/)
|
||||
qa2.com
|
||||
|
||||
// QCX
|
||||
// Submitted by Cassandra Beelen <cassandra@beelen.one>
|
||||
qcx.io
|
||||
*.sys.qcx.io
|
||||
|
||||
// QNAP System Inc : https://www.qnap.com
|
||||
// Submitted by Nick Chang <nickchang@qnap.com>
|
||||
dev-myqnapcloud.com
|
||||
@@ -12612,6 +12698,7 @@ rackmaze.net
|
||||
|
||||
// Rancher Labs, Inc : https://rancher.com
|
||||
// Submitted by Vincent Fiduccia <domains@rancher.com>
|
||||
*.on-k3s.io
|
||||
*.on-rancher.cloud
|
||||
*.on-rio.io
|
||||
|
||||
@@ -12665,6 +12752,10 @@ logoip.com
|
||||
// Submitted by Hanno Böck <hanno@schokokeks.org>
|
||||
schokokeks.net
|
||||
|
||||
// Scottish Government: https://www.gov.scot
|
||||
// Submitted by Martin Ellis <martin.ellis@gov.scot>
|
||||
gov.scot
|
||||
|
||||
// Scry Security : http://www.scrysec.com
|
||||
// Submitted by Shante Adam <shante@skyhat.io>
|
||||
scrysec.com
|
||||
@@ -12682,6 +12773,10 @@ my-firewall.org
|
||||
myfirewall.org
|
||||
spdns.org
|
||||
|
||||
// Senseering GmbH : https://www.senseering.de
|
||||
// Submitted by Felix Mönckemeyer <f.moenckemeyer@senseering.de>
|
||||
senseering.net
|
||||
|
||||
// Service Online LLC : http://drs.ua/
|
||||
// Submitted by Serhii Bulakh <support@drs.ua>
|
||||
biz.ua
|
||||
@@ -12700,6 +12795,10 @@ myshopblocks.com
|
||||
// Submitted by Craig McMahon <craig@shopitcommerce.com>
|
||||
shopitsite.com
|
||||
|
||||
// shopware AG : https://shopware.com
|
||||
// Submitted by Jens Küper <cloud@shopware.com>
|
||||
shopware.store
|
||||
|
||||
// Siemens Mobility GmbH
|
||||
// Submitted by Oliver Graebner <security@mo-siemens.io>
|
||||
mo-siemens.io
|
||||
@@ -12732,6 +12831,10 @@ static.land
|
||||
dev.static.land
|
||||
sites.static.land
|
||||
|
||||
// Sony Interactive Entertainment LLC : https://sie.com/
|
||||
// Submitted by David Coles <david.coles@sony.com>
|
||||
playstation-cloud.com
|
||||
|
||||
// SourceLair PC : https://www.sourcelair.com
|
||||
// Submitted by Antonis Kalipetis <akalipetis@sourcelair.com>
|
||||
apps.lair.io
|
||||
@@ -12906,6 +13009,11 @@ inc.hk
|
||||
virtualuser.de
|
||||
virtual-user.de
|
||||
|
||||
// urown.net : https://urown.net
|
||||
// Submitted by Hostmaster <hostmaster@urown.net>
|
||||
urown.cloud
|
||||
dnsupdate.info
|
||||
|
||||
// .US
|
||||
// Submitted by Ed Moore <Ed.Moore@lib.de.us>
|
||||
lib.de.us
|
||||
@@ -12926,6 +13034,10 @@ v-info.info
|
||||
// Submitted by Nathan van Bakel <info@voorloper.com>
|
||||
voorloper.cloud
|
||||
|
||||
// V.UA Domain Administrator : https://domain.v.ua/
|
||||
// Submitted by Serhii Rostilo <sergey@rostilo.kiev.ua>
|
||||
v.ua
|
||||
|
||||
// Waffle Computer Inc., Ltd. : https://docs.waffleinfo.com
|
||||
// Submitted by Masayuki Note <masa@blade.wafflecell.com>
|
||||
wafflecell.com
|
||||
@@ -12945,8 +13057,23 @@ wedeploy.sh
|
||||
remotewd.com
|
||||
|
||||
// Wikimedia Labs : https://wikitech.wikimedia.org
|
||||
// Submitted by Yuvi Panda <yuvipanda@wikimedia.org>
|
||||
// Submitted by Arturo Borrero Gonzalez <aborrero@wikimedia.org>
|
||||
wmflabs.org
|
||||
toolforge.org
|
||||
wmcloud.org
|
||||
|
||||
// WISP : https://wisp.gg
|
||||
// Submitted by Stepan Fedotov <stepan@wisp.gg>
|
||||
panel.gg
|
||||
daemon.panel.gg
|
||||
|
||||
// WoltLab GmbH : https://www.woltlab.com
|
||||
// Submitted by Tim Düsterhus <security@woltlab.cloud>
|
||||
myforum.community
|
||||
community-pro.de
|
||||
diskussionsbereich.de
|
||||
community-pro.net
|
||||
meinforum.net
|
||||
|
||||
// XenonCloud GbR: https://xenoncloud.net
|
||||
// Submitted by Julian Uphoff <publicsuffixlist@xenoncloud.net>
|
||||
@@ -13010,7 +13137,10 @@ bss.design
|
||||
// Submitted by Emil Stahl <esp@zitcom.dk>
|
||||
basicserver.io
|
||||
virtualserver.io
|
||||
site.builder.nu
|
||||
enterprisecloud.nu
|
||||
|
||||
// Mintere : https://mintere.com/
|
||||
// Submitted by Ben Aubin <security@mintere.com>
|
||||
mintere.site
|
||||
|
||||
// ===END PRIVATE DOMAINS===
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2020, 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
|
||||
@@ -632,10 +632,37 @@ class name java/security/cert/X509CRL
|
||||
class name java/security/cert/X509Certificate
|
||||
-method name verify descriptor (Ljava/security/PublicKey;Ljava/security/Provider;)V
|
||||
|
||||
class name java/security/interfaces/RSAKey
|
||||
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
|
||||
|
||||
-class name java/security/spec/DSAGenParameterSpec
|
||||
|
||||
class name java/security/spec/MGF1ParameterSpec
|
||||
-field name SHA224 descriptor Ljava/security/spec/MGF1ParameterSpec;
|
||||
-field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec;
|
||||
-field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec;
|
||||
|
||||
class name java/security/spec/PSSParameterSpec
|
||||
-field name TRAILER_FIELD_BC descriptor I
|
||||
-method name toString descriptor ()Ljava/lang/String;
|
||||
|
||||
class name java/security/spec/RSAKeyGenParameterSpec
|
||||
-method name <init> descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
-method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
|
||||
|
||||
class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec
|
||||
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
|
||||
class name java/security/spec/RSAPrivateCrtKeySpec
|
||||
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
|
||||
class name java/security/spec/RSAPrivateKeySpec
|
||||
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
|
||||
|
||||
class name java/security/spec/RSAPublicKeySpec
|
||||
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
|
||||
|
||||
class name java/text/Collator
|
||||
-method name getInstance descriptor (Ljava/util/Locale;)Ljava/text/Collator;
|
||||
@@ -1457,6 +1484,14 @@ method name newUpdater descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/
|
||||
|
||||
-class name java/util/function/UnaryOperator
|
||||
|
||||
class name java/util/jar/Attributes$Name
|
||||
-field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name;
|
||||
-field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name;
|
||||
-field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name;
|
||||
field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
|
||||
class name java/util/jar/JarFile
|
||||
-method name stream descriptor ()Ljava/util/stream/Stream;
|
||||
|
||||
@@ -1535,6 +1570,9 @@ class name java/util/zip/ZipEntry
|
||||
class name java/util/zip/ZipFile
|
||||
-method name stream descriptor ()Ljava/util/stream/Stream;
|
||||
|
||||
class name javax/crypto/SealedObject
|
||||
header extends java/lang/Object implements java/io/Serializable flags 21
|
||||
|
||||
class name javax/crypto/SecretKey
|
||||
header extends java/lang/Object implements java/security/Key flags 601
|
||||
|
||||
@@ -1559,6 +1597,12 @@ class name javax/net/ssl/ExtendedSSLSession
|
||||
|
||||
-class name javax/net/ssl/SNIServerName
|
||||
|
||||
class name javax/net/ssl/SSLEngine
|
||||
-method name getApplicationProtocol descriptor ()Ljava/lang/String;
|
||||
-method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String;
|
||||
-method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V
|
||||
-method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction;
|
||||
|
||||
class name javax/net/ssl/SSLParameters
|
||||
-method name setServerNames descriptor (Ljava/util/List;)V
|
||||
-method name getServerNames descriptor ()Ljava/util/List;
|
||||
@@ -1566,6 +1610,14 @@ class name javax/net/ssl/SSLParameters
|
||||
-method name getSNIMatchers descriptor ()Ljava/util/Collection;
|
||||
-method name setUseCipherSuitesOrder descriptor (Z)V
|
||||
-method name getUseCipherSuitesOrder descriptor ()Z
|
||||
-method name getApplicationProtocols descriptor ()[Ljava/lang/String;
|
||||
-method name setApplicationProtocols descriptor ([Ljava/lang/String;)V
|
||||
|
||||
class name javax/net/ssl/SSLSocket
|
||||
-method name getApplicationProtocol descriptor ()Ljava/lang/String;
|
||||
-method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String;
|
||||
-method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V
|
||||
-method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction;
|
||||
|
||||
class name javax/net/ssl/SSLSocketFactory
|
||||
-method name createSocket descriptor (Ljava/net/Socket;Ljava/io/InputStream;Z)Ljava/net/Socket;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2020, 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
|
||||
@@ -8200,6 +8200,7 @@ method name getW descriptor ()Ljava/security/spec/ECPoint; flags 401
|
||||
class name java/security/interfaces/RSAKey
|
||||
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
method name getModulus descriptor ()Ljava/math/BigInteger; flags 401
|
||||
method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
|
||||
|
||||
class name java/security/interfaces/RSAMultiPrimePrivateCrtKey
|
||||
header extends java/lang/Object implements java/security/interfaces/RSAPrivateKey flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
@@ -8363,6 +8364,8 @@ field name SHA224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
|
||||
field name SHA256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
|
||||
field name SHA384 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
|
||||
field name SHA512 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
|
||||
field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
|
||||
field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
|
||||
method name <init> descriptor (Ljava/lang/String;)V flags 1
|
||||
method name getDigestAlgorithm descriptor ()Ljava/lang/String; flags 1
|
||||
|
||||
@@ -8375,6 +8378,7 @@ method name getFormat descriptor ()Ljava/lang/String; flags 11
|
||||
class name java/security/spec/PSSParameterSpec
|
||||
header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
field name DEFAULT descriptor Ljava/security/spec/PSSParameterSpec; flags 19
|
||||
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
|
||||
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V flags 1
|
||||
method name <init> descriptor (I)V flags 1
|
||||
method name getDigestAlgorithm descriptor ()Ljava/lang/String; flags 1
|
||||
@@ -8382,6 +8386,7 @@ method name getMGFAlgorithm descriptor ()Ljava/lang/String; flags 1
|
||||
method name getMGFParameters descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
|
||||
method name getSaltLength descriptor ()I flags 1
|
||||
method name getTrailerField descriptor ()I flags 1
|
||||
method name toString descriptor ()Ljava/lang/String; flags 1
|
||||
|
||||
class name java/security/spec/RSAKeyGenParameterSpec
|
||||
header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
@@ -8390,6 +8395,8 @@ field name F4 descriptor Ljava/math/BigInteger; flags 19
|
||||
method name <init> descriptor (ILjava/math/BigInteger;)V flags 1
|
||||
method name getKeysize descriptor ()I flags 1
|
||||
method name getPublicExponent descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name <init> descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
|
||||
method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
|
||||
|
||||
class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec
|
||||
header extends java/security/spec/RSAPrivateKeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
@@ -8401,6 +8408,7 @@ method name getPrimeExponentP descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name getPrimeExponentQ descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name getCrtCoefficient descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name getOtherPrimeInfo descriptor ()[Ljava/security/spec/RSAOtherPrimeInfo; flags 1
|
||||
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
|
||||
|
||||
class name java/security/spec/RSAOtherPrimeInfo
|
||||
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
@@ -8418,18 +8426,23 @@ method name getPrimeQ descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name getPrimeExponentP descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name getPrimeExponentQ descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name getCrtCoefficient descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
|
||||
|
||||
class name java/security/spec/RSAPrivateKeySpec
|
||||
header extends java/lang/Object implements java/security/spec/KeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;)V flags 1
|
||||
method name getModulus descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name getPrivateExponent descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
|
||||
method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
|
||||
|
||||
class name java/security/spec/RSAPublicKeySpec
|
||||
header extends java/lang/Object implements java/security/spec/KeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;)V flags 1
|
||||
method name getModulus descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name getPublicExponent descriptor ()Ljava/math/BigInteger; flags 1
|
||||
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
|
||||
method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
|
||||
|
||||
class name java/security/spec/X509EncodedKeySpec
|
||||
header extends java/security/spec/EncodedKeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
@@ -10429,6 +10442,7 @@ method name values descriptor ()[Ljava/time/chrono/JapaneseEra; flags 9
|
||||
method name getValue descriptor ()I flags 1
|
||||
method name range descriptor (Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange; flags 1
|
||||
method name toString descriptor ()Ljava/lang/String; flags 1
|
||||
method name getDisplayName descriptor (Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String; flags 1
|
||||
|
||||
class name java/time/chrono/MinguoChronology
|
||||
header extends java/time/chrono/AbstractChronology implements java/io/Serializable flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
@@ -15563,15 +15577,15 @@ field name MAIN_CLASS descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name SEALED descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name EXTENSION_LIST descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name EXTENSION_NAME descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name IMPLEMENTATION_TITLE descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name IMPLEMENTATION_VERSION descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name IMPLEMENTATION_VENDOR descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name SPECIFICATION_TITLE descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name SPECIFICATION_VERSION descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name SPECIFICATION_VENDOR descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
|
||||
field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
|
||||
field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
|
||||
method name <init> descriptor (Ljava/lang/String;)V flags 1
|
||||
method name equals descriptor (Ljava/lang/Object;)Z flags 1
|
||||
method name hashCode descriptor ()I flags 1
|
||||
@@ -16698,6 +16712,7 @@ method name <init> descriptor ()V flags 1
|
||||
|
||||
class name javax/crypto/SealedObject
|
||||
header extends java/lang/Object implements java/io/Serializable flags 21
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
field name encodedParams descriptor [B flags 4
|
||||
method name <init> descriptor (Ljava/io/Serializable;Ljavax/crypto/Cipher;)V thrownTypes java/io/IOException,javax/crypto/IllegalBlockSizeException flags 1
|
||||
method name <init> descriptor (Ljavax/crypto/SealedObject;)V flags 4
|
||||
@@ -17086,6 +17101,10 @@ method name setEnableSessionCreation descriptor (Z)V flags 401
|
||||
method name getEnableSessionCreation descriptor ()Z flags 401
|
||||
method name getSSLParameters descriptor ()Ljavax/net/ssl/SSLParameters; flags 1
|
||||
method name setSSLParameters descriptor (Ljavax/net/ssl/SSLParameters;)V flags 1
|
||||
method name getApplicationProtocol descriptor ()Ljava/lang/String; flags 1
|
||||
method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String; flags 1
|
||||
method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V flags 1 signature (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
|
||||
method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction; flags 1 signature ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
|
||||
|
||||
class name javax/net/ssl/SSLEngineResult
|
||||
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
@@ -17156,6 +17175,8 @@ method name setSNIMatchers descriptor (Ljava/util/Collection;)V flags 11 signatu
|
||||
method name getSNIMatchers descriptor ()Ljava/util/Collection; flags 11 signature ()Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>;
|
||||
method name setUseCipherSuitesOrder descriptor (Z)V flags 11
|
||||
method name getUseCipherSuitesOrder descriptor ()Z flags 11
|
||||
method name getApplicationProtocols descriptor ()[Ljava/lang/String; flags 1
|
||||
method name setApplicationProtocols descriptor ([Ljava/lang/String;)V flags 1
|
||||
|
||||
class name javax/net/ssl/SSLPeerUnverifiedException
|
||||
header extends javax/net/ssl/SSLException flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
@@ -17272,6 +17293,10 @@ method name setEnableSessionCreation descriptor (Z)V flags 401
|
||||
method name getEnableSessionCreation descriptor ()Z flags 401
|
||||
method name getSSLParameters descriptor ()Ljavax/net/ssl/SSLParameters; flags 1
|
||||
method name setSSLParameters descriptor (Ljavax/net/ssl/SSLParameters;)V flags 1
|
||||
method name getApplicationProtocol descriptor ()Ljava/lang/String; flags 1
|
||||
method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String; flags 1
|
||||
method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V flags 1 signature (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
|
||||
method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction; flags 1 signature ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
|
||||
|
||||
class name javax/net/ssl/SSLSocketFactory
|
||||
header extends javax/net/SocketFactory flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2020, 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
|
||||
@@ -2083,13 +2083,42 @@ method name equals descriptor (Ljava/lang/Object;)Z flags 1
|
||||
method name toString descriptor ()Ljava/lang/String; flags 1
|
||||
method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 1041
|
||||
|
||||
class name java/security/interfaces/RSAKey
|
||||
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
|
||||
|
||||
class name java/security/spec/EncodedKeySpec
|
||||
method name <init> descriptor ([BLjava/lang/String;)V flags 4
|
||||
method name getAlgorithm descriptor ()Ljava/lang/String; flags 1
|
||||
|
||||
class name java/security/spec/MGF1ParameterSpec
|
||||
-field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec;
|
||||
-field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec;
|
||||
|
||||
class name java/security/spec/PKCS8EncodedKeySpec
|
||||
method name <init> descriptor ([BLjava/lang/String;)V flags 1
|
||||
|
||||
class name java/security/spec/PSSParameterSpec
|
||||
-field name TRAILER_FIELD_BC descriptor I
|
||||
-method name toString descriptor ()Ljava/lang/String;
|
||||
|
||||
class name java/security/spec/RSAKeyGenParameterSpec
|
||||
-method name <init> descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
-method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
|
||||
|
||||
class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec
|
||||
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
|
||||
class name java/security/spec/RSAPrivateCrtKeySpec
|
||||
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
|
||||
class name java/security/spec/RSAPrivateKeySpec
|
||||
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
|
||||
|
||||
class name java/security/spec/RSAPublicKeySpec
|
||||
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
|
||||
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
|
||||
|
||||
class name java/security/spec/X509EncodedKeySpec
|
||||
method name <init> descriptor ([BLjava/lang/String;)V flags 1
|
||||
|
||||
@@ -2224,9 +2253,6 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang
|
||||
class name java/time/chrono/IsoChronology
|
||||
method name epochSecond descriptor (IIIIIILjava/time/ZoneOffset;)J flags 1
|
||||
|
||||
class name java/time/chrono/JapaneseEra
|
||||
method name getDisplayName descriptor (Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String; flags 1
|
||||
|
||||
class name java/time/format/DateTimeFormatter
|
||||
header extends java/lang/Object flags 31
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
@@ -3221,12 +3247,6 @@ header extends java/lang/Object implements java/util/function/Function flags 601
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
|
||||
class name java/util/jar/Attributes$Name
|
||||
-field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name;
|
||||
-field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name;
|
||||
-field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name;
|
||||
field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
|
||||
field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
|
||||
field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
|
||||
field name MULTI_RELEASE descriptor Ljava/util/jar/Attributes$Name; flags 19
|
||||
|
||||
class name java/util/jar/JarFile
|
||||
@@ -3381,6 +3401,9 @@ method name finalize descriptor ()V thrownTypes java/io/IOException flags 4 depr
|
||||
class name javax/crypto/ExemptionMechanism
|
||||
-method name finalize descriptor ()V
|
||||
|
||||
class name javax/crypto/SealedObject
|
||||
header extends java/lang/Object implements java/io/Serializable flags 21
|
||||
|
||||
class name javax/net/ssl/ExtendedSSLSession
|
||||
method name getStatusResponses descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<[B>;
|
||||
|
||||
@@ -3388,12 +3411,6 @@ class name javax/net/ssl/HandshakeCompletedEvent
|
||||
-method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate;
|
||||
method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate; thrownTypes javax/net/ssl/SSLPeerUnverifiedException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
|
||||
|
||||
class name javax/net/ssl/SSLEngine
|
||||
method name getApplicationProtocol descriptor ()Ljava/lang/String; flags 1
|
||||
method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String; flags 1
|
||||
method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V flags 1 signature (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
|
||||
method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction; flags 1 signature ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
|
||||
|
||||
class name javax/net/ssl/SSLEngineResult
|
||||
header extends java/lang/Object flags 21
|
||||
innerclass innerClass javax/net/ssl/SSLEngineResult$HandshakeStatus outerClass javax/net/ssl/SSLEngineResult innerClassName HandshakeStatus flags 4019
|
||||
@@ -3409,19 +3426,11 @@ method name setEnableRetransmissions descriptor (Z)V flags 1
|
||||
method name getEnableRetransmissions descriptor ()Z flags 1
|
||||
method name setMaximumPacketSize descriptor (I)V flags 1
|
||||
method name getMaximumPacketSize descriptor ()I flags 1
|
||||
method name getApplicationProtocols descriptor ()[Ljava/lang/String; flags 1
|
||||
method name setApplicationProtocols descriptor ([Ljava/lang/String;)V flags 1
|
||||
|
||||
class name javax/net/ssl/SSLSession
|
||||
-method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate;
|
||||
method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate; thrownTypes javax/net/ssl/SSLPeerUnverifiedException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
|
||||
|
||||
class name javax/net/ssl/SSLSocket
|
||||
method name getApplicationProtocol descriptor ()Ljava/lang/String; flags 1
|
||||
method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String; flags 1
|
||||
method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V flags 1 signature (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
|
||||
method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction; flags 1 signature ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
|
||||
|
||||
class name javax/security/auth/Policy
|
||||
header extends java/lang/Object flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.4")
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2020, 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
|
||||
@@ -77,6 +77,9 @@ class name javax/swing/ImageIcon
|
||||
field name component descriptor Ljava/awt/Component; flags 1c
|
||||
field name tracker descriptor Ljava/awt/MediaTracker; flags 1c
|
||||
|
||||
class name javax/swing/JComboBox
|
||||
-method name processKeyBinding descriptor (Ljavax/swing/KeyStroke;Ljava/awt/event/KeyEvent;IZ)Z
|
||||
|
||||
class name javax/swing/JComponent
|
||||
field name accessibleContext descriptor Ljavax/accessibility/AccessibleContext; flags 4
|
||||
-method name hide descriptor ()V
|
||||
@@ -90,8 +93,12 @@ field name accessibleFocusHandler descriptor Ljava/awt/event/FocusListener; flag
|
||||
class name javax/swing/JDesktopPane
|
||||
-method name remove descriptor (Ljava/awt/Component;)V
|
||||
|
||||
class name javax/swing/JViewport
|
||||
-method name addNotify descriptor ()V
|
||||
class name javax/swing/JList$AccessibleJList$AccessibleJListChild
|
||||
method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1
|
||||
|
||||
class name javax/swing/plaf/basic/BasicRadioButtonUI
|
||||
-method name installListeners descriptor (Ljavax/swing/AbstractButton;)V
|
||||
-method name uninstallListeners descriptor (Ljavax/swing/AbstractButton;)V
|
||||
|
||||
class name javax/swing/tree/DefaultMutableTreeNode
|
||||
-method name setParent descriptor (Ljavax/swing/tree/MutableTreeNode;)V
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2020, 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
|
||||
@@ -13524,6 +13524,7 @@ method name getItemAt descriptor (I)Ljava/lang/Object; flags 1 signature (I)TE;
|
||||
method name createDefaultKeySelectionManager descriptor ()Ljavax/swing/JComboBox$KeySelectionManager; flags 4
|
||||
method name paramString descriptor ()Ljava/lang/String; flags 4
|
||||
method name getAccessibleContext descriptor ()Ljavax/accessibility/AccessibleContext; flags 1
|
||||
method name processKeyBinding descriptor (Ljavax/swing/KeyStroke;Ljava/awt/event/KeyEvent;IZ)Z flags 4
|
||||
|
||||
class name javax/swing/JComboBox$AccessibleJComboBox
|
||||
header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleAction,javax/accessibility/AccessibleSelection flags 21
|
||||
@@ -14604,7 +14605,6 @@ method name getAccessibleChild descriptor (I)Ljavax/accessibility/Accessible; fl
|
||||
method name getLocale descriptor ()Ljava/util/Locale; flags 1
|
||||
method name addPropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 1
|
||||
method name removePropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 1
|
||||
method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1
|
||||
method name getAccessibleComponent descriptor ()Ljavax/accessibility/AccessibleComponent; flags 1
|
||||
method name getAccessibleSelection descriptor ()Ljavax/accessibility/AccessibleSelection; flags 1
|
||||
method name getAccessibleText descriptor ()Ljavax/accessibility/AccessibleText; flags 1
|
||||
@@ -16720,7 +16720,6 @@ method name updateUI descriptor ()V flags 1
|
||||
method name getUIClassID descriptor ()Ljava/lang/String; flags 1
|
||||
method name addImpl descriptor (Ljava/awt/Component;Ljava/lang/Object;I)V flags 4
|
||||
method name remove descriptor (Ljava/awt/Component;)V flags 1
|
||||
method name addNotify descriptor ()V flags 1
|
||||
method name scrollRectToVisible descriptor (Ljava/awt/Rectangle;)V flags 1
|
||||
method name setBorder descriptor (Ljavax/swing/border/Border;)V flags 11
|
||||
method name getInsets descriptor ()Ljava/awt/Insets; flags 11
|
||||
@@ -20281,6 +20280,8 @@ method name getDefaultIcon descriptor ()Ljavax/swing/Icon; flags 1
|
||||
method name paint descriptor (Ljava/awt/Graphics;Ljavax/swing/JComponent;)V flags 21
|
||||
method name paintFocus descriptor (Ljava/awt/Graphics;Ljava/awt/Rectangle;Ljava/awt/Dimension;)V flags 4
|
||||
method name getPreferredSize descriptor (Ljavax/swing/JComponent;)Ljava/awt/Dimension; flags 1
|
||||
method name installListeners descriptor (Ljavax/swing/AbstractButton;)V flags 4
|
||||
method name uninstallListeners descriptor (Ljavax/swing/AbstractButton;)V flags 4
|
||||
|
||||
class name javax/swing/plaf/basic/BasicRootPaneUI
|
||||
header extends javax/swing/plaf/RootPaneUI implements java/beans/PropertyChangeListener flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2020, 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
|
||||
@@ -2524,7 +2524,6 @@ method name getPopupMenuListeners descriptor ()[Ljavax/swing/event/PopupMenuList
|
||||
method name setAction descriptor (Ljavax/swing/Action;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(visualUpdate=Ztrue,description="the\u005C;u0020;Action\u005C;u0020;instance\u005C;u0020;connected\u005C;u0020;with\u005C;u0020;this\u005C;u0020;ActionEvent\u005C;u0020;source")
|
||||
method name getSelectedObjects descriptor ()[Ljava/lang/Object; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse)
|
||||
method name setEnabled descriptor (Z)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(description="The\u005C;u0020;enabled\u005C;u0020;state\u005C;u0020;of\u005C;u0020;the\u005C;u0020;component.",preferred=Ztrue)
|
||||
method name processKeyBinding descriptor (Ljavax/swing/KeyStroke;Ljava/awt/event/KeyEvent;IZ)Z flags 4
|
||||
method name setKeySelectionManager descriptor (Ljavax/swing/JComboBox$KeySelectionManager;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="The\u005C;u0020;objects\u005C;u0020;that\u005C;u0020;changes\u005C;u0020;the\u005C;u0020;selection\u005C;u0020;when\u005C;u0020;a\u005C;u0020;key\u005C;u0020;is\u005C;u0020;pressed.")
|
||||
method name getItemCount descriptor ()I flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse)
|
||||
method name getAccessibleContext descriptor ()Ljavax/accessibility/AccessibleContext; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse)
|
||||
@@ -3039,6 +3038,7 @@ class name javax/swing/JList$AccessibleJList$AccessibleJListChild
|
||||
header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent,javax/accessibility/AccessibleAction flags 21
|
||||
innerclass innerClass javax/swing/JList$AccessibleJList outerClass javax/swing/JList innerClassName AccessibleJList flags 4
|
||||
innerclass innerClass javax/swing/JList$AccessibleJList$AccessibleJListChild outerClass javax/swing/JList$AccessibleJList innerClassName AccessibleJListChild flags 4
|
||||
method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1
|
||||
method name doAccessibleAction descriptor (I)Z flags 1
|
||||
method name getAccessibleActionDescription descriptor (I)Ljava/lang/String; flags 1
|
||||
method name getAccessibleActionCount descriptor ()I flags 1
|
||||
@@ -3907,7 +3907,6 @@ innerclass innerClass javax/swing/JViewport$AccessibleJViewport outerClass javax
|
||||
innerclass innerClass javax/swing/JViewport$ViewListener outerClass javax/swing/JViewport innerClassName ViewListener flags 4
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
-method name setUI descriptor (Ljavax/swing/plaf/ViewportUI;)V
|
||||
-method name addNotify descriptor ()V
|
||||
-method name getInsets descriptor (Ljava/awt/Insets;)Ljava/awt/Insets;
|
||||
-method name setScrollMode descriptor (I)V
|
||||
method name setUI descriptor (Ljavax/swing/plaf/ViewportUI;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(hidden=Ztrue,visualUpdate=Ztrue,description="The\u005C;u0020;UI\u005C;u0020;object\u005C;u0020;that\u005C;u0020;implements\u005C;u0020;the\u005C;u0020;Component's\u005C;u0020;LookAndFeel.")
|
||||
@@ -4402,8 +4401,6 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang
|
||||
class name javax/swing/plaf/basic/BasicRadioButtonUI
|
||||
header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21
|
||||
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
|
||||
method name installListeners descriptor (Ljavax/swing/AbstractButton;)V flags 4
|
||||
method name uninstallListeners descriptor (Ljavax/swing/AbstractButton;)V flags 4
|
||||
|
||||
class name javax/swing/plaf/basic/BasicScrollBarUI
|
||||
header extends javax/swing/plaf/ScrollBarUI implements java/awt/LayoutManager,javax/swing/SwingConstants flags 21
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
# ##########################################################
|
||||
#
|
||||
#command used to generate this file:
|
||||
#build.tools.symbolgenerator.CreateSymbols build-description-incremental symbols include.list
|
||||
#build.tools.symbolgenerator.CreateSymbols build-description-incremental-file symbols include.list 8 jdk8-updated.classes <none> --normalize-method-flags
|
||||
#
|
||||
generate platforms 6:7:8:9:A
|
||||
platform version 8 files java.activation-8.sym.txt:java.base-8.sym.txt:java.compiler-8.sym.txt:java.corba-8.sym.txt:java.datatransfer-8.sym.txt:java.desktop-8.sym.txt:java.instrument-8.sym.txt:java.logging-8.sym.txt:java.management-8.sym.txt:java.management.rmi-8.sym.txt:java.naming-8.sym.txt:java.prefs-8.sym.txt:java.rmi-8.sym.txt:java.scripting-8.sym.txt:java.security.jgss-8.sym.txt:java.security.sasl-8.sym.txt:java.sql-8.sym.txt:java.sql.rowset-8.sym.txt:java.transaction-8.sym.txt:java.xml-8.sym.txt:java.xml.bind-8.sym.txt:java.xml.crypto-8.sym.txt:java.xml.ws-8.sym.txt:java.xml.ws.annotation-8.sym.txt:jdk.httpserver-8.sym.txt:jdk.management-8.sym.txt:jdk.scripting.nashorn-8.sym.txt:jdk.sctp-8.sym.txt:jdk.security.auth-8.sym.txt:jdk.security.jgss-8.sym.txt
|
||||
|
||||
@@ -21,4 +21,4 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
tzdata2019c
|
||||
tzdata2020a
|
||||
|
||||
@@ -890,19 +890,25 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
||||
# Morocco will be on GMT starting from Sunday, May 5th 2019 at 3am.
|
||||
# The switch to GMT+1 will occur on Sunday, June 9th 2019 at 2am....
|
||||
# http://fr.le360.ma/societe/voici-la-date-du-retour-a-lheure-legale-au-maroc-188222
|
||||
|
||||
# From Semlali Naoufal (2020-04-14):
|
||||
# Following the announcement by the Moroccan government, the switch to
|
||||
# GMT time will take place on Sunday, April 19, 2020 from 3 a.m. and
|
||||
# the return to GMT+1 time will take place on Sunday, May 31, 2020 at 2 a.m....
|
||||
# https://maroc-diplomatique.net/maroc-le-retour-a-lheure-gmt-est-prevu-dimanche-prochain/
|
||||
# http://aujourdhui.ma/actualite/gmt1-retour-a-lheure-normale-dimanche-prochain-1
|
||||
#
|
||||
# From Paul Eggert (2019-05-20):
|
||||
# This agrees with our 2018-11-01 guess that the Moroccan government
|
||||
# would continue the practice of falling back at 03:00 the last Sunday
|
||||
# before Ramadan, and of springing forward at 02:00 the first Sunday after
|
||||
# Ramadan, as this has been the practice since 2012. To implement this,
|
||||
# transition dates for 2019 through 2087 were determined by running the
|
||||
# following program under GNU Emacs 26.2.
|
||||
# (let ((islamic-year 1440))
|
||||
# From Paul Eggert (2020-04-14):
|
||||
# For now, guess that in the future Morocco will fall back at 03:00
|
||||
# the last Sunday before Ramadan, and spring forward at 02:00 the
|
||||
# first Sunday after the day after Ramadan. To implement this,
|
||||
# transition dates for 2021 through 2087 were determined by running
|
||||
# the following program under GNU Emacs 26.3.
|
||||
# (let ((islamic-year 1442))
|
||||
# (require 'cal-islam)
|
||||
# (while (< islamic-year 1511)
|
||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
||||
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
|
||||
# (b (1+ (calendar-islamic-to-absolute (list 10 1 islamic-year))))
|
||||
# (sunday 0))
|
||||
# (while (/= sunday (mod (setq a (1- a)) 7)))
|
||||
# (while (/= sunday (mod b 7))
|
||||
@@ -962,7 +968,7 @@ Rule Morocco 2018 only - Jun 17 2:00 1:00 -
|
||||
Rule Morocco 2019 only - May 5 3:00 -1:00 -
|
||||
Rule Morocco 2019 only - Jun 9 2:00 0 -
|
||||
Rule Morocco 2020 only - Apr 19 3:00 -1:00 -
|
||||
Rule Morocco 2020 only - May 24 2:00 0 -
|
||||
Rule Morocco 2020 only - May 31 2:00 0 -
|
||||
Rule Morocco 2021 only - Apr 11 3:00 -1:00 -
|
||||
Rule Morocco 2021 only - May 16 2:00 0 -
|
||||
Rule Morocco 2022 only - Mar 27 3:00 -1:00 -
|
||||
@@ -978,7 +984,7 @@ Rule Morocco 2026 only - Mar 22 2:00 0 -
|
||||
Rule Morocco 2027 only - Feb 7 3:00 -1:00 -
|
||||
Rule Morocco 2027 only - Mar 14 2:00 0 -
|
||||
Rule Morocco 2028 only - Jan 23 3:00 -1:00 -
|
||||
Rule Morocco 2028 only - Feb 27 2:00 0 -
|
||||
Rule Morocco 2028 only - Mar 5 2:00 0 -
|
||||
Rule Morocco 2029 only - Jan 14 3:00 -1:00 -
|
||||
Rule Morocco 2029 only - Feb 18 2:00 0 -
|
||||
Rule Morocco 2029 only - Dec 30 3:00 -1:00 -
|
||||
@@ -994,7 +1000,7 @@ Rule Morocco 2033 only - Dec 25 2:00 0 -
|
||||
Rule Morocco 2034 only - Nov 5 3:00 -1:00 -
|
||||
Rule Morocco 2034 only - Dec 17 2:00 0 -
|
||||
Rule Morocco 2035 only - Oct 28 3:00 -1:00 -
|
||||
Rule Morocco 2035 only - Dec 2 2:00 0 -
|
||||
Rule Morocco 2035 only - Dec 9 2:00 0 -
|
||||
Rule Morocco 2036 only - Oct 19 3:00 -1:00 -
|
||||
Rule Morocco 2036 only - Nov 23 2:00 0 -
|
||||
Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
|
||||
@@ -1010,7 +1016,7 @@ Rule Morocco 2041 only - Sep 29 2:00 0 -
|
||||
Rule Morocco 2042 only - Aug 10 3:00 -1:00 -
|
||||
Rule Morocco 2042 only - Sep 21 2:00 0 -
|
||||
Rule Morocco 2043 only - Aug 2 3:00 -1:00 -
|
||||
Rule Morocco 2043 only - Sep 6 2:00 0 -
|
||||
Rule Morocco 2043 only - Sep 13 2:00 0 -
|
||||
Rule Morocco 2044 only - Jul 24 3:00 -1:00 -
|
||||
Rule Morocco 2044 only - Aug 28 2:00 0 -
|
||||
Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
|
||||
@@ -1026,7 +1032,7 @@ Rule Morocco 2049 only - Jul 4 2:00 0 -
|
||||
Rule Morocco 2050 only - May 15 3:00 -1:00 -
|
||||
Rule Morocco 2050 only - Jun 26 2:00 0 -
|
||||
Rule Morocco 2051 only - May 7 3:00 -1:00 -
|
||||
Rule Morocco 2051 only - Jun 11 2:00 0 -
|
||||
Rule Morocco 2051 only - Jun 18 2:00 0 -
|
||||
Rule Morocco 2052 only - Apr 28 3:00 -1:00 -
|
||||
Rule Morocco 2052 only - Jun 2 2:00 0 -
|
||||
Rule Morocco 2053 only - Apr 13 3:00 -1:00 -
|
||||
@@ -1042,7 +1048,7 @@ Rule Morocco 2057 only - Apr 8 2:00 0 -
|
||||
Rule Morocco 2058 only - Feb 17 3:00 -1:00 -
|
||||
Rule Morocco 2058 only - Mar 31 2:00 0 -
|
||||
Rule Morocco 2059 only - Feb 9 3:00 -1:00 -
|
||||
Rule Morocco 2059 only - Mar 16 2:00 0 -
|
||||
Rule Morocco 2059 only - Mar 23 2:00 0 -
|
||||
Rule Morocco 2060 only - Feb 1 3:00 -1:00 -
|
||||
Rule Morocco 2060 only - Mar 7 2:00 0 -
|
||||
Rule Morocco 2061 only - Jan 16 3:00 -1:00 -
|
||||
@@ -1052,13 +1058,13 @@ Rule Morocco 2062 only - Feb 12 2:00 0 -
|
||||
Rule Morocco 2062 only - Dec 31 3:00 -1:00 -
|
||||
Rule Morocco 2063 only - Feb 4 2:00 0 -
|
||||
Rule Morocco 2063 only - Dec 16 3:00 -1:00 -
|
||||
Rule Morocco 2064 only - Jan 20 2:00 0 -
|
||||
Rule Morocco 2064 only - Jan 27 2:00 0 -
|
||||
Rule Morocco 2064 only - Dec 7 3:00 -1:00 -
|
||||
Rule Morocco 2065 only - Jan 11 2:00 0 -
|
||||
Rule Morocco 2065 only - Nov 22 3:00 -1:00 -
|
||||
Rule Morocco 2066 only - Jan 3 2:00 0 -
|
||||
Rule Morocco 2066 only - Nov 14 3:00 -1:00 -
|
||||
Rule Morocco 2066 only - Dec 19 2:00 0 -
|
||||
Rule Morocco 2066 only - Dec 26 2:00 0 -
|
||||
Rule Morocco 2067 only - Nov 6 3:00 -1:00 -
|
||||
Rule Morocco 2067 only - Dec 11 2:00 0 -
|
||||
Rule Morocco 2068 only - Oct 21 3:00 -1:00 -
|
||||
@@ -1068,13 +1074,13 @@ Rule Morocco 2069 only - Nov 17 2:00 0 -
|
||||
Rule Morocco 2070 only - Oct 5 3:00 -1:00 -
|
||||
Rule Morocco 2070 only - Nov 9 2:00 0 -
|
||||
Rule Morocco 2071 only - Sep 20 3:00 -1:00 -
|
||||
Rule Morocco 2071 only - Oct 25 2:00 0 -
|
||||
Rule Morocco 2071 only - Nov 1 2:00 0 -
|
||||
Rule Morocco 2072 only - Sep 11 3:00 -1:00 -
|
||||
Rule Morocco 2072 only - Oct 16 2:00 0 -
|
||||
Rule Morocco 2073 only - Aug 27 3:00 -1:00 -
|
||||
Rule Morocco 2073 only - Oct 8 2:00 0 -
|
||||
Rule Morocco 2074 only - Aug 19 3:00 -1:00 -
|
||||
Rule Morocco 2074 only - Sep 23 2:00 0 -
|
||||
Rule Morocco 2074 only - Sep 30 2:00 0 -
|
||||
Rule Morocco 2075 only - Aug 11 3:00 -1:00 -
|
||||
Rule Morocco 2075 only - Sep 15 2:00 0 -
|
||||
Rule Morocco 2076 only - Jul 26 3:00 -1:00 -
|
||||
@@ -1084,7 +1090,7 @@ Rule Morocco 2077 only - Aug 22 2:00 0 -
|
||||
Rule Morocco 2078 only - Jul 10 3:00 -1:00 -
|
||||
Rule Morocco 2078 only - Aug 14 2:00 0 -
|
||||
Rule Morocco 2079 only - Jun 25 3:00 -1:00 -
|
||||
Rule Morocco 2079 only - Jul 30 2:00 0 -
|
||||
Rule Morocco 2079 only - Aug 6 2:00 0 -
|
||||
Rule Morocco 2080 only - Jun 16 3:00 -1:00 -
|
||||
Rule Morocco 2080 only - Jul 21 2:00 0 -
|
||||
Rule Morocco 2081 only - Jun 1 3:00 -1:00 -
|
||||
@@ -1100,7 +1106,7 @@ Rule Morocco 2085 only - May 27 2:00 0 -
|
||||
Rule Morocco 2086 only - Apr 14 3:00 -1:00 -
|
||||
Rule Morocco 2086 only - May 19 2:00 0 -
|
||||
Rule Morocco 2087 only - Mar 30 3:00 -1:00 -
|
||||
Rule Morocco 2087 only - May 4 2:00 0 -
|
||||
Rule Morocco 2087 only - May 11 2:00 0 -
|
||||
# For dates after the somewhat-arbitrary cutoff of 2087, assume that
|
||||
# Morocco will no longer observe DST. At some point this table will
|
||||
# need to be extended, though quite possibly Morocco will change the
|
||||
@@ -1202,7 +1208,7 @@ Link Africa/Maputo Africa/Lusaka # Zambia
|
||||
Rule Namibia 1994 only - Mar 21 0:00 -1:00 WAT
|
||||
Rule Namibia 1994 2017 - Sep Sun>=1 2:00 0 CAT
|
||||
Rule Namibia 1995 2017 - Apr Sun>=1 2:00 -1:00 WAT
|
||||
# Rearguard section, for parsers that do not support negative DST.
|
||||
# Rearguard section, for parsers lacking negative DST; see ziguard.awk.
|
||||
#Rule Namibia 1994 only - Mar 21 0:00 0 WAT
|
||||
#Rule Namibia 1994 2017 - Sep Sun>=1 2:00 1:00 CAT
|
||||
#Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 WAT
|
||||
@@ -1216,7 +1222,7 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
|
||||
2:00 - SAST 1990 Mar 21 # independence
|
||||
# Vanguard section, for zic and other parsers that support negative DST.
|
||||
2:00 Namibia %s
|
||||
# Rearguard section, for parsers that do not support negative DST.
|
||||
# Rearguard section, for parsers lacking negative DST; see ziguard.awk.
|
||||
# 2:00 - CAT 1994 Mar 21 0:00
|
||||
# From Paul Eggert (2017-04-07):
|
||||
# The official date of the 2017 rule change was 2017-10-24. See:
|
||||
|
||||
@@ -309,6 +309,27 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
|
||||
|
||||
# China
|
||||
|
||||
# From Phake Nick (2020-04-15):
|
||||
# According to this news report:
|
||||
# http://news.sina.com.cn/c/2004-09-01/19524201403.shtml
|
||||
# on April 11, 1919, newspaper in Shanghai said clocks in Shanghai will spring
|
||||
# forward for an hour starting from midnight of that Saturday. The report did
|
||||
# not mention what happened in Shanghai thereafter, but it mentioned that a
|
||||
# similar trial in Tianjin which ended at October 1st as citizens are told to
|
||||
# recede the clock on September 30 from 12:00pm to 11:00pm. The trial at
|
||||
# Tianjin got terminated in 1920.
|
||||
#
|
||||
# From Paul Eggert (2020-04-15):
|
||||
# The Returns of Trade and Trade Reports, page 711, says "Daylight saving was
|
||||
# given a trial during the year, and from the 12th April to the 1st October
|
||||
# the clocks were all set one hour ahead of sun time. Though the scheme was
|
||||
# generally esteemed a success, it was announced early in 1920 that it would
|
||||
# not be repeated."
|
||||
#
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Shang 1919 only - Apr 12 24:00 1:00 D
|
||||
Rule Shang 1919 only - Sep 30 24:00 0 S
|
||||
|
||||
# From Paul Eggert (2018-10-02):
|
||||
# The following comes from Table 1 of:
|
||||
# Li Yu. Research on the daylight saving movement in 1940s Shanghai.
|
||||
@@ -317,6 +338,89 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
|
||||
# The table lists dates only; I am guessing 00:00 and 24:00 transition times.
|
||||
# Also, the table lists the planned end of DST in 1949, but the corresponding
|
||||
# zone line cuts this off on May 28, when the Communists took power.
|
||||
|
||||
# From Phake Nick (2020-04-15):
|
||||
#
|
||||
# For the history of time in Shanghai between 1940-1942, the situation is
|
||||
# actually slightly more complex than the table [below].... At the time,
|
||||
# there were three different authorities in Shanghai, including Shanghai
|
||||
# International Settlement, a settlement established by western countries with
|
||||
# its own westernized form of government, Shanghai French Concession, similar
|
||||
# to the international settlement but is controlled by French, and then the
|
||||
# rest of the city of Shanghai, which have already been controlled by Japanese
|
||||
# force through a puppet local government (Wang Jingwei regime). It was
|
||||
# additionally complicated by the circumstances that, according to the 1940s
|
||||
# Shanghai summer time essay cited in the database, some
|
||||
# departments/businesses/people in the Shanghai city itself during that time
|
||||
# period, refused to change their clock and instead only changed their opening
|
||||
# hours.
|
||||
#
|
||||
# For example, as quoted in the article, in 1940, other than the authority
|
||||
# itself, power, tram, bus companies, cinema, department stores, and other
|
||||
# public service organizations have all decided to follow the summer time and
|
||||
# spring forward the clock. On the other hand, the custom office refused to
|
||||
# spring forward the clock because of worry on mechanical wear to the physical
|
||||
# clock, postal office refused to spring forward because of disruption to
|
||||
# business and log-keeping, although they did changed their office hour to
|
||||
# match rest of the city. So is travel agents, and also weather
|
||||
# observatory. It is said both time standards had their own supporters in the
|
||||
# city at the time, those who prefer new time standard would have moved their
|
||||
# clock while those who prefer the old time standard would keep their clock
|
||||
# unchange, and there were different clocks that use different time standard
|
||||
# in the city at the time for people who use different time standard to adjust
|
||||
# their clock to their preferred time.
|
||||
#
|
||||
# a. For the 1940 May 31 spring forward, the essay claim that it was
|
||||
# coordinared between the international settlement authority and the French
|
||||
# concession authority and have gathered support from Hong Kong and Xiamen,
|
||||
# that it would spring forward an hour from May 31 "midnight", and the essay
|
||||
# claim "Hong Kong government implemented the spring forward in the same time
|
||||
# on the same date as Shanghai".
|
||||
#
|
||||
# b. For the 1940 fall back, it was said that they initially intended to do
|
||||
# so on September 30 00:59 at night, however they postponed it to October 12
|
||||
# after discussion with relevant parties. However schools restored to the
|
||||
# original schedule ten days earlier.
|
||||
#
|
||||
# c. For the 1941 spring forward, it is said to start from March 15
|
||||
# "following the previous year's method", and in addition to that the essay
|
||||
# cited an announcement in 1941 from the Wang regime which said the Special
|
||||
# City of Shanghai under Wang regime control will follow the DST rule set by
|
||||
# the Settlements, irrespective of the original DST plan announced by the Wang
|
||||
# regime for other area under its control(April 1 to September 30). (no idea
|
||||
# to situation before that announcement)
|
||||
#
|
||||
# d. For the 1941 fall back, it was said that the fall back would occurs at
|
||||
# the end of September (A newspaper headline cited by the essay, published on
|
||||
# October 1, 1941, have the headlines which said "French Concession would
|
||||
# rewind to the old clock this morning), but it ultimately didn't happen due
|
||||
# to disagreement between the international settlement authority and the
|
||||
# French concession authority, and the fall back ultimately occurred on
|
||||
# November 1.
|
||||
#
|
||||
# e. In 1941 December, Japan have officially started war with the United
|
||||
# States and the United Kingdom, and in Shanghai they have marched into the
|
||||
# international settlement, taken over its control
|
||||
#
|
||||
# f. For the 1942 spring forward, the essay said that the spring forward
|
||||
# started on January 31. It said this time the custom office and postal
|
||||
# department will also change their clocks, unlike before.
|
||||
#
|
||||
# g. The essay itself didn't cover any specific changes thereafter until the
|
||||
# end of the war, it quoted a November 1942 command from the government of the
|
||||
# Wang regime, which claim the daylight saving time applies year round during
|
||||
# the war. However, the essay ambiguously said the period is "February 1 to
|
||||
# September 30", which I don't really understand what is the meaning of such
|
||||
# period in the context of year round implementation here.. More researches
|
||||
# might be needed to show exactly what happened during that period of time.
|
||||
|
||||
# From Phake Nick (2020-04-15):
|
||||
# According to a Japanese tour bus pamphlet in Nanjing area believed to be
|
||||
# from around year 1941: http://www.tt-museum.jp/tairiku_0280_nan1941.html ,
|
||||
# the schedule listed was in the format of Japanese time. Which indicate some
|
||||
# use of the Japanese time (instead of syncing by DST) might have occurred in
|
||||
# the Yangtze river delta area during that period of time although the scope
|
||||
# of such use will need to be investigated to determine.
|
||||
#
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Shang 1940 only - Jun 1 0:00 1:00 D
|
||||
@@ -595,7 +699,7 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
|
||||
6:00 - +06
|
||||
|
||||
|
||||
# Hong Kong (Xianggang)
|
||||
# Hong Kong
|
||||
|
||||
# Milne gives 7:36:41.7; round this.
|
||||
|
||||
@@ -605,9 +709,7 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
|
||||
# it is not [an] observatory, but the official meteorological agency of HK,
|
||||
# and also serves as the official timing agency), there are some missing
|
||||
# and incorrect rules. Although the exact switch over time is missing, I
|
||||
# think 3:30 is correct. The official DST record for Hong Kong can be
|
||||
# obtained from
|
||||
# http://www.hko.gov.hk/gts/time/Summertime.htm
|
||||
# think 3:30 is correct.
|
||||
|
||||
# From Phake Nick (2018-10-27):
|
||||
# According to Singaporean newspaper
|
||||
@@ -718,10 +820,10 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
|
||||
# Resolution of the Legislative Council passed on 9 May 1979
|
||||
# https://www.legco.gov.hk/yr78-79/english/lc_sitg/hansard/h790509.pdf#page=39
|
||||
|
||||
# From Paul Eggert (2019-05-31):
|
||||
# From Paul Eggert (2020-04-15):
|
||||
# Here are the dates given at
|
||||
# https://www.hko.gov.hk/gts/time/Summertime.htm
|
||||
# as of 2014-06-19:
|
||||
# https://www.hko.gov.hk/en/gts/time/Summertime.htm
|
||||
# as of 2020-02-10:
|
||||
# Year Period
|
||||
# 1941 15 Jun to 30 Sep
|
||||
# 1942 Whole year
|
||||
@@ -1851,6 +1953,47 @@ Zone Asia/Jerusalem 2:20:54 - LMT 1880
|
||||
|
||||
# '9:00' and 'JST' is from Guy Harris.
|
||||
|
||||
# From Paul Eggert (2020-01-19):
|
||||
# Starting in the 7th century, Japan generally followed an ancient Chinese
|
||||
# timekeeping system that divided night and day into six hours each,
|
||||
# with hour length depending on season. In 1873 the government
|
||||
# started requiring the use of a Western style 24-hour clock. See:
|
||||
# Yulia Frumer, "Making Time: Astronomical Time Measurement in Tokugawa Japan"
|
||||
# <https://www.worldcat.org/oclc/1043907065>. As the tzdb code and
|
||||
# data support only 24-hour clocks, its tables model timestamps before
|
||||
# 1873 using Western-style local mean time.
|
||||
|
||||
# From Hideyuki Suzuki (1998-11-09):
|
||||
# 'Tokyo' usually stands for the former location of Tokyo Astronomical
|
||||
# Observatory: 139° 44' 40.90" E (9h 18m 58.727s), 35° 39' 16.0" N.
|
||||
# This data is from 'Rika Nenpyou (Chronological Scientific Tables) 1996'
|
||||
# edited by National Astronomical Observatory of Japan....
|
||||
# JST (Japan Standard Time) has been used since 1888-01-01 00:00 (JST).
|
||||
# The law is enacted on 1886-07-07.
|
||||
|
||||
# From Hideyuki Suzuki (1998-11-16):
|
||||
# The ordinance No. 51 (1886) established "standard time" in Japan,
|
||||
# which stands for the time on 135° E.
|
||||
# In the ordinance No. 167 (1895), "standard time" was renamed to "central
|
||||
# standard time". And the same ordinance also established "western standard
|
||||
# time", which stands for the time on 120° E.... But "western standard
|
||||
# time" was abolished in the ordinance No. 529 (1937). In the ordinance No.
|
||||
# 167, there is no mention regarding for what place western standard time is
|
||||
# standard....
|
||||
#
|
||||
# I wrote "ordinance" above, but I don't know how to translate.
|
||||
# In Japanese it's "chokurei", which means ordinance from emperor.
|
||||
|
||||
# From Yu-Cheng Chuang (2013-07-12):
|
||||
# ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause
|
||||
# about standard time" ... The adoption began from Jan 1, 1896.
|
||||
# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時)
|
||||
#
|
||||
# ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which
|
||||
# means the whole Japan territory, including later occupations, adopt Japan
|
||||
# Central Time (UT+9). The adoption began on Oct 1, 1937.
|
||||
# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件
|
||||
|
||||
# From Paul Eggert (1995-03-06):
|
||||
# Today's _Asahi Evening News_ (page 4) reports that Japan had
|
||||
# daylight saving between 1948 and 1951, but "the system was discontinued
|
||||
@@ -1899,37 +2042,6 @@ Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S
|
||||
Rule Japan 1949 only - Apr Sat>=1 24:00 1:00 D
|
||||
Rule Japan 1950 1951 - May Sat>=1 24:00 1:00 D
|
||||
|
||||
# From Hideyuki Suzuki (1998-11-09):
|
||||
# 'Tokyo' usually stands for the former location of Tokyo Astronomical
|
||||
# Observatory: 139° 44' 40.90" E (9h 18m 58.727s), 35° 39' 16.0" N.
|
||||
# This data is from 'Rika Nenpyou (Chronological Scientific Tables) 1996'
|
||||
# edited by National Astronomical Observatory of Japan....
|
||||
# JST (Japan Standard Time) has been used since 1888-01-01 00:00 (JST).
|
||||
# The law is enacted on 1886-07-07.
|
||||
|
||||
# From Hideyuki Suzuki (1998-11-16):
|
||||
# The ordinance No. 51 (1886) established "standard time" in Japan,
|
||||
# which stands for the time on 135° E.
|
||||
# In the ordinance No. 167 (1895), "standard time" was renamed to "central
|
||||
# standard time". And the same ordinance also established "western standard
|
||||
# time", which stands for the time on 120° E.... But "western standard
|
||||
# time" was abolished in the ordinance No. 529 (1937). In the ordinance No.
|
||||
# 167, there is no mention regarding for what place western standard time is
|
||||
# standard....
|
||||
#
|
||||
# I wrote "ordinance" above, but I don't know how to translate.
|
||||
# In Japanese it's "chokurei", which means ordinance from emperor.
|
||||
|
||||
# From Yu-Cheng Chuang (2013-07-12):
|
||||
# ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause
|
||||
# about standard time" ... The adoption began from Jan 1, 1896.
|
||||
# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時)
|
||||
#
|
||||
# ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which
|
||||
# means the whole Japan territory, including later occupations, adopt Japan
|
||||
# Central Time (UT+9). The adoption began on Oct 1, 1937.
|
||||
# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件
|
||||
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
|
||||
9:00 Japan J%sT
|
||||
@@ -3109,22 +3221,9 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
||||
# [T]he Palestinian cabinet decision (Mar 8th 2016) published on
|
||||
# http://www.palestinecabinet.gov.ps/WebSite/Upload/Decree/GOV_17/16032016134830.pdf
|
||||
# states that summer time will end on Oct 29th at 01:00.
|
||||
#
|
||||
# From Tim Parenti (2016-10-19):
|
||||
# Predict fall transitions on October's last Saturday at 01:00 from now on.
|
||||
# This is consistent with the 2016 transition as well as our spring
|
||||
# predictions.
|
||||
#
|
||||
# From Paul Eggert (2016-10-19):
|
||||
# It's also consistent with predictions in the following URLs today:
|
||||
# https://www.timeanddate.com/time/change/gaza-strip/gaza
|
||||
# https://www.timeanddate.com/time/change/west-bank/hebron
|
||||
|
||||
# From Sharef Mustafa (2018-03-16):
|
||||
# Palestine summer time will start on Mar 24th 2018 by advancing the
|
||||
# clock by 60 minutes as per Palestinian cabinet decision published on
|
||||
# the official website, though the decree did not specify the exact
|
||||
# time of the time shift.
|
||||
# Palestine summer time will start on Mar 24th 2018 ...
|
||||
# http://www.palestinecabinet.gov.ps/Website/AR/NDecrees/ViewFile.ashx?ID=e7a42ab7-ee23-435a-b9c8-a4f7e81f3817
|
||||
|
||||
# From Even Scharning (2019-03-23):
|
||||
@@ -3134,15 +3233,20 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
||||
# From Sharif Mustafa (2019-03-26):
|
||||
# The Palestinian cabinet announced today that the switch to DST will
|
||||
# be on Fri Mar 29th 2019 by advancing the clock by 60 minutes.
|
||||
# The decree signing date is Mar 12th but it was not published till today.
|
||||
# The decree does not specify the exact time of switch.
|
||||
# http://palestinecabinet.gov.ps/Website/AR/NDecrees/ViewFile.ashx?ID=e54e9ea1-50ee-4137-84df-0d6c78da259b
|
||||
#
|
||||
# From Even Scharning (2019-04-10):
|
||||
# Our source in Palestine said it happened Friday 29 at 00:00 local time....
|
||||
|
||||
# From Sharef Mustafa (2019-10-18):
|
||||
# Palestine summer time will end on midnight Oct 26th 2019 ...
|
||||
# http://www.palestinecabinet.gov.ps/website/ar/ViewDetails?ID=43948
|
||||
#
|
||||
# From Paul Eggert (2019-04-10):
|
||||
# For now, guess spring-ahead transitions are March's last Friday at 00:00.
|
||||
#
|
||||
# From Tim Parenti (2016-10-19):
|
||||
# Predict fall transitions on October's last Saturday at 01:00 from now on.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
|
||||
|
||||
@@ -40,6 +40,7 @@ Link America/Atikokan America/Coral_Harbour
|
||||
Link America/Argentina/Cordoba America/Cordoba
|
||||
Link America/Tijuana America/Ensenada
|
||||
Link America/Indiana/Indianapolis America/Fort_Wayne
|
||||
Link America/Nuuk America/Godthab
|
||||
Link America/Indiana/Indianapolis America/Indianapolis
|
||||
Link America/Argentina/Jujuy America/Jujuy
|
||||
Link America/Indiana/Knox America/Knox_IN
|
||||
|
||||
@@ -572,12 +572,13 @@ Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2
|
||||
0:00 1:00 IST 1947 Nov 2 2:00s
|
||||
0:00 - GMT 1948 Apr 18 2:00s
|
||||
0:00 GB-Eire GMT/IST 1968 Oct 27
|
||||
# The next line is for when negative SAVE values are used.
|
||||
# Vanguard section, for zic and other parsers that support negative DST.
|
||||
1:00 Eire IST/GMT
|
||||
# These three lines are for when SAVE values are always nonnegative.
|
||||
# Rearguard section, for parsers lacking negative DST; see ziguard.awk.
|
||||
# 1:00 - IST 1971 Oct 31 2:00u
|
||||
# 0:00 GB-Eire GMT/IST 1996
|
||||
# 0:00 EU GMT/IST
|
||||
# End of rearguard section.
|
||||
|
||||
|
||||
###############################################################################
|
||||
@@ -1041,7 +1042,7 @@ Zone Europe/Prague 0:57:44 - LMT 1850
|
||||
1:00 Czech CE%sT 1946 Dec 1 3:00
|
||||
# Vanguard section, for zic and other parsers that support negative DST.
|
||||
1:00 -1:00 GMT 1947 Feb 23 2:00
|
||||
# Rearguard section, for parsers that do not support negative DST.
|
||||
# Rearguard section, for parsers lacking negative DST; see ziguard.awk.
|
||||
# 0:00 - GMT 1947 Feb 23 2:00
|
||||
# End of rearguard section.
|
||||
1:00 Czech CE%sT 1979
|
||||
@@ -1198,14 +1199,17 @@ Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
|
||||
-3:00 - -03 1980 Apr 6 2:00
|
||||
-3:00 EU -03/-02 1996
|
||||
0:00 - GMT
|
||||
#
|
||||
# Use the old name Scoresbysund, as the current name Ittoqqortoormiit
|
||||
# exceeds tzdb's 14-letter limit and has no common English abbreviation.
|
||||
Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit
|
||||
-2:00 - -02 1980 Apr 6 2:00
|
||||
-2:00 C-Eur -02/-01 1981 Mar 29
|
||||
-1:00 EU -01/+00
|
||||
Zone America/Godthab -3:26:56 - LMT 1916 Jul 28 # Nuuk
|
||||
Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb
|
||||
-3:00 - -03 1980 Apr 6 2:00
|
||||
-3:00 EU -03/-02
|
||||
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik air base
|
||||
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
|
||||
-4:00 Thule A%sT
|
||||
|
||||
# Estonia
|
||||
@@ -1575,7 +1579,7 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
|
||||
#
|
||||
# From January 1st, 1908 the whole of Iceland was standardised at 1 hour
|
||||
# behind GMT. Previously, local mean solar time was used in different parts
|
||||
# of Iceland, the almanak had been based on Reykjavik mean solar time which
|
||||
# of Iceland, the almanak had been based on Reykjavík mean solar time which
|
||||
# was 1 hour and 28 minutes behind GMT.
|
||||
#
|
||||
# "first day of winter" referred to [below] means the first day of the 26 weeks
|
||||
|
||||
@@ -87,9 +87,15 @@ Leap 2012 Jun 30 23:59:60 + S
|
||||
Leap 2015 Jun 30 23:59:60 + S
|
||||
Leap 2016 Dec 31 23:59:60 + S
|
||||
|
||||
# UTC timestamp when this leap second list expires.
|
||||
# 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 2020 Dec 28 00:00:00
|
||||
|
||||
# POSIX timestamps for the data in this file:
|
||||
#updated 1467936000 (2016-07-08 00:00:00 UTC)
|
||||
#expires 1593302400 (2020-06-28 00:00:00 UTC)
|
||||
#expires 1609113600 (2020-12-28 00:00:00 UTC)
|
||||
|
||||
# Updated through IERS Bulletin C58
|
||||
# File expires on: 28 June 2020
|
||||
# Updated through IERS Bulletin C59
|
||||
# File expires on: 28 December 2020
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
# For more about the first ten years of DST in the United States, see
|
||||
# Robert Garland, Ten years of daylight saving from the Pittsburgh standpoint
|
||||
# (Carnegie Library of Pittsburgh, 1927).
|
||||
# http://www.clpgh.org/exhibit/dst.html
|
||||
# https://web.archive.org/web/20160517155308/http://www.clpgh.org/exhibit/dst.html
|
||||
#
|
||||
# Shanks says that DST was called "War Time" in the US in 1918 and 1919.
|
||||
# However, DST was imposed by the Standard Time Act of 1918, which
|
||||
@@ -1493,7 +1493,8 @@ Zone America/Goose_Bay -4:01:40 - LMT 1884 # Happy Valley-Goose Bay
|
||||
-4:00 Canada A%sT
|
||||
|
||||
|
||||
# west Labrador, Nova Scotia, Prince Edward I
|
||||
# west Labrador, Nova Scotia, Prince Edward I,
|
||||
# Îles-de-la-Madeleine, Listuguj reserve
|
||||
|
||||
# From Brian Inglis (2015-07-20):
|
||||
# From the historical weather station records available at:
|
||||
@@ -1512,6 +1513,13 @@ Zone America/Goose_Bay -4:01:40 - LMT 1884 # Happy Valley-Goose Bay
|
||||
# in Canada to observe DST in 1971 but not 1970; for now we'll assume
|
||||
# this is a typo.
|
||||
|
||||
# From Jeffery Nichols (2020-01-09):
|
||||
# America/Halifax ... also applies to Îles-de-la-Madeleine and the Listuguj
|
||||
# reserve in Quebec. Officially, this came into effect on January 1, 2007
|
||||
# (Legal Time Act, CQLR c T-5.1), but the legislative debates surrounding that
|
||||
# bill say that it is "accommodating the customs and practices" of those
|
||||
# regions, which suggests that they have always been in-line with Halifax.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Halifax 1916 only - Apr 1 0:00 1:00 D
|
||||
Rule Halifax 1916 only - Oct 1 0:00 0 S
|
||||
@@ -1605,19 +1613,20 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
|
||||
|
||||
# Quebec
|
||||
|
||||
# From Paul Eggert (2015-03-24):
|
||||
# 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"
|
||||
# http://www.justice.gouv.qc.ca/english/publications/generale/temps-minganie-a.htm
|
||||
# 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.
|
||||
# https://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en
|
||||
# says this common practice was codified into law as of 2007.
|
||||
# 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.
|
||||
|
||||
@@ -1636,6 +1645,15 @@ Zone America/Blanc-Sablon -3:48:28 - LMT 1884
|
||||
# Nipigon (EST) and Rainy River (CST) are the largest that we know of.
|
||||
# Far west Ontario is like Winnipeg; far east Quebec is like Halifax.
|
||||
|
||||
# From Jeffery Nichols (2020-02-06):
|
||||
# According to the [Shanks] atlas, those western Ontario zones are huge,
|
||||
# covering most of Ontario northwest of Sault Ste Marie and Timmins.
|
||||
# The zones seem to include towns bigger than the ones they're named after,
|
||||
# like Dryden in America/Rainy_River and Wawa (and maybe Attawapiskat) in
|
||||
# America/Nipigon. I assume it's too much trouble to change the name of the
|
||||
# zone (like when you found out that America/Glace_Bay includes Sydney, Nova
|
||||
# Scotia)....
|
||||
|
||||
# From Mark Brader (2003-07-26):
|
||||
# [According to the Toronto Star] Orillia, Ontario, adopted DST
|
||||
# effective Saturday, 1912-06-22, 22:00; the article mentions that
|
||||
@@ -2442,6 +2460,18 @@ Zone America/Creston -7:46:04 - LMT 1884
|
||||
# obtained in November 2008 should be ignored...
|
||||
# I apologize for reporting incorrect information in 2008.
|
||||
|
||||
# From Tim Parenti (2020-03-05):
|
||||
# The government of Yukon announced [yesterday] the cessation of seasonal time
|
||||
# changes. "After clocks are pushed ahead one hour on March 8, the territory
|
||||
# will remain on [UTC-07]. ... [The government] found 93 per cent of
|
||||
# respondents wanted to end seasonal time changes and, of that group, 70 per
|
||||
# cent wanted 'permanent Pacific Daylight Saving Time.'"
|
||||
# https://www.cbc.ca/news/canada/north/yukon-end-daylight-saving-time-1.5486358
|
||||
#
|
||||
# Although the government press release prefers PDT, we prefer MST for
|
||||
# consistency with nearby Dawson Creek, Creston, and Fort Nelson.
|
||||
# https://yukon.ca/en/news/yukon-end-seasonal-time-change
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D
|
||||
Rule NT_YK 1918 only - Oct 27 2:00 0 S
|
||||
@@ -2496,11 +2526,13 @@ Zone America/Inuvik 0 - -00 1953 # Inuvik founded
|
||||
Zone America/Whitehorse -9:00:12 - LMT 1900 Aug 20
|
||||
-9:00 NT_YK Y%sT 1967 May 28 0:00
|
||||
-8:00 NT_YK P%sT 1980
|
||||
-8:00 Canada P%sT
|
||||
-8:00 Canada P%sT 2020 Mar 8 2:00
|
||||
-7:00 - MST
|
||||
Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
|
||||
-9:00 NT_YK Y%sT 1973 Oct 28 0:00
|
||||
-8:00 NT_YK P%sT 1980
|
||||
-8:00 Canada P%sT
|
||||
-8:00 Canada P%sT 2020 Mar 8 2:00
|
||||
-7:00 - MST
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -154,8 +154,8 @@ CA +4906-11631 America/Creston MST - BC (Creston)
|
||||
CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
|
||||
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
|
||||
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
|
||||
CA +6043-13503 America/Whitehorse Pacific - Yukon (south)
|
||||
CA +6404-13925 America/Dawson Pacific - Yukon (north)
|
||||
CA +6043-13503 America/Whitehorse Pacific - Yukon (east)
|
||||
CA +6404-13925 America/Dawson Pacific - Yukon (west)
|
||||
CC -1210+09655 Indian/Cocos
|
||||
CD -0418+01518 Africa/Kinshasa Dem. Rep. of Congo (west)
|
||||
CD -1140+02728 Africa/Lubumbashi Dem. Rep. of Congo (east)
|
||||
@@ -212,7 +212,7 @@ GF +0456-05220 America/Cayenne
|
||||
GG +492717-0023210 Europe/Guernsey
|
||||
GH +0533-00013 Africa/Accra
|
||||
GI +3608-00521 Europe/Gibraltar
|
||||
GL +6411-05144 America/Godthab Greenland (most areas)
|
||||
GL +6411-05144 America/Nuuk Greenland (most areas)
|
||||
GL +7646-01840 America/Danmarkshavn National Park (east coast)
|
||||
GL +7029-02158 America/Scoresbysund Scoresbysund/Ittoqqortoormiit
|
||||
GL +7634-06847 America/Thule Thule/Pituffik
|
||||
@@ -358,7 +358,7 @@ RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
|
||||
# The obsolescent zone.tab format cannot represent Europe/Simferopol well.
|
||||
# Put it in RU section and list as UA. See "territorial claims" above.
|
||||
# Programs should use zone1970.tab instead; see above.
|
||||
UA +4457+03406 Europe/Simferopol MSK+00 - Crimea
|
||||
UA +4457+03406 Europe/Simferopol Crimea
|
||||
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
|
||||
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
|
||||
RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
|
||||
@@ -422,8 +422,8 @@ TV -0831+17913 Pacific/Funafuti
|
||||
TW +2503+12130 Asia/Taipei
|
||||
TZ -0648+03917 Africa/Dar_es_Salaam
|
||||
UA +5026+03031 Europe/Kiev Ukraine (most areas)
|
||||
UA +4837+02218 Europe/Uzhgorod Ruthenia
|
||||
UA +4750+03510 Europe/Zaporozhye Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east)
|
||||
UA +4837+02218 Europe/Uzhgorod Transcarpathia
|
||||
UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk
|
||||
UG +0019+03225 Africa/Kampala
|
||||
UM +2813-17722 Pacific/Midway Midway Islands
|
||||
UM +1917+16637 Pacific/Wake Wake Island
|
||||
|
||||
@@ -32,7 +32,6 @@ VS_VERSION="2017"
|
||||
VS_VERSION_NUM_NODOT="150"
|
||||
VS_DLL_VERSION="140"
|
||||
SDK_VERSION="10"
|
||||
SDK_FULL_VERSION="10.0.16299.0"
|
||||
MSVC_DIR="Microsoft.VC141.CRT"
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname $0)" > /dev/null && pwd)"
|
||||
@@ -120,6 +119,9 @@ fi
|
||||
SDK_INSTALL_DIR="$(cygpath "$PROGRAMFILES_X86/Windows Kits/$SDK_VERSION")"
|
||||
echo "SDK_INSTALL_DIR: $SDK_INSTALL_DIR"
|
||||
|
||||
SDK_FULL_VERSION="$(ls "$SDK_INSTALL_DIR/bin" | sort -r -n | head -n1)"
|
||||
echo "Found SDK version: $SDK_FULL_VERSION"
|
||||
|
||||
if [ ! -d $DEVKIT_ROOT/$SDK_VERSION ]; then
|
||||
echo "Copying SDK..."
|
||||
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/bin
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, 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,12 @@
|
||||
# Install the launcher name, release version string, full version
|
||||
# string and the runtime name into the VersionProps.java file.
|
||||
|
||||
ifeq ($(COMPANY_NAME), N/A)
|
||||
VENDOR=Oracle Corporation
|
||||
else
|
||||
VENDOR=$(COMPANY_NAME)
|
||||
endif
|
||||
|
||||
$(eval $(call SetupTextFileProcessing, BUILD_VERSION_JAVA, \
|
||||
SOURCE_FILES := $(TOPDIR)/src/java.base/share/classes/java/lang/VersionProps.java.template, \
|
||||
OUTPUT_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/lang/VersionProps.java, \
|
||||
@@ -40,7 +46,11 @@ $(eval $(call SetupTextFileProcessing, BUILD_VERSION_JAVA, \
|
||||
@@VERSION_BUILD@@ => $(VERSION_BUILD) ; \
|
||||
@@VERSION_OPT@@ => $(VERSION_OPT) ; \
|
||||
@@VERSION_DATE@@ => $(VERSION_DATE) ; \
|
||||
@@VENDOR_VERSION_STRING@@ => $(VENDOR_VERSION_STRING), \
|
||||
@@VENDOR_VERSION_STRING@@ => $(VENDOR_VERSION_STRING) ; \
|
||||
@@VENDOR@@ => $(VENDOR) ; \
|
||||
@@VENDOR_URL@@ => $(VENDOR_URL) ; \
|
||||
@@VENDOR_URL_BUG@@ => $(VENDOR_URL_BUG) ; \
|
||||
@@VENDOR_URL_VM_BUG@@ => $(VENDOR_URL_VM_BUG), \
|
||||
))
|
||||
|
||||
GENSRC_JAVA_BASE += $(BUILD_VERSION_JAVA)
|
||||
|
||||
@@ -62,6 +62,10 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
||||
|
||||
ADLC_CFLAGS += -I$(TOPDIR)/src/hotspot/share
|
||||
|
||||
ifneq ($(call check-jvm-feature, shenandoahgc), true)
|
||||
ADLC_CFLAGS += -DINCLUDE_SHENANDOAHGC=0
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation, BUILD_ADLC, \
|
||||
NAME := adlc, \
|
||||
TYPE := EXECUTABLE, \
|
||||
@@ -136,6 +140,12 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
||||
$d/os_cpu/$(HOTSPOT_TARGET_OS)_$(HOTSPOT_TARGET_CPU_ARCH)/$(HOTSPOT_TARGET_OS)_$(HOTSPOT_TARGET_CPU_ARCH).ad \
|
||||
)))
|
||||
|
||||
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 \
|
||||
)))
|
||||
endif
|
||||
|
||||
SINGLE_AD_SRCFILE := $(ADLC_SUPPORT_DIR)/all-ad-src.ad
|
||||
|
||||
INSERT_FILENAME_AWK_SCRIPT := \
|
||||
|
||||
@@ -166,6 +166,11 @@ ifneq ($(call check-jvm-feature, zgc), true)
|
||||
JVM_EXCLUDE_PATTERNS += gc/z
|
||||
endif
|
||||
|
||||
ifneq ($(call check-jvm-feature, shenandoahgc), true)
|
||||
JVM_CFLAGS_FEATURES += -DINCLUDE_SHENANDOAHGC=0
|
||||
JVM_EXCLUDE_PATTERNS += gc/shenandoah
|
||||
endif
|
||||
|
||||
ifneq ($(call check-jvm-feature, jfr), true)
|
||||
JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0
|
||||
JVM_EXCLUDE_PATTERNS += jfr
|
||||
|
||||
@@ -36,6 +36,10 @@ ifeq ($(TOOLCHAIN_TYPE), gcc)
|
||||
BUILD_LIBJVM_assembler_x86.cpp_CXXFLAGS := -Wno-maybe-uninitialized
|
||||
BUILD_LIBJVM_cardTableBarrierSetAssembler_x86.cpp_CXXFLAGS := -Wno-maybe-uninitialized
|
||||
BUILD_LIBJVM_interp_masm_x86.cpp_CXXFLAGS := -Wno-uninitialized
|
||||
ifeq ($(DEBUG_LEVEL), release)
|
||||
# Need extra inlining to collapse all marking code into the hot marking loop
|
||||
BUILD_LIBJVM_shenandoahConcurrentMark.cpp_CXXFLAGS := --param inline-unit-growth=1000
|
||||
endif
|
||||
endif
|
||||
|
||||
LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE)
|
||||
@@ -132,9 +136,6 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
# NOTE: The old build tested clang version to make sure this workaround
|
||||
# for the clang bug was still needed.
|
||||
BUILD_LIBJVM_loopTransform.cpp_CXXFLAGS := $(CXX_O_FLAG_NONE)
|
||||
ifneq ($(DEBUG_LEVEL), slowdebug)
|
||||
BUILD_LIBJVM_unsafe.cpp_CXXFLAGS := -O1
|
||||
endif
|
||||
|
||||
# The following files are compiled at various optimization
|
||||
# levels due to optimization issues encountered at the
|
||||
@@ -150,7 +151,6 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
sharedRuntimeTrig.cpp \
|
||||
sharedRuntimeTrans.cpp \
|
||||
loopTransform.cpp \
|
||||
unsafe.cpp \
|
||||
jvmciCompilerToVM.cpp \
|
||||
#
|
||||
endif
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#
|
||||
|
||||
JVM_handle_linux_signal
|
||||
JVM_IsUseContainerSupport
|
||||
numa_error
|
||||
numa_warn
|
||||
sysThreadAvailableStackWithSlack
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2020, 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,14 +25,24 @@
|
||||
|
||||
package build.tools.blacklistedcertsconverter;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.PublicKey;
|
||||
import java.security.cert.Certificate;
|
||||
import java.security.cert.CertificateFactory;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.security.interfaces.ECPublicKey;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import sun.security.util.DerInputStream;
|
||||
import sun.security.util.DerOutputStream;
|
||||
import sun.security.util.DerValue;
|
||||
|
||||
/**
|
||||
* Converts blacklisted.certs.pem from System.in to blacklisted.certs in
|
||||
@@ -75,8 +85,8 @@ public class BlacklistedCertsConverter {
|
||||
// Output sorted so that it's easy to locate an entry.
|
||||
Set<String> fingerprints = new TreeSet<>();
|
||||
for (Certificate cert: certs) {
|
||||
fingerprints.add(
|
||||
getCertificateFingerPrint(mdAlg, (X509Certificate)cert));
|
||||
fingerprints.addAll(
|
||||
getCertificateFingerPrints(mdAlg, (X509Certificate)cert));
|
||||
}
|
||||
|
||||
for (String s: fingerprints) {
|
||||
@@ -97,17 +107,90 @@ public class BlacklistedCertsConverter {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the requested finger print of the certificate.
|
||||
* Computes the possible fingerprints of the certificate.
|
||||
*/
|
||||
private static String getCertificateFingerPrint(
|
||||
private static List<String> getCertificateFingerPrints(
|
||||
String mdAlg, X509Certificate cert) throws Exception {
|
||||
byte[] encCertInfo = cert.getEncoded();
|
||||
MessageDigest md = MessageDigest.getInstance(mdAlg);
|
||||
byte[] digest = md.digest(encCertInfo);
|
||||
StringBuffer buf = new StringBuffer();
|
||||
for (int i = 0; i < digest.length; i++) {
|
||||
byte2hex(digest[i], buf);
|
||||
List<String> fingerprints = new ArrayList<>();
|
||||
for (byte[] encoding : altEncodings(cert)) {
|
||||
MessageDigest md = MessageDigest.getInstance(mdAlg);
|
||||
byte[] digest = md.digest(encoding);
|
||||
StringBuffer buf = new StringBuffer();
|
||||
for (int i = 0; i < digest.length; i++) {
|
||||
byte2hex(digest[i], buf);
|
||||
}
|
||||
fingerprints.add(buf.toString());
|
||||
}
|
||||
return buf.toString();
|
||||
return fingerprints;
|
||||
}
|
||||
|
||||
private static List<byte[]> altEncodings(X509Certificate c)
|
||||
throws Exception {
|
||||
List<byte[]> result = new ArrayList<>();
|
||||
|
||||
DerValue d = new DerValue(c.getEncoded());
|
||||
DerValue[] seq = new DerValue[3];
|
||||
// tbsCertificate
|
||||
seq[0] = d.data.getDerValue();
|
||||
// signatureAlgorithm
|
||||
seq[1] = d.data.getDerValue();
|
||||
// signature
|
||||
seq[2] = d.data.getDerValue();
|
||||
|
||||
List<DerValue> algIds = Arrays.asList(seq[1], altAlgId(seq[1]));
|
||||
|
||||
List<DerValue> sigs;
|
||||
PublicKey p = c.getPublicKey();
|
||||
if (p instanceof ECPublicKey) {
|
||||
ECPublicKey ep = (ECPublicKey) p;
|
||||
BigInteger mod = ep.getParams().getOrder();
|
||||
sigs = Arrays.asList(seq[2], altSig(mod, seq[2]));
|
||||
} else {
|
||||
sigs = Arrays.asList(seq[2]);
|
||||
}
|
||||
|
||||
for (DerValue algId : algIds) {
|
||||
for (DerValue sig : sigs) {
|
||||
DerOutputStream tmp = new DerOutputStream();
|
||||
tmp.putDerValue(seq[0]);
|
||||
tmp.putDerValue(algId);
|
||||
tmp.putDerValue(sig);
|
||||
DerOutputStream tmp2 = new DerOutputStream();
|
||||
tmp2.write(DerValue.tag_Sequence, tmp);
|
||||
result.add(tmp2.toByteArray());
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static DerValue altSig(BigInteger mod, DerValue sig)
|
||||
throws IOException {
|
||||
byte[] sigBits = sig.getBitString();
|
||||
DerInputStream in =
|
||||
new DerInputStream(sigBits, 0, sigBits.length, false);
|
||||
DerValue[] values = in.getSequence(2);
|
||||
BigInteger r = values[0].getBigInteger();
|
||||
BigInteger s = values[1].getBigInteger();
|
||||
BigInteger s2 = s.negate().mod(mod);
|
||||
DerOutputStream out = new DerOutputStream();
|
||||
out.putInteger(r);
|
||||
out.putInteger(s2);
|
||||
DerOutputStream tmp = new DerOutputStream();
|
||||
tmp.putBitString(new DerValue(DerValue.tag_Sequence,
|
||||
out.toByteArray()).toByteArray());
|
||||
return new DerValue(tmp.toByteArray());
|
||||
}
|
||||
|
||||
private static DerValue altAlgId(DerValue algId) throws IOException {
|
||||
DerInputStream in = algId.toDerInputStream();
|
||||
DerOutputStream bytes = new DerOutputStream();
|
||||
bytes.putOID(in.getOID());
|
||||
// encode parameters as NULL if not present or omit if NULL
|
||||
if (in.available() == 0) {
|
||||
bytes.putNull();
|
||||
}
|
||||
DerOutputStream tmp = new DerOutputStream();
|
||||
tmp.write(DerValue.tag_Sequence, bytes);
|
||||
return new DerValue(tmp.toByteArray());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,7 +297,6 @@ class Bundle {
|
||||
}
|
||||
|
||||
// First, weed out any empty timezone or metazone names from myMap.
|
||||
// Fill in any missing abbreviations if locale is "en".
|
||||
for (Iterator<String> it = myMap.keySet().iterator(); it.hasNext();) {
|
||||
String key = it.next();
|
||||
if (key.startsWith(CLDRConverter.TIMEZONE_ID_PREFIX)
|
||||
@@ -310,10 +309,6 @@ class Bundle {
|
||||
it.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (id.equals("en")) {
|
||||
fillInJREs(key, nameMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (Iterator<String> it = myMap.keySet().iterator(); it.hasNext();) {
|
||||
@@ -626,42 +621,6 @@ class Bundle {
|
||||
return null;
|
||||
}
|
||||
|
||||
static List<Object[]> jreTimeZoneNames = Arrays.asList(TimeZoneNames.getContents());
|
||||
private void fillInJREs(String key, Map<String, String> map) {
|
||||
String tzid = null;
|
||||
|
||||
if (key.startsWith(CLDRConverter.METAZONE_ID_PREFIX)) {
|
||||
// Look for tzid
|
||||
String meta = key.substring(CLDRConverter.METAZONE_ID_PREFIX.length());
|
||||
if (meta.equals("GMT")) {
|
||||
tzid = meta;
|
||||
} else {
|
||||
for (String tz : CLDRConverter.handlerMetaZones.keySet()) {
|
||||
if (CLDRConverter.handlerMetaZones.get(tz).equals(meta)) {
|
||||
tzid = tz;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
tzid = key.substring(CLDRConverter.TIMEZONE_ID_PREFIX.length());
|
||||
}
|
||||
|
||||
if (tzid != null) {
|
||||
for (Object[] jreZone : jreTimeZoneNames) {
|
||||
if (jreZone[0].equals(tzid)) {
|
||||
for (int i = 0; i < ZONE_NAME_KEYS.length; i++) {
|
||||
if (map.get(ZONE_NAME_KEYS[i]) == null) {
|
||||
String[] jreNames = (String[])jreZone[1];
|
||||
map.put(ZONE_NAME_KEYS[i], jreNames[i]);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void convert(CalendarType calendarType, char cldrLetter, int count, StringBuilder sb) {
|
||||
switch (cldrLetter) {
|
||||
case 'G':
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2020, 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,6 @@
|
||||
|
||||
package build.tools.cldrconverter;
|
||||
|
||||
import static build.tools.cldrconverter.Bundle.jreTimeZoneNames;
|
||||
import build.tools.cldrconverter.BundleGenerator.BundleType;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -87,7 +86,9 @@ public class CLDRConverter {
|
||||
static final String ZONE_NAME_PREFIX = "timezone.displayname.";
|
||||
static final String METAZONE_ID_PREFIX = "metazone.id.";
|
||||
static final String PARENT_LOCALE_PREFIX = "parentLocale.";
|
||||
static final String META_EMPTY_ZONE_NAME = "EMPTY_ZONE";
|
||||
static final String[] EMPTY_ZONE = {"", "", "", "", "", ""};
|
||||
static final String META_ETCUTC_ZONE_NAME = "ETC_UTC";
|
||||
|
||||
private static SupplementDataParseHandler handlerSuppl;
|
||||
private static LikelySubtagsParseHandler handlerLikelySubtags;
|
||||
@@ -666,60 +667,6 @@ public class CLDRConverter {
|
||||
private static Map<String, Object> extractZoneNames(Map<String, Object> map, String id) {
|
||||
Map<String, Object> names = new HashMap<>();
|
||||
|
||||
// Copy over missing time zone ids from JRE for English locale
|
||||
if (id.equals("en")) {
|
||||
Map<String[], String> jreMetaMap = new HashMap<>();
|
||||
jreTimeZoneNames.stream().forEach(e -> {
|
||||
String tzid = (String)e[0];
|
||||
String[] data = (String[])e[1];
|
||||
|
||||
if (map.get(TIMEZONE_ID_PREFIX + tzid) == null &&
|
||||
handlerMetaZones.get(tzid) == null ||
|
||||
handlerMetaZones.get(tzid) != null &&
|
||||
map.get(METAZONE_ID_PREFIX + handlerMetaZones.get(tzid)) == null) {
|
||||
|
||||
// First, check the alias
|
||||
String canonID = canonicalTZMap.get(tzid);
|
||||
if (canonID != null && !tzid.equals(canonID)) {
|
||||
Object value = map.get(TIMEZONE_ID_PREFIX + canonID);
|
||||
if (value != null) {
|
||||
names.put(tzid, value);
|
||||
return;
|
||||
} else {
|
||||
String meta = handlerMetaZones.get(canonID);
|
||||
if (meta != null) {
|
||||
value = map.get(METAZONE_ID_PREFIX + meta);
|
||||
if (value != null) {
|
||||
names.put(tzid, meta);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check the CLDR meta key
|
||||
Optional<Map.Entry<String, String>> cldrMeta =
|
||||
handlerMetaZones.getData().entrySet().stream()
|
||||
.filter(me ->
|
||||
Arrays.deepEquals(data,
|
||||
(String[])map.get(METAZONE_ID_PREFIX + me.getValue())))
|
||||
.findAny();
|
||||
cldrMeta.ifPresentOrElse(meta -> names.put(tzid, meta.getValue()), () -> {
|
||||
// Check the JRE meta key, add if there is not.
|
||||
Optional<Map.Entry<String[], String>> jreMeta =
|
||||
jreMetaMap.entrySet().stream()
|
||||
.filter(jm -> Arrays.deepEquals(data, jm.getKey()))
|
||||
.findAny();
|
||||
jreMeta.ifPresentOrElse(meta -> names.put(tzid, meta.getValue()), () -> {
|
||||
String metaName = "JRE_" + tzid.replaceAll("[/-]", "_");
|
||||
names.put(METAZONE_ID_PREFIX + metaName, data);
|
||||
names.put(tzid, metaName);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
getAvailableZoneIds().stream().forEach(tzid -> {
|
||||
// If the tzid is deprecated, get the data for the replacement id
|
||||
String tzKey = Optional.ofNullable((String)handlerSupplMeta.get(tzid))
|
||||
@@ -727,7 +674,14 @@ public class CLDRConverter {
|
||||
Object data = map.get(TIMEZONE_ID_PREFIX + tzKey);
|
||||
|
||||
if (data instanceof String[]) {
|
||||
names.put(tzid, data);
|
||||
// Hack for UTC. UTC is an alias to Etc/UTC in CLDR
|
||||
if (tzid.equals("Etc/UTC") && !map.containsKey(TIMEZONE_ID_PREFIX + "UTC")) {
|
||||
names.put(METAZONE_ID_PREFIX + META_ETCUTC_ZONE_NAME, data);
|
||||
names.put(tzid, META_ETCUTC_ZONE_NAME);
|
||||
names.put("UTC", META_ETCUTC_ZONE_NAME);
|
||||
} else {
|
||||
names.put(tzid, data);
|
||||
}
|
||||
} else {
|
||||
String meta = handlerMetaZones.get(tzKey);
|
||||
if (meta != null) {
|
||||
@@ -744,24 +698,23 @@ public class CLDRConverter {
|
||||
|
||||
// exemplar cities.
|
||||
Map<String, Object> exCities = map.entrySet().stream()
|
||||
.filter(e -> e.getKey().startsWith(CLDRConverter.EXEMPLAR_CITY_PREFIX))
|
||||
.collect(Collectors
|
||||
.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
.filter(e -> e.getKey().startsWith(CLDRConverter.EXEMPLAR_CITY_PREFIX))
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
names.putAll(exCities);
|
||||
|
||||
if (!id.equals("en") &&
|
||||
!names.isEmpty()) {
|
||||
// CLDR does not have UTC entry, so add it here.
|
||||
names.put("UTC", EMPTY_ZONE);
|
||||
|
||||
// no metazone zones
|
||||
Arrays.asList(handlerMetaZones.get(MetaZonesParseHandler.NO_METAZONE_KEY)
|
||||
.split("\\s")).stream()
|
||||
.forEach(tz -> {
|
||||
names.put(tz, EMPTY_ZONE);
|
||||
});
|
||||
// If there's no UTC entry at this point, add an empty one
|
||||
if (!names.isEmpty() && !names.containsKey("UTC")) {
|
||||
names.putIfAbsent(METAZONE_ID_PREFIX + META_EMPTY_ZONE_NAME, EMPTY_ZONE);
|
||||
names.put("UTC", META_EMPTY_ZONE_NAME);
|
||||
}
|
||||
|
||||
// Finally some compatibility stuff
|
||||
ZoneId.SHORT_IDS.entrySet().stream()
|
||||
.filter(e -> !names.containsKey(e.getKey()) && names.containsKey(e.getValue()))
|
||||
.forEach(e -> {
|
||||
names.put(e.getKey(), names.get(e.getValue()));
|
||||
});
|
||||
|
||||
return names;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ import build.tools.symbolgenerator.CreateSymbols
|
||||
import build.tools.symbolgenerator.CreateSymbols
|
||||
.ModuleHeaderDescription
|
||||
.RequiresDescription;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.ByteArrayInputStream;
|
||||
@@ -41,6 +42,7 @@ import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.FileVisitResult;
|
||||
import java.nio.file.FileVisitor;
|
||||
@@ -198,7 +200,7 @@ public class CreateSymbols {
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public void createSymbols(String ctDescriptionFile, String ctSymLocation, CtSymKind ctSymKind) throws IOException {
|
||||
LoadDescriptions data = load(Paths.get(ctDescriptionFile), null);
|
||||
LoadDescriptions data = load(Paths.get(ctDescriptionFile));
|
||||
|
||||
splitHeaders(data.classes);
|
||||
|
||||
@@ -237,7 +239,7 @@ public class CreateSymbols {
|
||||
|
||||
public static String EXTENSION = ".sig";
|
||||
|
||||
LoadDescriptions load(Path ctDescription, String deletePlatform) throws IOException {
|
||||
LoadDescriptions load(Path ctDescription) throws IOException {
|
||||
List<PlatformInput> platforms = new ArrayList<>();
|
||||
Set<String> generatePlatforms = null;
|
||||
|
||||
@@ -247,13 +249,11 @@ public class CreateSymbols {
|
||||
case "generate":
|
||||
String[] platformsAttr = reader.attributes.get("platforms").split(":");
|
||||
generatePlatforms = new HashSet<>(List.of(platformsAttr));
|
||||
generatePlatforms.remove(deletePlatform);
|
||||
reader.moveNext();
|
||||
break;
|
||||
case "platform":
|
||||
PlatformInput platform = PlatformInput.load(reader);
|
||||
if (!platform.version.equals(deletePlatform))
|
||||
platforms.add(platform);
|
||||
platforms.add(platform);
|
||||
reader.moveNext();
|
||||
break;
|
||||
default:
|
||||
@@ -318,18 +318,28 @@ public class CreateSymbols {
|
||||
|
||||
ClassList result = new ClassList();
|
||||
|
||||
for (ClassDescription desc : classes.values()) {
|
||||
classes.values().forEach(result::add);
|
||||
return new LoadDescriptions(result,
|
||||
modules,
|
||||
new ArrayList<>(platforms));
|
||||
}
|
||||
|
||||
private static void removeVersion(LoadDescriptions load, String deletePlatform) {
|
||||
for (Iterator<ClassDescription> it = load.classes.iterator(); it.hasNext();) {
|
||||
ClassDescription desc = it.next();
|
||||
Iterator<ClassHeaderDescription> chdIt = desc.header.iterator();
|
||||
|
||||
while (chdIt.hasNext()) {
|
||||
ClassHeaderDescription chd = chdIt.next();
|
||||
|
||||
chd.versions = reduce(chd.versions, generatePlatforms);
|
||||
if (chd.versions.isEmpty())
|
||||
chd.versions = removeVersion(chd.versions, deletePlatform);
|
||||
if (chd.versions.isEmpty()) {
|
||||
chdIt.remove();
|
||||
}
|
||||
}
|
||||
|
||||
if (desc.header.isEmpty()) {
|
||||
it.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -338,7 +348,7 @@ public class CreateSymbols {
|
||||
while (methodIt.hasNext()) {
|
||||
MethodDescription method = methodIt.next();
|
||||
|
||||
method.versions = reduce(method.versions, generatePlatforms);
|
||||
method.versions = removeVersion(method.versions, deletePlatform);
|
||||
if (method.versions.isEmpty())
|
||||
methodIt.remove();
|
||||
}
|
||||
@@ -348,35 +358,29 @@ public class CreateSymbols {
|
||||
while (fieldIt.hasNext()) {
|
||||
FieldDescription field = fieldIt.next();
|
||||
|
||||
field.versions = reduce(field.versions, generatePlatforms);
|
||||
field.versions = removeVersion(field.versions, deletePlatform);
|
||||
if (field.versions.isEmpty())
|
||||
fieldIt.remove();
|
||||
}
|
||||
|
||||
result.add(desc);
|
||||
}
|
||||
|
||||
Map<String, ModuleDescription> moduleList = new HashMap<>();
|
||||
|
||||
for (ModuleDescription desc : modules.values()) {
|
||||
for (Iterator<ModuleDescription> it = load.modules.values().iterator(); it.hasNext();) {
|
||||
ModuleDescription desc = it.next();
|
||||
Iterator<ModuleHeaderDescription> mhdIt = desc.header.iterator();
|
||||
|
||||
while (mhdIt.hasNext()) {
|
||||
ModuleHeaderDescription mhd = mhdIt.next();
|
||||
|
||||
mhd.versions = reduce(mhd.versions, generatePlatforms);
|
||||
mhd.versions = removeVersion(mhd.versions, deletePlatform);
|
||||
if (mhd.versions.isEmpty())
|
||||
mhdIt.remove();
|
||||
}
|
||||
|
||||
if (desc.header.isEmpty()) {
|
||||
it.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
moduleList.put(desc.name, desc);
|
||||
}
|
||||
|
||||
return new LoadDescriptions(result, moduleList, platforms);
|
||||
}
|
||||
|
||||
static final class LoadDescriptions {
|
||||
@@ -458,6 +462,17 @@ public class CreateSymbols {
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static String removeVersion(String original, String remove) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
for (char v : original.toCharArray()) {
|
||||
if (v != remove.charAt(0)) {
|
||||
sb.append(v);
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static class PlatformInput {
|
||||
public final String version;
|
||||
public final String basePlatform;
|
||||
@@ -1129,24 +1144,9 @@ public class CreateSymbols {
|
||||
Map<String, ModuleDescription> modules = new HashMap<>();
|
||||
|
||||
for (VersionDescription desc : versions) {
|
||||
List<byte[]> classFileData = new ArrayList<>();
|
||||
Iterable<byte[]> classFileData = loadClassData(desc.classes);
|
||||
|
||||
try (BufferedReader descIn =
|
||||
Files.newBufferedReader(Paths.get(desc.classes))) {
|
||||
String line;
|
||||
while ((line = descIn.readLine()) != null) {
|
||||
ByteArrayOutputStream data = new ByteArrayOutputStream();
|
||||
for (int i = 0; i < line.length(); i += 2) {
|
||||
String hex = line.substring(i, i + 2);
|
||||
data.write(Integer.parseInt(hex, 16));
|
||||
}
|
||||
classFileData.add(data.toByteArray());
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
throw new IllegalStateException(ex);
|
||||
}
|
||||
|
||||
loadVersionClasses(classes, modules, classFileData, excludesIncludes, desc.version);
|
||||
loadVersionClasses(classes, modules, classFileData, excludesIncludes, desc.version, null);
|
||||
}
|
||||
|
||||
List<PlatformInput> platforms =
|
||||
@@ -1156,7 +1156,7 @@ public class CreateSymbols {
|
||||
null))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
dumpDescriptions(classes, modules, platforms, descDest.resolve("symbols"), args);
|
||||
dumpDescriptions(classes, modules, platforms, Set.of(), descDest.resolve("symbols"), args);
|
||||
}
|
||||
//where:
|
||||
private static final String DO_NO_MODIFY =
|
||||
@@ -1189,11 +1189,33 @@ public class CreateSymbols {
|
||||
"# ##########################################################\n" +
|
||||
"#\n";
|
||||
|
||||
private Iterable<byte[]> loadClassData(String path) {
|
||||
List<byte[]> classFileData = new ArrayList<>();
|
||||
|
||||
try (BufferedReader descIn =
|
||||
Files.newBufferedReader(Paths.get(path))) {
|
||||
String line;
|
||||
while ((line = descIn.readLine()) != null) {
|
||||
ByteArrayOutputStream data = new ByteArrayOutputStream();
|
||||
for (int i = 0; i < line.length(); i += 2) {
|
||||
String hex = line.substring(i, i + 2);
|
||||
data.write(Integer.parseInt(hex, 16));
|
||||
}
|
||||
classFileData.add(data.toByteArray());
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
throw new IllegalStateException(ex);
|
||||
}
|
||||
|
||||
return classFileData;
|
||||
}
|
||||
|
||||
private void loadVersionClasses(ClassList classes,
|
||||
Map<String, ModuleDescription> modules,
|
||||
Iterable<byte[]> classData,
|
||||
ExcludeIncludeList excludesIncludes,
|
||||
String version) {
|
||||
String version,
|
||||
String baseline) {
|
||||
Map<String, ModuleDescription> currentVersionModules =
|
||||
new HashMap<>();
|
||||
|
||||
@@ -1307,12 +1329,12 @@ public class CreateSymbols {
|
||||
ClassDescription existing = classes.find(clazz.name, true);
|
||||
|
||||
if (existing != null) {
|
||||
addClassHeader(existing, header, version);
|
||||
addClassHeader(existing, header, version, baseline);
|
||||
for (MethodDescription currentMethod : clazz.methods) {
|
||||
addMethod(existing, currentMethod, version);
|
||||
addMethod(existing, currentMethod, version, baseline);
|
||||
}
|
||||
for (FieldDescription currentField : clazz.fields) {
|
||||
addField(existing, currentField, version);
|
||||
addField(existing, currentField, version, baseline);
|
||||
}
|
||||
} else {
|
||||
classes.add(clazz);
|
||||
@@ -1349,6 +1371,7 @@ public class CreateSymbols {
|
||||
private void dumpDescriptions(ClassList classes,
|
||||
Map<String, ModuleDescription> modules,
|
||||
List<PlatformInput> versions,
|
||||
Set<String> forceWriteVersions,
|
||||
Path ctDescriptionFile,
|
||||
String[] args) throws IOException {
|
||||
classes.sort();
|
||||
@@ -1410,7 +1433,7 @@ public class CreateSymbols {
|
||||
for (PlatformInput desc : versions) {
|
||||
List<String> files = desc.files;
|
||||
|
||||
if (files == null) {
|
||||
if (files == null || forceWriteVersions.contains(desc.version)) {
|
||||
files = new ArrayList<>();
|
||||
for (Entry<String, List<ClassDescription>> e : module2Classes.entrySet()) {
|
||||
StringWriter data = new StringWriter();
|
||||
@@ -1428,9 +1451,34 @@ public class CreateSymbols {
|
||||
String dataString = data.toString();
|
||||
|
||||
if (!dataString.isEmpty()) {
|
||||
try (Writer out = Files.newBufferedWriter(f)) {
|
||||
out.append(DO_NO_MODIFY.replace("{YEAR}", String.valueOf(year)));
|
||||
out.write(dataString);
|
||||
String existingYear = null;
|
||||
boolean hasChange = true;
|
||||
if (Files.isReadable(f)) {
|
||||
String oldContent = new String(Files.readAllBytes(f), StandardCharsets.UTF_8);
|
||||
int yearPos = DO_NO_MODIFY.indexOf("{YEAR}");
|
||||
String headerPattern =
|
||||
Pattern.quote(DO_NO_MODIFY.substring(0, yearPos)) +
|
||||
"([0-9]+)(, [0-9]+)?" +
|
||||
Pattern.quote(DO_NO_MODIFY.substring(yearPos + "{YEAR}".length()));
|
||||
String pattern = headerPattern +
|
||||
Pattern.quote(dataString);
|
||||
Matcher m = Pattern.compile(pattern, Pattern.MULTILINE).matcher(oldContent);
|
||||
if (m.matches()) {
|
||||
hasChange = false;
|
||||
} else {
|
||||
m = Pattern.compile(headerPattern).matcher(oldContent);
|
||||
if (m.find()) {
|
||||
existingYear = m.group(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (hasChange) {
|
||||
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.write(dataString);
|
||||
}
|
||||
}
|
||||
files.add(f.getFileName().toString());
|
||||
}
|
||||
@@ -1472,15 +1520,17 @@ public class CreateSymbols {
|
||||
}
|
||||
}
|
||||
|
||||
public void createIncrementalBaseLine(String ctDescriptionFile,
|
||||
String excludeFile,
|
||||
String[] args) throws IOException {
|
||||
String specVersion = System.getProperty("java.specification.version");
|
||||
private void incrementalUpdate(String ctDescriptionFile,
|
||||
String excludeFile,
|
||||
String platformVersion,
|
||||
Iterable<byte[]> classBytes,
|
||||
Function<LoadDescriptions, String> baseline,
|
||||
String[] args) throws IOException {
|
||||
String currentVersion =
|
||||
Integer.toString(Integer.parseInt(specVersion), Character.MAX_RADIX);
|
||||
currentVersion = currentVersion.toUpperCase(Locale.ROOT);
|
||||
Integer.toString(Integer.parseInt(platformVersion), Character.MAX_RADIX);
|
||||
String version = currentVersion.toUpperCase(Locale.ROOT);
|
||||
Path ctDescriptionPath = Paths.get(ctDescriptionFile).toAbsolutePath();
|
||||
LoadDescriptions data = load(ctDescriptionPath, currentVersion);
|
||||
LoadDescriptions data = load(ctDescriptionPath);
|
||||
|
||||
ClassList classes = data.classes;
|
||||
Map<String, ModuleDescription> modules = data.modules;
|
||||
@@ -1488,24 +1538,70 @@ public class CreateSymbols {
|
||||
|
||||
ExcludeIncludeList excludeList =
|
||||
ExcludeIncludeList.create(excludeFile);
|
||||
loadVersionClasses(classes, modules, classBytes, excludeList, "$", version);
|
||||
|
||||
Iterable<byte[]> classBytes = dumpCurrentClasses();
|
||||
loadVersionClasses(classes, modules, classBytes, excludeList, currentVersion);
|
||||
removeVersion(data, version);
|
||||
|
||||
String baseline;
|
||||
|
||||
if (versions.isEmpty()) {
|
||||
baseline = null;
|
||||
} else {
|
||||
baseline = versions.stream()
|
||||
.sorted((v1, v2) -> v2.version.compareTo(v1.version))
|
||||
.findFirst()
|
||||
.get()
|
||||
.version;
|
||||
for (ModuleDescription md : data.modules.values()) {
|
||||
for (ModuleHeaderDescription header : md.header) {
|
||||
header.versions = header.versions.replace("$", version);
|
||||
}
|
||||
}
|
||||
|
||||
versions.add(new PlatformInput(currentVersion, baseline, null));
|
||||
dumpDescriptions(classes, modules, versions, ctDescriptionPath, args);
|
||||
for (ClassDescription clazzDesc : data.classes) {
|
||||
for (ClassHeaderDescription header : clazzDesc.header) {
|
||||
header.versions = header.versions.replace("$", version);
|
||||
}
|
||||
for (MethodDescription method : clazzDesc.methods) {
|
||||
method.versions = method.versions.replace("$", version);
|
||||
}
|
||||
for (FieldDescription field : clazzDesc.fields) {
|
||||
field.versions = field.versions.replace("$", version);
|
||||
}
|
||||
}
|
||||
|
||||
if (versions.stream().noneMatch(inp -> version.equals(inp.version))) {
|
||||
versions.add(new PlatformInput(version, baseline.apply(data), null));
|
||||
}
|
||||
|
||||
Set<String> writeVersions = new HashSet<>();
|
||||
|
||||
writeVersions.add(version);
|
||||
|
||||
//re-write all platforms that have version as their basline:
|
||||
versions.stream()
|
||||
.filter(inp -> version.equals(inp.basePlatform))
|
||||
.map(inp -> inp.version)
|
||||
.forEach(writeVersions::add);
|
||||
dumpDescriptions(classes, modules, versions, writeVersions, ctDescriptionPath, args);
|
||||
}
|
||||
|
||||
public void createIncrementalBaseLineFromDataFile(String ctDescriptionFile,
|
||||
String excludeFile,
|
||||
String version,
|
||||
String dataFile,
|
||||
String baseline,
|
||||
String[] args) throws IOException {
|
||||
incrementalUpdate(ctDescriptionFile, excludeFile, version, loadClassData(dataFile), x -> baseline, args);
|
||||
}
|
||||
|
||||
public void createIncrementalBaseLine(String ctDescriptionFile,
|
||||
String excludeFile,
|
||||
String[] args) throws IOException {
|
||||
String specVersion = System.getProperty("java.specification.version");
|
||||
Iterable<byte[]> classBytes = dumpCurrentClasses();
|
||||
Function<LoadDescriptions, String> baseline = data -> {
|
||||
if (data.versions.isEmpty()) {
|
||||
return null;
|
||||
} else {
|
||||
return data.versions.stream()
|
||||
.sorted((v1, v2) -> v2.version.compareTo(v1.version))
|
||||
.findFirst()
|
||||
.get()
|
||||
.version;
|
||||
}
|
||||
};
|
||||
incrementalUpdate(ctDescriptionFile, excludeFile, specVersion, classBytes, baseline, args);
|
||||
}
|
||||
|
||||
private List<byte[]> dumpCurrentClasses() throws IOException {
|
||||
@@ -1599,7 +1695,7 @@ public class CreateSymbols {
|
||||
classes.add(clazzDesc);
|
||||
}
|
||||
|
||||
addClassHeader(clazzDesc, headerDesc, version);
|
||||
addClassHeader(clazzDesc, headerDesc, version, null);
|
||||
|
||||
for (Method m : cf.methods) {
|
||||
if (!include(m.access_flags.flags))
|
||||
@@ -1611,7 +1707,7 @@ public class CreateSymbols {
|
||||
for (Attribute attr : m.attributes) {
|
||||
readAttribute(cf, methDesc, attr);
|
||||
}
|
||||
addMethod(clazzDesc, methDesc, version);
|
||||
addMethod(clazzDesc, methDesc, version, null);
|
||||
}
|
||||
for (Field f : cf.fields) {
|
||||
if (!include(f.access_flags.flags))
|
||||
@@ -1623,7 +1719,7 @@ public class CreateSymbols {
|
||||
for (Attribute attr : f.attributes) {
|
||||
readAttribute(cf, fieldDesc, attr);
|
||||
}
|
||||
addField(clazzDesc, fieldDesc, version);
|
||||
addField(clazzDesc, fieldDesc, version, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1682,11 +1778,11 @@ public class CreateSymbols {
|
||||
return (accessFlags & (AccessFlags.ACC_PUBLIC | AccessFlags.ACC_PROTECTED)) != 0;
|
||||
}
|
||||
|
||||
private void addClassHeader(ClassDescription clazzDesc, ClassHeaderDescription headerDesc, String version) {
|
||||
private void addClassHeader(ClassDescription clazzDesc, ClassHeaderDescription headerDesc, String version, String baseline) {
|
||||
//normalize:
|
||||
boolean existed = false;
|
||||
for (ClassHeaderDescription existing : clazzDesc.header) {
|
||||
if (existing.equals(headerDesc)) {
|
||||
if (existing.equals(headerDesc) && (!existed || (baseline != null && existing.versions.contains(baseline)))) {
|
||||
headerDesc = existing;
|
||||
existed = true;
|
||||
} else {
|
||||
@@ -1718,14 +1814,13 @@ public class CreateSymbols {
|
||||
}
|
||||
}
|
||||
|
||||
private void addMethod(ClassDescription clazzDesc, MethodDescription methDesc, String version) {
|
||||
private void addMethod(ClassDescription clazzDesc, MethodDescription methDesc, String version, String baseline) {
|
||||
//normalize:
|
||||
boolean methodExisted = false;
|
||||
for (MethodDescription existing : clazzDesc.methods) {
|
||||
if (existing.equals(methDesc)) {
|
||||
if (existing.equals(methDesc) && (!methodExisted || (baseline != null && existing.versions.contains(baseline)))) {
|
||||
methodExisted = true;
|
||||
methDesc = existing;
|
||||
break;
|
||||
}
|
||||
}
|
||||
methDesc.versions += version;
|
||||
@@ -1734,13 +1829,12 @@ public class CreateSymbols {
|
||||
}
|
||||
}
|
||||
|
||||
private void addField(ClassDescription clazzDesc, FieldDescription fieldDesc, String version) {
|
||||
private void addField(ClassDescription clazzDesc, FieldDescription fieldDesc, String version, String baseline) {
|
||||
boolean fieldExisted = false;
|
||||
for (FieldDescription existing : clazzDesc.fields) {
|
||||
if (existing.equals(fieldDesc)) {
|
||||
if (existing.equals(fieldDesc) && (!fieldExisted || (baseline != null && existing.versions.contains(baseline)))) {
|
||||
fieldExisted = true;
|
||||
fieldDesc = existing;
|
||||
break;
|
||||
}
|
||||
}
|
||||
fieldDesc.versions += version;
|
||||
@@ -2133,6 +2227,7 @@ public class CreateSymbols {
|
||||
}
|
||||
|
||||
static abstract class FeatureDescription {
|
||||
int flagsNormalization = ~0;
|
||||
int flags;
|
||||
boolean deprecated;
|
||||
String signature;
|
||||
@@ -2197,7 +2292,7 @@ public class CreateSymbols {
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 3;
|
||||
hash = 89 * hash + this.flags;
|
||||
hash = 89 * hash + (this.flags & flagsNormalization);
|
||||
hash = 89 * hash + (this.deprecated ? 1 : 0);
|
||||
hash = 89 * hash + Objects.hashCode(this.signature);
|
||||
hash = 89 * hash + listHashCode(this.classAnnotations);
|
||||
@@ -2214,7 +2309,7 @@ public class CreateSymbols {
|
||||
return false;
|
||||
}
|
||||
final FeatureDescription other = (FeatureDescription) obj;
|
||||
if (this.flags != other.flags) {
|
||||
if ((this.flags & flagsNormalization) != (other.flags & flagsNormalization)) {
|
||||
return false;
|
||||
}
|
||||
if (this.deprecated != other.deprecated) {
|
||||
@@ -2785,6 +2880,7 @@ public class CreateSymbols {
|
||||
}
|
||||
|
||||
static class MethodDescription extends FeatureDescription {
|
||||
static int METHODS_FLAGS_NORMALIZATION = ~0;
|
||||
String name;
|
||||
String descriptor;
|
||||
List<String> thrownTypes;
|
||||
@@ -2792,6 +2888,10 @@ public class CreateSymbols {
|
||||
List<List<AnnotationDescription>> classParameterAnnotations;
|
||||
List<List<AnnotationDescription>> runtimeParameterAnnotations;
|
||||
|
||||
public MethodDescription() {
|
||||
flagsNormalization = METHODS_FLAGS_NORMALIZATION;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = super.hashCode();
|
||||
@@ -3516,6 +3616,24 @@ public class CreateSymbols {
|
||||
args);
|
||||
break;
|
||||
}
|
||||
case "build-description-incremental-file": {
|
||||
if (args.length != 6 && args.length != 7) {
|
||||
help();
|
||||
return ;
|
||||
}
|
||||
|
||||
if (args.length == 7) {
|
||||
if ("--normalize-method-flags".equals(args[6])) {
|
||||
MethodDescription.METHODS_FLAGS_NORMALIZATION = ~(0x100 | 0x20);
|
||||
} else {
|
||||
help();
|
||||
return ;
|
||||
}
|
||||
}
|
||||
|
||||
new CreateSymbols().createIncrementalBaseLineFromDataFile(args[1], args[2], args[3], args[4], "<none>".equals(args[5]) ? null : args[5], args);
|
||||
break;
|
||||
}
|
||||
case "build-description-incremental": {
|
||||
if (args.length != 3) {
|
||||
help();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, 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
|
||||
@@ -32,26 +32,15 @@ JAVA_RC_FLAGS += -I$(TOPDIR)/src/java.base/windows/native/launcher/icons
|
||||
|
||||
################################################################################
|
||||
|
||||
# On windows, the debuginfo files get the same name as for java.dll. Build
|
||||
# into another dir and copy selectively so debuginfo for java.dll isn't
|
||||
# overwritten.
|
||||
$(eval $(call SetupBuildLauncher, java, \
|
||||
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
|
||||
LDFLAGS_solaris := -R$(OPENWIN_HOME)/lib$(OPENJDK_TARGET_CPU_ISADIR), \
|
||||
LIBS_windows := user32.lib comctl32.lib, \
|
||||
EXTRA_RC_FLAGS := $(JAVA_RC_FLAGS), \
|
||||
VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
|
||||
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/java_objs, \
|
||||
OPTIMIZATION := HIGH, \
|
||||
))
|
||||
|
||||
$(SUPPORT_OUTPUTDIR)/modules_cmds/java.base/java$(EXE_SUFFIX): $(BUILD_LAUNCHER_java)
|
||||
$(MKDIR) -p $(@D)
|
||||
$(RM) $@
|
||||
$(CP) $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/java_objs/java$(EXE_SUFFIX) $@
|
||||
|
||||
TARGETS += $(SUPPORT_OUTPUTDIR)/modules_cmds/java.base/java$(EXE_SUFFIX)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
$(eval $(call SetupBuildLauncher, javaw, \
|
||||
CFLAGS := -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
|
||||
|
||||
@@ -28,7 +28,8 @@ include LauncherCommon.gmk
|
||||
$(eval $(call SetupBuildLauncher, jconsole, \
|
||||
MAIN_CLASS := sun.tools.jconsole.JConsole, \
|
||||
JAVA_ARGS := --add-opens java.base/java.io=jdk.jconsole \
|
||||
-Djconsole.showOutputViewer, \
|
||||
-Djconsole.showOutputViewer \
|
||||
-Djdk.attach.allowAttachSelf=true, \
|
||||
CFLAGS_windows := -DJAVAW, \
|
||||
LIBS_windows := user32.lib, \
|
||||
))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, 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
|
||||
@@ -24,6 +24,7 @@
|
||||
#
|
||||
|
||||
include JdkNativeCompilation.gmk
|
||||
include TextFileProcessing.gmk
|
||||
|
||||
ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,/../lib/jli)
|
||||
|
||||
@@ -118,14 +119,25 @@ define SetupBuildLauncherBody
|
||||
$1_LIBS :=
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($$($1_MACOSX_PRIVILEGED), true)
|
||||
$1_PLIST_FILE := Info-privileged.plist
|
||||
$1_PLIST_SRC_FILE := Info-privileged.plist
|
||||
else
|
||||
$1_PLIST_FILE := Info-cmdline.plist
|
||||
$1_PLIST_SRC_FILE := Info-cmdline.plist
|
||||
endif
|
||||
|
||||
$1_CFLAGS += -DPACKAGE_PATH='"$(PACKAGE_PATH)"'
|
||||
$1_LDFLAGS += -Wl,-all_load \
|
||||
-sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
|
||||
|
||||
$1_PLIST_FILE := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/$1/Info.plist
|
||||
|
||||
$$(eval $$(call SetupTextFileProcessing, BUILD_PLIST_$1, \
|
||||
SOURCE_FILES := $$(TOPDIR)/src/java.base/macosx/native/launcher/$$($1_PLIST_SRC_FILE), \
|
||||
OUTPUT_FILE := $$($1_PLIST_FILE), \
|
||||
REPLACEMENTS := \
|
||||
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).$(VERSION_SHORT).$1 ; \
|
||||
@@VERSION@@ => $(VERSION_NUMBER) ; \
|
||||
))
|
||||
|
||||
$1_LDFLAGS += -Wl,-all_load -sectcreate __TEXT __info_plist $$($1_PLIST_FILE)
|
||||
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
$1_LDFLAGS += -exported_symbols_list \
|
||||
$(SUPPORT_OUTPUTDIR)/build-static/exported.symbols
|
||||
@@ -159,12 +171,12 @@ define SetupBuildLauncherBody
|
||||
EXTRA_FILES := $(LAUNCHER_SRC)/main.c, \
|
||||
OPTIMIZATION := $$($1_OPTIMIZATION), \
|
||||
CFLAGS := $$(CFLAGS_JDKEXE) $$($1_CFLAGS) \
|
||||
$(LAUNCHER_CFLAGS) \
|
||||
$(VERSION_CFLAGS) \
|
||||
-DLAUNCHER_NAME='"$(LAUNCHER_NAME)"' \
|
||||
$$(LAUNCHER_CFLAGS) \
|
||||
$$(VERSION_CFLAGS) \
|
||||
-DLAUNCHER_NAME='"$$(LAUNCHER_NAME)"' \
|
||||
-DPROGNAME='"$1"' \
|
||||
$$($1_CFLAGS), \
|
||||
CFLAGS_solaris := -KPIC -DHAVE_GETHRTIME, \
|
||||
CFLAGS_solaris := -KPIC, \
|
||||
CFLAGS_windows := $$($1_CFLAGS_windows), \
|
||||
LDFLAGS := $$(LDFLAGS_JDKEXE) \
|
||||
$$(ORIGIN_ARG) \
|
||||
@@ -193,6 +205,8 @@ define SetupBuildLauncherBody
|
||||
$1 += $$(BUILD_LAUNCHER_$1)
|
||||
TARGETS += $$($1)
|
||||
|
||||
$$(BUILD_LAUNCHER_$1): $$(BUILD_PLIST_$1)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, jli_static)
|
||||
endif
|
||||
|
||||
@@ -372,6 +372,13 @@ else
|
||||
BUILD_LIBLCMS_INCLUDE_FILES :=
|
||||
endif
|
||||
|
||||
ifeq ($(TOOLCHAIN_TYPE), clang)
|
||||
ifeq ($(TOOLCHAIN_VERSION), 10.1)
|
||||
# Work around an optimizer bug seen with Xcode 10.1, but fixed by 10.3
|
||||
BUILD_LIBLCMS_cmsopt.c_CFLAGS := -O0
|
||||
endif
|
||||
endif
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
|
||||
NAME := lcms, \
|
||||
INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
|
||||
|
||||
@@ -107,9 +107,9 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
DISABLED_WARNINGS_clang := deprecated-declarations, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
-L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN) \
|
||||
-fobjc-link-runtime, \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LIBS := \
|
||||
-lobjc \
|
||||
-framework JavaNativeFoundation \
|
||||
-framework CoreServices \
|
||||
-framework Security \
|
||||
@@ -152,26 +152,27 @@ ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
|
||||
|
||||
############################################################################
|
||||
# Create symlinks to libjsig in each JVM variant sub dir
|
||||
LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base)
|
||||
ifneq ($(STATIC_LIBS), true)
|
||||
LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base)
|
||||
|
||||
# $1 variant subdir
|
||||
define CreateSymlinks
|
||||
# Always symlink from libdir/variant/libjsig.so -> ../libjsig.so.
|
||||
$(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig): \
|
||||
$(LIB_OUTPUTDIR)/$(call SHARED_LIBRARY,jsig)
|
||||
# $1 variant subdir
|
||||
define CreateSymlinks
|
||||
# Always symlink from libdir/variant/libjsig.so -> ../libjsig.so.
|
||||
$(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig): \
|
||||
$(LIB_OUTPUTDIR)/$(call SHARED_LIBRARY,jsig)
|
||||
$$(call MakeDir, $$(@D))
|
||||
$(RM) $$@
|
||||
$(LN) -s ../$$(@F) $$@
|
||||
|
||||
TARGETS += $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig)
|
||||
endef
|
||||
|
||||
# The subdir is the same as the variant for client and minimal, for all
|
||||
# others it's server.
|
||||
VARIANT_SUBDIRS := $(filter client minimal, $(JVM_VARIANTS)) \
|
||||
$(if $(filter-out client minimal, $(JVM_VARIANTS)), server)
|
||||
$(foreach v, $(VARIANT_SUBDIRS), $(eval $(call CreateSymlinks,$v)))
|
||||
TARGETS += $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig)
|
||||
endef
|
||||
|
||||
# The subdir is the same as the variant for client and minimal, for all
|
||||
# others it's server.
|
||||
VARIANT_SUBDIRS := $(filter client minimal, $(JVM_VARIANTS)) \
|
||||
$(if $(filter-out client minimal, $(JVM_VARIANTS)), server)
|
||||
$(foreach v, $(VARIANT_SUBDIRS), $(eval $(call CreateSymlinks,$v)))
|
||||
endif
|
||||
############################################################################
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2012, 2020, 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
|
||||
@@ -657,7 +657,6 @@ compare_bin_file() {
|
||||
# pdb files.
|
||||
PDB_DIRS="$(ls -d \
|
||||
{$OTHER,$THIS}/support/modules_{cmds,libs}/{*,*/*} \
|
||||
{$OTHER,$THIS}/support/native/java.base/java_objs \
|
||||
)"
|
||||
export _NT_SYMBOL_PATH="$(echo $PDB_DIRS | tr ' ' ';')"
|
||||
fi
|
||||
|
||||
@@ -878,7 +878,7 @@ endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
|
||||
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c
|
||||
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit := jvm.lib
|
||||
else
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libbootclssearch_agent += -lpthread
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libsystemclssearch_agent += -lpthread
|
||||
@@ -1512,6 +1512,7 @@ else
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libgetphase001 += -lpthread
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libgetphase002 += -lpthread
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libterminatedThread += -lpthread
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit += -ljvm
|
||||
endif
|
||||
|
||||
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_LIBRARIES, \
|
||||
|
||||
@@ -1280,6 +1280,10 @@ source %{
|
||||
case Op_GetAndSetN:
|
||||
case Op_GetAndAddI:
|
||||
case Op_GetAndAddL:
|
||||
#if INCLUDE_SHENANDOAHGC
|
||||
case Op_ShenandoahCompareAndSwapP:
|
||||
case Op_ShenandoahCompareAndSwapN:
|
||||
#endif
|
||||
return true;
|
||||
case Op_CompareAndExchangeI:
|
||||
case Op_CompareAndExchangeN:
|
||||
@@ -3892,7 +3896,8 @@ operand immL_4294967295()
|
||||
|
||||
operand immL_bitmask()
|
||||
%{
|
||||
predicate(((n->get_long() & 0xc000000000000000l) == 0)
|
||||
predicate((n->get_long() != 0)
|
||||
&& ((n->get_long() & 0xc000000000000000l) == 0)
|
||||
&& is_power_of_2(n->get_long() + 1));
|
||||
match(ConL);
|
||||
|
||||
@@ -3903,7 +3908,8 @@ operand immL_bitmask()
|
||||
|
||||
operand immI_bitmask()
|
||||
%{
|
||||
predicate(((n->get_int() & 0xc0000000) == 0)
|
||||
predicate((n->get_int() != 0)
|
||||
&& ((n->get_int() & 0xc0000000) == 0)
|
||||
&& is_power_of_2(n->get_int() + 1));
|
||||
match(ConI);
|
||||
|
||||
@@ -7916,17 +7922,6 @@ instruct castII(iRegI dst)
|
||||
ins_pipe(pipe_class_empty);
|
||||
%}
|
||||
|
||||
instruct castLL(iRegL dst)
|
||||
%{
|
||||
match(Set dst (CastLL dst));
|
||||
|
||||
size(0);
|
||||
format %{ "# castLL of $dst" %}
|
||||
ins_encode(/* empty encoding */);
|
||||
ins_cost(0);
|
||||
ins_pipe(pipe_class_empty);
|
||||
%}
|
||||
|
||||
// ============================================================================
|
||||
// Atomic operation instructions
|
||||
//
|
||||
@@ -11367,11 +11362,13 @@ instruct ubfmwI(iRegINoSp dst, iRegIorL2I src, immI lshift_count, immI rshift_co
|
||||
instruct ubfxwI(iRegINoSp dst, iRegIorL2I src, immI rshift, immI_bitmask mask)
|
||||
%{
|
||||
match(Set dst (AndI (URShiftI src rshift) mask));
|
||||
// Make sure we are not going to exceed what ubfxw can do.
|
||||
predicate((exact_log2(n->in(2)->get_int() + 1) + (n->in(1)->in(2)->get_int() & 31)) <= (31 + 1));
|
||||
|
||||
ins_cost(INSN_COST);
|
||||
format %{ "ubfxw $dst, $src, $rshift, $mask" %}
|
||||
ins_encode %{
|
||||
int rshift = $rshift$$constant;
|
||||
int rshift = $rshift$$constant & 31;
|
||||
long mask = $mask$$constant;
|
||||
int width = exact_log2(mask+1);
|
||||
__ ubfxw(as_Register($dst$$reg),
|
||||
@@ -11382,13 +11379,15 @@ instruct ubfxwI(iRegINoSp dst, iRegIorL2I src, immI rshift, immI_bitmask mask)
|
||||
instruct ubfxL(iRegLNoSp dst, iRegL src, immI rshift, immL_bitmask mask)
|
||||
%{
|
||||
match(Set dst (AndL (URShiftL src rshift) mask));
|
||||
// Make sure we are not going to exceed what ubfx can do.
|
||||
predicate((exact_log2_long(n->in(2)->get_long() + 1) + (n->in(1)->in(2)->get_int() & 63)) <= (63 + 1));
|
||||
|
||||
ins_cost(INSN_COST);
|
||||
format %{ "ubfx $dst, $src, $rshift, $mask" %}
|
||||
ins_encode %{
|
||||
int rshift = $rshift$$constant;
|
||||
int rshift = $rshift$$constant & 63;
|
||||
long mask = $mask$$constant;
|
||||
int width = exact_log2(mask+1);
|
||||
int width = exact_log2_long(mask+1);
|
||||
__ ubfx(as_Register($dst$$reg),
|
||||
as_Register($src$$reg), rshift, width);
|
||||
%}
|
||||
@@ -11400,11 +11399,13 @@ instruct ubfxL(iRegLNoSp dst, iRegL src, immI rshift, immL_bitmask mask)
|
||||
instruct ubfxIConvI2L(iRegLNoSp dst, iRegIorL2I src, immI rshift, immI_bitmask mask)
|
||||
%{
|
||||
match(Set dst (ConvI2L (AndI (URShiftI src rshift) mask)));
|
||||
// Make sure we are not going to exceed what ubfxw can do.
|
||||
predicate((exact_log2(n->in(1)->in(2)->get_int() + 1) + (n->in(1)->in(1)->in(2)->get_int() & 31)) <= (31 + 1));
|
||||
|
||||
ins_cost(INSN_COST * 2);
|
||||
format %{ "ubfx $dst, $src, $rshift, $mask" %}
|
||||
ins_encode %{
|
||||
int rshift = $rshift$$constant;
|
||||
int rshift = $rshift$$constant & 31;
|
||||
long mask = $mask$$constant;
|
||||
int width = exact_log2(mask+1);
|
||||
__ ubfx(as_Register($dst$$reg),
|
||||
@@ -11445,7 +11446,7 @@ instruct ubfizL(iRegLNoSp dst, iRegL src, immI lshift, immL_bitmask mask)
|
||||
ins_encode %{
|
||||
int lshift = $lshift$$constant;
|
||||
long mask = $mask$$constant;
|
||||
int width = exact_log2(mask+1);
|
||||
int width = exact_log2_long(mask+1);
|
||||
__ ubfiz(as_Register($dst$$reg),
|
||||
as_Register($src$$reg), lshift, width);
|
||||
%}
|
||||
@@ -13182,7 +13183,7 @@ instruct MoveL2D_reg_reg(vRegD dst, iRegL src) %{
|
||||
instruct clearArray_reg_reg(iRegL_R11 cnt, iRegP_R10 base, Universe dummy, rFlagsReg cr)
|
||||
%{
|
||||
match(Set dummy (ClearArray cnt base));
|
||||
effect(USE_KILL cnt, USE_KILL base);
|
||||
effect(USE_KILL cnt, USE_KILL base, KILL cr);
|
||||
|
||||
ins_cost(4 * INSN_COST);
|
||||
format %{ "ClearArray $cnt, $base" %}
|
||||
@@ -14617,9 +14618,9 @@ instruct ShouldNotReachHere() %{
|
||||
format %{ "ShouldNotReachHere" %}
|
||||
|
||||
ins_encode %{
|
||||
// +1 so NativeInstruction::is_sigill_zombie_not_entrant() doesn't
|
||||
// return true
|
||||
__ dpcs1(0xdead + 1);
|
||||
if (is_reachable()) {
|
||||
__ dpcs1(0xdead + 1);
|
||||
}
|
||||
%}
|
||||
|
||||
ins_pipe(pipe_class_default);
|
||||
|
||||
@@ -181,31 +181,35 @@ define(`BFX_INSN',
|
||||
`instruct $3$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src, immI rshift, imm$1_bitmask mask)
|
||||
%{
|
||||
match(Set dst (And$1 ($2$1 src rshift) mask));
|
||||
// Make sure we are not going to exceed what $3 can do.
|
||||
predicate((exact_log2$6(n->in(2)->get_$5() + 1) + (n->in(1)->in(2)->get_int() & $4)) <= ($4 + 1));
|
||||
|
||||
ins_cost(INSN_COST);
|
||||
format %{ "$3 $dst, $src, $rshift, $mask" %}
|
||||
ins_encode %{
|
||||
int rshift = $rshift$$constant;
|
||||
int rshift = $rshift$$constant & $4;
|
||||
long mask = $mask$$constant;
|
||||
int width = exact_log2(mask+1);
|
||||
int width = exact_log2$6(mask+1);
|
||||
__ $3(as_Register($dst$$reg),
|
||||
as_Register($src$$reg), rshift, width);
|
||||
%}
|
||||
ins_pipe(ialu_reg_shift);
|
||||
%}')
|
||||
BFX_INSN(I,URShift,ubfxw)
|
||||
BFX_INSN(L,URShift,ubfx)
|
||||
BFX_INSN(I, URShift, ubfxw, 31, int)
|
||||
BFX_INSN(L, URShift, ubfx, 63, long, _long)
|
||||
|
||||
// We can use ubfx when extending an And with a mask when we know mask
|
||||
// is positive. We know that because immI_bitmask guarantees it.
|
||||
instruct ubfxIConvI2L(iRegLNoSp dst, iRegIorL2I src, immI rshift, immI_bitmask mask)
|
||||
%{
|
||||
match(Set dst (ConvI2L (AndI (URShiftI src rshift) mask)));
|
||||
// Make sure we are not going to exceed what ubfxw can do.
|
||||
predicate((exact_log2(n->in(1)->in(2)->get_int() + 1) + (n->in(1)->in(1)->in(2)->get_int() & 31)) <= (31 + 1));
|
||||
|
||||
ins_cost(INSN_COST * 2);
|
||||
format %{ "ubfx $dst, $src, $rshift, $mask" %}
|
||||
ins_encode %{
|
||||
int rshift = $rshift$$constant;
|
||||
int rshift = $rshift$$constant & 31;
|
||||
long mask = $mask$$constant;
|
||||
int width = exact_log2(mask+1);
|
||||
__ ubfx(as_Register($dst$$reg),
|
||||
@@ -228,7 +232,7 @@ define(`UBFIZ_INSN',
|
||||
ins_encode %{
|
||||
int lshift = $lshift$$constant;
|
||||
long mask = $mask$$constant;
|
||||
int width = exact_log2(mask+1);
|
||||
int width = exact_log2$5(mask+1);
|
||||
__ $2(as_Register($dst$$reg),
|
||||
as_Register($src$$reg), lshift, width);
|
||||
%}
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "oops/objArrayKlass.hpp"
|
||||
#include "runtime/frame.inline.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "utilities/macros.hpp"
|
||||
#include "vmreg_aarch64.inline.hpp"
|
||||
|
||||
|
||||
@@ -2818,6 +2819,12 @@ void LIR_Assembler::negate(LIR_Opr left, LIR_Opr dest, LIR_Opr tmp) {
|
||||
|
||||
|
||||
void LIR_Assembler::leal(LIR_Opr addr, LIR_Opr dest, LIR_PatchCode patch_code, CodeEmitInfo* info) {
|
||||
#if INCLUDE_SHENANDOAHGC
|
||||
if (UseShenandoahGC && patch_code != lir_patch_none) {
|
||||
deoptimize_trap(info);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
assert(patch_code == lir_patch_none, "Patch code not supported");
|
||||
__ lea(dest->as_register_lo(), as_Address(addr->as_address_ptr()));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* Copyright (c) 2018, Red Hat, Inc. All rights reserved.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "c1/c1_LIRAssembler.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
|
||||
#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp"
|
||||
#include "gc/shenandoah/c1/shenandoahBarrierSetC1.hpp"
|
||||
|
||||
#define __ masm->masm()->
|
||||
|
||||
void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler* masm) {
|
||||
Register addr = _addr->as_register_lo();
|
||||
Register newval = _new_value->as_register();
|
||||
Register cmpval = _cmp_value->as_register();
|
||||
Register tmp1 = _tmp1->as_register();
|
||||
Register tmp2 = _tmp2->as_register();
|
||||
Register result = result_opr()->as_register();
|
||||
|
||||
ShenandoahBarrierSet::assembler()->storeval_barrier(masm->masm(), newval, rscratch2);
|
||||
|
||||
if (UseCompressedOops) {
|
||||
__ encode_heap_oop(tmp1, cmpval);
|
||||
cmpval = tmp1;
|
||||
__ encode_heap_oop(tmp2, newval);
|
||||
newval = tmp2;
|
||||
}
|
||||
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(masm->masm(), addr, cmpval, newval, /*acquire*/ false, /*release*/ true, /*weak*/ false, /*is_cae*/ false, result);
|
||||
}
|
||||
|
||||
#undef __
|
||||
|
||||
#ifdef ASSERT
|
||||
#define __ gen->lir(__FILE__, __LINE__)->
|
||||
#else
|
||||
#define __ gen->lir()->
|
||||
#endif
|
||||
|
||||
LIR_Opr ShenandoahBarrierSetC1::atomic_cmpxchg_at_resolved(LIRAccess& access, LIRItem& cmp_value, LIRItem& new_value) {
|
||||
BasicType bt = access.type();
|
||||
if (access.is_oop()) {
|
||||
LIRGenerator *gen = access.gen();
|
||||
if (ShenandoahSATBBarrier) {
|
||||
pre_barrier(gen, access.access_emit_info(), access.decorators(), access.resolved_addr(),
|
||||
LIR_OprFact::illegalOpr /* pre_val */);
|
||||
}
|
||||
if (ShenandoahCASBarrier) {
|
||||
cmp_value.load_item();
|
||||
new_value.load_item();
|
||||
|
||||
LIR_Opr t1 = gen->new_register(T_OBJECT);
|
||||
LIR_Opr t2 = gen->new_register(T_OBJECT);
|
||||
LIR_Opr addr = access.resolved_addr()->as_address_ptr()->base();
|
||||
LIR_Opr result = gen->new_register(T_INT);
|
||||
|
||||
__ append(new LIR_OpShenandoahCompareAndSwap(addr, cmp_value.result(), new_value.result(), t1, t2, result));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return BarrierSetC1::atomic_cmpxchg_at_resolved(access, cmp_value, new_value);
|
||||
}
|
||||
|
||||
LIR_Opr ShenandoahBarrierSetC1::atomic_xchg_at_resolved(LIRAccess& access, LIRItem& value) {
|
||||
LIRGenerator* gen = access.gen();
|
||||
BasicType type = access.type();
|
||||
|
||||
LIR_Opr result = gen->new_register(type);
|
||||
value.load_item();
|
||||
LIR_Opr value_opr = value.result();
|
||||
|
||||
if (access.is_oop()) {
|
||||
value_opr = storeval_barrier(access.gen(), value_opr, access.access_emit_info(), access.decorators());
|
||||
}
|
||||
|
||||
assert(type == T_INT || type == T_OBJECT || type == T_ARRAY LP64_ONLY( || type == T_LONG ), "unexpected type");
|
||||
LIR_Opr tmp = gen->new_register(T_INT);
|
||||
__ xchg(access.resolved_addr(), value_opr, result, tmp);
|
||||
|
||||
if (access.is_oop()) {
|
||||
result = load_reference_barrier(access.gen(), result, LIR_OprFact::addressConst(0));
|
||||
LIR_Opr tmp = gen->new_register(type);
|
||||
__ move(result, tmp);
|
||||
result = tmp;
|
||||
if (ShenandoahSATBBarrier) {
|
||||
pre_barrier(access.gen(), access.access_emit_info(), access.decorators(), LIR_OprFact::illegalOpr,
|
||||
result /* pre_val */);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,676 @@
|
||||
/*
|
||||
* Copyright (c) 2018, 2020, Red Hat, Inc. All rights reserved.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
|
||||
#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp"
|
||||
#include "gc/shenandoah/shenandoahForwarding.hpp"
|
||||
#include "gc/shenandoah/shenandoahHeap.hpp"
|
||||
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
|
||||
#include "gc/shenandoah/shenandoahRuntime.hpp"
|
||||
#include "gc/shenandoah/shenandoahThreadLocalData.hpp"
|
||||
#include "gc/shenandoah/heuristics/shenandoahHeuristics.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "interpreter/interp_masm.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "runtime/thread.hpp"
|
||||
#ifdef COMPILER1
|
||||
#include "c1/c1_LIRAssembler.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "gc/shenandoah/c1/shenandoahBarrierSetC1.hpp"
|
||||
#endif
|
||||
|
||||
#define __ masm->
|
||||
|
||||
address ShenandoahBarrierSetAssembler::_shenandoah_lrb = NULL;
|
||||
|
||||
void ShenandoahBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
|
||||
Register src, Register dst, Register count, RegSet saved_regs) {
|
||||
if (is_oop) {
|
||||
bool dest_uninitialized = (decorators & IS_DEST_UNINITIALIZED) != 0;
|
||||
if ((ShenandoahSATBBarrier && !dest_uninitialized) || ShenandoahStoreValEnqueueBarrier || ShenandoahLoadRefBarrier) {
|
||||
|
||||
Label done;
|
||||
|
||||
// Avoid calling runtime if count == 0
|
||||
__ cbz(count, done);
|
||||
|
||||
// Is GC active?
|
||||
Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
|
||||
__ ldrb(rscratch1, gc_state);
|
||||
if (ShenandoahSATBBarrier && dest_uninitialized) {
|
||||
__ tbz(rscratch1, ShenandoahHeap::HAS_FORWARDED_BITPOS, done);
|
||||
} else {
|
||||
__ mov(rscratch2, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::MARKING);
|
||||
__ tst(rscratch1, rscratch2);
|
||||
__ br(Assembler::EQ, done);
|
||||
}
|
||||
|
||||
__ push(saved_regs, sp);
|
||||
if (UseCompressedOops) {
|
||||
__ call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::arraycopy_barrier_narrow_oop_entry), src, dst, count);
|
||||
} else {
|
||||
__ call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::arraycopy_barrier_oop_entry), src, dst, count);
|
||||
}
|
||||
__ pop(saved_regs, sp);
|
||||
__ bind(done);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::shenandoah_write_barrier_pre(MacroAssembler* masm,
|
||||
Register obj,
|
||||
Register pre_val,
|
||||
Register thread,
|
||||
Register tmp,
|
||||
bool tosca_live,
|
||||
bool expand_call) {
|
||||
if (ShenandoahSATBBarrier) {
|
||||
satb_write_barrier_pre(masm, obj, pre_val, thread, tmp, tosca_live, expand_call);
|
||||
}
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::satb_write_barrier_pre(MacroAssembler* masm,
|
||||
Register obj,
|
||||
Register pre_val,
|
||||
Register thread,
|
||||
Register tmp,
|
||||
bool tosca_live,
|
||||
bool expand_call) {
|
||||
// If expand_call is true then we expand the call_VM_leaf macro
|
||||
// directly to skip generating the check by
|
||||
// InterpreterMacroAssembler::call_VM_leaf_base that checks _last_sp.
|
||||
|
||||
assert(thread == rthread, "must be");
|
||||
|
||||
Label done;
|
||||
Label runtime;
|
||||
|
||||
assert_different_registers(obj, pre_val, tmp, rscratch1);
|
||||
assert(pre_val != noreg && tmp != noreg, "expecting a register");
|
||||
|
||||
Address in_progress(thread, in_bytes(ShenandoahThreadLocalData::satb_mark_queue_active_offset()));
|
||||
Address index(thread, in_bytes(ShenandoahThreadLocalData::satb_mark_queue_index_offset()));
|
||||
Address buffer(thread, in_bytes(ShenandoahThreadLocalData::satb_mark_queue_buffer_offset()));
|
||||
|
||||
// Is marking active?
|
||||
if (in_bytes(ShenandoahSATBMarkQueue::byte_width_of_active()) == 4) {
|
||||
__ ldrw(tmp, in_progress);
|
||||
} else {
|
||||
assert(in_bytes(ShenandoahSATBMarkQueue::byte_width_of_active()) == 1, "Assumption");
|
||||
__ ldrb(tmp, in_progress);
|
||||
}
|
||||
__ cbzw(tmp, done);
|
||||
|
||||
// Do we need to load the previous value?
|
||||
if (obj != noreg) {
|
||||
__ load_heap_oop(pre_val, Address(obj, 0), noreg, noreg, AS_RAW);
|
||||
}
|
||||
|
||||
// Is the previous value null?
|
||||
__ cbz(pre_val, done);
|
||||
|
||||
// Can we store original value in the thread's buffer?
|
||||
// Is index == 0?
|
||||
// (The index field is typed as size_t.)
|
||||
|
||||
__ ldr(tmp, index); // tmp := *index_adr
|
||||
__ cbz(tmp, runtime); // tmp == 0?
|
||||
// If yes, goto runtime
|
||||
|
||||
__ sub(tmp, tmp, wordSize); // tmp := tmp - wordSize
|
||||
__ str(tmp, index); // *index_adr := tmp
|
||||
__ ldr(rscratch1, buffer);
|
||||
__ add(tmp, tmp, rscratch1); // tmp := tmp + *buffer_adr
|
||||
|
||||
// Record the previous value
|
||||
__ str(pre_val, Address(tmp, 0));
|
||||
__ b(done);
|
||||
|
||||
__ bind(runtime);
|
||||
// save the live input values
|
||||
RegSet saved = RegSet::of(pre_val);
|
||||
if (tosca_live) saved += RegSet::of(r0);
|
||||
if (obj != noreg) saved += RegSet::of(obj);
|
||||
|
||||
__ push(saved, sp);
|
||||
|
||||
// Calling the runtime using the regular call_VM_leaf mechanism generates
|
||||
// code (generated by InterpreterMacroAssember::call_VM_leaf_base)
|
||||
// that checks that the *(rfp+frame::interpreter_frame_last_sp) == NULL.
|
||||
//
|
||||
// If we care generating the pre-barrier without a frame (e.g. in the
|
||||
// intrinsified Reference.get() routine) then ebp might be pointing to
|
||||
// the caller frame and so this check will most likely fail at runtime.
|
||||
//
|
||||
// Expanding the call directly bypasses the generation of the check.
|
||||
// So when we do not have have a full interpreter frame on the stack
|
||||
// expand_call should be passed true.
|
||||
|
||||
if (expand_call) {
|
||||
assert(pre_val != c_rarg1, "smashed arg");
|
||||
__ super_call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_ref_field_pre_entry), pre_val, thread);
|
||||
} else {
|
||||
__ call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_ref_field_pre_entry), pre_val, thread);
|
||||
}
|
||||
|
||||
__ pop(saved, sp);
|
||||
|
||||
__ bind(done);
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::resolve_forward_pointer(MacroAssembler* masm, Register dst, Register tmp) {
|
||||
assert(ShenandoahLoadRefBarrier || ShenandoahCASBarrier, "Should be enabled");
|
||||
Label is_null;
|
||||
__ cbz(dst, is_null);
|
||||
resolve_forward_pointer_not_null(masm, dst, tmp);
|
||||
__ bind(is_null);
|
||||
}
|
||||
|
||||
// IMPORTANT: This must preserve all registers, even rscratch1 and rscratch2, except those explicitely
|
||||
// passed in.
|
||||
void ShenandoahBarrierSetAssembler::resolve_forward_pointer_not_null(MacroAssembler* masm, Register dst, Register tmp) {
|
||||
assert(ShenandoahLoadRefBarrier || ShenandoahCASBarrier, "Should be enabled");
|
||||
// The below loads the mark word, checks if the lowest two bits are
|
||||
// set, and if so, clear the lowest two bits and copy the result
|
||||
// to dst. Otherwise it leaves dst alone.
|
||||
// Implementing this is surprisingly awkward. I do it here by:
|
||||
// - Inverting the mark word
|
||||
// - Test lowest two bits == 0
|
||||
// - If so, set the lowest two bits
|
||||
// - Invert the result back, and copy to dst
|
||||
|
||||
bool borrow_reg = (tmp == noreg);
|
||||
if (borrow_reg) {
|
||||
// No free registers available. Make one useful.
|
||||
tmp = rscratch1;
|
||||
if (tmp == dst) {
|
||||
tmp = rscratch2;
|
||||
}
|
||||
__ push(RegSet::of(tmp), sp);
|
||||
}
|
||||
|
||||
assert_different_registers(tmp, dst);
|
||||
|
||||
Label done;
|
||||
__ ldr(tmp, Address(dst, oopDesc::mark_offset_in_bytes()));
|
||||
__ eon(tmp, tmp, zr);
|
||||
__ ands(zr, tmp, markOopDesc::lock_mask_in_place);
|
||||
__ br(Assembler::NE, done);
|
||||
__ orr(tmp, tmp, markOopDesc::marked_value);
|
||||
__ eon(dst, tmp, zr);
|
||||
__ bind(done);
|
||||
|
||||
if (borrow_reg) {
|
||||
__ pop(RegSet::of(tmp), sp);
|
||||
}
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address load_addr) {
|
||||
assert(ShenandoahLoadRefBarrier, "Should be enabled");
|
||||
assert(dst != rscratch2, "need rscratch2");
|
||||
assert_different_registers(load_addr.base(), load_addr.index(), rscratch1, rscratch2);
|
||||
|
||||
Label done;
|
||||
__ enter();
|
||||
Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
|
||||
__ ldrb(rscratch2, gc_state);
|
||||
|
||||
// Check for heap stability
|
||||
__ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done);
|
||||
|
||||
// use r1 for load address
|
||||
Register result_dst = dst;
|
||||
if (dst == r1) {
|
||||
__ mov(rscratch1, dst);
|
||||
dst = rscratch1;
|
||||
}
|
||||
|
||||
// Save r0 and r1, unless it is an output register
|
||||
RegSet to_save = RegSet::of(r0, r1) - result_dst;
|
||||
__ push(to_save, sp);
|
||||
__ lea(r1, load_addr);
|
||||
__ mov(r0, dst);
|
||||
|
||||
__ far_call(RuntimeAddress(CAST_FROM_FN_PTR(address, ShenandoahBarrierSetAssembler::shenandoah_lrb())));
|
||||
|
||||
__ mov(result_dst, r0);
|
||||
__ pop(to_save, sp);
|
||||
|
||||
__ bind(done);
|
||||
__ leave();
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::storeval_barrier(MacroAssembler* masm, Register dst, Register tmp) {
|
||||
if (ShenandoahStoreValEnqueueBarrier) {
|
||||
// Save possibly live regs.
|
||||
RegSet live_regs = RegSet::range(r0, r4) - dst;
|
||||
__ push(live_regs, sp);
|
||||
__ strd(v0, __ pre(sp, 2 * -wordSize));
|
||||
|
||||
satb_write_barrier_pre(masm, noreg, dst, rthread, tmp, true, false);
|
||||
|
||||
// Restore possibly live regs.
|
||||
__ ldrd(v0, __ post(sp, 2 * wordSize));
|
||||
__ pop(live_regs, sp);
|
||||
}
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm, Register dst, Address load_addr) {
|
||||
if (ShenandoahLoadRefBarrier) {
|
||||
Label is_null;
|
||||
__ cbz(dst, is_null);
|
||||
load_reference_barrier_not_null(masm, dst, load_addr);
|
||||
__ bind(is_null);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Arguments:
|
||||
//
|
||||
// Inputs:
|
||||
// src: oop location to load from, might be clobbered
|
||||
//
|
||||
// Output:
|
||||
// dst: oop loaded from src location
|
||||
//
|
||||
// Kill:
|
||||
// rscratch1 (scratch reg)
|
||||
//
|
||||
// Alias:
|
||||
// dst: rscratch1 (might use rscratch1 as temporary output register to avoid clobbering src)
|
||||
//
|
||||
void ShenandoahBarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
|
||||
Register dst, Address src, Register tmp1, Register tmp_thread) {
|
||||
// 1: non-reference load, no additional barrier is needed
|
||||
if (!is_reference_type(type)) {
|
||||
BarrierSetAssembler::load_at(masm, decorators, type, dst, src, tmp1, tmp_thread);
|
||||
return;
|
||||
}
|
||||
|
||||
// 2: load a reference from src location and apply LRB if needed
|
||||
if (ShenandoahBarrierSet::need_load_reference_barrier(decorators, type)) {
|
||||
Register result_dst = dst;
|
||||
|
||||
// Preserve src location for LRB
|
||||
if (dst == src.base() || dst == src.index()) {
|
||||
dst = rscratch1;
|
||||
}
|
||||
assert_different_registers(dst, src.base(), src.index());
|
||||
|
||||
BarrierSetAssembler::load_at(masm, decorators, type, dst, src, tmp1, tmp_thread);
|
||||
|
||||
load_reference_barrier(masm, dst, src);
|
||||
|
||||
if (dst != result_dst) {
|
||||
__ mov(result_dst, dst);
|
||||
dst = result_dst;
|
||||
}
|
||||
} else {
|
||||
BarrierSetAssembler::load_at(masm, decorators, type, dst, src, tmp1, tmp_thread);
|
||||
}
|
||||
|
||||
// 3: apply keep-alive barrier if needed
|
||||
if (ShenandoahBarrierSet::need_keep_alive_barrier(decorators, type)) {
|
||||
__ enter();
|
||||
__ push_call_clobbered_registers();
|
||||
satb_write_barrier_pre(masm /* masm */,
|
||||
noreg /* obj */,
|
||||
dst /* pre_val */,
|
||||
rthread /* thread */,
|
||||
tmp1 /* tmp */,
|
||||
true /* tosca_live */,
|
||||
true /* expand_call */);
|
||||
__ pop_call_clobbered_registers();
|
||||
__ leave();
|
||||
}
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
|
||||
Address dst, Register val, Register tmp1, Register tmp2) {
|
||||
bool on_oop = type == T_OBJECT || type == T_ARRAY;
|
||||
if (!on_oop) {
|
||||
BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2);
|
||||
return;
|
||||
}
|
||||
|
||||
// flatten object address if needed
|
||||
if (dst.index() == noreg && dst.offset() == 0) {
|
||||
if (dst.base() != r3) {
|
||||
__ mov(r3, dst.base());
|
||||
}
|
||||
} else {
|
||||
__ lea(r3, dst);
|
||||
}
|
||||
|
||||
shenandoah_write_barrier_pre(masm,
|
||||
r3 /* obj */,
|
||||
tmp2 /* pre_val */,
|
||||
rthread /* thread */,
|
||||
tmp1 /* tmp */,
|
||||
val != noreg /* tosca_live */,
|
||||
false /* expand_call */);
|
||||
|
||||
if (val == noreg) {
|
||||
BarrierSetAssembler::store_at(masm, decorators, type, Address(r3, 0), noreg, noreg, noreg);
|
||||
} else {
|
||||
storeval_barrier(masm, val, tmp1);
|
||||
// G1 barrier needs uncompressed oop for region cross check.
|
||||
Register new_val = val;
|
||||
if (UseCompressedOops) {
|
||||
new_val = rscratch2;
|
||||
__ mov(new_val, val);
|
||||
}
|
||||
BarrierSetAssembler::store_at(masm, decorators, type, Address(r3, 0), val, noreg, noreg);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
|
||||
Register obj, Register tmp, Label& slowpath) {
|
||||
Label done;
|
||||
// Resolve jobject
|
||||
BarrierSetAssembler::try_resolve_jobject_in_native(masm, jni_env, obj, tmp, slowpath);
|
||||
|
||||
// Check for null.
|
||||
__ cbz(obj, done);
|
||||
|
||||
assert(obj != rscratch2, "need rscratch2");
|
||||
Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset());
|
||||
__ lea(rscratch2, gc_state);
|
||||
__ ldrb(rscratch2, Address(rscratch2));
|
||||
|
||||
// Check for heap in evacuation phase
|
||||
__ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath);
|
||||
|
||||
__ bind(done);
|
||||
}
|
||||
|
||||
|
||||
void ShenandoahBarrierSetAssembler::cmpxchg_oop(MacroAssembler* masm, Register addr, Register expected, Register new_val,
|
||||
bool acquire, bool release, bool weak, bool is_cae,
|
||||
Register result) {
|
||||
Register tmp1 = rscratch1;
|
||||
Register tmp2 = rscratch2;
|
||||
bool is_narrow = UseCompressedOops;
|
||||
Assembler::operand_size size = is_narrow ? Assembler::word : Assembler::xword;
|
||||
|
||||
assert_different_registers(addr, expected, new_val, tmp1, tmp2);
|
||||
|
||||
Label retry, done, fail;
|
||||
|
||||
// CAS, using LL/SC pair.
|
||||
__ bind(retry);
|
||||
__ load_exclusive(tmp1, addr, size, acquire);
|
||||
if (is_narrow) {
|
||||
__ cmpw(tmp1, expected);
|
||||
} else {
|
||||
__ cmp(tmp1, expected);
|
||||
}
|
||||
__ br(Assembler::NE, fail);
|
||||
__ store_exclusive(tmp2, new_val, addr, size, release);
|
||||
if (weak) {
|
||||
__ cmpw(tmp2, 0u); // If the store fails, return NE to our caller
|
||||
} else {
|
||||
__ cbnzw(tmp2, retry);
|
||||
}
|
||||
__ b(done);
|
||||
|
||||
__ bind(fail);
|
||||
// Check if rb(expected)==rb(tmp1)
|
||||
// Shuffle registers so that we have memory value ready for next expected.
|
||||
__ mov(tmp2, expected);
|
||||
__ mov(expected, tmp1);
|
||||
if (is_narrow) {
|
||||
__ decode_heap_oop(tmp1, tmp1);
|
||||
__ decode_heap_oop(tmp2, tmp2);
|
||||
}
|
||||
resolve_forward_pointer(masm, tmp1);
|
||||
resolve_forward_pointer(masm, tmp2);
|
||||
__ cmp(tmp1, tmp2);
|
||||
// Retry with expected now being the value we just loaded from addr.
|
||||
__ br(Assembler::EQ, retry);
|
||||
if (is_cae && is_narrow) {
|
||||
// For cmp-and-exchange and narrow oops, we need to restore
|
||||
// the compressed old-value. We moved it to 'expected' a few lines up.
|
||||
__ mov(tmp1, expected);
|
||||
}
|
||||
__ bind(done);
|
||||
|
||||
if (is_cae) {
|
||||
__ mov(result, tmp1);
|
||||
} else {
|
||||
__ cset(result, Assembler::EQ);
|
||||
}
|
||||
}
|
||||
|
||||
#undef __
|
||||
|
||||
#ifdef COMPILER1
|
||||
|
||||
#define __ ce->masm()->
|
||||
|
||||
void ShenandoahBarrierSetAssembler::gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub) {
|
||||
ShenandoahBarrierSetC1* bs = (ShenandoahBarrierSetC1*)BarrierSet::barrier_set()->barrier_set_c1();
|
||||
// At this point we know that marking is in progress.
|
||||
// If do_load() is true then we have to emit the
|
||||
// load of the previous value; otherwise it has already
|
||||
// been loaded into _pre_val.
|
||||
|
||||
__ bind(*stub->entry());
|
||||
|
||||
assert(stub->pre_val()->is_register(), "Precondition.");
|
||||
|
||||
Register pre_val_reg = stub->pre_val()->as_register();
|
||||
|
||||
if (stub->do_load()) {
|
||||
ce->mem2reg(stub->addr(), stub->pre_val(), T_OBJECT, stub->patch_code(), stub->info(), false /*wide*/, false /*unaligned*/);
|
||||
}
|
||||
__ cbz(pre_val_reg, *stub->continuation());
|
||||
ce->store_parameter(stub->pre_val()->as_register(), 0);
|
||||
__ far_call(RuntimeAddress(bs->pre_barrier_c1_runtime_code_blob()->code_begin()));
|
||||
__ b(*stub->continuation());
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::gen_load_reference_barrier_stub(LIR_Assembler* ce, ShenandoahLoadReferenceBarrierStub* stub) {
|
||||
ShenandoahBarrierSetC1* bs = (ShenandoahBarrierSetC1*)BarrierSet::barrier_set()->barrier_set_c1();
|
||||
__ bind(*stub->entry());
|
||||
|
||||
Register obj = stub->obj()->as_register();
|
||||
Register res = stub->result()->as_register();
|
||||
Register addr = stub->addr()->as_pointer_register();
|
||||
Register tmp1 = stub->tmp1()->as_register();
|
||||
Register tmp2 = stub->tmp2()->as_register();
|
||||
|
||||
assert(res == r0, "result must arrive in r0");
|
||||
|
||||
if (res != obj) {
|
||||
__ mov(res, obj);
|
||||
}
|
||||
|
||||
// Check for null.
|
||||
__ cbz(res, *stub->continuation());
|
||||
|
||||
// Check for object in cset.
|
||||
__ mov(tmp2, ShenandoahHeap::in_cset_fast_test_addr());
|
||||
__ lsr(tmp1, res, ShenandoahHeapRegion::region_size_bytes_shift_jint());
|
||||
__ ldrb(tmp2, Address(tmp2, tmp1));
|
||||
__ cbz(tmp2, *stub->continuation());
|
||||
|
||||
// Check if object is already forwarded.
|
||||
Label slow_path;
|
||||
__ ldr(tmp1, Address(res, oopDesc::mark_offset_in_bytes()));
|
||||
__ eon(tmp1, tmp1, zr);
|
||||
__ ands(zr, tmp1, markOopDesc::lock_mask_in_place);
|
||||
__ br(Assembler::NE, slow_path);
|
||||
|
||||
// Decode forwarded object.
|
||||
__ orr(tmp1, tmp1, markOopDesc::marked_value);
|
||||
__ eon(res, tmp1, zr);
|
||||
__ b(*stub->continuation());
|
||||
|
||||
__ bind(slow_path);
|
||||
ce->store_parameter(res, 0);
|
||||
ce->store_parameter(addr, 1);
|
||||
__ far_call(RuntimeAddress(bs->load_reference_barrier_rt_code_blob()->code_begin()));
|
||||
|
||||
__ b(*stub->continuation());
|
||||
}
|
||||
|
||||
#undef __
|
||||
|
||||
#define __ sasm->
|
||||
|
||||
void ShenandoahBarrierSetAssembler::generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm) {
|
||||
__ prologue("shenandoah_pre_barrier", false);
|
||||
|
||||
// arg0 : previous value of memory
|
||||
|
||||
BarrierSet* bs = BarrierSet::barrier_set();
|
||||
|
||||
const Register pre_val = r0;
|
||||
const Register thread = rthread;
|
||||
const Register tmp = rscratch1;
|
||||
|
||||
Address queue_index(thread, in_bytes(ShenandoahThreadLocalData::satb_mark_queue_index_offset()));
|
||||
Address buffer(thread, in_bytes(ShenandoahThreadLocalData::satb_mark_queue_buffer_offset()));
|
||||
|
||||
Label done;
|
||||
Label runtime;
|
||||
|
||||
// Is marking still active?
|
||||
Address gc_state(thread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
|
||||
__ ldrb(tmp, gc_state);
|
||||
__ mov(rscratch2, ShenandoahHeap::MARKING);
|
||||
__ tst(tmp, rscratch2);
|
||||
__ br(Assembler::EQ, done);
|
||||
|
||||
// Can we store original value in the thread's buffer?
|
||||
__ ldr(tmp, queue_index);
|
||||
__ cbz(tmp, runtime);
|
||||
|
||||
__ sub(tmp, tmp, wordSize);
|
||||
__ str(tmp, queue_index);
|
||||
__ ldr(rscratch2, buffer);
|
||||
__ add(tmp, tmp, rscratch2);
|
||||
__ load_parameter(0, rscratch2);
|
||||
__ str(rscratch2, Address(tmp, 0));
|
||||
__ b(done);
|
||||
|
||||
__ bind(runtime);
|
||||
__ push_call_clobbered_registers();
|
||||
__ load_parameter(0, pre_val);
|
||||
__ call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_ref_field_pre_entry), pre_val, thread);
|
||||
__ pop_call_clobbered_registers();
|
||||
__ bind(done);
|
||||
|
||||
__ epilogue();
|
||||
}
|
||||
|
||||
void ShenandoahBarrierSetAssembler::generate_c1_load_reference_barrier_runtime_stub(StubAssembler* sasm) {
|
||||
__ prologue("shenandoah_load_reference_barrier", false);
|
||||
// arg0 : object to be resolved
|
||||
|
||||
__ push_call_clobbered_registers();
|
||||
__ load_parameter(0, r0);
|
||||
__ load_parameter(1, r1);
|
||||
if (UseCompressedOops) {
|
||||
__ mov(lr, CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_narrow));
|
||||
} else {
|
||||
__ mov(lr, CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier));
|
||||
}
|
||||
__ blr(lr);
|
||||
__ mov(rscratch1, r0);
|
||||
__ pop_call_clobbered_registers();
|
||||
__ mov(r0, rscratch1);
|
||||
|
||||
__ epilogue();
|
||||
}
|
||||
|
||||
#undef __
|
||||
|
||||
#endif // COMPILER1
|
||||
|
||||
address ShenandoahBarrierSetAssembler::shenandoah_lrb() {
|
||||
assert(_shenandoah_lrb != NULL, "need load reference barrier stub");
|
||||
return _shenandoah_lrb;
|
||||
}
|
||||
|
||||
#define __ cgen->assembler()->
|
||||
|
||||
// Shenandoah load reference barrier.
|
||||
//
|
||||
// Input:
|
||||
// r0: OOP to evacuate. Not null.
|
||||
// r1: load address
|
||||
//
|
||||
// Output:
|
||||
// r0: Pointer to evacuated OOP.
|
||||
//
|
||||
// Trash rscratch1, rscratch2. Preserve everything else.
|
||||
address ShenandoahBarrierSetAssembler::generate_shenandoah_lrb(StubCodeGenerator* cgen) {
|
||||
|
||||
__ align(6);
|
||||
StubCodeMark mark(cgen, "StubRoutines", "shenandoah_lrb");
|
||||
address start = __ pc();
|
||||
|
||||
Label slow_path;
|
||||
__ mov(rscratch2, ShenandoahHeap::in_cset_fast_test_addr());
|
||||
__ lsr(rscratch1, r0, ShenandoahHeapRegion::region_size_bytes_shift_jint());
|
||||
__ ldrb(rscratch2, Address(rscratch2, rscratch1));
|
||||
__ tbnz(rscratch2, 0, slow_path);
|
||||
__ ret(lr);
|
||||
|
||||
__ bind(slow_path);
|
||||
__ enter(); // required for proper stackwalking of RuntimeStub frame
|
||||
|
||||
__ push_call_clobbered_registers();
|
||||
|
||||
if (UseCompressedOops) {
|
||||
__ mov(lr, CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_narrow));
|
||||
} else {
|
||||
__ mov(lr, CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier));
|
||||
}
|
||||
__ blr(lr);
|
||||
__ mov(rscratch1, r0);
|
||||
__ pop_call_clobbered_registers();
|
||||
__ mov(r0, rscratch1);
|
||||
|
||||
__ leave(); // required for proper stackwalking of RuntimeStub frame
|
||||
__ ret(lr);
|
||||
|
||||
return start;
|
||||
}
|
||||
|
||||
#undef __
|
||||
|
||||
void ShenandoahBarrierSetAssembler::barrier_stubs_init() {
|
||||
if (ShenandoahLoadRefBarrier) {
|
||||
int stub_code_size = 2048;
|
||||
ResourceMark rm;
|
||||
BufferBlob* bb = BufferBlob::create("shenandoah_barrier_stubs", stub_code_size);
|
||||
CodeBuffer buf(bb);
|
||||
StubCodeGenerator cgen(&buf);
|
||||
_shenandoah_lrb = generate_shenandoah_lrb(&cgen);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* Copyright (c) 2018, Red Hat, Inc. All rights reserved.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef CPU_AARCH64_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_AARCH64_HPP
|
||||
#define CPU_AARCH64_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_AARCH64_HPP
|
||||
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "gc/shared/barrierSetAssembler.hpp"
|
||||
#ifdef COMPILER1
|
||||
class LIR_Assembler;
|
||||
class ShenandoahPreBarrierStub;
|
||||
class ShenandoahLoadReferenceBarrierStub;
|
||||
class StubAssembler;
|
||||
#endif
|
||||
class StubCodeGenerator;
|
||||
|
||||
class ShenandoahBarrierSetAssembler: public BarrierSetAssembler {
|
||||
private:
|
||||
|
||||
static address _shenandoah_lrb;
|
||||
|
||||
void satb_write_barrier_pre(MacroAssembler* masm,
|
||||
Register obj,
|
||||
Register pre_val,
|
||||
Register thread,
|
||||
Register tmp,
|
||||
bool tosca_live,
|
||||
bool expand_call);
|
||||
void shenandoah_write_barrier_pre(MacroAssembler* masm,
|
||||
Register obj,
|
||||
Register pre_val,
|
||||
Register thread,
|
||||
Register tmp,
|
||||
bool tosca_live,
|
||||
bool expand_call);
|
||||
|
||||
void resolve_forward_pointer(MacroAssembler* masm, Register dst, Register tmp = noreg);
|
||||
void resolve_forward_pointer_not_null(MacroAssembler* masm, Register dst, Register tmp = noreg);
|
||||
void load_reference_barrier(MacroAssembler* masm, Register dst, Address load_addr);
|
||||
void load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address load_addr);
|
||||
|
||||
address generate_shenandoah_lrb(StubCodeGenerator* cgen);
|
||||
|
||||
public:
|
||||
static address shenandoah_lrb();
|
||||
|
||||
void storeval_barrier(MacroAssembler* masm, Register dst, Register tmp);
|
||||
|
||||
#ifdef COMPILER1
|
||||
void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub);
|
||||
void gen_load_reference_barrier_stub(LIR_Assembler* ce, ShenandoahLoadReferenceBarrierStub* stub);
|
||||
void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm);
|
||||
void generate_c1_load_reference_barrier_runtime_stub(StubAssembler* sasm);
|
||||
#endif
|
||||
|
||||
virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
|
||||
Register src, Register dst, Register count, RegSet saved_regs);
|
||||
virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
|
||||
Register dst, Address src, Register tmp1, Register tmp_thread);
|
||||
virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
|
||||
Address dst, Register val, Register tmp1, Register tmp2);
|
||||
virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
|
||||
Register obj, Register tmp, Label& slowpath);
|
||||
virtual void cmpxchg_oop(MacroAssembler* masm, Register addr, Register expected, Register new_val,
|
||||
bool acquire, bool release, bool weak, bool is_cae, Register result);
|
||||
|
||||
virtual void barrier_stubs_init();
|
||||
};
|
||||
|
||||
#endif // CPU_AARCH64_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_AARCH64_HPP
|
||||
187
src/hotspot/cpu/aarch64/gc/shenandoah/shenandoah_aarch64.ad
Normal file
187
src/hotspot/cpu/aarch64/gc/shenandoah/shenandoah_aarch64.ad
Normal file
@@ -0,0 +1,187 @@
|
||||
//
|
||||
// Copyright (c) 2018, Red Hat, Inc. All rights reserved.
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
//
|
||||
|
||||
source_hpp %{
|
||||
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
|
||||
#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp"
|
||||
%}
|
||||
|
||||
encode %{
|
||||
enc_class aarch64_enc_cmpxchg_oop_shenandoah(memory mem, iRegP oldval, iRegP newval, iRegPNoSp tmp, iRegINoSp res) %{
|
||||
MacroAssembler _masm(&cbuf);
|
||||
guarantee($mem$$index == -1 && $mem$$disp == 0, "impossible encoding");
|
||||
Register tmp = $tmp$$Register;
|
||||
__ mov(tmp, $oldval$$Register); // Must not clobber oldval.
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register,
|
||||
/*acquire*/ false, /*release*/ true, /*weak*/ false, /*is_cae*/ false, $res$$Register);
|
||||
%}
|
||||
|
||||
enc_class aarch64_enc_cmpxchg_acq_oop_shenandoah(memory mem, iRegP oldval, iRegP newval, iRegPNoSp tmp, iRegINoSp res) %{
|
||||
MacroAssembler _masm(&cbuf);
|
||||
guarantee($mem$$index == -1 && $mem$$disp == 0, "impossible encoding");
|
||||
Register tmp = $tmp$$Register;
|
||||
__ mov(tmp, $oldval$$Register); // Must not clobber oldval.
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register,
|
||||
/*acquire*/ true, /*release*/ true, /*weak*/ false, /*is_cae*/ false, $res$$Register);
|
||||
%}
|
||||
%}
|
||||
|
||||
instruct compareAndSwapP_shenandoah(iRegINoSp res, indirect mem, iRegP oldval, iRegP newval, iRegPNoSp tmp, rFlagsReg cr) %{
|
||||
|
||||
match(Set res (ShenandoahCompareAndSwapP mem (Binary oldval newval)));
|
||||
ins_cost(2 * VOLATILE_REF_COST);
|
||||
|
||||
effect(TEMP tmp, KILL cr);
|
||||
|
||||
format %{
|
||||
"cmpxchg_shenandoah_oop $mem, $oldval, $newval\t# (ptr) if $mem == $oldval then $mem <-- $newval with temp $tmp"
|
||||
%}
|
||||
|
||||
ins_encode(aarch64_enc_cmpxchg_oop_shenandoah(mem, oldval, newval, tmp, res));
|
||||
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
instruct compareAndSwapN_shenandoah(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, iRegNNoSp tmp, rFlagsReg cr) %{
|
||||
|
||||
match(Set res (ShenandoahCompareAndSwapN mem (Binary oldval newval)));
|
||||
ins_cost(2 * VOLATILE_REF_COST);
|
||||
|
||||
effect(TEMP tmp, KILL cr);
|
||||
|
||||
format %{
|
||||
"cmpxchgw_shenandoah_narrow_oop $mem, $oldval, $newval\t# (ptr) if $mem == $oldval then $mem <-- $newval with temp $tmp"
|
||||
%}
|
||||
|
||||
ins_encode %{
|
||||
Register tmp = $tmp$$Register;
|
||||
__ mov(tmp, $oldval$$Register); // Must not clobber oldval.
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register, /*acquire*/ false, /*release*/ true, /*weak*/ false, /*is_cae*/ false, $res$$Register);
|
||||
%}
|
||||
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
instruct compareAndSwapPAcq_shenandoah(iRegINoSp res, indirect mem, iRegP oldval, iRegP newval, iRegPNoSp tmp, rFlagsReg cr) %{
|
||||
|
||||
predicate(needs_acquiring_load_exclusive(n));
|
||||
match(Set res (ShenandoahCompareAndSwapP mem (Binary oldval newval)));
|
||||
ins_cost(VOLATILE_REF_COST);
|
||||
|
||||
effect(TEMP tmp, KILL cr);
|
||||
|
||||
format %{
|
||||
"cmpxchg_acq_shenandoah_oop $mem, $oldval, $newval\t# (ptr) if $mem == $oldval then $mem <-- $newval with temp $tmp"
|
||||
%}
|
||||
|
||||
ins_encode(aarch64_enc_cmpxchg_acq_oop_shenandoah(mem, oldval, newval, tmp, res));
|
||||
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
instruct compareAndSwapNAcq_shenandoah(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, iRegNNoSp tmp, rFlagsReg cr) %{
|
||||
|
||||
predicate(needs_acquiring_load_exclusive(n));
|
||||
match(Set res (ShenandoahCompareAndSwapN mem (Binary oldval newval)));
|
||||
ins_cost(VOLATILE_REF_COST);
|
||||
|
||||
effect(TEMP tmp, KILL cr);
|
||||
|
||||
format %{
|
||||
"cmpxchgw_acq_shenandoah_narrow_oop $mem, $oldval, $newval\t# (ptr) if $mem == $oldval then $mem <-- $newval with temp $tmp"
|
||||
%}
|
||||
|
||||
ins_encode %{
|
||||
Register tmp = $tmp$$Register;
|
||||
__ mov(tmp, $oldval$$Register); // Must not clobber oldval.
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register, /*acquire*/ true, /*release*/ true, /*weak*/ false, /*is_cae*/ false, $res$$Register);
|
||||
%}
|
||||
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
instruct compareAndExchangeN_shenandoah(iRegNNoSp res, indirect mem, iRegN oldval, iRegN newval, iRegNNoSp tmp, rFlagsReg cr) %{
|
||||
match(Set res (ShenandoahCompareAndExchangeN mem (Binary oldval newval)));
|
||||
ins_cost(3 * VOLATILE_REF_COST);
|
||||
effect(TEMP_DEF res, TEMP tmp, KILL cr);
|
||||
format %{
|
||||
"cmpxchg_oop_shenandoah $res = $mem, $oldval, $newval\t# (narrow oop, weak) if $mem == $oldval then $mem <-- $newval"
|
||||
%}
|
||||
ins_encode %{
|
||||
Register tmp = $tmp$$Register;
|
||||
__ mov(tmp, $oldval$$Register); // Must not clobber oldval.
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register,
|
||||
/*acquire*/ false, /*release*/ true, /*weak*/ false, /*is_cae*/ true, $res$$Register);
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
instruct compareAndExchangeP_shenandoah(iRegPNoSp res, indirect mem, iRegP oldval, iRegP newval, iRegPNoSp tmp, rFlagsReg cr) %{
|
||||
match(Set res (ShenandoahCompareAndExchangeP mem (Binary oldval newval)));
|
||||
ins_cost(3 * VOLATILE_REF_COST);
|
||||
effect(TEMP_DEF res, TEMP tmp, KILL cr);
|
||||
format %{
|
||||
"cmpxchg_oop_shenandoah $mem, $oldval, $newval\t# (ptr) if $mem == $oldval then $mem <-- $newval with temp $tmp"
|
||||
%}
|
||||
ins_encode %{
|
||||
Register tmp = $tmp$$Register;
|
||||
__ mov(tmp, $oldval$$Register); // Must not clobber oldval.
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register,
|
||||
/*acquire*/ false, /*release*/ true, /*weak*/ false, /*is_cae*/ true, $res$$Register);
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
instruct weakCompareAndSwapN_shenandoah(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, iRegNNoSp tmp, rFlagsReg cr) %{
|
||||
match(Set res (ShenandoahWeakCompareAndSwapN mem (Binary oldval newval)));
|
||||
ins_cost(3 * VOLATILE_REF_COST);
|
||||
effect(TEMP tmp, KILL cr);
|
||||
format %{
|
||||
"cmpxchg_oop_shenandoah $res = $mem, $oldval, $newval\t# (narrow oop, weak) if $mem == $oldval then $mem <-- $newval"
|
||||
%}
|
||||
ins_encode %{
|
||||
Register tmp = $tmp$$Register;
|
||||
__ mov(tmp, $oldval$$Register); // Must not clobber oldval.
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register,
|
||||
/*acquire*/ false, /*release*/ true, /*weak*/ true, /*is_cae*/ false, $res$$Register);
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
instruct weakCompareAndSwapP_shenandoah(iRegINoSp res, indirect mem, iRegP oldval, iRegP newval, iRegPNoSp tmp, rFlagsReg cr) %{
|
||||
match(Set res (ShenandoahWeakCompareAndSwapP mem (Binary oldval newval)));
|
||||
ins_cost(3 * VOLATILE_REF_COST);
|
||||
effect(TEMP tmp, KILL cr);
|
||||
format %{
|
||||
"cmpxchg_oop_shenandoah $res = $mem, $oldval, $newval\t# (ptr, weak) if $mem == $oldval then $mem <-- $newval"
|
||||
%}
|
||||
ins_encode %{
|
||||
Register tmp = $tmp$$Register;
|
||||
__ mov(tmp, $oldval$$Register); // Must not clobber oldval.
|
||||
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register,
|
||||
/*acquire*/ false, /*release*/ true, /*weak*/ true, /*is_cae*/ false, $res$$Register);
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
|
||||
@@ -1307,7 +1307,7 @@ void MacroAssembler::verify_oop(Register reg, const char* s) {
|
||||
stp(rscratch2, lr, Address(pre(sp, -2 * wordSize)));
|
||||
|
||||
mov(r0, reg);
|
||||
mov(rscratch1, (address)b);
|
||||
movptr(rscratch1, (uintptr_t)(address)b);
|
||||
|
||||
// call indirectly to solve generation ordering problem
|
||||
lea(rscratch2, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address()));
|
||||
@@ -1343,7 +1343,7 @@ void MacroAssembler::verify_oop_addr(Address addr, const char* s) {
|
||||
} else {
|
||||
ldr(r0, addr);
|
||||
}
|
||||
mov(rscratch1, (address)b);
|
||||
movptr(rscratch1, (uintptr_t)(address)b);
|
||||
|
||||
// call indirectly to solve generation ordering problem
|
||||
lea(rscratch2, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address()));
|
||||
@@ -2137,8 +2137,8 @@ void MacroAssembler::resolve_jobject(Register value, Register thread, Register t
|
||||
void MacroAssembler::stop(const char* msg) {
|
||||
address ip = pc();
|
||||
pusha();
|
||||
mov(c_rarg0, (address)msg);
|
||||
mov(c_rarg1, (address)ip);
|
||||
movptr(c_rarg0, (uintptr_t)(address)msg);
|
||||
movptr(c_rarg1, (uintptr_t)(address)ip);
|
||||
mov(c_rarg2, sp);
|
||||
mov(c_rarg3, CAST_FROM_FN_PTR(address, MacroAssembler::debug64));
|
||||
blr(c_rarg3);
|
||||
@@ -4733,6 +4733,8 @@ void MacroAssembler::string_indexof_char(Register str1, Register cnt1,
|
||||
Register ch1 = rscratch1;
|
||||
Register result_tmp = rscratch2;
|
||||
|
||||
cbz(cnt1, NOMATCH);
|
||||
|
||||
cmp(cnt1, 4);
|
||||
br(LT, DO1_SHORT);
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
#include "runtime/timer.hpp"
|
||||
#include "runtime/vframeArray.hpp"
|
||||
#include "utilities/debug.hpp"
|
||||
#include "utilities/macros.hpp"
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifndef PRODUCT
|
||||
@@ -872,8 +873,16 @@ void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
|
||||
}
|
||||
|
||||
// Get mirror and store it in the frame as GC root for this Method*
|
||||
__ load_mirror(rscratch1, rmethod);
|
||||
__ stp(rscratch1, zr, Address(sp, 4 * wordSize));
|
||||
#if INCLUDE_SHENANDOAHGC
|
||||
if (UseShenandoahGC) {
|
||||
__ load_mirror(r10, rmethod);
|
||||
__ stp(r10, zr, Address(sp, 4 * wordSize));
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
__ load_mirror(rscratch1, rmethod);
|
||||
__ stp(rscratch1, zr, Address(sp, 4 * wordSize));
|
||||
}
|
||||
|
||||
__ ldr(rcpool, Address(rmethod, Method::const_offset()));
|
||||
__ ldr(rcpool, Address(rcpool, ConstMethod::constants_offset()));
|
||||
|
||||
@@ -2963,6 +2963,9 @@ void TemplateTable::fast_storefield(TosState state)
|
||||
// access constant pool cache
|
||||
__ get_cache_and_index_at_bcp(r2, r1, 1);
|
||||
|
||||
// Must prevent reordering of the following cp cache loads with bytecode load
|
||||
__ membar(MacroAssembler::LoadLoad);
|
||||
|
||||
// test for volatile with r3
|
||||
__ ldrw(r3, Address(r2, in_bytes(base +
|
||||
ConstantPoolCacheEntry::flags_offset())));
|
||||
@@ -3055,6 +3058,10 @@ void TemplateTable::fast_accessfield(TosState state)
|
||||
|
||||
// access constant pool cache
|
||||
__ get_cache_and_index_at_bcp(r2, r1, 1);
|
||||
|
||||
// Must prevent reordering of the following cp cache loads with bytecode load
|
||||
__ membar(MacroAssembler::LoadLoad);
|
||||
|
||||
__ ldr(r1, Address(r2, in_bytes(ConstantPoolCache::base_offset() +
|
||||
ConstantPoolCacheEntry::f2_offset())));
|
||||
__ ldrw(r3, Address(r2, in_bytes(ConstantPoolCache::base_offset() +
|
||||
|
||||
@@ -291,11 +291,11 @@ void VM_Version::get_processor_features() {
|
||||
}
|
||||
} else {
|
||||
if (UseAES) {
|
||||
warning("UseAES specified, but not supported on this CPU");
|
||||
warning("AES instructions are not available on this CPU");
|
||||
FLAG_SET_DEFAULT(UseAES, false);
|
||||
}
|
||||
if (UseAESIntrinsics) {
|
||||
warning("UseAESIntrinsics specified, but not supported on this CPU");
|
||||
warning("AES intrinsics are not available on this CPU");
|
||||
FLAG_SET_DEFAULT(UseAESIntrinsics, false);
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user