mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-07 01:50:12 +01:00
Compare commits
884 Commits
jdk-11.0.2
...
jdk-11.0.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1350471e73 | ||
|
|
cfe1c7dcce | ||
|
|
eb711f1fcd | ||
|
|
057d1205fb | ||
|
|
850341c88a | ||
|
|
25c39d2343 | ||
|
|
c429aec72d | ||
|
|
60fd488c60 | ||
|
|
70155458a8 | ||
|
|
698a7e0436 | ||
|
|
2edf7c0ac2 | ||
|
|
b5e81f25a5 | ||
|
|
bfc3a5e954 | ||
|
|
e1d2cf8089 | ||
|
|
a1a7d699f4 | ||
|
|
9b2b726b94 | ||
|
|
33a68193d2 | ||
|
|
30a7af9f21 | ||
|
|
fc2b40683d | ||
|
|
f818e1470b | ||
|
|
357b1e6bd1 | ||
|
|
44e9108a26 | ||
|
|
3aed4d0693 | ||
|
|
466e6a83a8 | ||
|
|
eb894e2223 | ||
|
|
a01bde0a6f | ||
|
|
fbf6a72ee2 | ||
|
|
57ad49c4d0 | ||
|
|
631f9bb771 | ||
|
|
f60ba45c96 | ||
|
|
64d7738f77 | ||
|
|
ec7c5e490f | ||
|
|
17a5192f27 | ||
|
|
8248f03e14 | ||
|
|
049699c2bb | ||
|
|
982ba3768b | ||
|
|
8d16287e06 | ||
|
|
549ffba973 | ||
|
|
bcd825a03c | ||
|
|
3f2e25139b | ||
|
|
28e92fcd0b | ||
|
|
7f59d683c2 | ||
|
|
7361ffe668 | ||
|
|
26881980fd | ||
|
|
d971f3724f | ||
|
|
53f7e154e2 | ||
|
|
0b5959054c | ||
|
|
471c550cc1 | ||
|
|
543628ec07 | ||
|
|
aa52cdf33d | ||
|
|
d15bd187d7 | ||
|
|
6ec6ec1689 | ||
|
|
50fc42ee87 | ||
|
|
3098692794 | ||
|
|
9f0f08b77a | ||
|
|
22ee1647de | ||
|
|
83f9f132c6 | ||
|
|
11574ae368 | ||
|
|
39cf5a08ef | ||
|
|
72a788d0c0 | ||
|
|
109718ba21 | ||
|
|
fe9374ee2b | ||
|
|
2216dc9bf8 | ||
|
|
f83644417f | ||
|
|
8b7c8ff5ff | ||
|
|
625a5486e6 | ||
|
|
9144b37181 | ||
|
|
9b92162531 | ||
|
|
b016dbe56e | ||
|
|
c2957da1ac | ||
|
|
42f4fc5b47 | ||
|
|
aa2aea9c8d | ||
|
|
d67c7591d2 | ||
|
|
cd74cc05f2 | ||
|
|
00d808e715 | ||
|
|
fd4b141b4c | ||
|
|
018ba15afa | ||
|
|
259ae373bb | ||
|
|
e4e694439f | ||
|
|
796d0403a5 | ||
|
|
ae4c82c5a1 | ||
|
|
2ae308bdd7 | ||
|
|
520839330c | ||
|
|
7a29ab4e08 | ||
|
|
b6b80ff205 | ||
|
|
b8073a2f61 | ||
|
|
01bc631404 | ||
|
|
1aa3495b55 | ||
|
|
0d45b5ac48 | ||
|
|
67064bf757 | ||
|
|
314712033f | ||
|
|
e991980263 | ||
|
|
b6aa8b2e10 | ||
|
|
f6afa06ed9 | ||
|
|
1967bf26c1 | ||
|
|
936bc71f72 | ||
|
|
6ffee6a4f5 | ||
|
|
2c5101f826 | ||
|
|
2c6c4d1db5 | ||
|
|
a40bf41724 | ||
|
|
c9f89393f3 | ||
|
|
f6a26303ac | ||
|
|
46f6908963 | ||
|
|
641260fb65 | ||
|
|
4dbcd82786 | ||
|
|
f65f8e0b4a | ||
|
|
564d6b0d5c | ||
|
|
41d978e77c | ||
|
|
345e6646ca | ||
|
|
3bb7124715 | ||
|
|
a6a87c9d8a | ||
|
|
10a18340e2 | ||
|
|
f21e1e901a | ||
|
|
18e733678d | ||
|
|
079fb005b6 | ||
|
|
17f235dc46 | ||
|
|
50e223f6fe | ||
|
|
7051d96397 | ||
|
|
bc324f2de4 | ||
|
|
49127c3c1d | ||
|
|
20e622ffdb | ||
|
|
1228e4a081 | ||
|
|
bf61ddd9c6 | ||
|
|
dd7b00b1f0 | ||
|
|
0b3eaf793e | ||
|
|
028e92b50a | ||
|
|
bbf92f6e8b | ||
|
|
91db150f8f | ||
|
|
ba41216f8d | ||
|
|
e26aaf62be | ||
|
|
c4d17e1fba | ||
|
|
dd8dd171e2 | ||
|
|
122d914fbc | ||
|
|
4846f5c744 | ||
|
|
32587d2799 | ||
|
|
fa154f4de6 | ||
|
|
1d4bc1bc20 | ||
|
|
71634ee76b | ||
|
|
4c69fb98ba | ||
|
|
6869ab1cac | ||
|
|
348f9a51ce | ||
|
|
8d883a461d | ||
|
|
5954b5208b | ||
|
|
6b68a63fd7 | ||
|
|
7b8c69d8aa | ||
|
|
a76f3fa5fe | ||
|
|
33100610c6 | ||
|
|
273d5105ba | ||
|
|
fe313744f2 | ||
|
|
77f86fc3a4 | ||
|
|
7fee024445 | ||
|
|
ddbdeddfb5 | ||
|
|
d4f56125f6 | ||
|
|
7246da74f3 | ||
|
|
f29985c321 | ||
|
|
b7ea215e50 | ||
|
|
eba570224c | ||
|
|
9590d79418 | ||
|
|
c7cef22dac | ||
|
|
687cf87bc6 | ||
|
|
804a79997b | ||
|
|
9131ba6835 | ||
|
|
a0559e8fbb | ||
|
|
6e9bddded0 | ||
|
|
f2ae691bf6 | ||
|
|
960c3e2225 | ||
|
|
08a5ae16e0 | ||
|
|
e621883a9f | ||
|
|
72097b06c1 | ||
|
|
63d11a1b82 | ||
|
|
0fe34765d4 | ||
|
|
9e7d7ed5e3 | ||
|
|
296da14d35 | ||
|
|
8c52cd3fee | ||
|
|
2a9234df89 | ||
|
|
9f540020c8 | ||
|
|
f83f5d7779 | ||
|
|
d846107635 | ||
|
|
69491915e6 | ||
|
|
afc71cb8b8 | ||
|
|
666e35f205 | ||
|
|
cd90905c52 | ||
|
|
2f23b8998c | ||
|
|
36c08688f8 | ||
|
|
8518b25018 | ||
|
|
60a752c103 | ||
|
|
ec58029908 | ||
|
|
c265253cf9 | ||
|
|
89520a7433 | ||
|
|
35dec00a12 | ||
|
|
3211c7869e | ||
|
|
a55b1500ac | ||
|
|
4a820480c2 | ||
|
|
ac7c6fa6ab | ||
|
|
bf258a3602 | ||
|
|
f0176771db | ||
|
|
816ea1d566 | ||
|
|
7b87fab419 | ||
|
|
090628e7a1 | ||
|
|
c1c92e26a2 | ||
|
|
fa9e4db056 | ||
|
|
e4a5a3c9d0 | ||
|
|
26e191531a | ||
|
|
65a588e146 | ||
|
|
8d7c24162b | ||
|
|
b6dbf403a5 | ||
|
|
52d5f8acba | ||
|
|
42b85cd4fd | ||
|
|
139b107a44 | ||
|
|
f8ecb3bcee | ||
|
|
970120daeb | ||
|
|
88f143d0bb | ||
|
|
0ff3a8cdf9 | ||
|
|
6ff20ac450 | ||
|
|
934a82d2cf | ||
|
|
87ad4a7793 | ||
|
|
1dc9f02386 | ||
|
|
777bf1d3b8 | ||
|
|
13980a122d | ||
|
|
c37db36aa8 | ||
|
|
9296a1d1d1 | ||
|
|
b48b1a416e | ||
|
|
a2b993caeb | ||
|
|
59173923c7 | ||
|
|
91517bb663 | ||
|
|
278e849bf9 | ||
|
|
80262c1a21 | ||
|
|
74f0225e0d | ||
|
|
188c8c8662 | ||
|
|
3a4a414252 | ||
|
|
8142a7d9ea | ||
|
|
c68a41538f | ||
|
|
667f79dc84 | ||
|
|
bd6f2c5a7b | ||
|
|
d97a2500b7 | ||
|
|
b7cb56bc6f | ||
|
|
242334219e | ||
|
|
709d063972 | ||
|
|
19a1861dc6 | ||
|
|
a044cb6765 | ||
|
|
90a85a8562 | ||
|
|
a433cf3043 | ||
|
|
25a64a5c95 | ||
|
|
3135657b8c | ||
|
|
5783d96313 | ||
|
|
bc51902963 | ||
|
|
7630a17a0e | ||
|
|
ed67ef92eb | ||
|
|
7ba299958a | ||
|
|
6999da7599 | ||
|
|
3de15e37c0 | ||
|
|
fb7b3bd609 | ||
|
|
8b920865dc | ||
|
|
f82eacf737 | ||
|
|
f079bec7b2 | ||
|
|
3165be7550 | ||
|
|
93090558e7 | ||
|
|
b082a90749 | ||
|
|
7885cc86b7 | ||
|
|
25686b7dcf | ||
|
|
95e4e2444f | ||
|
|
6bf924c12d | ||
|
|
750967a822 | ||
|
|
7375cb23b7 | ||
|
|
d94536ac2e | ||
|
|
c44296d0b6 | ||
|
|
7d8031bc89 | ||
|
|
c551a093e5 | ||
|
|
0db1edfa87 | ||
|
|
dfdfc8fce6 | ||
|
|
4d7531f5af | ||
|
|
b8e0ad5317 | ||
|
|
d71125bf58 | ||
|
|
d7094f2afe | ||
|
|
6e7ffef73a | ||
|
|
de754a84d3 | ||
|
|
39a134a69c | ||
|
|
f994c1a279 | ||
|
|
50e01c8d13 | ||
|
|
048287c9c9 | ||
|
|
33c7830fae | ||
|
|
624c2f1398 | ||
|
|
5ce75346a8 | ||
|
|
0783958139 | ||
|
|
77609edb46 | ||
|
|
ccb37773a1 | ||
|
|
d5a9f446c1 | ||
|
|
85e6d59bc0 | ||
|
|
bb80f46971 | ||
|
|
1d4cb00f98 | ||
|
|
c5bdf3d24d | ||
|
|
9774041f24 | ||
|
|
647d35a0d1 | ||
|
|
059773a9d5 | ||
|
|
58d111434e | ||
|
|
2e04916a8d | ||
|
|
cd30755d41 | ||
|
|
b09950913e | ||
|
|
ffd888ae88 | ||
|
|
fd360fb42e | ||
|
|
b2dd2d4401 | ||
|
|
ad0dd5b9c5 | ||
|
|
093a4f2060 | ||
|
|
08690a06f4 | ||
|
|
90c7aa18c4 | ||
|
|
b886a646f9 | ||
|
|
1c2d657499 | ||
|
|
7daae94da9 | ||
|
|
4fbbbf1026 | ||
|
|
d37f6426bd | ||
|
|
f97953fb4a | ||
|
|
822d955678 | ||
|
|
4010b17481 | ||
|
|
e448c92c24 | ||
|
|
ff3ea0e809 | ||
|
|
fd5044b237 | ||
|
|
f3b6c38283 | ||
|
|
3e9539fe20 | ||
|
|
543acd4ecf | ||
|
|
7f05d1a2ec | ||
|
|
0e8b9d4f9e | ||
|
|
4da550196b | ||
|
|
8213572b6e | ||
|
|
bc7c5064b7 | ||
|
|
3b717e0987 | ||
|
|
112378d32a | ||
|
|
4044e1e832 | ||
|
|
a76b533f20 | ||
|
|
a02dd26e8b | ||
|
|
63b51e922d | ||
|
|
2d067cbb4b | ||
|
|
c75bbbde24 | ||
|
|
79cb34f557 | ||
|
|
2470e02984 | ||
|
|
e38458abd9 | ||
|
|
71b0dc5f35 | ||
|
|
ab93f8c97e | ||
|
|
ef32059f6b | ||
|
|
24c616202e | ||
|
|
1d183e8087 | ||
|
|
ca2b32d3c9 | ||
|
|
2112a72aef | ||
|
|
1af07a7094 | ||
|
|
e3723c9817 | ||
|
|
51dc88af65 | ||
|
|
9e05bd661a | ||
|
|
57bb42886c | ||
|
|
546dea854a | ||
|
|
b93bb49f4f | ||
|
|
8244da2934 | ||
|
|
f50ceeafa4 | ||
|
|
0f3122233e | ||
|
|
10f524e416 | ||
|
|
cf67bf411d | ||
|
|
6c6ca6a6b7 | ||
|
|
75214cfe8c | ||
|
|
a701f0d9f2 | ||
|
|
9d70e7040b | ||
|
|
e40f194715 | ||
|
|
e44029ec98 | ||
|
|
ef52d6c224 | ||
|
|
e96bdcbcd5 | ||
|
|
143410c88f | ||
|
|
791c453c22 | ||
|
|
0e8aa012d1 | ||
|
|
b3f4b36847 | ||
|
|
bd23905bb9 | ||
|
|
571de32554 | ||
|
|
9fc3b58483 | ||
|
|
73f5bd5e28 | ||
|
|
59770f3683 | ||
|
|
5e06830120 | ||
|
|
0819bef6f3 | ||
|
|
35d6a546eb | ||
|
|
bc0239c6ec | ||
|
|
0864917e44 | ||
|
|
718875c2a0 | ||
|
|
11f58b066b | ||
|
|
1ec7dbab23 | ||
|
|
2a08c06eea | ||
|
|
3e4a033294 | ||
|
|
4f8dc731e6 | ||
|
|
5bc98172e3 | ||
|
|
37115c8ea4 | ||
|
|
da75f3c4ad | ||
|
|
5b511a4a78 | ||
|
|
538ba1fb5c | ||
|
|
aef7c93375 | ||
|
|
ea4f2f60d5 | ||
|
|
9a0ec1951e | ||
|
|
c468ecccc5 | ||
|
|
789b608995 | ||
|
|
19b176af8b | ||
|
|
1da79cddad | ||
|
|
3f5213e31c | ||
|
|
93e528930a | ||
|
|
d07af5bcf5 | ||
|
|
cf0ad85263 | ||
|
|
c7c220f16b | ||
|
|
6e56571959 | ||
|
|
b8881acafa | ||
|
|
248ab60379 | ||
|
|
49c524cc67 | ||
|
|
26d8bdcae5 | ||
|
|
343b407cc2 | ||
|
|
3a857cfdce | ||
|
|
b9c85f33f7 | ||
|
|
406265cab6 | ||
|
|
7f00330f34 | ||
|
|
c95e23be0a | ||
|
|
244856b1dd | ||
|
|
31a53f4bac | ||
|
|
acde53eaac | ||
|
|
84c52dce5a | ||
|
|
b6884d1c5d | ||
|
|
b77ef24efa | ||
|
|
3c44f651ac | ||
|
|
bde8d15e42 | ||
|
|
908cac06de | ||
|
|
a6b8e83529 | ||
|
|
f5359010fc | ||
|
|
bb97eebdba | ||
|
|
dcd68442f5 | ||
|
|
2dc5232e2a | ||
|
|
4d7ddd9e2a | ||
|
|
c89ac41040 | ||
|
|
c12e5a76a5 | ||
|
|
829f37e68e | ||
|
|
364a78ad8b | ||
|
|
0791c4c0d6 | ||
|
|
ce1409f86c | ||
|
|
524f5a9d32 | ||
|
|
75d7c1eb2b | ||
|
|
c2db0f384f | ||
|
|
3ad9cb0290 | ||
|
|
7fdc845c52 | ||
|
|
dd0f8494e9 | ||
|
|
118e0312fc | ||
|
|
81e690b4ef | ||
|
|
b50f8b6023 | ||
|
|
3c5911e714 | ||
|
|
1b74e078b5 | ||
|
|
42de356cbd | ||
|
|
eae535f70e | ||
|
|
c70c37db8a | ||
|
|
4248ac828c | ||
|
|
e45543c23a | ||
|
|
02a3769cfa | ||
|
|
2896ec27e1 | ||
|
|
66e8f27bd8 | ||
|
|
a83af4505e | ||
|
|
791c31358f | ||
|
|
732e3f5416 | ||
|
|
afa5d318d3 | ||
|
|
d5142e7240 | ||
|
|
ffd27904be | ||
|
|
ca477652c2 | ||
|
|
7a9b62f2d4 | ||
|
|
e146d6cdce | ||
|
|
166030817f | ||
|
|
8dceed008b | ||
|
|
07a5f4c537 | ||
|
|
6d7449553c | ||
|
|
c1dd160bc8 | ||
|
|
acf2cfdb8f | ||
|
|
e850549b71 | ||
|
|
1543db08da | ||
|
|
286115581e | ||
|
|
5acf946102 | ||
|
|
5dbc1f256b | ||
|
|
66d8b6679e | ||
|
|
565f73bbbc | ||
|
|
6296e110ff | ||
|
|
c23d08bb1c | ||
|
|
10cc1e491c | ||
|
|
3902ecc1ba | ||
|
|
9bb8753635 | ||
|
|
961156b1d5 | ||
|
|
2f1aae720b | ||
|
|
4ebf1cdc53 | ||
|
|
b806cb371e | ||
|
|
ac3d4a6722 | ||
|
|
0919d6d626 | ||
|
|
03c595997c | ||
|
|
e64ad29e8a | ||
|
|
6dac70d919 | ||
|
|
b863c0efab | ||
|
|
f898486d29 | ||
|
|
55aca0f2d7 | ||
|
|
4635b34d7e | ||
|
|
e8dd517464 | ||
|
|
b6532bdf48 | ||
|
|
542197c8ab | ||
|
|
06932ae37c | ||
|
|
c57cfe6d14 | ||
|
|
e4521331a8 | ||
|
|
30d46ba27b | ||
|
|
cb25641e4c | ||
|
|
5c2439b0f6 | ||
|
|
5a3decc9f1 | ||
|
|
5b9175eae8 | ||
|
|
5bafe6f9a0 | ||
|
|
6958cd7967 | ||
|
|
ffe9b0ffb7 | ||
|
|
af89766e1e | ||
|
|
79cea41ed2 | ||
|
|
e6d27ec718 | ||
|
|
feecbd5dbf | ||
|
|
4cf12330c4 | ||
|
|
944408c6e0 | ||
|
|
33f575c516 | ||
|
|
db32e3bfba | ||
|
|
0eddb97c97 | ||
|
|
ad1cc33c99 | ||
|
|
c6b425d30d | ||
|
|
0b2bccbf87 | ||
|
|
9d003c8c68 | ||
|
|
50d5a7d5ad | ||
|
|
3d4f11e0d7 | ||
|
|
7f12fb1eba | ||
|
|
1c59c60950 | ||
|
|
bc2b7c5456 | ||
|
|
f147274c1f | ||
|
|
c294597f8b | ||
|
|
d4dc93c98b | ||
|
|
f6dfbec0b3 | ||
|
|
6c39ffc5af | ||
|
|
ea817c1f23 | ||
|
|
a1235c3da2 | ||
|
|
79805c79c7 | ||
|
|
c8c4930334 | ||
|
|
a08daa68f1 | ||
|
|
3e548af5fc | ||
|
|
bc2648f73f | ||
|
|
253a875985 | ||
|
|
30dbb823b7 | ||
|
|
c3547743b0 | ||
|
|
a8d0fb8566 | ||
|
|
0638770a93 | ||
|
|
d43261885a | ||
|
|
b69b169587 | ||
|
|
7bab841630 | ||
|
|
23a97bfd12 | ||
|
|
8ad84221e5 | ||
|
|
f0adad8d93 | ||
|
|
2d44d463c1 | ||
|
|
d10134f7a9 | ||
|
|
e91313d8a3 | ||
|
|
f5804d0057 | ||
|
|
3c96669c33 | ||
|
|
54abf19254 | ||
|
|
026ccad425 | ||
|
|
1752c3afb1 | ||
|
|
f79a268c4c | ||
|
|
21243388e4 | ||
|
|
6dff87a9b3 | ||
|
|
e1ad913936 | ||
|
|
7daec7611a | ||
|
|
266d3abf72 | ||
|
|
9bf04626d4 | ||
|
|
6bdfa1ffd2 | ||
|
|
02274ae39f | ||
|
|
ceaa01b050 | ||
|
|
a1a6db9ebf | ||
|
|
9179c081dd | ||
|
|
0bd9d37ca8 | ||
|
|
68fb6e95a5 | ||
|
|
3d036b90db | ||
|
|
eccb56da8f | ||
|
|
1217d69441 | ||
|
|
b55b988e64 | ||
|
|
7904260aa8 | ||
|
|
9e1d019a35 | ||
|
|
1d096f0881 | ||
|
|
ad57683a0d | ||
|
|
a7cbc3d804 | ||
|
|
d16d19b922 | ||
|
|
689d90b159 | ||
|
|
f4a329efb8 | ||
|
|
c9be3ef73a | ||
|
|
4349e798b9 | ||
|
|
186735b3cf | ||
|
|
ad2574f9c3 | ||
|
|
49a333bac9 | ||
|
|
d2ea769228 | ||
|
|
6e811ae27d | ||
|
|
41432bbe0e | ||
|
|
15882192a9 | ||
|
|
977f66273e | ||
|
|
fccd9937a6 | ||
|
|
f185a12a60 | ||
|
|
583a0c0742 | ||
|
|
ba9a371a32 | ||
|
|
02b0467a88 | ||
|
|
612da0d83c | ||
|
|
332a672e9c | ||
|
|
ee90345bd6 | ||
|
|
6b4ee1dff3 | ||
|
|
092540aa3f | ||
|
|
25a6bef741 | ||
|
|
341489614d | ||
|
|
e5b72116fa | ||
|
|
fa9422a5b7 | ||
|
|
9c75de2097 | ||
|
|
6f005862bb | ||
|
|
d77ee5d07c | ||
|
|
78d32e1893 | ||
|
|
b18948830c | ||
|
|
9648858d1a | ||
|
|
d6054069e6 | ||
|
|
910ecd2552 | ||
|
|
d147f1198d | ||
|
|
cb70913b8b | ||
|
|
5ac502c713 | ||
|
|
517d2a16b3 | ||
|
|
4d64b3ead9 | ||
|
|
1fee25028c | ||
|
|
c38009ee92 | ||
|
|
f96d0a6d84 | ||
|
|
3527d076bb | ||
|
|
039b446e05 | ||
|
|
7325cb2547 | ||
|
|
5753717653 | ||
|
|
ad21e3f950 | ||
|
|
3fc73cb9f4 | ||
|
|
cc4d6bfc12 | ||
|
|
9783c9d4e3 | ||
|
|
82effe1790 | ||
|
|
5a01a6d8e9 | ||
|
|
8310442f7a | ||
|
|
df00e8949c | ||
|
|
fad15310f2 | ||
|
|
a2fcf4966e | ||
|
|
be8cb165b5 | ||
|
|
79ad9ee3c6 | ||
|
|
dd460e909b | ||
|
|
5963019816 | ||
|
|
96ad12949a | ||
|
|
c811120ee0 | ||
|
|
3b002460a1 | ||
|
|
50a3c19ffc | ||
|
|
6c703b8589 | ||
|
|
126394f271 | ||
|
|
d2b2780859 | ||
|
|
398db3a0c7 | ||
|
|
3ec12f2dc1 | ||
|
|
8c4ac06e1c | ||
|
|
37bbbcff6d | ||
|
|
8158cca17d | ||
|
|
021a771791 | ||
|
|
d4beeed2db | ||
|
|
1b1355c222 | ||
|
|
eec8b3b9a8 | ||
|
|
23a2b24b0b | ||
|
|
0ec91d3125 | ||
|
|
577cdf1f49 | ||
|
|
e605cae39f | ||
|
|
23084b76fa | ||
|
|
df08003471 | ||
|
|
7723d3a1e9 | ||
|
|
c1ec12c2ff | ||
|
|
eac16b2705 | ||
|
|
0440d172a0 | ||
|
|
39cd4bdd52 | ||
|
|
16dcca2c40 | ||
|
|
32a2f54b64 | ||
|
|
a95225aabc | ||
|
|
61ea10862e | ||
|
|
daa3f2ce32 | ||
|
|
d38a0c13fd | ||
|
|
1aa5ef025d | ||
|
|
4e46cc1392 | ||
|
|
f53e04ead9 | ||
|
|
c798b68ee1 | ||
|
|
9dcc8b4a96 | ||
|
|
75437a84db | ||
|
|
17f7056d82 | ||
|
|
4823354a6a | ||
|
|
cf4bbcecb0 | ||
|
|
4af71255c1 | ||
|
|
07dd61439b | ||
|
|
3a8f81213c | ||
|
|
89005b0464 | ||
|
|
0839b3033d | ||
|
|
dcf9f4f63a | ||
|
|
ee13073a87 | ||
|
|
8638befaf1 | ||
|
|
c203104e18 | ||
|
|
e8433f9c72 | ||
|
|
2bd9a8d404 | ||
|
|
7fd4049f8f | ||
|
|
3a081c984f | ||
|
|
b498eb213b | ||
|
|
98fbaadd59 | ||
|
|
f52ecb70ea | ||
|
|
9633a3426d | ||
|
|
f23abfddde | ||
|
|
925892bf8b | ||
|
|
a69a3505f3 | ||
|
|
aef9a5ba5d | ||
|
|
55cd47f867 | ||
|
|
b90b514c2d | ||
|
|
ac8560494b | ||
|
|
b99af2bd16 | ||
|
|
f15d08ae3d | ||
|
|
3a3f0b8fef | ||
|
|
07032fe762 | ||
|
|
fa4f5c07bf | ||
|
|
2d64e99c24 | ||
|
|
3f0e71c182 | ||
|
|
5339092223 | ||
|
|
462b0953e9 | ||
|
|
23eda1a4d9 | ||
|
|
f94f4e4b2e | ||
|
|
12fd7c2895 | ||
|
|
91b704898f | ||
|
|
8c4eb29eed | ||
|
|
257c07321e | ||
|
|
9c178dac66 | ||
|
|
98b5e5f523 | ||
|
|
37ab55a842 | ||
|
|
dee2271fd1 | ||
|
|
5b12c0e944 | ||
|
|
e3fd4595bb | ||
|
|
7f98a31e8d | ||
|
|
9d7fc64c38 | ||
|
|
67d90233b1 | ||
|
|
11ff09b63b | ||
|
|
6fc4db4799 | ||
|
|
329374e53b | ||
|
|
bfa23646ee | ||
|
|
e09b97b5cb | ||
|
|
1cadcd04e0 | ||
|
|
3fc4e0d6eb | ||
|
|
68011884ec | ||
|
|
6caaf8e2f2 | ||
|
|
67149b99fd | ||
|
|
c1f5adbe18 | ||
|
|
5f29406d2c | ||
|
|
cbefa6b920 | ||
|
|
96cf046edc | ||
|
|
5333f197be | ||
|
|
d103b59ac3 | ||
|
|
8636e943f2 | ||
|
|
fc20a5d86b | ||
|
|
93364e9a43 | ||
|
|
2d0aee2275 | ||
|
|
9335adaf4a | ||
|
|
173732afaa | ||
|
|
8afac1c9da | ||
|
|
b2f4d61fb9 | ||
|
|
6dc1ccac6b | ||
|
|
a98ec3e8bd | ||
|
|
5bd94254bb | ||
|
|
0b9f5c8862 | ||
|
|
24feae77a7 | ||
|
|
45158a4766 | ||
|
|
2e36eebdd2 | ||
|
|
2e682fa3cd | ||
|
|
f508eb1370 | ||
|
|
47819594ed | ||
|
|
cc004b437e | ||
|
|
1292187b28 | ||
|
|
dbb21a2a92 | ||
|
|
0df02a4cb8 | ||
|
|
d808684592 | ||
|
|
8a9b0134a8 | ||
|
|
89f13ef117 | ||
|
|
c76ac0d457 | ||
|
|
03d9e25265 | ||
|
|
1f09843a0d | ||
|
|
bad72aa13c | ||
|
|
39a27d1115 | ||
|
|
11e4fac62b | ||
|
|
3bbfd2f301 | ||
|
|
fa3591db42 | ||
|
|
0922828415 | ||
|
|
b32727d780 | ||
|
|
8da558cd3a | ||
|
|
bb74071bcf | ||
|
|
8b883bd145 | ||
|
|
bb12ce24ef | ||
|
|
991ca8f9fa | ||
|
|
b782289aa2 | ||
|
|
8452535d49 | ||
|
|
05f6e0dd45 | ||
|
|
dd4a832ab8 | ||
|
|
ca6835dc9a | ||
|
|
ca3b04f912 | ||
|
|
a16ca4799e | ||
|
|
f57c7d1f4a | ||
|
|
c4601cd75c | ||
|
|
522de631e1 | ||
|
|
2772c933c6 | ||
|
|
9d4fce3bf3 | ||
|
|
0444b6a945 | ||
|
|
2eb014b48c | ||
|
|
26d644989a | ||
|
|
491ad0c4f7 | ||
|
|
29e741113f | ||
|
|
8c2d9b5ff0 | ||
|
|
1980056947 | ||
|
|
f675eb67a6 | ||
|
|
a2a0138612 | ||
|
|
5fcb3ecb4e | ||
|
|
155ec2ab81 | ||
|
|
2214cd06a8 | ||
|
|
29cd9fe2ea | ||
|
|
cb2d33f02c | ||
|
|
e9c8e369b7 | ||
|
|
a62b057397 | ||
|
|
1e3516bc36 | ||
|
|
684a1ff69e | ||
|
|
f36f4df68d | ||
|
|
51422fc2a9 | ||
|
|
ea13adc07f | ||
|
|
d5c20788ae | ||
|
|
cb9a168f8b | ||
|
|
7ca2af2492 | ||
|
|
d24f9d4c13 | ||
|
|
cb094826ec | ||
|
|
1fc1f68c3d | ||
|
|
f1ce5c1456 | ||
|
|
485b10778d | ||
|
|
dd12703f56 | ||
|
|
d9aa299526 | ||
|
|
2e628779e4 | ||
|
|
4ab3ee9f6d | ||
|
|
6096681762 | ||
|
|
2db58ca8c3 | ||
|
|
c216fe0f55 | ||
|
|
7485f6b5b9 | ||
|
|
b228ede451 | ||
|
|
dc7d03e19d | ||
|
|
4f38d4ff72 | ||
|
|
f85a6f0677 | ||
|
|
1adadc7882 | ||
|
|
0fdb83a54c | ||
|
|
99f911cc71 | ||
|
|
7129c3e786 | ||
|
|
5cbda815d0 | ||
|
|
2e9d5e3d8a | ||
|
|
b913444be0 | ||
|
|
9b281d9d05 | ||
|
|
8d46c49dde | ||
|
|
657e35019d | ||
|
|
e0399f6060 | ||
|
|
ffb2d0984e | ||
|
|
84d23a1596 | ||
|
|
7cefb320e9 | ||
|
|
41ecacc6a0 | ||
|
|
19fd830161 | ||
|
|
38fb1c72d8 | ||
|
|
ce271e6fde | ||
|
|
a0e9bf4280 | ||
|
|
297b2fda0f | ||
|
|
1fde649897 | ||
|
|
80abdde2c0 | ||
|
|
d51ccbc325 | ||
|
|
023ee573d3 | ||
|
|
087ea6befb | ||
|
|
3a7104760a | ||
|
|
d68506157a | ||
|
|
d5e9b33541 | ||
|
|
addc5a823f | ||
|
|
d3201f3e40 | ||
|
|
8d3616ba4e | ||
|
|
862bb272ae | ||
|
|
32ec4d3882 | ||
|
|
f4a279935b | ||
|
|
5df013d4e6 | ||
|
|
ea6cea5d51 | ||
|
|
bde972d645 | ||
|
|
a825fe0a2d | ||
|
|
8818f46285 | ||
|
|
d5a05363ef | ||
|
|
3380b0d0ef | ||
|
|
4e92c2dfdc | ||
|
|
6f9cb3f9ca | ||
|
|
a1dda2a3fa | ||
|
|
108461949f | ||
|
|
2c82c9e1bd | ||
|
|
d326744b13 | ||
|
|
da18d08006 |
15
.gitignore
vendored
Normal file
15
.gitignore
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
/build/
|
||||
/dist/
|
||||
/.idea/
|
||||
nbproject/private/
|
||||
/webrev
|
||||
/.src-rev
|
||||
/.jib/
|
||||
.DS_Store
|
||||
.metadata/
|
||||
.recommenders/
|
||||
test/nashorn/script/external
|
||||
test/nashorn/lib
|
||||
NashornProfile.txt
|
||||
**/JTreport/**
|
||||
**/JTwork/**
|
||||
58
.hgtags
58
.hgtags
@@ -494,4 +494,62 @@ fb8b3f4672774e15654958295558a1af1b576919 jdk-11+19
|
||||
fb8b3f4672774e15654958295558a1af1b576919 jdk-11+19
|
||||
36ca515343e00b021dcfc902e986d26ec994a2e5 jdk-11+19
|
||||
9816d7cc655e53ba081f938b656e31971b8f097a jdk-11+20
|
||||
14708e1acdc3974f4539027cbbcfa6d69f83cf51 jdk-11+21
|
||||
9937ef7499dcd7673714517fd5e450410c14ba4e jdk-11+22
|
||||
1edcf36fe15f79d6228d1a63eb680878e2386480 jdk-11+23
|
||||
ea900a7dc7d77dee30865c60eabd87fc24b1037c jdk-11+24
|
||||
331888ea4a788df801b1edf8836646cd25fc758b jdk-11+25
|
||||
945ba9278a272a5477ffb1b3ea1b04174fed8036 jdk-11+26
|
||||
9d7d74c6f2cbe522e39fa22dc557fdd3f79b32ad jdk-11+27
|
||||
76072a077ee1d815152d45d1692c4b36c53c5c49 jdk-11+28
|
||||
c01cc45790f871adec30acc90742b521d57a2fff jdk-11.0.1+0
|
||||
1353ec839c82de926bfacd2c7976b6b652d4afb0 jdk-11.0.1+1
|
||||
a285bd7cfedb40cb3086e61e17fc04c96b739d03 jdk-11.0.1+2
|
||||
a285bd7cfedb40cb3086e61e17fc04c96b739d03 jdk-11.0.1+2
|
||||
0000000000000000000000000000000000000000 jdk-11.0.1+2
|
||||
fc55f0667af5ea3b21e40a59e2a88b1b82e65e62 jdk-11.0.1+2
|
||||
781b5d8f2f75ae4dfdafc85630e5dbd31e324ed1 jdk-11.0.1+3
|
||||
b5b1dd7e6f9d86aedf7141e9279342fae257bd67 jdk-11.0.1+4
|
||||
d6efeebf554c918bfab50f89939eb11121e18432 jdk-11.0.1+5
|
||||
db768cfe2141b3eb9ef53d7104002a0532c8c977 jdk-11.0.1+6
|
||||
88a221c0bad0cee441767106776628550d660a82 jdk-11.0.1+7
|
||||
c2b23a17d3ff92235aed8e8d04642d7a6eaecf54 jdk-11.0.1+8
|
||||
adb9933aa8c68e6dec6b441133f3955fe7366206 jdk-11.0.1+9
|
||||
a86e14193fc8ea98835fd3e2f867447164c7af53 jdk-11.0.1+10
|
||||
0343f9aacae2d4a9e6df4e61087837166a6a477c jdk-11.0.1+11
|
||||
c0431cf9c38e5c56eedc680e007a94c4279a8f13 jdk-11.0.1+12
|
||||
8513ac27b65198d2e6562fb7da6e9c99b9fdcf51 jdk-11.0.1+13
|
||||
7da060835810b5fbd4a7493ea1c98e9a4338f30d jdk-11.0.2+0
|
||||
2be95a1bf50877cafba791c2f342953bd4a6412e jdk-11.0.2+1
|
||||
b4b16f510f48e2dd4bea007b60fddf69af0f6c10 jdk-11.0.2+2
|
||||
8a8606a3bdf2dbe0698bef375e6a4b47df0efb1a jdk-11.0.2+3
|
||||
0db90dec8c39bc38058afa11b7fda607ee259d01 jdk-11.0.2+4
|
||||
ff1f7723c4e88822fd60bcacd55824e1d3da6d36 jdk-11.0.2+5
|
||||
c6fd7ff3e96f3e6f4913d026a90c6c454a7a35c8 jdk-11.0.2+6
|
||||
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2+7
|
||||
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2-ga
|
||||
fe85e2f43a1c893cb410308106b0f31b814aebb8 jdk-11.0.2+8
|
||||
144d476b6efe527c5e9ebf19af93398913c5450f jdk-11.0.2+9
|
||||
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2-ga
|
||||
0000000000000000000000000000000000000000 jdk-11.0.2-ga
|
||||
144d476b6efe527c5e9ebf19af93398913c5450f jdk-11.0.2-ga
|
||||
cd1c042181e934a1a91f9ee59a0066f64c8bad7a jdk-11.0.4+0
|
||||
98e7354165d3a2443a8b845a5a526cc55d1b0dd7 jdk-11.0.3+0
|
||||
cd1c042181e934a1a91f9ee59a0066f64c8bad7a jdk-11.0.3+1
|
||||
9de3f198995c6c384fd6431c97089c311ec6a7ff jdk-11.0.3+2
|
||||
d17a1764a0f318ab72beadb589c998d40951493a jdk-11.0.3+3
|
||||
43d6759c3b2e36c1118e9753a080372294e1f17a jdk-11.0.3+4
|
||||
c9865fee1a6d39a7bd2a5313f54c812d9a0852f5 jdk-11.0.3+5
|
||||
8e139b8b4f62c0a1c4b13fa216f6fd975df81c1c jdk-11.0.3+6
|
||||
175eb80c253addb5b49a91c53daa7e204f124581 jdk-11.0.3+7
|
||||
175eb80c253addb5b49a91c53daa7e204f124581 jdk-11.0.3-ga
|
||||
b3f7a4c524f2e37a8068ca797859df86d9865aad jdk-11.0.4+1
|
||||
3b9194001c2eebea3109777c2b308cd784a5dcc7 jdk-11.0.4+2
|
||||
3b6fc7cd594608b7125eb0b75bdc05132e7b5f39 jdk-11.0.4+3
|
||||
e442b78d7687744475676724bd27b1d52f096d38 jdk-11.0.4+4
|
||||
371ce104ac19a12012dfe3749240b0309bfc86ee jdk-11.0.4+5
|
||||
9ab8738bf30663e01924f40e04d6d04751271b77 jdk-11.0.4+6
|
||||
640251cdca0577fd8aa4a51ddb7c71c3b874033c jdk-11.0.4+7
|
||||
ce601e800f56af59edfda40e19a92a8d3121a1cd jdk-11.0.4+8
|
||||
26958299a5f8012736b99782c835ec685e18dd43 jdk-11.0.4+9
|
||||
3f5829d9d7629ba3893456e20731949a570cc277 jdk-11.0.4+10
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<meta charset="utf-8">
|
||||
<meta name="generator" content="pandoc">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>Building the JDK</title>
|
||||
<style type="text/css">
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
span.underline{text-decoration: underline;}
|
||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||
</style>
|
||||
<style type="text/css">code{white-space: pre;}</style>
|
||||
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||
@@ -134,8 +129,8 @@
|
||||
<p>The JDK is a complex software project. Building it requires a certain amount of technical expertise, a fair number of dependencies on external software, and reasonably powerful hardware.</p>
|
||||
<p>If you just want to use the JDK and not build it yourself, this document is not for you. See for instance <a href="http://openjdk.java.net/install">OpenJDK installation</a> for some methods of installing a prebuilt JDK.</p>
|
||||
<h2 id="getting-the-source-code">Getting the Source Code</h2>
|
||||
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="http://hg.openjdk.java.net/">OpenJDK Mercurial server</a> you can see a list of all available forests. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
|
||||
<p>If you are new to Mercurial, a good place to start is the <a href="http://www.mercurial-scm.org/guide">Mercurial Beginner’s Guide</a>. The rest of this document assumes a working knowledge of Mercurial.</p>
|
||||
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="http://hg.openjdk.java.net/">OpenJDK Mercurial server</a> you can see a list of all available forests. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
|
||||
<p>If you are new to Mercurial, a good place to start is the <a href="http://www.mercurial-scm.org/guide">Mercurial Beginner's Guide</a>. The rest of this document assumes a working knowledge of Mercurial.</p>
|
||||
<h3 id="special-considerations">Special Considerations</h3>
|
||||
<p>For a smooth building experience, it is recommended that you follow these rules on where and how to check out the source code.</p>
|
||||
<ul>
|
||||
@@ -144,7 +139,7 @@
|
||||
<li><p>Put the source code on a local disk, not a network share. If possible, use an SSD. The build process is very disk intensive, and having slow disk access will significantly increase build times. If you need to use a network share for the source code, see below for suggestions on how to keep the build artifacts on a local disk.</p></li>
|
||||
<li><p>On Windows, extra care must be taken to make sure the <a href="#cygwin">Cygwin</a> environment is consistent. It is recommended that you follow this procedure:</p>
|
||||
<ul>
|
||||
<li><p>Create the directory that is going to contain the top directory of the JDK clone by using the <code>mkdir</code> command in the Cygwin bash shell. That is, do <em>not</em> create it using Windows Explorer. This will ensure that it will have proper Cygwin attributes, and that it’s children will inherit those attributes.</p></li>
|
||||
<li><p>Create the directory that is going to contain the top directory of the JDK clone by using the <code>mkdir</code> command in the Cygwin bash shell. That is, do <em>not</em> create it using Windows Explorer. This will ensure that it will have proper Cygwin attributes, and that it's children will inherit those attributes.</p></li>
|
||||
<li><p>Do not put the JDK clone in a path under your Cygwin home directory. This is especially important if your user name contains spaces and/or mixed upper and lower case letters.</p></li>
|
||||
<li><p>Clone the JDK repository using the Cygwin command line <code>hg</code> client as instructed in this document. That is, do <em>not</em> use another Mercurial client such as TortoiseHg.</p></li>
|
||||
</ul>
|
||||
@@ -161,7 +156,7 @@
|
||||
<h3 id="building-on-armaarch64">Building on arm/aarch64</h3>
|
||||
<p>This is not recommended. Instead, see the section on <a href="#cross-compiling">Cross-compiling</a>.</p>
|
||||
<h2 id="operating-system-requirements">Operating System Requirements</h2>
|
||||
<p>The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate “port” projects.</p>
|
||||
<p>The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate "port" projects.</p>
|
||||
<p>In general, the JDK can be built on a wide range of versions of these operating systems, but the further you deviate from what is tested on a daily basis, the more likely you are to run into problems.</p>
|
||||
<p>This table lists the OS versions used by Oracle when building the JDK. Such information is always subject to change, but this table is up to date at the time of writing.</p>
|
||||
<table>
|
||||
@@ -196,7 +191,7 @@
|
||||
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
|
||||
<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
|
||||
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layer is Cygwin. (Msys is no longer supported due to a too old bash; msys2 and the new Windows Subsystem for Linux (WSL) would likely be possible to support in a future version but that would require effort to implement.)</p>
|
||||
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/hg/jdk9/Makefile</code> rather than <code>C:\hg\jdk9\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
|
||||
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/hg/jdk9/Makefile</code> rather than <code>C:\hg\jdk9\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
|
||||
<h4 id="cygwin">Cygwin</h4>
|
||||
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is thus required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
|
||||
<p><strong>Note:</strong> Cygwin has a model of continuously updating all packages without any easy way to install or revert to a specific version of a package. This means that whenever you add or update a package in Cygwin, you might (inadvertently) update tools that are used by the JDK build process, and that can cause unexpected build problems.</p>
|
||||
@@ -210,13 +205,13 @@
|
||||
</ul>
|
||||
<p>Often, you can install these packages using the following command line:</p>
|
||||
<pre><code><path to Cygwin setup>/setup-x86_64 -q -P autoconf -P make -P unzip -P zip</code></pre>
|
||||
<p>Unfortunately, Cygwin can be unreliable in certain circumstances. If you experience build tool crashes or strange issues when building on Windows, please check the Cygwin FAQ on the <a href="https://cygwin.com/faq/faq.html#faq.using.bloda">“BLODA” list</a> and the section on <a href="https://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures">fork() failures</a>.</p>
|
||||
<p>Unfortunately, Cygwin can be unreliable in certain circumstances. If you experience build tool crashes or strange issues when building on Windows, please check the Cygwin FAQ on the <a href="https://cygwin.com/faq/faq.html#faq.using.bloda">"BLODA" list</a> and the section on <a href="https://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures">fork() failures</a>.</p>
|
||||
<h3 id="solaris">Solaris</h3>
|
||||
<p>See <code>make/devkit/solaris11.1-package-list.txt</code> for a list of recommended packages to install when building on Solaris. The versions specified in this list is the versions used by the daily builds at Oracle, and is likely to work properly.</p>
|
||||
<p>Older versions of Solaris shipped a broken version of <code>objcopy</code>. At least version 2.21.1 is needed, which is provided by Solaris 11 Update 1. Objcopy is needed if you want to have external debug symbols. Please make sure you are using at least version 2.21.1 of objcopy, or that you disable external debug symbols.</p>
|
||||
<h3 id="macos">macOS</h3>
|
||||
<p>Apple is using a quite aggressive scheme of pushing OS updates, and coupling these updates with required updates of Xcode. Unfortunately, this makes it difficult for a project such as the JDK to keep pace with a continuously updated machine running macOS. See the section on <a href="#apple-xcode">Apple Xcode</a> on some strategies to deal with this.</p>
|
||||
<p>It is recommended that you use at least Mac OS X 10.9 (Mavericks). At the time of writing, the JDK has been successfully compiled on macOS versions up to 10.12.5 (Sierra), using XCode 8.3.2 and <code>--disable-warnings-as-errors</code>.</p>
|
||||
<p>It is recommended that you use at least Mac OS X 10.13 (High Sierra). At the time of writing, the JDK has been successfully compiled on macOS 10.12 (Sierra).</p>
|
||||
<p>The standard macOS environment contains the basic tooling needed to build, but for external libraries a package manager is recommended. The JDK uses <a href="https://brew.sh/">homebrew</a> in the examples, but feel free to use whatever manager you want (or none).</p>
|
||||
<h3 id="linux">Linux</h3>
|
||||
<p>It is often not much problem to build the JDK on Linux. The only general advice is to try to use the compilers, external libraries and header files as provided by your distribution.</p>
|
||||
@@ -228,7 +223,7 @@
|
||||
<h3 id="aix">AIX</h3>
|
||||
<p>The regular builds by SAP is using AIX version 7.1, but AIX 5.3 is also supported. See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
|
||||
<h2 id="native-compiler-toolchain-requirements">Native Compiler (Toolchain) Requirements</h2>
|
||||
<p>Large portions of the JDK consists of native code, that needs to be compiled to be able to run on the target platform. In theory, toolchain and operating system should be independent factors, but in practice there’s more or less a one-to-one correlation between target operating system and toolchain.</p>
|
||||
<p>Large portions of the JDK consists of native code, that needs to be compiled to be able to run on the target platform. In theory, toolchain and operating system should be independent factors, but in practice there's more or less a one-to-one correlation between target operating system and toolchain.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
@@ -274,7 +269,7 @@
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">macOS</td>
|
||||
<td style="text-align: left;">Apple Xcode 6.3 (using clang 6.1.0)</td>
|
||||
<td style="text-align: left;">Apple Xcode 9.4 (using clang 9.1.0)</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">Solaris</td>
|
||||
@@ -282,7 +277,7 @@
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">Windows</td>
|
||||
<td style="text-align: left;">Microsoft Visual Studio 2013 update 4</td>
|
||||
<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.5.5</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -294,10 +289,10 @@
|
||||
<p>The minimum accepted version of clang is 3.2. Older versions will not be accepted by <code>configure</code>.</p>
|
||||
<p>To use clang instead of gcc on Linux, use <code>--with-toolchain-type=clang</code>.</p>
|
||||
<h3 id="apple-xcode">Apple Xcode</h3>
|
||||
<p>The oldest supported version of Xcode is 5.</p>
|
||||
<p>The oldest supported version of Xcode is 8.</p>
|
||||
<p>You will need the Xcode command lines developers tools to be able to build the JDK. (Actually, <em>only</em> the command lines tools are needed, not the IDE.) The simplest way to install these is to run:</p>
|
||||
<pre><code>xcode-select --install</code></pre>
|
||||
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode5.app/Contents/Developer/usr/bin</code></p>
|
||||
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
|
||||
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
|
||||
<h3 id="oracle-solaris-studio">Oracle Solaris Studio</h3>
|
||||
<p>The minimum accepted version of the Solaris Studio compilers is 5.13 (corresponding to Solaris Studio 12.4). Older versions will not be accepted by configure.</p>
|
||||
@@ -358,15 +353,15 @@ cc: Sun C 5.13 SunOS_i386 2014/10/20
|
||||
$ CC -V
|
||||
CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
||||
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
|
||||
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2013.</p>
|
||||
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2010</code>.</p>
|
||||
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2017. Versions older than 2017 are unlikely to continue working for long.</p>
|
||||
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
|
||||
<p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p>
|
||||
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
|
||||
<p>The regular builds by SAP is using version 12.1, described as <code>IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) Version: 12.01.0000.0017</code>.</p>
|
||||
<p>See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
|
||||
<h2 id="boot-jdk-requirements">Boot JDK Requirements</h2>
|
||||
<p>Paradoxically, building the JDK requires a pre-existing JDK. This is called the “boot JDK”. The boot JDK does not, however, have to be a JDK built directly from the source code available in the OpenJDK Community. If you are porting the JDK to a new platform, chances are that there already exists another JDK for that platform that is usable as boot JDK.</p>
|
||||
<p>The rule of thumb is that the boot JDK for building JDK major version <em>N</em> should be a JDK of major version <em>N-1</em>, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, the JDK should be able to “build itself”, so an up-to-date build of the current JDK source is an acceptable alternative. If you are following the <em>N-1</em> rule, make sure you’ve got the latest update version, since JDK 8 GA might not be able to build JDK 9 on all platforms.</p>
|
||||
<p>Paradoxically, building the JDK requires a pre-existing JDK. This is called the "boot JDK". The boot JDK does not, however, have to be a JDK built directly from the source code available in the OpenJDK Community. If you are porting the JDK to a new platform, chances are that there already exists another JDK for that platform that is usable as boot JDK.</p>
|
||||
<p>The rule of thumb is that the boot JDK for building JDK major version <em>N</em> should be a JDK of major version <em>N-1</em>, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, the JDK should be able to "build itself", so an up-to-date build of the current JDK source is an acceptable alternative. If you are following the <em>N-1</em> rule, make sure you've got the latest update version, since JDK 8 GA might not be able to build JDK 9 on all platforms.</p>
|
||||
<p>Early in the release cycle, version <em>N-1</em> may not yet have been released. In that case, the preferred boot JDK will be version <em>N-2</em> until version <em>N-1</em> is available.</p>
|
||||
<p>If the boot JDK is not automatically detected, or the wrong JDK is picked, use <code>--with-boot-jdk</code> to point to the JDK to use.</p>
|
||||
<h3 id="getting-jdk-binaries">Getting JDK binaries</h3>
|
||||
@@ -428,14 +423,14 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
||||
<h3 id="gnu-make">GNU Make</h3>
|
||||
<p>The JDK requires <a href="http://www.gnu.org/software/make">GNU Make</a>. No other flavors of make are supported.</p>
|
||||
<p>At least version 3.81 of GNU Make must be used. For distributions supporting GNU Make 4.0 or above, we strongly recommend it. GNU Make 4.0 contains useful functionality to handle parallel building (supported by <code>--with-output-sync</code>) and speed and stability improvements.</p>
|
||||
<p>Note that <code>configure</code> locates and verifies a properly functioning version of <code>make</code> and stores the path to this <code>make</code> binary in the configuration. If you start a build using <code>make</code> on the command line, you will be using the version of make found first in your <code>PATH</code>, and not necessarily the one stored in the configuration. This initial make will be used as “bootstrap make”, and in a second stage, the make located by <code>configure</code> will be called. Normally, this will present no issues, but if you have a very old <code>make</code>, or a non-GNU Make <code>make</code> in your path, this might cause issues.</p>
|
||||
<p>Note that <code>configure</code> locates and verifies a properly functioning version of <code>make</code> and stores the path to this <code>make</code> binary in the configuration. If you start a build using <code>make</code> on the command line, you will be using the version of make found first in your <code>PATH</code>, and not necessarily the one stored in the configuration. This initial make will be used as "bootstrap make", and in a second stage, the make located by <code>configure</code> will be called. Normally, this will present no issues, but if you have a very old <code>make</code>, or a non-GNU Make <code>make</code> in your path, this might cause issues.</p>
|
||||
<p>If you want to override the default make found by <code>configure</code>, use the <code>MAKE</code> configure variable, e.g. <code>configure MAKE=/opt/gnu/make</code>.</p>
|
||||
<p>On Solaris, it is common to call the GNU version of make by using <code>gmake</code>.</p>
|
||||
<h3 id="gnu-bash">GNU Bash</h3>
|
||||
<p>The JDK requires <a href="http://www.gnu.org/software/bash">GNU Bash</a>. No other shells are supported.</p>
|
||||
<p>At least version 3.2 of GNU Bash must be used.</p>
|
||||
<h2 id="running-configure">Running Configure</h2>
|
||||
<p>To build the JDK, you need a “configuration”, which consists of a directory where to store the build output, coupled with information about the platform, the specific build machine, and choices that affect how the JDK is built.</p>
|
||||
<p>To build the JDK, you need a "configuration", which consists of a directory where to store the build output, coupled with information about the platform, the specific build machine, and choices that affect how the JDK is built.</p>
|
||||
<p>The configuration is created by the <code>configure</code> script. The basic invocation of the <code>configure</code> script looks like this:</p>
|
||||
<pre><code>bash configure [options]</code></pre>
|
||||
<p>This will create an output directory containing the configuration and setup an area for the build result. This directory typically looks like <code>build/linux-x64-normal-server-release</code>, but the actual name depends on your specific configuration. (It can also be set directly, see <a href="#using-multiple-configurations">Using Multiple Configurations</a>). This directory is referred to as <code>$BUILD</code> in this documentation.</p>
|
||||
@@ -497,13 +492,13 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
||||
</ul>
|
||||
<h3 id="configure-control-variables">Configure Control Variables</h3>
|
||||
<p>It is possible to control certain aspects of <code>configure</code> by overriding the value of <code>configure</code> variables, either on the command line or in the environment.</p>
|
||||
<p>Normally, this is <strong>not recommended</strong>. If used improperly, it can lead to a broken configuration. Unless you’re well versed in the build system, this is hard to use properly. Therefore, <code>configure</code> will print a warning if this is detected.</p>
|
||||
<p>Normally, this is <strong>not recommended</strong>. If used improperly, it can lead to a broken configuration. Unless you're well versed in the build system, this is hard to use properly. Therefore, <code>configure</code> will print a warning if this is detected.</p>
|
||||
<p>However, there are a few <code>configure</code> variables, known as <em>control variables</em> that are supposed to be overriden on the command line. These are variables that describe the location of tools needed by the build, like <code>MAKE</code> or <code>GREP</code>. If any such variable is specified, <code>configure</code> will use that value instead of trying to autodetect the tool. For instance, <code>bash configure MAKE=/opt/gnumake4.0/bin/make</code>.</p>
|
||||
<p>If a configure argument exists, use that instead, e.g. use <code>--with-jtreg</code> instead of setting <code>JTREGEXE</code>.</p>
|
||||
<p>If a configure argument exists, use that instead, e.g. use <code>--with-jtreg</code> instead of setting <code>JTREGEXE</code>.</p>
|
||||
<p>Also note that, despite what autoconf claims, setting <code>CFLAGS</code> will not accomplish anything. Instead use <code>--with-extra-cflags</code> (and similar for <code>cxxflags</code> and <code>ldflags</code>).</p>
|
||||
<h2 id="running-make">Running Make</h2>
|
||||
<p>When you have a proper configuration, all you need to do to build the JDK is to run <code>make</code>. (But see the warning at <a href="#gnu-make">GNU Make</a> about running the correct version of make.)</p>
|
||||
<p>When running <code>make</code> without any arguments, the default target is used, which is the same as running <code>make default</code> or <code>make jdk</code>. This will build a minimal (or roughly minimal) set of compiled output (known as an “exploded image”) needed for a developer to actually execute the newly built JDK. The idea is that in an incremental development fashion, when doing a normal make, you should only spend time recompiling what’s changed (making it purely incremental) and only do the work that’s needed to actually run and test your code.</p>
|
||||
<p>When running <code>make</code> without any arguments, the default target is used, which is the same as running <code>make default</code> or <code>make jdk</code>. This will build a minimal (or roughly minimal) set of compiled output (known as an "exploded image") needed for a developer to actually execute the newly built JDK. The idea is that in an incremental development fashion, when doing a normal make, you should only spend time recompiling what's changed (making it purely incremental) and only do the work that's needed to actually run and test your code.</p>
|
||||
<p>The output of the exploded image resides in <code>$BUILD/jdk</code>. You can test the newly built JDK like this: <code>$BUILD/jdk/bin/java -version</code>.</p>
|
||||
<h3 id="common-make-targets">Common Make Targets</h3>
|
||||
<p>Apart from the default target, here are some common make targets:</p>
|
||||
@@ -534,8 +529,8 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
||||
</ul>
|
||||
<h3 id="make-control-variables">Make Control Variables</h3>
|
||||
<p>It is possible to control <code>make</code> behavior by overriding the value of <code>make</code> variables, either on the command line or in the environment.</p>
|
||||
<p>Normally, this is <strong>not recommended</strong>. If used improperly, it can lead to a broken build. Unless you’re well versed in the build system, this is hard to use properly. Therefore, <code>make</code> will print a warning if this is detected.</p>
|
||||
<p>However, there are a few <code>make</code> variables, known as <em>control variables</em> that are supposed to be overriden on the command line. These make up the “make time” configuration, as opposed to the “configure time” configuration.</p>
|
||||
<p>Normally, this is <strong>not recommended</strong>. If used improperly, it can lead to a broken build. Unless you're well versed in the build system, this is hard to use properly. Therefore, <code>make</code> will print a warning if this is detected.</p>
|
||||
<p>However, there are a few <code>make</code> variables, known as <em>control variables</em> that are supposed to be overriden on the command line. These make up the "make time" configuration, as opposed to the "configure time" configuration.</p>
|
||||
<h4 id="general-make-control-variables">General Make Control Variables</h4>
|
||||
<ul>
|
||||
<li><code>JOBS</code> - Specify the number of jobs to build with. See <a href="#build-performance">Build Performance</a>.</li>
|
||||
@@ -559,7 +554,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
||||
<li><code>JDK_FILTER</code></li>
|
||||
</ul>
|
||||
<h2 id="running-tests">Running Tests</h2>
|
||||
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=<path to jtreg home></code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
|
||||
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=<path to jtreg home></code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
|
||||
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://adopt-openjdk.ci.cloudbees.com/job/jtreg/lastSuccessfulBuild/artifact">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
|
||||
<p>To execute the most basic tests (tier 1), use:</p>
|
||||
<pre><code>make run-test-tier1</code></pre>
|
||||
@@ -569,13 +564,13 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
||||
<p>The typical reason for cross-compiling is that the build is performed on a more powerful desktop computer, but the resulting binaries will be able to run on a different, typically low-performing system. Most of the complications that arise when building for embedded is due to this separation of <em>build</em> and <em>target</em> systems.</p>
|
||||
<p>This requires a more complex setup and build procedure. This section assumes you are familiar with cross-compiling in general, and will only deal with the particularities of cross-compiling the JDK. If you are new to cross-compiling, please see the <a href="https://en.wikipedia.org/wiki/Cross_compiler#External_links">external links at Wikipedia</a> for a good start on reading materials.</p>
|
||||
<p>Cross-compiling the JDK requires you to be able to build both for the build platform and for the target platform. The reason for the former is that we need to build and execute tools during the build process, both native tools and Java tools.</p>
|
||||
<p>If all you want to do is to compile a 32-bit version, for the same OS, on a 64-bit machine, consider using <code>--with-target-bits=32</code> instead of doing a full-blown cross-compilation. (While this surely is possible, it’s a lot more work and will take much longer to build.)</p>
|
||||
<p>If all you want to do is to compile a 32-bit version, for the same OS, on a 64-bit machine, consider using <code>--with-target-bits=32</code> instead of doing a full-blown cross-compilation. (While this surely is possible, it's a lot more work and will take much longer to build.)</p>
|
||||
<h3 id="boot-jdk-and-build-jdk">Boot JDK and Build JDK</h3>
|
||||
<p>When cross-compiling, make sure you use a boot JDK that runs on the <em>build</em> system, and not on the <em>target</em> system.</p>
|
||||
<p>To be able to build, we need a “Build JDK”, which is a JDK built from the current sources (that is, the same as the end result of the entire build process), but able to run on the <em>build</em> system, and not the <em>target</em> system. (In contrast, the Boot JDK should be from an older release, e.g. JDK 8 when building JDK 9.)</p>
|
||||
<p>To be able to build, we need a "Build JDK", which is a JDK built from the current sources (that is, the same as the end result of the entire build process), but able to run on the <em>build</em> system, and not the <em>target</em> system. (In contrast, the Boot JDK should be from an older release, e.g. JDK 8 when building JDK 9.)</p>
|
||||
<p>The build process will create a minimal Build JDK for you, as part of building. To speed up the build, you can use <code>--with-build-jdk</code> to <code>configure</code> to point to a pre-built Build JDK. Please note that the build result is unpredictable, and can possibly break in subtle ways, if the Build JDK does not <strong>exactly</strong> match the current sources.</p>
|
||||
<h3 id="specifying-the-target-platform">Specifying the Target Platform</h3>
|
||||
<p>You <em>must</em> specify the target platform when cross-compiling. Doing so will also automatically turn the build into a cross-compiling mode. The simplest way to do this is to use the <code>--openjdk-target</code> argument, e.g. <code>--openjdk-target=arm-linux-gnueabihf</code>. or <code>--openjdk-target=aarch64-oe-linux</code>. This will automatically set the <code>--build</code>, <code>--host</code> and <code>--target</code> options for autoconf, which can otherwise be confusing. (In autoconf terminology, the “target” is known as “host”, and “target” is used for building a Canadian cross-compiler.)</p>
|
||||
<p>You <em>must</em> specify the target platform when cross-compiling. Doing so will also automatically turn the build into a cross-compiling mode. The simplest way to do this is to use the <code>--openjdk-target</code> argument, e.g. <code>--openjdk-target=arm-linux-gnueabihf</code>. or <code>--openjdk-target=aarch64-oe-linux</code>. This will automatically set the <code>--build</code>, <code>--host</code> and <code>--target</code> options for autoconf, which can otherwise be confusing. (In autoconf terminology, the "target" is known as "host", and "target" is used for building a Canadian cross-compiler.)</p>
|
||||
<h3 id="toolchain-considerations">Toolchain Considerations</h3>
|
||||
<p>You will need two copies of your toolchain, one which generates output that can run on the target system (the normal, or <em>target</em>, toolchain), and one that generates output that can run on the build system (the <em>build</em> toolchain). Note that cross-compiling is only supported for gcc at the time being. The gcc standard is to prefix cross-compiling toolchains with the target denominator. If you follow this standard, <code>configure</code> is likely to pick up the toolchain correctly.</p>
|
||||
<p>The <em>build</em> toolchain will be autodetected just the same way the normal <em>build</em>/<em>target</em> toolchain will be autodetected when not cross-compiling. If this is not what you want, or if the autodetection fails, you can specify a devkit containing the <em>build</em> toolchain using <code>--with-build-devkit</code> to <code>configure</code>, or by giving <code>BUILD_CC</code> and <code>BUILD_CXX</code> arguments.</p>
|
||||
@@ -587,23 +582,21 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
||||
</ul>
|
||||
<h3 id="native-libraries">Native Libraries</h3>
|
||||
<p>You will need copies of external native libraries for the <em>target</em> system, present on the <em>build</em> machine while building.</p>
|
||||
<p>Take care not to replace the <em>build</em> system’s version of these libraries by mistake, since that can render the <em>build</em> machine unusable.</p>
|
||||
<p>Take care not to replace the <em>build</em> system's version of these libraries by mistake, since that can render the <em>build</em> machine unusable.</p>
|
||||
<p>Make sure that the libraries you point to (ALSA, X11, etc) are for the <em>target</em>, not the <em>build</em>, platform.</p>
|
||||
<h4 id="alsa-1">ALSA</h4>
|
||||
<p>You will need alsa libraries suitable for your <em>target</em> system. For most cases, using Debian’s pre-built libraries work fine.</p>
|
||||
<p>You will need alsa libraries suitable for your <em>target</em> system. For most cases, using Debian's pre-built libraries work fine.</p>
|
||||
<p>Note that alsa is needed even if you only want to build a headless JDK.</p>
|
||||
<ul>
|
||||
<li><p>Go to <a href="https://www.debian.org/distrib/packages">Debian Package Search</a> and search for the <code>libasound2</code> and <code>libasound2-dev</code> packages for your <em>target</em> system. Download them to /tmp.</p></li>
|
||||
<li>Install the libraries into the cross-compilation toolchain. For instance:</li>
|
||||
</ul>
|
||||
<li><p>Install the libraries into the cross-compilation toolchain. For instance:</p>
|
||||
<pre><code>cd /tools/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux/arm-linux-gnueabihf/libc
|
||||
dpkg-deb -x /tmp/libasound2_1.0.25-4_armhf.deb .
|
||||
dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre>
|
||||
<ul>
|
||||
<li>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</li>
|
||||
dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre></li>
|
||||
<li><p>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</p></li>
|
||||
</ul>
|
||||
<h4 id="x11-1">X11</h4>
|
||||
<p>You will need X11 libraries suitable for your <em>target</em> system. For most cases, using Debian’s pre-built libraries work fine.</p>
|
||||
<p>You will need X11 libraries suitable for your <em>target</em> system. For most cases, using Debian's pre-built libraries work fine.</p>
|
||||
<p>Note that X11 is needed even if you only want to build a headless JDK.</p>
|
||||
<ul>
|
||||
<li>Go to <a href="https://www.debian.org/distrib/packages">Debian Package Search</a>, search for the following packages for your <em>target</em> system, and download them to /tmp/target-x11:
|
||||
@@ -643,7 +636,7 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so': No such file or directory</c
|
||||
</ul>
|
||||
<h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
|
||||
<p>A common cross-compilation target is the ARM CPU. When building for ARM, it is useful to set the ABI profile. A number of pre-defined ABI profiles are available using <code>--with-abi-profile</code>: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported by the JDK.</p>
|
||||
<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to –with-abi-profile, to ensure a consistent build.</p>
|
||||
<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
|
||||
<h3 id="verifying-the-build">Verifying the Build</h3>
|
||||
<p>The build will end up in a directory named like <code>build/linux-arm-normal-server-release</code>.</p>
|
||||
<p>Inside this build output directory, the <code>images/jdk</code> will contain the newly built JDK, for your <em>target</em> system.</p>
|
||||
@@ -651,21 +644,21 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so': No such file or directory</c
|
||||
<h2 id="build-performance">Build Performance</h2>
|
||||
<p>Building the JDK requires a lot of horsepower. Some of the build tools can be adjusted to utilize more or less of resources such as parallel threads and memory. The <code>configure</code> script analyzes your system and selects reasonable values for such options based on your hardware. If you encounter resource problems, such as out of memory conditions, you can modify the detected values with:</p>
|
||||
<ul>
|
||||
<li><p><code>--with-num-cores</code> – number of cores in the build system, e.g. <code>--with-num-cores=8</code>.</p></li>
|
||||
<li><p><code>--with-memory-size</code> – memory (in MB) available in the build system, e.g. <code>--with-memory-size=1024</code></p></li>
|
||||
<li><p><code>--with-num-cores</code> -- number of cores in the build system, e.g. <code>--with-num-cores=8</code>.</p></li>
|
||||
<li><p><code>--with-memory-size</code> -- memory (in MB) available in the build system, e.g. <code>--with-memory-size=1024</code></p></li>
|
||||
</ul>
|
||||
<p>You can also specify directly the number of build jobs to use with <code>--with-jobs=N</code> to <code>configure</code>, or <code>JOBS=N</code> to <code>make</code>. Do not use the <code>-j</code> flag to <code>make</code>. In most cases it will be ignored by the makefiles, but it can cause problems for some make targets.</p>
|
||||
<p>It might also be necessary to specify the JVM arguments passed to the Boot JDK, using e.g. <code>--with-boot-jdk-jvmargs="-Xmx8G"</code>. Doing so will override the default JVM arguments passed to the Boot JDK.</p>
|
||||
<p>At the end of a successful execution of <code>configure</code>, you will get a performance summary, indicating how well the build will perform. Here you will also get performance hints. If you want to build fast, pay attention to those!</p>
|
||||
<p>If you want to tweak build performance, run with <code>make LOG=info</code> to get a build time summary at the end of the build process.</p>
|
||||
<h3 id="disk-speed">Disk Speed</h3>
|
||||
<p>If you are using network shares, e.g. via NFS, for your source code, make sure the build directory is situated on local disk (e.g. by <code>ln -s /localdisk/jdk-build $JDK-SHARE/build</code>). The performance penalty is extremely high for building on a network share; close to unusable.</p>
|
||||
<p>If you are using network shares, e.g. via NFS, for your source code, make sure the build directory is situated on local disk (e.g. by <code>ln -s /localdisk/jdk-build $JDK-SHARE/build</code>). The performance penalty is extremely high for building on a network share; close to unusable.</p>
|
||||
<p>Also, make sure that your build tools (including Boot JDK and toolchain) is located on a local disk and not a network share.</p>
|
||||
<p>As has been stressed elsewhere, do use SSD for source code and build directory, as well as (if possible) the build tools.</p>
|
||||
<h3 id="virus-checking">Virus Checking</h3>
|
||||
<p>The use of virus checking software, especially on Windows, can <em>significantly</em> slow down building of the JDK. If possible, turn off such software, or exclude the directory containing the JDK source code from on-the-fly checking.</p>
|
||||
<h3 id="ccache">Ccache</h3>
|
||||
<p>The JDK build supports building with ccache when using gcc or clang. Using ccache can radically speed up compilation of native code if you often rebuild the same sources. Your milage may vary however, so we recommend evaluating it for yourself. To enable it, make sure it’s on the path and configure with <code>--enable-ccache</code>.</p>
|
||||
<p>The JDK build supports building with ccache when using gcc or clang. Using ccache can radically speed up compilation of native code if you often rebuild the same sources. Your milage may vary however, so we recommend evaluating it for yourself. To enable it, make sure it's on the path and configure with <code>--enable-ccache</code>.</p>
|
||||
<h3 id="precompiled-headers">Precompiled Headers</h3>
|
||||
<p>By default, the Hotspot build uses preccompiled headers (PCH) on the toolchains were it is properly supported (clang, gcc, and Visual Studio). Normally, this speeds up the build process, but in some circumstances, it can actually slow things down.</p>
|
||||
<p>You can experiment by disabling precompiled headers using <code>--disable-precompiled-headers</code>.</p>
|
||||
@@ -700,11 +693,11 @@ make/Main.gmk:263: recipe for target 'hotspot-server-libs' failed
|
||||
|
||||
Hint: Try searching the build log for the name of the first failed target.
|
||||
Hint: If caused by a warning, try configure --disable-warnings-as-errors.</code></pre>
|
||||
<p>Let’s break it down! First, the selected configuration, and the top-level target you entered on the command line that caused the failure is printed.</p>
|
||||
<p>Let's break it down! First, the selected configuration, and the top-level target you entered on the command line that caused the failure is printed.</p>
|
||||
<p>Then, between the <code>Output from failing command(s) repeated here</code> and <code>End of repeated output</code> the first lines of output (stdout and stderr) from the actual failing command is repeated. In most cases, this is the error message that caused the build to fail. If multiple commands were failing (this can happen in a parallel build), output from all failed commands will be printed here.</p>
|
||||
<p>The path to the <code>failure-logs</code> directory is printed. In this file you will find a <code><target>.log</code> file that contains the output from this command in its entirety, and also a <code><target>.cmd</code>, which contain the complete command line used for running this command. You can re-run the failing command by executing <code>. <path to failure-logs>/<target>.cmd</code> in your shell.</p>
|
||||
<p>Another way to trace the failure is to follow the chain of make targets, from top-level targets to individual file targets. Between <code>Make failed targets repeated here</code> and <code>End of repeated output</code> the output from make showing this chain is repeated. The first failed recipe will typically contain the full path to the file in question that failed to compile. Following lines will show a trace of make targets why we ended up trying to compile that file.</p>
|
||||
<p>Finally, some hints are given on how to locate the error in the complete log. In this example, we would try searching the log file for “<code>psMemoryPool.o</code>”. Another way to quickly locate make errors in the log is to search for “<code>] Error</code>” or “<code>***</code>”.</p>
|
||||
<p>Finally, some hints are given on how to locate the error in the complete log. In this example, we would try searching the log file for "<code>psMemoryPool.o</code>". Another way to quickly locate make errors in the log is to search for "<code>] Error</code>" or "<code>***</code>".</p>
|
||||
<p>Note that the build failure summary will only help you if the issue was a compilation failure or similar. If the problem is more esoteric, or is due to errors in the build machinery, you will likely get empty output logs, and <code>No indication of failed target found</code> instead of the make target chain.</p>
|
||||
<h4 id="checking-the-build-log-file">Checking the Build Log File</h4>
|
||||
<p>The output (stdout and stderr) from the latest build is always stored in <code>$BUILD/build.log</code>. The previous build log is stored as <code>build.log.old</code>. This means that it is not necessary to redirect the build output yourself if you want to process it.</p>
|
||||
@@ -725,13 +718,13 @@ Hint: If caused by a warning, try configure --disable-warnings-as-errors.</code>
|
||||
<li><p>Clean build results</p>
|
||||
<p>The simplest way to fix incremental rebuild issues is to run <code>make clean</code>. This will remove all build results, but not the configuration or any build system support artifacts. In most cases, this will solve build errors resulting from incremental build mismatches.</p></li>
|
||||
<li><p>Completely clean the build directory.</p>
|
||||
<p>If this does not work, the next step is to run <code>make dist-clean</code>, or removing the build output directory (<code>$BUILD</code>). This will clean all generated output, including your configuration. You will need to re-run <code>configure</code> after this step. A good idea is to run <code>make print-configuration</code> before running <code>make dist-clean</code>, as this will print your current <code>configure</code> command line. Here’s a way to do this:</p>
|
||||
<p>If this does not work, the next step is to run <code>make dist-clean</code>, or removing the build output directory (<code>$BUILD</code>). This will clean all generated output, including your configuration. You will need to re-run <code>configure</code> after this step. A good idea is to run <code>make print-configuration</code> before running <code>make dist-clean</code>, as this will print your current <code>configure</code> command line. Here's a way to do this:</p>
|
||||
<pre><code>make print-configuration > current-configuration
|
||||
make dist-clean
|
||||
bash configure $(cat current-configuration)
|
||||
make</code></pre></li>
|
||||
<li><p>Re-clone the Mercurial forest</p>
|
||||
<p>Sometimes the Mercurial repositories themselves gets in a state that causes the product to be un-buildable. In such a case, the simplest solution is often the “sledgehammer approach”: delete the entire forest, and re-clone it. If you have local changes, save them first to a different location using <code>hg export</code>.</p></li>
|
||||
<p>Sometimes the Mercurial repositories themselves gets in a state that causes the product to be un-buildable. In such a case, the simplest solution is often the "sledgehammer approach": delete the entire forest, and re-clone it. If you have local changes, save them first to a different location using <code>hg export</code>.</p></li>
|
||||
</ol>
|
||||
<h3 id="specific-build-issues">Specific Build Issues</h3>
|
||||
<h4 id="clock-skew">Clock Skew</h4>
|
||||
@@ -755,7 +748,7 @@ spawn failed</code></pre>
|
||||
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
|
||||
<h3 id="setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</h3>
|
||||
<p>To help you prepare a proper push path for a Mercurial repository, there exists a useful tool known as <a href="http://openjdk.java.net/projects/code-tools/defpath">defpath</a>. It will help you setup a proper push path for pushing changes to the JDK.</p>
|
||||
<p>Install the extension by cloning <code>http://hg.openjdk.java.net/code-tools/defpath</code> and updating your <code>.hgrc</code> file. Here’s one way to do this:</p>
|
||||
<p>Install the extension by cloning <code>http://hg.openjdk.java.net/code-tools/defpath</code> and updating your <code>.hgrc</code> file. Here's one way to do this:</p>
|
||||
<pre><code>cd ~
|
||||
mkdir hg-ext
|
||||
cd hg-ext
|
||||
@@ -789,7 +782,7 @@ sudo mv /tmp/configure /usr/local/bin</code></pre>
|
||||
<h3 id="handling-reconfigurations">Handling Reconfigurations</h3>
|
||||
<p>If you update the forest and part of the configure script has changed, the build system will force you to re-run <code>configure</code>.</p>
|
||||
<p>Most of the time, you will be fine by running <code>configure</code> again with the same arguments as the last time, which can easily be performed by <code>make reconfigure</code>. To simplify this, you can use the <code>CONF_CHECK</code> make control variable, either as <code>make CONF_CHECK=auto</code>, or by setting an environment variable. For instance, if you add <code>export CONF_CHECK=auto</code> to your <code>.bashrc</code> file, <code>make</code> will always run <code>reconfigure</code> automatically whenever the configure script has changed.</p>
|
||||
<p>You can also use <code>CONF_CHECK=ignore</code> to skip the check for a needed configure update. This might speed up the build, but comes at the risk of an incorrect build result. This is only recommended if you know what you’re doing.</p>
|
||||
<p>You can also use <code>CONF_CHECK=ignore</code> to skip the check for a needed configure update. This might speed up the build, but comes at the risk of an incorrect build result. This is only recommended if you know what you're doing.</p>
|
||||
<p>From time to time, you will also need to modify the command line to <code>configure</code> due to changes. Use <code>make print-configure</code> to show the command line used for your current configuration.</p>
|
||||
<h3 id="using-fine-grained-make-targets">Using Fine-Grained Make Targets</h3>
|
||||
<p>The default behavior for make is to create consistent and correct output, at the expense of build speed, if necessary.</p>
|
||||
@@ -847,9 +840,9 @@ test-support/</code></pre>
|
||||
<p>This is what they are used for:</p>
|
||||
<ul>
|
||||
<li><p><code>images</code>: This is the directory were the output of the <code>*-image</code> make targets end up. For instance, <code>make jdk-image</code> ends up in <code>images/jdk</code>.</p></li>
|
||||
<li><p><code>jdk</code>: This is the “exploded image”. After <code>make jdk</code>, you will be able to launch the newly built JDK by running <code>$BUILD/jdk/bin/java</code>.</p></li>
|
||||
<li><p><code>jdk</code>: This is the "exploded image". After <code>make jdk</code>, you will be able to launch the newly built JDK by running <code>$BUILD/jdk/bin/java</code>.</p></li>
|
||||
<li><p><code>test-results</code>: This directory contains the results from running tests.</p></li>
|
||||
<li><p><code>support</code>: This is an area for intermediate files needed during the build, e.g. generated source code, object files and class files. Some noteworthy directories in <code>support</code> is <code>gensrc</code>, which contains the generated source code, and the <code>modules_*</code> directories, which contains the files in a per-module hierarchy that will later be collapsed into the <code>jdk</code> directory of the exploded image.</p></li>
|
||||
<li><p><code>support</code>: This is an area for intermediate files needed during the build, e.g. generated source code, object files and class files. Some noteworthy directories in <code>support</code> is <code>gensrc</code>, which contains the generated source code, and the <code>modules_*</code> directories, which contains the files in a per-module hierarchy that will later be collapsed into the <code>jdk</code> directory of the exploded image.</p></li>
|
||||
<li><p><code>buildtools</code>: This is an area for tools compiled for the build platform that are used during the rest of the build.</p></li>
|
||||
<li><p><code>hotspot</code>: This is an area for intermediate files needed when building hotspot.</p></li>
|
||||
<li><p><code>configure-support</code>, <code>make-support</code> and <code>test-support</code>: These directories contain files that are needed by the build system for <code>configure</code>, <code>make</code> and for running tests.</p></li>
|
||||
@@ -884,7 +877,7 @@ test-support/</code></pre>
|
||||
))</code></pre>
|
||||
<p>By encapsulating and expressing the high-level knowledge of <em>what</em> should be done, rather than <em>how</em> it should be done (as is normal in Makefiles), we can build a much more powerful and flexible build system.</p>
|
||||
<p>Correct dependency tracking is paramount. Sloppy dependency tracking will lead to improper parallelization, or worse, race conditions.</p>
|
||||
<p>To test for/debug race conditions, try running <code>make JOBS=1</code> and <code>make JOBS=100</code> and see if it makes any difference. (It shouldn’t).</p>
|
||||
<p>To test for/debug race conditions, try running <code>make JOBS=1</code> and <code>make JOBS=100</code> and see if it makes any difference. (It shouldn't).</p>
|
||||
<p>To compare the output of two different builds and see if, and how, they differ, run <code>$BUILD1/compare.sh -o $BUILD2</code>, where <code>$BUILD1</code> and <code>$BUILD2</code> are the two builds you want to compare.</p>
|
||||
<p>To automatically build two consecutive versions and compare them, use <code>COMPARE_BUILD</code>. The value of <code>COMPARE_BUILD</code> is a set of variable=value assignments, like this:</p>
|
||||
<pre><code>make COMPARE_BUILD=CONF=--enable-new-hotspot-feature:MAKE=hotspot</code></pre>
|
||||
@@ -892,9 +885,9 @@ test-support/</code></pre>
|
||||
<p>To analyze build performance, run with <code>LOG=trace</code> and check <code>$BUILD/build-trace-time.log</code>. Use <code>JOBS=1</code> to avoid parallelism.</p>
|
||||
<p>Please check that you adhere to the <a href="http://openjdk.java.net/groups/build/doc/code-conventions.html">Code Conventions for the Build System</a> before submitting patches.</p>
|
||||
<h2 id="contributing-to-the-jdk">Contributing to the JDK</h2>
|
||||
<p>So, now you’ve built your JDK, and made your first patch, and want to contribute it back to the OpenJDK Community.</p>
|
||||
<p>So, now you've built your JDK, and made your first patch, and want to contribute it back to the OpenJDK Community.</p>
|
||||
<p>First of all: Thank you! We gladly welcome your contribution. However, please bear in mind that the JDK is a massive project, and we must ask you to follow our rules and guidelines to be able to accept your contribution.</p>
|
||||
<p>The official place to start is the <a href="http://openjdk.java.net/contribute/">‘How to contribute’ page</a>. There is also an official (but somewhat outdated and skimpy on details) <a href="http://openjdk.java.net/guide/">Developer’s Guide</a>.</p>
|
||||
<p>If this seems overwhelming to you, the Adoption Group is there to help you! A good place to start is their <a href="https://wiki.openjdk.java.net/display/Adoption/New+Contributor">‘New Contributor’ page</a>, or start reading the comprehensive <a href="https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/">Getting Started Kit</a>. The Adoption Group will also happily answer any questions you have about contributing. Contact them by <a href="http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss">mail</a> or <a href="http://openjdk.java.net/irc/">IRC</a>.</p>
|
||||
<p>The official place to start is the <a href="http://openjdk.java.net/contribute/">'How to contribute' page</a>. There is also an official (but somewhat outdated and skimpy on details) <a href="http://openjdk.java.net/guide/">Developer's Guide</a>.</p>
|
||||
<p>If this seems overwhelming to you, the Adoption Group is there to help you! A good place to start is their <a href="https://wiki.openjdk.java.net/display/Adoption/New+Contributor">'New Contributor' page</a>, or start reading the comprehensive <a href="https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/">Getting Started Kit</a>. The Adoption Group will also happily answer any questions you have about contributing. Contact them by <a href="http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss">mail</a> or <a href="http://openjdk.java.net/irc/">IRC</a>.</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -233,9 +233,8 @@ difficult for a project such as the JDK to keep pace with a continuously updated
|
||||
machine running macOS. See the section on [Apple Xcode](#apple-xcode) on some
|
||||
strategies to deal with this.
|
||||
|
||||
It is recommended that you use at least Mac OS X 10.9 (Mavericks). At the time
|
||||
of writing, the JDK has been successfully compiled on macOS versions up to
|
||||
10.12.5 (Sierra), using XCode 8.3.2 and `--disable-warnings-as-errors`.
|
||||
It is recommended that you use at least Mac OS X 10.13 (High Sierra). At the time
|
||||
of writing, the JDK has been successfully compiled on macOS 10.12 (Sierra).
|
||||
|
||||
The standard macOS environment contains the basic tooling needed to build, but
|
||||
for external libraries a package manager is recommended. The JDK uses
|
||||
@@ -292,9 +291,9 @@ issues.
|
||||
Operating system Toolchain version
|
||||
------------------ -------------------------------------------------------
|
||||
Linux gcc 7.3.0
|
||||
macOS Apple Xcode 6.3 (using clang 6.1.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 2013 update 4
|
||||
Windows Microsoft Visual Studio 2017 update 15.5.5
|
||||
|
||||
### gcc
|
||||
|
||||
@@ -315,7 +314,7 @@ To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`.
|
||||
|
||||
### Apple Xcode
|
||||
|
||||
The oldest supported version of Xcode is 5.
|
||||
The oldest supported version of Xcode is 8.
|
||||
|
||||
You will need the Xcode command lines developers tools to be able to build
|
||||
the JDK. (Actually, *only* the command lines tools are needed, not the IDE.)
|
||||
@@ -330,7 +329,7 @@ http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html) has
|
||||
good suggestions on managing multiple Xcode versions. To use a specific version
|
||||
of Xcode, use `xcode-select -s` before running `configure`, or use
|
||||
`--with-toolchain-path` to point to the version of Xcode to use, e.g.
|
||||
`configure --with-toolchain-path=/Applications/Xcode5.app/Contents/Developer/usr/bin`
|
||||
`configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin`
|
||||
|
||||
If you have recently (inadvertently) updated your OS and/or Xcode version, and
|
||||
the JDK can no longer be built, please see the section on [Problems with the
|
||||
@@ -372,11 +371,11 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30
|
||||
|
||||
The minimum accepted version of Visual Studio is 2010. Older versions will not
|
||||
be accepted by `configure`. The maximum accepted version of Visual Studio is
|
||||
2013.
|
||||
2017. Versions older than 2017 are unlikely to continue working for long.
|
||||
|
||||
If you have multiple versions of Visual Studio installed, `configure` will by
|
||||
default pick the latest. You can request a specific version to be used by
|
||||
setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2010`.
|
||||
setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2015`.
|
||||
|
||||
If you get `LINK: fatal error LNK1123: failure during conversion to COFF: file
|
||||
invalid` when building using Visual Studio 2010, you have encountered
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 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
|
||||
@@ -29,6 +29,7 @@ include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
PRODUCT_TARGETS :=
|
||||
LEGACY_TARGETS :=
|
||||
TEST_TARGETS :=
|
||||
DOCS_TARGETS :=
|
||||
|
||||
@@ -146,19 +147,25 @@ endef
|
||||
# correct base directories.
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
|
||||
JDK_IMAGE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
|
||||
JRE_IMAGE_DIR := $(JRE_MACOSX_BUNDLE_DIR)
|
||||
JDK_IMAGE_HOMEDIR := $(JDK_MACOSX_CONTENTS_DIR)/Home
|
||||
JRE_IMAGE_HOMEDIR := $(JRE_MACOSX_CONTENTS_DIR)/Home
|
||||
JDK_BUNDLE_SUBDIR :=
|
||||
JRE_BUNDLE_SUBDIR :=
|
||||
else
|
||||
JDK_IMAGE_HOMEDIR := $(JDK_IMAGE_DIR)
|
||||
JRE_IMAGE_HOMEDIR := $(JRE_IMAGE_DIR)
|
||||
JDK_BUNDLE_SUBDIR := jdk-$(VERSION_NUMBER)
|
||||
JRE_BUNDLE_SUBDIR := jre-$(VERSION_NUMBER)
|
||||
ifneq ($(DEBUG_LEVEL), release)
|
||||
JDK_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
|
||||
JRE_BUNDLE_SUBDIR := $(JRE_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
|
||||
endif
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
|
||||
ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
|
||||
$(eval $(call FillCacheFind, $(IMAGES_OUTPUTDIR)))
|
||||
|
||||
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.pdb %.map
|
||||
@@ -198,6 +205,22 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
|
||||
|
||||
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_IMAGE_HOMEDIR)/demo/%, $(ALL_JDK_FILES))
|
||||
|
||||
ALL_JRE_FILES := $(call CacheFind, $(JRE_IMAGE_DIR))
|
||||
|
||||
# Create special filter rules when dealing with unzipped .dSYM directories on
|
||||
# macosx
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
|
||||
JRE_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
|
||||
$(call containing, .dSYM/, $(patsubst $(JRE_IMAGE_DIR)/%, %, $(ALL_JRE_FILES))))
|
||||
endif
|
||||
endif
|
||||
|
||||
JRE_BUNDLE_FILES := $(filter-out \
|
||||
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
|
||||
$(SYMBOLS_EXCLUDE_PATTERN), \
|
||||
$(ALL_JRE_FILES))
|
||||
|
||||
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
|
||||
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
|
||||
FILES := $(JDK_BUNDLE_FILES), \
|
||||
@@ -208,6 +231,15 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
|
||||
|
||||
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
|
||||
|
||||
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
|
||||
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
|
||||
FILES := $(JRE_BUNDLE_FILES), \
|
||||
BASE_DIRS := $(JRE_IMAGE_DIR), \
|
||||
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
|
||||
))
|
||||
|
||||
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
|
||||
|
||||
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
|
||||
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
|
||||
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
|
||||
@@ -268,6 +300,7 @@ $(eval $(call IncludeCustomExtension, Bundles.gmk))
|
||||
################################################################################
|
||||
|
||||
product-bundles: $(PRODUCT_TARGETS)
|
||||
legacy-bundles: $(LEGACY_TARGETS)
|
||||
test-bundles: $(TEST_TARGETS)
|
||||
docs-bundles: $(DOCS_TARGETS)
|
||||
|
||||
|
||||
@@ -621,9 +621,14 @@ $(JDK_OUTPUTDIR)/modules/%_zh_HK.properties: $(JDK_OUTPUTDIR)/modules/%_zh_TW.pr
|
||||
$(install-file)
|
||||
|
||||
CreateHkTargets = \
|
||||
$(patsubst $(TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
|
||||
$(subst /share/classes,, \
|
||||
$(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1))))
|
||||
$(call FilterExcludedTranslations, \
|
||||
$(patsubst $(TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
|
||||
$(subst /share/classes,, \
|
||||
$(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1)) \
|
||||
) \
|
||||
), \
|
||||
.properties \
|
||||
)
|
||||
|
||||
ifeq ($(MODULE), java.sql.rowset)
|
||||
TARGETS += $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES))
|
||||
|
||||
@@ -61,7 +61,7 @@ MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) \
|
||||
$(SUPPORT_OUTPUTDIR)/rmic/* $(TOPDIR)/src/*/share/doc/stub)
|
||||
|
||||
# URLs
|
||||
JAVADOC_BASE_URL := http://www.oracle.com/pls/topic/lookup?ctx=javase10&id=homepage
|
||||
JAVADOC_BASE_URL := http://www.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&id=homepage
|
||||
BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
|
||||
COPYRIGHT_URL := {@docroot}/../legal/copyright.html
|
||||
LICENSE_URL := http://www.oracle.com/technetwork/java/javase/terms/license/java$(VERSION_NUMBER)speclicense.html
|
||||
@@ -274,6 +274,8 @@ define SetupApiDocsGenerationBody
|
||||
$1_INDIRECT_EXPORTS := $$(call FindTransitiveIndirectDepsForModules, $$($1_MODULES))
|
||||
$1_ALL_MODULES := $$(sort $$($1_MODULES) $$($1_INDIRECT_EXPORTS))
|
||||
|
||||
$1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION)
|
||||
|
||||
ifeq ($$(ENABLE_FULL_DOCS), true)
|
||||
# Tell the ModuleGraph taglet to generate html links to soon-to-be-created
|
||||
# png files with module graphs.
|
||||
@@ -327,9 +329,10 @@ define SetupApiDocsGenerationBody
|
||||
)
|
||||
|
||||
ifeq ($$($1_JAVADOC_CMD), )
|
||||
$1_JAVADOC_CMD := $$(JAVA) -Djava.awt.headless=true \
|
||||
-Dextlink.spec.version=$$(VERSION_SPECIFICATION) $$($1_JAVA_ARGS) \
|
||||
$1_JAVADOC_CMD := $$(JAVA) -Djava.awt.headless=true $$($1_JAVA_ARGS) \
|
||||
$$(NEW_JAVADOC)
|
||||
else
|
||||
$1_OPTIONS += $$(addprefix -J, $$($1_JAVA_ARGS))
|
||||
endif
|
||||
|
||||
$1_VARDEPS := $$($1_JAVA_ARGS) $$($1_OPTIONS) $$(MODULES_SOURCE_PATH) \
|
||||
@@ -463,7 +466,9 @@ $(eval $(call SetupApiDocsGeneration, JAVASE_API, \
|
||||
# Setup generation of the reference Java SE API documentation (javadoc + modulegraph)
|
||||
|
||||
# The reference javadoc is just the same as javase, but using the BootJDK javadoc
|
||||
# and a stable set of javadoc options.
|
||||
# and a stable set of javadoc options. Typically it is used for generating
|
||||
# diffs between the reference javadoc and a javadoc bundle of a specific build
|
||||
# generated in the same way.
|
||||
|
||||
$(eval $(call SetupApiDocsGeneration, REFERENCE_API, \
|
||||
MODULES := $(JAVASE_MODULES), \
|
||||
@@ -497,10 +502,9 @@ $(eval $(call SetupCopyFiles, COPY_GLOBAL_RESOURCES, \
|
||||
JDK_INDEX_TARGETS += $(COPY_GLOBAL_RESOURCES)
|
||||
|
||||
# Copy the legal notices distributed with the docs bundle
|
||||
DOCS_LEGAL_NOTICES := jquery.md jszip.md pako.md
|
||||
$(eval $(call SetupCopyFiles, COPY_DOCS_LEGAL_NOTICES, \
|
||||
SRC := $(TOPDIR)/src/jdk.javadoc/share/legal, \
|
||||
FILES := $(DOCS_LEGAL_NOTICES), \
|
||||
FILES := $(wildcard $(TOPDIR)/src/jdk.javadoc/share/legal/*), \
|
||||
DEST := $(DOCS_OUTPUTDIR)/legal, \
|
||||
))
|
||||
JDK_INDEX_TARGETS += $(COPY_DOCS_LEGAL_NOTICES)
|
||||
|
||||
156
make/Images.gmk
156
make/Images.gmk
@@ -121,115 +121,117 @@ TOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
|
||||
#
|
||||
# Avoid evaluating this whole section on windows for speed and stability
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
JRE_MAN_PAGES += \
|
||||
java.1 \
|
||||
jjs.1 \
|
||||
keytool.1 \
|
||||
orbd.1 \
|
||||
pack200.1 \
|
||||
rmid.1 \
|
||||
rmiregistry.1 \
|
||||
servertool.1 \
|
||||
unpack200.1
|
||||
ifeq ($(BUILD_MANPAGES), true)
|
||||
JRE_MAN_PAGES += \
|
||||
java.1 \
|
||||
jjs.1 \
|
||||
keytool.1 \
|
||||
orbd.1 \
|
||||
pack200.1 \
|
||||
rmid.1 \
|
||||
rmiregistry.1 \
|
||||
servertool.1 \
|
||||
unpack200.1
|
||||
|
||||
JDK_MAN_PAGES += \
|
||||
$(JRE_MAN_PAGES) \
|
||||
idlj.1 \
|
||||
jar.1 \
|
||||
jarsigner.1 \
|
||||
javac.1 \
|
||||
javadoc.1 \
|
||||
javap.1 \
|
||||
jconsole.1 \
|
||||
jcmd.1 \
|
||||
jdb.1 \
|
||||
jdeps.1 \
|
||||
jinfo.1 \
|
||||
jmap.1 \
|
||||
jps.1 \
|
||||
jrunscript.1 \
|
||||
jstack.1 \
|
||||
jstat.1 \
|
||||
jstatd.1 \
|
||||
rmic.1 \
|
||||
serialver.1
|
||||
JDK_MAN_PAGES += \
|
||||
$(JRE_MAN_PAGES) \
|
||||
idlj.1 \
|
||||
jar.1 \
|
||||
jarsigner.1 \
|
||||
javac.1 \
|
||||
javadoc.1 \
|
||||
javap.1 \
|
||||
jconsole.1 \
|
||||
jcmd.1 \
|
||||
jdb.1 \
|
||||
jdeps.1 \
|
||||
jinfo.1 \
|
||||
jmap.1 \
|
||||
jps.1 \
|
||||
jrunscript.1 \
|
||||
jstack.1 \
|
||||
jstat.1 \
|
||||
jstatd.1 \
|
||||
rmic.1 \
|
||||
serialver.1
|
||||
|
||||
# This variable is potentially overridden in the closed makefile.
|
||||
MAN_SRC_BASEDIR ?= $(TOPDIR)/src
|
||||
# This variable is potentially overridden in the closed makefile.
|
||||
MAN_SRC_BASEDIR ?= $(TOPDIR)/src
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc
|
||||
MAN1_SUBDIR = man
|
||||
endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc
|
||||
MAN1_SUBDIR = sun/man/man1
|
||||
endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc
|
||||
MAN1_SUBDIR = man
|
||||
endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc
|
||||
MAN1_SUBDIR = man
|
||||
endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc
|
||||
MAN1_SUBDIR = sun/man/man1
|
||||
endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc
|
||||
MAN1_SUBDIR = man
|
||||
endif
|
||||
|
||||
$(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
|
||||
$(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
|
||||
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
|
||||
$(install-file)
|
||||
|
||||
$(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
|
||||
$(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
|
||||
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
|
||||
$(install-file)
|
||||
|
||||
$(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
|
||||
$(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
|
||||
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
|
||||
$(install-file)
|
||||
|
||||
$(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
|
||||
$(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
|
||||
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
|
||||
$(install-file)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
$(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
$(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
|
||||
$(call LogInfo, Converting $(patsubst $(OUTPUTDIR)/%,%,$@))
|
||||
$(install-file)
|
||||
|
||||
$(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
|
||||
$(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
|
||||
$(call LogInfo, Converting $(patsubst $(OUTPUTDIR)/%,%,$@))
|
||||
$(install-file)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
|
||||
$(JRE_IMAGE_DIR)/man/ja:
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
|
||||
$(JRE_IMAGE_DIR)/man/ja:
|
||||
$(call LogInfo, Creating $(patsubst $(OUTPUTDIR)/%,%,$@))
|
||||
$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
|
||||
|
||||
$(JDK_IMAGE_DIR)/man/ja:
|
||||
$(JDK_IMAGE_DIR)/man/ja:
|
||||
$(call LogInfo, Creating $(patsubst $(OUTPUTDIR)/%,%,$@))
|
||||
$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES))
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES))
|
||||
|
||||
JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES))
|
||||
endif
|
||||
JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES))
|
||||
endif
|
||||
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
|
||||
JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(JRE_IMAGE_DIR)/man/ja
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
|
||||
JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
|
||||
$(JRE_IMAGE_DIR)/man/ja
|
||||
|
||||
JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(JDK_IMAGE_DIR)/man/ja
|
||||
endif
|
||||
JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
|
||||
$(JDK_IMAGE_DIR)/man/ja
|
||||
endif
|
||||
|
||||
JRE_TARGETS += $(JRE_MAN_PAGE_LIST)
|
||||
JDK_TARGETS += $(JDK_MAN_PAGE_LIST)
|
||||
JRE_TARGETS += $(JRE_MAN_PAGE_LIST)
|
||||
JDK_TARGETS += $(JDK_MAN_PAGE_LIST)
|
||||
endif # BUILD_MANPAGES
|
||||
endif # Windows
|
||||
|
||||
################################################################################
|
||||
|
||||
107
make/Jprt.gmk
107
make/Jprt.gmk
@@ -1,107 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
# This file contains targets and utilities needed by JPRT.
|
||||
|
||||
# Cygpath is only defined when running on Cygwin
|
||||
ifneq ($(CYGPATH), )
|
||||
# If we get JPRT_ARCHIVE_*BUNDLE externally, make sure they have /cygdrive
|
||||
# style paths
|
||||
ifdef JPRT_ARCHIVE_BUNDLE
|
||||
override JPRT_ARCHIVE_BUNDLE := $(shell $(CYGPATH) -u $(JPRT_ARCHIVE_BUNDLE))
|
||||
endif
|
||||
ifdef JPRT_ARCHIVE_TEST_BUNDLE
|
||||
override JPRT_ARCHIVE_TEST_BUNDLE := \
|
||||
$(shell $(CYGPATH) -u $(JPRT_ARCHIVE_TEST_BUNDLE))
|
||||
endif
|
||||
ifdef JPRT_ARCHIVE_SYMBOLS_BUNDLE
|
||||
override JPRT_ARCHIVE_SYMBOLS_BUNDLE := \
|
||||
$(shell $(CYGPATH) -u $(JPRT_ARCHIVE_SYMBOLS_BUNDLE))
|
||||
endif
|
||||
endif
|
||||
|
||||
# When running in JPRT these will be provided. Need defaults so that this makefile
|
||||
# is valid anyway.
|
||||
ifndef JPRT_ARCHIVE_BUNDLE
|
||||
JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/jdk-image.zip
|
||||
endif
|
||||
ifndef JPRT_ARCHIVE_TEST_BUNDLE
|
||||
JPRT_ARCHIVE_TEST_BUNDLE=/tmp/jprt_bundles/test-image.zip
|
||||
endif
|
||||
ifndef JPRT_ARCHIVE_SYMBOLS_BUNDLE
|
||||
JPRT_ARCHIVE_SYMBOLS_BUNDLE=/tmp/jprt_bundles/symbols-image.zip
|
||||
endif
|
||||
|
||||
ifeq ($(SKIP_BOOT_CYCLE), false)
|
||||
jprt_bundle: bootcycle-images
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# JPRT specific bundling targets
|
||||
JPRT_TARGET ?= $(DEFAULT_MAKE_TARGET)
|
||||
ifeq ($(JPRT_TARGET), $(DEFAULT_MAKE_TARGET))
|
||||
jprt_bundle: $(DEFAULT_MAKE_TARGET) $(JPRT_ARCHIVE_BUNDLE) \
|
||||
$(JPRT_ARCHIVE_TEST_BUNDLE)
|
||||
|
||||
SRC_JDK_IMAGE_DIR := $(JDK_IMAGE_DIR)
|
||||
SRC_TEST_IMAGE_DIR := $(TEST_IMAGE_DIR)
|
||||
|
||||
# This target must be called in the context of a SPEC file
|
||||
$(JPRT_ARCHIVE_BUNDLE): product-images
|
||||
$(call MakeDir, $(@D))
|
||||
$(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
|
||||
|
||||
$(JPRT_ARCHIVE_TEST_BUNDLE): test-image
|
||||
$(call MakeDir, $(@D))
|
||||
$(CD) $(SRC_TEST_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
|
||||
|
||||
##############################################################################
|
||||
# Optional symbols bundle
|
||||
ifeq ($(GCOV_ENABLED), true)
|
||||
jprt_bundle: $(JPRT_ARCHIVE_SYMBOLS_BUNDLE)
|
||||
|
||||
$(JPRT_ARCHIVE_SYMBOLS_BUNDLE): product-images
|
||||
$(call MakeDir, $(@D))
|
||||
$(CD) $(SYMBOLS_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
|
||||
|
||||
endif
|
||||
|
||||
##############################################################################
|
||||
|
||||
else
|
||||
# Just fake the main bundle to satisfy JPRT
|
||||
jprt_bundle: $(JPRT_TARGET)
|
||||
@$(call TargetEnter)
|
||||
$(MKDIR) -p $(OUTPUTDIR)/bundles
|
||||
$(CD) $(TOPDIR) && $(TAR) cf - README | $(GZIP) > \
|
||||
$(JPRT_ARCHIVE_BUNDLE)
|
||||
@$(call TargetExit)
|
||||
endif
|
||||
|
||||
ALL_TARGETS += jprt_bundle
|
||||
|
||||
################################################################################
|
||||
|
||||
$(eval $(call IncludeCustomExtension, Jprt.gmk))
|
||||
@@ -568,13 +568,16 @@ ALL_TARGETS += test test-hotspot-jtreg test-hotspot-jtreg-native \
|
||||
product-bundles:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk product-bundles)
|
||||
|
||||
legacy-bundles:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk legacy-bundles)
|
||||
|
||||
test-bundles:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk test-bundles)
|
||||
|
||||
docs-bundles:
|
||||
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk docs-bundles)
|
||||
|
||||
ALL_TARGETS += product-bundles test-bundles docs-bundles
|
||||
ALL_TARGETS += product-bundles legacy-bundles test-bundles docs-bundles
|
||||
|
||||
################################################################################
|
||||
# Install targets
|
||||
@@ -882,6 +885,8 @@ else
|
||||
|
||||
product-bundles: product-images
|
||||
|
||||
legacy-bundles: legacy-images
|
||||
|
||||
test-bundles: test-image
|
||||
|
||||
docs-bundles: docs-image
|
||||
@@ -982,6 +987,9 @@ mac-bundles: mac-jdk-bundle
|
||||
# (and possibly other, more specific versions)
|
||||
product-images: jdk-image symbols-image exploded-image
|
||||
|
||||
# This target builds the legacy images, e.g. the legacy JRE image
|
||||
legacy-images: legacy-jre-image
|
||||
|
||||
# zip-security is actually a bundle, but for now it needs to be considered
|
||||
# an image until this can be cleaned up properly.
|
||||
product-images: zip-security
|
||||
@@ -998,6 +1006,8 @@ endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
product-images: mac-jdk-bundle
|
||||
|
||||
legacy-images: mac-legacy-jre-bundle
|
||||
endif
|
||||
|
||||
# This target builds the documentation image
|
||||
@@ -1028,7 +1038,7 @@ ALL_TARGETS += buildtools hotspot hotspot-libs hotspot-gensrc gensrc gendata \
|
||||
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 \
|
||||
docs-javase docs-reference docs-javadoc mac-bundles product-images \
|
||||
docs-javase docs-reference docs-javadoc mac-bundles product-images legacy-images \
|
||||
docs-image test-image all-images \
|
||||
all-bundles
|
||||
|
||||
@@ -1130,11 +1140,6 @@ ALL_TARGETS += $(addsuffix -only, $(filter-out dist-clean clean%, $(ALL_TARGETS)
|
||||
|
||||
################################################################################
|
||||
|
||||
# Include JPRT targets
|
||||
include $(TOPDIR)/make/Jprt.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
# The following targets are intentionally not added to ALL_TARGETS since they
|
||||
# are internal only, to support Init.gmk.
|
||||
|
||||
|
||||
@@ -32,6 +32,31 @@ include FindTests.gmk
|
||||
# We will always run multiple tests serially
|
||||
.NOTPARALLEL:
|
||||
|
||||
################################################################################
|
||||
# Setup global test running parameters
|
||||
################################################################################
|
||||
|
||||
# Each factor variable comes in 3 variants. The first one is reserved for users
|
||||
# to use on command line. The other two are for predifined configurations in JDL
|
||||
# and for machine specific configurations respectively.
|
||||
TEST_JOBS_FACTOR ?= 1
|
||||
TEST_JOBS_FACTOR_JDL ?= 1
|
||||
TEST_JOBS_FACTOR_MACHINE ?= 1
|
||||
|
||||
ifeq ($(TEST_JOBS), 0)
|
||||
# Concurrency based on min(cores / 2, 12) * TEST_JOBS_FACTOR
|
||||
TEST_JOBS := $(shell $(AWK) \
|
||||
'BEGIN { \
|
||||
c = $(NUM_CORES) / 2; \
|
||||
if (c > 12) c = 12; \
|
||||
c = c * $(TEST_JOBS_FACTOR); \
|
||||
c = c * $(TEST_JOBS_FACTOR_JDL); \
|
||||
c = c * $(TEST_JOBS_FACTOR_MACHINE); \
|
||||
if (c < 1) c = 1; \
|
||||
printf "%.0f", c; \
|
||||
}')
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Parse global control variables
|
||||
################################################################################
|
||||
@@ -143,17 +168,6 @@ endif
|
||||
# Component-specific Jtreg settings
|
||||
################################################################################
|
||||
|
||||
ifeq ($(TEST_JOBS), 0)
|
||||
# If TEST_JOBS is not specified, hotspot fallback default is
|
||||
# min(num_cores / 2, 12).
|
||||
hotspot_JTREG_JOBS := $(shell $(EXPR) $(NUM_CORES) / 2)
|
||||
ifeq ($(hotspot_JTREG_JOBS), 0)
|
||||
hotspot_JTREG_JOBS := 1
|
||||
else ifeq ($(shell $(EXPR) $(hotspot_JTREG_JOBS) \> 12), 1)
|
||||
hotspot_JTREG_JOBS := 12
|
||||
endif
|
||||
endif
|
||||
|
||||
hotspot_JTREG_MAX_MEM := 0
|
||||
hotspot_JTREG_ASSERT := false
|
||||
hotspot_JTREG_NATIVEPATH := $(TEST_IMAGE_DIR)/hotspot/jtreg/native
|
||||
@@ -165,6 +179,8 @@ langtools_JTREG_PROBLEM_LIST += $(TOPDIR)/test/langtools/ProblemList.txt
|
||||
nashorn_JTREG_PROBLEM_LIST += $(TOPDIR)/test/nashorn/ProblemList.txt
|
||||
hotspot_JTREG_PROBLEM_LIST += $(TOPDIR)/test/hotspot/jtreg/ProblemList.txt
|
||||
|
||||
langtools_JTREG_MAX_MEM := 768m
|
||||
|
||||
################################################################################
|
||||
# Parse test selection
|
||||
#
|
||||
@@ -476,10 +492,8 @@ define SetupRunJtregTestBody
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_PROBLEM_LIST))
|
||||
|
||||
ifneq ($(TEST_JOBS), 0)
|
||||
# User has specified TEST_JOBS, use that as fallback default
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_JOBS,$$(TEST_JOBS)))
|
||||
else
|
||||
# Use JOBS as default (except for hotspot)
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_JOBS,$$(JOBS)))
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2018, 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,33 +23,43 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
$(eval $(call IncludeCustomExtension, SourceRevision.gmk))
|
||||
$(eval $(call IncludeCustomExtension, SourceRevision-pre.gmk))
|
||||
|
||||
################################################################################
|
||||
# Keep track of what source revision is used to create the build, by creating
|
||||
# a tracker file in the output directory. This tracker file is included in the
|
||||
# image, and can be used to recreate the source revision used.
|
||||
# source image, and can be used to recreate the source revision used.
|
||||
#
|
||||
# We're either building directly from a mercurial forest, and if so, use the
|
||||
# current revision from mercurial. Otherwise, we are building from a source
|
||||
# bundle. As a part of creating this source bundle, the current mercurial
|
||||
# revisions of all repos will be stored in a file in the top dir, which is then
|
||||
# used when creating the tracker file.
|
||||
# We're either building directly from an SCM repository, and if so, use the
|
||||
# current revision from that SCM. Otherwise, we are building from a source
|
||||
# bundle. As a part of creating this source bundle, the current SCM revisions of
|
||||
# all repos will be stored in a file in the top dir, which is then used when
|
||||
# creating the tracker file.
|
||||
|
||||
STORED_SOURCE_REVISION := $(TOPDIR)/.src-rev
|
||||
|
||||
# Are we using mercurial?
|
||||
USE_SCM := false
|
||||
ifneq ($(and $(HG), $(wildcard $(TOPDIR)/.hg)), )
|
||||
USE_SCM := true
|
||||
SCM_DIR := .hg
|
||||
ID_COMMAND := $(PRINTF) "hg:%s" "$$($(HG) id -i)"
|
||||
else ifneq ($(and $(GIT), $(wildcard $(TOPDIR)/.git)), )
|
||||
USE_SCM := true
|
||||
SCM_DIR := .git
|
||||
ID_COMMAND := $(PRINTF) "git:%s%s\n" \
|
||||
"$$(git log -n1 --format=%H | cut -c1-12)" \
|
||||
"$$(if test -n "$$(git status --porcelain)"; then printf '+'; fi)"
|
||||
endif
|
||||
|
||||
ifeq ($(USE_SCM), true)
|
||||
|
||||
# Verify that the entire forest is consistent
|
||||
$(foreach repo, $(call FindAllReposRel), \
|
||||
$(if $(wildcard $(TOPDIR)/$(repo)/.hg),, \
|
||||
$(error Inconsistent revision control: $(repo) is missing .hg directory)) \
|
||||
$(if $(wildcard $(TOPDIR)/$(repo)/$(SCM_DIR)),, \
|
||||
$(error Inconsistent revision control: $(repo) is missing $(SCM_DIR) directory)) \
|
||||
)
|
||||
|
||||
# Replace "." with "_top" and "/" with "-"
|
||||
@@ -58,7 +68,9 @@ ifneq ($(and $(HG), $(wildcard $(TOPDIR)/.hg)), )
|
||||
|
||||
################################################################################
|
||||
# SetupGetRevisionForRepo defines a make rule for creating a file containing
|
||||
# the name of the repository and the output of "hg id" for that repository.
|
||||
# the name of the repository and the output of the scm command for that
|
||||
# repository.
|
||||
#
|
||||
# Argument 1 is the relative path to the repository from the top dir.
|
||||
#
|
||||
SetupGetRevisionForRepo = $(NamedParamsMacroTemplate)
|
||||
@@ -68,7 +80,7 @@ ifneq ($(and $(HG), $(wildcard $(TOPDIR)/.hg)), )
|
||||
|
||||
$$(SUPPORT_OUTPUTDIR)/src-rev/$$($1_FILENAME): FRC
|
||||
$$(call MakeDir, $$(@D))
|
||||
$$(ECHO) $$(strip $1):`$$(HG) id -i --repository $$($1_REPO_PATH)` > $$@
|
||||
$$(ECHO) $$(strip $1):`$$(CD) $$($1_REPO_PATH) && $$(ID_COMMAND)` > $$@
|
||||
|
||||
REPO_REVISIONS += $$(SUPPORT_OUTPUTDIR)/src-rev/$$($1_FILENAME)
|
||||
endef
|
||||
@@ -94,40 +106,58 @@ ifneq ($(and $(HG), $(wildcard $(TOPDIR)/.hg)), )
|
||||
|
||||
$(eval $(call CreateSourceRevisionFile, $(STORED_SOURCE_REVISION)))
|
||||
|
||||
store-source-revision: $(STORED_SOURCE_REVISION)
|
||||
scm-store-source-revision: $(STORED_SOURCE_REVISION)
|
||||
|
||||
$(eval $(call CreateSourceRevisionFile, $(SOURCE_REVISION_TRACKER)))
|
||||
|
||||
create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
|
||||
scm-create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
|
||||
|
||||
STORE_SOURCE_REVISION_TARGET := scm-store-source-revision
|
||||
CREATE_SOURCE_REVISION_TRACKER_TARGET := scm-create-source-revision-tracker
|
||||
|
||||
.PHONY: scm-store-source-revision scm-create-source-revision-tracker
|
||||
|
||||
else
|
||||
# Not using HG
|
||||
# Not using any SCM
|
||||
|
||||
ifneq ($(wildcard $(STORED_SOURCE_REVISION)), )
|
||||
# We have a stored source revision (.src-rev)
|
||||
|
||||
store-source-revision:
|
||||
$(call LogInfo, No mercurial configuration present$(COMMA) not updating .src-rev)
|
||||
src-store-source-revision:
|
||||
$(call LogInfo, No SCM configuration present$(COMMA) not updating .src-rev)
|
||||
|
||||
$(SOURCE_REVISION_TRACKER): $(STORED_SOURCE_REVISION)
|
||||
$(install-file)
|
||||
|
||||
create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
|
||||
src-create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
|
||||
else
|
||||
# We don't have a stored source revision. Can't do anything, really.
|
||||
|
||||
store-source-revision:
|
||||
$(call LogWarn, Error: No mercurial configuration present$(COMMA) cannot create .src-rev)
|
||||
src-store-source-revision:
|
||||
$(call LogWarn, Error: No SCM configuration present$(COMMA) cannot create .src-rev)
|
||||
exit 2
|
||||
|
||||
create-source-revision-tracker:
|
||||
$(call LogWarn, Warning: No mercurial configuration present and no .src-rev)
|
||||
src-create-source-revision-tracker:
|
||||
$(call LogWarn, Warning: No SCM configuration present and no .src-rev)
|
||||
endif
|
||||
|
||||
STORE_SOURCE_REVISION_TARGET := src-store-source-revision
|
||||
CREATE_SOURCE_REVISION_TRACKER_TARGET := src-create-source-revision-tracker
|
||||
|
||||
.PHONY: src-store-source-revision src-create-source-revision-tracker
|
||||
|
||||
endif
|
||||
|
||||
all: store-source-revision create-source-revision-tracker
|
||||
################################################################################
|
||||
|
||||
$(eval $(call IncludeCustomExtension, SourceRevision-post.gmk))
|
||||
|
||||
################################################################################
|
||||
|
||||
store-source-revision: $(STORE_SOURCE_REVISION_TARGET)
|
||||
|
||||
create-source-revision-tracker: $(CREATE_SOURCE_REVISION_TRACKER_TARGET)
|
||||
|
||||
FRC: # Force target
|
||||
|
||||
.PHONY: all store-source-revision create-source-revision-tracker
|
||||
.PHONY: store-source-revision create-source-revision-tracker
|
||||
|
||||
@@ -1190,6 +1190,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
||||
BASIC_PATH_PROGS(READELF, [greadelf readelf])
|
||||
BASIC_PATH_PROGS(DOT, dot)
|
||||
BASIC_PATH_PROGS(HG, hg)
|
||||
BASIC_PATH_PROGS(GIT, git)
|
||||
BASIC_PATH_PROGS(STAT, stat)
|
||||
BASIC_PATH_PROGS(TIME, time)
|
||||
BASIC_PATH_PROGS(FLOCK, flock)
|
||||
|
||||
@@ -233,6 +233,7 @@ JDKOPT_DETECT_INTREE_EC
|
||||
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
|
||||
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
|
||||
JDKOPT_EXCLUDE_TRANSLATIONS
|
||||
JDKOPT_ENABLE_DISABLE_MANPAGES
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
|
||||
@@ -106,11 +106,17 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
|
||||
|
||||
AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
||||
[
|
||||
# By default don't set any specific assembler debug
|
||||
# info flags for toolchains unless we know they work.
|
||||
# See JDK-8207057.
|
||||
ASFLAGS_DEBUG_SYMBOLS=""
|
||||
# Debug symbols
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
CFLAGS_DEBUG_SYMBOLS="-g"
|
||||
ASFLAGS_DEBUG_SYMBOLS="-g"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
CFLAGS_DEBUG_SYMBOLS="-g"
|
||||
ASFLAGS_DEBUG_SYMBOLS="-g"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
# -g0 enables debug symbols without disabling inlining.
|
||||
CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
|
||||
@@ -121,6 +127,7 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
||||
fi
|
||||
|
||||
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
|
||||
AC_SUBST(ASFLAGS_DEBUG_SYMBOLS)
|
||||
])
|
||||
|
||||
AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
@@ -366,6 +373,20 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS],
|
||||
|
||||
FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
|
||||
|
||||
COMPILER_FP_CONTRACT_OFF_FLAG="-ffp-contract=off"
|
||||
# Check that the compiler supports -ffp-contract=off flag
|
||||
# Set FDLIBM_CFLAGS to -ffp-contract=off if it does. Empty
|
||||
# otherwise.
|
||||
# These flags are required for GCC-based builds of
|
||||
# fdlibm with optimization without losing precision.
|
||||
# Notably, -ffp-contract=off needs to be added for GCC >= 4.6.
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${COMPILER_FP_CONTRACT_OFF_FLAG}],
|
||||
IF_TRUE: [FDLIBM_CFLAGS=${COMPILER_FP_CONTRACT_OFF_FLAG}],
|
||||
IF_FALSE: [FDLIBM_CFLAGS=""])
|
||||
fi
|
||||
AC_SUBST(FDLIBM_CFLAGS)
|
||||
|
||||
# Tests are only ever compiled for TARGET
|
||||
CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
|
||||
CXXFLAGS_TESTLIB="$CXXFLAGS_JDKLIB"
|
||||
@@ -473,8 +494,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
||||
fi
|
||||
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new"
|
||||
TOOLCHAIN_CFLAGS_JDK="-pipe"
|
||||
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new -fstack-protector"
|
||||
TOOLCHAIN_CFLAGS_JDK="-pipe -fstack-protector"
|
||||
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX (but since this gives *worse* performance, use no-strict-aliasing everywhere!)
|
||||
|
||||
CXXSTD_CXXFLAG="-std=gnu++98"
|
||||
@@ -503,7 +524,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
||||
fi
|
||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
TOOLCHAIN_CFLAGS_JDK="-mt"
|
||||
TOOLCHAIN_CFLAGS_JDK_CONLY="-xc99=%none -xCC -Xa -v -W0,-noglobal" # C only
|
||||
TOOLCHAIN_CFLAGS_JDK_CONLY="-xCC -Xa -v -W0,-noglobal" # C only
|
||||
TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
|
||||
TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
|
||||
-library=stlport4 -mt -features=no%except"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 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
|
||||
@@ -83,10 +83,10 @@ AC_DEFUN([FLAGS_SETUP_RCFLAGS],
|
||||
RC_FLAGS="$RC_FLAGS \
|
||||
-D\"JDK_VERSION_STRING=\$(VERSION_STRING)\" \
|
||||
-D\"JDK_COMPANY=\$(COMPANY_NAME)\" \
|
||||
-D\"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
|
||||
-D\"JDK_COMPONENT=\$(JDK_RC_NAME) binary\" \
|
||||
-D\"JDK_VER=\$(VERSION_NUMBER)\" \
|
||||
-D\"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
|
||||
-D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(VERSION_FEATURE)\" \
|
||||
-D\"JDK_NAME=\$(JDK_RC_NAME) \$(VERSION_FEATURE)\" \
|
||||
-D\"JDK_FVER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\""
|
||||
|
||||
JVM_RCFLAGS="$JVM_RCFLAGS \
|
||||
|
||||
@@ -102,7 +102,7 @@ apt_help() {
|
||||
ffi)
|
||||
PKGHANDLER_COMMAND="sudo apt-get install libffi-dev" ;;
|
||||
x11)
|
||||
PKGHANDLER_COMMAND="sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
|
||||
PKGHANDLER_COMMAND="sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev" ;;
|
||||
ccache)
|
||||
PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
|
||||
dtrace)
|
||||
@@ -125,7 +125,7 @@ yum_help() {
|
||||
freetype)
|
||||
PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
|
||||
x11)
|
||||
PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel libXi-devel" ;;
|
||||
PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel" ;;
|
||||
ccache)
|
||||
PKGHANDLER_COMMAND="sudo yum install ccache" ;;
|
||||
esac
|
||||
|
||||
@@ -201,8 +201,6 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_AOT],
|
||||
ENABLE_AOT="true"
|
||||
elif test "x$enable_aot" = "xno"; then
|
||||
ENABLE_AOT="false"
|
||||
AC_MSG_CHECKING([if aot should be enabled])
|
||||
AC_MSG_RESULT([no, forced])
|
||||
else
|
||||
AC_MSG_ERROR([Invalid value for --enable-aot: $enable_aot])
|
||||
fi
|
||||
@@ -228,7 +226,7 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_AOT],
|
||||
else
|
||||
ENABLE_AOT="false"
|
||||
if test "x$enable_aot" = "xyes"; then
|
||||
AC_MSG_ERROR([AOT is currently only supported on x86_64. Remove --enable-aot.])
|
||||
AC_MSG_ERROR([AOT is currently only supported on x86_64 and aarch64. Remove --enable-aot.])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -333,22 +331,25 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
|
||||
# Enable JFR by default, except for Zero, linux-sparcv9 and on minimal.
|
||||
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
|
||||
if test "x$OPENJDK_TARGET_OS" != xlinux || test "x$OPENJDK_TARGET_CPU" != xsparcv9; then
|
||||
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
|
||||
if test "x$OPENJDK_TARGET_OS" != xaix; then
|
||||
if test "x$OPENJDK_TARGET_OS" != xlinux || test "x$OPENJDK_TARGET_CPU" != xsparcv9; then
|
||||
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Only enable ZGC on Linux x86_64
|
||||
AC_MSG_CHECKING([if zgc should be built])
|
||||
if HOTSPOT_CHECK_JVM_FEATURE(zgc); then
|
||||
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
|
||||
AC_MSG_RESULT([no, platform not supported])
|
||||
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
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
|
||||
AC_MSG_RESULT([no, platform not supported])
|
||||
fi
|
||||
|
||||
# Disable unsupported GCs for Zero
|
||||
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
|
||||
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc"
|
||||
fi
|
||||
|
||||
# Turn on additional features based on other parts of configure
|
||||
@@ -374,57 +375,106 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
fi
|
||||
fi
|
||||
|
||||
# Only enable jvmci on x86_64, sparcv9 and aarch64.
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
|
||||
test "x$OPENJDK_TARGET_CPU" = "xsparcv9" || \
|
||||
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
|
||||
JVM_FEATURES_jvmci="jvmci"
|
||||
else
|
||||
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
|
||||
AC_MSG_RESULT([no, forced])
|
||||
JVM_FEATURES_jvmci=""
|
||||
INCLUDE_JVMCI="false"
|
||||
else
|
||||
# Only enable jvmci on x86_64, sparcv9 and aarch64
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
|
||||
test "x$OPENJDK_TARGET_CPU" = "xsparcv9" || \
|
||||
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
JVM_FEATURES_jvmci="jvmci"
|
||||
INCLUDE_JVMCI="true"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
JVM_FEATURES_jvmci=""
|
||||
INCLUDE_JVMCI="false"
|
||||
if HOTSPOT_CHECK_JVM_FEATURE(jvmci); then
|
||||
AC_MSG_ERROR([JVMCI is currently not supported on this platform.])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if jdk.internal.vm.compiler should be built])
|
||||
if HOTSPOT_CHECK_JVM_FEATURE(graal); then
|
||||
AC_MSG_RESULT([yes, forced])
|
||||
if test "x$JVM_FEATURES_jvmci" != "xjvmci" ; then
|
||||
AC_MSG_ERROR([Specified JVM feature 'graal' requires feature 'jvmci'])
|
||||
fi
|
||||
INCLUDE_GRAAL="true"
|
||||
AC_SUBST(INCLUDE_JVMCI)
|
||||
|
||||
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
|
||||
AC_MSG_RESULT([no, forced])
|
||||
JVM_FEATURES_graal=""
|
||||
INCLUDE_GRAAL="false"
|
||||
else
|
||||
# By default enable graal build on x64 or where AOT is available.
|
||||
# graal build requires jvmci.
|
||||
if test "x$JVM_FEATURES_jvmci" = "xjvmci" && \
|
||||
(test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
|
||||
test "x$ENABLE_AOT" = "xtrue") ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
if HOTSPOT_CHECK_JVM_FEATURE(graal); then
|
||||
AC_MSG_RESULT([yes, forced])
|
||||
if test "x$JVM_FEATURES_jvmci" != "xjvmci" ; then
|
||||
AC_MSG_ERROR([Specified JVM feature 'graal' requires feature 'jvmci'])
|
||||
fi
|
||||
JVM_FEATURES_graal="graal"
|
||||
INCLUDE_GRAAL="true"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
JVM_FEATURES_graal=""
|
||||
INCLUDE_GRAAL="false"
|
||||
# By default enable graal build on x64 or where AOT is available.
|
||||
# graal build requires jvmci.
|
||||
if test "x$JVM_FEATURES_jvmci" = "xjvmci" && \
|
||||
(test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
|
||||
test "x$ENABLE_AOT" = "xtrue") ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
JVM_FEATURES_graal="graal"
|
||||
INCLUDE_GRAAL="true"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
JVM_FEATURES_graal=""
|
||||
INCLUDE_GRAAL="false"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
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
|
||||
ENABLE_AOT="false"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if aot should be enabled])
|
||||
if test "x$ENABLE_AOT" = "xtrue"; then
|
||||
if test "x$enable_aot" = "xyes"; then
|
||||
AC_MSG_RESULT([yes, forced])
|
||||
if test "x$JVM_FEATURES_graal" != "xgraal"; then
|
||||
if test "x$enable_aot" = "xyes" || HOTSPOT_CHECK_JVM_FEATURE(aot); then
|
||||
AC_MSG_RESULT([yes, forced])
|
||||
AC_MSG_ERROR([Specified JVM feature 'aot' requires feature 'graal'])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
JVM_FEATURES_aot=""
|
||||
ENABLE_AOT="false"
|
||||
else
|
||||
AC_MSG_RESULT([yes])
|
||||
if test "x$enable_aot" = "xyes" || HOTSPOT_CHECK_JVM_FEATURE(aot); then
|
||||
AC_MSG_RESULT([yes, forced])
|
||||
else
|
||||
AC_MSG_RESULT([yes])
|
||||
fi
|
||||
JVM_FEATURES_aot="aot"
|
||||
fi
|
||||
JVM_FEATURES_aot="aot"
|
||||
else
|
||||
if test "x$enable_aot" = "xno"; then
|
||||
if test "x$enable_aot" = "xno" || test "x$DISABLE_AOT" = "xaot"; then
|
||||
AC_MSG_RESULT([no, forced])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
JVM_FEATURES_aot=""
|
||||
if HOTSPOT_CHECK_JVM_FEATURE(aot); then
|
||||
AC_MSG_ERROR([To enable aot, you must use --enable-aot])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_SUBST(ENABLE_AOT)
|
||||
|
||||
if test "x$OPENJDK_TARGET_CPU" = xarm ; then
|
||||
# Default to use link time optimizations on minimal on arm
|
||||
JVM_FEATURES_link_time_opt="link-time-opt"
|
||||
@@ -433,7 +483,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"
|
||||
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc jni-check jvmti management nmt services vm-structs zgc"
|
||||
|
||||
AC_MSG_CHECKING([if cds should be enabled])
|
||||
if test "x$ENABLE_CDS" = "xtrue"; then
|
||||
@@ -453,7 +503,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
|
||||
# Enable features depending on variant.
|
||||
JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci $JVM_FEATURES_aot $JVM_FEATURES_graal"
|
||||
JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci"
|
||||
JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES"
|
||||
JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES"
|
||||
JVM_FEATURES_minimal="compiler1 minimal serialgc $JVM_FEATURES $JVM_FEATURES_link_time_opt"
|
||||
JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES"
|
||||
|
||||
@@ -604,3 +604,29 @@ AC_DEFUN([JDKOPT_EXCLUDE_TRANSLATIONS],
|
||||
|
||||
AC_SUBST(EXCLUDE_TRANSLATIONS)
|
||||
])
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Optionally disable man pages
|
||||
#
|
||||
AC_DEFUN([JDKOPT_ENABLE_DISABLE_MANPAGES],
|
||||
[
|
||||
AC_ARG_ENABLE([manpages], [AS_HELP_STRING([--disable-manpages],
|
||||
[Set to disable building of man pages @<:@enabled@:>@])])
|
||||
|
||||
BUILD_MANPAGES="true"
|
||||
AC_MSG_CHECKING([if man pages should be built])
|
||||
if test "x$enable_manpages" = "x"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
elif test "x$enable_manpages" = "xyes"; then
|
||||
AC_MSG_RESULT([yes, forced])
|
||||
elif test "x$enable_manpages" = "xno"; then
|
||||
AC_MSG_RESULT([no, forced])
|
||||
BUILD_MANPAGES="false"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([--enable-manpages can only yes/no or empty])
|
||||
fi
|
||||
|
||||
AC_SUBST(BUILD_MANPAGES)
|
||||
])
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 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
|
||||
@@ -75,9 +75,52 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_SUBST(PRODUCT_SUFFIX)
|
||||
AC_SUBST(JDK_RC_PLATFORM_NAME)
|
||||
AC_SUBST(HOTSPOT_VM_DISTRO)
|
||||
|
||||
# Set the MACOSX Bundle Name base
|
||||
AC_ARG_WITH(macosx-bundle-name-base, [AS_HELP_STRING([--with-macosx-bundle-name-base],
|
||||
[Set the MacOSX Bundle Name base. This is the base name for calculating MacOSX Bundle Names.
|
||||
@<:@not specified@:>@])])
|
||||
if test "x$with_macosx_bundle_name_base" = xyes; then
|
||||
AC_MSG_ERROR([--with-macosx-bundle-name-base must have a value])
|
||||
elif [ ! [[ $with_macosx_bundle_name_base =~ ^[[:print:]]*$ ]] ]; then
|
||||
AC_MSG_ERROR([--with-macosx-bundle-name-base contains non-printing characters: $with_macosx_bundle_name_base])
|
||||
elif test "x$with_macosx_bundle_name_base" != x; then
|
||||
# Set MACOSX_BUNDLE_NAME_BASE to the configured value.
|
||||
MACOSX_BUNDLE_NAME_BASE="$with_macosx_bundle_name_base"
|
||||
fi
|
||||
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
|
||||
|
||||
# Set the MACOSX Bundle ID base
|
||||
AC_ARG_WITH(macosx-bundle-id-base, [AS_HELP_STRING([--with-macosx-bundle-id-base],
|
||||
[Set the MacOSX Bundle ID base. This is the base ID for calculating MacOSX Bundle IDs.
|
||||
@<:@not specified@:>@])])
|
||||
if test "x$with_macosx_bundle_id_base" = xyes; then
|
||||
AC_MSG_ERROR([--with-macosx-bundle-id-base must have a value])
|
||||
elif [ ! [[ $with_macosx_bundle_id_base =~ ^[[:print:]]*$ ]] ]; then
|
||||
AC_MSG_ERROR([--with-macosx-bundle-id-base contains non-printing characters: $with_macosx_bundle_id_base])
|
||||
elif test "x$with_macosx_bundle_id_base" != x; then
|
||||
# Set MACOSX_BUNDLE_ID_BASE to the configured value.
|
||||
MACOSX_BUNDLE_ID_BASE="$with_macosx_bundle_id_base"
|
||||
fi
|
||||
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
|
||||
|
||||
# Set the JDK RC name
|
||||
AC_ARG_WITH(jdk-rc-name, [AS_HELP_STRING([--with-jdk-rc-name],
|
||||
[Set JDK RC name. This is used for FileDescription and ProductName properties
|
||||
of MS Windows binaries. @<:@not specified@:>@])])
|
||||
if test "x$with_jdk_rc_name" = xyes; then
|
||||
AC_MSG_ERROR([--with-jdk-rc-name must have a value])
|
||||
elif [ ! [[ $with_jdk_rc_name =~ ^[[:print:]]*$ ]] ]; then
|
||||
AC_MSG_ERROR([--with-jdk-rc-name contains non-printing characters: $with_jdk_rc_name])
|
||||
elif test "x$with_jdk_rc_name" != x; then
|
||||
# Set JDK_RC_NAME to a custom value if '--with-jdk-rc-name' was used and is not empty.
|
||||
JDK_RC_NAME="$with_jdk_rc_name"
|
||||
else
|
||||
# Otherwise calculate from "version-numbers" included above.
|
||||
JDK_RC_NAME="$PRODUCT_NAME $JDK_RC_PLATFORM_NAME"
|
||||
fi
|
||||
AC_SUBST(JDK_RC_NAME)
|
||||
|
||||
# The vendor name, if any
|
||||
AC_ARG_WITH(vendor-name, [AS_HELP_STRING([--with-vendor-name],
|
||||
[Set vendor name. Among others, used to set the 'java.vendor'
|
||||
@@ -139,15 +182,18 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_MSG_ERROR([--with-version-string must have a value])
|
||||
elif test "x$with_version_string" != x; then
|
||||
# Additional [] needed to keep m4 from mangling shell constructs.
|
||||
if [ [[ $with_version_string =~ ^([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(-([a-zA-Z]+))?((\+)([0-9]+)?(-([-a-zA-Z0-9.]+))?)?$ ]] ]; then
|
||||
if [ [[ $with_version_string =~ ^([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(-([a-zA-Z]+))?((\+)([0-9]+)?(-([-a-zA-Z0-9.]+))?)?$ ]] ]; then
|
||||
VERSION_FEATURE=${BASH_REMATCH[[1]]}
|
||||
VERSION_INTERIM=${BASH_REMATCH[[3]]}
|
||||
VERSION_UPDATE=${BASH_REMATCH[[5]]}
|
||||
VERSION_PATCH=${BASH_REMATCH[[7]]}
|
||||
VERSION_PRE=${BASH_REMATCH[[9]]}
|
||||
version_plus_separator=${BASH_REMATCH[[11]]}
|
||||
VERSION_BUILD=${BASH_REMATCH[[12]]}
|
||||
VERSION_OPT=${BASH_REMATCH[[14]]}
|
||||
VERSION_EXTRA1=${BASH_REMATCH[[9]]}
|
||||
VERSION_EXTRA2=${BASH_REMATCH[[11]]}
|
||||
VERSION_EXTRA3=${BASH_REMATCH[[13]]}
|
||||
VERSION_PRE=${BASH_REMATCH[[15]]}
|
||||
version_plus_separator=${BASH_REMATCH[[17]]}
|
||||
VERSION_BUILD=${BASH_REMATCH[[18]]}
|
||||
VERSION_OPT=${BASH_REMATCH[[20]]}
|
||||
# Unspecified numerical fields are interpreted as 0.
|
||||
if test "x$VERSION_INTERIM" = x; then
|
||||
VERSION_INTERIM=0
|
||||
@@ -158,6 +204,15 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
if test "x$VERSION_PATCH" = x; then
|
||||
VERSION_PATCH=0
|
||||
fi
|
||||
if test "x$VERSION_EXTRA1" = x; then
|
||||
VERSION_EXTRA1=0
|
||||
fi
|
||||
if test "x$VERSION_EXTRA2" = x; then
|
||||
VERSION_EXTRA2=0
|
||||
fi
|
||||
if test "x$VERSION_EXTRA3" = x; then
|
||||
VERSION_EXTRA3=0
|
||||
fi
|
||||
if test "x$version_plus_separator" != x \
|
||||
&& test "x$VERSION_BUILD$VERSION_OPT" = x; then
|
||||
AC_MSG_ERROR([Version string contains + but both 'BUILD' and 'OPT' are missing])
|
||||
@@ -327,6 +382,72 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
fi
|
||||
fi
|
||||
|
||||
# The 1st version extra number, if any
|
||||
AC_ARG_WITH(version-extra1, [AS_HELP_STRING([--with-version-extra1],
|
||||
[Set 1st version extra number @<:@not specified@:>@])],
|
||||
[with_version_extra1_present=true], [with_version_extra1_present=false])
|
||||
|
||||
if test "x$with_version_extra1_present" = xtrue; then
|
||||
if test "x$with_version_extra1" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-extra1 must have a value])
|
||||
elif test "x$with_version_extra1" = xno; then
|
||||
# Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
|
||||
VERSION_EXTRA1=0
|
||||
elif test "x$with_version_extra1" = x; then
|
||||
VERSION_EXTRA1=0
|
||||
else
|
||||
JDKVER_CHECK_AND_SET_NUMBER(VERSION_EXTRA1, $with_version_extra1)
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
VERSION_EXTRA1=$DEFAULT_VERSION_EXTRA1
|
||||
fi
|
||||
fi
|
||||
|
||||
# The 2nd version extra number, if any
|
||||
AC_ARG_WITH(version-extra2, [AS_HELP_STRING([--with-version-extra2],
|
||||
[Set 2nd version extra number @<:@not specified@:>@])],
|
||||
[with_version_extra2_present=true], [with_version_extra2_present=false])
|
||||
|
||||
if test "x$with_version_extra2_present" = xtrue; then
|
||||
if test "x$with_version_extra2" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-extra2 must have a value])
|
||||
elif test "x$with_version_extra2" = xno; then
|
||||
# Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
|
||||
VERSION_EXTRA2=0
|
||||
elif test "x$with_version_extra2" = x; then
|
||||
VERSION_EXTRA2=0
|
||||
else
|
||||
JDKVER_CHECK_AND_SET_NUMBER(VERSION_EXTRA2, $with_version_extra2)
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
VERSION_EXTRA2=$DEFAULT_VERSION_EXTRA2
|
||||
fi
|
||||
fi
|
||||
|
||||
# The 3rd version extra number, if any
|
||||
AC_ARG_WITH(version-extra3, [AS_HELP_STRING([--with-version-extra3],
|
||||
[Set 3rd version extra number @<:@not specified@:>@])],
|
||||
[with_version_extra3_present=true], [with_version_extra3_present=false])
|
||||
|
||||
if test "x$with_version_extra3_present" = xtrue; then
|
||||
if test "x$with_version_extra3" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-extra3 must have a value])
|
||||
elif test "x$with_version_extra3" = xno; then
|
||||
# Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
|
||||
VERSION_EXTRA3=0
|
||||
elif test "x$with_version_extra3" = x; then
|
||||
VERSION_EXTRA3=0
|
||||
else
|
||||
JDKVER_CHECK_AND_SET_NUMBER(VERSION_EXTRA3, $with_version_extra3)
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
VERSION_EXTRA3=$DEFAULT_VERSION_EXTRA3
|
||||
fi
|
||||
fi
|
||||
|
||||
# Calculate derived version properties
|
||||
|
||||
# Set VERSION_IS_GA based on if VERSION_PRE has a value
|
||||
@@ -339,9 +460,12 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
# VERSION_NUMBER but always with exactly 4 positions, with 0 for empty positions.
|
||||
VERSION_NUMBER_FOUR_POSITIONS=$VERSION_FEATURE.$VERSION_INTERIM.$VERSION_UPDATE.$VERSION_PATCH
|
||||
|
||||
stripped_version_number=$VERSION_NUMBER_FOUR_POSITIONS
|
||||
# VERSION_NUMBER but always with all positions, with 0 for empty positions.
|
||||
VERSION_NUMBER_ALL_POSITIONS=$VERSION_NUMBER_FOUR_POSITIONS.$VERSION_EXTRA1.$VERSION_EXTRA2.$VERSION_EXTRA3
|
||||
|
||||
stripped_version_number=$VERSION_NUMBER_ALL_POSITIONS
|
||||
# Strip trailing zeroes from stripped_version_number
|
||||
for i in 1 2 3 ; do stripped_version_number=${stripped_version_number%.0} ; done
|
||||
for i in 1 2 3 4 5 6 ; do stripped_version_number=${stripped_version_number%.0} ; done
|
||||
VERSION_NUMBER=$stripped_version_number
|
||||
|
||||
# The complete version string, with additional build information
|
||||
@@ -392,6 +516,9 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_SUBST(VERSION_INTERIM)
|
||||
AC_SUBST(VERSION_UPDATE)
|
||||
AC_SUBST(VERSION_PATCH)
|
||||
AC_SUBST(VERSION_EXTRA1)
|
||||
AC_SUBST(VERSION_EXTRA2)
|
||||
AC_SUBST(VERSION_EXTRA3)
|
||||
AC_SUBST(VERSION_PRE)
|
||||
AC_SUBST(VERSION_BUILD)
|
||||
AC_SUBST(VERSION_OPT)
|
||||
|
||||
@@ -186,6 +186,9 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
|
||||
FREETYPE_BASE_DIR="$SYSROOT/usr"
|
||||
if (test "x$OPENJDK_TARGET_CPU_BITS" = "x64"); then
|
||||
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU-linux-gnu], [well-known location])
|
||||
if (test "x$FOUND_FREETYPE" != "xyes"); then
|
||||
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib64], [well-known location])
|
||||
fi
|
||||
else
|
||||
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib/i386-linux-gnu], [well-known location])
|
||||
if (test "x$FOUND_FREETYPE" != "xyes"); then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2018, 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
|
||||
@@ -99,8 +99,14 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
|
||||
OLD_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $SYSROOT_CFLAGS $X_CFLAGS"
|
||||
|
||||
HEADERS_TO_CHECK="X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h"
|
||||
# There is no Xrandr extension on AIX
|
||||
if test "x$OPENJDK_TARGET_OS" != xaix; then
|
||||
HEADERS_TO_CHECK="$HEADERS_TO_CHECK X11/extensions/Xrandr.h"
|
||||
fi
|
||||
|
||||
# Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10
|
||||
AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h],
|
||||
AC_CHECK_HEADERS([$HEADERS_TO_CHECK],
|
||||
[X11_HEADERS_OK=yes],
|
||||
[X11_HEADERS_OK=no; break],
|
||||
[
|
||||
@@ -111,7 +117,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
|
||||
|
||||
if test "x$X11_HEADERS_OK" = xno; then
|
||||
HELP_MSG_MISSING_DEPENDENCY([x11])
|
||||
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h Intrinsic.h). $HELP_MSG])
|
||||
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h Xrander.h XTest.h Intrinsic.h). $HELP_MSG])
|
||||
fi
|
||||
|
||||
# If XLinearGradient isn't available in Xrender.h, signal that it needs to be
|
||||
|
||||
@@ -148,6 +148,7 @@ LAUNCHER_NAME:=@LAUNCHER_NAME@
|
||||
PRODUCT_NAME:=@PRODUCT_NAME@
|
||||
PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@
|
||||
JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@
|
||||
JDK_RC_NAME:=@JDK_RC_NAME@
|
||||
COMPANY_NAME:=@COMPANY_NAME@
|
||||
HOTSPOT_VM_DISTRO:=@HOTSPOT_VM_DISTRO@
|
||||
MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@
|
||||
@@ -165,6 +166,9 @@ VERSION_FEATURE := @VERSION_FEATURE@
|
||||
VERSION_INTERIM := @VERSION_INTERIM@
|
||||
VERSION_UPDATE := @VERSION_UPDATE@
|
||||
VERSION_PATCH := @VERSION_PATCH@
|
||||
VERSION_EXTRA1 := @VERSION_EXTRA1@
|
||||
VERSION_EXTRA2 := @VERSION_EXTRA2@
|
||||
VERSION_EXTRA3 := @VERSION_EXTRA3@
|
||||
# The pre-release identifier (string)
|
||||
VERSION_PRE := @VERSION_PRE@
|
||||
# The build number (numerical)
|
||||
@@ -203,6 +207,9 @@ VERSION_CFLAGS := \
|
||||
-DVERSION_INTERIM=$(VERSION_INTERIM) \
|
||||
-DVERSION_UPDATE=$(VERSION_UPDATE) \
|
||||
-DVERSION_PATCH=$(VERSION_PATCH) \
|
||||
-DVERSION_EXTRA1=$(VERSION_EXTRA1) \
|
||||
-DVERSION_EXTRA2=$(VERSION_EXTRA2) \
|
||||
-DVERSION_EXTRA3=$(VERSION_EXTRA3) \
|
||||
-DVERSION_PRE='"$(VERSION_PRE)"' \
|
||||
-DVERSION_BUILD=$(VERSION_BUILD) \
|
||||
-DVERSION_OPT='"$(VERSION_OPT)"' \
|
||||
@@ -305,6 +312,8 @@ ENABLE_GENERATE_CLASSLIST := @ENABLE_GENERATE_CLASSLIST@
|
||||
|
||||
EXCLUDE_TRANSLATIONS := @EXCLUDE_TRANSLATIONS@
|
||||
|
||||
BUILD_MANPAGES := @BUILD_MANPAGES@
|
||||
|
||||
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
|
||||
# it in sync.
|
||||
BOOT_JDK:=@BOOT_JDK@
|
||||
@@ -442,6 +451,7 @@ CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
|
||||
LIBJSIG_HASHSTYLE_LDFLAGS := @LIBJSIG_HASHSTYLE_LDFLAGS@
|
||||
LIBJSIG_NOEXECSTACK_LDFLAGS := @LIBJSIG_NOEXECSTACK_LDFLAGS@
|
||||
|
||||
FDLIBM_CFLAGS := @FDLIBM_CFLAGS@
|
||||
JVM_CFLAGS := @JVM_CFLAGS@
|
||||
JVM_LDFLAGS := @JVM_LDFLAGS@
|
||||
JVM_ASFLAGS := @JVM_ASFLAGS@
|
||||
@@ -532,6 +542,7 @@ COPY_DEBUG_SYMBOLS := @COPY_DEBUG_SYMBOLS@
|
||||
ZIP_EXTERNAL_DEBUG_SYMBOLS := @ZIP_EXTERNAL_DEBUG_SYMBOLS@
|
||||
|
||||
CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
|
||||
ASFLAGS_DEBUG_SYMBOLS:=@ASFLAGS_DEBUG_SYMBOLS@
|
||||
|
||||
#
|
||||
# Compress (or not) jars
|
||||
@@ -714,6 +725,7 @@ EXPR:=@EXPR@
|
||||
FILE:=@FILE@
|
||||
DOT:=@DOT@
|
||||
HG:=@HG@
|
||||
GIT:=@GIT@
|
||||
OBJCOPY:=@OBJCOPY@
|
||||
SETFILE:=@SETFILE@
|
||||
XATTR:=@XATTR@
|
||||
@@ -814,6 +826,7 @@ PNG_CFLAGS:=@PNG_CFLAGS@
|
||||
|
||||
INCLUDE_SA=@INCLUDE_SA@
|
||||
INCLUDE_GRAAL=@INCLUDE_GRAAL@
|
||||
INCLUDE_JVMCI=@INCLUDE_JVMCI@
|
||||
|
||||
OS_VERSION_MAJOR:=@OS_VERSION_MAJOR@
|
||||
OS_VERSION_MINOR:=@OS_VERSION_MINOR@
|
||||
@@ -868,12 +881,14 @@ else
|
||||
JDK_BUNDLE_EXTENSION := tar.gz
|
||||
endif
|
||||
JDK_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
|
||||
JRE_BUNDLE_NAME := jre-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
|
||||
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
|
||||
|
||||
JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
|
||||
JRE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_BUNDLE_NAME)
|
||||
JDK_SYMBOLS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_SYMBOLS_BUNDLE_NAME)
|
||||
TEST_DEMOS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_DEMOS_BUNDLE_NAME)
|
||||
TEST_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 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
|
||||
@@ -27,9 +27,12 @@
|
||||
|
||||
DEFAULT_VERSION_FEATURE=11
|
||||
DEFAULT_VERSION_INTERIM=0
|
||||
DEFAULT_VERSION_UPDATE=1
|
||||
DEFAULT_VERSION_UPDATE=4
|
||||
DEFAULT_VERSION_PATCH=0
|
||||
DEFAULT_VERSION_DATE=2018-09-25
|
||||
DEFAULT_VERSION_EXTRA1=0
|
||||
DEFAULT_VERSION_EXTRA2=0
|
||||
DEFAULT_VERSION_EXTRA3=0
|
||||
DEFAULT_VERSION_DATE=2019-07-16
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
|
||||
|
||||
@@ -347,6 +347,7 @@ SOURCE_REVISION_TRACKER := $(SUPPORT_OUTPUTDIR)/src-rev/source-revision-tracker
|
||||
FindAllReposAbs = \
|
||||
$(strip $(sort $(dir $(filter-out $(TOPDIR)/build/%, $(wildcard \
|
||||
$(addprefix $(TOPDIR)/, .hg */.hg */*/.hg */*/*/.hg */*/*/*/.hg) \
|
||||
$(addprefix $(TOPDIR)/, .git */.git */*/.git */*/*/.git */*/*/*/.git) \
|
||||
)))))
|
||||
|
||||
# Locate all hg repositories included in the forest, as relative paths
|
||||
@@ -1015,7 +1016,7 @@ ExecuteWithLog = \
|
||||
$(call LogCmdlines, Exececuting: [$(strip $2)]) \
|
||||
$(call MakeDir, $(dir $(strip $1))) \
|
||||
$(call WriteFile, $2, $(strip $1).cmdline) \
|
||||
( $(strip $2) > >($(TEE) $(strip $1).log) 2> >($(TEE) $(strip $1).log >&2) || \
|
||||
( $(RM) $(strip $1).log && $(strip $2) > >($(TEE) -a $(strip $1).log) 2> >($(TEE) -a $(strip $1).log >&2) || \
|
||||
( exitcode=$(DOLLAR)? && \
|
||||
$(CP) $(strip $1).log $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst /,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).log && \
|
||||
$(CP) $(strip $1).cmdline $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst /,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).cmdline && \
|
||||
|
||||
@@ -205,7 +205,14 @@ ifeq ($(INCLUDE_SA), false)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Filter out Graal specific modules if Graal build is disabled
|
||||
# Filter out jvmci specific modules if jvmci is disabled
|
||||
|
||||
ifeq ($(INCLUDE_JVMCI), false)
|
||||
MODULES_FILTER += jdk.internal.vm.ci
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Filter out Graal specific modules if Graal is disabled
|
||||
|
||||
ifeq ($(INCLUDE_GRAAL), false)
|
||||
MODULES_FILTER += jdk.internal.vm.compiler
|
||||
|
||||
@@ -251,6 +251,7 @@ define SetupCompileNativeFileBody
|
||||
$$($$($1_BASE)_SYSROOT_CFLAGS)
|
||||
$1_BASE_CXXFLAGS := $$($$($1_BASE)_CXXFLAGS) $$($$($1_BASE)_EXTRA_CXXFLAGS) \
|
||||
$$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_EXTRA_CXXFLAGS)
|
||||
$1_BASE_ASFLAGS := $$($$($1_BASE)_ASFLAGS) $$($$($1_BASE)_EXTRA_ASFLAGS)
|
||||
|
||||
ifneq ($$(filter %.c, $$($1_FILENAME)), )
|
||||
# Compile as a C file
|
||||
@@ -266,7 +267,7 @@ define SetupCompileNativeFileBody
|
||||
$1_DEP_FLAG := $(C_FLAG_DEPS)
|
||||
else ifneq ($$(filter %.s %.S, $$($1_FILENAME)), )
|
||||
# Compile as assembler file
|
||||
$1_FLAGS := $$($$($1_BASE)_ASFLAGS)
|
||||
$1_FLAGS := $$($1_BASE_ASFLAGS)
|
||||
$1_COMPILER := $(AS)
|
||||
$1_DEP_FLAG :=
|
||||
else ifneq ($$(filter %.cpp %.cc %.mm, $$($1_FILENAME)), )
|
||||
@@ -576,6 +577,7 @@ define SetupNativeCompilationBody
|
||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||
$1_EXTRA_CFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
|
||||
$1_EXTRA_CXXFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
|
||||
$1_EXTRA_ASFLAGS += $$(ASFLAGS_DEBUG_SYMBOLS)
|
||||
endif
|
||||
|
||||
ifneq ($$($1_REORDER), )
|
||||
|
||||
@@ -94,7 +94,7 @@ define SetupTestFilesCompilationBody
|
||||
CFLAGS := $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
|
||||
LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \
|
||||
LIBS := $$($1_LIBS_$$(name)), \
|
||||
OPTIMIZATION := LOW, \
|
||||
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
|
||||
COPY_DEBUG_SYMBOLS := false, \
|
||||
STRIP_SYMBOLS := false, \
|
||||
)) \
|
||||
|
||||
@@ -239,10 +239,11 @@ 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"],
|
||||
dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf"],
|
||||
default_make_targets: ["product-bundles", "test-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",
|
||||
"--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",
|
||||
versionArgs(input, common))
|
||||
};
|
||||
// Extra settings for debug profiles
|
||||
@@ -378,7 +379,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"linux-x64": {
|
||||
target_os: "linux",
|
||||
target_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf", "graphviz", "pandoc", "graalunit_lib"],
|
||||
dependencies: ["devkit", "graphviz", "pandoc", "graalunit_lib"],
|
||||
configure_args: concat(common.configure_args_64bit,
|
||||
"--enable-full-docs", "--with-zlib=system"),
|
||||
default_make_targets: ["docs-bundles"],
|
||||
@@ -388,7 +389,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
target_os: "linux",
|
||||
target_cpu: "x86",
|
||||
build_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf"],
|
||||
dependencies: ["devkit"],
|
||||
configure_args: concat(common.configure_args_32bit,
|
||||
"--with-jvm-variants=minimal,server", "--with-zlib=system"),
|
||||
},
|
||||
@@ -396,7 +397,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"macosx-x64": {
|
||||
target_os: "macosx",
|
||||
target_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf", "graalunit_lib"],
|
||||
dependencies: ["devkit", "graalunit_lib"],
|
||||
configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
|
||||
"--with-macosx-version-max=10.9.0"),
|
||||
},
|
||||
@@ -404,7 +405,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"solaris-x64": {
|
||||
target_os: "solaris",
|
||||
target_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf", "cups"],
|
||||
dependencies: ["devkit", "cups"],
|
||||
configure_args: concat(common.configure_args_64bit,
|
||||
"--with-zlib=system", "--enable-dtrace"),
|
||||
},
|
||||
@@ -412,7 +413,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"solaris-sparcv9": {
|
||||
target_os: "solaris",
|
||||
target_cpu: "sparcv9",
|
||||
dependencies: ["devkit", "autoconf", "cups"],
|
||||
dependencies: ["devkit", "cups"],
|
||||
configure_args: concat(common.configure_args_64bit,
|
||||
"--with-zlib=system", "--enable-dtrace"),
|
||||
},
|
||||
@@ -420,7 +421,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"windows-x64": {
|
||||
target_os: "windows",
|
||||
target_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf", "graalunit_lib"],
|
||||
dependencies: ["devkit", "graalunit_lib"],
|
||||
configure_args: concat(common.configure_args_64bit),
|
||||
},
|
||||
|
||||
@@ -428,7 +429,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
target_os: "windows",
|
||||
target_cpu: "x86",
|
||||
build_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf"],
|
||||
dependencies: ["devkit"],
|
||||
configure_args: concat(common.configure_args_32bit),
|
||||
},
|
||||
|
||||
@@ -436,7 +437,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
target_os: "linux",
|
||||
target_cpu: "aarch64",
|
||||
build_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf", "build_devkit", "cups"],
|
||||
dependencies: ["devkit", "build_devkit", "cups"],
|
||||
configure_args: [
|
||||
"--openjdk-target=aarch64-linux-gnu", "--with-freetype=bundled",
|
||||
"--disable-warnings-as-errors", "--with-cpu-port=aarch64",
|
||||
@@ -447,7 +448,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
target_os: "linux",
|
||||
target_cpu: "aarch64",
|
||||
build_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf", "build_devkit", "cups", "headless_stubs"],
|
||||
dependencies: ["devkit", "build_devkit", "cups", "headless_stubs"],
|
||||
configure_args: [
|
||||
"--with-cpu-port=arm64",
|
||||
"--with-jvm-variants=server",
|
||||
@@ -460,7 +461,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
target_os: "linux",
|
||||
target_cpu: "arm",
|
||||
build_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf", "build_devkit", "cups"],
|
||||
dependencies: ["devkit", "build_devkit", "cups"],
|
||||
configure_args: [
|
||||
"--openjdk-target=arm-linux-gnueabihf", "--with-freetype=bundled",
|
||||
"--with-abi-profile=arm-vfp-hflt", "--disable-warnings-as-errors"
|
||||
@@ -471,7 +472,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
target_os: "linux",
|
||||
target_cpu: "arm",
|
||||
build_cpu: "x64",
|
||||
dependencies: ["devkit", "autoconf", "build_devkit", "cups"],
|
||||
dependencies: ["devkit", "build_devkit", "cups"],
|
||||
configure_args: [
|
||||
"--with-jvm-variants=minimal1,client",
|
||||
"--with-x=" + input.get("devkit", "install_path") + "/arm-linux-gnueabihf/libc/usr/X11R6-PI",
|
||||
@@ -524,8 +525,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
profiles[maketestName].default_make_targets = [ "test-make" ];
|
||||
});
|
||||
|
||||
// Profiles for building the zero jvm variant. These are used for verification
|
||||
// in JPRT.
|
||||
// Profiles for building the zero jvm variant. These are used for verification.
|
||||
var zeroProfiles = {
|
||||
"linux-x64-zero": {
|
||||
target_os: "linux",
|
||||
@@ -708,14 +708,6 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
profiles[openName].artifacts["jdk"].remote));
|
||||
});
|
||||
|
||||
// Enable ZGC in linux-x64-open builds
|
||||
[ "linux-x64-open" ].forEach(function (name) {
|
||||
var configureArgs = { configure_args: [ "--with-jvm-features=zgc" ] };
|
||||
var debugName = name + common.debug_suffix;
|
||||
profiles[name] = concatObjects(profiles[name], configureArgs);
|
||||
profiles[debugName] = concatObjects(profiles[debugName], configureArgs);
|
||||
});
|
||||
|
||||
// Generate cmp-baseline profiles for each main profile and their
|
||||
// corresponding debug profile. This profile does a compare build run with no
|
||||
// changes to verify that the compare script has a clean baseline
|
||||
@@ -732,18 +724,8 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
});
|
||||
});
|
||||
|
||||
// Profiles used to run tests. Used in JPRT and Mach 5.
|
||||
// Profiles used to run tests.
|
||||
var testOnlyProfiles = {
|
||||
"run-test-jprt": {
|
||||
target_os: input.build_os,
|
||||
target_cpu: input.build_cpu,
|
||||
dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ],
|
||||
labels: "test",
|
||||
environment: {
|
||||
"JT_JAVA": common.boot_jdk_home
|
||||
}
|
||||
},
|
||||
|
||||
"run-test": {
|
||||
target_os: input.build_os,
|
||||
target_cpu: input.build_cpu,
|
||||
@@ -805,7 +787,6 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
+ "/Xcode.app/Contents/Developer/usr/bin"
|
||||
};
|
||||
profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra);
|
||||
profiles["run-test-jprt"] = concatObjects(profiles["run-test-jprt"], macosxRunTestExtra);
|
||||
profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra);
|
||||
}
|
||||
// On windows we want the debug symbols available at test time
|
||||
@@ -836,7 +817,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
var getJibProfilesDependencies = function (input, common) {
|
||||
|
||||
var devkit_platform_revisions = {
|
||||
linux_x64: "gcc7.3.0-OEL6.4+1.0",
|
||||
linux_x64: "gcc7.3.0-OEL6.4+1.1",
|
||||
macosx_x64: "Xcode9.4-MacOSX10.13+1.0",
|
||||
solaris_x64: "SS12u4-Solaris11u1+1.0",
|
||||
solaris_sparcv9: "SS12u4-Solaris11u1+1.1",
|
||||
@@ -900,7 +881,7 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
jtreg: {
|
||||
server: "javare",
|
||||
revision: "4.2",
|
||||
build_number: "b12",
|
||||
build_number: "b13",
|
||||
checksum_file: "MD5_VALUES",
|
||||
file: "jtreg_bin-4.2.zip",
|
||||
environment_name: "JT_HOME",
|
||||
@@ -1153,7 +1134,10 @@ var getVersion = function (feature, interim, update, patch) {
|
||||
var version = (feature != null ? feature : version_numbers.get("DEFAULT_VERSION_FEATURE"))
|
||||
+ "." + (interim != null ? interim : version_numbers.get("DEFAULT_VERSION_INTERIM"))
|
||||
+ "." + (update != null ? update : version_numbers.get("DEFAULT_VERSION_UPDATE"))
|
||||
+ "." + (patch != null ? patch : version_numbers.get("DEFAULT_VERSION_PATCH"));
|
||||
+ "." + (patch != null ? patch : version_numbers.get("DEFAULT_VERSION_PATCH"))
|
||||
+ "." + version_numbers.get("DEFAULT_VERSION_EXTRA1")
|
||||
+ "." + version_numbers.get("DEFAULT_VERSION_EXTRA2")
|
||||
+ "." + version_numbers.get("DEFAULT_VERSION_EXTRA3");
|
||||
while (version.match(".*\\.0$")) {
|
||||
version = version.substring(0, version.length - 2);
|
||||
}
|
||||
@@ -1170,7 +1154,7 @@ var versionArgs = function(input, common) {
|
||||
args = concat(args,
|
||||
// This needs to be changed when we start building release candidates
|
||||
// with-version-pre must be set to ea for 'ea' and empty for fcs build
|
||||
"--with-version-pre=ea",
|
||||
"--with-version-pre=",
|
||||
"--without-version-opt");
|
||||
} else {
|
||||
args = concat(args, "--with-version-opt=" + common.build_id);
|
||||
|
||||
@@ -105,11 +105,21 @@ class CharacterData00 extends CharacterData {
|
||||
}
|
||||
|
||||
boolean isJavaIdentifierStart(int ch) {
|
||||
// isJavaIdentifierStart strictly conforms to code points assigned
|
||||
// in Unicode 10.0. Since code point {32FF} is not from Unicode 10.0,
|
||||
// return false.
|
||||
if(ch == 0x32FF)
|
||||
return false;
|
||||
int props = getProperties(ch);
|
||||
return ((props & $$maskIdentifierInfo) >= $$lowJavaStart);
|
||||
}
|
||||
|
||||
boolean isJavaIdentifierPart(int ch) {
|
||||
// isJavaIdentifierPart strictly conforms to code points assigned
|
||||
// in Unicode 10.0. Since code point {32FF} is not from Unicode 10.0,
|
||||
// return false.
|
||||
if(ch == 0x32FF)
|
||||
return false;
|
||||
int props = getProperties(ch);
|
||||
return ((props & $$nonzeroJavaPart) != 0);
|
||||
}
|
||||
@@ -653,6 +663,21 @@ class CharacterData00 extends CharacterData {
|
||||
return retval;
|
||||
}
|
||||
|
||||
boolean isDigit(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.DECIMAL_DIGIT_NUMBER;
|
||||
}
|
||||
|
||||
boolean isLowerCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.LOWERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isUpperCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.UPPERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isWhitespace(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return ((props & $$maskIdentifierInfo) == $$valueJavaWhitespace);
|
||||
|
||||
@@ -418,6 +418,21 @@ class CharacterData01 extends CharacterData {
|
||||
return retval;
|
||||
}
|
||||
|
||||
boolean isDigit(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.DECIMAL_DIGIT_NUMBER;
|
||||
}
|
||||
|
||||
boolean isLowerCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.LOWERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isUpperCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.UPPERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isWhitespace(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return ((props & $$maskIdentifierInfo) == $$valueJavaWhitespace);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2018, 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
|
||||
@@ -217,6 +217,21 @@ class CharacterData02 extends CharacterData {
|
||||
return retval;
|
||||
}
|
||||
|
||||
boolean isDigit(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.DECIMAL_DIGIT_NUMBER;
|
||||
}
|
||||
|
||||
boolean isLowerCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.LOWERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isUpperCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.UPPERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isWhitespace(int ch) {
|
||||
return (getProperties(ch) & $$maskIdentifierInfo) == $$valueJavaWhitespace;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2018, 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
|
||||
@@ -217,6 +217,21 @@ class CharacterData0E extends CharacterData {
|
||||
return retval;
|
||||
}
|
||||
|
||||
boolean isDigit(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.DECIMAL_DIGIT_NUMBER;
|
||||
}
|
||||
|
||||
boolean isLowerCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.LOWERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isUpperCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.UPPERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isWhitespace(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return ((props & $$maskIdentifierInfo) == $$valueJavaWhitespace);
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
package java.lang;
|
||||
|
||||
import jdk.internal.HotSpotIntrinsicCandidate;
|
||||
|
||||
/** The CharacterData class encapsulates the large tables found in
|
||||
Java.lang.Character. */
|
||||
|
||||
@@ -78,6 +80,23 @@ class CharacterDataLatin1 extends CharacterData {
|
||||
return props;
|
||||
}
|
||||
|
||||
@HotSpotIntrinsicCandidate
|
||||
boolean isDigit(int ch) {
|
||||
return '0' <= ch && ch <= '9';
|
||||
}
|
||||
|
||||
@HotSpotIntrinsicCandidate
|
||||
boolean isLowerCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.LOWERCASE_LETTER;
|
||||
}
|
||||
|
||||
@HotSpotIntrinsicCandidate
|
||||
boolean isUpperCase(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return (props & $$maskType) == Character.UPPERCASE_LETTER;
|
||||
}
|
||||
|
||||
boolean isOtherLowercase(int ch) {
|
||||
int props = getPropertiesEx(ch);
|
||||
return (props & $$maskOtherLowercase) != 0;
|
||||
@@ -214,6 +233,7 @@ class CharacterDataLatin1 extends CharacterData {
|
||||
return retval;
|
||||
}
|
||||
|
||||
@HotSpotIntrinsicCandidate
|
||||
boolean isWhitespace(int ch) {
|
||||
int props = getProperties(ch);
|
||||
return ((props & $$maskIdentifierInfo) == $$valueJavaWhitespace);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2018, 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
|
||||
@@ -41,47 +41,59 @@ class CharacterDataPrivateUse extends CharacterData {
|
||||
}
|
||||
|
||||
boolean isJavaIdentifierStart(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isJavaIdentifierPart(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isUnicodeIdentifierStart(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isUnicodeIdentifierPart(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isIdentifierIgnorable(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
int toLowerCase(int ch) {
|
||||
return ch;
|
||||
return ch;
|
||||
}
|
||||
|
||||
int toUpperCase(int ch) {
|
||||
return ch;
|
||||
return ch;
|
||||
}
|
||||
|
||||
int toTitleCase(int ch) {
|
||||
return ch;
|
||||
return ch;
|
||||
}
|
||||
|
||||
int digit(int ch, int radix) {
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int getNumericValue(int ch) {
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
boolean isDigit(int ch) {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isLowerCase(int ch) {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isUpperCase(int ch) {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isWhitespace(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
byte getDirectionality(int ch) {
|
||||
@@ -91,7 +103,7 @@ class CharacterDataPrivateUse extends CharacterData {
|
||||
}
|
||||
|
||||
boolean isMirrored(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
static final CharacterData instance = new CharacterDataPrivateUse();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2018, 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
|
||||
@@ -35,59 +35,71 @@ class CharacterDataUndefined extends CharacterData {
|
||||
}
|
||||
|
||||
int getType(int ch) {
|
||||
return Character.UNASSIGNED;
|
||||
return Character.UNASSIGNED;
|
||||
}
|
||||
|
||||
boolean isJavaIdentifierStart(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isJavaIdentifierPart(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isUnicodeIdentifierStart(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isUnicodeIdentifierPart(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isIdentifierIgnorable(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
int toLowerCase(int ch) {
|
||||
return ch;
|
||||
return ch;
|
||||
}
|
||||
|
||||
int toUpperCase(int ch) {
|
||||
return ch;
|
||||
return ch;
|
||||
}
|
||||
|
||||
int toTitleCase(int ch) {
|
||||
return ch;
|
||||
return ch;
|
||||
}
|
||||
|
||||
int digit(int ch, int radix) {
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int getNumericValue(int ch) {
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
boolean isDigit(int ch) {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isLowerCase(int ch) {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isUpperCase(int ch) {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean isWhitespace(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
byte getDirectionality(int ch) {
|
||||
return Character.DIRECTIONALITY_UNDEFINED;
|
||||
return Character.DIRECTIONALITY_UNDEFINED;
|
||||
}
|
||||
|
||||
boolean isMirrored(int ch) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
static final CharacterData instance = new CharacterDataUndefined();
|
||||
|
||||
94
make/data/charsetmapping/IBM1129.c2b
Normal file
94
make/data/charsetmapping/IBM1129.c2b
Normal file
@@ -0,0 +1,94 @@
|
||||
0x21 U+ff01
|
||||
0x22 U+ff02
|
||||
0x23 U+ff03
|
||||
0x24 U+ff04
|
||||
0x25 U+ff05
|
||||
0x26 U+ff06
|
||||
0x27 U+ff07
|
||||
0x28 U+ff08
|
||||
0x29 U+ff09
|
||||
0x2a U+ff0a
|
||||
0x2b U+ff0b
|
||||
0x2c U+ff0c
|
||||
0x2d U+ff0d
|
||||
0x2e U+ff0e
|
||||
0x2f U+ff0f
|
||||
0x30 U+ff10
|
||||
0x31 U+ff11
|
||||
0x32 U+ff12
|
||||
0x33 U+ff13
|
||||
0x34 U+ff14
|
||||
0x35 U+ff15
|
||||
0x36 U+ff16
|
||||
0x37 U+ff17
|
||||
0x38 U+ff18
|
||||
0x39 U+ff19
|
||||
0x3a U+ff1a
|
||||
0x3b U+ff1b
|
||||
0x3c U+ff1c
|
||||
0x3d U+ff1d
|
||||
0x3e U+ff1e
|
||||
0x3f U+ff1f
|
||||
0x40 U+ff20
|
||||
0x41 U+ff21
|
||||
0x42 U+ff22
|
||||
0x43 U+ff23
|
||||
0x44 U+ff24
|
||||
0x45 U+ff25
|
||||
0x46 U+ff26
|
||||
0x47 U+ff27
|
||||
0x48 U+ff28
|
||||
0x49 U+ff29
|
||||
0x4a U+ff2a
|
||||
0x4b U+ff2b
|
||||
0x4c U+ff2c
|
||||
0x4d U+ff2d
|
||||
0x4e U+ff2e
|
||||
0x4f U+ff2f
|
||||
0x50 U+ff30
|
||||
0x51 U+ff31
|
||||
0x52 U+ff32
|
||||
0x53 U+ff33
|
||||
0x54 U+ff34
|
||||
0x55 U+ff35
|
||||
0x56 U+ff36
|
||||
0x57 U+ff37
|
||||
0x58 U+ff38
|
||||
0x59 U+ff39
|
||||
0x5a U+ff3a
|
||||
0x5b U+ff3b
|
||||
0x5c U+ff3c
|
||||
0x5d U+ff3d
|
||||
0x5e U+ff3e
|
||||
0x5f U+ff3f
|
||||
0x60 U+ff40
|
||||
0x61 U+ff41
|
||||
0x62 U+ff42
|
||||
0x63 U+ff43
|
||||
0x64 U+ff44
|
||||
0x65 U+ff45
|
||||
0x66 U+ff46
|
||||
0x67 U+ff47
|
||||
0x68 U+ff48
|
||||
0x69 U+ff49
|
||||
0x6a U+ff4a
|
||||
0x6b U+ff4b
|
||||
0x6c U+ff4c
|
||||
0x6d U+ff4d
|
||||
0x6e U+ff4e
|
||||
0x6f U+ff4f
|
||||
0x70 U+ff50
|
||||
0x71 U+ff51
|
||||
0x72 U+ff52
|
||||
0x73 U+ff53
|
||||
0x74 U+ff54
|
||||
0x75 U+ff55
|
||||
0x76 U+ff56
|
||||
0x77 U+ff57
|
||||
0x78 U+ff58
|
||||
0x79 U+ff59
|
||||
0x7a U+ff5a
|
||||
0x7b U+ff5b
|
||||
0x7c U+ff5c
|
||||
0x7d U+ff5d
|
||||
0x7e U+ff5e
|
||||
256
make/data/charsetmapping/IBM1129.map
Normal file
256
make/data/charsetmapping/IBM1129.map
Normal file
@@ -0,0 +1,256 @@
|
||||
0x00 U+0000
|
||||
0x01 U+0001
|
||||
0x02 U+0002
|
||||
0x03 U+0003
|
||||
0x04 U+0004
|
||||
0x05 U+0005
|
||||
0x06 U+0006
|
||||
0x07 U+0007
|
||||
0x08 U+0008
|
||||
0x09 U+0009
|
||||
0x0a U+000a
|
||||
0x0b U+000b
|
||||
0x0c U+000c
|
||||
0x0d U+000d
|
||||
0x0e U+000e
|
||||
0x0f U+000f
|
||||
0x10 U+0010
|
||||
0x11 U+0011
|
||||
0x12 U+0012
|
||||
0x13 U+0013
|
||||
0x14 U+0014
|
||||
0x15 U+0015
|
||||
0x16 U+0016
|
||||
0x17 U+0017
|
||||
0x18 U+0018
|
||||
0x19 U+0019
|
||||
0x1a U+001a
|
||||
0x1b U+001b
|
||||
0x1c U+001c
|
||||
0x1d U+001d
|
||||
0x1e U+001e
|
||||
0x1f U+001f
|
||||
0x20 U+0020
|
||||
0x21 U+0021
|
||||
0x22 U+0022
|
||||
0x23 U+0023
|
||||
0x24 U+0024
|
||||
0x25 U+0025
|
||||
0x26 U+0026
|
||||
0x27 U+0027
|
||||
0x28 U+0028
|
||||
0x29 U+0029
|
||||
0x2a U+002a
|
||||
0x2b U+002b
|
||||
0x2c U+002c
|
||||
0x2d U+002d
|
||||
0x2e U+002e
|
||||
0x2f U+002f
|
||||
0x30 U+0030
|
||||
0x31 U+0031
|
||||
0x32 U+0032
|
||||
0x33 U+0033
|
||||
0x34 U+0034
|
||||
0x35 U+0035
|
||||
0x36 U+0036
|
||||
0x37 U+0037
|
||||
0x38 U+0038
|
||||
0x39 U+0039
|
||||
0x3a U+003a
|
||||
0x3b U+003b
|
||||
0x3c U+003c
|
||||
0x3d U+003d
|
||||
0x3e U+003e
|
||||
0x3f U+003f
|
||||
0x40 U+0040
|
||||
0x41 U+0041
|
||||
0x42 U+0042
|
||||
0x43 U+0043
|
||||
0x44 U+0044
|
||||
0x45 U+0045
|
||||
0x46 U+0046
|
||||
0x47 U+0047
|
||||
0x48 U+0048
|
||||
0x49 U+0049
|
||||
0x4a U+004a
|
||||
0x4b U+004b
|
||||
0x4c U+004c
|
||||
0x4d U+004d
|
||||
0x4e U+004e
|
||||
0x4f U+004f
|
||||
0x50 U+0050
|
||||
0x51 U+0051
|
||||
0x52 U+0052
|
||||
0x53 U+0053
|
||||
0x54 U+0054
|
||||
0x55 U+0055
|
||||
0x56 U+0056
|
||||
0x57 U+0057
|
||||
0x58 U+0058
|
||||
0x59 U+0059
|
||||
0x5a U+005a
|
||||
0x5b U+005b
|
||||
0x5c U+005c
|
||||
0x5d U+005d
|
||||
0x5e U+005e
|
||||
0x5f U+005f
|
||||
0x60 U+0060
|
||||
0x61 U+0061
|
||||
0x62 U+0062
|
||||
0x63 U+0063
|
||||
0x64 U+0064
|
||||
0x65 U+0065
|
||||
0x66 U+0066
|
||||
0x67 U+0067
|
||||
0x68 U+0068
|
||||
0x69 U+0069
|
||||
0x6a U+006a
|
||||
0x6b U+006b
|
||||
0x6c U+006c
|
||||
0x6d U+006d
|
||||
0x6e U+006e
|
||||
0x6f U+006f
|
||||
0x70 U+0070
|
||||
0x71 U+0071
|
||||
0x72 U+0072
|
||||
0x73 U+0073
|
||||
0x74 U+0074
|
||||
0x75 U+0075
|
||||
0x76 U+0076
|
||||
0x77 U+0077
|
||||
0x78 U+0078
|
||||
0x79 U+0079
|
||||
0x7a U+007a
|
||||
0x7b U+007b
|
||||
0x7c U+007c
|
||||
0x7d U+007d
|
||||
0x7e U+007e
|
||||
0x7f U+007f
|
||||
0x80 U+0080
|
||||
0x81 U+0081
|
||||
0x82 U+0082
|
||||
0x83 U+0083
|
||||
0x84 U+0084
|
||||
0x85 U+0085
|
||||
0x86 U+0086
|
||||
0x87 U+0087
|
||||
0x88 U+0088
|
||||
0x89 U+0089
|
||||
0x8a U+008a
|
||||
0x8b U+008b
|
||||
0x8c U+008c
|
||||
0x8d U+008d
|
||||
0x8e U+008e
|
||||
0x8f U+008f
|
||||
0x90 U+0090
|
||||
0x91 U+0091
|
||||
0x92 U+0092
|
||||
0x93 U+0093
|
||||
0x94 U+0094
|
||||
0x95 U+0095
|
||||
0x96 U+0096
|
||||
0x97 U+0097
|
||||
0x98 U+0098
|
||||
0x99 U+0099
|
||||
0x9a U+009a
|
||||
0x9b U+009b
|
||||
0x9c U+009c
|
||||
0x9d U+009d
|
||||
0x9e U+009e
|
||||
0x9f U+009f
|
||||
0xa0 U+00a0
|
||||
0xa1 U+00a1
|
||||
0xa2 U+00a2
|
||||
0xa3 U+00a3
|
||||
0xa4 U+00a4
|
||||
0xa5 U+00a5
|
||||
0xa6 U+00a6
|
||||
0xa7 U+00a7
|
||||
0xa8 U+0153
|
||||
0xa9 U+00a9
|
||||
0xaa U+00aa
|
||||
0xab U+00ab
|
||||
0xac U+00ac
|
||||
0xad U+00ad
|
||||
0xae U+00ae
|
||||
0xaf U+00af
|
||||
0xb0 U+00b0
|
||||
0xb1 U+00b1
|
||||
0xb2 U+00b2
|
||||
0xb3 U+00b3
|
||||
0xb4 U+0178
|
||||
0xb5 U+00b5
|
||||
0xb6 U+00b6
|
||||
0xb7 U+00b7
|
||||
0xb8 U+0152
|
||||
0xb9 U+00b9
|
||||
0xba U+00ba
|
||||
0xbb U+00bb
|
||||
0xbc U+00bc
|
||||
0xbd U+00bd
|
||||
0xbe U+00be
|
||||
0xbf U+00bf
|
||||
0xc0 U+00c0
|
||||
0xc1 U+00c1
|
||||
0xc2 U+00c2
|
||||
0xc3 U+0102
|
||||
0xc4 U+00c4
|
||||
0xc5 U+00c5
|
||||
0xc6 U+00c6
|
||||
0xc7 U+00c7
|
||||
0xc8 U+00c8
|
||||
0xc9 U+00c9
|
||||
0xca U+00ca
|
||||
0xcb U+00cb
|
||||
0xcc U+0300
|
||||
0xcd U+00cd
|
||||
0xce U+00ce
|
||||
0xcf U+00cf
|
||||
0xd0 U+0110
|
||||
0xd1 U+00d1
|
||||
0xd2 U+0309
|
||||
0xd3 U+00d3
|
||||
0xd4 U+00d4
|
||||
0xd5 U+01a0
|
||||
0xd6 U+00d6
|
||||
0xd7 U+00d7
|
||||
0xd8 U+00d8
|
||||
0xd9 U+00d9
|
||||
0xda U+00da
|
||||
0xdb U+00db
|
||||
0xdc U+00dc
|
||||
0xdd U+01af
|
||||
0xde U+0303
|
||||
0xdf U+00df
|
||||
0xe0 U+00e0
|
||||
0xe1 U+00e1
|
||||
0xe2 U+00e2
|
||||
0xe3 U+0103
|
||||
0xe4 U+00e4
|
||||
0xe5 U+00e5
|
||||
0xe6 U+00e6
|
||||
0xe7 U+00e7
|
||||
0xe8 U+00e8
|
||||
0xe9 U+00e9
|
||||
0xea U+00ea
|
||||
0xeb U+00eb
|
||||
0xec U+0301
|
||||
0xed U+00ed
|
||||
0xee U+00ee
|
||||
0xef U+00ef
|
||||
0xf0 U+0111
|
||||
0xf1 U+00f1
|
||||
0xf2 U+0323
|
||||
0xf3 U+00f3
|
||||
0xf4 U+00f4
|
||||
0xf5 U+01a1
|
||||
0xf6 U+00f6
|
||||
0xf7 U+00f7
|
||||
0xf8 U+00f8
|
||||
0xf9 U+00f9
|
||||
0xfa U+00fa
|
||||
0xfb U+00fb
|
||||
0xfc U+00fc
|
||||
0xfd U+01b0
|
||||
0xfe U+20ab
|
||||
0xff U+00ff
|
||||
@@ -5,14 +5,3 @@ A1AD 223C
|
||||
A2A6 FF5E
|
||||
A2C1 2299
|
||||
A3DC 20A9
|
||||
#
|
||||
# see .map file for the info regarding following 3 entries
|
||||
#
|
||||
a1aa 6950
|
||||
a1a9 84f1
|
||||
a1ad cf7f
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,15 +1,6 @@
|
||||
#
|
||||
# source: Cp970.b2c, which is identical(?) to 03CA34B0.TPMAP100
|
||||
#
|
||||
# Warning:
|
||||
# following 3 c->b only entries exist in the "old" implementation,
|
||||
# they don't appear existing in any of of the cdc 970 tables. Added
|
||||
# them into c2b for "compatibility
|
||||
# 6950 -> a1aa 2014
|
||||
# 84f1 -> a1a9 2010
|
||||
# cf7f -> a1ad 301c
|
||||
#
|
||||
#
|
||||
00 0000
|
||||
01 0001
|
||||
02 0002
|
||||
@@ -294,6 +285,7 @@ A2BD 2661
|
||||
A2BE 2665
|
||||
A2BF 2667
|
||||
A2C0 2663
|
||||
A2C1 25C9
|
||||
A2C2 25C8
|
||||
A2C3 25A3
|
||||
A2C4 25D0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2000, 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
|
||||
@@ -440,6 +440,8 @@ charset IBM00858 IBM858
|
||||
alias cp00858
|
||||
alias 858
|
||||
alias PC-Multilingual-850+euro
|
||||
alias ibm858
|
||||
alias ibm-858
|
||||
|
||||
charset IBM862 IBM862
|
||||
package sun.nio.cs
|
||||
@@ -1241,6 +1243,16 @@ charset x-IBM1124 IBM1124
|
||||
alias ibm-1124
|
||||
alias 1124
|
||||
|
||||
charset x-IBM1129 IBM1129
|
||||
package sun.nio.cs.ext
|
||||
type sbcs
|
||||
hisname Cp1129
|
||||
ascii false
|
||||
alias cp1129 # JDK historical
|
||||
alias ibm1129
|
||||
alias ibm-1129
|
||||
alias 1129
|
||||
|
||||
charset x-IBM1364 IBM1364
|
||||
package sun.nio.cs.ext
|
||||
type ebcdic
|
||||
@@ -1379,6 +1391,7 @@ charset x-IBM833 IBM833
|
||||
alias cp833
|
||||
alias ibm833
|
||||
alias ibm-833
|
||||
alias 833
|
||||
|
||||
|
||||
charset x-IBM834 IBM834 # EBCDIC DBCS-only Korean
|
||||
@@ -1544,12 +1557,22 @@ charset x-IBM970 IBM970
|
||||
|
||||
charset x-IBM964 IBM964
|
||||
package sun.nio.cs.ext
|
||||
type source
|
||||
type template
|
||||
alias cp964 # JDK historical
|
||||
alias ibm964
|
||||
alias ibm-964
|
||||
alias ibm-euctw
|
||||
alias 964
|
||||
|
||||
charset x-IBM29626C IBM29626C
|
||||
package sun.nio.cs.ext
|
||||
type template
|
||||
alias cp29626c # JDK historical
|
||||
alias ibm29626c
|
||||
alias ibm-29626c
|
||||
alias 29626c
|
||||
alias ibm-eucjp
|
||||
|
||||
charset x-IBM33722 IBM33722
|
||||
package sun.nio.cs.ext
|
||||
type source
|
||||
@@ -1570,6 +1593,8 @@ charset IBM01140 IBM1140
|
||||
alias cp01140
|
||||
alias 1140
|
||||
alias ebcdic-us-037+euro
|
||||
alias ibm1140
|
||||
alias ibm-1140
|
||||
|
||||
charset IBM01141 IBM1141
|
||||
package sun.nio.cs.ext
|
||||
@@ -1581,6 +1606,8 @@ charset IBM01141 IBM1141
|
||||
alias cp01141
|
||||
alias 1141
|
||||
alias ebcdic-de-273+euro
|
||||
alias ibm1141
|
||||
alias ibm-1141
|
||||
|
||||
charset IBM01142 IBM1142
|
||||
package sun.nio.cs.ext
|
||||
@@ -1593,6 +1620,8 @@ charset IBM01142 IBM1142
|
||||
alias 1142
|
||||
alias ebcdic-no-277+euro
|
||||
alias ebcdic-dk-277+euro
|
||||
alias ibm1142
|
||||
alias ibm-1142
|
||||
|
||||
charset IBM01143 IBM1143
|
||||
package sun.nio.cs.ext
|
||||
@@ -1605,6 +1634,8 @@ charset IBM01143 IBM1143
|
||||
alias 1143
|
||||
alias ebcdic-fi-278+euro
|
||||
alias ebcdic-se-278+euro
|
||||
alias ibm1143
|
||||
alias ibm-1143
|
||||
|
||||
charset IBM01144 IBM1144
|
||||
package sun.nio.cs.ext
|
||||
@@ -1616,6 +1647,8 @@ charset IBM01144 IBM1144
|
||||
alias cp01144
|
||||
alias 1144
|
||||
alias ebcdic-it-280+euro
|
||||
alias ibm1144
|
||||
alias ibm-1144
|
||||
|
||||
charset IBM01145 IBM1145
|
||||
package sun.nio.cs.ext
|
||||
@@ -1627,6 +1660,8 @@ charset IBM01145 IBM1145
|
||||
alias cp01145
|
||||
alias 1145
|
||||
alias ebcdic-es-284+euro
|
||||
alias ibm1145
|
||||
alias ibm-1145
|
||||
|
||||
charset IBM01146 IBM1146
|
||||
package sun.nio.cs.ext
|
||||
@@ -1638,6 +1673,8 @@ charset IBM01146 IBM1146
|
||||
alias cp01146
|
||||
alias 1146
|
||||
alias ebcdic-gb-285+euro
|
||||
alias ibm1146
|
||||
alias ibm-1146
|
||||
|
||||
charset IBM01147 IBM1147
|
||||
package sun.nio.cs.ext
|
||||
@@ -1649,6 +1686,8 @@ charset IBM01147 IBM1147
|
||||
alias cp01147
|
||||
alias 1147
|
||||
alias ebcdic-fr-277+euro
|
||||
alias ibm1147
|
||||
alias ibm-1147
|
||||
|
||||
charset IBM01148 IBM1148
|
||||
package sun.nio.cs.ext
|
||||
@@ -1660,6 +1699,8 @@ charset IBM01148 IBM1148
|
||||
alias cp01148
|
||||
alias 1148
|
||||
alias ebcdic-international-500+euro
|
||||
alias ibm1148
|
||||
alias ibm-1148
|
||||
|
||||
charset IBM01149 IBM1149
|
||||
package sun.nio.cs.ext
|
||||
@@ -1671,6 +1712,8 @@ charset IBM01149 IBM1149
|
||||
alias cp01149
|
||||
alias 1149
|
||||
alias ebcdic-s-871+euro
|
||||
alias ibm1149
|
||||
alias ibm-1149
|
||||
|
||||
charset IBM290 IBM290
|
||||
package sun.nio.cs.ext
|
||||
@@ -1851,6 +1894,11 @@ charset x-JIS0212_MS5022X JIS_X_0212_MS5022X
|
||||
minmax 0x21 0x7e 0x21 0x7e
|
||||
internal true # "internal implementation
|
||||
|
||||
charset SimpleEUCEncoder SimpleEUCEncoder
|
||||
package sun.nio.cs.ext
|
||||
type template
|
||||
internal true
|
||||
|
||||
########################################################
|
||||
#
|
||||
# platform specific charsets, to be registered into spi
|
||||
|
||||
@@ -16,11 +16,18 @@ IBM942C
|
||||
IBM943
|
||||
IBM943C
|
||||
IBM950
|
||||
IBM964
|
||||
IBM970
|
||||
IBM1046
|
||||
IBM1124
|
||||
IBM1129
|
||||
IBM1383
|
||||
IBM29626C
|
||||
ISO_8859_6
|
||||
ISO_8859_8
|
||||
JIS_X_0201
|
||||
JIS_X_0208
|
||||
JIS_X_0212
|
||||
MS1252
|
||||
TIS_620
|
||||
SimpleEUCEncoder
|
||||
|
||||
@@ -32,7 +32,7 @@ formatVersion=3
|
||||
# Version of the currency code information in this class.
|
||||
# It is a serial number that accompanies with each amendment.
|
||||
|
||||
dataVersion=167
|
||||
dataVersion=169
|
||||
|
||||
# List of all valid ISO 4217 currency codes.
|
||||
# To ensure compatibility, do not remove codes.
|
||||
@@ -54,7 +54,7 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
|
||||
SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
|
||||
SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
|
||||
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
|
||||
UYU858-UZS860-VEB862-VEF937-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
|
||||
UYU858-UZS860-VEB862-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
|
||||
XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
|
||||
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
|
||||
ZWN942-ZWR935
|
||||
@@ -509,7 +509,7 @@ SR=SRD
|
||||
SJ=NOK
|
||||
# Sint Maarten (Dutch part)
|
||||
SX=ANG
|
||||
# SWAZILAND
|
||||
# ESWATINI
|
||||
SZ=SZL
|
||||
# SWEDEN
|
||||
SE=SEK
|
||||
@@ -564,7 +564,7 @@ UZ=UZS
|
||||
# VANUATU
|
||||
VU=VUV
|
||||
# VENEZUELA (BOLIVARIAN REPUBLIC OF)
|
||||
VE=VEF
|
||||
VE=VES
|
||||
# VIET NAM
|
||||
VN=VND
|
||||
# VIRGIN ISLANDS, BRITISH
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
File-Date: 2018-04-23
|
||||
File-Date: 2018-11-30
|
||||
%%
|
||||
Type: language
|
||||
Subtag: aa
|
||||
@@ -593,6 +593,7 @@ Suppress-Script: Latn
|
||||
Type: language
|
||||
Subtag: lg
|
||||
Description: Ganda
|
||||
Description: Luganda
|
||||
Added: 2005-10-16
|
||||
%%
|
||||
Type: language
|
||||
@@ -3351,7 +3352,7 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: aue
|
||||
Description: =/Kx'au//'ein
|
||||
Description: ǂKxʼauǁʼein
|
||||
Added: 2009-07-29
|
||||
Deprecated: 2015-02-12
|
||||
Preferred-Value: ktz
|
||||
@@ -9812,6 +9813,12 @@ Description: Dzùùngoo
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: dno
|
||||
Description: Ndrulo
|
||||
Description: Northern Lendu
|
||||
Added: 2018-10-28
|
||||
%%
|
||||
Type: language
|
||||
Subtag: dnr
|
||||
Description: Danaru
|
||||
Added: 2009-07-29
|
||||
@@ -10338,6 +10345,11 @@ Description: Dhuwaya
|
||||
Added: 2016-05-30
|
||||
%%
|
||||
Type: language
|
||||
Subtag: dwz
|
||||
Description: Dewas Rai
|
||||
Added: 2018-10-28
|
||||
%%
|
||||
Type: language
|
||||
Subtag: dya
|
||||
Description: Dyan
|
||||
Added: 2009-07-29
|
||||
@@ -12022,7 +12034,7 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: gfx
|
||||
Description: Mangetti Dune !Xung
|
||||
Description: Mangetti Dune ǃXung
|
||||
Added: 2012-08-12
|
||||
Deprecated: 2015-02-12
|
||||
Preferred-Value: vaj
|
||||
@@ -12328,7 +12340,6 @@ Macrolanguage: kpe
|
||||
Type: language
|
||||
Subtag: gku
|
||||
Description: ǂUngkue
|
||||
Description: =/Ungkue
|
||||
Added: 2015-02-12
|
||||
%%
|
||||
Type: language
|
||||
@@ -12523,7 +12534,6 @@ Added: 2018-03-08
|
||||
%%
|
||||
Type: language
|
||||
Subtag: gnk
|
||||
Description: //Gana
|
||||
Description: ǁGana
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -13156,7 +13166,6 @@ Added: 2005-10-16
|
||||
%%
|
||||
Type: language
|
||||
Subtag: gwj
|
||||
Description: /Gwi
|
||||
Description: ǀGwi
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -13489,7 +13498,6 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: hgm
|
||||
Description: Hai//om
|
||||
Description: Haiǁom
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -13833,7 +13841,6 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: hnh
|
||||
Description: //Ani
|
||||
Description: ǁAni
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -14113,7 +14120,6 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: huc
|
||||
Description: =/Hua
|
||||
Description: ǂHua
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -18425,7 +18431,6 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: ktz
|
||||
Description: Ju/'hoan
|
||||
Description: Juǀʼhoan
|
||||
Description: Juǀʼhoansi
|
||||
Added: 2009-07-29
|
||||
@@ -24926,7 +24931,6 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: ngh
|
||||
Description: N/u
|
||||
Description: Nǀu
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -25641,7 +25645,6 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: nmn
|
||||
Description: !Xóõ
|
||||
Description: ǃXóõ
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -27613,7 +27616,7 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: oun
|
||||
Description: !O!ung
|
||||
Description: ǃOǃung
|
||||
Added: 2009-07-29
|
||||
Deprecated: 2015-02-12
|
||||
Preferred-Value: vaj
|
||||
@@ -36667,7 +36670,6 @@ Added: 2005-10-16
|
||||
Type: language
|
||||
Subtag: vaj
|
||||
Description: Sekele
|
||||
Description: Northwestern !Kung
|
||||
Description: Northwestern ǃKung
|
||||
Description: Vasekele
|
||||
Added: 2009-07-29
|
||||
@@ -38299,7 +38301,6 @@ Added: 2005-10-16
|
||||
%%
|
||||
Type: language
|
||||
Subtag: xam
|
||||
Description: /Xam
|
||||
Description: ǀXam
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -38559,7 +38560,6 @@ Added: 2009-07-29
|
||||
%%
|
||||
Type: language
|
||||
Subtag: xeg
|
||||
Description: //Xegwi
|
||||
Description: ǁXegwi
|
||||
Added: 2009-07-29
|
||||
%%
|
||||
@@ -44036,6 +44036,11 @@ Description: Elbasan
|
||||
Added: 2010-08-16
|
||||
%%
|
||||
Type: script
|
||||
Subtag: Elym
|
||||
Description: Elymaic
|
||||
Added: 2018-10-28
|
||||
%%
|
||||
Type: script
|
||||
Subtag: Ethi
|
||||
Description: Ethiopic
|
||||
Description: Geʻez
|
||||
@@ -44432,6 +44437,11 @@ Description: Burmese
|
||||
Added: 2005-10-16
|
||||
%%
|
||||
Type: script
|
||||
Subtag: Nand
|
||||
Description: Nandinagari
|
||||
Added: 2018-10-28
|
||||
%%
|
||||
Type: script
|
||||
Subtag: Narb
|
||||
Description: Old North Arabian
|
||||
Description: Ancient North Arabian
|
||||
@@ -46032,6 +46042,8 @@ Added: 2005-10-16
|
||||
%%
|
||||
Type: region
|
||||
Subtag: SZ
|
||||
Description: Eswatini
|
||||
Description: eSwatini
|
||||
Description: Swaziland
|
||||
Added: 2005-10-16
|
||||
%%
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
Github: https://raw.githubusercontent.com/publicsuffix/list/2225db8d9f4a2a27ec697c883360632fa0c16261/public_suffix_list.dat
|
||||
Date: 2018-05-24
|
||||
Github: https://raw.githubusercontent.com/publicsuffix/list/ce0d1a5fba657e55adea3abde4b7f1e50636ff10/public_suffix_list.dat
|
||||
Date: 2019-01-28
|
||||
|
||||
@@ -381,8 +381,13 @@ gov.bm
|
||||
net.bm
|
||||
org.bm
|
||||
|
||||
// bn : https://en.wikipedia.org/wiki/.bn
|
||||
*.bn
|
||||
// bn : http://www.bnnic.bn/faqs
|
||||
bn
|
||||
com.bn
|
||||
edu.bn
|
||||
gov.bn
|
||||
net.bn
|
||||
org.bn
|
||||
|
||||
// bo : https://nic.bo/delegacion2015.php#h-1.10
|
||||
bo
|
||||
@@ -546,6 +551,7 @@ niteroi.br
|
||||
not.br
|
||||
ntr.br
|
||||
odo.br
|
||||
ong.br
|
||||
org.br
|
||||
osasco.br
|
||||
palmas.br
|
||||
@@ -1239,7 +1245,7 @@ tozsde.hu
|
||||
utazas.hu
|
||||
video.hu
|
||||
|
||||
// id : https://register.pandi.or.id/
|
||||
// id : https://pandi.id/en/domain/registration-requirements/
|
||||
id
|
||||
ac.id
|
||||
biz.id
|
||||
@@ -1250,6 +1256,7 @@ mil.id
|
||||
my.id
|
||||
net.id
|
||||
or.id
|
||||
ponpes.id
|
||||
sch.id
|
||||
web.id
|
||||
|
||||
@@ -1407,9 +1414,9 @@ taa.it
|
||||
tos.it
|
||||
toscana.it
|
||||
trentin-sud-tirol.it
|
||||
trentin-süd-tirol.it
|
||||
trentin-süd-tirol.it
|
||||
trentin-sudtirol.it
|
||||
trentin-südtirol.it
|
||||
trentin-südtirol.it
|
||||
trentin-sued-tirol.it
|
||||
trentin-suedtirol.it
|
||||
trentino-a-adige.it
|
||||
@@ -1419,9 +1426,9 @@ trentino-altoadige.it
|
||||
trentino-s-tirol.it
|
||||
trentino-stirol.it
|
||||
trentino-sud-tirol.it
|
||||
trentino-süd-tirol.it
|
||||
trentino-süd-tirol.it
|
||||
trentino-sudtirol.it
|
||||
trentino-südtirol.it
|
||||
trentino-südtirol.it
|
||||
trentino-sued-tirol.it
|
||||
trentino-suedtirol.it
|
||||
trentino.it
|
||||
@@ -1432,15 +1439,15 @@ trentinoaltoadige.it
|
||||
trentinos-tirol.it
|
||||
trentinostirol.it
|
||||
trentinosud-tirol.it
|
||||
trentinosüd-tirol.it
|
||||
trentinosüd-tirol.it
|
||||
trentinosudtirol.it
|
||||
trentinosüdtirol.it
|
||||
trentinosüdtirol.it
|
||||
trentinosued-tirol.it
|
||||
trentinosuedtirol.it
|
||||
trentinsud-tirol.it
|
||||
trentinsüd-tirol.it
|
||||
trentinsüd-tirol.it
|
||||
trentinsudtirol.it
|
||||
trentinsüdtirol.it
|
||||
trentinsüdtirol.it
|
||||
trentinsued-tirol.it
|
||||
trentinsuedtirol.it
|
||||
tuscany.it
|
||||
@@ -1457,13 +1464,13 @@ valleaosta.it
|
||||
valled-aosta.it
|
||||
valledaosta.it
|
||||
vallee-aoste.it
|
||||
vallée-aoste.it
|
||||
vallée-aoste.it
|
||||
vallee-d-aoste.it
|
||||
vallée-d-aoste.it
|
||||
vallée-d-aoste.it
|
||||
valleeaoste.it
|
||||
valléeaoste.it
|
||||
valléeaoste.it
|
||||
valleedaoste.it
|
||||
valléedaoste.it
|
||||
valléedaoste.it
|
||||
vao.it
|
||||
vda.it
|
||||
ven.it
|
||||
@@ -1497,7 +1504,7 @@ av.it
|
||||
avellino.it
|
||||
ba.it
|
||||
balsan-sudtirol.it
|
||||
balsan-südtirol.it
|
||||
balsan-südtirol.it
|
||||
balsan-suedtirol.it
|
||||
balsan.it
|
||||
bari.it
|
||||
@@ -1516,7 +1523,7 @@ bologna.it
|
||||
bolzano-altoadige.it
|
||||
bolzano.it
|
||||
bozen-sudtirol.it
|
||||
bozen-südtirol.it
|
||||
bozen-südtirol.it
|
||||
bozen-suedtirol.it
|
||||
bozen.it
|
||||
br.it
|
||||
@@ -1525,7 +1532,7 @@ brindisi.it
|
||||
bs.it
|
||||
bt.it
|
||||
bulsan-sudtirol.it
|
||||
bulsan-südtirol.it
|
||||
bulsan-südtirol.it
|
||||
bulsan-suedtirol.it
|
||||
bulsan.it
|
||||
bz.it
|
||||
@@ -1545,9 +1552,9 @@ catanzaro.it
|
||||
cb.it
|
||||
ce.it
|
||||
cesena-forli.it
|
||||
cesena-forlì.it
|
||||
cesena-forlì.it
|
||||
cesenaforli.it
|
||||
cesenaforlì.it
|
||||
cesenaforlì.it
|
||||
ch.it
|
||||
chieti.it
|
||||
ci.it
|
||||
@@ -1578,9 +1585,9 @@ florence.it
|
||||
fm.it
|
||||
foggia.it
|
||||
forli-cesena.it
|
||||
forlì-cesena.it
|
||||
forlì-cesena.it
|
||||
forlicesena.it
|
||||
forlìcesena.it
|
||||
forlìcesena.it
|
||||
fr.it
|
||||
frosinone.it
|
||||
ge.it
|
||||
@@ -1711,7 +1718,7 @@ sp.it
|
||||
sr.it
|
||||
ss.it
|
||||
suedtirol.it
|
||||
südtirol.it
|
||||
südtirol.it
|
||||
sv.it
|
||||
ta.it
|
||||
taranto.it
|
||||
@@ -3692,8 +3699,16 @@ jeonnam.kr
|
||||
seoul.kr
|
||||
ulsan.kr
|
||||
|
||||
// kw : https://en.wikipedia.org/wiki/.kw
|
||||
*.kw
|
||||
// kw : https://www.nic.kw/policies/
|
||||
// Confirmed by registry <nic.tech@citra.gov.kw>
|
||||
kw
|
||||
com.kw
|
||||
edu.kw
|
||||
emb.kw
|
||||
gov.kw
|
||||
ind.kw
|
||||
net.kw
|
||||
org.kw
|
||||
|
||||
// ky : http://www.icta.ky/da_ky_reg_dom.php
|
||||
// Confirmed by registry <kysupport@perimeterusa.com> 2008-06-17
|
||||
@@ -3775,10 +3790,18 @@ gov.lr
|
||||
org.lr
|
||||
net.lr
|
||||
|
||||
// ls : https://en.wikipedia.org/wiki/.ls
|
||||
// ls : http://www.nic.ls/
|
||||
// Confirmed by registry <lsadmin@nic.ls>
|
||||
ls
|
||||
ac.ls
|
||||
biz.ls
|
||||
co.ls
|
||||
edu.ls
|
||||
gov.ls
|
||||
info.ls
|
||||
net.ls
|
||||
org.ls
|
||||
sc.ls
|
||||
|
||||
// lt : https://en.wikipedia.org/wiki/.lt
|
||||
lt
|
||||
@@ -4636,9 +4659,6 @@ web.ni
|
||||
// ccTLD for the Netherlands
|
||||
nl
|
||||
|
||||
// BV.nl will be a registry for dutch BV's (besloten vennootschap)
|
||||
bv.nl
|
||||
|
||||
// no : http://www.norid.no/regelverk/index.en.html
|
||||
// The Norwegian registry has declined to notify us of updates. The web pages
|
||||
// referenced below are the official source of the data. There is also an
|
||||
@@ -8329,9 +8349,6 @@ golf
|
||||
// goo : 2014-12-18 NTT Resonant Inc.
|
||||
goo
|
||||
|
||||
// goodhands : 2015-07-31 Allstate Fire and Casualty Insurance Company
|
||||
goodhands
|
||||
|
||||
// goodyear : 2015-07-02 The Goodyear Tire & Rubber Company
|
||||
goodyear
|
||||
|
||||
@@ -8608,9 +8625,6 @@ itv
|
||||
// iveco : 2015-09-03 CNH Industrial N.V.
|
||||
iveco
|
||||
|
||||
// iwc : 2014-06-23 Richemont DNS Inc.
|
||||
iwc
|
||||
|
||||
// jaguar : 2014-11-13 Jaguar Land Rover Ltd
|
||||
jaguar
|
||||
|
||||
@@ -8635,9 +8649,6 @@ jewelry
|
||||
// jio : 2015-04-02 Reliance Industries Limited
|
||||
jio
|
||||
|
||||
// jlc : 2014-12-04 Richemont DNS Inc.
|
||||
jlc
|
||||
|
||||
// jll : 2015-04-02 Jones Lang LaSalle Incorporated
|
||||
jll
|
||||
|
||||
@@ -8989,9 +9000,6 @@ men
|
||||
// menu : 2013-09-11 Wedding TLD2, LLC
|
||||
menu
|
||||
|
||||
// meo : 2014-11-07 MEO Servicos de Comunicacoes e Multimedia, S.A.
|
||||
meo
|
||||
|
||||
// merckmsd : 2016-07-14 MSD Registry Holdings, Inc.
|
||||
merckmsd
|
||||
|
||||
@@ -9283,9 +9291,6 @@ page
|
||||
// panasonic : 2015-07-30 Panasonic Corporation
|
||||
panasonic
|
||||
|
||||
// panerai : 2014-11-07 Richemont DNS Inc.
|
||||
panerai
|
||||
|
||||
// paris : 2014-01-30 City of Paris
|
||||
paris
|
||||
|
||||
@@ -9634,9 +9639,6 @@ sanofi
|
||||
// sap : 2014-03-27 SAP AG
|
||||
sap
|
||||
|
||||
// sapo : 2014-11-07 MEO Servicos de Comunicacoes e Multimedia, S.A.
|
||||
sapo
|
||||
|
||||
// sarl : 2014-07-03 Binky Moon, LLC
|
||||
sarl
|
||||
|
||||
@@ -9877,9 +9879,6 @@ statebank
|
||||
// statefarm : 2015-07-30 State Farm Mutual Automobile Insurance Company
|
||||
statefarm
|
||||
|
||||
// statoil : 2014-12-04 Statoil ASA
|
||||
statoil
|
||||
|
||||
// stc : 2014-10-09 Saudi Telecom Company
|
||||
stc
|
||||
|
||||
@@ -9991,9 +9990,6 @@ tech
|
||||
// technology : 2013-09-13 Binky Moon, LLC
|
||||
technology
|
||||
|
||||
// telecity : 2015-02-19 TelecityGroup International Limited
|
||||
telecity
|
||||
|
||||
// telefonica : 2014-10-16 Telefónica S.A.
|
||||
telefonica
|
||||
|
||||
@@ -10201,9 +10197,6 @@ visa
|
||||
// vision : 2013-12-05 Binky Moon, LLC
|
||||
vision
|
||||
|
||||
// vista : 2014-09-18 Vistaprint Limited
|
||||
vista
|
||||
|
||||
// vistaprint : 2014-09-18 Vistaprint Limited
|
||||
vistaprint
|
||||
|
||||
@@ -10642,9 +10635,6 @@ vermögensberatung
|
||||
// xn--zfr164b : 2013-11-08 China Organizational Name Administration Center
|
||||
政务
|
||||
|
||||
// xperia : 2015-05-14 Sony Mobile Communications AB
|
||||
xperia
|
||||
|
||||
// xyz : 2013-12-05 XYZ.COM LLC
|
||||
xyz
|
||||
|
||||
@@ -10737,6 +10727,7 @@ us-east-1.amazonaws.com
|
||||
// Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
|
||||
// Submitted by Luke Wells <psl-maintainers@amazon.com>
|
||||
cn-north-1.eb.amazonaws.com.cn
|
||||
cn-northwest-1.eb.amazonaws.com.cn
|
||||
elasticbeanstalk.com
|
||||
ap-northeast-1.elasticbeanstalk.com
|
||||
ap-northeast-2.elasticbeanstalk.com
|
||||
@@ -10823,6 +10814,10 @@ s3-website.us-east-2.amazonaws.com
|
||||
t3l3p0rt.net
|
||||
tele.amune.org
|
||||
|
||||
// Apigee : https://apigee.com/
|
||||
// Submitted by Apigee Security Team <security@apigee.com>
|
||||
apigee.io
|
||||
|
||||
// Aptible : https://www.aptible.com/
|
||||
// Submitted by Thomas Orozco <thomas@aptible.com>
|
||||
on-aptible.com
|
||||
@@ -10842,6 +10837,11 @@ 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
|
||||
wpcomstaging.com
|
||||
|
||||
// AVM : https://avm.de
|
||||
// Submitted by Andreas Weise <a.weise@avm.de>
|
||||
myfritz.net
|
||||
@@ -10888,6 +10888,11 @@ square7.net
|
||||
// Submitted by Dave Tharp <browsersafetymark.io@quicinc.com>
|
||||
browsersafetymark.io
|
||||
|
||||
// Bytemark Hosting : https://www.bytemark.co.uk
|
||||
// Submitted by Paul Cammish <paul.cammish@bytemark.co.uk>
|
||||
dh.bytemark.co.uk
|
||||
vm.bytemark.co.uk
|
||||
|
||||
// callidomus : https://www.callidomus.com/
|
||||
// Submitted by Marcus Popp <admin@callidomus.com>
|
||||
mycd.eu
|
||||
@@ -11080,6 +11085,11 @@ firm.dk
|
||||
reg.dk
|
||||
store.dk
|
||||
|
||||
// dapps.earth : https://dapps.earth/
|
||||
// Submitted by Daniil Burdakov <icqkill@gmail.com>
|
||||
*.dapps.earth
|
||||
*.bzz.dapps.earth
|
||||
|
||||
// Debian : https://www.debian.org/
|
||||
// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
|
||||
debian.net
|
||||
@@ -11092,6 +11102,11 @@ dedyn.io
|
||||
// Submitted by Norbert Auler <mail@dnshome.de>
|
||||
dnshome.de
|
||||
|
||||
// DotArai : https://www.dotarai.com/
|
||||
// Submitted by Atsadawat Netcharadsang <atsadawat@dotarai.co.th>
|
||||
online.th
|
||||
shop.th
|
||||
|
||||
// DrayTek Corp. : https://www.draytek.com/
|
||||
// Submitted by Paul Fang <mis@draytek.com>
|
||||
drayddns.com
|
||||
@@ -11648,6 +11663,10 @@ cloud.fedoraproject.org
|
||||
app.os.fedoraproject.org
|
||||
app.os.stg.fedoraproject.org
|
||||
|
||||
// Fermax : https://fermax.com/
|
||||
// submitted by Koen Van Isterdael <k.vanisterdael@fermax.be>
|
||||
mydobiss.com
|
||||
|
||||
// Filegear Inc. : https://www.filegear.com
|
||||
// Submitted by Jason Zhu <jason@owtware.com>
|
||||
filegear.me
|
||||
@@ -11713,6 +11732,8 @@ goip.de
|
||||
|
||||
// Google, Inc.
|
||||
// Submitted by Eduardo Vela <evn@google.com>
|
||||
run.app
|
||||
a.run.app
|
||||
*.0emm.com
|
||||
appspot.com
|
||||
blogspot.ae
|
||||
@@ -11918,6 +11939,12 @@ git-repos.de
|
||||
lcube-server.de
|
||||
svn-repos.de
|
||||
|
||||
// Leadpages : https://www.leadpages.net
|
||||
// Submitted by Greg Dallavalle <domains@leadpages.net>
|
||||
leadpages.co
|
||||
lpages.co
|
||||
lpusercontent.com
|
||||
|
||||
// Lightmaker Property Manager, Inc. : https://app.lmpm.com/
|
||||
// Submitted by Greg Holland <greg.holland@lmpm.com>
|
||||
app.lmpm.com
|
||||
@@ -11935,6 +11962,15 @@ linkyard-cloud.ch
|
||||
// Submitted by Victor Velchev <admin@liquidnetlimited.com>
|
||||
we.bs
|
||||
|
||||
// LubMAN UMCS Sp. z o.o : https://lubman.pl/
|
||||
// Submitted by Ireneusz Maliszewski <ireneusz.maliszewski@lubman.pl>
|
||||
krasnik.pl
|
||||
leczna.pl
|
||||
lubartow.pl
|
||||
lublin.pl
|
||||
poniatowa.pl
|
||||
swidnik.pl
|
||||
|
||||
// Lug.org.uk : https://lug.org.uk
|
||||
// Submitted by Jon Spriggs <admin@lug.org.uk>
|
||||
uklugs.org
|
||||
@@ -12322,6 +12358,10 @@ protonet.io
|
||||
chirurgiens-dentistes-en-france.fr
|
||||
byen.site
|
||||
|
||||
// Redstar Consultants : https://www.redstarconsultants.com/
|
||||
// Submitted by Jons Slemmer <jons@redstarconsultants.com>
|
||||
instantcloud.cn
|
||||
|
||||
// Russian Academy of Sciences
|
||||
// Submitted by Tech Support <support@rasnet.ru>
|
||||
ras.ru
|
||||
@@ -12350,6 +12390,10 @@ vaporcloud.io
|
||||
rackmaze.com
|
||||
rackmaze.net
|
||||
|
||||
// Read The Docs, Inc : https://www.readthedocs.org
|
||||
// Submitted by David Fischer <team@readthedocs.org>
|
||||
readthedocs.io
|
||||
|
||||
// Red Hat, Inc. OpenShift : https://openshift.redhat.com/
|
||||
// Submitted by Tim Kramer <tkramer@rhcloud.com>
|
||||
rhcloud.com
|
||||
@@ -12426,6 +12470,10 @@ applinzi.com
|
||||
sinaapp.com
|
||||
vipsinaapp.com
|
||||
|
||||
// Siteleaf : https://www.siteleaf.com/
|
||||
// Submitted by Skylar Challand <support@siteleaf.com>
|
||||
siteleaf.net
|
||||
|
||||
// Skyhat : http://www.skyhat.io
|
||||
// Submitted by Shante Adam <shante@skyhat.io>
|
||||
bounty-full.com
|
||||
@@ -12451,10 +12499,6 @@ spacekit.io
|
||||
// Submitted by Stefan Neufeind <info@speedpartner.de>
|
||||
customer.speedpartner.de
|
||||
|
||||
// Stackspace : https://www.stackspace.io/
|
||||
// Submitted by Lina He <info@stackspace.io>
|
||||
stackspace.space
|
||||
|
||||
// Storj Labs Inc. : https://storj.io/
|
||||
// Submitted by Philip Hutchins <hostmaster@storj.io>
|
||||
storj.farm
|
||||
@@ -12495,6 +12539,12 @@ gdynia.pl
|
||||
med.pl
|
||||
sopot.pl
|
||||
|
||||
// Telebit : https://telebit.cloud
|
||||
// Submitted by AJ ONeal <aj@telebit.cloud>
|
||||
telebit.app
|
||||
telebit.io
|
||||
*.telebit.xyz
|
||||
|
||||
// The Gwiddle Foundation : https://gwiddlefoundation.org.uk
|
||||
// Submitted by Joshua Bayfield <joshua.bayfield@gwiddlefoundation.org.uk>
|
||||
gwiddle.co.uk
|
||||
@@ -12533,7 +12583,7 @@ lima-city.rocks
|
||||
webspace.rocks
|
||||
lima.zone
|
||||
|
||||
// TransIP : htts://www.transip.nl
|
||||
// TransIP : https://www.transip.nl
|
||||
// Submitted by Rory Breuk <rbreuk@transip.nl>
|
||||
*.transurl.be
|
||||
*.transurl.eu
|
||||
|
||||
@@ -21,4 +21,4 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
tzdata2018e
|
||||
tzdata2018g
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for Africa and environs
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -29,7 +31,7 @@
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (2017-04-09):
|
||||
# From Paul Eggert (2018-05-27):
|
||||
#
|
||||
# Unless otherwise specified, the source for data through 1990 is:
|
||||
# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
|
||||
@@ -74,13 +76,15 @@
|
||||
# I vaguely recall 'WAT' also being used for -01 in the past but
|
||||
# cannot now come up with solid citations.
|
||||
#
|
||||
# I invented the following abbreviations; corrections are welcome!
|
||||
# +02 WAST West Africa Summer Time (no longer used)
|
||||
# +03 CAST Central Africa Summer Time (no longer used)
|
||||
# +03 SAST South Africa Summer Time (no longer used)
|
||||
# I invented the following abbreviations in the 1990s:
|
||||
# +02 WAST West Africa Summer Time
|
||||
# +03 CAST Central Africa Summer Time
|
||||
# +03 SAST South Africa Summer Time
|
||||
# +03 EAT East Africa Time
|
||||
# 'EAT' also seems to have caught on; the others are rare but are paired
|
||||
# with better-attested non-DST abbreviations.
|
||||
# 'EAT' seems to have caught on and is in current timestamps, and though
|
||||
# the other abbreviations are rarer and are only in past timestamps,
|
||||
# they are paired with better-attested non-DST abbreviations.
|
||||
# Corrections are welcome.
|
||||
|
||||
# Algeria
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
@@ -385,6 +389,13 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
|
||||
# Eritrea
|
||||
# Ethiopia
|
||||
# See Africa/Nairobi.
|
||||
#
|
||||
# Unfortunately tzdb records only Western clock time in use in Ethiopia,
|
||||
# as the tzdb format is not up to properly recording a common Ethiopian
|
||||
# timekeeping practice that is based on solar time. See:
|
||||
# Mortada D. If you have a meeting in Ethiopia, you'd better double
|
||||
# check the time. PRI's The World. 2015-01-30 15:15 -05.
|
||||
# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time
|
||||
|
||||
# Gabon
|
||||
# See Africa/Lagos.
|
||||
@@ -856,94 +867,61 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
||||
# <https://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/> agrees
|
||||
# with the patch.
|
||||
|
||||
# From Paul Eggert (2015-06-08):
|
||||
# For now, guess that later spring and fall transitions will use 2015's rules,
|
||||
# and guess that Morocco will switch to standard time at 03:00 the last
|
||||
# Sunday before Ramadan, and back to DST at 02:00 the first Sunday after
|
||||
# Ramadan. To implement this, transition dates for 2016 through 2037 were
|
||||
# determined by running the following program under GNU Emacs 24.3, with the
|
||||
# results integrated by hand into the table below.
|
||||
# (let ((islamic-year 1437))
|
||||
# (require 'cal-islam)
|
||||
# (while (< islamic-year 1460)
|
||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
||||
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
|
||||
# (sunday 0))
|
||||
# (while (/= sunday (mod (setq a (1- a)) 7)))
|
||||
# (while (/= sunday (mod b 7))
|
||||
# (setq b (1+ b)))
|
||||
# (setq a (calendar-gregorian-from-absolute a))
|
||||
# (setq b (calendar-gregorian-from-absolute b))
|
||||
# (insert
|
||||
# (format
|
||||
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 3:00\t0\t-\n"
|
||||
# "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 2:00\t1:00\tS\n")
|
||||
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
|
||||
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
|
||||
# (setq islamic-year (+ 1 islamic-year))))
|
||||
# From Mohamed Essedik Najd (2018-10-26):
|
||||
# Today, a Moroccan government council approved the perpetual addition
|
||||
# of 60 minutes to the regular Moroccan timezone.
|
||||
# From Brian Inglis (2018-10-26):
|
||||
# http://www.maroc.ma/fr/actualites/le-conseil-de-gouvernement-adopte-un-projet-de-decret-relatif-lheure-legale-stipulant-le
|
||||
|
||||
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
|
||||
Rule Morocco 1939 only - Sep 12 0:00 1:00 S
|
||||
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
|
||||
Rule Morocco 1939 only - Nov 19 0:00 0 -
|
||||
Rule Morocco 1940 only - Feb 25 0:00 1:00 S
|
||||
Rule Morocco 1940 only - Feb 25 0:00 1:00 -
|
||||
Rule Morocco 1945 only - Nov 18 0:00 0 -
|
||||
Rule Morocco 1950 only - Jun 11 0:00 1:00 S
|
||||
Rule Morocco 1950 only - Jun 11 0:00 1:00 -
|
||||
Rule Morocco 1950 only - Oct 29 0:00 0 -
|
||||
Rule Morocco 1967 only - Jun 3 12:00 1:00 S
|
||||
Rule Morocco 1967 only - Jun 3 12:00 1:00 -
|
||||
Rule Morocco 1967 only - Oct 1 0:00 0 -
|
||||
Rule Morocco 1974 only - Jun 24 0:00 1:00 S
|
||||
Rule Morocco 1974 only - Jun 24 0:00 1:00 -
|
||||
Rule Morocco 1974 only - Sep 1 0:00 0 -
|
||||
Rule Morocco 1976 1977 - May 1 0:00 1:00 S
|
||||
Rule Morocco 1976 1977 - May 1 0:00 1:00 -
|
||||
Rule Morocco 1976 only - Aug 1 0:00 0 -
|
||||
Rule Morocco 1977 only - Sep 28 0:00 0 -
|
||||
Rule Morocco 1978 only - Jun 1 0:00 1:00 S
|
||||
Rule Morocco 1978 only - Jun 1 0:00 1:00 -
|
||||
Rule Morocco 1978 only - Aug 4 0:00 0 -
|
||||
Rule Morocco 2008 only - Jun 1 0:00 1:00 S
|
||||
Rule Morocco 2008 only - Jun 1 0:00 1:00 -
|
||||
Rule Morocco 2008 only - Sep 1 0:00 0 -
|
||||
Rule Morocco 2009 only - Jun 1 0:00 1:00 S
|
||||
Rule Morocco 2009 only - Jun 1 0:00 1:00 -
|
||||
Rule Morocco 2009 only - Aug 21 0:00 0 -
|
||||
Rule Morocco 2010 only - May 2 0:00 1:00 S
|
||||
Rule Morocco 2010 only - May 2 0:00 1:00 -
|
||||
Rule Morocco 2010 only - Aug 8 0:00 0 -
|
||||
Rule Morocco 2011 only - Apr 3 0:00 1:00 S
|
||||
Rule Morocco 2011 only - Apr 3 0:00 1:00 -
|
||||
Rule Morocco 2011 only - Jul 31 0:00 0 -
|
||||
Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 S
|
||||
Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 -
|
||||
Rule Morocco 2012 only - Jul 20 3:00 0 -
|
||||
Rule Morocco 2012 only - Aug 20 2:00 1:00 S
|
||||
Rule Morocco 2012 only - Aug 20 2:00 1:00 -
|
||||
Rule Morocco 2012 only - Sep 30 3:00 0 -
|
||||
Rule Morocco 2013 only - Jul 7 3:00 0 -
|
||||
Rule Morocco 2013 only - Aug 10 2:00 1:00 S
|
||||
Rule Morocco 2013 max - Oct lastSun 3:00 0 -
|
||||
Rule Morocco 2014 2021 - Mar lastSun 2:00 1:00 S
|
||||
Rule Morocco 2013 only - Aug 10 2:00 1:00 -
|
||||
Rule Morocco 2013 2018 - Oct lastSun 3:00 0 -
|
||||
Rule Morocco 2014 2018 - Mar lastSun 2:00 1:00 -
|
||||
Rule Morocco 2014 only - Jun 28 3:00 0 -
|
||||
Rule Morocco 2014 only - Aug 2 2:00 1:00 S
|
||||
Rule Morocco 2014 only - Aug 2 2:00 1:00 -
|
||||
Rule Morocco 2015 only - Jun 14 3:00 0 -
|
||||
Rule Morocco 2015 only - Jul 19 2:00 1:00 S
|
||||
Rule Morocco 2015 only - Jul 19 2:00 1:00 -
|
||||
Rule Morocco 2016 only - Jun 5 3:00 0 -
|
||||
Rule Morocco 2016 only - Jul 10 2:00 1:00 S
|
||||
Rule Morocco 2016 only - Jul 10 2:00 1:00 -
|
||||
Rule Morocco 2017 only - May 21 3:00 0 -
|
||||
Rule Morocco 2017 only - Jul 2 2:00 1:00 S
|
||||
Rule Morocco 2017 only - Jul 2 2:00 1:00 -
|
||||
Rule Morocco 2018 only - May 13 3:00 0 -
|
||||
Rule Morocco 2018 only - Jun 17 2:00 1:00 S
|
||||
Rule Morocco 2019 only - May 5 3:00 0 -
|
||||
Rule Morocco 2019 only - Jun 9 2:00 1:00 S
|
||||
Rule Morocco 2020 only - Apr 19 3:00 0 -
|
||||
Rule Morocco 2020 only - May 24 2:00 1:00 S
|
||||
Rule Morocco 2021 only - Apr 11 3:00 0 -
|
||||
Rule Morocco 2021 only - May 16 2:00 1:00 S
|
||||
Rule Morocco 2022 only - May 8 2:00 1:00 S
|
||||
Rule Morocco 2023 only - Apr 23 2:00 1:00 S
|
||||
Rule Morocco 2024 only - Apr 14 2:00 1:00 S
|
||||
Rule Morocco 2025 only - Apr 6 2:00 1:00 S
|
||||
Rule Morocco 2026 max - Mar lastSun 2:00 1:00 S
|
||||
Rule Morocco 2036 only - Oct 19 3:00 0 -
|
||||
Rule Morocco 2037 only - Oct 4 3:00 0 -
|
||||
Rule Morocco 2018 only - Jun 17 2:00 1:00 -
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
|
||||
0:00 Morocco WE%sT 1984 Mar 16
|
||||
1:00 - CET 1986
|
||||
0:00 Morocco WE%sT
|
||||
0:00 Morocco +00/+01 1984 Mar 16
|
||||
1:00 - +01 1986
|
||||
0:00 Morocco +00/+01 2018 Oct 27
|
||||
1:00 - +01
|
||||
|
||||
# Western Sahara
|
||||
#
|
||||
@@ -958,7 +936,8 @@ Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
|
||||
|
||||
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
|
||||
-1:00 - -01 1976 Apr 14
|
||||
0:00 Morocco WE%sT
|
||||
0:00 Morocco +00/+01 2018 Oct 27
|
||||
1:00 - +01
|
||||
|
||||
# Mozambique
|
||||
#
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for Antarctica and environs
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for Asia and environs
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -29,7 +31,7 @@
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (2017-01-13):
|
||||
# From Paul Eggert (2018-06-19):
|
||||
#
|
||||
# Unless otherwise specified, the source for data through 1990 is:
|
||||
# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
|
||||
@@ -58,7 +60,8 @@
|
||||
# A reliable and entertaining source about time zones is
|
||||
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
|
||||
#
|
||||
# The following alphabetic abbreviations appear in these tables:
|
||||
# The following alphabetic abbreviations appear in these tables
|
||||
# (corrections are welcome):
|
||||
# std dst
|
||||
# LMT Local Mean Time
|
||||
# 2:00 EET EEST Eastern European Time
|
||||
@@ -67,11 +70,13 @@
|
||||
# 7:00 WIB west Indonesia (Waktu Indonesia Barat)
|
||||
# 8:00 WITA central Indonesia (Waktu Indonesia Tengah)
|
||||
# 8:00 CST China
|
||||
# 8:00 PST PDT* Philippine Standard Time
|
||||
# 8:30 KST KDT Korea when at +0830
|
||||
# 9:00 WIT east Indonesia (Waktu Indonesia Timur)
|
||||
# 9:00 JST JDT Japan
|
||||
# 9:00 KST KDT Korea when at +09
|
||||
# 9:30 ACST Australian Central Standard Time
|
||||
# *I invented the abbreviation PDT; see "Philippines" below.
|
||||
# Otherwise, these tables typically use numeric abbreviations like +03
|
||||
# and +0330 for integer hour and minute UT offsets. Although earlier
|
||||
# editions invented alphabetic time zone abbreviations for every
|
||||
@@ -304,6 +309,29 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
|
||||
|
||||
# China
|
||||
|
||||
# From Paul Eggert (2018-10-02):
|
||||
# The following comes from Table 1 of:
|
||||
# Li Yu. Research on the daylight saving movement in 1940s Shanghai.
|
||||
# Nanjing Journal of Social Sciences. 2014;(2):144-50.
|
||||
# http://oversea.cnki.net/kns55/detail.aspx?dbname=CJFD2014&filename=NJSH201402020
|
||||
# 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.
|
||||
#
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Shang 1940 only - Jun 1 0:00 1:00 D
|
||||
Rule Shang 1940 only - Oct 12 24:00 0 S
|
||||
Rule Shang 1941 only - Mar 15 0:00 1:00 D
|
||||
Rule Shang 1941 only - Nov 1 24:00 0 S
|
||||
Rule Shang 1942 only - Jan 31 0:00 1:00 D
|
||||
Rule Shang 1945 only - Sep 1 24:00 0 S
|
||||
Rule Shang 1946 only - May 15 0:00 1:00 D
|
||||
Rule Shang 1946 only - Sep 30 24:00 0 S
|
||||
Rule Shang 1947 only - Apr 15 0:00 1:00 D
|
||||
Rule Shang 1947 only - Oct 31 24:00 0 S
|
||||
Rule Shang 1948 1949 - May 1 0:00 1:00 D
|
||||
Rule Shang 1948 1949 - Sep 30 24:00 0 S #plan
|
||||
|
||||
# From Guy Harris:
|
||||
# People's Republic of China. Yes, they really have only one time zone.
|
||||
|
||||
@@ -330,18 +358,33 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
|
||||
# time - sort of", Los Angeles Times, 1986-05-05 ... [says] that China began
|
||||
# observing daylight saving time in 1986.
|
||||
|
||||
# From Paul Eggert (2014-06-30):
|
||||
# Shanks & Pottenger have China switching to a single time zone in 1980, but
|
||||
# this doesn't seem to be correct. They also write that China observed summer
|
||||
# DST from 1986 through 1991, which seems to match the above commentary, so
|
||||
# go with them for DST rules as follows:
|
||||
# From P Chan (2018-05-07):
|
||||
# The start and end time of DST in China [from 1986 on] should be 2:00
|
||||
# (i.e. 2:00 to 3:00 at the start and 2:00 to 1:00 at the end)....
|
||||
# Government notices about summer time:
|
||||
#
|
||||
# 1986-04-12 http://www.zj.gov.cn/attach/zfgb/198608.pdf p.21-22
|
||||
# (To establish summer time from 1986. On 4 May, set the clocks ahead one hour
|
||||
# at 2 am. On 14 September, set the clocks backward one hour at 2 am.)
|
||||
#
|
||||
# 1987-02-15 http://www.gov.cn/gongbao/shuju/1987/gwyb198703.pdf p.114
|
||||
# (Summer time in 1987 to start from 12 April until 13 September)
|
||||
#
|
||||
# 1987-09-09 http://www.gov.cn/gongbao/shuju/1987/gwyb198721.pdf p.709
|
||||
# (From 1988, summer time to start from 2 am of the first Sunday of mid-April
|
||||
# until 2 am of the first Sunday of mid-September)
|
||||
#
|
||||
# 1992-03-03 http://www.gov.cn/gongbao/shuju/1992/gwyb199205.pdf p.152
|
||||
# (To suspend summer time from 1992)
|
||||
#
|
||||
# The first page of People's Daily on 12 April 1988 stating that summer time
|
||||
# to begin on 17 April.
|
||||
# http://data.people.com.cn/pic/101p/1988/04/1988041201.jpg
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Shang 1940 only - Jun 3 0:00 1:00 D
|
||||
Rule Shang 1940 1941 - Oct 1 0:00 0 S
|
||||
Rule Shang 1941 only - Mar 16 0:00 1:00 D
|
||||
Rule PRC 1986 only - May 4 0:00 1:00 D
|
||||
Rule PRC 1986 1991 - Sep Sun>=11 0:00 0 S
|
||||
Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:00 D
|
||||
Rule PRC 1986 only - May 4 2:00 1:00 D
|
||||
Rule PRC 1986 1991 - Sep Sun>=11 2:00 0 S
|
||||
Rule PRC 1987 1991 - Apr Sun>=11 2:00 1:00 D
|
||||
|
||||
# From Anthony Fok (2001-12-20):
|
||||
# BTW, I did some research on-line and found some info regarding these five
|
||||
@@ -363,10 +406,11 @@ Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:00 D
|
||||
# Alois Treindl kindly sent me translations of the following two sources:
|
||||
#
|
||||
# (1)
|
||||
# Guo Qingsheng (National Time-Service Center, CAS, Xi'an 710600, China)
|
||||
# Guo Qing-sheng (National Time-Service Center, CAS, Xi'an 710600, China)
|
||||
# Beijing Time at the Beginning of the PRC
|
||||
# China Historical Materials of Science and Technology
|
||||
# (Zhongguo ke ji shi liao, 中国科技史料), Vol. 24, No. 1 (2003)
|
||||
# (Zhongguo ke ji shi liao, 中国科技史料). 2003;24(1):5-9.
|
||||
# http://oversea.cnki.net/kcms/detail/detail.aspx?filename=ZGKS200301000&dbname=CJFD2003
|
||||
# It gives evidence that at the beginning of the PRC, Beijing time was
|
||||
# officially apparent solar time! However, Guo also says that the
|
||||
# evidence is dubious, as the relevant institute of astronomy had not
|
||||
@@ -543,7 +587,7 @@ Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:00 D
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
# Beijing time, used throughout China; represented by Shanghai.
|
||||
Zone Asia/Shanghai 8:05:43 - LMT 1901
|
||||
8:00 Shang C%sT 1949
|
||||
8:00 Shang C%sT 1949 May 28
|
||||
8:00 PRC C%sT
|
||||
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
|
||||
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
|
||||
@@ -772,24 +816,140 @@ Zone Asia/Taipei 8:06:00 - LMT 1896 Jan 1
|
||||
8:00 Taiwan C%sT
|
||||
|
||||
# Macau (Macao, Aomen)
|
||||
#
|
||||
# From P Chan (2018-05-10):
|
||||
# * LegisMac
|
||||
# http://legismac.safp.gov.mo/legismac/descqry/Descqry.jsf?lang=pt
|
||||
# A database for searching titles of legal documents of Macau in
|
||||
# Chinese and Portuguese. The term "HORÁRIO DE VERÃO" can be used for
|
||||
# searching decrees about summer time.
|
||||
# * Archives of Macao
|
||||
# http://www.archives.gov.mo/en/bo/
|
||||
# It contains images of old official gazettes.
|
||||
# * The Macao Meteorological and Geophysical Bureau have a page listing the
|
||||
# summer time history. But it is not complete and has some mistakes.
|
||||
# http://www.smg.gov.mo/smg/geophysics/e_t_Summer%20Time.htm
|
||||
# Macau adopted GMT+8 on 30 Oct 1904 to follow Hong Kong. Clocks were
|
||||
# advanced by 25 minutes and 50 seconds. Which means the LMT used was
|
||||
# +7:34:10. As stated in the "Portaria No. 204" dated 21 October 1904
|
||||
# and published in the Official Gazette on 29 October 1904.
|
||||
# http://igallery.icm.gov.mo/Images/Archives/BO/MO_AH_PUB_BO_1904_10/MO_AH_PUB_BO_1904_10_00025_Grey.JPG
|
||||
#
|
||||
# Therefore the 1911 decree of Portugal did not change time in Macau.
|
||||
#
|
||||
# From LegisMac, here is a list of decrees that changed the time ...
|
||||
# [Decree Gazette-no. date; titles omitted in this quotation]
|
||||
# DIL 732 BOCM 51 1941.12.20
|
||||
# DIL 764 BOCM 9S 1942.04.30
|
||||
# DIL 781 BOCM 21 1942.10.10
|
||||
# PT 3434 BOCM 8S 1943.04.17
|
||||
# PT 3504 BOCM 20 1943.09.25
|
||||
# PT 3843 BOCM 39 1945.09.29
|
||||
# PT 3961 BOCM 17 1946.04.27
|
||||
# PT 4026 BOCM 39 1946.09.28
|
||||
# PT 4153 BOCM 16 1947.04.10
|
||||
# PT 4271 BOCM 48 1947.11.29
|
||||
# PT 4374 BOCM 18 1948.05.01
|
||||
# PT 4465 BOCM 44 1948.10.30
|
||||
# PT 4590 BOCM 14 1949.04.02
|
||||
# PT 4666 BOCM 44 1949.10.29
|
||||
# PT 4771 BOCM 12 1950.03.25
|
||||
# PT 4838 BOCM 43 1950.10.28
|
||||
# PT 4946 BOCM 12 1951.03.24
|
||||
# PT 5025 BO 43 1951.10.27
|
||||
# PT 5149 BO 14 1952.04.05
|
||||
# PT 5251 BO 43 1952.10.25
|
||||
# PT 5366 BO 13 1953.03.28
|
||||
# PT 5444 BO 44 1953.10.31
|
||||
# PT 5540 BO 12 1954.03.20
|
||||
# PT 5589 BO 44 1954.10.30
|
||||
# PT 5676 BO 12 1955.03.19
|
||||
# PT 5739 BO 45 1955.11.05
|
||||
# PT 5823 BO 11 1956.03.17
|
||||
# PT 5891 BO 44 1956.11.03
|
||||
# PT 5981 BO 12 1957.03.23
|
||||
# PT 6064 BO 43 1957.10.26
|
||||
# PT 6172 BO 12 1958.03.22
|
||||
# PT 6243 BO 43 1958.10.25
|
||||
# PT 6341 BO 12 1959.03.21
|
||||
# PT 6411 BO 43 1959.10.24
|
||||
# PT 6514 BO 11 1960.03.12
|
||||
# PT 6584 BO 44 1960.10.29
|
||||
# PT 6721 BO 10 1961.03.11
|
||||
# PT 6815 BO 43 1961.10.28
|
||||
# PT 6947 BO 10 1962.03.10
|
||||
# PT 7080 BO 43 1962.10.27
|
||||
# PT 7218 BO 12 1963.03.23
|
||||
# PT 7340 BO 43 1963.10.26
|
||||
# PT 7491 BO 11 1964.03.14
|
||||
# PT 7664 BO 43 1964.10.24
|
||||
# PT 7846 BO 15 1965.04.10
|
||||
# PT 7979 BO 42 1965.10.16
|
||||
# PT 8146 BO 15 1966.04.09
|
||||
# PT 8252 BO 41 1966.10.08
|
||||
# PT 8429 BO 15 1967.04.15
|
||||
# PT 8540 BO 41 1967.10.14
|
||||
# PT 8735 BO 15 1968.04.13
|
||||
# PT 8860 BO 41 1968.10.12
|
||||
# PT 9035 BO 16 1969.04.19
|
||||
# PT 9156 BO 42 1969.10.18
|
||||
# PT 9328 BO 15 1970.04.11
|
||||
# PT 9418 BO 41 1970.10.10
|
||||
# PT 9587 BO 14 1971.04.03
|
||||
# PT 9702 BO 41 1971.10.09
|
||||
# PT 38-A/72 BO 14 1972.04.01
|
||||
# PT 126-A/72 BO 41 1972.10.07
|
||||
# PT 61/73 BO 14 1973.04.07
|
||||
# PT 182/73 BO 40 1973.10.06
|
||||
# PT 282/73 BO 51 1973.12.22
|
||||
# PT 177/74 BO 41 1974.10.12
|
||||
# PT 51/75 BO 15 1975.04.12
|
||||
# PT 173/75 BO 41 1975.10.11
|
||||
# PT 67/76/M BO 14 1976.04.03
|
||||
# PT 169/76/M BO 41 1976.10.09
|
||||
# PT 78/79/M BO 19 1979.05.12
|
||||
# PT 166/79/M BO 42 1979.10.20
|
||||
# Note that DIL 732 does not belong to "HORÁRIO DE VERÃO" according to
|
||||
# LegisMac.... Note that between 1942 and 1945, the time switched
|
||||
# between GMT+9 and GMT+10. Also in 1965 and 1965 the DST ended at 2:30am.
|
||||
|
||||
# From Paul Eggert (2018-05-10):
|
||||
# The 1904 decree says that Macau changed from the meridian of
|
||||
# Fortaleza do Monte, presumably the basis for the 7:34:10 for LMT.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Macau 1961 1962 - Mar Sun>=16 3:30 1:00 D
|
||||
Rule Macau 1961 1964 - Nov Sun>=1 3:30 0 S
|
||||
Rule Macau 1963 only - Mar Sun>=16 0:00 1:00 D
|
||||
Rule Macau 1964 only - Mar Sun>=16 3:30 1:00 D
|
||||
Rule Macau 1965 only - Mar Sun>=16 0:00 1:00 D
|
||||
Rule Macau 1965 only - Oct 31 0:00 0 S
|
||||
Rule Macau 1966 1971 - Apr Sun>=16 3:30 1:00 D
|
||||
Rule Macau 1966 1971 - Oct Sun>=16 3:30 0 S
|
||||
Rule Macau 1972 1974 - Apr Sun>=15 0:00 1:00 D
|
||||
Rule Macau 1972 1973 - Oct Sun>=15 0:00 0 S
|
||||
Rule Macau 1974 1977 - Oct Sun>=15 3:30 0 S
|
||||
Rule Macau 1975 1977 - Apr Sun>=15 3:30 1:00 D
|
||||
Rule Macau 1978 1980 - Apr Sun>=15 0:00 1:00 D
|
||||
Rule Macau 1978 1980 - Oct Sun>=15 0:00 0 S
|
||||
# See Europe/Lisbon for info about the 1912 transition.
|
||||
Rule Macau 1942 1943 - Apr 30 23:00 1:00 -
|
||||
Rule Macau 1942 only - Nov 17 23:00 0 -
|
||||
Rule Macau 1943 only - Sep 30 23:00 0 S
|
||||
Rule Macau 1946 only - Apr 30 23:00s 1:00 D
|
||||
Rule Macau 1946 only - Sep 30 23:00s 0 S
|
||||
Rule Macau 1947 only - Apr 19 23:00s 1:00 D
|
||||
Rule Macau 1947 only - Nov 30 23:00s 0 S
|
||||
Rule Macau 1948 only - May 2 23:00s 1:00 D
|
||||
Rule Macau 1948 only - Oct 31 23:00s 0 S
|
||||
Rule Macau 1949 1950 - Apr Sat>=1 23:00s 1:00 D
|
||||
Rule Macau 1949 1950 - Oct lastSat 23:00s 0 S
|
||||
Rule Macau 1951 only - Mar 31 23:00s 1:00 D
|
||||
Rule Macau 1951 only - Oct 28 23:00s 0 S
|
||||
Rule Macau 1952 1953 - Apr Sat>=1 23:00s 1:00 D
|
||||
Rule Macau 1952 only - Nov 1 23:00s 0 S
|
||||
Rule Macau 1953 1954 - Oct lastSat 23:00s 0 S
|
||||
Rule Macau 1954 1956 - Mar Sat>=17 23:00s 1:00 D
|
||||
Rule Macau 1955 only - Nov 5 23:00s 0 S
|
||||
Rule Macau 1956 1964 - Nov Sun>=1 03:30 0 S
|
||||
Rule Macau 1957 1964 - Mar Sun>=18 03:30 1:00 D
|
||||
Rule Macau 1965 1973 - Apr Sun>=16 03:30 1:00 D
|
||||
Rule Macau 1965 1966 - Oct Sun>=16 02:30 0 S
|
||||
Rule Macau 1967 1976 - Oct Sun>=16 03:30 0 S
|
||||
Rule Macau 1973 only - Dec 30 03:30 1:00 D
|
||||
Rule Macau 1975 1976 - Apr Sun>=16 03:30 1:00 D
|
||||
Rule Macau 1979 only - May 13 03:30 1:00 D
|
||||
Rule Macau 1979 only - Oct Sun>=16 03:30 0 S
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Macau 7:34:20 - LMT 1911 Dec 31 16:00u
|
||||
Zone Asia/Macau 7:34:10 - LMT 1904 Oct 30
|
||||
8:00 - CST 1941 Dec 21 23:00
|
||||
9:00 Macau +09/+10 1945 Sep 30 24:00
|
||||
8:00 Macau C%sT
|
||||
|
||||
|
||||
@@ -1494,9 +1654,29 @@ Zone Asia/Jerusalem 2:20:54 - LMT 1880
|
||||
# http://www.shugiin.go.jp/internet/itdb_housei.nsf/html/houritsu/00719500331039.htm
|
||||
# ... In summary, it is written as follows. From 24:00 on the first Saturday
|
||||
# in May, until 0:00 on the day after the second Saturday in September.
|
||||
|
||||
# From Phake Nick (2018-09-27):
|
||||
# [T]he webpage authored by National Astronomical Observatory of Japan
|
||||
# https://eco.mtk.nao.ac.jp/koyomi/wiki/BBFEB9EF2FB2C6BBFEB9EF.html
|
||||
# ... mentioned that using Showa 23 (year 1948) as example, 13pm of September
|
||||
# 11 in summer time will equal to 0am of September 12 in standard time.
|
||||
# It cited a document issued by the Liaison Office which briefly existed
|
||||
# during the postwar period of Japan, where the detail on implementation
|
||||
# of the summer time is described in the document.
|
||||
# https://eco.mtk.nao.ac.jp/koyomi/wiki/BBFEB9EF2FB2C6BBFEB9EFB2C6BBFEB9EFA4CEBCC2BBDCA4CBA4C4A4A4A4C6.pdf
|
||||
# The text in the document do instruct a fall back to occur at
|
||||
# September 11, 13pm in summer time, while ordinary citizens can
|
||||
# change the clock before they sleep.
|
||||
#
|
||||
# From Paul Eggert (2018-09-27):
|
||||
# This instruction is equivalent to "Sat>=8 25:00", so use that. zic treats
|
||||
# it like "Sun>=9 01:00", which is not quite the same but is the best we can
|
||||
# do in any POSIX or C platform. The "25:00" assumes zic from 2007 or later,
|
||||
# which should be safe now.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Japan 1948 only - May Sat>=1 24:00 1:00 D
|
||||
Rule Japan 1948 1951 - Sep Sun>=9 0:00 0 S
|
||||
Rule Japan 1948 1951 - Sep Sun>=9 1: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
|
||||
|
||||
@@ -1878,7 +2058,7 @@ Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
|
||||
5:00 - +05
|
||||
# Mangghystaū (KZ-MAN)
|
||||
# Aqtau was not founded until 1963, but it represents an inhabited region,
|
||||
# so include time stamps before 1963.
|
||||
# so include timestamps before 1963.
|
||||
Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
|
||||
4:00 - +04 1930 Jun 21
|
||||
5:00 - +05 1981 Oct 1
|
||||
@@ -2018,6 +2198,10 @@ Rule ROK 1987 1988 - Oct Sun>=8 3:00 0 S
|
||||
# Assembly, as published in Rodong Sinmun.
|
||||
# From Tim Parenti (2018-04-29):
|
||||
# It appears to be the front page story at the top in the right-most column.
|
||||
#
|
||||
# From Paul Eggert (2018-05-04):
|
||||
# The BBC reported that the transition was from 23:30 to 24:00 today.
|
||||
# https://www.bbc.com/news/world-asia-44010705
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Seoul 8:27:52 - LMT 1908 Apr 1
|
||||
@@ -2030,7 +2214,7 @@ Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1
|
||||
8:30 - KST 1912 Jan 1
|
||||
9:00 - JST 1945 Aug 24
|
||||
9:00 - KST 2015 Aug 15 00:00
|
||||
8:30 - KST 2018 May 5
|
||||
8:30 - KST 2018 May 4 23:30
|
||||
9:00 - KST
|
||||
|
||||
###############################################################################
|
||||
@@ -2780,19 +2964,35 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
|
||||
# Philippine Star 2014-08-05
|
||||
# http://www.philstar.com/headlines/2014/08/05/1354152/pnoy-urged-declare-use-daylight-saving-time
|
||||
|
||||
# From Paul Goyette (2018-06-15):
|
||||
# In the Philippines, there is a national law, Republic Act No. 10535
|
||||
# which declares the official time here as "Philippine Standard Time".
|
||||
# The act [1] even specifies use of PST as the abbreviation, although
|
||||
# the FAQ provided by PAGASA [2] uses the "acronym PhST to distinguish
|
||||
# it from the Pacific Standard Time (PST)."
|
||||
# [1] http://www.officialgazette.gov.ph/2013/05/15/republic-act-no-10535/
|
||||
# [2] https://www1.pagasa.dost.gov.ph/index.php/astronomy/philippine-standard-time#republic-act-10535
|
||||
#
|
||||
# From Paul Eggert (2018-06-19):
|
||||
# I surveyed recent news reports, and my impression is that "PST" is
|
||||
# more popular among reliable English-language news sources. This is
|
||||
# not just a measure of Google hit counts: it's also the sizes and
|
||||
# influence of the sources. There is no current abbreviation for DST,
|
||||
# so use "PDT", the usual American style.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Phil 1936 only - Nov 1 0:00 1:00 -
|
||||
Rule Phil 1937 only - Feb 1 0:00 0 -
|
||||
Rule Phil 1954 only - Apr 12 0:00 1:00 -
|
||||
Rule Phil 1954 only - Jul 1 0:00 0 -
|
||||
Rule Phil 1978 only - Mar 22 0:00 1:00 -
|
||||
Rule Phil 1978 only - Sep 21 0:00 0 -
|
||||
Rule Phil 1936 only - Nov 1 0:00 1:00 D
|
||||
Rule Phil 1937 only - Feb 1 0:00 0 S
|
||||
Rule Phil 1954 only - Apr 12 0:00 1:00 D
|
||||
Rule Phil 1954 only - Jul 1 0:00 0 S
|
||||
Rule Phil 1978 only - Mar 22 0:00 1:00 D
|
||||
Rule Phil 1978 only - Sep 21 0:00 0 S
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
|
||||
8:04:00 - LMT 1899 May 11
|
||||
8:00 Phil +08/+09 1942 May
|
||||
9:00 - +09 1944 Nov
|
||||
8:00 Phil +08/+09
|
||||
8:00 Phil P%sT 1942 May
|
||||
9:00 - JST 1944 Nov
|
||||
8:00 Phil P%sT
|
||||
|
||||
# Qatar
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -2803,15 +3003,34 @@ Link Asia/Qatar Asia/Bahrain
|
||||
|
||||
# Saudi Arabia
|
||||
#
|
||||
# From Paul Eggert (2014-07-15):
|
||||
# From Paul Eggert (2018-08-29):
|
||||
# Time in Saudi Arabia and other countries in the Arabian peninsula was not
|
||||
# standardized until relatively recently; we don't know when, and possibly it
|
||||
# standardized until 1968 or so; we don't know exactly when, and possibly it
|
||||
# has never been made official. Richard P Hunt, in "Islam city yielding to
|
||||
# modern times", New York Times (1961-04-09), p 20, wrote that only airlines
|
||||
# observed standard time, and that people in Jeddah mostly observed quasi-solar
|
||||
# time, doing so by setting their watches at sunrise to 6 o'clock (or to 12
|
||||
# o'clock for "Arab" time).
|
||||
#
|
||||
# Timekeeping differed depending on who you were and which part of Saudi
|
||||
# Arabia you were in. In 1969, Elias Antar wrote that although a common
|
||||
# practice had been to set one's watch to 12:00 (i.e., midnight) at sunset -
|
||||
# which meant that the time on one side of a mountain could differ greatly from
|
||||
# the time on the other side - many foreigners set their watches to 6pm
|
||||
# instead, while airlines instead used UTC +03 (except in Dhahran, where they
|
||||
# used UTC +04), Aramco used UTC +03 with DST, and the Trans-Arabian Pipe Line
|
||||
# Company used Aramco time in eastern Saudi Arabia and airline time in western.
|
||||
# (The American Military Aid Advisory Group used plain UTC.) Antar writes,
|
||||
# "A man named Higgins, so the story goes, used to run a local power
|
||||
# station. One day, the whole thing became too much for Higgins and he
|
||||
# assembled his staff and laid down the law. 'I've had enough of this,' he
|
||||
# shrieked. 'It is now 12 o'clock Higgins Time, and from now on this station is
|
||||
# going to run on Higgins Time.' And so, until last year, it did." See:
|
||||
# Antar E. Dinner at When? Saudi Aramco World, 1969 March/April. 2-3.
|
||||
# http://archive.aramcoworld.com/issue/196902/dinner.at.when.htm
|
||||
# newspapers.com says a similar story about Higgins was published in the Port
|
||||
# Angeles (WA) Evening News, 1965-03-10, page 5, but I lack access to the text.
|
||||
#
|
||||
# The TZ database cannot represent quasi-solar time; airline time is the best
|
||||
# we can do. The 1946 foreign air news digest of the U.S. Civil Aeronautics
|
||||
# Board (OCLC 42299995) reported that the "... Arabian Government, inaugurated
|
||||
@@ -2821,7 +3040,8 @@ Link Asia/Qatar Asia/Bahrain
|
||||
#
|
||||
# Shanks & Pottenger also state that until 1968-05-01 Saudi Arabia had two
|
||||
# time zones; the other zone, at UT +04, was in the far eastern part of
|
||||
# the country. Ignore this, as it's before our 1970 cutoff.
|
||||
# the country. Presumably this is documenting airline time. Ignore this,
|
||||
# as it's before our 1970 cutoff.
|
||||
#
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for Australasia and environs, and for much of the Pacific
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -384,8 +386,15 @@ Zone Indian/Cocos 6:27:40 - LMT 1900
|
||||
# Dominic Fok writes (2017-08-20) that DST ends 2018-01-14, citing
|
||||
# Extraordinary Government of Fiji Gazette Supplement No. 21 (2017-08-27),
|
||||
# [Legal Notice No. 41] of an order of the previous day by J Usamate.
|
||||
|
||||
# From Raymond Kumar (2018-07-13):
|
||||
# http://www.fijitimes.com/government-approves-2018-daylight-saving/
|
||||
# ... The daylight saving period will end at 3am on Sunday January 13, 2019.
|
||||
#
|
||||
# From Paul Eggert (2018-07-15):
|
||||
# For now, guess DST from 02:00 the first Sunday in November to 03:00
|
||||
# the first Sunday on or after January 14. Although ad hoc, it matches
|
||||
# the first Sunday on or after January 13. January transitions reportedly
|
||||
# depend on when school terms start. Although the guess is ad hoc, it matches
|
||||
# transitions since late 2014 and seems more likely to match future
|
||||
# practice than guessing no DST.
|
||||
|
||||
@@ -399,7 +408,7 @@ Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
|
||||
Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
|
||||
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
|
||||
Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 -
|
||||
Rule Fiji 2015 max - Jan Sun>=14 3:00 0 -
|
||||
Rule Fiji 2015 max - Jan Sun>=13 3:00 0 -
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
|
||||
12:00 Fiji +12/+13
|
||||
|
||||
@@ -21,10 +21,12 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb links for backward compatibility
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# This file provides links between current names for time zones
|
||||
# This file provides links between current names for timezones
|
||||
# and their old names. Many names changed in late 1993.
|
||||
|
||||
# Link TARGET LINK-NAME
|
||||
|
||||
@@ -21,12 +21,14 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for ships at sea and other miscellany
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# These entries are mostly present for historical reasons, so that
|
||||
# people in areas not otherwise covered by the tz files could "zic -l"
|
||||
# to a time zone that was right for their area. These days, the
|
||||
# to a timezone that was right for their area. These days, the
|
||||
# tz files cover almost all the inhabited world, and the only practical
|
||||
# need now for the entries that are not on UTC are for ships at sea
|
||||
# that cannot use POSIX TZ settings.
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for Europe and environs
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -540,7 +542,7 @@ Link Europe/London Europe/Isle_of_Man
|
||||
#
|
||||
# To work around this problem, the build procedure can translate the
|
||||
# following data into two forms, one with negative SAVE values and the
|
||||
# other form with a traditional approximation for Irish time stamps
|
||||
# other form with a traditional approximation for Irish timestamps
|
||||
# after 1971-10-31 02:00 UTC; although this approximation has tm_isdst
|
||||
# flags that are reversed, its UTC offsets are correct and this often
|
||||
# suffices. This source file currently uses only nonnegative SAVE
|
||||
@@ -2450,6 +2452,33 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
|
||||
# administratively part of Sakhalin oblast', they appear to have
|
||||
# remained on UTC+11 along with Magadan.
|
||||
|
||||
# From Marat Nigametzianov (2018-07-16):
|
||||
# this is link to order from 1956 about timezone in USSR
|
||||
# http://astro.uni-altai.ru/~orion/blog/2011/11/novyie-granitsyi-chasovyih-poyasov-v-sssr/
|
||||
#
|
||||
# From Paul Eggert (2018-07-16):
|
||||
# Perhaps someone could translate the above-mentioned link and use it
|
||||
# to correct our data for the ex-Soviet Union. It cites the following:
|
||||
# «Поясное время и новые границы часовых поясов» / сост. П.Н. Долгов,
|
||||
# отв. ред. Г.Д. Бурдун - М: Комитет стандартов, мер и измерительных
|
||||
# приборов при Совете Министров СССР, Междуведомственная комиссия
|
||||
# единой службы времени, 1956 г.
|
||||
# This book looks like it would be a helpful resource for the Soviet
|
||||
# Union through 1956. Although a copy was in the Scientific Library
|
||||
# of Tomsk State University, I have not been able to track down a copy nearby.
|
||||
#
|
||||
# From Stepan Golosunov (2018-07-21):
|
||||
# http://astro.uni-altai.ru/~orion/blog/2015/05/center-reforma-ischisleniya-vremeni-br-na-territorii-sssr-v-1957-godu-center/
|
||||
# says that the 1956 decision to change time belts' borders was not
|
||||
# implemented as planned in 1956 and the change happened in 1957.
|
||||
# There is also the problem that actual time zones were different from
|
||||
# the official time belts (and from many time belts' maps) as there were
|
||||
# numerous exceptions to application of time belt rules. For example,
|
||||
# https://ru.wikipedia.org/wiki/Московское_время#Перемещение_границы_применения_московского_времени_на_восток
|
||||
# says that by 1962 there were many regions in the 3rd time belt that
|
||||
# were on Moscow time, referring to a 1962 map. By 1989 number of such
|
||||
# exceptions grew considerably.
|
||||
|
||||
# From Tim Parenti (2014-07-06):
|
||||
# The comments detailing the coverage of each Russian zone are meant to assist
|
||||
# with maintenance only and represent our best guesses as to which regions
|
||||
@@ -2460,9 +2489,6 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
|
||||
# future stability. ISO 3166-2:RU codes are also listed for first-level
|
||||
# divisions where available.
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
|
||||
|
||||
# From Tim Parenti (2014-07-03):
|
||||
# Europe/Kaliningrad covers...
|
||||
# 39 RU-KGD Kaliningrad Oblast
|
||||
@@ -2730,6 +2756,15 @@ Zone Europe/Astrakhan 3:12:12 - LMT 1924 May
|
||||
# 34 RU-VGG Volgograd Oblast
|
||||
# The 1988 transition is from USSR act No. 5 (1988-01-04).
|
||||
|
||||
# From Alexander Fetisov (2018-09-20):
|
||||
# Volgograd region in southern Russia (Europe/Volgograd) change
|
||||
# timezone from UTC+3 to UTC+4 from 28oct2018.
|
||||
# http://sozd.parliament.gov.ru/bill/452878-7
|
||||
#
|
||||
# From Stepan Golosunov (2018-10-11):
|
||||
# The law has been published today on
|
||||
# http://publication.pravo.gov.ru/Document/View/0001201810110037
|
||||
|
||||
Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
|
||||
3:00 - +03 1930 Jun 21
|
||||
4:00 - +04 1961 Nov 11
|
||||
@@ -2738,7 +2773,8 @@ Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
|
||||
4:00 - +04 1992 Mar 29 2:00s
|
||||
3:00 Russia +03/+04 2011 Mar 27 2:00s
|
||||
4:00 - +04 2014 Oct 26 2:00s
|
||||
3:00 - +03
|
||||
3:00 - +03 2018 Oct 28 2:00s
|
||||
4:00 - +04
|
||||
|
||||
# From Paul Eggert (2016-11-11):
|
||||
# Europe/Saratov covers:
|
||||
@@ -3427,7 +3463,8 @@ Rule Spain 1978 only - Oct 1 2:00s 0 -
|
||||
#Rule NatSpain 1937 only - May 22 23:00 1:00 S
|
||||
#Rule NatSpain 1937 1938 - Oct Sat>=1 24:00s 0 -
|
||||
#Rule NatSpain 1938 only - Mar 26 23:00 1:00 S
|
||||
# The following rules are copied from Morocco from 1967 through 1978.
|
||||
# The following rules are copied from Morocco from 1967 through 1978,
|
||||
# except with "S" letters.
|
||||
Rule SpainAfrica 1967 only - Jun 3 12:00 1:00 S
|
||||
Rule SpainAfrica 1967 only - Oct 1 0:00 0 -
|
||||
Rule SpainAfrica 1974 only - Jun 24 0:00 1:00 S
|
||||
@@ -3447,6 +3484,7 @@ Zone Africa/Ceuta -0:21:16 - LMT 1900 Dec 31 23:38:44
|
||||
0:00 1:00 WEST 1918 Oct 7 23:00
|
||||
0:00 - WET 1924
|
||||
0:00 Spain WE%sT 1929
|
||||
0:00 - WET 1967 # Help zishrink.awk.
|
||||
0:00 SpainAfrica WE%sT 1984 Mar 16
|
||||
1:00 - CET 1986
|
||||
1:00 EU CE%sT
|
||||
@@ -3632,7 +3670,7 @@ Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.
|
||||
# http://www.resmigazete.gov.tr/eskiler/2001/03/20010324.htm#2 - for 2001
|
||||
# http://www.resmigazete.gov.tr/eskiler/2002/03/20020316.htm#2 - for 2002-2006
|
||||
# From Paul Eggert (2016-09-25):
|
||||
# Prefer the above sources to Shanks & Pottenger for time stamps after 1985.
|
||||
# Prefer the above sources to Shanks & Pottenger for timestamps after 1985.
|
||||
|
||||
# From Steffen Thorsen (2007-03-09):
|
||||
# Starting 2007 though, it seems that they are adopting EU's 1:00 UTC
|
||||
@@ -3842,10 +3880,29 @@ Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
|
||||
# * Ukrainian Government's Resolution of 20.03.1992, No. 139.
|
||||
# http://www.uazakon.com/documents/date_8u/pg_grcasa.htm
|
||||
|
||||
# From Paul Eggert (2018-10-03):
|
||||
# As is usual in tzdb, Ukrainian zones use the most common English spellings.
|
||||
# For example, tzdb uses Europe/Kiev, as "Kiev" is the most common spelling in
|
||||
# English for Ukraine's capital, even though it is certainly wrong as a
|
||||
# transliteration of the Ukrainian "Київ". This is similar to tzdb's use of
|
||||
# Europe/Prague, which is certainly wrong as a transliteration of the Czech
|
||||
# "Praha". ("Kiev" came from old Slavic via Russian to English, and "Prague"
|
||||
# came from old Slavic via French to English, so the two cases have something
|
||||
# in common.) Admittedly English-language spelling of Ukrainian names is
|
||||
# controversial, and some day "Kyiv" may become substantially more popular in
|
||||
# English; in the meantime, stick with the traditional English "Kiev" as that
|
||||
# means less disruption for our users.
|
||||
#
|
||||
# Anyway, none of the common English-language spellings (Kiev, Kyiv, Kieff,
|
||||
# Kijeff, Kijev, Kiyef, Kiyeff) do justice to the common pronunciation in
|
||||
# Ukrainian, namely [ˈkɪjiu̯] (IPA). This pronunciation has nothing like an
|
||||
# English "v" or "f", and instead trails off with what an English-speaker
|
||||
# would call a demure "oo" sound, and it would would be better anglicized as
|
||||
# "Kuiyu". Here's a sound file, if you would like to do as the Kuiyuvians do:
|
||||
# https://commons.wikimedia.org/wiki/File:Uk-Київ.ogg
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
# Most of Ukraine since 1970 has been like Kiev.
|
||||
# "Kyiv" is the transliteration of the Ukrainian name, but
|
||||
# "Kiev" is more common in English.
|
||||
# This represents most of Ukraine. See above for the spelling of "Kiev".
|
||||
Zone Europe/Kiev 2:02:04 - LMT 1880
|
||||
2:02:04 - KMT 1924 May 2 # Kiev Mean Time
|
||||
2:00 - EET 1930 Jun 21
|
||||
|
||||
@@ -21,11 +21,13 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for noncommittal factory settings
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# For distributors who don't want to put time zone specification in
|
||||
# their installation procedures. Users that run 'date' will get the
|
||||
# For distributors who don't want to specify a timezone in their
|
||||
# installation procedures. Users who run 'date' will get the
|
||||
# time zone abbreviation "-00", indicating that the actual time zone
|
||||
# is unknown.
|
||||
|
||||
|
||||
@@ -26,21 +26,25 @@
|
||||
# This file is in the public domain.
|
||||
|
||||
# This file is generated automatically from the data in the public-domain
|
||||
# leap-seconds.list file, which is copied from:
|
||||
# ftp://ftp.nist.gov/pub/time/leap-seconds.list
|
||||
# leap-seconds.list file, which can be copied from
|
||||
# <ftp://ftp.nist.gov/pub/time/leap-seconds.list>
|
||||
# or <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>
|
||||
# or <ftp://tycho.usno.navy.mil/pub/ntp/leap-seconds.list>.
|
||||
# For more about leap-seconds.list, please see
|
||||
# The NTP Timescale and Leap Seconds
|
||||
# https://www.eecis.udel.edu/~mills/leap.html
|
||||
# <https://www.eecis.udel.edu/~mills/leap.html>.
|
||||
|
||||
# The International Earth Rotation and Reference Systems Service
|
||||
# periodically uses leap seconds to keep UTC to within 0.9 s of UT1
|
||||
# (which measures the true angular orientation of the earth in space); see
|
||||
# Levine J. Coordinated Universal Time and the leap second.
|
||||
# (which measures the true angular orientation of the earth in space)
|
||||
# and publishes leap second data in a copyrighted file
|
||||
# <https://hpiers.obspm.fr/iers/bul/bulc/Leap_Second.dat>.
|
||||
# See: Levine J. Coordinated Universal Time and the leap second.
|
||||
# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995
|
||||
# http://ieeexplore.ieee.org/document/7909995/
|
||||
# <https://ieeexplore.ieee.org/document/7909995>.
|
||||
# There were no leap seconds before 1972, because the official mechanism
|
||||
# accounting for the discrepancy between atomic time and the earth's rotation
|
||||
# did not exist until the early 1970s.
|
||||
# did not exist.
|
||||
|
||||
# The correction (+ or -) is made at the given time, so lines
|
||||
# will typically look like:
|
||||
@@ -48,10 +52,7 @@
|
||||
# or
|
||||
# Leap YEAR MON DAY 23:59:59 - R/S
|
||||
|
||||
# If the leapsecond is Rolling (R) the given time is local time.
|
||||
# If the leapsecond is Stationary (S) the given time is UTC.
|
||||
|
||||
# Leap YEAR MONTH DAY HH:MM:SS CORR R/S
|
||||
# If the leap second is Rolling (R) the given time is local time (unused here).
|
||||
Leap 1972 Jun 30 23:59:60 + S
|
||||
Leap 1972 Dec 31 23:59:60 + S
|
||||
Leap 1973 Dec 31 23:59:60 + S
|
||||
@@ -80,5 +81,9 @@ Leap 2012 Jun 30 23:59:60 + S
|
||||
Leap 2015 Jun 30 23:59:60 + S
|
||||
Leap 2016 Dec 31 23:59:60 + S
|
||||
|
||||
# Updated through IERS Bulletin C55
|
||||
# File expires on: 28 December 2018
|
||||
# POSIX timestamps for the data in this file:
|
||||
#updated 1467936000
|
||||
#expires 1561680000
|
||||
|
||||
# Updated through IERS Bulletin C56
|
||||
# File expires on: 28 June 2019
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for North and Central America and environs
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -71,7 +73,7 @@
|
||||
#
|
||||
# Most of the US soon followed suit. See:
|
||||
# Bartky IR. The adoption of standard time. Technol Cult 1989 Jan;30(1):25-56.
|
||||
# http://dx.doi.org/10.2307/3105430
|
||||
# https://dx.doi.org/10.2307/3105430
|
||||
|
||||
# From Paul Eggert (2005-04-16):
|
||||
# That 1883 transition occurred at 12:00 new time, not at 12:00 old time.
|
||||
@@ -460,6 +462,19 @@ Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 12:12:53
|
||||
# western South Dakota, far western Texas (El Paso County, Hudspeth County,
|
||||
# and Pine Springs and Nickel Creek in Culberson County), Utah, Wyoming
|
||||
#
|
||||
# From Paul Eggert (2018-10-25):
|
||||
# On 1921-03-04 federal law placed all of Texas into the central time zone.
|
||||
# However, El Paso ignored the law for decades and continued to observe
|
||||
# mountain time, on the grounds that that's what they had always done
|
||||
# and they weren't about to let the federal government tell them what to do.
|
||||
# Eventually the federal government gave in and changed the law on
|
||||
# 1970-04-10 to match what El Paso was actually doing. Although
|
||||
# that's slightly after our 1970 cutoff, there is no need to create a
|
||||
# separate zone for El Paso since they were ignoring the law anyway. See:
|
||||
# Long T. El Pasoans were time rebels, fought to stay in Mountain zone.
|
||||
# El Paso Times. 2018-10-24 06:40 -06.
|
||||
# https://www.elpasotimes.com/story/news/local/el-paso/2018/10/24/el-pasoans-were-time-rebels-fought-stay-mountain-zone/1744509002/
|
||||
#
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
|
||||
Rule Denver 1920 1921 - Mar lastSun 2:00 1:00 D
|
||||
Rule Denver 1920 only - Oct lastSun 2:00 0 S
|
||||
@@ -729,9 +744,7 @@ Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35
|
||||
Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
|
||||
-10:30 - HST 1933 Apr 30 2:00
|
||||
-10:30 1:00 HDT 1933 May 21 12:00
|
||||
-10:30 - HST 1942 Feb 9 2:00
|
||||
-10:30 1:00 HDT 1945 Sep 30 2:00
|
||||
-10:30 - HST 1947 Jun 8 2:00
|
||||
-10:30 US H%sT 1947 Jun 8 2:00
|
||||
-10:00 - HST
|
||||
|
||||
# Now we turn to US areas that have diverged from the consensus since 1970.
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for proposed US election time (this file is obsolete)
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for South America and environs
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -415,7 +417,7 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1:00 -
|
||||
# standard time, so let's do that here too. This does not change UTC
|
||||
# offsets, only tm_isdst and the time zone abbreviations. One minor
|
||||
# plus is that this silences a zic complaint that there's no POSIX TZ
|
||||
# setting for time stamps past 2038.
|
||||
# setting for timestamps past 2038.
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
#
|
||||
@@ -948,6 +950,14 @@ Rule Brazil 2016 2022 - Feb Sun>=15 0:00 0 -
|
||||
# ... https://www.timeanddate.com/news/time/brazil-delays-dst-2018.html
|
||||
# From Steffen Thorsen (2017-12-20):
|
||||
# http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2017/decreto/D9242.htm
|
||||
#
|
||||
# From Fábio Gomes (2018-10-04):
|
||||
# The Brazilian president just announced a new change on this year DST.
|
||||
# It was scheduled to start on November 4th and it was changed to November 18th.
|
||||
# From Rodrigo Brüning Wessler (2018-10-15):
|
||||
# The Brazilian government just announced that the change in DST was
|
||||
# canceled.... Maybe the president Michel Temer also woke up one hour
|
||||
# earlier today. :)
|
||||
Rule Brazil 2018 max - Nov Sun>=1 0:00 1:00 -
|
||||
Rule Brazil 2023 only - Feb Sun>=22 0:00 0 -
|
||||
Rule Brazil 2024 2025 - Feb Sun>=15 0:00 0 -
|
||||
@@ -1254,6 +1264,24 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
|
||||
# they will switch from -03 to -04 one hour after Santiago does that day.
|
||||
# For now, assume that they will not revert.
|
||||
|
||||
# From Juan Correa (2018-08-13):
|
||||
# As of moments ago, the Ministry of Energy in Chile has announced the new
|
||||
# schema for DST. ... Announcement in video (in Spanish):
|
||||
# https://twitter.com/MinEnergia/status/1029000399129374720
|
||||
# From Yonathan Dossow (2018-08-13):
|
||||
# The video says "first Saturday of September", we all know it means Sunday at
|
||||
# midnight.
|
||||
# From Tim Parenti (2018-08-13):
|
||||
# Translating the captions on the video at 0:44-0:55, "We want to announce as
|
||||
# Government that from 2019, Winter Time will be increased to 5 months, between
|
||||
# the first Saturday of April and the first Saturday of September."
|
||||
# At 2:08-2:20, "The Magallanes region will maintain its current time, as
|
||||
# decided by the citizens during 2017, but our Government will promote a
|
||||
# regional dialogue table to gather their opinion on this matter."
|
||||
# https://twitter.com/MinEnergia/status/1029009354001973248
|
||||
# "We will keep the new time policy unchanged for at least the next 4 years."
|
||||
# So we extend the new rules on Saturdays at 24:00 mainland time indefinitely.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Chile 1927 1931 - Sep 1 0:00 1:00 -
|
||||
Rule Chile 1928 1932 - Apr 1 0:00 0 -
|
||||
@@ -1287,8 +1315,10 @@ Rule Chile 2011 only - May Sun>=2 3:00u 0 -
|
||||
Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 -
|
||||
Rule Chile 2012 2014 - Apr Sun>=23 3:00u 0 -
|
||||
Rule Chile 2012 2014 - Sep Sun>=2 4:00u 1:00 -
|
||||
Rule Chile 2016 max - May Sun>=9 3:00u 0 -
|
||||
Rule Chile 2016 max - Aug Sun>=9 4:00u 1:00 -
|
||||
Rule Chile 2016 2018 - May Sun>=9 3:00u 0 -
|
||||
Rule Chile 2016 2018 - Aug Sun>=9 4:00u 1:00 -
|
||||
Rule Chile 2019 max - Apr Sun>=2 3:00u 0 -
|
||||
Rule Chile 2019 max - Sep Sun>=2 4:00u 1:00 -
|
||||
# IATA SSIM anomalies: (1992-02) says 1992-03-14;
|
||||
# (1996-09) says 1998-03-08. Ignore these.
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tzdb data for System V rules (this file is obsolete)
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
# tz zone descriptions (deprecated version)
|
||||
# tzdb timezone descriptions (deprecated version)
|
||||
#
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
#
|
||||
# From Paul Eggert (2014-07-31):
|
||||
# From Paul Eggert (2018-06-27):
|
||||
# This file is intended as a backward-compatibility aid for older programs.
|
||||
# New programs should use zone1970.tab. This file is like zone1970.tab (see
|
||||
# zone1970.tab's comments), but with the following additional restrictions:
|
||||
@@ -35,13 +35,13 @@
|
||||
# 2. The first data column contains exactly one country code.
|
||||
#
|
||||
# Because of (2), each row stands for an area that is the intersection
|
||||
# of a region identified by a country code and of a zone where civil
|
||||
# of a region identified by a country code and of a timezone where civil
|
||||
# clocks have agreed since 1970; this is a narrower definition than
|
||||
# that of zone1970.tab.
|
||||
#
|
||||
# This table is intended as an aid for users, to help them select time
|
||||
# zone data entries appropriate for their practical needs. It is not
|
||||
# intended to take or endorse any position on legal or territorial claims.
|
||||
# This table is intended as an aid for users, to help them select timezones
|
||||
# appropriate for their practical needs. It is not intended to take or
|
||||
# endorse any position on legal or territorial claims.
|
||||
#
|
||||
#country-
|
||||
#code coordinates TZ comments
|
||||
@@ -291,7 +291,7 @@ MM +1647+09610 Asia/Yangon
|
||||
MN +4755+10653 Asia/Ulaanbaatar Mongolia (most areas)
|
||||
MN +4801+09139 Asia/Hovd Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan
|
||||
MN +4804+11430 Asia/Choibalsan Dornod, Sukhbaatar
|
||||
MO +2214+11335 Asia/Macau
|
||||
MO +221150+1133230 Asia/Macau
|
||||
MP +1512+14545 Pacific/Saipan
|
||||
MQ +1436-06105 America/Martinique
|
||||
MR +1806-01557 Africa/Nouakchott
|
||||
|
||||
@@ -11729,6 +11729,7 @@
|
||||
32FC;CIRCLED KATAKANA WI;So;0;L;<circle> 30F0;;;;N;;;;;
|
||||
32FD;CIRCLED KATAKANA WE;So;0;L;<circle> 30F1;;;;N;;;;;
|
||||
32FE;CIRCLED KATAKANA WO;So;0;L;<circle> 30F2;;;;N;;;;;
|
||||
32FF;SQUARE ERA NAME REIWA;So;0;L;<square> 4EE4 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME REIWA;;;;
|
||||
3300;SQUARE APAATO;So;0;L;<square> 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;;
|
||||
3301;SQUARE ARUHUA;So;0;L;<square> 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;;
|
||||
3302;SQUARE ANPEA;So;0;L;<square> 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;;
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
# By default this Makefile will build a native toolchain for the current
|
||||
# platform if called with something like this:
|
||||
#
|
||||
# make tars
|
||||
# make tars BASE_OS=OEL6
|
||||
#
|
||||
# To build the full set of crosstools for additional platforms, use a command
|
||||
# line looking like this:
|
||||
|
||||
@@ -110,6 +110,7 @@ RPM_LIST := \
|
||||
libXext libXext-devel \
|
||||
libXtst libXtst-devel \
|
||||
libXrender libXrender-devel \
|
||||
libXrandr libXrandr-devel \
|
||||
freetype freetype-devel \
|
||||
libXt libXt-devel \
|
||||
libSM libSM-devel \
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
# Build tools needed for the JFR source code generation
|
||||
|
||||
JFR_TOOLS_SRCDIR := $(TOPDIR)/make/src/classes
|
||||
JFR_TOOLS_OUTPUTDIR := $(OUTPUTDIR)/buildtools/tools_classes
|
||||
JFR_TOOLS_OUTPUTDIR := $(JVM_VARIANT_OUTPUTDIR)/buildtools/tools_classes
|
||||
|
||||
$(eval $(call SetupJavaCompiler, GENERATE_JFRBYTECODE, \
|
||||
JAVAC := $(JAVAC), \
|
||||
|
||||
@@ -30,7 +30,7 @@ $(eval $(call IncludeCustomExtension, hotspot/lib/JvmOverrideFiles.gmk))
|
||||
# status for individual files on specific platforms.
|
||||
|
||||
ifeq ($(TOOLCHAIN_TYPE), gcc)
|
||||
BUILD_LIBJVM_vmStructs.cpp_CXXFLAGS := -fno-var-tracking-assignments -O0
|
||||
BUILD_LIBJVM_vmStructs.cpp_CXXFLAGS := -fno-var-tracking-assignments
|
||||
BUILD_LIBJVM_jvmciCompilerToVM.cpp_CXXFLAGS := -fno-var-tracking-assignments
|
||||
BUILD_LIBJVM_jvmciCompilerToVMInit.cpp_CXXFLAGS := -fno-var-tracking-assignments
|
||||
BUILD_LIBJVM_assembler_x86.cpp_CXXFLAGS := -Wno-maybe-uninitialized
|
||||
@@ -38,20 +38,26 @@ ifeq ($(TOOLCHAIN_TYPE), gcc)
|
||||
BUILD_LIBJVM_interp_masm_x86.cpp_CXXFLAGS := -Wno-uninitialized
|
||||
endif
|
||||
|
||||
LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE)
|
||||
# If the FDLIBM_CFLAGS variable is non-empty we know
|
||||
# that the fdlibm-fork in hotspot can get optimized
|
||||
# by using -ffp-contract=off on GCC/Clang platforms.
|
||||
ifneq ($(FDLIBM_CFLAGS), )
|
||||
LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
BUILD_LIBJVM_ostream.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
|
||||
BUILD_LIBJVM_logFileOutput.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
|
||||
BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(CXX_O_FLAG_NONE)
|
||||
BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(CXX_O_FLAG_NONE)
|
||||
BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
|
||||
BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
|
||||
|
||||
ifeq ($(TOOLCHAIN_TYPE), clang)
|
||||
JVM_PRECOMPILED_HEADER_EXCLUDE := \
|
||||
sharedRuntimeTrig.cpp \
|
||||
sharedRuntimeTrans.cpp \
|
||||
#
|
||||
endif
|
||||
ifeq ($(TOOLCHAIN_TYPE), clang)
|
||||
JVM_PRECOMPILED_HEADER_EXCLUDE := \
|
||||
sharedRuntimeTrig.cpp \
|
||||
sharedRuntimeTrans.cpp \
|
||||
#
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86)
|
||||
@@ -120,8 +126,8 @@ else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
# The copied fdlibm routines in these files must not be optimized
|
||||
BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(CXX_O_FLAG_NONE)
|
||||
BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(CXX_O_FLAG_NONE)
|
||||
BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
|
||||
BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
|
||||
ifeq ($(TOOLCHAIN_TYPE), clang)
|
||||
# NOTE: The old build tested clang version to make sure this workaround
|
||||
# for the clang bug was still needed.
|
||||
|
||||
@@ -82,7 +82,6 @@ JVM_GetClassFieldsCount
|
||||
JVM_GetClassInterfaces
|
||||
JVM_GetClassMethodsCount
|
||||
JVM_GetClassModifiers
|
||||
JVM_GetClassName
|
||||
JVM_GetClassNameUTF
|
||||
JVM_GetClassSignature
|
||||
JVM_GetClassSigners
|
||||
@@ -133,6 +132,7 @@ JVM_Halt
|
||||
JVM_HasReferencePendingList
|
||||
JVM_HoldsLock
|
||||
JVM_IHashCode
|
||||
JVM_InitClassName
|
||||
JVM_InitProperties
|
||||
JVM_InitStackTraceElement
|
||||
JVM_InitStackTraceElementArray
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 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
|
||||
@@ -40,7 +40,7 @@ enum CalendarType {
|
||||
{0, 2}, // generic
|
||||
{0, 2}, // gregorian
|
||||
{0, 1}, // buddhist
|
||||
{232, 4}, // japanese (eras from Meiji)
|
||||
{232, 5}, // japanese (eras from Meiji)
|
||||
{0, 2}, // roc (Minguo)
|
||||
{0, 1}, // islamic (Hijrah)
|
||||
{0, 1}, // islamic-civil (same as islamic)
|
||||
|
||||
@@ -1,503 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
##############
|
||||
#
|
||||
# Global settings
|
||||
#
|
||||
|
||||
# Install test bundle for targets in jprt.test.bundle.targets set
|
||||
jprt.selective.test.bundle.installation=true
|
||||
|
||||
# The current release name
|
||||
jprt.tools.default.release=jdk9
|
||||
|
||||
# Allow concurrent changes to be merged in prior to pushing
|
||||
jprt.sync.push=true
|
||||
|
||||
# Directories to be excluded from the source bundles
|
||||
jprt.bundle.exclude.src.dirs=build dist webrev ${jprt.bundle.exclude.src.dirs.extra}
|
||||
|
||||
# Use configure when building
|
||||
jprt.build.use.configure=true
|
||||
jprt.build.use.jib=true
|
||||
jprt.test.use.jib=true
|
||||
jprt.jib.launcher=bin/jib.sh
|
||||
jprt.build.use.jib.publish=true
|
||||
|
||||
# Clear out all the build needs as JIB handles this
|
||||
jprt.jdk9.build.needs=
|
||||
jprt.macosx.jdk9.build.needs=
|
||||
jprt.windows_i586.jdk9.build.needs=
|
||||
jprt.windows_x64.jdk9.build.needs=
|
||||
jprt.solaris.jdk9.build.needs=
|
||||
jprt.linux_i586.jdk9.build.needs=
|
||||
jprt.linux_x64.jdk9.build.needs=
|
||||
jprt.linux_armv6.jdk9.build.needs=
|
||||
jprt.linux_armvh.jdk9.build.needs=
|
||||
jprt.linux_arm64.jdk9.build.needs=
|
||||
jprt.linux_armsflt.jdk9.build.needs=
|
||||
jprt.linux_armvfpsflt.jdk9.build.needs=
|
||||
jprt.linux_armvfphflt.jdk9.build.needs=
|
||||
jprt.linux_armv6vfphflt.jdk9.build.needs=
|
||||
jprt.solaris.client.build.needs=
|
||||
jprt.linux.client.build.needs=
|
||||
jprt.solaris.jdk9.compiler=
|
||||
jprt.linux.jdk9.compiler=
|
||||
jprt.jdk9.test.needs=
|
||||
|
||||
# Disable the need for preinstalled Visual Studio and Xcode
|
||||
jprt.windows.jdk9.compiler=
|
||||
jprt.windows.6.2.jdk9.compiler=
|
||||
jprt.windows.6.3.jdk9.compiler=
|
||||
jprt.windows.jdk9.target.attribute.compilerVS2013.appliesTo.builds=none
|
||||
jprt.macosx.jdk9.target.attribute.compilerXcode511.appliesTo.builds=none
|
||||
|
||||
# Set up the run flavors (jvm variants)
|
||||
jprt.run.flavors=c2,default,${my.additional.run.flavors}
|
||||
|
||||
# Setup jib profiles
|
||||
jprt.linux_i586.product.build.jib.profile=linux-x86
|
||||
jprt.linux_x64.product.build.jib.profile=linux-x64
|
||||
jprt.macosx_x64.product.build.jib.profile=macosx-x64
|
||||
jprt.solaris_sparcv9.product.build.jib.profile=solaris-sparcv9
|
||||
jprt.solaris_x64.product.build.jib.profile=solaris-x64
|
||||
jprt.windows_i586.product.build.jib.profile=windows-x86
|
||||
jprt.windows_x64.product.build.jib.profile=windows-x64
|
||||
|
||||
jprt.linux_i586.fastdebug.build.jib.profile=linux-x86-debug
|
||||
jprt.linux_x64.fastdebug.build.jib.profile=linux-x64-debug
|
||||
jprt.macosx_x64.fastdebug.build.jib.profile=macosx-x64-debug
|
||||
jprt.solaris_sparcv9.fastdebug.build.jib.profile=solaris-sparcv9-debug
|
||||
jprt.solaris_x64.fastdebug.build.jib.profile=solaris-x64-debug
|
||||
jprt.windows_i586.fastdebug.build.jib.profile=windows-x86-debug
|
||||
jprt.windows_x64.fastdebug.build.jib.profile=windows-x64-debug
|
||||
|
||||
jprt.linux_i586.slowdebug.build.jib.profile=linux-x86-slowdebug
|
||||
jprt.linux_x64.slowdebug.build.jib.profile=linux-x64-slowdebug
|
||||
jprt.macosx_x64.slowdebug.build.jib.profile=macosx-x64-slowdebug
|
||||
jprt.solaris_sparcv9.slowdebug.build.jib.profile=solaris-sparcv9-slowdebug
|
||||
jprt.solaris_x64.slowdebug.build.jib.profile=solaris-x64-slowdebug
|
||||
jprt.windows_i586.slowdebug.build.jib.profile=windows-x86-slowdebug
|
||||
jprt.windows_x64.slowdebug.build.jib.profile=windows-x64-slowdebug
|
||||
|
||||
jprt.linux_i586.productOpen.build.jib.profile=linux-x86-open
|
||||
jprt.linux_x64.productOpen.build.jib.profile=linux-x64-open
|
||||
jprt.macosx_x64.productOpen.build.jib.profile=macosx-x64-open
|
||||
jprt.solaris_sparcv9.productOpen.build.jib.profile=solaris-sparcv9-open
|
||||
jprt.solaris_x64.productOpen.build.jib.profile=solaris-x64-open
|
||||
jprt.windows_i586.productOpen.build.jib.profile=windows-x86-open
|
||||
jprt.windows_x64.productOpen.build.jib.profile=windows-x64-open
|
||||
|
||||
jprt.linux_i586.fastdebugOpen.build.jib.profile=linux-x86-open-debug
|
||||
jprt.linux_x64.fastdebugOpen.build.jib.profile=linux-x64-open-debug
|
||||
jprt.macosx_x64.fastdebugOpen.build.jib.profile=macosx-x64-open-debug
|
||||
jprt.solaris_sparcv9.fastdebugOpen.build.jib.profile=solaris-sparcv9-open-debug
|
||||
jprt.solaris_x64.fastdebugOpen.build.jib.profile=solaris-x64-open-debug
|
||||
jprt.windows_i586.fastdebugOpen.build.jib.profile=windows-x86-open-debug
|
||||
jprt.windows_x64.fastdebugOpen.build.jib.profile=windows-x64-open-debug
|
||||
|
||||
jprt.linux_i586.productZero.build.jib.profile=linux-x86-zero
|
||||
jprt.linux_x64.productZero.build.jib.profile=linux-x64-zero
|
||||
|
||||
jprt.linux_i586.fastdebugZero.build.jib.profile=linux-x86-zero-debug
|
||||
jprt.linux_x64.fastdebugZero.build.jib.profile=linux-x64-zero-debug
|
||||
|
||||
jprt.test.jib.profile=run-test-jprt
|
||||
|
||||
# Set make target to use for different build flavors
|
||||
jprt.build.flavor.fastdebugOpen.target=jprt_bundle
|
||||
jprt.build.flavor.fastdebug.target=jprt_bundle
|
||||
jprt.build.flavor.product.target=jprt_bundle
|
||||
jprt.build.flavor.productOpen.target=jprt_bundle
|
||||
jprt.build.flavor.optimized.target=jprt_bundle
|
||||
jprt.build.flavor.optimizedOpen.target=jprt_bundle
|
||||
jprt.build.flavor.slowdebug.target=jprt_bundle
|
||||
jprt.build.flavor.productZero.target=jprt_bundle
|
||||
jprt.build.flavor.fastdebugZero.target=jprt_bundle
|
||||
|
||||
# Use these configure args to define debug level or provide specific
|
||||
# configuration details not covered by Jib profiles.
|
||||
jprt.slowdebug.build.configure.args=
|
||||
jprt.fastdebug.build.configure.args=--disable-precompiled-headers
|
||||
# Don't disable precompiled headers on windows. It's simply too slow.
|
||||
jprt.windows_i586.fastdebug.build.configure.args=
|
||||
jprt.windows_x64.fastdebug.build.configure.args=
|
||||
jprt.windows_i586.fastdebugOpen.build.configure.args=
|
||||
jprt.windows_x64.fastdebugOpen.build.configure.args=
|
||||
jprt.product.build.configure.args=
|
||||
jprt.optimized.build.configure.args=--with-debug-level=optimized
|
||||
jprt.slowdebugOpen.build.configure.args=${jprt.slowdebug.build.configure.args}
|
||||
jprt.fastdebugOpen.build.configure.args=${jprt.fastdebug.build.configure.args}
|
||||
jprt.productOpen.build.configure.args=${jprt.product.build.configure.args}
|
||||
jprt.optimizedOpen.build.configure.args=${jprt.product.build.configure.args}
|
||||
|
||||
|
||||
# hotspot testset has custom build flavors and build targets
|
||||
my.jprt.testsetHasCustomBuildFlavors.hotspot=true
|
||||
my.jprt.testsetHasCustomBuildTargets.hotspot=true
|
||||
my.jprt.testsetHasCustomBuildFlavors.buildinfra=true
|
||||
my.jprt.testsetHasCustomBuildTargets.buildinfra=true
|
||||
|
||||
# determine if the specified testset has custom build flavors or build targets
|
||||
my.jprt.testsetHasCustomBuildFlavors=${my.jprt.testsetHasCustomBuildFlavors.${jprt.test.set}}
|
||||
my.jprt.testsetHasCustomBuildTargets=${my.jprt.testsetHasCustomBuildTargets.${jprt.test.set}}
|
||||
|
||||
# Select build flavors and build targets based on the specified testset
|
||||
jprt.build.flavors=${my.jprt.testsetHasCustomBuildFlavors ? \
|
||||
${my.build.flavors.${jprt.test.set}} : ${my.build.flavors.default}}
|
||||
jprt.build.targets=${my.jprt.testsetHasCustomBuildTargets ? \
|
||||
${my.build.targets.${jprt.test.set}} : ${my.build.targets.default}}
|
||||
|
||||
# Select test targets - jprt default for jprt.test.set is "default"
|
||||
jprt.test.targets=${my.test.targets.${jprt.test.set}}
|
||||
jprt.make.rule.test.targets=${my.make.rule.test.targets.${jprt.test.set}}
|
||||
|
||||
# Not all test targets need the test image
|
||||
jprt.test.bundle.targets=\
|
||||
${my.make.rule.test.targets.svc}, \
|
||||
${my.make.rule.test.targets.hotspot.reg}, \
|
||||
${my.make.rule.test.targets.hotspot.gtest} \
|
||||
${my.make.rule.test.targets.nativesanity} \
|
||||
${my.test.target.set:TESTNAME=jdk_lang} \
|
||||
${my.test.target.set:TESTNAME=jdk_nio}
|
||||
|
||||
# 7155453: Work-around to prevent popups on OSX from blocking test completion
|
||||
# but the work-around is added to all platforms to be consistent
|
||||
jprt.jbb.options=-Djava.awt.headless=true
|
||||
|
||||
########
|
||||
#
|
||||
# Build options (generic)
|
||||
#
|
||||
|
||||
# Configure args common to all builds
|
||||
# Also allows for additional, testset specific configure arguments to be set
|
||||
jprt.build.configure.args= \
|
||||
--with-output-sync=recurse \
|
||||
--with-jobs=$ALT_PARALLEL_COMPILE_JOBS \
|
||||
--with-version-opt=$JPRT_JOB_ID \
|
||||
${my.additional.build.configure.args.${jprt.test.set}} \
|
||||
${my.custom.build.configure.args}
|
||||
|
||||
########
|
||||
#
|
||||
# Build targets and options (default/jdk)
|
||||
#
|
||||
|
||||
# The default build flavors
|
||||
my.build.flavors.default=fastdebug,product
|
||||
|
||||
# Standard list of jprt build targets for this source tree
|
||||
my.build.targets.default= \
|
||||
solaris_sparcv9_5.11-{product|fastdebug}, \
|
||||
solaris_x64_5.11-{product|fastdebug}, \
|
||||
linux_i586_3.8-{product|fastdebug}, \
|
||||
linux_x64_3.8-{product|fastdebug}, \
|
||||
macosx_x64_10.9-{product|fastdebug}, \
|
||||
windows_i586_6.3-{product|fastdebug}, \
|
||||
windows_x64_6.3-{product|fastdebug}, \
|
||||
${my.additional.build.targets.default}
|
||||
|
||||
# Test target list (no fastdebug & limited c2 testing)
|
||||
my.test.target.set= \
|
||||
solaris_sparcv9_5.11-product-c2-TESTNAME, \
|
||||
solaris_x64_5.11-product-c2-TESTNAME, \
|
||||
linux_i586_3.8-product-c2-TESTNAME, \
|
||||
linux_x64_3.8-product-c2-TESTNAME, \
|
||||
macosx_x64_10.9-product-c2-TESTNAME, \
|
||||
windows_i586_6.3-product-c2-TESTNAME, \
|
||||
windows_x64_6.3-product-c2-TESTNAME
|
||||
|
||||
# Default vm test targets (testset=default)
|
||||
my.test.targets.default= \
|
||||
${my.test.target.set:TESTNAME=jvm98}, \
|
||||
${my.test.target.set:TESTNAME=scimark}
|
||||
|
||||
# Default jdk test targets (testset=default)
|
||||
my.make.rule.test.targets.default= \
|
||||
${my.test.target.set:TESTNAME=langtools_jtreg}, \
|
||||
${my.test.target.set:TESTNAME=jdk_lang}, \
|
||||
${my.test.target.set:TESTNAME=jdk_math}, \
|
||||
${my.test.target.set:TESTNAME=jdk_util}
|
||||
|
||||
# Default vm test targets (testset=core)
|
||||
my.test.targets.core=
|
||||
|
||||
# Core jdk test targets (testset=core)
|
||||
my.make.rule.test.targets.core= \
|
||||
${my.test.target.set:TESTNAME=jdk_lang}, \
|
||||
${my.test.target.set:TESTNAME=jdk_math}, \
|
||||
${my.test.target.set:TESTNAME=jdk_util}, \
|
||||
${my.test.target.set:TESTNAME=jdk_io}, \
|
||||
${my.test.target.set:TESTNAME=jdk_net}, \
|
||||
${my.test.target.set:TESTNAME=jdk_nio}, \
|
||||
${my.test.target.set:TESTNAME=jdk_security1}, \
|
||||
${my.test.target.set:TESTNAME=jdk_security2}, \
|
||||
${my.test.target.set:TESTNAME=jdk_security3}, \
|
||||
${my.test.target.set:TESTNAME=jdk_security4}, \
|
||||
${my.test.target.set:TESTNAME=jdk_rmi}, \
|
||||
${my.test.target.set:TESTNAME=jdk_text}, \
|
||||
${my.test.target.set:TESTNAME=jdk_time}, \
|
||||
${my.test.target.set:TESTNAME=jdk_other}, \
|
||||
${my.test.target.set:TESTNAME=core_tools}
|
||||
|
||||
# Svc vm test targets (testset=svc)
|
||||
my.test.targets.svc=
|
||||
|
||||
# Core jdk test targets (testset=svc)
|
||||
my.make.rule.test.targets.svc= \
|
||||
${my.test.target.set:TESTNAME=jdk_management}, \
|
||||
${my.test.target.set:TESTNAME=jdk_instrument}, \
|
||||
${my.test.target.set:TESTNAME=jdk_jmx}, \
|
||||
${my.test.target.set:TESTNAME=jdk_jdi}, \
|
||||
${my.test.target.set:TESTNAME=jdk_jfr}, \
|
||||
${my.test.target.set:TESTNAME=svc_tools}, \
|
||||
${my.make.rule.test.targets.svc.extra}
|
||||
|
||||
# JAXP vm test targets (testset=jaxp)
|
||||
my.test.targets.jaxp=
|
||||
|
||||
# JAXP test targets (testset=jaxp)
|
||||
my.make.rule.test.targets.jaxp= \
|
||||
${my.test.target.set:TESTNAME=jaxp_all}
|
||||
|
||||
# All vm test targets (testset=all)
|
||||
my.test.targets.all= \
|
||||
${my.test.targets.default}, \
|
||||
${my.test.target.set:TESTNAME=runThese}, \
|
||||
${my.test.target.set:TESTNAME=jbb_default}
|
||||
|
||||
# All jdk test targets (testset=all)
|
||||
my.make.rule.test.targets.all= \
|
||||
${my.make.rule.test.targets.core}, \
|
||||
${my.make.rule.test.targets.svc}, \
|
||||
${my.test.target.set:TESTNAME=jdk_awt}, \
|
||||
${my.test.target.set:TESTNAME=jdk_beans}, \
|
||||
${my.test.target.set:TESTNAME=jdk_sound}, \
|
||||
${my.test.target.set:TESTNAME=jdk_swing}
|
||||
|
||||
# PIT vm test targets (testset=pit)
|
||||
my.test.targets.pit= \
|
||||
${my.test.targets.all}
|
||||
|
||||
# PIT jdk test targets (testset=pit)
|
||||
my.make.rule.test.targets.pit= \
|
||||
${my.test.target.set:TESTNAME=langtools_jtreg}, \
|
||||
${my.make.rule.test.targets.core}, \
|
||||
${my.make.rule.test.targets.svc} \
|
||||
${my.make.rule.test.targets.jaxp}
|
||||
|
||||
# JCK test targets in test/Makefile (no windows)
|
||||
my.test.target.set.jck= \
|
||||
solaris_sparcv9_5.11-product-c2-JCK7TESTRULE, \
|
||||
solaris_x64_5.11-product-c2-JCK7TESTRULE, \
|
||||
linux_i586_3.8-product-c2-JCK7TESTRULE, \
|
||||
linux_x64_3.8-product-c2-JCK7TESTRULE
|
||||
|
||||
# JCK testset targets
|
||||
my.make.rule.test.targets.jck= \
|
||||
${my.test.target.set.jck:JCK7TESTRULE=jck7devtools}, \
|
||||
${my.test.target.set.jck:JCK7TESTRULE=jck7runtime}, \
|
||||
${my.test.target.set.jck:JCK7TESTRULE=jck7compiler}
|
||||
|
||||
|
||||
#############
|
||||
#
|
||||
# Hotspot related settings (testset=hotspot)
|
||||
#
|
||||
|
||||
# The hotspot build flavors
|
||||
my.build.flavors.hotspot= \
|
||||
fastdebugOpen,fastdebug,product,productOpen,optimized,optimizedOpen \
|
||||
${my.additional.build.flavors.hotspot}
|
||||
|
||||
# Platforms built for hotspot push jobs
|
||||
my.build.targets.hotspot= \
|
||||
solaris_sparcv9_5.11-{product|fastdebug}, \
|
||||
solaris_x64_5.11-{product|fastdebug}, \
|
||||
linux_i586_3.8-{product|fastdebug}, \
|
||||
linux_x64_3.8-{product|fastdebug}, \
|
||||
macosx_x64_10.9-{product|fastdebug}, \
|
||||
windows_i586_6.3-{product|fastdebug}, \
|
||||
windows_x64_6.3-{product|fastdebug}, \
|
||||
solaris_x64_5.11-{fastdebugOpen}, \
|
||||
linux_x64_3.8-{productOpen}, \
|
||||
${my.additional.build.targets.hotspot}
|
||||
|
||||
# Tests to run on the various platforms for hotspot push jobs
|
||||
my.test.targets.hotspot.solaris.sparcv9= \
|
||||
solaris_sparcv9_5.11-{product|fastdebug}-c2-jvm98, \
|
||||
solaris_sparcv9_5.11-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||
solaris_sparcv9_5.11-{product|fastdebug}-c2-scimark, \
|
||||
solaris_sparcv9_5.11-product-c2-runThese8,
|
||||
|
||||
my.test.targets.hotspot.solaris.x64= \
|
||||
solaris_x64_5.11-{product|fastdebug}-c2-jvm98, \
|
||||
solaris_x64_5.11-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||
solaris_x64_5.11-{product|fastdebug}-c2-scimark, \
|
||||
solaris_x64_5.11-product-c2-runThese8, \
|
||||
solaris_x64_5.11-product-c2-runThese8_Xcomp_lang, \
|
||||
solaris_x64_5.11-product-c2-runThese8_Xcomp_vm,
|
||||
|
||||
my.test.targets.hotspot.linux.i586= \
|
||||
linux_i586_3.8-{product|fastdebug}-c2-jvm98, \
|
||||
linux_i586_3.8-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||
linux_i586_3.8-{product|fastdebug}-c2-scimark, \
|
||||
linux_i586_3.8-fastdebug-c2-runThese8_Xcomp_lang, \
|
||||
linux_i586_3.8-fastdebug-c2-runThese8_Xcomp_vm
|
||||
|
||||
my.test.targets.hotspot.linux.x64= \
|
||||
linux_x64_3.8-{product|fastdebug}-c2-jvm98, \
|
||||
linux_x64_3.8-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||
linux_x64_3.8-{product|fastdebug}-c2-scimark
|
||||
|
||||
my.test.targets.hotspot.macosx.x64= \
|
||||
macosx_x64_10.9-{product|fastdebug}-c2-jvm98, \
|
||||
macosx_x64_10.9-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||
macosx_x64_10.9-{product|fastdebug}-c2-scimark
|
||||
|
||||
my.test.targets.hotspot.windows.i586= \
|
||||
windows_i586_6.3-{product|fastdebug}-c2-jvm98, \
|
||||
windows_i586_6.3-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||
windows_i586_6.3-{product|fastdebug}-c2-scimark, \
|
||||
windows_i586_6.3-product-c2-runThese8, \
|
||||
windows_i586_6.3-product-c2-runThese8_Xcomp_lang, \
|
||||
windows_i586_6.3-product-c2-runThese8_Xcomp_vm,
|
||||
|
||||
my.test.targets.hotspot.windows.x64= \
|
||||
windows_x64_6.3-{product|fastdebug}-c2-jvm98, \
|
||||
windows_x64_6.3-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||
windows_x64_6.3-{product|fastdebug}-c2-scimark, \
|
||||
windows_x64_6.3-product-c2-runThese8, \
|
||||
windows_x64_6.3-product-c2-runThese8_Xcomp_lang, \
|
||||
windows_x64_6.3-product-c2-runThese8_Xcomp_vm,
|
||||
|
||||
# Some basic "smoke" tests for OpenJDK builds
|
||||
my.test.targets.hotspot.open= \
|
||||
solaris_x64_5.11-{productOpen|fastdebugOpen}-c2-jvm98, \
|
||||
linux_x64_3.8-{productOpen|fastdebugOpen}-c2-jvm98
|
||||
|
||||
# The complete list of test targets for jprt
|
||||
my.test.targets.hotspot= \
|
||||
${my.test.targets.hotspot.open}, \
|
||||
${my.test.targets.hotspot.solaris.sparcv9}, \
|
||||
${my.test.targets.hotspot.solaris.x64}, \
|
||||
${my.test.targets.hotspot.linux.i586}, \
|
||||
${my.test.targets.hotspot.linux.x64}, \
|
||||
${my.test.targets.hotspot.macosx.x64}, \
|
||||
${my.test.targets.hotspot.windows.i586}, \
|
||||
${my.test.targets.hotspot.windows.x64}, \
|
||||
${my.test.targets.hotspot.solaris.sparcv9}, \
|
||||
${my.test.targets.hotspot.solaris.x64}, \
|
||||
${my.test.targets.hotspot.linux.x64}, \
|
||||
${my.test.targets.hotspot.windows.i586}, \
|
||||
${my.test.targets.hotspot.windows.x64}, \
|
||||
${my.additional.test.targets.hotspot}
|
||||
|
||||
|
||||
# Make file based test targets
|
||||
|
||||
my.make.rule.test.targets.hotspot.gtest= \
|
||||
linux_i586_3.8-*-default-hotspot_gtest, \
|
||||
linux_x64_3.8-*-default-hotspot_gtest, \
|
||||
macosx_x64_10.9-*-default-hotspot_gtest, \
|
||||
solaris_sparcv9_5.11-*-default-hotspot_gtest, \
|
||||
solaris_x64_5.11-*-default-hotspot_gtest, \
|
||||
windows_i586_6.3-*-default-hotspot_gtest, \
|
||||
windows_x64_6.3-*-default-hotspot_gtest, \
|
||||
${my.additional.make.rule.test.targets.hotspot.gtest}
|
||||
|
||||
my.make.rule.test.targets.hotspot.reg.group= \
|
||||
solaris_sparcv9_5.11-fastdebug-c2-GROUP, \
|
||||
solaris_x64_5.11-fastdebug-c2-GROUP, \
|
||||
linux_i586_3.8-fastdebug-c2-GROUP, \
|
||||
linux_x64_3.8-fastdebug-c2-GROUP, \
|
||||
macosx_x64_10.9-fastdebug-c2-GROUP, \
|
||||
windows_i586_6.3-fastdebug-c2-GROUP, \
|
||||
windows_x64_6.3-fastdebug-c2-GROUP
|
||||
|
||||
# Hotspot jtreg tests
|
||||
my.make.rule.test.targets.hotspot.reg= \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_compiler_1}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_compiler_2}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_compiler_3}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_compiler_closed}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_gc_1}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_gc_2}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_gc_closed}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_gc_gcold}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_gc_gcbasher}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_runtime}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_tier1_serviceability}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=jdk_svc_sanity}, \
|
||||
solaris_sparcv9_5.11-product-c2-hotspot_tier1_gc_gcbasher, \
|
||||
solaris_x64_5.11-product-c2-hotspot_tier1_gc_gcbasher, \
|
||||
linux_i586_3.8-product-c2-hotspot_tier1_gc_gcbasher, \
|
||||
linux_x64_3.8-product-c2-hotspot_tier1_gc_gcbasher, \
|
||||
macosx_x64_10.9-product-c2-hotspot_tier1_gc_gcbasher, \
|
||||
windows_i586_6.3-product-c2-hotspot_tier1_gc_gcbasher, \
|
||||
windows_x64_6.3-product-c2-hotspot_tier1_gc_gcbasher, \
|
||||
${my.additional.make.rule.test.targets.hotspot.reg}
|
||||
|
||||
# Other Makefile based Hotspot tests
|
||||
my.make.rule.test.targets.hotspot.other= \
|
||||
${my.make.rule.test.targets.hotspot.gtest}, \
|
||||
${my.additional.make.rule.test.targets.hotspot.other}
|
||||
|
||||
# All the makefile based tests to run
|
||||
my.make.rule.test.targets.hotspot= \
|
||||
${my.make.rule.test.targets.hotspot.reg} \
|
||||
${my.make.rule.test.targets.hotspot.other}
|
||||
|
||||
# Native jdk and hotspot test targets (testset=nativesanity)
|
||||
my.make.rule.test.targets.nativesanity= \
|
||||
${my.test.target.set:TESTNAME=jdk_native_sanity}, \
|
||||
${my.test.target.set:TESTNAME=hotspot_native_sanity}
|
||||
|
||||
################################################################################
|
||||
# Testset buildinfra
|
||||
my.build.flavors.buildinfra = \
|
||||
product,fastdebug,slowdebug,productZero,fastdebugZero \
|
||||
${my.additional.build.flavors.buildinfra}
|
||||
|
||||
# Platforms built for hotspot push jobs
|
||||
my.build.targets.buildinfra = \
|
||||
solaris_sparcv9_5.11-{product|fastdebug|slowdebug}, \
|
||||
solaris_x64_5.11-{product|fastdebug|slowdebug}, \
|
||||
linux_i586_3.8-{product|fastdebug|slowdebug|productZero|fastdebugZero}, \
|
||||
linux_x64_3.8-{product|fastdebug|slowdebug|productZero|fastdebugZero}, \
|
||||
macosx_x64_10.9-{product|fastdebug|slowdebug}, \
|
||||
windows_i586_6.3-{product|fastdebug|slowdebug}, \
|
||||
windows_x64_6.3-{product|fastdebug|slowdebug}, \
|
||||
${my.additional.build.targets.buildinfra}
|
||||
|
||||
my.test.targets.buildinfra = \
|
||||
${my.test.targets.default}, \
|
||||
${my.test.targets.hotspot}
|
||||
|
||||
my.make.rule.test.targets.buildinfra = \
|
||||
${my.make.rule.test.targets.default}, \
|
||||
${my.make.rule.test.targets.hotspot}
|
||||
@@ -90,7 +90,7 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris aix), )
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris aix linux), )
|
||||
$(eval $(call SetupJdkExecutable, BUILD_JSPAWNHELPER, \
|
||||
NAME := jspawnhelper, \
|
||||
SRC := $(TOPDIR)/src/$(MODULE)/unix/native/jspawnhelper, \
|
||||
|
||||
@@ -39,7 +39,7 @@ $(eval $(call SetupBuildLauncher, pack200, \
|
||||
# On Mac, we have always exported all symbols, probably due to oversight
|
||||
# and/or misunderstanding. To emulate this, don't hide any symbols
|
||||
# by default.
|
||||
# On AIX/xlc we need at least xlc 13.1 for the symbol hiding
|
||||
# On AIX/xlc we need at least xlc 13.1 for the symbol hiding (see JDK-8214063)
|
||||
# Also provide an override for non-conformant libraries.
|
||||
ifeq ($(TOOLCHAIN_TYPE), gcc)
|
||||
CXXFLAGS_JDKEXE += -fvisibility=hidden
|
||||
@@ -50,10 +50,6 @@ else ifeq ($(TOOLCHAIN_TYPE), clang)
|
||||
endif
|
||||
else ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
||||
CXXFLAGS_JDKEXE += -xldscope=hidden
|
||||
else ifeq ($(TOOLCHAIN_TYPE), xlc)
|
||||
ifneq ($(CC_VERSION_NUMBER), 12.1)
|
||||
CXXFLAGS_JDKEXE += -qvisibility=hidden
|
||||
endif
|
||||
endif
|
||||
|
||||
UNPACKEXE_SRC := $(TOPDIR)/src/jdk.pack/share/native/common-unpack \
|
||||
|
||||
@@ -45,7 +45,7 @@ endif
|
||||
# On Mac, we have always exported all symbols, probably due to oversight
|
||||
# and/or misunderstanding. To emulate this, don't hide any symbols
|
||||
# by default.
|
||||
# On AIX/xlc we need at least xlc 13.1 for the symbol hiding
|
||||
# On AIX/xlc we need at least xlc 13.1 for the symbol hiding (see JDK-8214063)
|
||||
# Also provide an override for non-conformant libraries.
|
||||
ifeq ($(TOOLCHAIN_TYPE), gcc)
|
||||
LAUNCHER_CFLAGS += -fvisibility=hidden
|
||||
@@ -56,10 +56,6 @@ else ifeq ($(TOOLCHAIN_TYPE), clang)
|
||||
endif
|
||||
else ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
||||
LAUNCHER_CFLAGS += -xldscope=hidden
|
||||
else ifeq ($(TOOLCHAIN_TYPE), xlc)
|
||||
ifneq ($(CC_VERSION_NUMBER), 12.1)
|
||||
CXXFLAGS_JDKEXE += -qvisibility=hidden
|
||||
endif
|
||||
endif
|
||||
|
||||
LAUNCHER_SRC := $(TOPDIR)/src/java.base/share/native/launcher
|
||||
|
||||
@@ -533,7 +533,8 @@ HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
|
||||
-DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H
|
||||
-DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
|
||||
-DHB_NO_PRAGMA_GCC_DIAGNOSTIC
|
||||
endif
|
||||
ifneq (, $(findstring $(OPENJDK_TARGET_OS), linux macosx))
|
||||
HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
|
||||
@@ -618,8 +619,8 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
|
||||
E_ENUM_VAL_OVERFLOWS_INT_MAX, \
|
||||
DISABLED_WARNINGS_CXX_solstudio := \
|
||||
truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
|
||||
hidevf w_novirtualdescr arrowrtn2, \
|
||||
DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101, \
|
||||
hidevf w_novirtualdescr arrowrtn2 unknownpragma, \
|
||||
DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101 4068 4805 4138, \
|
||||
LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
|
||||
$(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
|
||||
@@ -39,20 +39,15 @@ ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(OPENJDK_TARGET_CPU), ppc64)
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
|
||||
else ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
|
||||
else ifeq ($(OPENJDK_TARGET_CPU), s390x)
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
|
||||
else ifeq ($(OPENJDK_TARGET_CPU), aarch64)
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
|
||||
endif
|
||||
# If FDLIBM_CFLAGS is non-empty we know that we can optimize
|
||||
# fdlibm when adding those extra C flags. Currently GCC,
|
||||
# and clang only.
|
||||
ifneq ($(FDLIBM_CFLAGS), )
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := LOW
|
||||
endif
|
||||
|
||||
LIBFDLIBM_SRC := $(TOPDIR)/src/java.base/share/native/libfdlibm
|
||||
LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC)
|
||||
LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC) $(FDLIBM_CFLAGS)
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
$(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
|
||||
@@ -64,11 +59,7 @@ ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
|
||||
CFLAGS_windows_debug := -DLOGGING, \
|
||||
CFLAGS_aix := -qfloat=nomaf, \
|
||||
CFLAGS_linux_ppc64 := -ffp-contract=off, \
|
||||
CFLAGS_linux_ppc64le := -ffp-contract=off, \
|
||||
CFLAGS_linux_s390x := -ffp-contract=off, \
|
||||
CFLAGS_linux_aarch64 := -ffp-contract=off, \
|
||||
DISABLED_WARNINGS_gcc := sign-compare misleading-indentation, \
|
||||
DISABLED_WARNINGS_gcc := sign-compare misleading-indentation array-bounds, \
|
||||
DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
|
||||
ARFLAGS := $(ARFLAGS), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
|
||||
|
||||
@@ -55,7 +55,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
|
||||
LIBS_solaris := -lnsl -lsocket $(LIBDL), \
|
||||
LIBS_aix := $(LIBDL),\
|
||||
LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
|
||||
delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
||||
urlmon.lib delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
||||
LIBS_macosx := -framework CoreFoundation -framework CoreServices, \
|
||||
))
|
||||
|
||||
@@ -138,6 +138,7 @@ ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
|
||||
NAME := jsig, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
|
||||
@@ -44,7 +44,12 @@ else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
SA_CXXFLAGS := -DWIN64
|
||||
else
|
||||
SA_CXXFLAGS := -RTC1
|
||||
# Only add /RTC1 flag for debug builds as it's
|
||||
# incompatible with release type builds. See
|
||||
# https://msdn.microsoft.com/en-us/library/8wtf2dfz.aspx
|
||||
ifeq ($(DEBUG_LEVEL),slowdebug)
|
||||
SA_CXXFLAGS := -RTC1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -52,7 +57,7 @@ endif
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
|
||||
NAME := saproc, \
|
||||
OPTIMIZATION := NONE, \
|
||||
OPTIMIZATION := HIGH, \
|
||||
DISABLED_WARNINGS_microsoft := 4267, \
|
||||
DISABLED_WARNINGS_gcc := sign-compare, \
|
||||
DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma, \
|
||||
|
||||
@@ -38,7 +38,7 @@ WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
|
||||
# On Mac, we have always exported all symbols, probably due to oversight
|
||||
# and/or misunderstanding. To emulate this, don't hide any symbols
|
||||
# by default.
|
||||
# On AIX/xlc we need at least xlc 13.1 for the symbol hiding
|
||||
# On AIX/xlc we need at least xlc 13.1 for the symbol hiding (see JDK-8214063)
|
||||
# Also provide an override for non-conformant libraries.
|
||||
ifeq ($(TOOLCHAIN_TYPE), gcc)
|
||||
CFLAGS_JDKLIB += -fvisibility=hidden
|
||||
@@ -55,12 +55,6 @@ else ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
||||
CFLAGS_JDKLIB += -xldscope=hidden
|
||||
CXXFLAGS_JDKLIB += -xldscope=hidden
|
||||
EXPORT_ALL_SYMBOLS := -xldscope=global
|
||||
else ifeq ($(TOOLCHAIN_TYPE), xlc)
|
||||
ifneq ($(CC_VERSION_NUMBER), 12.1)
|
||||
CFLAGS_JDKLIB += -qvisibility=hidden
|
||||
CXXFLAGS_JDKLIB += -qvisibility=hidden
|
||||
EXPORT_ALL_SYMBOLS := -qvisibility=default
|
||||
endif
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -116,6 +116,7 @@
|
||||
<in>IBM1122.map</in>
|
||||
<in>IBM1123.map</in>
|
||||
<in>IBM1124.map</in>
|
||||
<in>IBM1129.map</in>
|
||||
<in>IBM1140.map</in>
|
||||
<in>IBM1141.map</in>
|
||||
<in>IBM1142.map</in>
|
||||
@@ -16285,6 +16286,11 @@
|
||||
tool="3"
|
||||
flavor2="0">
|
||||
</item>
|
||||
<item path="../../make/data/charsetmapping/IBM1129.map"
|
||||
ex="false"
|
||||
tool="3"
|
||||
flavor2="0">
|
||||
</item>
|
||||
<item path="../../make/data/charsetmapping/IBM1140.map"
|
||||
ex="false"
|
||||
tool="3"
|
||||
|
||||
@@ -139,6 +139,15 @@ NSK_AOD_INCLUDES := \
|
||||
-I$(VM_TESTBASE_DIR)/nsk/share/native \
|
||||
-I$(VM_TESTBASE_DIR)/nsk/share/jni
|
||||
|
||||
NO_FRAMEPOINTER_CFLAGS :=
|
||||
ifeq ($(OPENJDK_TARGET_OS),linux)
|
||||
NO_FRAMEPOINTER_CFLAGS := -fomit-frame-pointer
|
||||
endif
|
||||
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libNoFramePointer := $(NO_FRAMEPOINTER_CFLAGS)
|
||||
# Optimization -O3 needed, HIGH == -O3
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_OPTIMIZATION_libNoFramePointer := HIGH
|
||||
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libProcessUtils := $(VM_SHARE_INCLUDES)
|
||||
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libThreadController := $(NSK_MONITORING_INCLUDES)
|
||||
@@ -836,6 +845,10 @@ BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libVirtualMachine09agent00 := $(NSK_AOD_INC
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libji06t001 += -erroff=E_END_OF_LOOP_CODE_NOT_REACHED
|
||||
endif
|
||||
|
||||
# Platform specific setup
|
||||
ifneq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
|
||||
BUILD_HOTSPOT_JTREG_EXCLUDE += liboverflow.c exeThreadSignalMask.c
|
||||
@@ -858,9 +871,13 @@ endif
|
||||
|
||||
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
BUILD_HOTSPOT_JTREG_EXCLUDE += libterminatedThread.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
|
||||
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c
|
||||
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c
|
||||
|
||||
else
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libbootclssearch_agent += -lpthread
|
||||
@@ -1494,6 +1511,7 @@ else
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libvmdeath001 += -lpthread
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libgetphase001 += -lpthread
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libgetphase002 += -lpthread
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libterminatedThread += -lpthread
|
||||
endif
|
||||
|
||||
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_LIBRARIES, \
|
||||
|
||||
@@ -1,3 +1,34 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package java2d;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
@@ -1,3 +1,34 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package java2d;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
@@ -128,24 +128,24 @@ OptionsMenu.dragEnabled_accessible_description=\u30C9\u30E9\u30C3\u30B0\u3092\u6
|
||||
|
||||
FileMenu.file.labelAndMnemonic=\u30D5\u30A1\u30A4\u30EB(&F)
|
||||
FileMenu.accessible_description=\u30D5\u30A1\u30A4\u30EB\u30FB\u30E1\u30CB\u30E5\u30FC
|
||||
FileMenu.about.labelAndMnemonic=\u60C5\u5831(&B)
|
||||
FileMenu.about.labelAndMnemonic=\u6982\u8981(&B)
|
||||
FileMenu.about_accessible_description=SwingSet2\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u8A73\u7D30\u3092\u78BA\u8A8D\u3057\u307E\u3059
|
||||
FileMenu.open.labelAndMnemonic=\u958B\u304F(&O)
|
||||
FileMenu.open_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u305F\u3081\u306E\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u30FB\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
|
||||
FileMenu.open_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u305F\u3081\u306E\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
|
||||
FileMenu.save.labelAndMnemonic=\u4FDD\u5B58(&S)
|
||||
FileMenu.save_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u30FB\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
|
||||
FileMenu.save_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
|
||||
FileMenu.save_as.labelAndMnemonic=\u5225\u540D\u4FDD\u5B58(&A)...
|
||||
FileMenu.save_as_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u5225\u540D\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u30FB\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
|
||||
FileMenu.save_as_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u5225\u540D\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
|
||||
FileMenu.exit.labelAndMnemonic=\u7D42\u4E86(&X)
|
||||
FileMenu.exit_accessible_description=SwingSet2\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u7D42\u4E86\u3057\u307E\u3059
|
||||
|
||||
### Multi-Screen menu ###
|
||||
MultiMenu.multi.labelAndMnemonic=\u30DE\u30EB\u30C1\u30B9\u30AF\u30EA\u30FC\u30F3(&M)
|
||||
MultiMenu.multi_accessible_description=\u30DE\u30EB\u30C1\u30B9\u30AF\u30EA\u30FC\u30F3\u30FB\u30E1\u30CB\u30E5\u30FC
|
||||
MultiMenu.all.labelAndMnemonic=SwingSet2\u3092\u3059\u3079\u3066\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059(&A)
|
||||
MultiMenu.all_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u30B9\u30AF\u30EA\u30FC\u30F3\u3054\u3068\u306B\u4F5C\u6210\u3057\u307E\u3059
|
||||
MultiMenu.single.labelAndMnemonic=SwingSet2\u3092\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059
|
||||
MultiMenu.single_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059
|
||||
MultiMenu.multi.labelAndMnemonic=\u30B9\u30AF\u30EA\u30FC\u30F3\u30FB\u30E2\u30FC\u30C9(&M)
|
||||
MultiMenu.multi_accessible_description=\u30B9\u30AF\u30EA\u30FC\u30F3\u30FB\u30E1\u30CB\u30E5\u30FC
|
||||
MultiMenu.all.labelAndMnemonic=\u30DE\u30EB\u30C1\u30FB\u30B9\u30AF\u30EA\u30FC\u30F3(&A)
|
||||
MultiMenu.all_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u3059\u3079\u3066\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059
|
||||
MultiMenu.single.labelAndMnemonic=\u30B7\u30F3\u30B0\u30EB\u30FB\u30B9\u30AF\u30EA\u30FC\u30F3
|
||||
MultiMenu.single_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u30921\u3064\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059
|
||||
|
||||
|
||||
################################
|
||||
@@ -295,7 +295,7 @@ FileChooserDemo.dialogtitle=\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u305FFile
|
||||
FileChooserDemo.help=\u30D8\u30EB\u30D7
|
||||
FileChooserDemo.find=\u691C\u7D22
|
||||
FileChooserDemo.ok=OK
|
||||
FileChooserDemo.about=\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
|
||||
FileChooserDemo.about=\u8A73\u7D30
|
||||
FileChooserDemo.cancel=\u53D6\u6D88
|
||||
|
||||
### Html Demo ###
|
||||
@@ -308,20 +308,20 @@ HtmlDemo.filename=swing.html
|
||||
|
||||
### Internal Frame Demo ###
|
||||
|
||||
InternalFrameDemo.accessible_description=JInternal Frame\u30C7\u30E2
|
||||
InternalFrameDemo.accessible_description=JInternalFrame\u30C7\u30E2
|
||||
InternalFrameDemo.create_frames.labelAndMnemonic=\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3055\u308C\u305F\u5185\u90E8\u30D5\u30EC\u30FC\u30E0\u306E\u4F5C\u6210
|
||||
InternalFrameDemo.title_text_field.labelAndMnemonic=\u30D5\u30EC\u30FC\u30E0\u306E\u30BF\u30A4\u30C8\u30EB:
|
||||
InternalFrameDemo.frame.labelAndMnemonic=\u30D5\u30EC\u30FC\u30E0
|
||||
InternalFrameDemo.palette.labelAndMnemonic=\u5185\u90E8\u30D5\u30EC\u30FC\u30E0\u306E\u4F5C\u6210
|
||||
InternalFrameDemo.name=Internal Frame\u30C7\u30E2
|
||||
InternalFrameDemo.tooltip=JInternal Frame\u30C7\u30E2
|
||||
InternalFrameDemo.name=InternalFrame\u30C7\u30E2
|
||||
InternalFrameDemo.tooltip=JInternalFrame\u30C7\u30E2
|
||||
InternalFrameDemo.closable.labelAndMnemonic=\u30AF\u30ED\u30FC\u30BA\u53EF
|
||||
InternalFrameDemo.resizable.labelAndMnemonic=\u30B5\u30A4\u30BA\u5909\u66F4\u53EF
|
||||
InternalFrameDemo.iconifiable.labelAndMnemonic=\u6700\u5C0F\u5316\u53EF
|
||||
InternalFrameDemo.maximizable.labelAndMnemonic=\u6700\u5927\u5316\u53EF
|
||||
InternalFrameDemo.toast=Cheers
|
||||
InternalFrameDemo.duke=Your Grace
|
||||
InternalFrameDemo.duchess=Duchess
|
||||
InternalFrameDemo.toast=\u4E7E\u676F
|
||||
InternalFrameDemo.duke=\u730A\u4E0B
|
||||
InternalFrameDemo.duchess=\u516C\u7235\u592B\u4EBA
|
||||
InternalFrameDemo.cab=Anyone need a Taxi?
|
||||
|
||||
|
||||
@@ -330,8 +330,8 @@ InternalFrameDemo.cab=Anyone need a Taxi?
|
||||
ListDemo.accessible_description=JList\u30C7\u30E2
|
||||
ListDemo.name=List\u30C7\u30E2
|
||||
ListDemo.tooltip=JList\u30C7\u30E2
|
||||
ListDemo.prefixes=\u63A5\u982D\u8F9E
|
||||
ListDemo.suffixes=\u63A5\u5C3E\u8F9E
|
||||
ListDemo.prefixes=\u30D7\u30EA\u30D5\u30A3\u30AF\u30B9
|
||||
ListDemo.suffixes=\u30B5\u30D5\u30A3\u30AF\u30B9
|
||||
ListDemo.count.labelAndMnemonic=\u751F\u6210\u3055\u308C\u305F\u30EA\u30B9\u30C8\u30FB\u30A8\u30F3\u30C8\u30EA\u306E\u6570:
|
||||
ListDemo.all=\u3059\u3079\u3066
|
||||
ListDemo.none=\u306A\u3057
|
||||
@@ -342,14 +342,14 @@ ListDemo.gray=\u30B0\u30EC\u30FC\u306E\u4F1A\u793E\u30ED\u30B4\u30FB\u30A4\u30E1
|
||||
ListDemo.green=\u7DD1\u8272\u306E\u4F1A\u793E\u30ED\u30B4\u30FB\u30A4\u30E1\u30FC\u30B8
|
||||
ListDemo.magenta=\u30DE\u30BC\u30F3\u30BF\u306E\u4F1A\u793E\u30ED\u30B4\u30FB\u30A4\u30E1\u30FC\u30B8
|
||||
ListDemo.cyan=\u30B7\u30A2\u30F3\u306E\u4F1A\u793E\u30ED\u30B4\u30FB\u30A4\u30E1\u30FC\u30B8
|
||||
ListDemo.description=<html><P STYLE="margin-left: .25in; margin-right: .25in">\u3053\u306E\u30C7\u30E2\u3067\u306F\u30012\u3064\u306E\u7570\u306A\u308B\u65B9\u6CD5\u3067\u4F5C\u6210\u3057\u305F\u30EA\u30B9\u30C8\u3092\u7D39\u4ECB\u3057\u307E\u3059\u3002\u5DE6\u5074\u306B\u3042\u308B<b>JList</b>\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30EA\u30B9\u30C8\u9805\u76EE\u306F\u3001\u30C1\u30A7\u30C3\u30AF\u30FB\u30DE\u30FC\u30AF\u306E\u4ED8\u3051\u3089\u308C\u305F\u63A5\u982D\u8F9E\u304A\u3088\u3073\u63A5\u5C3E\u8F9E\u306E\u9806\u5217\u3067\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u53F3\u5074\u306E\u63A5\u982D\u8F9E\u304A\u3088\u3073\u63A5\u5C3E\u8F9E\u306E\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9\u306E\u5217\u306F\u3001\u5782\u76F4\u914D\u7F6E\u306E<b>BoxLayout</b>\u3092\u6301\u3064<b>JPanel</b>\u3092\u4F7F\u7528\u3057\u3066<b>JScrollPane</b>\u5185\u306B\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002</P></html>
|
||||
ListDemo.description=<html><P STYLE="margin-left: .25in; margin-right: .25in">\u3053\u306E\u30C7\u30E2\u3067\u306F\u30012\u3064\u306E\u7570\u306A\u308B\u65B9\u6CD5\u3067\u4F5C\u6210\u3057\u305F\u30EA\u30B9\u30C8\u3092\u7D39\u4ECB\u3057\u307E\u3059\u3002\u5DE6\u5074\u306B\u3042\u308B<b>JList</b>\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30EA\u30B9\u30C8\u9805\u76EE\u306F\u3001\u30C1\u30A7\u30C3\u30AF\u30FB\u30DE\u30FC\u30AF\u306E\u4ED8\u3051\u3089\u308C\u305F\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u304A\u3088\u3073\u30B5\u30D5\u30A3\u30AF\u30B9\u306E\u9806\u5217\u3067\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u53F3\u5074\u306E\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u304A\u3088\u3073\u30B5\u30D5\u30A3\u30AF\u30B9\u306E\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9\u306E\u5217\u306F\u3001\u5782\u76F4\u914D\u7F6E\u306E<b>BoxLayout</b>\u3092\u6301\u3064<b>JPanel</b>\u3092\u4F7F\u7528\u3057\u3066<b>JScrollPane</b>\u5185\u306B\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002</P></html>
|
||||
|
||||
|
||||
### OptionPane Demo ###
|
||||
|
||||
OptionPaneDemo.accessible_description=OptionPane\u30C7\u30E2\u3067\u306F\u3001\u69D8\u3005\u306A\u5171\u901A\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u30FB\u30DC\u30C3\u30AF\u30B9\u3092\u751F\u6210\u3059\u308B\u305F\u3081\u306EJOptionPane\u306E\u4F7F\u7528\u4F8B\u3092\u7D39\u4ECB\u3057\u307E\u3059
|
||||
OptionPaneDemo.tooltip=JOptionPane\u30C7\u30E2
|
||||
OptionPaneDemo.name=Option Pane\u30C7\u30E2
|
||||
OptionPaneDemo.name=OptionPane\u30C7\u30E2
|
||||
|
||||
OptionPaneDemo.warningbutton=\u8B66\u544A\u30C0\u30A4\u30A2\u30ED\u30B0\u306E\u8868\u793A
|
||||
OptionPaneDemo.componentbutton=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u306E\u8868\u793A
|
||||
@@ -367,10 +367,10 @@ OptionPaneDemo.confirmyes=<html>\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u3067\u904A
|
||||
OptionPaneDemo.confirmno=\u5C4B\u5185\u306B\u3044\u3066\u69D8\u3005\u306A\u3082\u306E\u304B\u3089\u4FDD\u8B77\u3055\u308C\u3066\u3044\u308B\u306E\u306F\u3044\u3044\u3053\u3068\u3067\u3059\u3002
|
||||
|
||||
OptionPaneDemo.inputquestion=\u597D\u304D\u306A\u6620\u753B\u306F\u4F55\u3067\u3059\u304B\u3002
|
||||
OptionPaneDemo.inputresponse=\u3042\u308C\u306F\u3068\u3066\u3082\u3044\u3044\u6620\u753B\u3067\u3057\u305F\u306D\u3002
|
||||
OptionPaneDemo.inputresponse=\u305D\u308C\u306F\u3044\u3044\u6620\u753B\u3067\u3059\u306D\u3002
|
||||
|
||||
OptionPaneDemo.componenttitle=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u306E\u4F8B
|
||||
OptionPaneDemo.componentmessage=<html>JOptionPane\u306B\u306F\u3001\u30C6\u30AD\u30B9\u30C8\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306A\u3069\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092<br>\u5FC5\u8981\u306A\u3060\u3051\u542B\u3081\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002</html>
|
||||
OptionPaneDemo.componentmessage=<html>JOptionPane\u306B\u306F\u3001\u30C6\u30AD\u30B9\u30C8\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306A\u3069\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u5FC5\u8981\u306A\u3060\u3051\u542B\u3081\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002</html>
|
||||
OptionPaneDemo.componenttextfield=\u30B3\u30F3\u30DC\u30DC\u30C3\u30AF\u30B9:
|
||||
OptionPaneDemo.component_cb1=\u9805\u76EE1
|
||||
OptionPaneDemo.component_cb2=\u9805\u76EE2
|
||||
@@ -405,7 +405,7 @@ ProgressBarDemo.text=\u7121\u9650\u306E\u733F\u304C\u7121\u9650\u6570\u306E\u30B
|
||||
### ScrollPane Demo ###
|
||||
|
||||
ScrollPaneDemo.accessible_description=JScrollPane\u30C7\u30E2
|
||||
ScrollPaneDemo.name=Scroll Pane\u30C7\u30E2
|
||||
ScrollPaneDemo.name=ScrollPane\u30C7\u30E2
|
||||
ScrollPaneDemo.tooltip=JScrollPane\u30C7\u30E2
|
||||
ScrollPaneDemo.crayons=\u305F\u304F\u3055\u3093\u306E\u30AF\u30EC\u30E8\u30F3
|
||||
ScrollPaneDemo.colheader=\u5217\u30D8\u30C3\u30C0\u30FC
|
||||
@@ -427,20 +427,20 @@ SliderDemo.vertical=\u5782\u76F4
|
||||
SliderDemo.plain=\u30D7\u30EC\u30FC\u30F3
|
||||
SliderDemo.a_plain_slider=\u30D7\u30EC\u30FC\u30F3\u306E\u30B9\u30E9\u30A4\u30C0
|
||||
SliderDemo.majorticks=\u5927\u76EE\u76DB
|
||||
SliderDemo.majorticksdescription=\u5927\u76EE\u76DB\u3092\u8868\u793A\u3059\u308B\u30B9\u30E9\u30A4\u30C0
|
||||
SliderDemo.ticks=\u5C0F\u76EE\u76DB\u3001Snap-to-ticks\u304A\u3088\u3073\u30E9\u30D9\u30EB
|
||||
SliderDemo.majorticksdescription=\u5927\u76EE\u76DB\u3092\u6301\u3064\u30B9\u30E9\u30A4\u30C0
|
||||
SliderDemo.ticks=\u5927\u5C0F\u76EE\u76DB\u3068\u30E9\u30D9\u30EB(SnapToTicks=true)
|
||||
SliderDemo.minorticks=\u5C0F\u76EE\u76DB
|
||||
SliderDemo.minorticksdescription=\u5927\u76EE\u76DB\u3068\u5C0F\u76EE\u76DB\u3092\u8868\u793A\u3059\u308B\u30B9\u30E9\u30A4\u30C0(\u76EE\u76DB\u30DE\u30FC\u30AF\u306B\u30B9\u30CA\u30C3\u30D7\u3059\u308B\u30B9\u30E9\u30A4\u30C0\u30FB\u30A2\u30AF\u30B7\u30E7\u30F3\u3042\u308A\u3001\u4E00\u90E8\u306E\u76EE\u76DB\u306F\u76EE\u7ACB\u3064\u30E9\u30D9\u30EB\u4ED8\u304D)
|
||||
SliderDemo.minorticksdescription=SnapToTicks=true\u3067\u5927\u76EE\u76DB\u3001\u5C0F\u76EE\u76DB\u304A\u3088\u3073\u30E9\u30D9\u30EB\u4ED8\u304D\u306E\u30B9\u30E9\u30A4\u30C0
|
||||
SliderDemo.disabled=\u7121\u52B9
|
||||
SliderDemo.disableddescription=\u7121\u52B9\u5316\u3055\u308C\u305F\u3001\u5927\u76EE\u76DB\u3068\u5C0F\u76EE\u76DB\u3092\u8868\u793A\u3059\u308B\u30B9\u30E9\u30A4\u30C0(\u64CD\u4F5C\u4E0D\u53EF)
|
||||
SliderDemo.disableddescription=\u5927\u5C0F\u306E\u76EE\u76DB\u3092\u6301\u3064\u7121\u52B9\u306A\u30B9\u30E9\u30A4\u30C0(\u64CD\u4F5C\u4E0D\u53EF)
|
||||
|
||||
### SplitPane Demo ###
|
||||
|
||||
SplitPaneDemo.accessible_description=JSplitPane\u30C7\u30E2
|
||||
SplitPaneDemo.name=Split Pane\u30C7\u30E2
|
||||
SplitPaneDemo.name=SplitPane\u30C7\u30E2
|
||||
SplitPaneDemo.tooltip=JSplitPane\u30C7\u30E2
|
||||
SplitPaneDemo.earth=\u6BCD\u306A\u308B\u5730\u7403
|
||||
SplitPaneDemo.moon=\u6708\u9762\u306E\u5B87\u5B99\u98DB\u884C\u58EB
|
||||
SplitPaneDemo.earth=\u5730\u7403
|
||||
SplitPaneDemo.moon=\u5B87\u5B99\u98DB\u884C\u58EB
|
||||
SplitPaneDemo.vert_split.labelAndMnemonic=\u5782\u76F4\u5206\u5272(&V)
|
||||
SplitPaneDemo.horz_split.labelAndMnemonic=\u6C34\u5E73\u5206\u5272(&R)
|
||||
SplitPaneDemo.cont_layout.labelAndMnemonic=\u9023\u7D9A\u3057\u305F\u30EC\u30A4\u30A2\u30A6\u30C8(&C)
|
||||
@@ -460,7 +460,7 @@ TabbedPaneDemo.accessible_description=\u3053\u306E\u30C7\u30E2\u3067\u306F\u3001
|
||||
TabbedPaneDemo.tooltip=JTabbedPane\u30C7\u30E2
|
||||
TabbedPaneDemo.name=TabbedPane\u30C7\u30E2
|
||||
|
||||
TabbedPaneDemo.bounce=<html><font color=blue><bold><center>Bouncing Babies!</center></bold></font></html>
|
||||
TabbedPaneDemo.bounce=<html><font color=blue><bold><center>\u5143\u6C17\u306A\u5B50\u4F9B\u9054\u3002</center></bold></font></html>
|
||||
TabbedPaneDemo.stephen=\u30B9\u30C6\u30A3\u30FC\u30F4\u30F3
|
||||
TabbedPaneDemo.david=\u30C7\u30A4\u30F4\u30A3\u30C3\u30C9
|
||||
TabbedPaneDemo.matthew=\u30DE\u30B7\u30E5\u30FC
|
||||
@@ -533,7 +533,7 @@ TableDemo.yellow=\u9EC4\u8272
|
||||
TableDemo.2001=2001\u5E74\u5B87\u5B99\u306E\u65C5
|
||||
TableDemo.buckaroo=\u30D0\u30AB\u30EB\u30FC\u30FB\u30D0\u30F3\u30B6\u30A4\u306E8\u6B21\u5143\u30AE\u30E3\u30E9\u30AF\u30B7\u30FC
|
||||
TableDemo.firstsight=\u3042\u306A\u305F\u304C\u898B\u3048\u306A\u304F\u3066\u3082
|
||||
TableDemo.airplane=\u30D5\u30E9\u30A4\u30F3\u30B0\u30FB\u30CF\u30A4(\u5168\u30B7\u30EA\u30FC\u30BA)
|
||||
TableDemo.airplane=\u30D5\u30E9\u30A4\u30F3\u30B0\u30FB\u30CF\u30A4(\u30B7\u30EA\u30FC\u30BA)
|
||||
TableDemo.aliens=\u30A8\u30A4\u30EA\u30A2\u30F3
|
||||
TableDemo.bicycle=\u81EA\u8EE2\u8ECA\u6CE5\u68D2
|
||||
TableDemo.bladerunner=\u30D6\u30EC\u30FC\u30C9\u30FB\u30E9\u30F3\u30CA\u30FC(\u30C7\u30A3\u30EC\u30AF\u30BF\u30FC\u30BA\u30FB\u30AB\u30C3\u30C8)
|
||||
@@ -541,18 +541,18 @@ TableDemo.bluesbros=\u30D6\u30EB\u30FC\u30B9\u30FB\u30D6\u30E9\u30B6\u30FC\u30B9
|
||||
TableDemo.brazil=\u672A\u6765\u4E16\u7D00\u30D6\u30E9\u30B8\u30EB
|
||||
TableDemo.bugs=\u30D0\u30B0\u30BA\u30FB\u30E9\u30A4\u30D5
|
||||
TableDemo.city=\u30ED\u30B9\u30C8\u30FB\u30C1\u30EB\u30C9\u30EC\u30F3
|
||||
TableDemo.chusingura=\u5FE0\u81E3\u8535(1962)
|
||||
TableDemo.chusingura=\u5FE0\u81E3\u8535
|
||||
TableDemo.clock=\u6642\u8A08\u4ED5\u639B\u3051\u306E\u30AA\u30EC\u30F3\u30B8
|
||||
TableDemo.curse=\u602A\u5947\u30DF\u30A4\u30E9\u7537
|
||||
TableDemo.dasboot=U\u30DC\u30FC\u30C8
|
||||
TableDemo.dazed=\u30D0\u30C3\u30C9\u30FB\u30C1\u30E5\u30FC\u30CB\u30F3\u30B0
|
||||
TableDemo.defending=\u3042\u306A\u305F\u306E\u6B7B\u5F8C\u306B\u3054\u7528\u5FC3
|
||||
TableDemo.eraserhead=\u30A4\u30EC\u30A4\u30B6\u30FC\u30D8\u30C3\u30C9
|
||||
TableDemo.eraserhead=\u30A4\u30EC\u30A4\u30B6\u30FB\u30D8\u30C3\u30C9
|
||||
TableDemo.fifthelement=\u30D5\u30A3\u30D5\u30B9\u30FB\u30A8\u30EC\u30E1\u30F3\u30C8
|
||||
TableDemo.goodfellas=\u30B0\u30C3\u30C9\u30FB\u30D5\u30A7\u30ED\u30FC\u30BA
|
||||
TableDemo.harold=\u30CF\u30ED\u30EB\u30C9\u3068\u30E2\u30FC\u30C9
|
||||
TableDemo.joyluck=\u30B8\u30E7\u30A4\u30FB\u30E9\u30C3\u30AF\u30FB\u30AF\u30E9\u30D6
|
||||
TableDemo.jules=\u7A81\u7136\u708E\u306E\u3054\u3068\u304F
|
||||
TableDemo.jules=\u7A81\u7136\u708E\u306E\u3054\u3068\u304F\u30B8\u30E5\u30FC\u30EB\u3068\u30B8\u30E0
|
||||
TableDemo.ladyvanishes=\u30EC\u30C7\u30A3\u30FB\u30D0\u30CB\u30C3\u30B7\u30E5/\u6697\u53F7\u3092\u6B4C\u3046\u5973
|
||||
TableDemo.mohicans=\u30E9\u30B9\u30C8\u30FB\u30AA\u30D6\u30FB\u30E2\u30D2\u30AB\u30F3
|
||||
TableDemo.lonestar=\u771F\u5B9F\u306E\u56C1\u304D
|
||||
@@ -581,7 +581,7 @@ TableDemo.cantaloupe=\u30E1\u30ED\u30F3
|
||||
TableDemo.corn=\u3068\u3046\u3082\u308D\u3053\u3057
|
||||
TableDemo.grapes=\u3076\u3069\u3046
|
||||
TableDemo.grapefruit=\u30B0\u30EC\u30FC\u30D7\u30D5\u30EB\u30FC\u30C4
|
||||
TableDemo.kiwi=\u30AD\u30A6\u30A3\u30FB\u30D5\u30EB\u30FC\u30C4
|
||||
TableDemo.kiwi=\u30AD\u30A6\u30A4\u30FB\u30D5\u30EB\u30FC\u30C4
|
||||
TableDemo.onion=\u7389\u306D\u304E
|
||||
TableDemo.pear=\u6D0B\u306A\u3057
|
||||
TableDemo.peach=\u6843
|
||||
@@ -624,15 +624,15 @@ TableDemo.printingFailed=\u5370\u5237\u30A8\u30E9\u30FC: {0}
|
||||
### ToolTip Demo ###
|
||||
|
||||
ToolTipDemo.accessible_description=ToolTip\u306F\u3001\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306B\u3064\u3044\u3066\u306E\u7C21\u5358\u306A\u8AAC\u660E\u3092\u8868\u793A\u3057\u307E\u3059\u3002
|
||||
ToolTipDemo.accessible_cow=\u3053\u308C\u306F\u96CC\u725B\u3067\u3059\u3002
|
||||
ToolTipDemo.accessible_cow=\u3053\u308C\u306F\u4E73\u725B\u3067\u3059
|
||||
ToolTipDemo.tooltip=ToolTip\u30C7\u30E2
|
||||
ToolTipDemo.name=ToolTip\u30C7\u30E2
|
||||
ToolTipDemo.bessie=\u96CC\u725B\u306E\u30D9\u30C3\u30B7\u30FC
|
||||
ToolTipDemo.cow=\u96CC\u725B\u3002
|
||||
ToolTipDemo.got_milk=\u725B\u4E73\u3042\u308B?
|
||||
ToolTipDemo.tail=\u3057\u3063\u307D\u3002
|
||||
ToolTipDemo.bessie=\u96CC\u725B\u306E\u30A8\u30EA\u30B6\u30D9\u30B9
|
||||
ToolTipDemo.cow=\u4E73\u725B
|
||||
ToolTipDemo.got_milk=\u725B\u4E73\u98F2\u3093\u3060?
|
||||
ToolTipDemo.tail=\u3057\u3063\u307D
|
||||
ToolTipDemo.moo=\u30E2\u30A9\u30A9\u30A9\u30A9!
|
||||
ToolTipDemo.tooltip_features=<html>\u3082\u3057\u3084\u3042\u306A\u305F\u306F\u3001\u30C4\u30FC\u30EB\u30FB\u30C1\u30C3\u30D7\u306F\u300C1\u884C\u306E\u30D7\u30EC\u30FC\u30F3\u30FB\u30C6\u30AD\u30B9\u30C8\u300D\u3057\u304B<p>\u8868\u793A\u3067\u304D\u306A\u3044\u9000\u5C48\u306A\u3082\u306E\u3060\u306A\u3093\u3066\u601D\u3063\u3066\u3084\u3057\u307E\u305B\u3093\u304B\u3002<p>\u3060\u3068\u3057\u305F\u3089\u3001\u79C1\u305F\u3061<font color=blue size=+2>Swing!</font>\u30C1\u30FC\u30E0\u304C\u305D\u306E\u8AA4\u89E3\u3092\u89E3\u3044\u3066\u3042\u3052\u307E\u3057\u3087\u3046\u3002<p>Swing\u306EToolTip\u306F\u3001HTML\u3092\u4F7F\u7528\u3057\u3066<ul><li>List\u3092\u6301\u3063\u305F\u308A\u3001<li><b>\u592A\u5B57</b>\u306B\u3057\u305F\u308A\u3001<li><em>\u5F37\u8ABF</em>\u306B\u3057\u305F\u308A\u3001<li>\u6587\u5B57\u306B<font color=red>\u8272</font>\u3092\u4ED8\u3051\u305F\u308A\u3001<li><font size=+3>\u30B5\u30A4\u30BA</font>\u3092\u5909\u3048\u305F\u308A\u3001<li><font face=AvantGarde>\u30D5\u30A9\u30F3\u30C8</font>\u3092\u5909\u3048\u305F\u308A\u3001</ul>\u305D\u3046\u305D\u3046\u3001\u3082\u3061\u308D\u3093\u8907\u6570\u884C\u306B\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u3061\u3083\u3046\u306E\u3067\u3059\u3002\u306D\u3063\u3002</html>
|
||||
ToolTipDemo.tooltip_features=<html>\u3082\u3057\u3084\u3042\u306A\u305F\u306F\u3001\u30C4\u30FC\u30EB\u30FB\u30C1\u30C3\u30D7\u306F\u300C1\u884C\u306E\u30D7\u30EC\u30A4\u30F3\u30FB\u30C6\u30AD\u30B9\u30C8\u300D\u3057\u304B<p>\u8868\u793A\u3067\u304D\u306A\u3044\u9000\u5C48\u306A\u3082\u306E\u3060\u306A\u3093\u3066\u601D\u3063\u3066\u3084\u3057\u307E\u305B\u3093\u304B\u3002<p>\u3060\u3068\u3057\u305F\u3089\u3001\u79C1\u305F\u3061<font color=blue size=+2>Swing!</font>\u30C1\u30FC\u30E0\u304C\u305D\u306E\u8AA4\u89E3\u3092\u89E3\u3044\u3066\u3042\u3052\u307E\u3057\u3087\u3046\u3002<p>Swing\u306EToolTip\u306F\u3001HTML\u3092\u4F7F\u7528\u3057\u3066<ul><li>List\u3092\u6301\u3063\u305F\u308A\u3001<li><b>\u592A\u5B57</b>\u306B\u3057\u305F\u308A\u3001<li><em>\u30A4\u30BF\u30EA\u30C3\u30AF</em>\u306B\u3057\u305F\u308A\u3001<li>\u6587\u5B57\u306B<font color=red>\u8272</font>\u3092\u4ED8\u3051\u305F\u308A\u3001<li><font size=+3>\u30B5\u30A4\u30BA</font>\u3092\u5909\u3048\u305F\u308A\u3001<li><font face=AvantGarde>\u30D5\u30A9\u30F3\u30C8</font>\u3092\u5909\u3048\u305F\u308A\u3001</ul>\u305D\u3046\u305D\u3046\u3001\u3082\u3061\u308D\u3093\u8907\u6570\u884C\u306B\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u3061\u3083\u3046\u306E\u3067\u3059\u3002\u306D\u3063\u3002</html>
|
||||
|
||||
|
||||
### Tree Demo ###
|
||||
|
||||
@@ -319,9 +319,9 @@ InternalFrameDemo.closable.labelAndMnemonic=\u53EF\u5173\u95ED
|
||||
InternalFrameDemo.resizable.labelAndMnemonic=\u53EF\u8C03\u6574\u5927\u5C0F
|
||||
InternalFrameDemo.iconifiable.labelAndMnemonic=\u53EF\u56FE\u6807\u5316
|
||||
InternalFrameDemo.maximizable.labelAndMnemonic=\u53EF\u6700\u5927\u5316
|
||||
InternalFrameDemo.toast=Cheers
|
||||
InternalFrameDemo.duke=Your Grace
|
||||
InternalFrameDemo.duchess=Duchess
|
||||
InternalFrameDemo.toast=\u5E72\u676F
|
||||
InternalFrameDemo.duke=\u9601\u4E0B\uFF01
|
||||
InternalFrameDemo.duchess=\u516C\u7235\u592B\u4EBA
|
||||
InternalFrameDemo.cab=\u8C01\u9700\u8981\u51FA\u79DF\u8F66?
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
// Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||
// Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
// Copyright (c) 2014, 2019, Red Hat, Inc. 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
|
||||
@@ -1471,7 +1471,7 @@ source %{
|
||||
// Ctl+Mem to a StoreB node (which does the actual card mark).
|
||||
//
|
||||
// n.b. a StoreCM node will only appear in this configuration when
|
||||
// using CMS. StoreCM differs from a normal card mark write (StoreB)
|
||||
// using CMS or G1. StoreCM differs from a normal card mark write (StoreB)
|
||||
// because it implies a requirement to order visibility of the card
|
||||
// mark (StoreCM) relative to the object put (StoreP/N) using a
|
||||
// StoreStore memory barrier (arguably this ought to be represented
|
||||
@@ -1481,16 +1481,12 @@ source %{
|
||||
// the sequence
|
||||
//
|
||||
// dmb ishst
|
||||
// stlrb
|
||||
// strb
|
||||
//
|
||||
// However, in the case of a volatile put if we can recognise this
|
||||
// configuration and plant an stlr for the object write then we can
|
||||
// omit the dmb and just plant an strb since visibility of the stlr
|
||||
// is ordered before visibility of subsequent stores. StoreCM nodes
|
||||
// also arise when using G1 or using CMS with conditional card
|
||||
// marking. In these cases (as we shall see) we don't need to insert
|
||||
// the dmb when translating StoreCM because there is already an
|
||||
// intervening StoreLoad barrier between it and the StoreP/N.
|
||||
// However, when using G1 or CMS with conditional card marking (as
|
||||
// we shall see) we don't need to insert the dmb when translating
|
||||
// StoreCM because there is already an intervening StoreLoad barrier
|
||||
// between it and the StoreP/N.
|
||||
//
|
||||
// It is also possible to perform the card mark conditionally on it
|
||||
// currently being unmarked in which case the volatile put graph
|
||||
@@ -2868,50 +2864,17 @@ bool unnecessary_storestore(const Node *storecm)
|
||||
{
|
||||
assert(storecm->Opcode() == Op_StoreCM, "expecting a StoreCM");
|
||||
|
||||
// we only ever need to generate a dmb ishst between an object put
|
||||
// and the associated card mark when we are using CMS without
|
||||
// conditional card marking
|
||||
// we need to generate a dmb ishst between an object put and the
|
||||
// associated card mark when we are using CMS without conditional
|
||||
// card marking
|
||||
|
||||
if (!UseConcMarkSweepGC || UseCondCardMark) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// if we are implementing volatile puts using barriers then the
|
||||
// object put is an str so we must insert the dmb ishst
|
||||
|
||||
if (UseBarriersForVolatile) {
|
||||
if (UseConcMarkSweepGC && !UseCondCardMark) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// we can omit the dmb ishst if this StoreCM is part of a volatile
|
||||
// put because in thta case the put will be implemented by stlr
|
||||
//
|
||||
// we need to check for a normal subgraph feeding this StoreCM.
|
||||
// that means the StoreCM must be fed Memory from a leading membar,
|
||||
// either a MemBarRelease or its dependent MemBarCPUOrder, and the
|
||||
// leading membar must be part of a normal subgraph
|
||||
// a storestore is unnecesary in all other cases
|
||||
|
||||
Node *x = storecm->in(StoreNode::Memory);
|
||||
|
||||
if (!x->is_Proj()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
x = x->in(0);
|
||||
|
||||
if (!x->is_MemBar()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
MemBarNode *leading = x->as_MemBar();
|
||||
|
||||
// reject invalid candidates
|
||||
if (!leading_membar(leading)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// we can omit the StoreStore if it is the head of a normal subgraph
|
||||
return (leading_to_normal(leading) != NULL);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -4854,13 +4817,7 @@ encode %{
|
||||
|
||||
// Handle existing monitor
|
||||
if ((EmitSync & 0x02) == 0) {
|
||||
// we can use AArch64's bit test and branch here but
|
||||
// markoopDesc does not define a bit index just the bit value
|
||||
// so assert in case the bit pos changes
|
||||
# define __monitor_value_log2 1
|
||||
assert(markOopDesc::monitor_value == (1 << __monitor_value_log2), "incorrect bit position");
|
||||
__ tbnz(disp_hdr, __monitor_value_log2, object_has_monitor);
|
||||
# undef __monitor_value_log2
|
||||
__ tbnz(disp_hdr, exact_log2(markOopDesc::monitor_value), object_has_monitor);
|
||||
}
|
||||
|
||||
// Set displaced_header to be (markOop of object | UNLOCK_VALUE).
|
||||
@@ -4892,14 +4849,6 @@ encode %{
|
||||
__ b(retry_load);
|
||||
}
|
||||
|
||||
// Formerly:
|
||||
// __ cmpxchgptr(/*oldv=*/disp_hdr,
|
||||
// /*newv=*/box,
|
||||
// /*addr=*/oop,
|
||||
// /*tmp=*/tmp,
|
||||
// cont,
|
||||
// /*fail*/NULL);
|
||||
|
||||
assert(oopDesc::mark_offset_in_bytes() == 0, "offset of _mark is not 0");
|
||||
|
||||
// If the compare-and-exchange succeeded, then we found an unlocked
|
||||
@@ -4948,43 +4897,19 @@ encode %{
|
||||
__ bind(fail);
|
||||
}
|
||||
|
||||
// Label next;
|
||||
// __ cmpxchgptr(/*oldv=*/disp_hdr,
|
||||
// /*newv=*/rthread,
|
||||
// /*addr=*/tmp,
|
||||
// /*tmp=*/rscratch1,
|
||||
// /*succeed*/next,
|
||||
// /*fail*/NULL);
|
||||
// __ bind(next);
|
||||
|
||||
// store a non-null value into the box.
|
||||
__ str(box, Address(box, BasicLock::displaced_header_offset_in_bytes()));
|
||||
|
||||
// PPC port checks the following invariants
|
||||
// #ifdef ASSERT
|
||||
// bne(flag, cont);
|
||||
// We have acquired the monitor, check some invariants.
|
||||
// addw(/*monitor=*/tmp, tmp, -ObjectMonitor::owner_offset_in_bytes());
|
||||
// Invariant 1: _recursions should be 0.
|
||||
// assert(ObjectMonitor::recursions_size_in_bytes() == 8, "unexpected size");
|
||||
// assert_mem8_is_zero(ObjectMonitor::recursions_offset_in_bytes(), tmp,
|
||||
// "monitor->_recursions should be 0", -1);
|
||||
// Invariant 2: OwnerIsThread shouldn't be 0.
|
||||
// assert(ObjectMonitor::OwnerIsThread_size_in_bytes() == 4, "unexpected size");
|
||||
//assert_mem4_isnot_zero(ObjectMonitor::OwnerIsThread_offset_in_bytes(), tmp,
|
||||
// "monitor->OwnerIsThread shouldn't be 0", -1);
|
||||
// #endif
|
||||
// Store a non-null value into the box to avoid looking like a re-entrant
|
||||
// lock. The fast-path monitor unlock code checks for
|
||||
// markOopDesc::monitor_value so use markOopDesc::unused_mark which has the
|
||||
// relevant bit set, and also matches ObjectSynchronizer::slow_enter.
|
||||
__ mov(tmp, (address)markOopDesc::unused_mark());
|
||||
__ str(tmp, Address(box, BasicLock::displaced_header_offset_in_bytes()));
|
||||
}
|
||||
|
||||
__ bind(cont);
|
||||
// flag == EQ indicates success
|
||||
// flag == NE indicates failure
|
||||
|
||||
%}
|
||||
|
||||
// TODO
|
||||
// reimplement this with custom cmpxchgptr code
|
||||
// which avoids some of the unnecessary branching
|
||||
enc_class aarch64_enc_fast_unlock(iRegP object, iRegP box, iRegP tmp, iRegP tmp2) %{
|
||||
MacroAssembler _masm(&cbuf);
|
||||
Register oop = as_Register($object$$reg);
|
||||
@@ -4993,7 +4918,6 @@ encode %{
|
||||
Register tmp = as_Register($tmp2$$reg);
|
||||
Label cont;
|
||||
Label object_has_monitor;
|
||||
Label cas_failed;
|
||||
|
||||
assert_different_registers(oop, box, tmp, disp_hdr);
|
||||
|
||||
@@ -5014,7 +4938,6 @@ encode %{
|
||||
__ cmp(disp_hdr, zr);
|
||||
__ br(Assembler::EQ, cont);
|
||||
|
||||
|
||||
// Handle existing monitor.
|
||||
if ((EmitSync & 0x02) == 0) {
|
||||
__ ldr(tmp, Address(oop, oopDesc::mark_offset_in_bytes()));
|
||||
@@ -5025,38 +4948,29 @@ encode %{
|
||||
// see the stack address of the basicLock in the markOop of the
|
||||
// object.
|
||||
|
||||
if (UseLSE) {
|
||||
__ mov(tmp, box);
|
||||
__ casl(Assembler::xword, tmp, disp_hdr, oop);
|
||||
__ cmp(tmp, box);
|
||||
} else {
|
||||
Label retry_load;
|
||||
if ((VM_Version::features() & VM_Version::CPU_STXR_PREFETCH))
|
||||
__ prfm(Address(oop), PSTL1STRM);
|
||||
__ bind(retry_load);
|
||||
__ ldxr(tmp, oop);
|
||||
__ cmp(box, tmp);
|
||||
__ br(Assembler::NE, cas_failed);
|
||||
// use stlxr to ensure update is immediately visible
|
||||
__ stlxr(tmp, disp_hdr, oop);
|
||||
__ cbzw(tmp, cont);
|
||||
__ b(retry_load);
|
||||
}
|
||||
if (UseLSE) {
|
||||
__ mov(tmp, box);
|
||||
__ casl(Assembler::xword, tmp, disp_hdr, oop);
|
||||
__ cmp(tmp, box);
|
||||
__ b(cont);
|
||||
} else {
|
||||
Label retry_load;
|
||||
if ((VM_Version::features() & VM_Version::CPU_STXR_PREFETCH))
|
||||
__ prfm(Address(oop), PSTL1STRM);
|
||||
__ bind(retry_load);
|
||||
__ ldxr(tmp, oop);
|
||||
__ cmp(box, tmp);
|
||||
__ br(Assembler::NE, cont);
|
||||
// use stlxr to ensure update is immediately visible
|
||||
__ stlxr(tmp, disp_hdr, oop);
|
||||
__ cbzw(tmp, cont);
|
||||
__ b(retry_load);
|
||||
}
|
||||
|
||||
// __ cmpxchgptr(/*compare_value=*/box,
|
||||
// /*exchange_value=*/disp_hdr,
|
||||
// /*where=*/oop,
|
||||
// /*result=*/tmp,
|
||||
// cont,
|
||||
// /*cas_failed*/NULL);
|
||||
assert(oopDesc::mark_offset_in_bytes() == 0, "offset of _mark is not 0");
|
||||
|
||||
__ bind(cas_failed);
|
||||
|
||||
// Handle existing monitor.
|
||||
if ((EmitSync & 0x02) == 0) {
|
||||
__ b(cont);
|
||||
|
||||
__ bind(object_has_monitor);
|
||||
__ add(tmp, tmp, -markOopDesc::monitor_value); // monitor
|
||||
__ ldr(rscratch1, Address(tmp, ObjectMonitor::owner_offset_in_bytes()));
|
||||
@@ -5073,7 +4987,7 @@ encode %{
|
||||
__ cbnz(rscratch1, cont);
|
||||
// need a release store here
|
||||
__ lea(tmp, Address(tmp, ObjectMonitor::owner_offset_in_bytes()));
|
||||
__ stlr(rscratch1, tmp); // rscratch1 is zero
|
||||
__ stlr(zr, tmp); // set unowned
|
||||
}
|
||||
|
||||
__ bind(cont);
|
||||
@@ -9824,8 +9738,7 @@ instruct compareAndExchangeB(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
|
||||
"cmpxchg $res = $mem, $oldval, $newval\t# (byte, weak) if $mem == $oldval then $mem <-- $newval"
|
||||
%}
|
||||
ins_encode %{
|
||||
__ uxtbw(rscratch2, $oldval$$Register);
|
||||
__ cmpxchg($mem$$Register, rscratch2, $newval$$Register,
|
||||
__ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register,
|
||||
Assembler::byte, /*acquire*/ false, /*release*/ true,
|
||||
/*weak*/ false, $res$$Register);
|
||||
__ sxtbw($res$$Register, $res$$Register);
|
||||
@@ -9841,8 +9754,7 @@ instruct compareAndExchangeS(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
|
||||
"cmpxchg $res = $mem, $oldval, $newval\t# (short, weak) if $mem == $oldval then $mem <-- $newval"
|
||||
%}
|
||||
ins_encode %{
|
||||
__ uxthw(rscratch2, $oldval$$Register);
|
||||
__ cmpxchg($mem$$Register, rscratch2, $newval$$Register,
|
||||
__ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register,
|
||||
Assembler::halfword, /*acquire*/ false, /*release*/ true,
|
||||
/*weak*/ false, $res$$Register);
|
||||
__ sxthw($res$$Register, $res$$Register);
|
||||
@@ -9919,8 +9831,7 @@ instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
|
||||
"csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)"
|
||||
%}
|
||||
ins_encode %{
|
||||
__ uxtbw(rscratch2, $oldval$$Register);
|
||||
__ cmpxchg($mem$$Register, rscratch2, $newval$$Register,
|
||||
__ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register,
|
||||
Assembler::byte, /*acquire*/ false, /*release*/ true,
|
||||
/*weak*/ true, noreg);
|
||||
__ csetw($res$$Register, Assembler::EQ);
|
||||
@@ -9937,8 +9848,7 @@ instruct weakCompareAndSwapS(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
|
||||
"csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)"
|
||||
%}
|
||||
ins_encode %{
|
||||
__ uxthw(rscratch2, $oldval$$Register);
|
||||
__ cmpxchg($mem$$Register, rscratch2, $newval$$Register,
|
||||
__ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register,
|
||||
Assembler::halfword, /*acquire*/ false, /*release*/ true,
|
||||
/*weak*/ true, noreg);
|
||||
__ csetw($res$$Register, Assembler::EQ);
|
||||
@@ -15624,9 +15534,10 @@ instruct cmpFastUnlock(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp, iRe
|
||||
// TODO
|
||||
// provide a near and far version of this code
|
||||
|
||||
instruct safePoint(iRegP poll)
|
||||
instruct safePoint(rFlagsReg cr, iRegP poll)
|
||||
%{
|
||||
match(SafePoint poll);
|
||||
effect(KILL cr);
|
||||
|
||||
format %{
|
||||
"ldrw zr, [$poll]\t# Safepoint: poll for GC"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
|
||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, 2019, Red Hat Inc. 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
|
||||
@@ -317,29 +317,6 @@ namespace ext
|
||||
enum operation { uxtb, uxth, uxtw, uxtx, sxtb, sxth, sxtw, sxtx };
|
||||
};
|
||||
|
||||
// abs methods which cannot overflow and so are well-defined across
|
||||
// the entire domain of integer types.
|
||||
static inline unsigned int uabs(unsigned int n) {
|
||||
union {
|
||||
unsigned int result;
|
||||
int value;
|
||||
};
|
||||
result = n;
|
||||
if (value < 0) result = -result;
|
||||
return result;
|
||||
}
|
||||
static inline unsigned long uabs(unsigned long n) {
|
||||
union {
|
||||
unsigned long result;
|
||||
long value;
|
||||
};
|
||||
result = n;
|
||||
if (value < 0) result = -result;
|
||||
return result;
|
||||
}
|
||||
static inline unsigned long uabs(long n) { return uabs((unsigned long)n); }
|
||||
static inline unsigned long uabs(int n) { return uabs((unsigned int)n); }
|
||||
|
||||
// Addressing modes
|
||||
class Address {
|
||||
public:
|
||||
@@ -1142,7 +1119,7 @@ public:
|
||||
Register Rn, enum operand_size sz, int op, bool ordered) {
|
||||
starti;
|
||||
f(sz, 31, 30), f(0b001000, 29, 24), f(op, 23, 21);
|
||||
rf(Rs, 16), f(ordered, 15), rf(Rt2, 10), rf(Rn, 5), rf(Rt1, 0);
|
||||
rf(Rs, 16), f(ordered, 15), rf(Rt2, 10), srf(Rn, 5), zrf(Rt1, 0);
|
||||
}
|
||||
|
||||
void load_exclusive(Register dst, Register addr,
|
||||
@@ -1507,6 +1484,25 @@ public:
|
||||
INSN(eorw, 0, 0b10, 0);
|
||||
INSN(andsw, 0, 0b11, 0);
|
||||
|
||||
#undef INSN
|
||||
|
||||
#define INSN(NAME, size, op, N) \
|
||||
void NAME(Register Rd, Register Rn, Register Rm, \
|
||||
enum shift_kind kind = LSL, unsigned shift = 0) { \
|
||||
starti; \
|
||||
f(N, 21); \
|
||||
zrf(Rm, 16), zrf(Rn, 5), zrf(Rd, 0); \
|
||||
op_shifted_reg(0b01010, kind, shift, size, op); \
|
||||
} \
|
||||
\
|
||||
/* These instructions have no immediate form. Provide an overload so \
|
||||
that if anyone does try to use an immediate operand -- this has \
|
||||
happened! -- we'll get a compile-time error. */ \
|
||||
void NAME(Register Rd, Register Rn, unsigned imm, \
|
||||
enum shift_kind kind = LSL, unsigned shift = 0) { \
|
||||
assert(false, " can't be used with immediate operand"); \
|
||||
}
|
||||
|
||||
INSN(bic, 1, 0b00, 1);
|
||||
INSN(orn, 1, 0b01, 1);
|
||||
INSN(eon, 1, 0b10, 1);
|
||||
|
||||
@@ -2214,7 +2214,7 @@ void LIR_Assembler::emit_arraycopy(LIR_OpArrayCopy* op) {
|
||||
__ ldr(src, Address(sp, 4*BytesPerWord));
|
||||
|
||||
// r0 is -1^K where K == partial copied count
|
||||
__ eonw(rscratch1, r0, 0);
|
||||
__ eonw(rscratch1, r0, zr);
|
||||
// adjust length down and src/end pos up by partial copied count
|
||||
__ subw(length, length, rscratch1);
|
||||
__ addw(src_pos, src_pos, rscratch1);
|
||||
@@ -2789,7 +2789,10 @@ void LIR_Assembler::align_backward_branch_target() {
|
||||
}
|
||||
|
||||
|
||||
void LIR_Assembler::negate(LIR_Opr left, LIR_Opr dest) {
|
||||
void LIR_Assembler::negate(LIR_Opr left, LIR_Opr dest, LIR_Opr tmp) {
|
||||
// tmp must be unused
|
||||
assert(tmp->is_illegal(), "wasting a register if tmp is allocated");
|
||||
|
||||
if (left->is_single_cpu()) {
|
||||
assert(dest->is_single_cpu(), "expect single result reg");
|
||||
__ negw(dest->as_register(), left->as_register());
|
||||
|
||||
@@ -687,8 +687,11 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
|
||||
__ set_info("fast new_instance init check", dont_gc_arguments);
|
||||
}
|
||||
|
||||
// If TLAB is disabled, see if there is support for inlining contiguous
|
||||
// allocations.
|
||||
// Otherwise, just go to the slow path.
|
||||
if ((id == fast_new_instance_id || id == fast_new_instance_init_check_id) &&
|
||||
UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
|
||||
!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
|
||||
Label slow_path;
|
||||
Register obj_size = r2;
|
||||
Register t1 = r19;
|
||||
@@ -799,7 +802,10 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
|
||||
}
|
||||
#endif // ASSERT
|
||||
|
||||
if (UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
|
||||
// If TLAB is disabled, see if there is support for inlining contiguous
|
||||
// allocations.
|
||||
// Otherwise, just go to the slow path.
|
||||
if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
|
||||
Register arr_size = r4;
|
||||
Register t1 = r2;
|
||||
Register t2 = r5;
|
||||
|
||||
@@ -24,9 +24,6 @@
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "c1/c1_LIRAssembler.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "gc/g1/c1/g1BarrierSetC1.hpp"
|
||||
#include "gc/g1/g1BarrierSet.hpp"
|
||||
#include "gc/g1/g1BarrierSetAssembler.hpp"
|
||||
#include "gc/g1/g1BarrierSetRuntime.hpp"
|
||||
@@ -38,6 +35,11 @@
|
||||
#include "runtime/thread.hpp"
|
||||
#include "interpreter/interp_masm.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#ifdef COMPILER1
|
||||
#include "c1/c1_LIRAssembler.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "gc/g1/c1/g1BarrierSetC1.hpp"
|
||||
#endif
|
||||
|
||||
#define __ masm->
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ define_pd_global(intx, InlineSmallCode, 1000);
|
||||
product(int, SoftwarePrefetchHintDistance, -1, \
|
||||
"Use prfm hint with specified distance in compiled code." \
|
||||
"Value -1 means off.") \
|
||||
range(-1, 32760)
|
||||
range(-1, 4096)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -739,11 +739,19 @@ address MacroAssembler::trampoline_call(Address entry, CodeBuffer *cbuf) {
|
||||
|| entry.rspec().type() == relocInfo::static_call_type
|
||||
|| entry.rspec().type() == relocInfo::virtual_call_type, "wrong reloc type");
|
||||
|
||||
unsigned int start_offset = offset();
|
||||
if (far_branches() && !Compile::current()->in_scratch_emit_size()) {
|
||||
address stub = emit_trampoline_stub(start_offset, entry.target());
|
||||
if (stub == NULL) {
|
||||
return NULL; // CodeCache is full
|
||||
// We need a trampoline if branches are far.
|
||||
if (far_branches()) {
|
||||
// We don't want to emit a trampoline if C2 is generating dummy
|
||||
// code during its branch shortening phase.
|
||||
CompileTask* task = ciEnv::current()->task();
|
||||
bool in_scratch_emit_size =
|
||||
(task != NULL && is_c2_compile(task->comp_level()) &&
|
||||
Compile::current()->in_scratch_emit_size());
|
||||
if (!in_scratch_emit_size) {
|
||||
address stub = emit_trampoline_stub(offset(), entry.target());
|
||||
if (stub == NULL) {
|
||||
return NULL; // CodeCache is full
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -804,6 +812,15 @@ address MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,
|
||||
return stub_start_addr;
|
||||
}
|
||||
|
||||
void MacroAssembler::c2bool(Register x) {
|
||||
// implements x == 0 ? 0 : 1
|
||||
// note: must only look at least-significant byte of x
|
||||
// since C-style booleans are stored in one byte
|
||||
// only! (was bug)
|
||||
tst(x, 0xff);
|
||||
cset(x, Assembler::NE);
|
||||
}
|
||||
|
||||
address MacroAssembler::ic_call(address entry, jint method_index) {
|
||||
RelocationHolder rh = virtual_call_Relocation::spec(pc(), method_index);
|
||||
// address const_ptr = long_constant((jlong)Universe::non_oop_word());
|
||||
@@ -2144,6 +2161,14 @@ void MacroAssembler::stop(const char* msg) {
|
||||
hlt(0);
|
||||
}
|
||||
|
||||
void MacroAssembler::warn(const char* msg) {
|
||||
pusha();
|
||||
mov(c_rarg0, (address)msg);
|
||||
mov(lr, CAST_FROM_FN_PTR(address, warning));
|
||||
blrt(lr, 1, 0, MacroAssembler::ret_type_void);
|
||||
popa();
|
||||
}
|
||||
|
||||
void MacroAssembler::unimplemented(const char* what) {
|
||||
const char* buf = NULL;
|
||||
{
|
||||
@@ -2340,21 +2365,18 @@ void MacroAssembler::cmpxchg(Register addr, Register expected,
|
||||
bool weak,
|
||||
Register result) {
|
||||
if (result == noreg) result = rscratch1;
|
||||
BLOCK_COMMENT("cmpxchg {");
|
||||
if (UseLSE) {
|
||||
mov(result, expected);
|
||||
lse_cas(result, new_val, addr, size, acquire, release, /*not_pair*/ true);
|
||||
cmp(result, expected);
|
||||
compare_eq(result, expected, size);
|
||||
} else {
|
||||
BLOCK_COMMENT("cmpxchg {");
|
||||
Label retry_load, done;
|
||||
if ((VM_Version::features() & VM_Version::CPU_STXR_PREFETCH))
|
||||
prfm(Address(addr), PSTL1STRM);
|
||||
bind(retry_load);
|
||||
load_exclusive(result, addr, size, acquire);
|
||||
if (size == xword)
|
||||
cmp(result, expected);
|
||||
else
|
||||
cmpw(result, expected);
|
||||
compare_eq(result, expected, size);
|
||||
br(Assembler::NE, done);
|
||||
store_exclusive(rscratch1, new_val, addr, size, release);
|
||||
if (weak) {
|
||||
@@ -2363,10 +2385,28 @@ void MacroAssembler::cmpxchg(Register addr, Register expected,
|
||||
cbnzw(rscratch1, retry_load);
|
||||
}
|
||||
bind(done);
|
||||
BLOCK_COMMENT("} cmpxchg");
|
||||
}
|
||||
BLOCK_COMMENT("} cmpxchg");
|
||||
}
|
||||
|
||||
// A generic comparison. Only compares for equality, clobbers rscratch1.
|
||||
void MacroAssembler::compare_eq(Register rm, Register rn, enum operand_size size) {
|
||||
if (size == xword) {
|
||||
cmp(rm, rn);
|
||||
} else if (size == word) {
|
||||
cmpw(rm, rn);
|
||||
} else if (size == halfword) {
|
||||
eorw(rscratch1, rm, rn);
|
||||
ands(zr, rscratch1, 0xffff);
|
||||
} else if (size == byte) {
|
||||
eorw(rscratch1, rm, rn);
|
||||
ands(zr, rscratch1, 0xff);
|
||||
} else {
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static bool different(Register a, RegisterOrConstant b, Register c) {
|
||||
if (b.is_constant())
|
||||
return a != c;
|
||||
@@ -4848,7 +4888,7 @@ void MacroAssembler::string_compare(Register str1, Register str2,
|
||||
|
||||
// A very short string
|
||||
cmpw(cnt2, minCharsInWord);
|
||||
br(Assembler::LT, SHORT_STRING);
|
||||
br(Assembler::LE, SHORT_STRING);
|
||||
|
||||
// Compare longwords
|
||||
// load first parts of strings and finish initialization while loading
|
||||
@@ -4872,8 +4912,7 @@ void MacroAssembler::string_compare(Register str1, Register str2,
|
||||
ldr(tmp2, Address(str2));
|
||||
cmp(cnt2, STUB_THRESHOLD);
|
||||
br(GE, STUB);
|
||||
subsw(cnt2, cnt2, 4);
|
||||
br(EQ, TAIL_CHECK);
|
||||
subw(cnt2, cnt2, 4);
|
||||
eor(vtmpZ, T16B, vtmpZ, vtmpZ);
|
||||
lea(str1, Address(str1, cnt2, Address::uxtw(str1_chr_shift)));
|
||||
lea(str2, Address(str2, cnt2, Address::uxtw(str2_chr_shift)));
|
||||
@@ -4889,8 +4928,7 @@ void MacroAssembler::string_compare(Register str1, Register str2,
|
||||
ldrs(vtmp, Address(str2));
|
||||
cmp(cnt2, STUB_THRESHOLD);
|
||||
br(GE, STUB);
|
||||
subsw(cnt2, cnt2, 4);
|
||||
br(EQ, TAIL_CHECK);
|
||||
subw(cnt2, cnt2, 4);
|
||||
lea(str1, Address(str1, cnt2, Address::uxtw(str1_chr_shift)));
|
||||
eor(vtmpZ, T16B, vtmpZ, vtmpZ);
|
||||
lea(str2, Address(str2, cnt2, Address::uxtw(str2_chr_shift)));
|
||||
@@ -5601,12 +5639,12 @@ void MacroAssembler::encode_iso_array(Register src, Register dst,
|
||||
orr(v5, T16B, Vtmp3, Vtmp4);
|
||||
uzp1(Vtmp1, T16B, Vtmp1, Vtmp2);
|
||||
uzp1(Vtmp3, T16B, Vtmp3, Vtmp4);
|
||||
stpq(Vtmp1, Vtmp3, dst);
|
||||
uzp2(v5, T16B, v4, v5); // high bytes
|
||||
umov(tmp2, v5, D, 1);
|
||||
fmovd(tmp1, v5);
|
||||
orr(tmp1, tmp1, tmp2);
|
||||
cbnz(tmp1, LOOP_8);
|
||||
stpq(Vtmp1, Vtmp3, dst);
|
||||
sub(len, len, 32);
|
||||
add(dst, dst, 32);
|
||||
add(src, src, 64);
|
||||
@@ -5624,7 +5662,6 @@ void MacroAssembler::encode_iso_array(Register src, Register dst,
|
||||
prfm(Address(src, SoftwarePrefetchHintDistance));
|
||||
uzp1(v4, T16B, Vtmp1, Vtmp2);
|
||||
uzp1(v5, T16B, Vtmp3, Vtmp4);
|
||||
stpq(v4, v5, dst);
|
||||
orr(Vtmp1, T16B, Vtmp1, Vtmp2);
|
||||
orr(Vtmp3, T16B, Vtmp3, Vtmp4);
|
||||
uzp2(Vtmp1, T16B, Vtmp1, Vtmp3); // high bytes
|
||||
@@ -5632,6 +5669,7 @@ void MacroAssembler::encode_iso_array(Register src, Register dst,
|
||||
fmovd(tmp1, Vtmp1);
|
||||
orr(tmp1, tmp1, tmp2);
|
||||
cbnz(tmp1, LOOP_8);
|
||||
stpq(v4, v5, dst);
|
||||
sub(len, len, 32);
|
||||
add(dst, dst, 32);
|
||||
add(src, src, 64);
|
||||
@@ -5646,9 +5684,9 @@ void MacroAssembler::encode_iso_array(Register src, Register dst,
|
||||
ld1(Vtmp1, T8H, src);
|
||||
uzp1(Vtmp2, T16B, Vtmp1, Vtmp1); // low bytes
|
||||
uzp2(Vtmp3, T16B, Vtmp1, Vtmp1); // high bytes
|
||||
strd(Vtmp2, dst);
|
||||
fmovd(tmp1, Vtmp3);
|
||||
cbnz(tmp1, NEXT_1);
|
||||
strd(Vtmp2, dst);
|
||||
|
||||
sub(len, len, 8);
|
||||
add(dst, dst, 8);
|
||||
@@ -5661,9 +5699,9 @@ void MacroAssembler::encode_iso_array(Register src, Register dst,
|
||||
cbz(len, DONE);
|
||||
BIND(NEXT_1);
|
||||
ldrh(tmp1, Address(post(src, 2)));
|
||||
strb(tmp1, Address(post(dst, 1)));
|
||||
tst(tmp1, 0xff00);
|
||||
br(NE, SET_RESULT);
|
||||
strb(tmp1, Address(post(dst, 1)));
|
||||
subs(len, len, 1);
|
||||
br(GT, NEXT_1);
|
||||
|
||||
|
||||
@@ -781,6 +781,9 @@ public:
|
||||
|
||||
void resolve_jobject(Register value, Register thread, Register tmp);
|
||||
|
||||
// C 'boolean' to Java boolean: x == 0 ? 0 : 1
|
||||
void c2bool(Register x);
|
||||
|
||||
// oop manipulations
|
||||
void load_klass(Register dst, Register src);
|
||||
void store_klass(Register dst, Register src);
|
||||
@@ -1012,7 +1015,10 @@ public:
|
||||
enum operand_size size,
|
||||
bool acquire, bool release, bool weak,
|
||||
Register result);
|
||||
private:
|
||||
void compare_eq(Register rn, Register rm, enum operand_size size);
|
||||
|
||||
public:
|
||||
// Calls
|
||||
|
||||
address trampoline_call(Address entry, CodeBuffer *cbuf = NULL);
|
||||
|
||||
@@ -105,8 +105,8 @@ void MethodHandles::jump_from_method_handle(MacroAssembler* _masm, Register meth
|
||||
// compiled code in threads for which the event is enabled. Check here for
|
||||
// interp_only_mode if these events CAN be enabled.
|
||||
|
||||
__ ldrb(rscratch1, Address(rthread, JavaThread::interp_only_mode_offset()));
|
||||
__ cbnz(rscratch1, run_compiled_code);
|
||||
__ ldrw(rscratch1, Address(rthread, JavaThread::interp_only_mode_offset()));
|
||||
__ cbzw(rscratch1, run_compiled_code);
|
||||
__ ldr(rscratch1, Address(method, Method::interpreter_entry_offset()));
|
||||
__ br(rscratch1);
|
||||
__ BIND(run_compiled_code);
|
||||
|
||||
@@ -135,8 +135,7 @@ OopMap* RegisterSaver::save_live_registers(MacroAssembler* masm, int additional_
|
||||
int frame_size_in_words = frame_size_in_bytes / wordSize;
|
||||
*total_frame_words = frame_size_in_words;
|
||||
|
||||
// Save registers, fpu state, and flags.
|
||||
|
||||
// Save Integer and Float registers.
|
||||
__ enter();
|
||||
__ push_CPU_state(save_vectors);
|
||||
|
||||
@@ -1107,7 +1106,7 @@ static void restore_args(MacroAssembler *masm, int arg_count, int first_arg, VMR
|
||||
}
|
||||
}
|
||||
__ pop(x, sp);
|
||||
for ( int i = first_arg ; i < arg_count ; i++ ) {
|
||||
for ( int i = arg_count - 1 ; i >= first_arg ; i-- ) {
|
||||
if (args[i].first()->is_Register()) {
|
||||
;
|
||||
} else if (args[i].first()->is_FloatRegister()) {
|
||||
@@ -1922,7 +1921,7 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
|
||||
|
||||
// Unpack native results.
|
||||
switch (ret_type) {
|
||||
case T_BOOLEAN: __ ubfx(r0, r0, 0, 8); break;
|
||||
case T_BOOLEAN: __ c2bool(r0); break;
|
||||
case T_CHAR : __ ubfx(r0, r0, 0, 16); break;
|
||||
case T_BYTE : __ sbfx(r0, r0, 0, 8); break;
|
||||
case T_SHORT : __ sbfx(r0, r0, 0, 16); break;
|
||||
@@ -2890,7 +2889,7 @@ SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_t
|
||||
bool cause_return = (poll_type == POLL_AT_RETURN);
|
||||
bool save_vectors = (poll_type == POLL_AT_VECTOR_LOOP);
|
||||
|
||||
// Save registers, fpu state, and flags
|
||||
// Save Integer and Float registers.
|
||||
map = RegisterSaver::save_live_registers(masm, 0, &frame_size_in_words, save_vectors);
|
||||
|
||||
// The following is basically a call_VM. However, we need the precise
|
||||
|
||||
@@ -1684,7 +1684,7 @@ class StubGenerator: public StubCodeGenerator {
|
||||
|
||||
|
||||
// Helper for generating a dynamic type check.
|
||||
// Smashes rscratch1.
|
||||
// Smashes rscratch1, rscratch2.
|
||||
void generate_type_check(Register sub_klass,
|
||||
Register super_check_offset,
|
||||
Register super_klass,
|
||||
@@ -1978,6 +1978,10 @@ class StubGenerator: public StubCodeGenerator {
|
||||
|
||||
StubCodeMark mark(this, "StubRoutines", name);
|
||||
|
||||
|
||||
// Registers used as temps
|
||||
const Register dst_klass = c_rarg5;
|
||||
|
||||
__ align(CodeEntryAlignment);
|
||||
address start = __ pc();
|
||||
|
||||
@@ -2180,8 +2184,7 @@ class StubGenerator: public StubCodeGenerator {
|
||||
arraycopy_range_checks(src, src_pos, dst, dst_pos, scratch_length,
|
||||
r18, L_failed);
|
||||
|
||||
const Register rscratch2_dst_klass = rscratch2;
|
||||
__ load_klass(rscratch2_dst_klass, dst); // reload
|
||||
__ load_klass(dst_klass, dst); // reload
|
||||
|
||||
// Marshal the base address arguments now, freeing registers.
|
||||
__ lea(from, Address(src, src_pos, Address::lsl(LogBytesPerHeapOop)));
|
||||
@@ -2191,24 +2194,25 @@ class StubGenerator: public StubCodeGenerator {
|
||||
__ movw(count, length); // length (reloaded)
|
||||
Register sco_temp = c_rarg3; // this register is free now
|
||||
assert_different_registers(from, to, count, sco_temp,
|
||||
rscratch2_dst_klass, scratch_src_klass);
|
||||
dst_klass, scratch_src_klass);
|
||||
// assert_clean_int(count, sco_temp);
|
||||
|
||||
// Generate the type check.
|
||||
const int sco_offset = in_bytes(Klass::super_check_offset_offset());
|
||||
__ ldrw(sco_temp, Address(rscratch2_dst_klass, sco_offset));
|
||||
// assert_clean_int(sco_temp, r18);
|
||||
generate_type_check(scratch_src_klass, sco_temp, rscratch2_dst_klass, L_plain_copy);
|
||||
__ ldrw(sco_temp, Address(dst_klass, sco_offset));
|
||||
|
||||
// Smashes rscratch1, rscratch2
|
||||
generate_type_check(scratch_src_klass, sco_temp, dst_klass, L_plain_copy);
|
||||
|
||||
// Fetch destination element klass from the ObjArrayKlass header.
|
||||
int ek_offset = in_bytes(ObjArrayKlass::element_klass_offset());
|
||||
__ ldr(rscratch2_dst_klass, Address(rscratch2_dst_klass, ek_offset));
|
||||
__ ldrw(sco_temp, Address(rscratch2_dst_klass, sco_offset));
|
||||
__ ldr(dst_klass, Address(dst_klass, ek_offset));
|
||||
__ ldrw(sco_temp, Address(dst_klass, sco_offset));
|
||||
|
||||
// the checkcast_copy loop needs two extra arguments:
|
||||
assert(c_rarg3 == sco_temp, "#3 already in place");
|
||||
// Set up arguments for checkcast_copy_entry.
|
||||
__ mov(c_rarg4, rscratch2_dst_klass); // dst.klass.element_klass
|
||||
__ mov(c_rarg4, dst_klass); // dst.klass.element_klass
|
||||
__ b(RuntimeAddress(checkcast_copy_entry));
|
||||
}
|
||||
|
||||
@@ -5741,15 +5745,18 @@ class StubGenerator: public StubCodeGenerator {
|
||||
}
|
||||
|
||||
if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dlog)) {
|
||||
StubRoutines::_dlog = generate_dlog();
|
||||
// disabled pending fix and retest of generated code via JDK-8210858
|
||||
// StubRoutines::_dlog = generate_dlog();
|
||||
}
|
||||
|
||||
if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dsin)) {
|
||||
StubRoutines::_dsin = generate_dsin_dcos(/* isCos = */ false);
|
||||
// disabled pending fix and retest of generated code via JDK-8210461
|
||||
// StubRoutines::_dsin = generate_dsin_dcos(/* isCos = */ false);
|
||||
}
|
||||
|
||||
if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dcos)) {
|
||||
StubRoutines::_dcos = generate_dsin_dcos(/* isCos = */ true);
|
||||
// disabled pending fix and retest of generated code via JDK-8210461
|
||||
// StubRoutines::_dcos = generate_dsin_dcos(/* isCos = */ true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -557,7 +557,7 @@ address TemplateInterpreterGenerator::generate_result_handler_for(
|
||||
BasicType type) {
|
||||
address entry = __ pc();
|
||||
switch (type) {
|
||||
case T_BOOLEAN: __ uxtb(r0, r0); break;
|
||||
case T_BOOLEAN: __ c2bool(r0); break;
|
||||
case T_CHAR : __ uxth(r0, r0); break;
|
||||
case T_BYTE : __ sxtb(r0, r0); break;
|
||||
case T_SHORT : __ sxth(r0, r0); break;
|
||||
@@ -1891,6 +1891,7 @@ void TemplateInterpreterGenerator::generate_throw_exception() {
|
||||
__ restore_locals();
|
||||
__ restore_constant_pool_cache();
|
||||
__ get_method(rmethod);
|
||||
__ get_dispatch();
|
||||
|
||||
// The method data pointer was incremented already during
|
||||
// call profiling. We have to restore the mdp for the current bcp.
|
||||
@@ -1907,8 +1908,8 @@ void TemplateInterpreterGenerator::generate_throw_exception() {
|
||||
Label L_done;
|
||||
|
||||
__ ldrb(rscratch1, Address(rbcp, 0));
|
||||
__ cmpw(r1, Bytecodes::_invokestatic);
|
||||
__ br(Assembler::EQ, L_done);
|
||||
__ cmpw(rscratch1, Bytecodes::_invokestatic);
|
||||
__ br(Assembler::NE, L_done);
|
||||
|
||||
// The member name argument must be restored if _invokestatic is re-executed after a PopFrame call.
|
||||
// Detect such a case in the InterpreterRuntime function and return the member name argument, or NULL.
|
||||
@@ -1943,7 +1944,6 @@ void TemplateInterpreterGenerator::generate_throw_exception() {
|
||||
// remove the activation (without doing throws on illegalMonitorExceptions)
|
||||
__ remove_activation(vtos, false, true, false);
|
||||
// restore exception
|
||||
// restore exception
|
||||
__ get_vm_result(r0, rthread);
|
||||
|
||||
// In between activations - previous activation type unknown yet
|
||||
@@ -1952,9 +1952,8 @@ void TemplateInterpreterGenerator::generate_throw_exception() {
|
||||
//
|
||||
// r0: exception
|
||||
// lr: return address/pc that threw exception
|
||||
// rsp: expression stack of caller
|
||||
// esp: expression stack of caller
|
||||
// rfp: fp of caller
|
||||
// FIXME: There's no point saving LR here because VM calls don't trash it
|
||||
__ stp(r0, lr, Address(__ pre(sp, -2 * wordSize))); // save exception & return address
|
||||
__ super_call_VM_leaf(CAST_FROM_FN_PTR(address,
|
||||
SharedRuntime::exception_handler_for_return_address),
|
||||
|
||||
@@ -129,8 +129,11 @@ void VM_Version::get_processor_features() {
|
||||
|
||||
int dcache_line = VM_Version::dcache_line_size();
|
||||
|
||||
// Limit AllocatePrefetchDistance so that it does not exceed the
|
||||
// constraint in AllocatePrefetchDistanceConstraintFunc.
|
||||
if (FLAG_IS_DEFAULT(AllocatePrefetchDistance))
|
||||
FLAG_SET_DEFAULT(AllocatePrefetchDistance, 3*dcache_line);
|
||||
FLAG_SET_DEFAULT(AllocatePrefetchDistance, MIN2(512, 3*dcache_line));
|
||||
|
||||
if (FLAG_IS_DEFAULT(AllocatePrefetchStepSize))
|
||||
FLAG_SET_DEFAULT(AllocatePrefetchStepSize, dcache_line);
|
||||
if (FLAG_IS_DEFAULT(PrefetchScanIntervalInBytes))
|
||||
@@ -261,8 +264,10 @@ void VM_Version::get_processor_features() {
|
||||
if (FLAG_IS_DEFAULT(UseCRC32)) {
|
||||
UseCRC32 = (auxv & HWCAP_CRC32) != 0;
|
||||
}
|
||||
|
||||
if (UseCRC32 && (auxv & HWCAP_CRC32) == 0) {
|
||||
warning("UseCRC32 specified, but not supported on this CPU");
|
||||
FLAG_SET_DEFAULT(UseCRC32, false);
|
||||
}
|
||||
|
||||
if (FLAG_IS_DEFAULT(UseAdler32Intrinsics)) {
|
||||
@@ -280,6 +285,7 @@ void VM_Version::get_processor_features() {
|
||||
} else {
|
||||
if (UseLSE) {
|
||||
warning("UseLSE specified, but not supported on this CPU");
|
||||
FLAG_SET_DEFAULT(UseLSE, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -294,9 +300,11 @@ void VM_Version::get_processor_features() {
|
||||
} else {
|
||||
if (UseAES) {
|
||||
warning("UseAES specified, but not supported on this CPU");
|
||||
FLAG_SET_DEFAULT(UseAES, false);
|
||||
}
|
||||
if (UseAESIntrinsics) {
|
||||
warning("UseAESIntrinsics specified, but not supported on this CPU");
|
||||
FLAG_SET_DEFAULT(UseAESIntrinsics, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -44,24 +44,30 @@
|
||||
#define __ masm->
|
||||
|
||||
#ifndef PRODUCT
|
||||
extern "C" void bad_compiled_vtable_index(JavaThread* thread,
|
||||
oop receiver,
|
||||
int index);
|
||||
extern "C" void bad_compiled_vtable_index(JavaThread* thread, oop receiver, int index);
|
||||
#endif
|
||||
|
||||
VtableStub* VtableStubs::create_vtable_stub(int vtable_index) {
|
||||
const int aarch64_code_length = VtableStub::pd_code_size_limit(true);
|
||||
VtableStub* s = new(aarch64_code_length) VtableStub(true, vtable_index);
|
||||
// Read "A word on VtableStub sizing" in share/code/vtableStubs.hpp for details on stub sizing.
|
||||
const int stub_code_length = code_size_limit(true);
|
||||
VtableStub* s = new(stub_code_length) VtableStub(true, vtable_index);
|
||||
// Can be NULL if there is no free space in the code cache.
|
||||
if (s == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ResourceMark rm;
|
||||
CodeBuffer cb(s->entry_point(), aarch64_code_length);
|
||||
// Count unused bytes in instruction sequences of variable size.
|
||||
// We add them to the computed buffer size in order to avoid
|
||||
// overflow in subsequently generated stubs.
|
||||
address start_pc;
|
||||
int slop_bytes = 0;
|
||||
int slop_delta = 0;
|
||||
|
||||
ResourceMark rm;
|
||||
CodeBuffer cb(s->entry_point(), stub_code_length);
|
||||
MacroAssembler* masm = new MacroAssembler(&cb);
|
||||
|
||||
#ifndef PRODUCT
|
||||
#if (!defined(PRODUCT) && defined(COMPILER2))
|
||||
if (CountCompiledCalls) {
|
||||
__ lea(r16, ExternalAddress((address) SharedRuntime::nof_megamorphic_calls_addr()));
|
||||
__ incrementw(Address(r16));
|
||||
@@ -78,21 +84,35 @@ VtableStub* VtableStubs::create_vtable_stub(int vtable_index) {
|
||||
#ifndef PRODUCT
|
||||
if (DebugVtables) {
|
||||
Label L;
|
||||
// TODO: find upper bound for this debug code.
|
||||
start_pc = __ pc();
|
||||
|
||||
// check offset vs vtable length
|
||||
__ ldrw(rscratch1, Address(r16, Klass::vtable_length_offset()));
|
||||
__ cmpw(rscratch1, vtable_index * vtableEntry::size());
|
||||
__ br(Assembler::GT, L);
|
||||
__ enter();
|
||||
__ mov(r2, vtable_index);
|
||||
__ call_VM(noreg,
|
||||
CAST_FROM_FN_PTR(address, bad_compiled_vtable_index), j_rarg0, r2);
|
||||
|
||||
__ call_VM(noreg, CAST_FROM_FN_PTR(address, bad_compiled_vtable_index), j_rarg0, r2);
|
||||
const ptrdiff_t estimate = 256;
|
||||
const ptrdiff_t codesize = __ pc() - start_pc;
|
||||
slop_delta = estimate - codesize; // call_VM varies in length, depending on data
|
||||
slop_bytes += slop_delta;
|
||||
assert(slop_delta >= 0, "vtable #%d: Code size estimate (%d) for DebugVtables too small, required: %d", vtable_index, (int)estimate, (int)codesize);
|
||||
|
||||
__ leave();
|
||||
__ bind(L);
|
||||
}
|
||||
#endif // PRODUCT
|
||||
|
||||
start_pc = __ pc();
|
||||
__ lookup_virtual_method(r16, vtable_index, rmethod);
|
||||
slop_delta = 8 - (int)(__ pc() - start_pc);
|
||||
slop_bytes += slop_delta;
|
||||
assert(slop_delta >= 0, "negative slop(%d) encountered, adjust code size estimate!", slop_delta);
|
||||
|
||||
#ifndef PRODUCT
|
||||
if (DebugVtables) {
|
||||
Label L;
|
||||
__ cbz(rmethod, L);
|
||||
@@ -101,6 +121,8 @@ VtableStub* VtableStubs::create_vtable_stub(int vtable_index) {
|
||||
__ stop("Vtable entry is NULL");
|
||||
__ bind(L);
|
||||
}
|
||||
#endif // PRODUCT
|
||||
|
||||
// r0: receiver klass
|
||||
// rmethod: Method*
|
||||
// r2: receiver
|
||||
@@ -108,43 +130,46 @@ VtableStub* VtableStubs::create_vtable_stub(int vtable_index) {
|
||||
__ ldr(rscratch1, Address(rmethod, Method::from_compiled_offset()));
|
||||
__ br(rscratch1);
|
||||
|
||||
__ flush();
|
||||
masm->flush();
|
||||
bookkeeping(masm, tty, s, npe_addr, ame_addr, true, vtable_index, slop_bytes, 0);
|
||||
|
||||
if (PrintMiscellaneous && (WizardMode || Verbose)) {
|
||||
tty->print_cr("vtable #%d at " PTR_FORMAT "[%d] left over: %d",
|
||||
vtable_index, p2i(s->entry_point()),
|
||||
(int)(s->code_end() - s->entry_point()),
|
||||
(int)(s->code_end() - __ pc()));
|
||||
}
|
||||
guarantee(__ pc() <= s->code_end(), "overflowed buffer");
|
||||
|
||||
s->set_exception_points(npe_addr, ame_addr);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
VtableStub* VtableStubs::create_itable_stub(int itable_index) {
|
||||
// Note well: pd_code_size_limit is the absolute minimum we can get
|
||||
// away with. If you add code here, bump the code stub size
|
||||
// returned by pd_code_size_limit!
|
||||
const int code_length = VtableStub::pd_code_size_limit(false);
|
||||
VtableStub* s = new(code_length) VtableStub(false, itable_index);
|
||||
ResourceMark rm;
|
||||
CodeBuffer cb(s->entry_point(), code_length);
|
||||
// Read "A word on VtableStub sizing" in share/code/vtableStubs.hpp for details on stub sizing.
|
||||
const int stub_code_length = code_size_limit(false);
|
||||
VtableStub* s = new(stub_code_length) VtableStub(false, itable_index);
|
||||
// Can be NULL if there is no free space in the code cache.
|
||||
if (s == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
// Count unused bytes in instruction sequences of variable size.
|
||||
// We add them to the computed buffer size in order to avoid
|
||||
// overflow in subsequently generated stubs.
|
||||
address start_pc;
|
||||
int slop_bytes = 0;
|
||||
int slop_delta = 0;
|
||||
|
||||
ResourceMark rm;
|
||||
CodeBuffer cb(s->entry_point(), stub_code_length);
|
||||
MacroAssembler* masm = new MacroAssembler(&cb);
|
||||
|
||||
#ifndef PRODUCT
|
||||
#if (!defined(PRODUCT) && defined(COMPILER2))
|
||||
if (CountCompiledCalls) {
|
||||
__ lea(r10, ExternalAddress((address) SharedRuntime::nof_megamorphic_calls_addr()));
|
||||
__ incrementw(Address(r10));
|
||||
}
|
||||
#endif
|
||||
|
||||
// get receiver (need to skip return address on top of stack)
|
||||
assert(VtableStub::receiver_location() == j_rarg0->as_VMReg(), "receiver expected in j_rarg0");
|
||||
|
||||
// Entry arguments:
|
||||
// rscratch2: CompiledICHolder
|
||||
// j_rarg0: Receiver
|
||||
|
||||
|
||||
// Most registers are in use; we'll use r16, rmethod, r10, r11
|
||||
const Register recv_klass_reg = r10;
|
||||
const Register holder_klass_reg = r16; // declaring interface klass (DECC)
|
||||
@@ -157,8 +182,8 @@ VtableStub* VtableStubs::create_itable_stub(int itable_index) {
|
||||
__ ldr(resolved_klass_reg, Address(icholder_reg, CompiledICHolder::holder_klass_offset()));
|
||||
__ ldr(holder_klass_reg, Address(icholder_reg, CompiledICHolder::holder_metadata_offset()));
|
||||
|
||||
// get receiver (need to skip return address on top of stack)
|
||||
assert(VtableStub::receiver_location() == j_rarg0->as_VMReg(), "receiver expected in j_rarg0");
|
||||
start_pc = __ pc();
|
||||
|
||||
// get receiver klass (also an implicit null-check)
|
||||
address npe_addr = __ pc();
|
||||
__ load_klass(recv_klass_reg, j_rarg0);
|
||||
@@ -172,16 +197,25 @@ VtableStub* VtableStubs::create_itable_stub(int itable_index) {
|
||||
L_no_such_interface,
|
||||
/*return_method=*/false);
|
||||
|
||||
const ptrdiff_t typecheckSize = __ pc() - start_pc;
|
||||
start_pc = __ pc();
|
||||
|
||||
// Get selected method from declaring class and itable index
|
||||
__ load_klass(recv_klass_reg, j_rarg0); // restore recv_klass_reg
|
||||
__ lookup_interface_method(// inputs: rec. class, interface, itable index
|
||||
recv_klass_reg, holder_klass_reg, itable_index,
|
||||
// outputs: method, scan temp. reg
|
||||
rmethod, temp_reg,
|
||||
L_no_such_interface);
|
||||
recv_klass_reg, holder_klass_reg, itable_index,
|
||||
// outputs: method, scan temp. reg
|
||||
rmethod, temp_reg,
|
||||
L_no_such_interface);
|
||||
|
||||
// method (rmethod): Method*
|
||||
// j_rarg0: receiver
|
||||
const ptrdiff_t lookupSize = __ pc() - start_pc;
|
||||
|
||||
// Reduce "estimate" such that "padding" does not drop below 8.
|
||||
const ptrdiff_t estimate = 152;
|
||||
const ptrdiff_t codesize = typecheckSize + lookupSize;
|
||||
slop_delta = (int)(estimate - codesize);
|
||||
slop_bytes += slop_delta;
|
||||
assert(slop_delta >= 0, "itable #%d: Code size estimate (%d) for lookup_interface_method too small, required: %d", itable_index, (int)estimate, (int)codesize);
|
||||
|
||||
#ifdef ASSERT
|
||||
if (DebugVtables) {
|
||||
@@ -206,92 +240,17 @@ VtableStub* VtableStubs::create_itable_stub(int itable_index) {
|
||||
// We force resolving of the call site by jumping to the "handle
|
||||
// wrong method" stub, and so let the interpreter runtime do all the
|
||||
// dirty work.
|
||||
assert(SharedRuntime::get_handle_wrong_method_stub() != NULL, "check initialization order");
|
||||
__ far_jump(RuntimeAddress(SharedRuntime::get_handle_wrong_method_stub()));
|
||||
|
||||
__ flush();
|
||||
masm->flush();
|
||||
bookkeeping(masm, tty, s, npe_addr, ame_addr, false, itable_index, slop_bytes, 0);
|
||||
|
||||
if (PrintMiscellaneous && (WizardMode || Verbose)) {
|
||||
tty->print_cr("itable #%d at " PTR_FORMAT "[%d] left over: %d",
|
||||
itable_index, p2i(s->entry_point()),
|
||||
(int)(s->code_end() - s->entry_point()),
|
||||
(int)(s->code_end() - __ pc()));
|
||||
}
|
||||
guarantee(__ pc() <= s->code_end(), "overflowed buffer");
|
||||
|
||||
s->set_exception_points(npe_addr, ame_addr);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
int VtableStub::pd_code_size_limit(bool is_vtable_stub) {
|
||||
int size = DebugVtables ? 216 : 0;
|
||||
if (CountCompiledCalls)
|
||||
size += 6 * 4;
|
||||
// FIXME: vtable stubs only need 36 bytes
|
||||
if (is_vtable_stub)
|
||||
size += 52;
|
||||
else
|
||||
size += 176;
|
||||
return size;
|
||||
|
||||
// In order to tune these parameters, run the JVM with VM options
|
||||
// +PrintMiscellaneous and +WizardMode to see information about
|
||||
// actual itable stubs. Run it with -Xmx31G -XX:+UseCompressedOops.
|
||||
//
|
||||
// If Universe::narrow_klass_base is nonzero, decoding a compressed
|
||||
// class can take zeveral instructions.
|
||||
//
|
||||
// The JVM98 app. _202_jess has a megamorphic interface call.
|
||||
// The itable code looks like this:
|
||||
|
||||
// ldr xmethod, [xscratch2,#CompiledICHolder::holder_klass_offset]
|
||||
// ldr x0, [xscratch2]
|
||||
// ldr w10, [x1,#oopDesc::klass_offset_in_bytes]
|
||||
// mov xheapbase, #0x3c000000 // #narrow_klass_base
|
||||
// movk xheapbase, #0x3f7, lsl #32
|
||||
// add x10, xheapbase, x10
|
||||
// mov xheapbase, #0xe7ff0000 // #heapbase
|
||||
// movk xheapbase, #0x3f7, lsl #32
|
||||
// ldr w11, [x10,#vtable_length_offset]
|
||||
// add x11, x10, x11, uxtx #3
|
||||
// add x11, x11, #itableMethodEntry::method_offset_in_bytes
|
||||
// ldr x10, [x11]
|
||||
// cmp xmethod, x10
|
||||
// b.eq found_method
|
||||
// search:
|
||||
// cbz x10, no_such_interface
|
||||
// add x11, x11, #0x10
|
||||
// ldr x10, [x11]
|
||||
// cmp xmethod, x10
|
||||
// b.ne search
|
||||
// found_method:
|
||||
// ldr w10, [x1,#oopDesc::klass_offset_in_bytes]
|
||||
// mov xheapbase, #0x3c000000 // #narrow_klass_base
|
||||
// movk xheapbase, #0x3f7, lsl #32
|
||||
// add x10, xheapbase, x10
|
||||
// mov xheapbase, #0xe7ff0000 // #heapbase
|
||||
// movk xheapbase, #0x3f7, lsl #32
|
||||
// ldr w11, [x10,#vtable_length_offset]
|
||||
// add x11, x10, x11, uxtx #3
|
||||
// add x11, x11, #itableMethodEntry::method_offset_in_bytes
|
||||
// add x10, x10, #itentry_off
|
||||
// ldr xmethod, [x11]
|
||||
// cmp x0, xmethod
|
||||
// b.eq found_method2
|
||||
// search2:
|
||||
// cbz xmethod, 0x000003ffa872e6cc
|
||||
// add x11, x11, #0x10
|
||||
// ldr xmethod, [x11]
|
||||
// cmp x0, xmethod
|
||||
// b.ne search2
|
||||
// found_method2:
|
||||
// ldr w11, [x11,#itableOffsetEntry::offset_offset_in_bytes]
|
||||
// ldr xmethod, [x10,w11,uxtw]
|
||||
// ldr xscratch1, [xmethod,#Method::from_compiled_offset]
|
||||
// br xscratch1
|
||||
// no_such_interface:
|
||||
// b throw_ICCE_entry
|
||||
|
||||
int VtableStub::pd_code_alignment() {
|
||||
// aarch64 cache line size is not an architected constant. We just align on 4 bytes (instruction size).
|
||||
const unsigned int icache_line_size = 4;
|
||||
return icache_line_size;
|
||||
}
|
||||
|
||||
int VtableStub::pd_code_alignment() { return 4; }
|
||||
|
||||
@@ -1778,8 +1778,12 @@ void LIR_Assembler::emit_compare_and_swap(LIR_OpCompareAndSwap* op) {
|
||||
#else
|
||||
// FIXME: membar_release
|
||||
__ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreStore | MacroAssembler::LoadStore), Rtemp);
|
||||
Register addr = op->addr()->is_register() ?
|
||||
op->addr()->as_pointer_register() :
|
||||
op->addr()->as_address_ptr()->base()->as_pointer_register();
|
||||
assert(op->addr()->is_register() || op->addr()->as_address_ptr()->disp() == 0, "unexpected disp");
|
||||
assert(op->addr()->is_register() || op->addr()->as_address_ptr()->index() == LIR_OprDesc::illegalOpr(), "unexpected index");
|
||||
if (op->code() == lir_cas_int || op->code() == lir_cas_obj) {
|
||||
Register addr = op->addr()->as_register();
|
||||
Register cmpval = op->cmp_value()->as_register();
|
||||
Register newval = op->new_value()->as_register();
|
||||
Register dest = op->result_opr()->as_register();
|
||||
@@ -1790,7 +1794,6 @@ void LIR_Assembler::emit_compare_and_swap(LIR_OpCompareAndSwap* op) {
|
||||
__ mov(dest, 0, ne);
|
||||
} else if (op->code() == lir_cas_long) {
|
||||
assert(VM_Version::supports_cx8(), "wrong machine");
|
||||
Register addr = op->addr()->as_pointer_register();
|
||||
Register cmp_value_lo = op->cmp_value()->as_register_lo();
|
||||
Register cmp_value_hi = op->cmp_value()->as_register_hi();
|
||||
Register new_value_lo = op->new_value()->as_register_lo();
|
||||
@@ -3255,7 +3258,9 @@ void LIR_Assembler::align_backward_branch_target() {
|
||||
}
|
||||
|
||||
|
||||
void LIR_Assembler::negate(LIR_Opr left, LIR_Opr dest) {
|
||||
void LIR_Assembler::negate(LIR_Opr left, LIR_Opr dest, LIR_Opr tmp) {
|
||||
// tmp must be unused
|
||||
assert(tmp->is_illegal(), "wasting a register if tmp is allocated");
|
||||
|
||||
if (left->is_single_cpu()) {
|
||||
assert (dest->type() == T_INT, "unexpected result type");
|
||||
@@ -3468,7 +3473,12 @@ void LIR_Assembler::peephole(LIR_List* lir) {
|
||||
}
|
||||
|
||||
void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr dest, LIR_Opr tmp) {
|
||||
#ifdef AARCH64
|
||||
Register ptr = src->as_pointer_register();
|
||||
#else
|
||||
assert(src->is_address(), "sanity");
|
||||
Address addr = as_Address(src->as_address_ptr());
|
||||
#endif
|
||||
|
||||
if (code == lir_xchg) {
|
||||
#ifdef AARCH64
|
||||
@@ -3493,15 +3503,15 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr
|
||||
#ifdef AARCH64
|
||||
__ ldaxr_w(dst, ptr);
|
||||
#else
|
||||
__ ldrex(dst, Address(ptr));
|
||||
__ ldrex(dst, addr);
|
||||
#endif
|
||||
if (code == lir_xadd) {
|
||||
Register tmp_reg = tmp->as_register();
|
||||
if (data->is_constant()) {
|
||||
assert_different_registers(dst, ptr, tmp_reg);
|
||||
assert_different_registers(dst, tmp_reg);
|
||||
__ add_32(tmp_reg, dst, data->as_constant_ptr()->as_jint());
|
||||
} else {
|
||||
assert_different_registers(dst, ptr, tmp_reg, data->as_register());
|
||||
assert_different_registers(dst, tmp_reg, data->as_register());
|
||||
__ add_32(tmp_reg, dst, data->as_register());
|
||||
}
|
||||
new_val = tmp_reg;
|
||||
@@ -3511,12 +3521,12 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr
|
||||
} else {
|
||||
new_val = data->as_register();
|
||||
}
|
||||
assert_different_registers(dst, ptr, new_val);
|
||||
assert_different_registers(dst, new_val);
|
||||
}
|
||||
#ifdef AARCH64
|
||||
__ stlxr_w(Rtemp, new_val, ptr);
|
||||
#else
|
||||
__ strex(Rtemp, new_val, Address(ptr));
|
||||
__ strex(Rtemp, new_val, addr);
|
||||
#endif // AARCH64
|
||||
|
||||
#ifdef AARCH64
|
||||
@@ -3551,7 +3561,7 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr
|
||||
assert((dst_lo->encoding() & 0x1) == 0, "misaligned register pair");
|
||||
|
||||
__ bind(retry);
|
||||
__ ldrexd(dst_lo, Address(ptr));
|
||||
__ ldrexd(dst_lo, addr);
|
||||
if (code == lir_xadd) {
|
||||
Register tmp_lo = tmp->as_register_lo();
|
||||
Register tmp_hi = tmp->as_register_hi();
|
||||
@@ -3562,7 +3572,7 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr
|
||||
if (data->is_constant()) {
|
||||
jlong c = data->as_constant_ptr()->as_jlong();
|
||||
assert((jlong)((jint)c) == c, "overflow");
|
||||
assert_different_registers(dst_lo, dst_hi, ptr, tmp_lo, tmp_hi);
|
||||
assert_different_registers(dst_lo, dst_hi, tmp_lo, tmp_hi);
|
||||
__ adds(tmp_lo, dst_lo, (jint)c);
|
||||
__ adc(tmp_hi, dst_hi, 0);
|
||||
} else {
|
||||
@@ -3570,18 +3580,18 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr
|
||||
Register new_val_hi = data->as_register_hi();
|
||||
__ adds(tmp_lo, dst_lo, new_val_lo);
|
||||
__ adc(tmp_hi, dst_hi, new_val_hi);
|
||||
assert_different_registers(dst_lo, dst_hi, ptr, tmp_lo, tmp_hi, new_val_lo, new_val_hi);
|
||||
assert_different_registers(dst_lo, dst_hi, tmp_lo, tmp_hi, new_val_lo, new_val_hi);
|
||||
}
|
||||
new_val_lo = tmp_lo;
|
||||
} else {
|
||||
new_val_lo = data->as_register_lo();
|
||||
Register new_val_hi = data->as_register_hi();
|
||||
|
||||
assert_different_registers(dst_lo, dst_hi, ptr, new_val_lo, new_val_hi);
|
||||
assert_different_registers(dst_lo, dst_hi, new_val_lo, new_val_hi);
|
||||
assert(new_val_hi->encoding() == new_val_lo->encoding() + 1, "non aligned register pair");
|
||||
assert((new_val_lo->encoding() & 0x1) == 0, "misaligned register pair");
|
||||
}
|
||||
__ strexd(Rtemp, new_val_lo, Address(ptr));
|
||||
__ strexd(Rtemp, new_val_lo, addr);
|
||||
#endif // AARCH64
|
||||
} else {
|
||||
ShouldNotReachHere();
|
||||
|
||||
@@ -546,9 +546,10 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
|
||||
const Register result = R0;
|
||||
const Register klass = R1;
|
||||
|
||||
if (UseTLAB && Universe::heap()->supports_inline_contig_alloc() && id != new_instance_id) {
|
||||
// We come here when TLAB allocation failed.
|
||||
// In this case we try to allocate directly from eden.
|
||||
// If TLAB is disabled, see if there is support for inlining contiguous
|
||||
// allocations.
|
||||
// Otherwise, just go to the slow path.
|
||||
if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc() && id != new_instance_id) {
|
||||
Label slow_case, slow_case_no_pop;
|
||||
|
||||
// Make sure the class is fully initialized
|
||||
@@ -616,9 +617,10 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
|
||||
const Register klass = R1;
|
||||
const Register length = R2;
|
||||
|
||||
if (UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
|
||||
// We come here when TLAB allocation failed.
|
||||
// In this case we try to allocate directly from eden.
|
||||
// If TLAB is disabled, see if there is support for inlining contiguous
|
||||
// allocations.
|
||||
// Otherwise, just go to the slow path.
|
||||
if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
|
||||
Label slow_case, slow_case_no_pop;
|
||||
|
||||
#ifdef AARCH64
|
||||
|
||||
@@ -513,6 +513,7 @@ int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
|
||||
case T_ARRAY:
|
||||
case T_OBJECT:
|
||||
case T_ADDRESS:
|
||||
case T_METADATA:
|
||||
#ifndef __ABI_HARD__
|
||||
case T_FLOAT:
|
||||
#endif // !__ABI_HARD__
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user