mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-06 09:29:38 +01:00
Compare commits
1045 Commits
jdk-22+10
...
jdk-11.0.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fa719f44d0 | ||
|
|
e0a13da473 | ||
|
|
ac253931a3 | ||
|
|
ca3d32f35d | ||
|
|
4dd1429aa6 | ||
|
|
e15f3df1d8 | ||
|
|
5d85cee70d | ||
|
|
a00d5f237e | ||
|
|
c6a1463977 | ||
|
|
2ee0f587fa | ||
|
|
ca3fd3a03f | ||
|
|
2dc221e088 | ||
|
|
1549d7afc6 | ||
|
|
7894a13e79 | ||
|
|
5d30097700 | ||
|
|
94e4246bc0 | ||
|
|
c71326d95c | ||
|
|
261c5308b2 | ||
|
|
4d06e6897b | ||
|
|
78ae9f6957 | ||
|
|
d6812b270b | ||
|
|
0cfde838e6 | ||
|
|
605bb37e29 | ||
|
|
e1774b5538 | ||
|
|
2c4aa733a3 | ||
|
|
c2916df039 | ||
|
|
2a973cd3ed | ||
|
|
6a7965e66a | ||
|
|
3819aa22b4 | ||
|
|
7239348c19 | ||
|
|
d21ac9de15 | ||
|
|
c4e0c2656c | ||
|
|
63511a669c | ||
|
|
1c00fbb56d | ||
|
|
57e956f4e3 | ||
|
|
bd23e122ba | ||
|
|
052e9606e3 | ||
|
|
b05fbdfde0 | ||
|
|
ab9057a500 | ||
|
|
3e94481cd3 | ||
|
|
fd5c5d8f16 | ||
|
|
85d59b3be0 | ||
|
|
02c7801b39 | ||
|
|
ca91988c9b | ||
|
|
577f5021b6 | ||
|
|
9d0d7b2d93 | ||
|
|
a340a2a3ec | ||
|
|
c21e52bf9b | ||
|
|
60e40c37c4 | ||
|
|
098384a05a | ||
|
|
b71857c8c4 | ||
|
|
db70185df9 | ||
|
|
95e5e3bd6a | ||
|
|
666d7c1fd4 | ||
|
|
ba62c66b8b | ||
|
|
385dd45d6c | ||
|
|
3e73a19150 | ||
|
|
a18729ee73 | ||
|
|
15fb9b2792 | ||
|
|
f44bca89ac | ||
|
|
a2afb491c9 | ||
|
|
7b04967df8 | ||
|
|
59d5657530 | ||
|
|
31321c06a7 | ||
|
|
8a435dba67 | ||
|
|
75fdca8d73 | ||
|
|
3ada936588 | ||
|
|
a0dbc00cd8 | ||
|
|
7b75a5b9fc | ||
|
|
7240b2a8d0 | ||
|
|
98360e1740 | ||
|
|
1a20198485 | ||
|
|
34b4553180 | ||
|
|
b2feed2f8d | ||
|
|
a2b76b4972 | ||
|
|
987b8f11de | ||
|
|
5b78891815 | ||
|
|
c0456d8982 | ||
|
|
07daff84d1 | ||
|
|
6eac440aac | ||
|
|
77a497b363 | ||
|
|
1a811216c3 | ||
|
|
ab9fe43bf4 | ||
|
|
a4052c480f | ||
|
|
bdbdc782d3 | ||
|
|
b7861e3a7b | ||
|
|
de6a742de6 | ||
|
|
ba8d9926a5 | ||
|
|
b01a85466c | ||
|
|
ebc8a88b6f | ||
|
|
11ec35a391 | ||
|
|
5e293a7b4e | ||
|
|
279802157e | ||
|
|
b02cf69157 | ||
|
|
6a30c99083 | ||
|
|
e69cf00d26 | ||
|
|
6534c617a8 | ||
|
|
f7240b2216 | ||
|
|
54f12c90ad | ||
|
|
ebd550ea49 | ||
|
|
537b44caae | ||
|
|
a406184c0a | ||
|
|
148544eb30 | ||
|
|
7d49d41348 | ||
|
|
4aee20c3f4 | ||
|
|
1dc659712b | ||
|
|
01af389aa6 | ||
|
|
4f6059033c | ||
|
|
8b2982f0ad | ||
|
|
acda1a69cf | ||
|
|
7a7d661bed | ||
|
|
17b730d7ed | ||
|
|
fb9547354c | ||
|
|
e32185a8f3 | ||
|
|
829e3910b2 | ||
|
|
a5c903cc86 | ||
|
|
453d95eaf2 | ||
|
|
12cda6f859 | ||
|
|
ec7434772e | ||
|
|
fd06253c5a | ||
|
|
51f5a85889 | ||
|
|
1a8c9f80a3 | ||
|
|
edda072fa0 | ||
|
|
b703e5dd78 | ||
|
|
dce6df62e8 | ||
|
|
d755365584 | ||
|
|
016745c090 | ||
|
|
f358696767 | ||
|
|
c1f3b1633a | ||
|
|
f08fce0ce2 | ||
|
|
fb5d6b216f | ||
|
|
6689de7e99 | ||
|
|
8f8154f371 | ||
|
|
ff1d3ec844 | ||
|
|
2d18e6e508 | ||
|
|
2ee1ae920e | ||
|
|
ece508d8a5 | ||
|
|
465f4053b8 | ||
|
|
45669a96f5 | ||
|
|
76d9f5a540 | ||
|
|
98fa9a2ee4 | ||
|
|
0cd8b5a43f | ||
|
|
f20dfa7d27 | ||
|
|
6b2e057dca | ||
|
|
9cf41e4535 | ||
|
|
78e47c6fff | ||
|
|
c4c43e3d7e | ||
|
|
cfe3e6eb15 | ||
|
|
2860d9a02b | ||
|
|
5c66363623 | ||
|
|
fedaa9ab89 | ||
|
|
8aefcee4c2 | ||
|
|
41045ec69b | ||
|
|
d1840cbc41 | ||
|
|
bbd5e37e98 | ||
|
|
ada37f8865 | ||
|
|
ee5c8390d6 | ||
|
|
390626e595 | ||
|
|
1350471e73 | ||
|
|
cfe1c7dcce | ||
|
|
eb711f1fcd | ||
|
|
057d1205fb | ||
|
|
df14f4a9ab | ||
|
|
a2b2d45431 | ||
|
|
b6e6846cac | ||
|
|
3edab32ada | ||
|
|
d827a1c345 | ||
|
|
bac54a4cfe | ||
|
|
850341c88a | ||
|
|
25c39d2343 | ||
|
|
c429aec72d | ||
|
|
60fd488c60 | ||
|
|
70155458a8 | ||
|
|
698a7e0436 | ||
|
|
956cc99560 | ||
|
|
ec438eb0ac | ||
|
|
2edf7c0ac2 | ||
|
|
b5e81f25a5 | ||
|
|
bfc3a5e954 | ||
|
|
e1d2cf8089 | ||
|
|
a1a7d699f4 | ||
|
|
9b2b726b94 | ||
|
|
33a68193d2 | ||
|
|
30a7af9f21 | ||
|
|
fc2b40683d | ||
|
|
f818e1470b | ||
|
|
357b1e6bd1 | ||
|
|
44e9108a26 | ||
|
|
3aed4d0693 | ||
|
|
466e6a83a8 | ||
|
|
47ec0ae2c2 | ||
|
|
eb894e2223 | ||
|
|
a01bde0a6f | ||
|
|
fbf6a72ee2 | ||
|
|
57ad49c4d0 | ||
|
|
2d85dbcd53 | ||
|
|
1385e36f8e | ||
|
|
8e46ea5003 | ||
|
|
ea326c7614 | ||
|
|
bd44fe92ea | ||
|
|
67b28b9f3f | ||
|
|
ec9f5a760c | ||
|
|
f7c6a658ff | ||
|
|
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 | ||
|
|
445b63ecd1 | ||
|
|
aa3d3e8d3c | ||
|
|
4d5d843710 | ||
|
|
b5864240c4 | ||
|
|
02ed470b48 | ||
|
|
8dfd3d4c1f | ||
|
|
47516b1603 | ||
|
|
07d40aa7a4 | ||
|
|
6c62305d40 | ||
|
|
00f98305c5 | ||
|
|
ceef9cae38 | ||
|
|
9d5de827c0 | ||
|
|
03c03164f4 | ||
|
|
77427db89e | ||
|
|
243a6a83ef | ||
|
|
cf6915f3cf | ||
|
|
67cbdaa8a6 | ||
|
|
76b2a11302 | ||
|
|
389fe463c0 | ||
|
|
b4c54f4f99 | ||
|
|
c8e0bb8b22 | ||
|
|
435965a234 | ||
|
|
932bf45167 | ||
|
|
984d057307 | ||
|
|
011a511654 | ||
|
|
898445224d | ||
|
|
81b08de10c | ||
|
|
af080ad7b5 | ||
|
|
ac330454f5 | ||
|
|
38b31b854a | ||
|
|
4a70b29710 | ||
|
|
2e6316e7bb | ||
|
|
ef4e5fca32 | ||
|
|
9130557b48 | ||
|
|
002fcbc7bc | ||
|
|
f12fc3feee | ||
|
|
9f86d458ab | ||
|
|
38e353fff3 | ||
|
|
b160f01b98 | ||
|
|
bcbc76192e | ||
|
|
a49f8c3ddc | ||
|
|
2b2d47d1b3 | ||
|
|
49f747137b | ||
|
|
1ff179efc0 | ||
|
|
d47635ead3 | ||
|
|
fb25b1a150 | ||
|
|
ddba161015 | ||
|
|
79e2b3ac27 | ||
|
|
1517f6155e | ||
|
|
4b51209c1f | ||
|
|
1627b46308 | ||
|
|
6c15394a3d | ||
|
|
5670afc652 | ||
|
|
4f2eb8a326 | ||
|
|
d540af73b4 | ||
|
|
1c097b5439 | ||
|
|
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 | ||
|
|
96708ee512 | ||
|
|
3fa868ddc9 | ||
|
|
cabc6cafc8 | ||
|
|
9f80298e56 | ||
|
|
f46183b5a9 | ||
|
|
e5a735c043 | ||
|
|
a04a0f2e04 | ||
|
|
f7cf4f05a4 | ||
|
|
f6f32311a3 | ||
|
|
77045031c2 | ||
|
|
31cd634282 | ||
|
|
8b362f5c46 | ||
|
|
25f3f676dd | ||
|
|
3a2a0efcd3 | ||
|
|
242c97c8a6 | ||
|
|
2173cac043 | ||
|
|
6dcc974ef5 | ||
|
|
0d8b5c61bd | ||
|
|
385444fa14 | ||
|
|
f8021fedef | ||
|
|
a92e594b47 | ||
|
|
bb5c58434d | ||
|
|
bb87c2edc7 | ||
|
|
2731505a8b | ||
|
|
245d30fcff | ||
|
|
2df83b38cd | ||
|
|
f589eaaeb6 | ||
|
|
b8808fe115 | ||
|
|
c0a78b419f | ||
|
|
9ca74c45a8 | ||
|
|
73ee445621 | ||
|
|
c98b3bc34b | ||
|
|
1c42a83df1 | ||
|
|
d94a8515c1 | ||
|
|
7f40f1fb48 | ||
|
|
f3b8806337 | ||
|
|
a73e8ed106 | ||
|
|
cd02547214 | ||
|
|
9a029d1b7e | ||
|
|
9418d43d5b | ||
|
|
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 | ||
|
|
9a0ec1951e | ||
|
|
c468ecccc5 | ||
|
|
19b176af8b | ||
|
|
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 | ||
|
|
e45543c23a | ||
|
|
ffd27904be | ||
|
|
8dceed008b | ||
|
|
07a5f4c537 | ||
|
|
6d7449553c | ||
|
|
c1dd160bc8 | ||
|
|
acf2cfdb8f | ||
|
|
5acf946102 | ||
|
|
5dbc1f256b | ||
|
|
66d8b6679e | ||
|
|
565f73bbbc | ||
|
|
6296e110ff | ||
|
|
c23d08bb1c | ||
|
|
10cc1e491c | ||
|
|
3902ecc1ba | ||
|
|
9bb8753635 | ||
|
|
f898486d29 | ||
|
|
55aca0f2d7 | ||
|
|
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 | ||
|
|
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 | ||
|
|
1cadcd04e0 | ||
|
|
3fc4e0d6eb | ||
|
|
68011884ec | ||
|
|
fefb969cdd | ||
|
|
c4601cd75c | ||
|
|
522de631e1 | ||
|
|
2772c933c6 | ||
|
|
9d4fce3bf3 | ||
|
|
0444b6a945 | ||
|
|
2eb014b48c | ||
|
|
0ec4029c81 | ||
|
|
26d644989a | ||
|
|
491ad0c4f7 | ||
|
|
29e741113f | ||
|
|
7d10c5bc0a | ||
|
|
bbc1638ce1 | ||
|
|
0976632232 | ||
|
|
3f6c74fbc4 | ||
|
|
6a1c0b0842 | ||
|
|
6851c8d89b | ||
|
|
df20056091 | ||
|
|
91914435ad | ||
|
|
6b02e96eaf | ||
|
|
e221522f10 | ||
|
|
266f9538d5 | ||
|
|
022a8dbe8f | ||
|
|
dfbb454e07 | ||
|
|
453125603e | ||
|
|
ed98aff23d | ||
|
|
63586b45d3 | ||
|
|
b0aa15b85b | ||
|
|
8834452005 | ||
|
|
79312ec17e | ||
|
|
753d040785 | ||
|
|
d096187121 | ||
|
|
1358a2751f | ||
|
|
652376d5b3 | ||
|
|
e14a40d164 | ||
|
|
cafbdc6174 | ||
|
|
40ea8e5cb4 | ||
|
|
d391f7c63d | ||
|
|
01487e8643 | ||
|
|
1719aeb5d2 | ||
|
|
e44f85ab5d | ||
|
|
80c8967c03 | ||
|
|
876915c6a1 | ||
|
|
4d127a6a46 | ||
|
|
e67726a839 | ||
|
|
be9e8a5340 | ||
|
|
06668fe36f | ||
|
|
1a89bb119d | ||
|
|
bd79a86b01 | ||
|
|
b2cdea89f5 | ||
|
|
9949620e45 | ||
|
|
29ab806ba6 | ||
|
|
c1d9c2e3b2 | ||
|
|
b436cdd69c | ||
|
|
1de01cb219 | ||
|
|
fd5e84d8e6 | ||
|
|
5ad959f728 | ||
|
|
af0a5af68c | ||
|
|
5ed03602e6 | ||
|
|
4b39e7d090 | ||
|
|
a39af74e4d | ||
|
|
53e7770fd1 | ||
|
|
7fa51274b9 | ||
|
|
821b7ac2b5 | ||
|
|
4e78cdbda6 | ||
|
|
7918702d81 | ||
|
|
1039ff757d | ||
|
|
330ed9959b | ||
|
|
6578fdad34 | ||
|
|
abad9ccee2 | ||
|
|
afdeae0362 | ||
|
|
8f99a3be7a | ||
|
|
979f5b2e7b | ||
|
|
b339e2c59e | ||
|
|
a50090c047 | ||
|
|
30093a30d3 | ||
|
|
92b911a7c0 | ||
|
|
163e61b805 | ||
|
|
5d366027d5 | ||
|
|
18052b1b57 | ||
|
|
c86b339f4f | ||
|
|
8cf5449fd9 | ||
|
|
8cdeecd144 | ||
|
|
3480143685 | ||
|
|
9f3116100a | ||
|
|
e6b4cdadc5 | ||
|
|
ae11b1005a | ||
|
|
7bdb63c235 | ||
|
|
0ad11db552 | ||
|
|
be113a79eb | ||
|
|
703ff0db40 | ||
|
|
131a9af96d | ||
|
|
9f32083fd9 | ||
|
|
f6eb5b3fa4 | ||
|
|
8ce607d540 | ||
|
|
042ea6250a | ||
|
|
6a7ab7a4d3 | ||
|
|
6d35589509 | ||
|
|
4a501d5aea | ||
|
|
59af29a2a0 | ||
|
|
249afa3d2e | ||
|
|
d0e2d0d885 | ||
|
|
35865af26a | ||
|
|
c9091dafe3 | ||
|
|
b6016a59f3 | ||
|
|
269168158d | ||
|
|
249af9e46c | ||
|
|
b1402be6d5 | ||
|
|
8da8d21484 | ||
|
|
f650e1150e | ||
|
|
338baa118e | ||
|
|
45cc4bb387 | ||
|
|
5e0c918e7b | ||
|
|
a92a9b0df5 | ||
|
|
831ce3cd26 | ||
|
|
075c1d5096 | ||
|
|
a650cb0e62 | ||
|
|
c27e9c11b6 | ||
|
|
adf91e8e2b | ||
|
|
f43f7a9777 | ||
|
|
5d636b506a | ||
|
|
edb89345ec | ||
|
|
201ecd476d | ||
|
|
5e38ddc11e | ||
|
|
2b9ab70dc0 | ||
|
|
f3f1c8c20e | ||
|
|
ba9e2c55e0 | ||
|
|
175027bed8 | ||
|
|
30f1e924b5 | ||
|
|
703f347ee8 | ||
|
|
7310129200 | ||
|
|
2aacf785b4 | ||
|
|
36e583d2b6 | ||
|
|
e0cceee495 | ||
|
|
8da4947343 | ||
|
|
17c42c34ad | ||
|
|
f258e9a659 | ||
|
|
1dbfde12af | ||
|
|
1ccdc3374a | ||
|
|
da30b2b421 |
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/**
|
||||
59
.hgtags
59
.hgtags
@@ -502,3 +502,62 @@ ea900a7dc7d77dee30865c60eabd87fc24b1037c jdk-11+24
|
||||
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
|
||||
3594cd8691f224cc7f8909c2fb14eaea0e190097 jdk-11.0.5+0
|
||||
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
|
||||
6a4d57474e1c971cccf4165b3d9d023928510010 jdk-11.0.4+11
|
||||
6a4d57474e1c971cccf4165b3d9d023928510010 jdk-11.0.4-ga
|
||||
3ba9c532128b1feccf59ab8ce812b1fce2b6f681 jdk-11.0.5+1
|
||||
b249a2a2034e3392c647c61d401a41ac7237d635 jdk-11.0.5+2
|
||||
d84dae4fba034adc749e3f28fc444b3d95b8f670 jdk-11.0.5+3
|
||||
315e873712092d48fbfa23885bdf2c6fd654c1ab jdk-11.0.5+4
|
||||
d43c5ab1a337b94fffee1cab871543da06f8113c jdk-11.0.5+5
|
||||
|
||||
@@ -35,6 +35,9 @@
|
||||
<li><a href="#jtreg-keywords">JTReg keywords</a></li>
|
||||
<li><a href="#gtest-keywords">Gtest keywords</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#notes-for-specific-tests">Notes for Specific Tests</a><ul>
|
||||
<li><a href="#docker-tests">Docker Tests</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<h2 id="using-the-run-test-framework">Using the run-test framework</h2>
|
||||
@@ -123,5 +126,11 @@ TEST FAILURE</code></pre>
|
||||
<h4 id="options-1">OPTIONS</h4>
|
||||
<p>Additional options to the Gtest test framework.</p>
|
||||
<p>Use <code>GTEST="OPTIONS=--help"</code> to see all available Gtest options.</p>
|
||||
<h2 id="notes-for-specific-tests">Notes for Specific Tests</h2>
|
||||
<h3 id="docker-tests">Docker Tests</h3>
|
||||
<p>Docker tests with default parameters may fail on systems with glibc versions not compatible with the one used in the default docker image (e.g., Oracle Linux 7.6 for x86). For example, they pass on Ubuntu 16.04 but fail on Ubuntu 18.04 if run like this on x86:</p>
|
||||
<pre><code>$ make run-test TEST="jtreg:test/hotspot/jtreg/containers/docker"</code></pre>
|
||||
<p>To run these tests correctly, additional parameters for the correct docker image are required on Ubuntu 18.04 by using <code>JAVA_OPTIONS</code>.</p>
|
||||
<pre><code>$ make run-test TEST="jtreg:test/hotspot/jtreg/containers/docker" JTREG="JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest"</code></pre>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -230,6 +230,21 @@ Additional options to the Gtest test framework.
|
||||
|
||||
Use `GTEST="OPTIONS=--help"` to see all available Gtest options.
|
||||
|
||||
## Notes for Specific Tests
|
||||
|
||||
### Docker Tests
|
||||
|
||||
Docker tests with default parameters may fail on systems with glibc versions not
|
||||
compatible with the one used in the default docker image (e.g., Oracle Linux 7.6 for x86).
|
||||
For example, they pass on Ubuntu 16.04 but fail on Ubuntu 18.04 if run like this on x86:
|
||||
|
||||
$ make run-test TEST="jtreg:test/hotspot/jtreg/containers/docker"
|
||||
|
||||
To run these tests correctly, additional parameters for the correct docker image are
|
||||
required on Ubuntu 18.04 by using `JAVA_OPTIONS`.
|
||||
|
||||
$ make run-test TEST="jtreg:test/hotspot/jtreg/containers/docker" JTREG="JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest"
|
||||
|
||||
---
|
||||
# Override some definitions in the global css file that are not optimal for
|
||||
# this document.
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -38,7 +38,7 @@ ALL_MODULEINFO_CLASSES := $(wildcard $(JDK_OUTPUTDIR)/modules/*/module_info.clas
|
||||
|
||||
$(PACKAGES_ATTRIBUTE_TARGET): $(ALL_MODULEINFO_CLASSES) $(BUILD_JIGSAW_CLASSES)
|
||||
$(call LogInfo, Optimizing the exploded image)
|
||||
$(TOOL_ADD_PACKAGES_ATTRIBUTE) $(JDK_OUTPUTDIR)
|
||||
$(call ExecuteWithLog, $@, $(TOOL_ADD_PACKAGES_ATTRIBUTE) $(JDK_OUTPUTDIR))
|
||||
$(TOUCH) $@
|
||||
|
||||
TARGETS := $(PACKAGES_ATTRIBUTE_TARGET)
|
||||
|
||||
@@ -421,8 +421,8 @@ else # $(HAS_SPEC)=true
|
||||
$(if $(filter all, $(LOG_REPORT)), \
|
||||
$(GREP) -v -e "^Note: including file:" < $(logfile) || true $(NEWLINE) \
|
||||
, \
|
||||
($(GREP) -v -e "^Note: including file:" < $(logfile) || true) | $(HEAD) -n 12 $(NEWLINE) \
|
||||
if test `$(WC) -l < $(logfile)` -gt 12; then \
|
||||
($(GREP) -v -e "^Note: including file:" < $(logfile) || true) | $(HEAD) -n 15 $(NEWLINE) \
|
||||
if test `$(WC) -l < $(logfile)` -gt 15; then \
|
||||
$(ECHO) " ... (rest of output omitted)" ; \
|
||||
fi $(NEWLINE) \
|
||||
) \
|
||||
|
||||
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,43 @@ 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)
|
||||
CORES_DIVIDER := 2
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
|
||||
# For smaller SPARC machines we see reasonable scaling of throughput up to
|
||||
# cpus/4 without affecting test reliability. On the bigger machines, cpus/4
|
||||
# causes intermittent timeouts.
|
||||
ifeq ($(shell $(EXPR) $(NUM_CORES) \> 16), 1)
|
||||
CORES_DIVIDER := 5
|
||||
else
|
||||
CORES_DIVIDER := 4
|
||||
endif
|
||||
endif
|
||||
MEMORY_DIVIDER := 2048
|
||||
TEST_JOBS := $(shell $(AWK) \
|
||||
'BEGIN { \
|
||||
c = $(NUM_CORES) / $(CORES_DIVIDER); \
|
||||
m = $(MEMORY_SIZE) / $(MEMORY_DIVIDER); \
|
||||
if (c > m) c = m; \
|
||||
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 +180,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 +191,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 +504,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
|
||||
|
||||
@@ -487,7 +513,12 @@ define SetupRunJtregTestBody
|
||||
# we may end up with a lot of JVM's
|
||||
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $$(EXPR) 25 / $$($1_JTREG_JOBS))
|
||||
|
||||
JTREG_TIMEOUT ?= 4
|
||||
# SPARC is in general slower per core so need to scale up timeouts a bit.
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
|
||||
JTREG_TIMEOUT ?= 8
|
||||
else
|
||||
JTREG_TIMEOUT ?= 4
|
||||
endif
|
||||
JTREG_VERBOSE ?= fail,error,summary
|
||||
JTREG_RETAIN ?= fail,error
|
||||
|
||||
|
||||
@@ -87,12 +87,12 @@ endef
|
||||
# $1: The output file name
|
||||
# $2..$N: The lines to output to the file
|
||||
define CreateNewSpec
|
||||
$(if $(strip $(26)), \
|
||||
$(if $(strip $(27)), \
|
||||
$(error Internal makefile error: \
|
||||
Too many arguments to macro, please update CreateNewSpec in RunTestsPrebuilt.gmk) \
|
||||
) \
|
||||
$(shell $(RM) $1) \
|
||||
$(foreach i, $(call sequence, 2, 25), \
|
||||
$(foreach i, $(call sequence, 2, 26), \
|
||||
$(if $(strip $($i)), \
|
||||
$(call AppendFile, $(strip $($i)), $1) \
|
||||
) \
|
||||
@@ -212,17 +212,29 @@ else
|
||||
PATH_SEP:=:
|
||||
endif
|
||||
|
||||
# Check number of cores
|
||||
# Check number of cores and memory in MB
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
NUM_CORES := $(shell $(CAT) /proc/cpuinfo | $(GREP) -c processor)
|
||||
MEMORY_SIZE := $(shell \
|
||||
$(EXPR) `$(CAT) /proc/meminfo | $(GREP) MemTotal | $(AWK) '{print $$2}'` / 1024 \
|
||||
)
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
|
||||
MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
|
||||
else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | $(GREP) -c on-line)
|
||||
MEMORY_SIZE := $(shell \
|
||||
/usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \
|
||||
)
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
NUM_CORES := $(NUMBER_OF_PROCESSORS)
|
||||
MEMORY_SIZE := $(shell \
|
||||
$(EXPR) `wmic computersystem get totalphysicalmemory -value | $(GREP) = \
|
||||
| $(CUT) -d "=" -f 2-` / 1024 / 1024 \
|
||||
)
|
||||
else
|
||||
NUM_CORES := 1
|
||||
MEMORY_SIZE := 1024
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
@@ -260,6 +272,7 @@ $(call CreateNewSpec, $(NEW_SPEC), \
|
||||
OPENJDK_TARGET_CPU_BITS := $(OPENJDK_TARGET_CPU_BITS), \
|
||||
OPENJDK_TARGET_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN), \
|
||||
NUM_CORES := $(NUM_CORES), \
|
||||
MEMORY_SIZE := $(MEMORY_SIZE), \
|
||||
include $(TOPDIR)/make/RunTestsPrebuiltSpec.gmk, \
|
||||
$(CUSTOM_NEW_SPEC_LINE), \
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2016, 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
|
||||
@@ -42,8 +42,11 @@ AC_DEFUN([BPERF_CHECK_CORES],
|
||||
NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
|
||||
FOUND_CORES=yes
|
||||
elif test "x$OPENJDK_BUILD_OS" = xaix ; then
|
||||
NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print [$]4 }'`
|
||||
FOUND_CORES=yes
|
||||
NUM_LCPU=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
|
||||
if test -n "$NUM_LCPU"; then
|
||||
NUM_CORES=$NUM_LCPU
|
||||
FOUND_CORES=yes
|
||||
fi
|
||||
elif test -n "$NUMBER_OF_PROCESSORS"; then
|
||||
# On windows, look in the env
|
||||
NUM_CORES=$NUMBER_OF_PROCESSORS
|
||||
|
||||
@@ -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
|
||||
@@ -31,9 +31,7 @@
|
||||
AC_DEFUN([FLAGS_SETUP_ARFLAGS],
|
||||
[
|
||||
# FIXME: figure out if we should select AR flags depending on OS or toolchain.
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
ARFLAGS="-r -mmacosx-version-min=$MACOSX_VERSION_MIN"
|
||||
elif test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
ARFLAGS="-X64"
|
||||
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||
# lib.exe is used as AR to create static libraries.
|
||||
@@ -83,10 +81,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 \
|
||||
|
||||
@@ -335,8 +335,12 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
|
||||
CC_OUT_OPTION='-o$(SPACE)'
|
||||
# When linking, how to specify the output
|
||||
LD_OUT_OPTION='-o$(SPACE)'
|
||||
# When archiving, how to specify the to be create static archive for object files.
|
||||
AR_OUT_OPTION='rcs$(SPACE)'
|
||||
# When archiving, how to specify the destination static archive.
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
AR_OUT_OPTION='-r -cs$(SPACE)'
|
||||
else
|
||||
AR_OUT_OPTION='-rcs$(SPACE)'
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(CC_OUT_OPTION)
|
||||
AC_SUBST(LD_OUT_OPTION)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -338,17 +338,18 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
|
||||
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
|
||||
@@ -482,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
|
||||
|
||||
@@ -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 Xrandr.h XTest.h Intrinsic.h). $HELP_MSG])
|
||||
fi
|
||||
|
||||
# If XLinearGradient isn't available in Xrender.h, signal that it needs to be
|
||||
|
||||
@@ -130,6 +130,11 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lthread"
|
||||
fi
|
||||
|
||||
# perfstat lib
|
||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"
|
||||
fi
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lsocket -lsched -ldoor -ldemangle -lnsl \
|
||||
-lrt -lkstat"
|
||||
|
||||
@@ -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)"' \
|
||||
@@ -444,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@
|
||||
@@ -534,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
|
||||
@@ -716,6 +725,7 @@ EXPR:=@EXPR@
|
||||
FILE:=@FILE@
|
||||
DOT:=@DOT@
|
||||
HG:=@HG@
|
||||
GIT:=@GIT@
|
||||
OBJCOPY:=@OBJCOPY@
|
||||
SETFILE:=@SETFILE@
|
||||
XATTR:=@XATTR@
|
||||
@@ -871,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=0
|
||||
DEFAULT_VERSION_UPDATE=5
|
||||
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-10-15
|
||||
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
|
||||
|
||||
@@ -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, \
|
||||
)) \
|
||||
|
||||
@@ -525,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",
|
||||
@@ -709,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
|
||||
@@ -733,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,
|
||||
@@ -806,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
|
||||
@@ -837,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",
|
||||
@@ -901,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",
|
||||
@@ -1154,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);
|
||||
}
|
||||
|
||||
@@ -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: 2019-04-03
|
||||
%%
|
||||
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
|
||||
%%
|
||||
@@ -43008,6 +43008,7 @@ Subtag: lsg
|
||||
Description: Lyons Sign Language
|
||||
Added: 2009-07-29
|
||||
Deprecated: 2018-03-08
|
||||
Preferred-Value: lsg
|
||||
Prefix: sgn
|
||||
%%
|
||||
Type: extlang
|
||||
@@ -43406,6 +43407,7 @@ Subtag: rsi
|
||||
Description: Rennellese Sign Language
|
||||
Added: 2009-07-29
|
||||
Deprecated: 2017-02-23
|
||||
Preferred-Value: rsi
|
||||
Prefix: sgn
|
||||
%%
|
||||
Type: extlang
|
||||
@@ -43760,6 +43762,7 @@ Subtag: yds
|
||||
Description: Yiddish Sign Language
|
||||
Added: 2009-07-29
|
||||
Deprecated: 2015-02-12
|
||||
Preferred-Value: yds
|
||||
Prefix: sgn
|
||||
%%
|
||||
Type: extlang
|
||||
@@ -44036,6 +44039,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 +44440,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 +46045,8 @@ Added: 2005-10-16
|
||||
%%
|
||||
Type: region
|
||||
Subtag: SZ
|
||||
Description: Eswatini
|
||||
Description: eSwatini
|
||||
Description: Swaziland
|
||||
Added: 2005-10-16
|
||||
%%
|
||||
@@ -46525,16 +46540,16 @@ Subtag: arevela
|
||||
Description: Eastern Armenian
|
||||
Added: 2006-09-18
|
||||
Deprecated: 2018-03-24
|
||||
Preferred-Value: hy
|
||||
Prefix: hy
|
||||
Comments: Preferred tag is hy
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: arevmda
|
||||
Description: Western Armenian
|
||||
Added: 2006-09-18
|
||||
Deprecated: 2018-03-24
|
||||
Preferred-Value: hyw
|
||||
Prefix: hy
|
||||
Comments: Preferred tag is hyw
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: asante
|
||||
@@ -46630,6 +46645,12 @@ Prefix: en
|
||||
Comments: Jargon embedded in American English
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: bornholm
|
||||
Description: Bornholmsk
|
||||
Added: 2019-03-27
|
||||
Prefix: da
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: cisaup
|
||||
Description: Cisalpine
|
||||
Added: 2018-04-22
|
||||
|
||||
@@ -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
|
||||
tzdata2019a
|
||||
|
||||
@@ -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
|
||||
@@ -383,8 +387,20 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
|
||||
# See Africa/Lagos.
|
||||
|
||||
# Eritrea
|
||||
# See Africa/Nairobi.
|
||||
|
||||
# Eswatini (formerly Swaziland)
|
||||
# See Africa/Johannesburg.
|
||||
|
||||
# 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,14 +872,27 @@ 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))
|
||||
# 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 Matt Johnson (2018-10-28):
|
||||
# http://www.sgg.gov.ma/Portals/1/BO/2018/BO_6720-bis_Ar.pdf
|
||||
#
|
||||
# From Maamar Abdelkader (2018-11-01):
|
||||
# We usually move clocks back the previous week end and come back to the +1
|
||||
# the week end after.... The government does not announce yet the decision
|
||||
# about this temporary change. But it s 99% sure that it will be the case,
|
||||
# as in previous years. An unofficial survey was done these days, showing
|
||||
# that 64% of asked peopke are ok for moving from +1 to +0 during Ramadan.
|
||||
# https://leconomiste.com/article/1035870-enquete-l-economiste-sunergia-64-des-marocains-plebiscitent-le-gmt-pendant-ramadan
|
||||
#
|
||||
# From Paul Eggert (2018-11-01):
|
||||
# For now, guess that Morocco will fall back at 03:00 the last Sunday
|
||||
# before Ramadan, and spring forward at 02:00 the first Sunday after
|
||||
# Ramadan, as this has been the practice since 2012. To implement this,
|
||||
# transition dates for 2019 through 2037 were determined by running the
|
||||
# following program under GNU Emacs 26.1.
|
||||
# (let ((islamic-year 1440))
|
||||
# (require 'cal-islam)
|
||||
# (while (< islamic-year 1460)
|
||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
||||
@@ -876,74 +905,101 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
||||
# (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")
|
||||
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 3:00\t-1:00\t-\n"
|
||||
# "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 2:00\t0\t-\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))))
|
||||
|
||||
# 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 2017 - 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 2018 only - Jun 17 2:00 1:00 -
|
||||
Rule Morocco 2019 only - May 5 3:00 0 -
|
||||
Rule Morocco 2019 only - Jun 9 2:00 1:00 S
|
||||
Rule Morocco 2019 only - Jun 9 2:00 1:00 -
|
||||
Rule Morocco 2020 only - Apr 19 3:00 0 -
|
||||
Rule Morocco 2020 only - May 24 2:00 1:00 S
|
||||
Rule Morocco 2020 only - May 24 2:00 1:00 -
|
||||
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 2021 only - May 16 2:00 1:00 -
|
||||
Rule Morocco 2022 only - Mar 27 3:00 0 -
|
||||
Rule Morocco 2022 only - May 8 2:00 1:00 -
|
||||
Rule Morocco 2023 only - Mar 19 3:00 0 -
|
||||
Rule Morocco 2023 only - Apr 23 2:00 1:00 -
|
||||
Rule Morocco 2024 only - Mar 10 3:00 0 -
|
||||
Rule Morocco 2024 only - Apr 14 2:00 1:00 -
|
||||
Rule Morocco 2025 only - Feb 23 3:00 0 -
|
||||
Rule Morocco 2025 only - Apr 6 2:00 1:00 -
|
||||
Rule Morocco 2026 only - Feb 15 3:00 0 -
|
||||
Rule Morocco 2026 only - Mar 22 2:00 1:00 -
|
||||
Rule Morocco 2027 only - Feb 7 3:00 0 -
|
||||
Rule Morocco 2027 only - Mar 14 2:00 1:00 -
|
||||
Rule Morocco 2028 only - Jan 23 3:00 0 -
|
||||
Rule Morocco 2028 only - Feb 27 2:00 1:00 -
|
||||
Rule Morocco 2029 only - Jan 14 3:00 0 -
|
||||
Rule Morocco 2029 only - Feb 18 2:00 1:00 -
|
||||
Rule Morocco 2029 only - Dec 30 3:00 0 -
|
||||
Rule Morocco 2030 only - Feb 10 2:00 1:00 -
|
||||
Rule Morocco 2030 only - Dec 22 3:00 0 -
|
||||
Rule Morocco 2031 only - Jan 26 2:00 1:00 -
|
||||
Rule Morocco 2031 only - Dec 14 3:00 0 -
|
||||
Rule Morocco 2032 only - Jan 18 2:00 1:00 -
|
||||
Rule Morocco 2032 only - Nov 28 3:00 0 -
|
||||
Rule Morocco 2033 only - Jan 9 2:00 1:00 -
|
||||
Rule Morocco 2033 only - Nov 20 3:00 0 -
|
||||
Rule Morocco 2033 only - Dec 25 2:00 1:00 -
|
||||
Rule Morocco 2034 only - Nov 5 3:00 0 -
|
||||
Rule Morocco 2034 only - Dec 17 2:00 1:00 -
|
||||
Rule Morocco 2035 only - Oct 28 3:00 0 -
|
||||
Rule Morocco 2035 only - Dec 2 2:00 1:00 -
|
||||
Rule Morocco 2036 only - Oct 19 3:00 0 -
|
||||
Rule Morocco 2036 only - Nov 23 2:00 1:00 -
|
||||
Rule Morocco 2037 only - Oct 4 3:00 0 -
|
||||
Rule Morocco 2037 only - Nov 15 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 28 3:00
|
||||
0:00 Morocco +00/+01
|
||||
|
||||
# Western Sahara
|
||||
#
|
||||
@@ -958,7 +1014,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 28 3:00
|
||||
0:00 Morocco +00/+01
|
||||
|
||||
# Mozambique
|
||||
#
|
||||
@@ -1115,10 +1172,20 @@ Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
|
||||
# the switch is from 01:00 to 02:00 ... [Decree No. 25/2017]
|
||||
# http://www.mnec.gov.st/index.php/publicacoes/documentos/file/90-decreto-lei-n-25-2017
|
||||
|
||||
# From Vadim Nasardinov (2018-12-29):
|
||||
# São Tomé and Príncipe is about to do the following on Jan 1, 2019:
|
||||
# https://www.stp-press.st/2018/12/05/governo-jesus-ja-decidiu-repor-hora-legal-sao-tomense/
|
||||
#
|
||||
# From Michael Deckers (2018-12-30):
|
||||
# https://www.legis-palop.org/download.jsp?idFile=102818
|
||||
# ... [The legal time of the country, which coincides with universal
|
||||
# coordinated time, will be restituted at 2 o'clock on day 1 of January, 2019.]
|
||||
|
||||
Zone Africa/Sao_Tome 0:26:56 - LMT 1884
|
||||
-0:36:45 - LMT 1912 Jan 1 00:00u # Lisbon MT
|
||||
0:00 - GMT 2018 Jan 1 01:00
|
||||
1:00 - WAT
|
||||
1:00 - WAT 2019 Jan 1 02:00
|
||||
0:00 - GMT
|
||||
|
||||
# Senegal
|
||||
# See Africa/Abidjan.
|
||||
@@ -1149,7 +1216,7 @@ Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
|
||||
1:30 - SAST 1903 Mar
|
||||
2:00 SA SAST
|
||||
Link Africa/Johannesburg Africa/Maseru # Lesotho
|
||||
Link Africa/Johannesburg Africa/Mbabane # Swaziland
|
||||
Link Africa/Johannesburg Africa/Mbabane # Eswatini
|
||||
#
|
||||
# Marion and Prince Edward Is
|
||||
# scientific station since 1947
|
||||
@@ -1191,9 +1258,6 @@ Zone Africa/Juba 2:06:28 - LMT 1931
|
||||
2:00 Sudan CA%sT 2000 Jan 15 12:00
|
||||
3:00 - EAT
|
||||
|
||||
# Swaziland
|
||||
# See Africa/Johannesburg.
|
||||
|
||||
# Tanzania
|
||||
# See Africa/Nairobi.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -416,10 +425,44 @@ Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
|
||||
# it is uninhabited.
|
||||
|
||||
# Guam
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
# http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-59-7-Guam-Daylight-Savings-Time-May-6-1959.pdf
|
||||
Rule Guam 1959 only - Jun 27 2:00 1:00 D
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-61-5-Revocation-of-Daylight-Saving-Time-and-Restoratio.pdf
|
||||
Rule Guam 1961 only - Jan 29 2:00 0 S
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-67-13-Guam-Daylight-Savings-Time.pdf
|
||||
Rule Guam 1967 only - Sep 1 2:00 1:00 D
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-69-2-Repeal-of-Guam-Daylight-Saving-Time.pdf
|
||||
Rule Guam 1969 only - Jan 26 0:01 0 S
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-69-10-Guam-Daylight-Saving-Time.pdf
|
||||
Rule Guam 1969 only - Jun 22 2:00 1:00 D
|
||||
Rule Guam 1969 only - Aug 31 2:00 0 S
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-70-10-Guam-Daylight-Saving-Time.pdf
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-70-30-End-of-Guam-Daylight-Saving-Time.pdf
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-71-5-Guam-Daylight-Savings-Time.pdf
|
||||
Rule Guam 1970 1971 - Apr lastSun 2:00 1:00 D
|
||||
Rule Guam 1970 1971 - Sep Sun>=1 2:00 0 S
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-73-28.-Guam-Day-light-Saving-Time.pdf
|
||||
Rule Guam 1973 only - Dec 16 2:00 1:00 D
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-74-7-Guam-Daylight-Savings-Time-Rescinded.pdf
|
||||
Rule Guam 1974 only - Feb 24 2:00 0 S
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-76-13-Daylight-Savings-Time.pdf
|
||||
Rule Guam 1976 only - May 26 2:00 1:00 D
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-76-25-Revocation-of-E.O.-76-13.pdf
|
||||
Rule Guam 1976 only - Aug 22 2:01 0 S
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-77-4-Daylight-Savings-Time.pdf
|
||||
Rule Guam 1977 only - Apr 24 2:00 1:00 D
|
||||
# http://documents.guam.gov/wp-content/uploads/E.O.-77-18-Guam-Standard-Time.pdf
|
||||
Rule Guam 1977 only - Aug 28 2:00 0 S
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
|
||||
9:39:00 - LMT 1901 # Agana
|
||||
10:00 - GST 2000 Dec 23 # Guam
|
||||
10:00 - GST 1941 Dec 10 # Guam
|
||||
9:00 - +09 1944 Jul 31
|
||||
10:00 Guam G%sT 2000 Dec 23
|
||||
10:00 - ChST # Chamorro Standard Time
|
||||
Link Pacific/Guam Pacific/Saipan # N Mariana Is
|
||||
|
||||
@@ -441,31 +484,56 @@ Zone Pacific/Kiritimati -10:29:20 - LMT 1901
|
||||
|
||||
# Marshall Is
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Majuro 11:24:48 - LMT 1901
|
||||
11:00 - +11 1969 Oct
|
||||
12:00 - +12
|
||||
Zone Pacific/Kwajalein 11:09:20 - LMT 1901
|
||||
11:00 - +11 1969 Oct
|
||||
-12:00 - -12 1993 Aug 20
|
||||
12:00 - +12
|
||||
Zone Pacific/Majuro 11:24:48 - LMT 1901
|
||||
11:00 - +11 1914 Oct
|
||||
9:00 - +09 1919 Feb 1
|
||||
11:00 - +11 1937
|
||||
10:00 - +10 1941 Apr 1
|
||||
9:00 - +09 1944 Jan 30
|
||||
11:00 - +11 1969 Oct
|
||||
12:00 - +12
|
||||
Zone Pacific/Kwajalein 11:09:20 - LMT 1901
|
||||
11:00 - +11 1937
|
||||
10:00 - +10 1941 Apr 1
|
||||
9:00 - +09 1944 Feb 6
|
||||
11:00 - +11 1969 Oct
|
||||
-12:00 - -12 1993 Aug 20 24:00
|
||||
12:00 - +12
|
||||
|
||||
# Micronesia
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Chuuk 10:07:08 - LMT 1901
|
||||
10:00 - +10
|
||||
Zone Pacific/Pohnpei 10:32:52 - LMT 1901 # Kolonia
|
||||
11:00 - +11
|
||||
Zone Pacific/Kosrae 10:51:56 - LMT 1901
|
||||
11:00 - +11 1969 Oct
|
||||
12:00 - +12 1999
|
||||
11:00 - +11
|
||||
Zone Pacific/Chuuk -13:52:52 - LMT 1844 Dec 31
|
||||
10:07:08 - LMT 1901
|
||||
10:00 - +10 1914 Oct
|
||||
9:00 - +09 1919 Feb 1
|
||||
10:00 - +10 1941 Apr 1
|
||||
9:00 - +09 1945 Aug
|
||||
10:00 - +10
|
||||
Zone Pacific/Pohnpei -13:27:08 - LMT 1844 Dec 31 # Kolonia
|
||||
10:32:52 - LMT 1901
|
||||
11:00 - +11 1914 Oct
|
||||
9:00 - +09 1919 Feb 1
|
||||
11:00 - +11 1937
|
||||
10:00 - +10 1941 Apr 1
|
||||
9:00 - +09 1945 Aug
|
||||
11:00 - +11
|
||||
Zone Pacific/Kosrae -13:08:04 - LMT 1844 Dec 31
|
||||
10:51:56 - LMT 1901
|
||||
11:00 - +11 1914 Oct
|
||||
9:00 - +09 1919 Feb 1
|
||||
11:00 - +11 1937
|
||||
10:00 - +10 1941 Apr 1
|
||||
9:00 - +09 1945 Aug
|
||||
11:00 - +11 1969 Oct
|
||||
12:00 - +12 1999
|
||||
11:00 - +11
|
||||
|
||||
# Nauru
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe
|
||||
11:30 - +1130 1942 Mar 15
|
||||
9:00 - +09 1944 Aug 15
|
||||
11:30 - +1130 1979 May
|
||||
11:30 - +1130 1942 Aug 29
|
||||
9:00 - +09 1945 Sep 8
|
||||
11:30 - +1130 1979 Feb 10 2:00
|
||||
12:00 - +12
|
||||
|
||||
# New Caledonia
|
||||
@@ -566,8 +634,9 @@ Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
|
||||
|
||||
# Palau (Belau)
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror
|
||||
9:00 - +09
|
||||
Zone Pacific/Palau -15:02:04 - LMT 1844 Dec 31 # Koror
|
||||
8:57:56 - LMT 1901
|
||||
9:00 - +09
|
||||
|
||||
# Papua New Guinea
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -829,7 +898,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (2017-02-10):
|
||||
# From Paul Eggert (2018-11-18):
|
||||
#
|
||||
# Unless otherwise specified, the source for data through 1990 is:
|
||||
# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
|
||||
@@ -854,6 +923,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# A reliable and entertaining source about time zones is
|
||||
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
|
||||
#
|
||||
# I invented the abbreviation marked "*".
|
||||
# The following abbreviations are from other sources.
|
||||
# Corrections are welcome!
|
||||
# std dst
|
||||
@@ -861,7 +931,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# 8:00 AWST AWDT Western Australia
|
||||
# 9:30 ACST ACDT Central Australia
|
||||
# 10:00 AEST AEDT Eastern Australia
|
||||
# 10:00 GST Guam through 2000
|
||||
# 10:00 GST GDT* Guam through 2000
|
||||
# 10:00 ChST Chamorro
|
||||
# 11:30 NZMT NZST New Zealand through 1945
|
||||
# 12:00 NZST NZDT New Zealand 1946-present
|
||||
@@ -1560,28 +1630,70 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
|
||||
# Kwajalein
|
||||
|
||||
# In comp.risks 14.87 (26 August 1993), Peter Neumann writes:
|
||||
# I wonder what happened in Kwajalein, where there was NO Friday,
|
||||
# 1993-08-20. Thursday night at midnight Kwajalein switched sides with
|
||||
# respect to the International Date Line, to rejoin its fellow islands,
|
||||
# going from 11:59 p.m. Thursday to 12:00 m. Saturday in a blink.
|
||||
# From an AP article (1993-08-22):
|
||||
# "The nearly 3,000 Americans living on this remote Pacific atoll have a good
|
||||
# excuse for not remembering Saturday night: there wasn't one. Residents were
|
||||
# going to bed Friday night and waking up Sunday morning because at midnight
|
||||
# -- 8 A.M. Eastern daylight time on Saturday -- Kwajalein was jumping from
|
||||
# one side of the international date line to the other."
|
||||
# "In Marshall Islands, Friday is followed by Sunday", NY Times. 1993-08-22.
|
||||
# https://www.nytimes.com/1993/08/22/world/in-marshall-islands-friday-is-followed-by-sunday.html
|
||||
|
||||
# From Phake Nick (2018-10-27):
|
||||
# <https://wiki.suikawiki.org/n/南洋群島の標準時> ... pointed out that
|
||||
# currently tzdata say Pacific/Kwajalein switched from GMT+11 to GMT-12 in
|
||||
# 1969 October without explanation, however an 1993 article from NYT say it
|
||||
# synchorized its day with US mainland about 40 years ago and thus the switch
|
||||
# should occur at around 1950s instead.
|
||||
#
|
||||
# From Paul Eggert (2018-11-18):
|
||||
# The NYT (actually, AP) article is vague and possibly wrong about this.
|
||||
# The article says the earlier switch was "40 years ago when the United States
|
||||
# Army established a missile test range here". However, the Kwajalein Test
|
||||
# Center was established on 1960-10-01 and was run by the US Navy. It was
|
||||
# transferred to the US Army on 1964-07-01. See "Seize the High Ground"
|
||||
# <https://history.army.mil/html/books/070/70-88-1/cmhPub_70-88-1.pdf>.
|
||||
# Given that Shanks was right on the money about the 1993 change, I'm inclined
|
||||
# to take Shanks's word for the 1969 change unless we find better evidence.
|
||||
|
||||
|
||||
# N Mariana Is, Guam
|
||||
|
||||
# From Phake Nick (2018-10-27):
|
||||
# Guam Island was briefly annexed by Japan during ... year 1941-1944 ...
|
||||
# however there are no detailed information about what time it use during that
|
||||
# period. It would probably be reasonable to assume Guam use GMT+9 during
|
||||
# that period of time like the surrounding area.
|
||||
|
||||
# From Paul Eggert (2018-11-18):
|
||||
# Howse writes (p 153) "The Spaniards, on the other hand, reached the
|
||||
# Philippines and the Ladrones from America," and implies that the Ladrones
|
||||
# (now called the Marianas) kept American date for quite some time.
|
||||
# For now, we assume the Ladrones switched at the same time as the Philippines;
|
||||
# see Asia/Manila.
|
||||
|
||||
#
|
||||
# Use 1941-12-10 and 1944-07-31 for Guam WWII transitions, as the rough start
|
||||
# and end of Japanese control of Agana. We don't know whether the Northern
|
||||
# Marianas followed Guam's DST rules from 1959 through 1977; for now, assume
|
||||
# they did as that avoids the need for a separate zone due to our 1970 cutoff.
|
||||
#
|
||||
# US Public Law 106-564 (2000-12-23) made UT +10 the official standard time,
|
||||
# under the name "Chamorro Standard Time". There is no official abbreviation,
|
||||
# but Congressman Robert A. Underwood, author of the bill that became law,
|
||||
# wrote in a press release (2000-12-27) that he will seek the use of "ChST".
|
||||
|
||||
# See also the commentary for Micronesia.
|
||||
|
||||
# Micronesia
|
||||
|
||||
# Marshall Is
|
||||
# See the commentary for Micronesia.
|
||||
|
||||
|
||||
# Micronesia (and nearby)
|
||||
|
||||
# From Paul Eggert (2018-11-18):
|
||||
# Like the Ladrones (see Guam commentary), assume the Spanish East Indies
|
||||
# kept American time until the Philippines switched at the end of 1844.
|
||||
|
||||
# Alan Eugene Davis writes (1996-03-16),
|
||||
# "I am certain, having lived there for the past decade, that 'Truk'
|
||||
@@ -1597,6 +1709,95 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# that Truk and Yap are UT +10, and Ponape and Kosrae are +11.
|
||||
# We don't know when Kosrae switched from +12; assume January 1 for now.
|
||||
|
||||
# From Phake Nick (2018-10-27):
|
||||
#
|
||||
# From a Japanese wiki site https://wiki.suikawiki.org/n/南洋群島の標準時
|
||||
# ...
|
||||
# For "Southern Islands" (modern region of Mariana + Palau + Federation of
|
||||
# Micronesia + Marshall Islands):
|
||||
#
|
||||
# A 1906 Japanese magazine shown the Caroline Islands and Mariana Islands
|
||||
# who was occupied by Germany at the time as GMT+10, together with the like
|
||||
# of German New Guinea. However there is a marking saying it have not been
|
||||
# implemented (yet). No further information after that were found.
|
||||
#
|
||||
# Japan invaded those islands in 1914, and records shows that they were
|
||||
# instructed to use JST at the time.
|
||||
#
|
||||
# 1915 January telecommunication record on the Jaluit Atoll shows they use
|
||||
# the meridian of 170E as standard time (GMT+11:20), which is similar to the
|
||||
# longitude of the atoll.
|
||||
# 1915 February record say the 170E standard time is to be used until
|
||||
# February 9 noon, and after February 9 noon they are to use JST.
|
||||
# However these are time used within the Japanese Military at the time and
|
||||
# probably does not reflect the time used by local resident at the time (that
|
||||
# is if they keep their own time back then)
|
||||
#
|
||||
# In January 1919 the occupying force issued a command that split the area
|
||||
# into three different timezone with meridian of 135E, 150E, 165E (JST+0, +1,
|
||||
# +2), and the command was to become effective from February 1 of the same
|
||||
# year. Despite the target of the command is still only for the occupying
|
||||
# force itself, further publication have described the time as the standard
|
||||
# time for the occupied area and thus it can probably be seen as such.
|
||||
# * Area that use meridian of 135E: Palau and Yap civil administration area
|
||||
# (Southern Islands Western Standard Time)
|
||||
# * Area that use meridian of 150E: Truk (Chuuk) and Saipan civil
|
||||
# administration area (Southern Islands Central Standard Time)
|
||||
# * Area that use meridian of 165E: Ponape (Pohnpei) and Jaluit civil
|
||||
# administration area (Southern Islands Eastern Standard Time).
|
||||
# * In the next few years Japanese occupation of those islands have been
|
||||
# formalized via League of Nation Mandate (South Pacific Mandate) and formal
|
||||
# governance structure have been established, these district [become
|
||||
# subprefectures] and timezone classification have been inherited as standard
|
||||
# time of the area.
|
||||
# * Saipan subprefecture include Mariana islands (exclude Guam which was
|
||||
# occupied by America at the time), Palau and Yap subprefecture rule the
|
||||
# Western Caroline Islands with 137E longitude as border, Truk and Ponape
|
||||
# subprefecture rule the Eastern Caroline Islands with 154E as border, Ponape
|
||||
# subprefecture also rule part of Marshall Islands to the west of 164E
|
||||
# starting from (1918?) and Jaluit subprefecture rule the rest of the
|
||||
# Marshall Islands.
|
||||
#
|
||||
# And then in year 1937, an announcement was made to change the time in the
|
||||
# area into 2 timezones:
|
||||
# * Area that use meridian of 135E: area administered by Palau, Yap and
|
||||
# Saipan subprefecture (Southern Islands Western Standard Time)
|
||||
# * Area that use meridian of 150E: area administered by Truk (Chuuk),
|
||||
# Ponape (Pohnpei) and Jaluit subprefecture (Southern Islands Eastern
|
||||
# Standard Time)
|
||||
#
|
||||
# Another announcement issued in 1941 say that on April 1 that year,
|
||||
# standard time of the Southern Islands would be changed to use the meridian
|
||||
# of 135E (GMT+9), and thus abolishing timezone different within the area.
|
||||
#
|
||||
# Then Pacific theater of WWII started and Japan slowly lose control on the
|
||||
# island. The webpage I linked above contain no information during this
|
||||
# period of time....
|
||||
#
|
||||
# After the end of WWII, in 1946 February, a document written by the
|
||||
# (former?) Japanese military personnel describe there are 3 hours time
|
||||
# different between Caroline islands time/Wake island time and the Chungking
|
||||
# time, which would mean the time being used there at the time was GMT+10.
|
||||
#
|
||||
# After that, the area become Trust Territories of the Pacific Islands
|
||||
# under American administration from year 1947. The site listed some
|
||||
# American/International books/maps/publications about time used in those
|
||||
# area during this period of time but they doesn't seems to be reliable
|
||||
# information so it would be the best if someone know where can more reliable
|
||||
# information can be found.
|
||||
#
|
||||
#
|
||||
# From Paul Eggert (2018-11-18):
|
||||
#
|
||||
# For the above, use vague dates like "1914" and "1945" for transitions that
|
||||
# plausibly exist but for which the details are not known. The information
|
||||
# for Wake is too sketchy to act on.
|
||||
#
|
||||
# The 1906 GMT+10 info about German-controlled islands might not have been
|
||||
# done, so omit it from the data for now.
|
||||
#
|
||||
# The Jaluit info governs Kwajalein.
|
||||
|
||||
|
||||
# Midway
|
||||
|
||||
@@ -1614,6 +1815,29 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# started DST on June 3. Possibly DST was observed other years
|
||||
# in Midway, but we have no record of it.
|
||||
|
||||
# Nauru
|
||||
|
||||
# From Phake Nick (2018-10-31):
|
||||
# Currently, the tz database say Nauru use LMT until 1921, and then
|
||||
# switched to GMT+11:30 for the next two decades.
|
||||
# However, a number of timezone map published in America/Japan back then
|
||||
# showed its timezone as GMT+11 per https://wiki.suikawiki.org/n/ナウルの標準時
|
||||
# And it would also be nice if the 1921 transition date could be sourced.
|
||||
# ...
|
||||
# The "Nauru Standard Time Act 1978 Time Change"
|
||||
# http://ronlaw.gov.nr/nauru_lpms/files/gazettes/4b23a17d2030150404db7a5fa5872f52.pdf#page=3
|
||||
# based on "Nauru Standard Time Act 1978 Time Change"
|
||||
# http://www.paclii.org/nr/legis/num_act/nsta1978207/ defined that "Nauru
|
||||
# Alternative Time" (GMT+12) should be in effect from 1979 Feb.
|
||||
#
|
||||
# From Paul Eggert (2018-11-19):
|
||||
# The 1921-01-15 introduction of standard time is in Shanks; it is also in
|
||||
# "Standard Time Throughout the World", US National Bureau of Standards (1935),
|
||||
# page 3, which does not give the UT offset. In response to a comment by
|
||||
# Phake Nick I set the Nauru time of occupation by Japan to
|
||||
# 1942-08-29/1945-09-08 by using dates from:
|
||||
# https://en.wikipedia.org/wiki/Japanese_occupation_of_Nauru
|
||||
|
||||
# Norfolk
|
||||
|
||||
# From Alexander Krivenyshev (2015-09-23):
|
||||
@@ -1629,6 +1853,9 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# other than in 1974/5. See:
|
||||
# https://www.timeanddate.com/time/australia/norfolk-island.html
|
||||
|
||||
# Palau
|
||||
# See commentary for Micronesia.
|
||||
|
||||
# Pitcairn
|
||||
|
||||
# From Rives McDow (1999-11-08):
|
||||
@@ -1793,6 +2020,9 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||
# From Paul Eggert (2003-03-23):
|
||||
# We have no other report of DST in Wake Island, so omit this info for now.
|
||||
|
||||
# See also the commentary for Micronesia.
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
# The International Date Line
|
||||
|
||||
@@ -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
|
||||
@@ -98,6 +100,7 @@ Link Pacific/Easter Chile/EasterIsland
|
||||
Link America/Havana Cuba
|
||||
Link Africa/Cairo Egypt
|
||||
Link Europe/Dublin Eire
|
||||
Link Etc/UTC Etc/UCT
|
||||
Link Europe/London Europe/Belfast
|
||||
Link Europe/Chisinau Europe/Tiraspol
|
||||
Link Europe/London GB
|
||||
@@ -132,7 +135,7 @@ Link Asia/Taipei ROC
|
||||
Link Asia/Seoul ROK
|
||||
Link Asia/Singapore Singapore
|
||||
Link Europe/Istanbul Turkey
|
||||
Link Etc/UCT UCT
|
||||
Link Etc/UTC UCT
|
||||
Link America/Anchorage US/Alaska
|
||||
Link America/Adak US/Aleutian
|
||||
Link America/Phoenix US/Arizona
|
||||
|
||||
@@ -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.
|
||||
@@ -40,7 +42,6 @@
|
||||
|
||||
Zone Etc/GMT 0 - GMT
|
||||
Zone Etc/UTC 0 - UTC
|
||||
Zone Etc/UCT 0 - UCT
|
||||
|
||||
# The following link uses older naming conventions,
|
||||
# but it belongs here, not in the file 'backward',
|
||||
|
||||
@@ -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
|
||||
@@ -1876,7 +1878,7 @@ Zone Europe/Luxembourg 0:24:36 - LMT 1904 Jun
|
||||
1:00 Belgium CE%sT 1977
|
||||
1:00 EU CE%sT
|
||||
|
||||
# Macedonia
|
||||
# North Macedonia
|
||||
# See Europe/Belgrade.
|
||||
|
||||
# Malta
|
||||
@@ -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:
|
||||
@@ -3346,7 +3382,7 @@ Zone Europe/Belgrade 1:22:00 - LMT 1884
|
||||
Link Europe/Belgrade Europe/Ljubljana # Slovenia
|
||||
Link Europe/Belgrade Europe/Podgorica # Montenegro
|
||||
Link Europe/Belgrade Europe/Sarajevo # Bosnia and Herzegovina
|
||||
Link Europe/Belgrade Europe/Skopje # Macedonia
|
||||
Link Europe/Belgrade Europe/Skopje # North Macedonia
|
||||
Link Europe/Belgrade Europe/Zagreb # Croatia
|
||||
|
||||
# Slovakia
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
# All text uses UTF-8 encoding. The columns of the table are as follows:
|
||||
#
|
||||
# 1. ISO 3166-1 alpha-2 country code, current as of
|
||||
# ISO 3166-1 N905 (2016-11-15). See: Updates on ISO 3166-1
|
||||
# http://isotc.iso.org/livelink/livelink/Open/16944257
|
||||
# ISO 3166-1 N976 (2018-11-06). See: Updates on ISO 3166-1
|
||||
# https://isotc.iso.org/livelink/livelink/Open/16944257
|
||||
# 2. The usual English name for the coded region,
|
||||
# chosen so that alphabetic sorting of subsets produces helpful lists.
|
||||
# This is not the same as the English name in the ISO 3166 tables.
|
||||
@@ -189,7 +189,7 @@ ME Montenegro
|
||||
MF St Martin (French)
|
||||
MG Madagascar
|
||||
MH Marshall Islands
|
||||
MK Macedonia
|
||||
MK North Macedonia
|
||||
ML Mali
|
||||
MM Myanmar (Burma)
|
||||
MN Mongolia
|
||||
@@ -258,7 +258,7 @@ ST Sao Tome & Principe
|
||||
SV El Salvador
|
||||
SX St Maarten (Dutch)
|
||||
SY Syria
|
||||
SZ Swaziland
|
||||
SZ Eswatini (Swaziland)
|
||||
TC Turks & Caicos Is
|
||||
TD Chad
|
||||
TF French Southern & Antarctic Lands
|
||||
|
||||
@@ -26,21 +26,28 @@
|
||||
# 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 first ("1 Jan 1972") data line in leap-seconds.list
|
||||
# does not denote a leap second; it denotes the start of the current definition
|
||||
# of UTC.
|
||||
|
||||
# The correction (+ or -) is made at the given time, so lines
|
||||
# will typically look like:
|
||||
@@ -48,10 +55,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 +84,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 1577491200
|
||||
|
||||
# Updated through IERS Bulletin C57
|
||||
# File expires on: 28 December 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
|
||||
@@ -607,6 +622,26 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
|
||||
# between AKST and AKDT from now on....
|
||||
# https://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/
|
||||
|
||||
# From Ryan Stanley (2018-11-06):
|
||||
# The Metlakatla community in Alaska has decided not to change its
|
||||
# clock back an hour starting on November 4th, 2018 (day before yesterday).
|
||||
# They will be gmtoff=-28800 year-round.
|
||||
# https://www.facebook.com/141055983004923/photos/pb.141055983004923.-2207520000.1541465673./569081370202380/
|
||||
|
||||
# From Paul Eggert (2018-12-16):
|
||||
# In a 2018-12-11 special election, Metlakatla voted to go back to
|
||||
# Alaska time (including daylight saving time) starting next year.
|
||||
# https://www.krbd.org/2018/12/12/metlakatla-to-follow-alaska-standard-time-allow-liquor-sales/
|
||||
#
|
||||
# From Ryan Stanley (2019-01-11):
|
||||
# The community will be changing back on the 20th of this month...
|
||||
# From Tim Parenti (2019-01-11):
|
||||
# Per an announcement on the Metlakatla community's official Facebook page, the
|
||||
# "fall back" will be on Sunday 2019-01-20 at 02:00:
|
||||
# https://www.facebook.com/141055983004923/photos/607150969728753/
|
||||
# So they won't be waiting for Alaska to join them on 2019-03-10, but will
|
||||
# rather change their clocks twice in seven weeks.
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32
|
||||
-8:57:41 - LMT 1900 Aug 20 12:00
|
||||
@@ -633,6 +668,8 @@ Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55
|
||||
-8:00 - PST 1969
|
||||
-8:00 US P%sT 1983 Oct 30 2:00
|
||||
-8:00 - PST 2015 Nov 1 2:00
|
||||
-9:00 US AK%sT 2018 Nov 4 2:00
|
||||
-8:00 - PST 2019 Jan 20 2:00
|
||||
-9:00 US AK%sT
|
||||
Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 15:12:18
|
||||
-9:18:55 - LMT 1900 Aug 20 12:00
|
||||
@@ -729,9 +766,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.
|
||||
@@ -795,6 +830,22 @@ Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:15:11
|
||||
# For a map of Indiana's time zone regions, see:
|
||||
# https://en.wikipedia.org/wiki/Time_in_Indiana
|
||||
#
|
||||
# From Paul Eggert (2018-11-30):
|
||||
# A brief but entertaining history of time in Indiana describes a 1949 debate
|
||||
# in the Indiana House where city legislators (who favored "fast time")
|
||||
# tussled with farm legislators (who didn't) over a bill to outlaw DST:
|
||||
# "Lacking enough votes, the city faction tries to filibuster until time runs
|
||||
# out on the session at midnight, but rural champion Rep. Herbert Copeland,
|
||||
# R-Madison, leans over the gallery railing and forces the official clock
|
||||
# back to 9 p.m., breaking it in the process. The clock sticks on 9 as the
|
||||
# debate rages on into the night. The filibuster finally dies out and the
|
||||
# bill passes, while outside the chamber, clocks read 3:30 a.m. In the end,
|
||||
# it doesn't matter which side won. The law has no enforcement powers and
|
||||
# is simply ignored by fast-time communities."
|
||||
# How Indiana went from 'God's time' to split zones and daylight-saving.
|
||||
# Indianapolis Star. 2018-11-27 14:58 -05.
|
||||
# https://www.indystar.com/story/news/politics/2018/11/27/indianapolis-indiana-time-zone-history-central-eastern-daylight-savings-time/2126300002/
|
||||
#
|
||||
# From Paul Eggert (2007-08-17):
|
||||
# Since 1970, most of Indiana has been like America/Indiana/Indianapolis,
|
||||
# with the following exceptions:
|
||||
|
||||
@@ -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
|
||||
@@ -262,6 +262,7 @@ KW +2920+04759 Asia/Kuwait
|
||||
KY +1918-08123 America/Cayman
|
||||
KZ +4315+07657 Asia/Almaty Kazakhstan (most areas)
|
||||
KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda
|
||||
KZ +5312+06337 Asia/Qostanay Qostanay/Kostanay/Kustanay
|
||||
KZ +5017+05710 Asia/Aqtobe Aqtobe/Aktobe
|
||||
KZ +4431+05016 Asia/Aqtau Mangghystau/Mankistau
|
||||
KZ +4707+05156 Asia/Atyrau Atyrau/Atirau/Gur'yev
|
||||
@@ -291,7 +292,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
|
||||
@@ -355,9 +356,9 @@ RS +4450+02030 Europe/Belgrade
|
||||
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad
|
||||
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
|
||||
RU +4457+03406 Europe/Simferopol MSK+00 - Crimea
|
||||
RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd
|
||||
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
|
||||
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
|
||||
RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
|
||||
RU +5134+04602 Europe/Saratov MSK+01 - Saratov
|
||||
RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk
|
||||
RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2013, 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
|
||||
@@ -109,6 +109,7 @@ ifneq ($(call check-jvm-feature, cds), true)
|
||||
classListParser.cpp \
|
||||
classLoaderExt.cpp \
|
||||
filemap.cpp \
|
||||
heapShared.cpp \
|
||||
metaspaceShared.cpp \
|
||||
metaspaceShared_$(HOTSPOT_TARGET_CPU).cpp \
|
||||
metaspaceShared_$(HOTSPOT_TARGET_CPU_ARCH).cpp \
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
|
||||
#include <proc_service.h>
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
#include "memory/heap.hpp"
|
||||
#include "runtime/vmStructs.hpp"
|
||||
|
||||
typedef enum GEN_variant {
|
||||
|
||||
@@ -82,7 +82,6 @@ JVM_GetClassFieldsCount
|
||||
JVM_GetClassInterfaces
|
||||
JVM_GetClassMethodsCount
|
||||
JVM_GetClassModifiers
|
||||
JVM_GetClassName
|
||||
JVM_GetClassNameUTF
|
||||
JVM_GetClassSignature
|
||||
JVM_GetClassSigners
|
||||
@@ -133,9 +132,11 @@ JVM_Halt
|
||||
JVM_HasReferencePendingList
|
||||
JVM_HoldsLock
|
||||
JVM_IHashCode
|
||||
JVM_InitClassName
|
||||
JVM_InitProperties
|
||||
JVM_InitStackTraceElement
|
||||
JVM_InitStackTraceElementArray
|
||||
JVM_InitializeFromArchive
|
||||
JVM_InternString
|
||||
JVM_Interrupt
|
||||
JVM_InvokeMethod
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2018, 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
|
||||
@@ -106,7 +106,7 @@ public class CLDRConverter {
|
||||
private static final ResourceBundle.Control defCon =
|
||||
ResourceBundle.Control.getControl(ResourceBundle.Control.FORMAT_DEFAULT);
|
||||
|
||||
private static final String[] AVAILABLE_TZIDS = TimeZone.getAvailableIDs();
|
||||
private static Set<String> AVAILABLE_TZIDS;
|
||||
private static String zoneNameTempFile;
|
||||
private static String tzDataDir;
|
||||
private static final Map<String, String> canonicalTZMap = new HashMap<>();
|
||||
@@ -340,17 +340,26 @@ public class CLDRConverter {
|
||||
if (sb.indexOf("root") == -1) {
|
||||
sb.append("root");
|
||||
}
|
||||
Bundle b = new Bundle(id, sb.toString(), null, null);
|
||||
// Insert the bundle for root at the top so that it will get
|
||||
// processed first.
|
||||
if ("root".equals(id)) {
|
||||
retList.add(0, b);
|
||||
} else {
|
||||
retList.add(b);
|
||||
}
|
||||
retList.add(new Bundle(id, sb.toString(), null, null));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sort the bundles based on id. This will make sure all the parent bundles are
|
||||
// processed first, e.g., for en_GB bundle, en_001, and "root" comes before
|
||||
// en_GB. In order for "root" to come at the beginning, "root" is replaced with
|
||||
// empty string on comparison.
|
||||
retList.sort((o1, o2) -> {
|
||||
String id1 = o1.getID();
|
||||
String id2 = o2.getID();
|
||||
if(id1.equals("root")) {
|
||||
id1 = "";
|
||||
}
|
||||
if(id2.equals("root")) {
|
||||
id2 = "";
|
||||
}
|
||||
return id1.compareTo(id2);
|
||||
});
|
||||
return retList;
|
||||
}
|
||||
|
||||
@@ -711,7 +720,7 @@ public class CLDRConverter {
|
||||
});
|
||||
}
|
||||
|
||||
Arrays.stream(AVAILABLE_TZIDS).forEach(tzid -> {
|
||||
getAvailableZoneIds().stream().forEach(tzid -> {
|
||||
// If the tzid is deprecated, get the data for the replacement id
|
||||
String tzKey = Optional.ofNullable((String)handlerSupplMeta.get(tzid))
|
||||
.orElse(tzid);
|
||||
@@ -1053,8 +1062,20 @@ public class CLDRConverter {
|
||||
StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
|
||||
}
|
||||
|
||||
// This method assumes handlerMetaZones is already initialized
|
||||
private static Set<String> getAvailableZoneIds() {
|
||||
assert handlerMetaZones != null;
|
||||
if (AVAILABLE_TZIDS == null) {
|
||||
AVAILABLE_TZIDS = new HashSet<>(ZoneId.getAvailableZoneIds());
|
||||
AVAILABLE_TZIDS.addAll(handlerMetaZones.keySet());
|
||||
AVAILABLE_TZIDS.remove(MetaZonesParseHandler.NO_METAZONE_KEY);
|
||||
}
|
||||
|
||||
return AVAILABLE_TZIDS;
|
||||
}
|
||||
|
||||
private static Stream<String> zidMapEntry() {
|
||||
return ZoneId.getAvailableZoneIds().stream()
|
||||
return getAvailableZoneIds().stream()
|
||||
.map(id -> {
|
||||
String canonId = canonicalTZMap.getOrDefault(id, id);
|
||||
String meta = handlerMetaZones.get(canonId);
|
||||
|
||||
@@ -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}
|
||||
@@ -43,8 +43,6 @@ $(eval $(call SetupBuildLauncher, java, \
|
||||
VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
|
||||
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/java_objs, \
|
||||
OPTIMIZATION := HIGH, \
|
||||
WINDOWS_STATIC_LINK := true, \
|
||||
NO_JAVA_MS := true, \
|
||||
))
|
||||
|
||||
$(SUPPORT_OUTPUTDIR)/modules_cmds/java.base/java$(EXE_SUFFIX): $(BUILD_LAUNCHER_java)
|
||||
@@ -60,8 +58,6 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBS_windows := user32.lib comctl32.lib, \
|
||||
EXTRA_RC_FLAGS := $(JAVA_RC_FLAGS), \
|
||||
VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
|
||||
WINDOWS_STATIC_LINK := true, \
|
||||
NO_JAVA_MS := true, \
|
||||
))
|
||||
endif
|
||||
|
||||
@@ -90,7 +86,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 \
|
||||
|
||||
@@ -25,19 +25,13 @@
|
||||
|
||||
include JdkNativeCompilation.gmk
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN)
|
||||
else
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
endif
|
||||
ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,/../lib/jli)
|
||||
ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,/../lib/jli)
|
||||
|
||||
# Applications expect to be able to link against libjawt without invoking
|
||||
# System.loadLibrary("jawt") first. This was the behaviour described in the
|
||||
# devloper documentation of JAWT and what worked with OpenJDK6.
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
|
||||
ORIGIN_ARG += $(call SET_EXECUTABLE_ORIGIN,/../lib)
|
||||
endif
|
||||
# Applications expect to be able to link against libjawt without invoking
|
||||
# System.loadLibrary("jawt") first. This was the behaviour described in the
|
||||
# devloper documentation of JAWT and what worked with OpenJDK6.
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
|
||||
ORIGIN_ARG += $(call SET_EXECUTABLE_ORIGIN,/../lib)
|
||||
endif
|
||||
|
||||
# Tell the compiler not to export any functions unless declared so in
|
||||
@@ -45,7 +39,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 +50,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
|
||||
@@ -97,11 +87,9 @@ JAVA_MANIFEST := $(TOPDIR)/src/java.base/windows/native/launcher/java.manifest
|
||||
# LDFLAGS_solaris Additional LDFLAGS_solaris
|
||||
# RC_FLAGS Additional RC_FLAGS
|
||||
# MACOSX_SIGNED On macosx, sign this binary
|
||||
# WINDOWS_STATIC_LINK On windows, link statically with C runtime and libjli.
|
||||
# OPTIMIZATION Override default optimization level (LOW)
|
||||
# OUTPUT_DIR Override default output directory
|
||||
# VERSION_INFO_RESOURCE Override default Windows resource file
|
||||
# NO_JAVA_MS Do not add -ms8m to JAVA_ARGS.
|
||||
SetupBuildLauncher = $(NamedParamsMacroTemplate)
|
||||
define SetupBuildLauncherBody
|
||||
# Setup default values (unless overridden)
|
||||
@@ -109,26 +97,24 @@ define SetupBuildLauncherBody
|
||||
$1_OPTIMIZATION := LOW
|
||||
endif
|
||||
|
||||
ifneq ($$($1_NO_JAVA_MS), true)
|
||||
# The norm is to append -ms8m, unless otherwise instructed.
|
||||
$1_JAVA_ARGS += -ms8m
|
||||
endif
|
||||
|
||||
ifeq ($$($1_MAIN_MODULE), )
|
||||
$1_MAIN_MODULE := $(MODULE)
|
||||
endif
|
||||
|
||||
ifneq ($$($1_JAVA_ARGS), )
|
||||
ifneq ($$($1_EXTRA_JAVA_ARGS), )
|
||||
$1_EXTRA_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
|
||||
$$(addprefix -J, $$($1_EXTRA_JAVA_ARGS)), "$$a"$(COMMA) )) }'
|
||||
$1_CFLAGS += -DEXTRA_JAVA_ARGS=$$($1_EXTRA_JAVA_ARGS_STR)
|
||||
endif
|
||||
$1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
|
||||
$$(addprefix -J, $$($1_JAVA_ARGS)) -m $$($1_MAIN_MODULE)/$$($1_MAIN_CLASS), "$$a"$(COMMA) )) }'
|
||||
$1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
|
||||
$1_JAVA_ARGS += -ms8m
|
||||
ifneq ($$($1_MAIN_CLASS), )
|
||||
$1_LAUNCHER_CLASS := -m $$($1_MAIN_MODULE)/$$($1_MAIN_CLASS)
|
||||
endif
|
||||
|
||||
ifneq ($$($1_EXTRA_JAVA_ARGS), )
|
||||
$1_EXTRA_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
|
||||
$$(addprefix -J, $$($1_EXTRA_JAVA_ARGS)), "$$a"$(COMMA) )) }'
|
||||
$1_CFLAGS += -DEXTRA_JAVA_ARGS=$$($1_EXTRA_JAVA_ARGS_STR)
|
||||
endif
|
||||
$1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
|
||||
$$(addprefix -J, $$($1_JAVA_ARGS)) $$($1_LAUNCHER_CLASS), "$$a"$(COMMA) )) }'
|
||||
$1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
|
||||
|
||||
$1_LIBS :=
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($$($1_MACOSX_SIGNED), true)
|
||||
@@ -153,8 +139,6 @@ define SetupBuildLauncherBody
|
||||
-framework Foundation \
|
||||
-framework SystemConfiguration \
|
||||
-lstdc++ -liconv
|
||||
else
|
||||
$1_LIBS += $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a
|
||||
endif
|
||||
$1_LIBS += -framework Cocoa -framework Security \
|
||||
-framework ApplicationServices
|
||||
@@ -169,19 +153,13 @@ define SetupBuildLauncherBody
|
||||
$1_LIBS += -lz
|
||||
endif
|
||||
|
||||
ifeq ($$($1_WINDOWS_STATIC_LINK), true)
|
||||
$1_CFLAGS += $(filter-out -MD, $(CFLAGS_JDKEXE))
|
||||
$1_WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/jli_static.lib
|
||||
else
|
||||
$1_CFLAGS += $(CFLAGS_JDKEXE)
|
||||
$1_WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
|
||||
endif
|
||||
$1_WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
|
||||
|
||||
$$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \
|
||||
NAME := $1, \
|
||||
EXTRA_FILES := $(LAUNCHER_SRC)/main.c, \
|
||||
OPTIMIZATION := $$($1_OPTIMIZATION), \
|
||||
CFLAGS := $$($1_CFLAGS) \
|
||||
CFLAGS := $$(CFLAGS_JDKEXE) $$($1_CFLAGS) \
|
||||
$(LAUNCHER_CFLAGS) \
|
||||
$(VERSION_CFLAGS) \
|
||||
-DLAUNCHER_NAME='"$(LAUNCHER_NAME)"' \
|
||||
@@ -194,12 +172,15 @@ define SetupBuildLauncherBody
|
||||
$$(ORIGIN_ARG) \
|
||||
$$($1_LDFLAGS), \
|
||||
LDFLAGS_linux := \
|
||||
-L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jli, \
|
||||
-L$(call FindLibDirForModule, java.base)/jli, \
|
||||
LDFLAGS_macosx := \
|
||||
-L$(call FindLibDirForModule, java.base)/jli, \
|
||||
LDFLAGS_solaris := $$($1_LDFLAGS_solaris) \
|
||||
-L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jli, \
|
||||
-L$(call FindLibDirForModule, java.base)/jli, \
|
||||
LIBS := $(JDKEXE_LIBS) $$($1_LIBS), \
|
||||
LIBS_unix := $$($1_LIBS_unix), \
|
||||
LIBS_linux := -lpthread -ljli $(LIBDL), \
|
||||
LIBS_macosx := -ljli, \
|
||||
LIBS_solaris := -ljli -lthread $(LIBDL), \
|
||||
LIBS_windows := $$($1_WINDOWS_JLI_LIB) \
|
||||
$(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib advapi32.lib \
|
||||
@@ -215,7 +196,7 @@ define SetupBuildLauncherBody
|
||||
$1 += $$(BUILD_LAUNCHER_$1)
|
||||
TARGETS += $$($1)
|
||||
|
||||
ifneq (,$(filter $(OPENJDK_TARGET_OS), macosx aix))
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
$$(BUILD_LAUNCHER_$1): $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a
|
||||
endif
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -503,6 +503,8 @@ else
|
||||
LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS)
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
|
||||
# freetype now requires you to manually define this (see ftconfig.h)
|
||||
BUILD_LIBFREETYPE_CFLAGS += -DDLL_EXPORT
|
||||
else
|
||||
LIBFREETYPE_LIBS := -lfreetype
|
||||
endif
|
||||
@@ -516,8 +518,8 @@ else
|
||||
DISABLED_WARNINGS_solstudio := \
|
||||
E_STATEMENT_NOT_REACHED \
|
||||
E_END_OF_LOOP_CODE_NOT_REACHED, \
|
||||
DISABLED_WARNINGS_microsoft := 4267 4244 4312, \
|
||||
DISABLED_WARNINGS_gcc := implicit-fallthrough, \
|
||||
DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
|
||||
DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
))
|
||||
@@ -533,7 +535,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 +621,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), \
|
||||
@@ -794,7 +797,8 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
||||
LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS := unix
|
||||
endif
|
||||
|
||||
LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
|
||||
LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
|
||||
-DPNG_ARM_NEON_OPT=0 -DPNG_ARM_NEON_IMPLEMENTATION=0
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
|
||||
|
||||
@@ -39,59 +39,30 @@ 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, \
|
||||
NAME := fdlibm, \
|
||||
TYPE := STATIC_LIBRARY, \
|
||||
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
|
||||
SRC := $(LIBFDLIBM_SRC), \
|
||||
OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
|
||||
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_microsoft := 4146 4244 4018, \
|
||||
ARFLAGS := $(ARFLAGS), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
|
||||
))
|
||||
|
||||
else
|
||||
|
||||
# On macosx the old build does partial (incremental) linking of fdlibm instead of
|
||||
# a plain static library.
|
||||
$(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM_MAC, \
|
||||
NAME := fdlibm, \
|
||||
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
|
||||
SRC := $(LIBFDLIBM_SRC), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
|
||||
LDFLAGS := -nostdlib $(ARFLAGS), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
|
||||
))
|
||||
|
||||
BUILD_LIBFDLIBM := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
|
||||
$(BUILD_LIBFDLIBM): $(BUILD_LIBFDLIBM_MAC)
|
||||
$(call install-file)
|
||||
|
||||
endif
|
||||
$(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
|
||||
NAME := fdlibm, \
|
||||
TYPE := STATIC_LIBRARY, \
|
||||
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
|
||||
SRC := $(LIBFDLIBM_SRC), \
|
||||
OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
|
||||
CFLAGS_windows_debug := -DLOGGING, \
|
||||
CFLAGS_aix := -qfloat=nomaf, \
|
||||
DISABLED_WARNINGS_gcc := sign-compare misleading-indentation array-bounds, \
|
||||
DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
|
||||
ARFLAGS := $(ARFLAGS), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
|
||||
))
|
||||
|
||||
##########################################################################################
|
||||
|
||||
@@ -140,15 +111,15 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
|
||||
LDFLAGS_windows := -delayload:shell32.dll, \
|
||||
LIBS := $(BUILD_LIBFDLIBM_TARGET), \
|
||||
LIBS_unix := -ljvm -lverify, \
|
||||
LIBS_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \
|
||||
LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM), \
|
||||
LIBS_aix := $(LIBDL) $(BUILD_LIBFDLIBM) $(LIBM),\
|
||||
LIBS_macosx := -lfdlibm \
|
||||
-framework CoreFoundation \
|
||||
LIBS_linux := $(LIBDL), \
|
||||
LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL), \
|
||||
LIBS_aix := $(LIBDL) $(LIBM),\
|
||||
LIBS_macosx := -framework CoreFoundation \
|
||||
-framework Foundation \
|
||||
-framework Security -framework SystemConfiguration, \
|
||||
LIBS_windows := jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
|
||||
LIBS_windows := jvm.lib $(WIN_VERIFY_LIB) \
|
||||
shell32.lib delayimp.lib \
|
||||
advapi32.lib version.lib, \
|
||||
))
|
||||
@@ -236,8 +207,6 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
# Staticically link with c runtime on windows.
|
||||
LIBJLI_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB))
|
||||
LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)
|
||||
# Supply the name of the C runtime lib.
|
||||
LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"'
|
||||
@@ -245,7 +214,6 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBJLI_CFLAGS += -DMSVCP_DLL_NAME='"$(notdir $(MSVCP_DLL))"'
|
||||
endif
|
||||
else
|
||||
LIBJLI_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
|
||||
LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli
|
||||
endif
|
||||
|
||||
@@ -269,7 +237,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
|
||||
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
|
||||
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
|
||||
DISABLED_WARNINGS_solstudio := \
|
||||
E_ASM_DISABLES_OPTIMIZATION \
|
||||
E_STATEMENT_NOT_REACHED, \
|
||||
@@ -289,54 +257,7 @@ TARGETS += $(BUILD_LIBJLI)
|
||||
|
||||
LIBJLI_SRC_DIRS := $(call FindSrcDirsForComponent, java.base, libjli)
|
||||
|
||||
# On windows, the static library has the same suffix as the import library created by
|
||||
# with the shared library, so the static library is given a different name. No harm
|
||||
# in doing it for all platform to reduce complexity.
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
$(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
|
||||
NAME := jli_static, \
|
||||
TYPE := STATIC_LIBRARY, \
|
||||
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
|
||||
SRC := $(LIBJLI_SRC_DIRS), \
|
||||
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
|
||||
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
|
||||
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
|
||||
ARFLAGS := $(ARFLAGS), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
|
||||
))
|
||||
|
||||
TARGETS += $(BUILD_LIBJLI_STATIC)
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
#
|
||||
# On macosx they do partial (incremental) linking of libjli_static.a
|
||||
# code it here...rather than add support to NativeCompilation
|
||||
# as this is first time I see it
|
||||
$(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
|
||||
NAME := jli_static, \
|
||||
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
|
||||
SRC := $(LIBJLI_SRC_DIRS), \
|
||||
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
|
||||
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
|
||||
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
|
||||
LDFLAGS := -nostdlib $(ARFLAGS), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
|
||||
))
|
||||
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
TARGETS += $(BUILD_LIBJLI_STATIC)
|
||||
else
|
||||
$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static.a: $(BUILD_LIBJLI_STATIC)
|
||||
$(call install-file)
|
||||
|
||||
TARGETS += $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static.a
|
||||
endif
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
# AIX also requires a static libjli because the compiler doesn't support '-rpath'
|
||||
$(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
|
||||
NAME := jli_static, \
|
||||
@@ -346,7 +267,7 @@ else ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
|
||||
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
|
||||
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
|
||||
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
|
||||
ARFLAGS := $(ARFLAGS), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static))
|
||||
|
||||
@@ -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), \
|
||||
|
||||
@@ -31,20 +31,15 @@ $(eval $(call IncludeCustomExtension, lib/Lib-java.instrument.gmk))
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
# Statically link the C runtime so that there are not dependencies on modules
|
||||
# not on the search patch when invoked from the Windows system directory
|
||||
# (or elsewhere).
|
||||
LIBINSTRUMENT_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB))
|
||||
# equivalent of strcasecmp is stricmp on Windows
|
||||
LIBINSTRUMENT_CFLAGS := -Dstrcasecmp=stricmp
|
||||
else
|
||||
LIBINSTRUMENT_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
|
||||
WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
|
||||
endif
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
|
||||
NAME := instrument, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(LIBINSTRUMENT_CFLAGS_JDKLIB) $(LIBINSTRUMENT_CFLAGS), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBINSTRUMENT_CFLAGS), \
|
||||
CFLAGS_debug := -DJPLIS_LOGGING, \
|
||||
CFLAGS_release := -DNO_JPLIS_LOGGING, \
|
||||
EXTRA_HEADER_DIRS := java.base:libjli, \
|
||||
@@ -55,22 +50,24 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
|
||||
-L$(call FindLibDirForModule, java.base)/jli, \
|
||||
LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli) \
|
||||
-L$(call FindLibDirForModule, java.base)/jli, \
|
||||
LDFLAGS_macosx := -Wl$(COMMA)-all_load, \
|
||||
LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN,/jli) \
|
||||
-L$(call FindLibDirForModule, java.base)/jli, \
|
||||
LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
|
||||
LIBS := $(JDKLIB_LIBS), \
|
||||
LIBS_unix := -ljava -ljvm $(LIBZ_LIBS), \
|
||||
LIBS_linux := -ljli $(LIBDL), \
|
||||
LIBS_solaris := -ljli $(LIBDL), \
|
||||
LIBS_aix := -liconv -ljli_static $(LIBDL), \
|
||||
LIBS_macosx := -liconv -framework Cocoa -framework Security \
|
||||
-framework ApplicationServices \
|
||||
$(call FindStaticLib, java.base, jli_static), \
|
||||
LIBS_macosx := -ljli -liconv -framework Cocoa -framework Security \
|
||||
-framework ApplicationServices, \
|
||||
LIBS_windows := jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
|
||||
$(call FindStaticLib, java.base, jli_static), \
|
||||
$(WINDOWS_JLI_LIB), \
|
||||
))
|
||||
|
||||
ifneq ($(filter $(OPENJDK_TARGET_OS), macosx windows aix), )
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
$(BUILD_LIBINSTRUMENT): $(call FindStaticLib, java.base, jli_static)
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
$(BUILD_LIBINSTRUMENT): $(call FindLib, java.base, jli)
|
||||
else
|
||||
$(BUILD_LIBINSTRUMENT): $(call FindLib, java.base, jli, /jli)
|
||||
endif
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,200 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef BUILTIN_SIM
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "../../../../../../simulator/cpustate.hpp"
|
||||
#include "../../../../../../simulator/simulator.hpp"
|
||||
|
||||
/*
|
||||
* a routine to initialise and enter ARM simulator execution when
|
||||
* calling into ARM code from x86 code.
|
||||
*
|
||||
* we maintain a simulator per-thread and provide it with 8 Mb of
|
||||
* stack space
|
||||
*/
|
||||
#define SIM_STACK_SIZE (1024 * 1024) // in units of u_int64_t
|
||||
|
||||
extern "C" u_int64_t get_alt_stack()
|
||||
{
|
||||
return AArch64Simulator::altStack();
|
||||
}
|
||||
|
||||
extern "C" void setup_arm_sim(void *sp, u_int64_t calltype)
|
||||
{
|
||||
// n.b. this function runs on the simulator stack so as to avoid
|
||||
// simulator frames appearing in between VM x86 and ARM frames. note
|
||||
// that arfgument sp points to the old (VM) stack from which the
|
||||
// call into the sim was made. The stack switch and entry into this
|
||||
// routine is handled by x86 prolog code planted in the head of the
|
||||
// ARM code buffer which the sim is about to start executing (see
|
||||
// aarch64_linkage.S).
|
||||
//
|
||||
// The first ARM instruction in the buffer is identified by fnptr
|
||||
// stored at the top of the old stack. x86 register contents precede
|
||||
// fnptr. preceding that are the fp and return address of the VM
|
||||
// caller into ARM code. any extra, non-register arguments passed to
|
||||
// the linkage routine precede the fp (this is as per any normal x86
|
||||
// call wirth extra args).
|
||||
//
|
||||
// note that the sim creates Java frames on the Java stack just
|
||||
// above sp (i.e. directly above fnptr). it sets the sim FP register
|
||||
// to the pushed fp for the caller effectively eliding the register
|
||||
// data saved by the linkage routine.
|
||||
//
|
||||
// x86 register call arguments are loaded from the stack into ARM
|
||||
// call registers. if extra arguments occur preceding the x86
|
||||
// caller's fp then they are copied either into extra ARM registers
|
||||
// (ARM has 8 rather than 6 gp call registers) or up the stack
|
||||
// beyond the saved x86 registers so that they immediately precede
|
||||
// the ARM frame where the ARM calling convention expects them to
|
||||
// be.
|
||||
//
|
||||
// n.b. the number of register/stack values passed to the ARM code
|
||||
// is determined by calltype
|
||||
//
|
||||
// +--------+
|
||||
// | fnptr | <--- argument sp points here
|
||||
// +--------+ |
|
||||
// | rax | | return slot if we need to return a value
|
||||
// +--------+ |
|
||||
// | rdi | increasing
|
||||
// +--------+ address
|
||||
// | rsi | |
|
||||
// +--------+ V
|
||||
// | rdx |
|
||||
// +--------+
|
||||
// | rcx |
|
||||
// +--------+
|
||||
// | r8 |
|
||||
// +--------+
|
||||
// | r9 |
|
||||
// +--------+
|
||||
// | xmm0 |
|
||||
// +--------+
|
||||
// | xmm1 |
|
||||
// +--------+
|
||||
// | xmm2 |
|
||||
// +--------+
|
||||
// | xmm3 |
|
||||
// +--------+
|
||||
// | xmm4 |
|
||||
// +--------+
|
||||
// | xmm5 |
|
||||
// +--------+
|
||||
// | xmm6 |
|
||||
// +--------+
|
||||
// | xmm7 |
|
||||
// +--------+
|
||||
// | fp |
|
||||
// +--------+
|
||||
// | caller |
|
||||
// | ret ip |
|
||||
// +--------+
|
||||
// | arg0 | <-- any extra call args start here
|
||||
// +--------+ offset = 18 * wordSize
|
||||
// | . . . | (i.e. 1 * calladdr + 1 * rax + 6 * gp call regs
|
||||
// + 8 * fp call regs + 2 * frame words)
|
||||
//
|
||||
// we use a unique sim/stack per thread
|
||||
const int cursor2_offset = 18;
|
||||
const int fp_offset = 16;
|
||||
u_int64_t *cursor = (u_int64_t *)sp;
|
||||
u_int64_t *cursor2 = ((u_int64_t *)sp) + cursor2_offset;
|
||||
u_int64_t *fp = ((u_int64_t *)sp) + fp_offset;
|
||||
int gp_arg_count = calltype & 0xf;
|
||||
int fp_arg_count = (calltype >> 4) & 0xf;
|
||||
int return_type = (calltype >> 8) & 0x3;
|
||||
AArch64Simulator *sim = AArch64Simulator::get_current(UseSimulatorCache, DisableBCCheck);
|
||||
// save previous cpu state in case this is a recursive entry
|
||||
CPUState saveState = sim->getCPUState();
|
||||
// set up initial sim pc, sp and fp registers
|
||||
sim->init(*cursor++, (u_int64_t)sp, (u_int64_t)fp);
|
||||
u_int64_t *return_slot = cursor++;
|
||||
|
||||
// if we need to pass the sim extra args on the stack then bump
|
||||
// the stack pointer now
|
||||
u_int64_t *cursor3 = (u_int64_t *)sim->getCPUState().xreg(SP, 1);
|
||||
if (gp_arg_count > 8) {
|
||||
cursor3 -= gp_arg_count - 8;
|
||||
}
|
||||
if (fp_arg_count > 8) {
|
||||
cursor3 -= fp_arg_count - 8;
|
||||
}
|
||||
sim->getCPUState().xreg(SP, 1) = (u_int64_t)(cursor3++);
|
||||
|
||||
for (int i = 0; i < gp_arg_count; i++) {
|
||||
if (i < 6) {
|
||||
// copy saved register to sim register
|
||||
GReg reg = (GReg)i;
|
||||
sim->getCPUState().xreg(reg, 0) = *cursor++;
|
||||
} else if (i < 8) {
|
||||
// copy extra int arg to sim register
|
||||
GReg reg = (GReg)i;
|
||||
sim->getCPUState().xreg(reg, 0) = *cursor2++;
|
||||
} else {
|
||||
// copy extra fp arg to sim stack
|
||||
*cursor3++ = *cursor2++;
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < fp_arg_count; i++) {
|
||||
if (i < 8) {
|
||||
// copy saved register to sim register
|
||||
GReg reg = (GReg)i;
|
||||
sim->getCPUState().xreg(reg, 0) = *cursor++;
|
||||
} else {
|
||||
// copy extra arg to sim stack
|
||||
*cursor3++ = *cursor2++;
|
||||
}
|
||||
}
|
||||
AArch64Simulator::status_t return_status = sim->run();
|
||||
if (return_status != AArch64Simulator::STATUS_RETURN){
|
||||
sim->simPrint0();
|
||||
fatal("invalid status returned from simulator.run()\n");
|
||||
}
|
||||
switch (return_type) {
|
||||
case MacroAssembler::ret_type_void:
|
||||
default:
|
||||
break;
|
||||
case MacroAssembler::ret_type_integral:
|
||||
// this overwrites the saved r0
|
||||
*return_slot = sim->getCPUState().xreg(R0, 0);
|
||||
break;
|
||||
case MacroAssembler::ret_type_float:
|
||||
*(float *)return_slot = sim->getCPUState().sreg(V0);
|
||||
break;
|
||||
case MacroAssembler::ret_type_double:
|
||||
*(double *)return_slot = sim->getCPUState().dreg(V0);
|
||||
break;
|
||||
}
|
||||
// restore incoimng cpu state
|
||||
sim->getCPUState() = saveState;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -1,167 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2012, Red Hat. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
|
||||
# Routines used to enable x86 VM C++ code to invoke JIT-compiled ARM code
|
||||
# -- either Java methods or generated stub -- and to allow JIT-compiled
|
||||
# ARM code to invoke x86 VM C++ code
|
||||
#
|
||||
# the code for aarch64_stub_prolog below can be copied into the start
|
||||
# of the ARM code buffer and patched with a link to the
|
||||
# C++ routine which starts execution on the simulator. the ARM
|
||||
# code can be generated immediately following the copied code.
|
||||
|
||||
#ifdef BUILTIN_SIM
|
||||
|
||||
.data
|
||||
.globl setup_arm_sim,
|
||||
.type setup_arm_sim,@function
|
||||
.globl get_alt_stack,
|
||||
.type get_alt_stack,@function
|
||||
.globl aarch64_stub_prolog
|
||||
.p2align 4
|
||||
aarch64_stub_prolog:
|
||||
// entry point
|
||||
4: lea 1f(%rip), %r11
|
||||
mov (%r11), %r10
|
||||
mov (%r10), %r10
|
||||
jmp *%r10
|
||||
.p2align 4
|
||||
1:
|
||||
.set entry_offset, . - 1b
|
||||
.quad aarch64_prolog_ptr
|
||||
// 64 bit int used to idenitfy called fn arg/return types
|
||||
.set calltype_offset, . - 1b
|
||||
.quad 0
|
||||
// arm JIT code follows the stub
|
||||
.set arm_code_offset, . - 1b
|
||||
.size aarch64_stub_prolog, .-aarch64_stub_prolog
|
||||
aarch64_stub_prolog_end:
|
||||
|
||||
.text
|
||||
aarch64_prolog_ptr:
|
||||
.quad aarch64_prolog
|
||||
|
||||
.globl aarch64_prolog
|
||||
aarch64_prolog:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
// save all registers used to pass args
|
||||
sub $8, %rsp
|
||||
movd %xmm7, (%rsp)
|
||||
sub $8, %rsp
|
||||
movd %xmm6, (%rsp)
|
||||
sub $8, %rsp
|
||||
movd %xmm5, (%rsp)
|
||||
sub $8, %rsp
|
||||
movd %xmm4, (%rsp)
|
||||
sub $8, %rsp
|
||||
movd %xmm3, (%rsp)
|
||||
sub $8, %rsp
|
||||
movd %xmm2, (%rsp)
|
||||
sub $8, %rsp
|
||||
movd %xmm1, (%rsp)
|
||||
sub $8, %rsp
|
||||
movd %xmm0, (%rsp)
|
||||
push %r9
|
||||
push %r8
|
||||
push %rcx
|
||||
push %rdx
|
||||
push %rsi
|
||||
push %rdi
|
||||
// save rax -- this stack slot will be rewritten with a
|
||||
// return value if needed
|
||||
push %rax
|
||||
// temporarily save r11 while we find the other stack
|
||||
push %r11
|
||||
// retrieve alt stack
|
||||
call get_alt_stack@PLT
|
||||
pop %r11
|
||||
// push start of arm code
|
||||
lea (arm_code_offset)(%r11), %rsi
|
||||
push %rsi
|
||||
// load call type code in arg reg 1
|
||||
mov (calltype_offset)(%r11), %rsi
|
||||
// load current stack pointer in arg reg 0
|
||||
mov %rsp, %rdi
|
||||
// switch to alt stack
|
||||
mov %rax, %rsp
|
||||
// save previous stack pointer on new stack
|
||||
push %rdi
|
||||
// 16-align the new stack pointer
|
||||
push %rdi
|
||||
// call sim setup routine
|
||||
call setup_arm_sim@PLT
|
||||
// switch back to old stack
|
||||
pop %rsp
|
||||
// pop start of arm code
|
||||
pop %rdi
|
||||
// pop rax -- either restores old value or installs return value
|
||||
pop %rax
|
||||
// pop arg registers
|
||||
pop %rdi
|
||||
pop %rsi
|
||||
pop %rdx
|
||||
pop %rcx
|
||||
pop %r8
|
||||
pop %r9
|
||||
movd (%rsp), %xmm0
|
||||
add $8, %rsp
|
||||
movd (%rsp), %xmm1
|
||||
add $8, %rsp
|
||||
movd (%rsp), %xmm2
|
||||
add $8, %rsp
|
||||
movd (%rsp), %xmm3
|
||||
add $8, %rsp
|
||||
movd (%rsp), %xmm4
|
||||
add $8, %rsp
|
||||
movd (%rsp), %xmm5
|
||||
add $8, %rsp
|
||||
movd (%rsp), %xmm6
|
||||
add $8, %rsp
|
||||
movd (%rsp), %xmm7
|
||||
add $8, %rsp
|
||||
leave
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
|
||||
|
||||
.p2align 4
|
||||
get_pc:
|
||||
// get return pc in rdi and then push it back
|
||||
pop %rdi
|
||||
push %rdi
|
||||
ret
|
||||
|
||||
.p2align 4
|
||||
.long
|
||||
.globl aarch64_stub_prolog_size
|
||||
.type aarch64_stub_prolog_size,@function
|
||||
aarch64_stub_prolog_size:
|
||||
leaq aarch64_stub_prolog_end - aarch64_stub_prolog, %rax
|
||||
ret
|
||||
|
||||
#endif
|
||||
@@ -38,11 +38,6 @@ const unsigned long Assembler::asm_bp = 0x00007fffee09ac88;
|
||||
#include "memory/resourceArea.hpp"
|
||||
#include "runtime/interfaceSupport.inline.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
|
||||
// for the moment we reuse the logical/floating point immediate encode
|
||||
// and decode functiosn provided by the simulator. when we move to
|
||||
// real hardware we will need to pull taht code into here
|
||||
|
||||
#include "immediate_aarch64.hpp"
|
||||
|
||||
extern "C" void entry(CodeBuffer *cb);
|
||||
@@ -1485,21 +1480,6 @@ int AbstractAssembler::code_fill_byte() {
|
||||
void Assembler::bang_stack_with_offset(int offset) { Unimplemented(); }
|
||||
|
||||
|
||||
// these are the functions provided by the simulator which are used to
|
||||
// encode and decode logical immediates and floating point immediates
|
||||
//
|
||||
// u_int64_t logical_immediate_for_encoding(u_int32_t encoding);
|
||||
//
|
||||
// u_int32_t encoding_for_logical_immediate(u_int64_t immediate);
|
||||
//
|
||||
// u_int64_t fp_immediate_for_encoding(u_int32_t imm8, int is_dp);
|
||||
//
|
||||
// u_int32_t encoding_for_fp_immediate(float immediate);
|
||||
//
|
||||
// we currently import these from the simulator librray but the
|
||||
// definitions will need to be moved to here when we switch to real
|
||||
// hardware.
|
||||
|
||||
// and now the routines called by the assembler which encapsulate the
|
||||
// above encode and decode functions
|
||||
|
||||
|
||||
@@ -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);
|
||||
@@ -2602,137 +2598,6 @@ void ext(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn, FloatRegister V
|
||||
f(0, 10), rf(Vn, 5), rf(Vd, 0);
|
||||
}
|
||||
|
||||
/* Simulator extensions to the ISA
|
||||
|
||||
haltsim
|
||||
|
||||
takes no arguments, causes the sim to enter a debug break and then
|
||||
return from the simulator run() call with STATUS_HALT? The linking
|
||||
code will call fatal() when it sees STATUS_HALT.
|
||||
|
||||
blrt Xn, Wm
|
||||
blrt Xn, #gpargs, #fpargs, #type
|
||||
Xn holds the 64 bit x86 branch_address
|
||||
call format is encoded either as immediate data in the call
|
||||
or in register Wm. In the latter case
|
||||
Wm[13..6] = #gpargs,
|
||||
Wm[5..2] = #fpargs,
|
||||
Wm[1,0] = #type
|
||||
|
||||
calls the x86 code address 'branch_address' supplied in Xn passing
|
||||
arguments taken from the general and floating point registers according
|
||||
to the supplied counts 'gpargs' and 'fpargs'. may return a result in r0
|
||||
or v0 according to the the return type #type' where
|
||||
|
||||
address branch_address;
|
||||
uimm4 gpargs;
|
||||
uimm4 fpargs;
|
||||
enum ReturnType type;
|
||||
|
||||
enum ReturnType
|
||||
{
|
||||
void_ret = 0,
|
||||
int_ret = 1,
|
||||
long_ret = 1,
|
||||
obj_ret = 1, // i.e. same as long
|
||||
float_ret = 2,
|
||||
double_ret = 3
|
||||
}
|
||||
|
||||
notify
|
||||
|
||||
notifies the simulator of a transfer of control. instr[14:0]
|
||||
identifies the type of change of control.
|
||||
|
||||
0 ==> initial entry to a method.
|
||||
|
||||
1 ==> return into a method from a submethod call.
|
||||
|
||||
2 ==> exit out of Java method code.
|
||||
|
||||
3 ==> start execution for a new bytecode.
|
||||
|
||||
in cases 1 and 2 the simulator is expected to use a JVM callback to
|
||||
identify the name of the specific method being executed. in case 4
|
||||
the simulator is expected to use a JVM callback to identify the
|
||||
bytecode index.
|
||||
|
||||
Instruction encodings
|
||||
---------------------
|
||||
|
||||
These are encoded in the space with instr[28:25] = 00 which is
|
||||
unallocated. Encodings are
|
||||
|
||||
10987654321098765432109876543210
|
||||
PSEUDO_HALT = 0x11100000000000000000000000000000
|
||||
PSEUDO_BLRT = 0x11000000000000000_______________
|
||||
PSEUDO_BLRTR = 0x1100000000000000100000__________
|
||||
PSEUDO_NOTIFY = 0x10100000000000000_______________
|
||||
|
||||
instr[31,29] = op1 : 111 ==> HALT, 110 ==> BLRT/BLRTR, 101 ==> NOTIFY
|
||||
|
||||
for BLRT
|
||||
instr[14,11] = #gpargs, instr[10,7] = #fpargs
|
||||
instr[6,5] = #type, instr[4,0] = Rn
|
||||
for BLRTR
|
||||
instr[9,5] = Rm, instr[4,0] = Rn
|
||||
for NOTIFY
|
||||
instr[14:0] = type : 0 ==> entry, 1 ==> reentry, 2 ==> exit, 3 ==> bcstart
|
||||
*/
|
||||
|
||||
enum NotifyType { method_entry, method_reentry, method_exit, bytecode_start };
|
||||
|
||||
virtual void notify(int type) {
|
||||
if (UseBuiltinSim) {
|
||||
starti;
|
||||
// 109
|
||||
f(0b101, 31, 29);
|
||||
// 87654321098765
|
||||
f(0b00000000000000, 28, 15);
|
||||
f(type, 14, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void blrt(Register Rn, int gpargs, int fpargs, int type) {
|
||||
if (UseBuiltinSim) {
|
||||
starti;
|
||||
f(0b110, 31 ,29);
|
||||
f(0b00, 28, 25);
|
||||
// 4321098765
|
||||
f(0b0000000000, 24, 15);
|
||||
f(gpargs, 14, 11);
|
||||
f(fpargs, 10, 7);
|
||||
f(type, 6, 5);
|
||||
rf(Rn, 0);
|
||||
} else {
|
||||
blr(Rn);
|
||||
}
|
||||
}
|
||||
|
||||
void blrt(Register Rn, Register Rm) {
|
||||
if (UseBuiltinSim) {
|
||||
starti;
|
||||
f(0b110, 31 ,29);
|
||||
f(0b00, 28, 25);
|
||||
// 4321098765
|
||||
f(0b0000000001, 24, 15);
|
||||
// 43210
|
||||
f(0b00000, 14, 10);
|
||||
rf(Rm, 5);
|
||||
rf(Rn, 0);
|
||||
} else {
|
||||
blr(Rn);
|
||||
}
|
||||
}
|
||||
|
||||
void haltsim() {
|
||||
starti;
|
||||
f(0b111, 31 ,29);
|
||||
f(0b00, 28, 27);
|
||||
// 654321098765432109876543210
|
||||
f(0b000000000000000000000000000, 26, 0);
|
||||
}
|
||||
|
||||
Assembler(CodeBuffer* code) : AbstractAssembler(code) {
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "c1/c1_ValueStack.hpp"
|
||||
#include "ci/ciArrayKlass.hpp"
|
||||
#include "ci/ciInstance.hpp"
|
||||
#include "code/compiledIC.hpp"
|
||||
#include "gc/shared/barrierSet.hpp"
|
||||
#include "gc/shared/cardTableBarrierSet.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
@@ -2012,11 +2013,10 @@ void LIR_Assembler::emit_static_call_stub() {
|
||||
int start = __ offset();
|
||||
|
||||
__ relocate(static_stub_Relocation::spec(call_pc));
|
||||
__ mov_metadata(rmethod, (Metadata*)NULL);
|
||||
__ movptr(rscratch1, 0);
|
||||
__ br(rscratch1);
|
||||
__ emit_static_call_stub();
|
||||
|
||||
assert(__ offset() - start <= call_stub_size(), "stub too big");
|
||||
assert(__ offset() - start + CompiledStaticCall::to_trampoline_stub_size()
|
||||
<= call_stub_size(), "stub too big");
|
||||
__ end_a_stub();
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
@@ -2821,40 +2824,7 @@ void LIR_Assembler::rt_call(LIR_Opr result, address dest, const LIR_OprList* arg
|
||||
__ far_call(RuntimeAddress(dest));
|
||||
} else {
|
||||
__ mov(rscratch1, RuntimeAddress(dest));
|
||||
int len = args->length();
|
||||
int type = 0;
|
||||
if (! result->is_illegal()) {
|
||||
switch (result->type()) {
|
||||
case T_VOID:
|
||||
type = 0;
|
||||
break;
|
||||
case T_INT:
|
||||
case T_LONG:
|
||||
case T_OBJECT:
|
||||
type = 1;
|
||||
break;
|
||||
case T_FLOAT:
|
||||
type = 2;
|
||||
break;
|
||||
case T_DOUBLE:
|
||||
type = 3;
|
||||
break;
|
||||
default:
|
||||
ShouldNotReachHere();
|
||||
break;
|
||||
}
|
||||
}
|
||||
int num_gpargs = 0;
|
||||
int num_fpargs = 0;
|
||||
for (int i = 0; i < args->length(); i++) {
|
||||
LIR_Opr arg = args->at(i);
|
||||
if (arg->type() == T_FLOAT || arg->type() == T_DOUBLE) {
|
||||
num_fpargs++;
|
||||
} else {
|
||||
num_gpargs++;
|
||||
}
|
||||
}
|
||||
__ blrt(rscratch1, num_gpargs, num_fpargs, type);
|
||||
__ blr(rscratch1);
|
||||
}
|
||||
|
||||
if (info != NULL) {
|
||||
|
||||
@@ -69,7 +69,9 @@ friend class ArrayCopyStub;
|
||||
void deoptimize_trap(CodeEmitInfo *info);
|
||||
|
||||
enum {
|
||||
_call_stub_size = 12 * NativeInstruction::instruction_size,
|
||||
// call stub: CompiledStaticCall::to_interp_stub_size() +
|
||||
// CompiledStaticCall::to_trampoline_stub_size()
|
||||
_call_stub_size = 13 * NativeInstruction::instruction_size,
|
||||
_call_aot_stub_size = 0,
|
||||
_exception_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(175),
|
||||
_deopt_handler_size = 7 * NativeInstruction::instruction_size
|
||||
|
||||
@@ -341,16 +341,10 @@ void C1_MacroAssembler::build_frame(int framesize, int bang_size_in_bytes) {
|
||||
// Note that we do this before doing an enter().
|
||||
generate_stack_overflow_check(bang_size_in_bytes);
|
||||
MacroAssembler::build_frame(framesize + 2 * wordSize);
|
||||
if (NotifySimulator) {
|
||||
notify(Assembler::method_entry);
|
||||
}
|
||||
}
|
||||
|
||||
void C1_MacroAssembler::remove_frame(int framesize) {
|
||||
MacroAssembler::remove_frame(framesize + 2 * wordSize);
|
||||
if (NotifySimulator) {
|
||||
notify(Assembler::method_reentry);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ int StubAssembler::call_RT(Register oop_result1, Register metadata_result, addre
|
||||
|
||||
// do the call
|
||||
lea(rscratch1, RuntimeAddress(entry));
|
||||
blrt(rscratch1, args_size + 1, 8, 1);
|
||||
blr(rscratch1);
|
||||
bind(retaddr);
|
||||
int call_offset = offset();
|
||||
// verify callee-saved register
|
||||
@@ -537,7 +537,7 @@ OopMapSet* Runtime1::generate_patching(StubAssembler* sasm, address target) {
|
||||
__ set_last_Java_frame(sp, rfp, retaddr, rscratch1);
|
||||
// do the call
|
||||
__ lea(rscratch1, RuntimeAddress(target));
|
||||
__ blrt(rscratch1, 1, 0, 1);
|
||||
__ blr(rscratch1);
|
||||
__ bind(retaddr);
|
||||
OopMapSet* oop_maps = new OopMapSet();
|
||||
oop_maps->add_gc_map(__ offset(), oop_map);
|
||||
|
||||
@@ -41,13 +41,7 @@ define_pd_global(bool, PreferInterpreterNativeStubs, false);
|
||||
define_pd_global(bool, ProfileTraps, false);
|
||||
define_pd_global(bool, UseOnStackReplacement, true );
|
||||
define_pd_global(bool, TieredCompilation, false);
|
||||
#ifdef BUILTIN_SIM
|
||||
// We compile very aggressively with the builtin simulator because
|
||||
// doing so greatly reduces run times and tests more code.
|
||||
define_pd_global(intx, CompileThreshold, 150 );
|
||||
#else
|
||||
define_pd_global(intx, CompileThreshold, 1500 );
|
||||
#endif
|
||||
|
||||
define_pd_global(intx, OnStackReplacePercentage, 933 );
|
||||
define_pd_global(intx, FreqInlineSize, 325 );
|
||||
|
||||
@@ -61,14 +61,14 @@ address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark)
|
||||
// Don't create a Metadata reloc if we're generating immutable PIC.
|
||||
if (cbuf.immutable_PIC()) {
|
||||
__ movptr(rmethod, 0);
|
||||
} else {
|
||||
__ mov_metadata(rmethod, (Metadata*)NULL);
|
||||
}
|
||||
#else
|
||||
__ mov_metadata(rmethod, (Metadata*)NULL);
|
||||
__ movptr(rscratch1, 0);
|
||||
__ br(rscratch1);
|
||||
|
||||
} else
|
||||
#endif
|
||||
__ movptr(rscratch1, 0);
|
||||
__ br(rscratch1);
|
||||
{
|
||||
__ emit_static_call_stub();
|
||||
}
|
||||
|
||||
assert((__ offset() - offset) <= (int)to_interp_stub_size(), "stub too big");
|
||||
__ end_a_stub();
|
||||
@@ -77,7 +77,8 @@ address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark)
|
||||
#undef __
|
||||
|
||||
int CompiledStaticCall::to_interp_stub_size() {
|
||||
return 7 * NativeInstruction::instruction_size;
|
||||
// isb; movk; movz; movz; movk; movz; movz; br
|
||||
return 8 * NativeInstruction::instruction_size;
|
||||
}
|
||||
|
||||
int CompiledStaticCall::to_trampoline_stub_size() {
|
||||
@@ -159,7 +160,8 @@ void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, ad
|
||||
}
|
||||
|
||||
// Creation also verifies the object.
|
||||
NativeMovConstReg* method_holder = nativeMovConstReg_at(stub);
|
||||
NativeMovConstReg* method_holder
|
||||
= nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
|
||||
#ifndef PRODUCT
|
||||
NativeGeneralJump* jump = nativeGeneralJump_at(method_holder->next_instruction_address());
|
||||
|
||||
@@ -184,7 +186,8 @@ void CompiledDirectStaticCall::set_stub_to_clean(static_stub_Relocation* static_
|
||||
address stub = static_stub->addr();
|
||||
assert(stub != NULL, "stub not found");
|
||||
// Creation also verifies the object.
|
||||
NativeMovConstReg* method_holder = nativeMovConstReg_at(stub);
|
||||
NativeMovConstReg* method_holder
|
||||
= nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
|
||||
method_holder->set_data(0);
|
||||
}
|
||||
|
||||
@@ -203,8 +206,9 @@ void CompiledDirectStaticCall::verify() {
|
||||
address stub = find_stub(false /* is_aot */);
|
||||
assert(stub != NULL, "no stub found for static call");
|
||||
// Creation also verifies the object.
|
||||
NativeMovConstReg* method_holder = nativeMovConstReg_at(stub);
|
||||
NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
|
||||
NativeMovConstReg* method_holder
|
||||
= nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
|
||||
NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
|
||||
|
||||
// Verify state.
|
||||
assert(is_clean() || is_call_to_compiled() || is_call_to_interpreted(), "sanity check");
|
||||
|
||||
@@ -1,595 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _CPU_STATE_H
|
||||
#define _CPU_STATE_H
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
/*
|
||||
* symbolic names used to identify general registers which also match
|
||||
* the registers indices in machine code
|
||||
*
|
||||
* We have 32 general registers which can be read/written as 32 bit or
|
||||
* 64 bit sources/sinks and are appropriately referred to as Wn or Xn
|
||||
* in the assembly code. Some instructions mix these access modes
|
||||
* (e.g. ADD X0, X1, W2) so the implementation of the instruction
|
||||
* needs to *know* which type of read or write access is required.
|
||||
*/
|
||||
enum GReg {
|
||||
R0,
|
||||
R1,
|
||||
R2,
|
||||
R3,
|
||||
R4,
|
||||
R5,
|
||||
R6,
|
||||
R7,
|
||||
R8,
|
||||
R9,
|
||||
R10,
|
||||
R11,
|
||||
R12,
|
||||
R13,
|
||||
R14,
|
||||
R15,
|
||||
R16,
|
||||
R17,
|
||||
R18,
|
||||
R19,
|
||||
R20,
|
||||
R21,
|
||||
R22,
|
||||
R23,
|
||||
R24,
|
||||
R25,
|
||||
R26,
|
||||
R27,
|
||||
R28,
|
||||
R29,
|
||||
R30,
|
||||
R31,
|
||||
// and now the aliases
|
||||
RSCRATCH1=R8,
|
||||
RSCRATCH2=R9,
|
||||
RMETHOD=R12,
|
||||
RESP=R20,
|
||||
RDISPATCH=R21,
|
||||
RBCP=R22,
|
||||
RLOCALS=R24,
|
||||
RMONITORS=R25,
|
||||
RCPOOL=R26,
|
||||
RHEAPBASE=R27,
|
||||
RTHREAD=R28,
|
||||
FP = R29,
|
||||
LR = R30,
|
||||
SP = R31,
|
||||
ZR = R31
|
||||
};
|
||||
|
||||
/*
|
||||
* symbolic names used to refer to floating point registers which also
|
||||
* match the registers indices in machine code
|
||||
*
|
||||
* We have 32 FP registers which can be read/written as 8, 16, 32, 64
|
||||
* and 128 bit sources/sinks and are appropriately referred to as Bn,
|
||||
* Hn, Sn, Dn and Qn in the assembly code. Some instructions mix these
|
||||
* access modes (e.g. FCVT S0, D0) so the implementation of the
|
||||
* instruction needs to *know* which type of read or write access is
|
||||
* required.
|
||||
*/
|
||||
|
||||
enum VReg {
|
||||
V0,
|
||||
V1,
|
||||
V2,
|
||||
V3,
|
||||
V4,
|
||||
V5,
|
||||
V6,
|
||||
V7,
|
||||
V8,
|
||||
V9,
|
||||
V10,
|
||||
V11,
|
||||
V12,
|
||||
V13,
|
||||
V14,
|
||||
V15,
|
||||
V16,
|
||||
V17,
|
||||
V18,
|
||||
V19,
|
||||
V20,
|
||||
V21,
|
||||
V22,
|
||||
V23,
|
||||
V24,
|
||||
V25,
|
||||
V26,
|
||||
V27,
|
||||
V28,
|
||||
V29,
|
||||
V30,
|
||||
V31,
|
||||
};
|
||||
|
||||
/**
|
||||
* all the different integer bit patterns for the components of a
|
||||
* general register are overlaid here using a union so as to allow all
|
||||
* reading and writing of the desired bits.
|
||||
*
|
||||
* n.b. the ARM spec says that when you write a 32 bit register you
|
||||
* are supposed to write the low 32 bits and zero the high 32
|
||||
* bits. But we don't actually have to care about this because Java
|
||||
* will only ever consume the 32 bits value as a 64 bit quantity after
|
||||
* an explicit extend.
|
||||
*/
|
||||
union GRegisterValue
|
||||
{
|
||||
int8_t s8;
|
||||
int16_t s16;
|
||||
int32_t s32;
|
||||
int64_t s64;
|
||||
u_int8_t u8;
|
||||
u_int16_t u16;
|
||||
u_int32_t u32;
|
||||
u_int64_t u64;
|
||||
};
|
||||
|
||||
class GRegister
|
||||
{
|
||||
public:
|
||||
GRegisterValue value;
|
||||
};
|
||||
|
||||
/*
|
||||
* float registers provide for storage of a single, double or quad
|
||||
* word format float in the same register. single floats are not
|
||||
* paired within each double register as per 32 bit arm. instead each
|
||||
* 128 bit register Vn embeds the bits for Sn, and Dn in the lower
|
||||
* quarter and half, respectively, of the bits for Qn.
|
||||
*
|
||||
* The upper bits can also be accessed as single or double floats by
|
||||
* the float vector operations using indexing e.g. V1.D[1], V1.S[3]
|
||||
* etc and, for SIMD operations using a horrible index range notation.
|
||||
*
|
||||
* The spec also talks about accessing float registers as half words
|
||||
* and bytes with Hn and Bn providing access to the low 16 and 8 bits
|
||||
* of Vn but it is not really clear what these bits represent. We can
|
||||
* probably ignore this for Java anyway. However, we do need to access
|
||||
* the raw bits at 32 and 64 bit resolution to load to/from integer
|
||||
* registers.
|
||||
*/
|
||||
|
||||
union FRegisterValue
|
||||
{
|
||||
float s;
|
||||
double d;
|
||||
long double q;
|
||||
// eventually we will need to be able to access the data as a vector
|
||||
// the integral array elements allow us to access the bits in s, d,
|
||||
// q, vs and vd at an appropriate level of granularity
|
||||
u_int8_t vb[16];
|
||||
u_int16_t vh[8];
|
||||
u_int32_t vw[4];
|
||||
u_int64_t vx[2];
|
||||
float vs[4];
|
||||
double vd[2];
|
||||
};
|
||||
|
||||
class FRegister
|
||||
{
|
||||
public:
|
||||
FRegisterValue value;
|
||||
};
|
||||
|
||||
/*
|
||||
* CPSR register -- this does not exist as a directly accessible
|
||||
* register but we need to store the flags so we can implement
|
||||
* flag-seting and flag testing operations
|
||||
*
|
||||
* we can possibly use injected x86 asm to report the outcome of flag
|
||||
* setting operations. if so we will need to grab the flags
|
||||
* immediately after the operation in order to ensure we don't lose
|
||||
* them because of the actions of the simulator. so we still need
|
||||
* somewhere to store the condition codes.
|
||||
*/
|
||||
|
||||
class CPSRRegister
|
||||
{
|
||||
public:
|
||||
u_int32_t value;
|
||||
|
||||
/*
|
||||
* condition register bit select values
|
||||
*
|
||||
* the order of bits here is important because some of
|
||||
* the flag setting conditional instructions employ a
|
||||
* bit field to populate the flags when a false condition
|
||||
* bypasses execution of the operation and we want to
|
||||
* be able to assign the flags register using the
|
||||
* supplied value.
|
||||
*/
|
||||
|
||||
enum CPSRIdx {
|
||||
V_IDX,
|
||||
C_IDX,
|
||||
Z_IDX,
|
||||
N_IDX
|
||||
};
|
||||
|
||||
enum CPSRMask {
|
||||
V = 1 << V_IDX,
|
||||
C = 1 << C_IDX,
|
||||
Z = 1 << Z_IDX,
|
||||
N = 1 << N_IDX
|
||||
};
|
||||
|
||||
static const int CPSR_ALL_FLAGS = (V | C | Z | N);
|
||||
};
|
||||
|
||||
// auxiliary function to assemble the relevant bits from
|
||||
// the x86 EFLAGS register into an ARM CPSR value
|
||||
|
||||
#define X86_V_IDX 11
|
||||
#define X86_C_IDX 0
|
||||
#define X86_Z_IDX 6
|
||||
#define X86_N_IDX 7
|
||||
|
||||
#define X86_V (1 << X86_V_IDX)
|
||||
#define X86_C (1 << X86_C_IDX)
|
||||
#define X86_Z (1 << X86_Z_IDX)
|
||||
#define X86_N (1 << X86_N_IDX)
|
||||
|
||||
inline u_int32_t convertX86Flags(u_int32_t x86flags)
|
||||
{
|
||||
u_int32_t flags;
|
||||
// set N flag
|
||||
flags = ((x86flags & X86_N) >> X86_N_IDX);
|
||||
// shift then or in Z flag
|
||||
flags <<= 1;
|
||||
flags |= ((x86flags & X86_Z) >> X86_Z_IDX);
|
||||
// shift then or in C flag
|
||||
flags <<= 1;
|
||||
flags |= ((x86flags & X86_C) >> X86_C_IDX);
|
||||
// shift then or in V flag
|
||||
flags <<= 1;
|
||||
flags |= ((x86flags & X86_V) >> X86_V_IDX);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
inline u_int32_t convertX86FlagsFP(u_int32_t x86flags)
|
||||
{
|
||||
// x86 flags set by fcomi(x,y) are ZF:PF:CF
|
||||
// (yes, that's PF for parity, WTF?)
|
||||
// where
|
||||
// 0) 0:0:0 means x > y
|
||||
// 1) 0:0:1 means x < y
|
||||
// 2) 1:0:0 means x = y
|
||||
// 3) 1:1:1 means x and y are unordered
|
||||
// note that we don't have to check PF so
|
||||
// we really have a simple 2-bit case switch
|
||||
// the corresponding ARM64 flags settings
|
||||
// in hi->lo bit order are
|
||||
// 0) --C-
|
||||
// 1) N---
|
||||
// 2) -ZC-
|
||||
// 3) --CV
|
||||
|
||||
static u_int32_t armFlags[] = {
|
||||
0b0010,
|
||||
0b1000,
|
||||
0b0110,
|
||||
0b0011
|
||||
};
|
||||
// pick out the ZF and CF bits
|
||||
u_int32_t zc = ((x86flags & X86_Z) >> X86_Z_IDX);
|
||||
zc <<= 1;
|
||||
zc |= ((x86flags & X86_C) >> X86_C_IDX);
|
||||
|
||||
return armFlags[zc];
|
||||
}
|
||||
|
||||
/*
|
||||
* FPSR register -- floating point status register
|
||||
|
||||
* this register includes IDC, IXC, UFC, OFC, DZC, IOC and QC bits,
|
||||
* and the floating point N, Z, C, V bits but the latter are unused in
|
||||
* aarch64 mode. the sim ignores QC for now.
|
||||
*
|
||||
* bit positions are as per the ARMv7 FPSCR register
|
||||
*
|
||||
* IDC : 7 ==> Input Denormal (cumulative exception bit)
|
||||
* IXC : 4 ==> Inexact
|
||||
* UFC : 3 ==> Underflow
|
||||
* OFC : 2 ==> Overflow
|
||||
* DZC : 1 ==> Division by Zero
|
||||
* IOC : 0 ==> Invalid Operation
|
||||
*/
|
||||
|
||||
class FPSRRegister
|
||||
{
|
||||
public:
|
||||
u_int32_t value;
|
||||
// indices for bits in the FPSR register value
|
||||
enum FPSRIdx {
|
||||
IO_IDX = 0,
|
||||
DZ_IDX = 1,
|
||||
OF_IDX = 2,
|
||||
UF_IDX = 3,
|
||||
IX_IDX = 4,
|
||||
ID_IDX = 7
|
||||
};
|
||||
// corresponding bits as numeric values
|
||||
enum FPSRMask {
|
||||
IO = (1 << IO_IDX),
|
||||
DZ = (1 << DZ_IDX),
|
||||
OF = (1 << OF_IDX),
|
||||
UF = (1 << UF_IDX),
|
||||
IX = (1 << IX_IDX),
|
||||
ID = (1 << ID_IDX)
|
||||
};
|
||||
static const int FPSR_ALL_FPSRS = (IO | DZ | OF | UF | IX | ID);
|
||||
};
|
||||
|
||||
// debugger support
|
||||
|
||||
enum PrintFormat
|
||||
{
|
||||
FMT_DECIMAL,
|
||||
FMT_HEX,
|
||||
FMT_SINGLE,
|
||||
FMT_DOUBLE,
|
||||
FMT_QUAD,
|
||||
FMT_MULTI
|
||||
};
|
||||
|
||||
/*
|
||||
* model of the registers and other state associated with the cpu
|
||||
*/
|
||||
class CPUState
|
||||
{
|
||||
friend class AArch64Simulator;
|
||||
private:
|
||||
// this is the PC of the instruction being executed
|
||||
u_int64_t pc;
|
||||
// this is the PC of the instruction to be executed next
|
||||
// it is defaulted to pc + 4 at instruction decode but
|
||||
// execute may reset it
|
||||
|
||||
u_int64_t nextpc;
|
||||
GRegister gr[33]; // extra register at index 32 is used
|
||||
// to hold zero value
|
||||
FRegister fr[32];
|
||||
CPSRRegister cpsr;
|
||||
FPSRRegister fpsr;
|
||||
|
||||
public:
|
||||
|
||||
CPUState() {
|
||||
gr[20].value.u64 = 0; // establish initial condition for
|
||||
// checkAssertions()
|
||||
trace_counter = 0;
|
||||
}
|
||||
|
||||
// General Register access macros
|
||||
|
||||
// only xreg or xregs can be used as an lvalue in order to update a
|
||||
// register. this ensures that the top part of a register is always
|
||||
// assigned when it is written by the sim.
|
||||
|
||||
inline u_int64_t &xreg(GReg reg, int r31_is_sp) {
|
||||
if (reg == R31 && !r31_is_sp) {
|
||||
return gr[32].value.u64;
|
||||
} else {
|
||||
return gr[reg].value.u64;
|
||||
}
|
||||
}
|
||||
|
||||
inline int64_t &xregs(GReg reg, int r31_is_sp) {
|
||||
if (reg == R31 && !r31_is_sp) {
|
||||
return gr[32].value.s64;
|
||||
} else {
|
||||
return gr[reg].value.s64;
|
||||
}
|
||||
}
|
||||
|
||||
inline u_int32_t wreg(GReg reg, int r31_is_sp) {
|
||||
if (reg == R31 && !r31_is_sp) {
|
||||
return gr[32].value.u32;
|
||||
} else {
|
||||
return gr[reg].value.u32;
|
||||
}
|
||||
}
|
||||
|
||||
inline int32_t wregs(GReg reg, int r31_is_sp) {
|
||||
if (reg == R31 && !r31_is_sp) {
|
||||
return gr[32].value.s32;
|
||||
} else {
|
||||
return gr[reg].value.s32;
|
||||
}
|
||||
}
|
||||
|
||||
inline u_int32_t hreg(GReg reg, int r31_is_sp) {
|
||||
if (reg == R31 && !r31_is_sp) {
|
||||
return gr[32].value.u16;
|
||||
} else {
|
||||
return gr[reg].value.u16;
|
||||
}
|
||||
}
|
||||
|
||||
inline int32_t hregs(GReg reg, int r31_is_sp) {
|
||||
if (reg == R31 && !r31_is_sp) {
|
||||
return gr[32].value.s16;
|
||||
} else {
|
||||
return gr[reg].value.s16;
|
||||
}
|
||||
}
|
||||
|
||||
inline u_int32_t breg(GReg reg, int r31_is_sp) {
|
||||
if (reg == R31 && !r31_is_sp) {
|
||||
return gr[32].value.u8;
|
||||
} else {
|
||||
return gr[reg].value.u8;
|
||||
}
|
||||
}
|
||||
|
||||
inline int32_t bregs(GReg reg, int r31_is_sp) {
|
||||
if (reg == R31 && !r31_is_sp) {
|
||||
return gr[32].value.s8;
|
||||
} else {
|
||||
return gr[reg].value.s8;
|
||||
}
|
||||
}
|
||||
|
||||
// FP Register access macros
|
||||
|
||||
// all non-vector accessors return a reference so we can both read
|
||||
// and assign
|
||||
|
||||
inline float &sreg(VReg reg) {
|
||||
return fr[reg].value.s;
|
||||
}
|
||||
|
||||
inline double &dreg(VReg reg) {
|
||||
return fr[reg].value.d;
|
||||
}
|
||||
|
||||
inline long double &qreg(VReg reg) {
|
||||
return fr[reg].value.q;
|
||||
}
|
||||
|
||||
// all vector register accessors return a pointer
|
||||
|
||||
inline float *vsreg(VReg reg) {
|
||||
return &fr[reg].value.vs[0];
|
||||
}
|
||||
|
||||
inline double *vdreg(VReg reg) {
|
||||
return &fr[reg].value.vd[0];
|
||||
}
|
||||
|
||||
inline u_int8_t *vbreg(VReg reg) {
|
||||
return &fr[reg].value.vb[0];
|
||||
}
|
||||
|
||||
inline u_int16_t *vhreg(VReg reg) {
|
||||
return &fr[reg].value.vh[0];
|
||||
}
|
||||
|
||||
inline u_int32_t *vwreg(VReg reg) {
|
||||
return &fr[reg].value.vw[0];
|
||||
}
|
||||
|
||||
inline u_int64_t *vxreg(VReg reg) {
|
||||
return &fr[reg].value.vx[0];
|
||||
}
|
||||
|
||||
union GRegisterValue prev_sp, prev_fp;
|
||||
|
||||
static const int trace_size = 256;
|
||||
u_int64_t trace_buffer[trace_size];
|
||||
int trace_counter;
|
||||
|
||||
bool checkAssertions()
|
||||
{
|
||||
// Make sure that SP is 16-aligned
|
||||
// Also make sure that ESP is above SP.
|
||||
// We don't care about checking ESP if it is null, i.e. it hasn't
|
||||
// been used yet.
|
||||
if (gr[31].value.u64 & 0x0f) {
|
||||
asm volatile("nop");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// pc register accessors
|
||||
|
||||
// this instruction can be used to fetch the current PC
|
||||
u_int64_t getPC();
|
||||
// instead of setting the current PC directly you can
|
||||
// first set the next PC (either absolute or PC-relative)
|
||||
// and later copy the next PC into the current PC
|
||||
// this supports a default increment by 4 at instruction
|
||||
// fetch with an optional reset by control instructions
|
||||
u_int64_t getNextPC();
|
||||
void setNextPC(u_int64_t next);
|
||||
void offsetNextPC(int64_t offset);
|
||||
// install nextpc as current pc
|
||||
void updatePC();
|
||||
|
||||
// this instruction can be used to save the next PC to LR
|
||||
// just before installing a branch PC
|
||||
inline void saveLR() { gr[LR].value.u64 = nextpc; }
|
||||
|
||||
// cpsr register accessors
|
||||
u_int32_t getCPSRRegister();
|
||||
void setCPSRRegister(u_int32_t flags);
|
||||
// read a specific subset of the flags as a bit pattern
|
||||
// mask should be composed using elements of enum FlagMask
|
||||
u_int32_t getCPSRBits(u_int32_t mask);
|
||||
// assign a specific subset of the flags as a bit pattern
|
||||
// mask and value should be composed using elements of enum FlagMask
|
||||
void setCPSRBits(u_int32_t mask, u_int32_t value);
|
||||
// test the value of a single flag returned as 1 or 0
|
||||
u_int32_t testCPSR(CPSRRegister::CPSRIdx idx);
|
||||
// set a single flag
|
||||
void setCPSR(CPSRRegister::CPSRIdx idx);
|
||||
// clear a single flag
|
||||
void clearCPSR(CPSRRegister::CPSRIdx idx);
|
||||
// utility method to set ARM CSPR flags from an x86 bit mask generated by integer arithmetic
|
||||
void setCPSRRegisterFromX86(u_int64_t x86Flags);
|
||||
// utility method to set ARM CSPR flags from an x86 bit mask generated by floating compare
|
||||
void setCPSRRegisterFromX86FP(u_int64_t x86Flags);
|
||||
|
||||
// fpsr register accessors
|
||||
u_int32_t getFPSRRegister();
|
||||
void setFPSRRegister(u_int32_t flags);
|
||||
// read a specific subset of the fprs bits as a bit pattern
|
||||
// mask should be composed using elements of enum FPSRRegister::FlagMask
|
||||
u_int32_t getFPSRBits(u_int32_t mask);
|
||||
// assign a specific subset of the flags as a bit pattern
|
||||
// mask and value should be composed using elements of enum FPSRRegister::FlagMask
|
||||
void setFPSRBits(u_int32_t mask, u_int32_t value);
|
||||
// test the value of a single flag returned as 1 or 0
|
||||
u_int32_t testFPSR(FPSRRegister::FPSRIdx idx);
|
||||
// set a single flag
|
||||
void setFPSR(FPSRRegister::FPSRIdx idx);
|
||||
// clear a single flag
|
||||
void clearFPSR(FPSRRegister::FPSRIdx idx);
|
||||
|
||||
// debugger support
|
||||
void printPC(int pending, const char *trailing = "\n");
|
||||
void printInstr(u_int32_t instr, void (*dasm)(u_int64_t), const char *trailing = "\n");
|
||||
void printGReg(GReg reg, PrintFormat format = FMT_HEX, const char *trailing = "\n");
|
||||
void printVReg(VReg reg, PrintFormat format = FMT_HEX, const char *trailing = "\n");
|
||||
void printCPSR(const char *trailing = "\n");
|
||||
void printFPSR(const char *trailing = "\n");
|
||||
void dumpState();
|
||||
};
|
||||
|
||||
#endif // ifndef _CPU_STATE_H
|
||||
@@ -1,412 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _DECODE_H
|
||||
#define _DECODE_H
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "cpustate_aarch64.hpp"
|
||||
|
||||
// bitfield immediate expansion helper
|
||||
|
||||
extern int expandLogicalImmediate(u_int32_t immN, u_int32_t immr,
|
||||
u_int32_t imms, u_int64_t &bimm);
|
||||
|
||||
|
||||
/*
|
||||
* codes used in conditional instructions
|
||||
*
|
||||
* these are passed to conditional operations to identify which
|
||||
* condition to test for
|
||||
*/
|
||||
enum CondCode {
|
||||
EQ = 0b0000, // meaning Z == 1
|
||||
NE = 0b0001, // meaning Z == 0
|
||||
HS = 0b0010, // meaning C == 1
|
||||
CS = HS,
|
||||
LO = 0b0011, // meaning C == 0
|
||||
CC = LO,
|
||||
MI = 0b0100, // meaning N == 1
|
||||
PL = 0b0101, // meaning N == 0
|
||||
VS = 0b0110, // meaning V == 1
|
||||
VC = 0b0111, // meaning V == 0
|
||||
HI = 0b1000, // meaning C == 1 && Z == 0
|
||||
LS = 0b1001, // meaning !(C == 1 && Z == 0)
|
||||
GE = 0b1010, // meaning N == V
|
||||
LT = 0b1011, // meaning N != V
|
||||
GT = 0b1100, // meaning Z == 0 && N == V
|
||||
LE = 0b1101, // meaning !(Z == 0 && N == V)
|
||||
AL = 0b1110, // meaning ANY
|
||||
NV = 0b1111 // ditto
|
||||
};
|
||||
|
||||
/*
|
||||
* certain addressing modes for load require pre or post writeback of
|
||||
* the computed address to a base register
|
||||
*/
|
||||
enum WriteBack {
|
||||
Post = 0,
|
||||
Pre = 1
|
||||
};
|
||||
|
||||
/*
|
||||
* certain addressing modes for load require an offset to
|
||||
* be optionally scaled so the decode needs to pass that
|
||||
* through to the execute routine
|
||||
*/
|
||||
enum Scaling {
|
||||
Unscaled = 0,
|
||||
Scaled = 1
|
||||
};
|
||||
|
||||
/*
|
||||
* when we do have to scale we do so by shifting using
|
||||
* log(bytes in data element - 1) as the shift count.
|
||||
* so we don't have to scale offsets when loading
|
||||
* bytes.
|
||||
*/
|
||||
enum ScaleShift {
|
||||
ScaleShift16 = 1,
|
||||
ScaleShift32 = 2,
|
||||
ScaleShift64 = 3,
|
||||
ScaleShift128 = 4
|
||||
};
|
||||
|
||||
/*
|
||||
* one of the addressing modes for load requires a 32-bit register
|
||||
* value to be either zero- or sign-extended for these instructions
|
||||
* UXTW or SXTW should be passed
|
||||
*
|
||||
* arithmetic register data processing operations can optionally
|
||||
* extend a portion of the second register value for these
|
||||
* instructions the value supplied must identify the portion of the
|
||||
* register which is to be zero- or sign-exended
|
||||
*/
|
||||
enum Extension {
|
||||
UXTB = 0,
|
||||
UXTH = 1,
|
||||
UXTW = 2,
|
||||
UXTX = 3,
|
||||
SXTB = 4,
|
||||
SXTH = 5,
|
||||
SXTW = 6,
|
||||
SXTX = 7
|
||||
};
|
||||
|
||||
/*
|
||||
* arithmetic and logical register data processing operations
|
||||
* optionally perform a shift on the second register value
|
||||
*/
|
||||
enum Shift {
|
||||
LSL = 0,
|
||||
LSR = 1,
|
||||
ASR = 2,
|
||||
ROR = 3
|
||||
};
|
||||
|
||||
/*
|
||||
* bit twiddling helpers for instruction decode
|
||||
*/
|
||||
|
||||
// 32 bit mask with bits [hi,...,lo] set
|
||||
|
||||
static inline u_int32_t mask32(int hi = 31, int lo = 0)
|
||||
{
|
||||
int nbits = (hi + 1) - lo;
|
||||
return ((1 << nbits) - 1) << lo;
|
||||
}
|
||||
|
||||
static inline u_int64_t mask64(int hi = 63, int lo = 0)
|
||||
{
|
||||
int nbits = (hi + 1) - lo;
|
||||
return ((1L << nbits) - 1) << lo;
|
||||
}
|
||||
|
||||
// pick bits [hi,...,lo] from val
|
||||
static inline u_int32_t pick32(u_int32_t val, int hi = 31, int lo = 0)
|
||||
{
|
||||
return (val & mask32(hi, lo));
|
||||
}
|
||||
|
||||
// pick bits [hi,...,lo] from val
|
||||
static inline u_int64_t pick64(u_int64_t val, int hi = 31, int lo = 0)
|
||||
{
|
||||
return (val & mask64(hi, lo));
|
||||
}
|
||||
|
||||
// pick bits [hi,...,lo] from val and shift to [(hi-(newlo - lo)),newlo]
|
||||
static inline u_int32_t pickshift32(u_int32_t val, int hi = 31,
|
||||
int lo = 0, int newlo = 0)
|
||||
{
|
||||
u_int32_t bits = pick32(val, hi, lo);
|
||||
if (lo < newlo) {
|
||||
return (bits << (newlo - lo));
|
||||
} else {
|
||||
return (bits >> (lo - newlo));
|
||||
}
|
||||
}
|
||||
// mask [hi,lo] and shift down to start at bit 0
|
||||
static inline u_int32_t pickbits32(u_int32_t val, int hi = 31, int lo = 0)
|
||||
{
|
||||
return (pick32(val, hi, lo) >> lo);
|
||||
}
|
||||
|
||||
// mask [hi,lo] and shift down to start at bit 0
|
||||
static inline u_int64_t pickbits64(u_int64_t val, int hi = 63, int lo = 0)
|
||||
{
|
||||
return (pick64(val, hi, lo) >> lo);
|
||||
}
|
||||
|
||||
/*
|
||||
* decode registers, immediates and constants of various types
|
||||
*/
|
||||
|
||||
static inline GReg greg(u_int32_t val, int lo)
|
||||
{
|
||||
return (GReg)pickbits32(val, lo + 4, lo);
|
||||
}
|
||||
|
||||
static inline VReg vreg(u_int32_t val, int lo)
|
||||
{
|
||||
return (VReg)pickbits32(val, lo + 4, lo);
|
||||
}
|
||||
|
||||
static inline u_int32_t uimm(u_int32_t val, int hi, int lo)
|
||||
{
|
||||
return pickbits32(val, hi, lo);
|
||||
}
|
||||
|
||||
static inline int32_t simm(u_int32_t val, int hi = 31, int lo = 0) {
|
||||
union {
|
||||
u_int32_t u;
|
||||
int32_t n;
|
||||
};
|
||||
|
||||
u = val << (31 - hi);
|
||||
n = n >> (31 - hi + lo);
|
||||
return n;
|
||||
}
|
||||
|
||||
static inline int64_t simm(u_int64_t val, int hi = 63, int lo = 0) {
|
||||
union {
|
||||
u_int64_t u;
|
||||
int64_t n;
|
||||
};
|
||||
|
||||
u = val << (63 - hi);
|
||||
n = n >> (63 - hi + lo);
|
||||
return n;
|
||||
}
|
||||
|
||||
static inline Shift shift(u_int32_t val, int lo)
|
||||
{
|
||||
return (Shift)pickbits32(val, lo+1, lo);
|
||||
}
|
||||
|
||||
static inline Extension extension(u_int32_t val, int lo)
|
||||
{
|
||||
return (Extension)pickbits32(val, lo+2, lo);
|
||||
}
|
||||
|
||||
static inline Scaling scaling(u_int32_t val, int lo)
|
||||
{
|
||||
return (Scaling)pickbits32(val, lo, lo);
|
||||
}
|
||||
|
||||
static inline WriteBack writeback(u_int32_t val, int lo)
|
||||
{
|
||||
return (WriteBack)pickbits32(val, lo, lo);
|
||||
}
|
||||
|
||||
static inline CondCode condcode(u_int32_t val, int lo)
|
||||
{
|
||||
return (CondCode)pickbits32(val, lo+3, lo);
|
||||
}
|
||||
|
||||
/*
|
||||
* operation decode
|
||||
*/
|
||||
// bits [28,25] are the primary dispatch vector
|
||||
|
||||
static inline u_int32_t dispatchGroup(u_int32_t val)
|
||||
{
|
||||
return pickshift32(val, 28, 25, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* the 16 possible values for bits [28,25] identified by tags which
|
||||
* map them to the 5 main instruction groups LDST, DPREG, ADVSIMD,
|
||||
* BREXSYS and DPIMM.
|
||||
*
|
||||
* An extra group PSEUDO is included in one of the unallocated ranges
|
||||
* for simulator-specific pseudo-instructions.
|
||||
*/
|
||||
enum DispatchGroup {
|
||||
GROUP_PSEUDO_0000,
|
||||
GROUP_UNALLOC_0001,
|
||||
GROUP_UNALLOC_0010,
|
||||
GROUP_UNALLOC_0011,
|
||||
GROUP_LDST_0100,
|
||||
GROUP_DPREG_0101,
|
||||
GROUP_LDST_0110,
|
||||
GROUP_ADVSIMD_0111,
|
||||
GROUP_DPIMM_1000,
|
||||
GROUP_DPIMM_1001,
|
||||
GROUP_BREXSYS_1010,
|
||||
GROUP_BREXSYS_1011,
|
||||
GROUP_LDST_1100,
|
||||
GROUP_DPREG_1101,
|
||||
GROUP_LDST_1110,
|
||||
GROUP_ADVSIMD_1111
|
||||
};
|
||||
|
||||
// bits [31, 29] of a Pseudo are the secondary dispatch vector
|
||||
|
||||
static inline u_int32_t dispatchPseudo(u_int32_t val)
|
||||
{
|
||||
return pickshift32(val, 31, 29, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* the 8 possible values for bits [31,29] in a Pseudo Instruction.
|
||||
* Bits [28,25] are always 0000.
|
||||
*/
|
||||
|
||||
enum DispatchPseudo {
|
||||
PSEUDO_UNALLOC_000, // unallocated
|
||||
PSEUDO_UNALLOC_001, // ditto
|
||||
PSEUDO_UNALLOC_010, // ditto
|
||||
PSEUDO_UNALLOC_011, // ditto
|
||||
PSEUDO_UNALLOC_100, // ditto
|
||||
PSEUDO_UNALLOC_101, // ditto
|
||||
PSEUDO_CALLOUT_110, // CALLOUT -- bits [24,0] identify call/ret sig
|
||||
PSEUDO_HALT_111 // HALT -- bits [24, 0] identify halt code
|
||||
};
|
||||
|
||||
// bits [25, 23] of a DPImm are the secondary dispatch vector
|
||||
|
||||
static inline u_int32_t dispatchDPImm(u_int32_t instr)
|
||||
{
|
||||
return pickshift32(instr, 25, 23, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* the 8 possible values for bits [25,23] in a Data Processing Immediate
|
||||
* Instruction. Bits [28,25] are always 100_.
|
||||
*/
|
||||
|
||||
enum DispatchDPImm {
|
||||
DPIMM_PCADR_000, // PC-rel-addressing
|
||||
DPIMM_PCADR_001, // ditto
|
||||
DPIMM_ADDSUB_010, // Add/Subtract (immediate)
|
||||
DPIMM_ADDSUB_011, // ditto
|
||||
DPIMM_LOG_100, // Logical (immediate)
|
||||
DPIMM_MOV_101, // Move Wide (immediate)
|
||||
DPIMM_BITF_110, // Bitfield
|
||||
DPIMM_EXTR_111 // Extract
|
||||
};
|
||||
|
||||
// bits [29,28:26] of a LS are the secondary dispatch vector
|
||||
|
||||
static inline u_int32_t dispatchLS(u_int32_t instr)
|
||||
{
|
||||
return (pickshift32(instr, 29, 28, 1) |
|
||||
pickshift32(instr, 26, 26, 0));
|
||||
}
|
||||
|
||||
/*
|
||||
* the 8 possible values for bits [29,28:26] in a Load/Store
|
||||
* Instruction. Bits [28,25] are always _1_0
|
||||
*/
|
||||
|
||||
enum DispatchLS {
|
||||
LS_EXCL_000, // Load/store exclusive (includes some unallocated)
|
||||
LS_ADVSIMD_001, // AdvSIMD load/store (various -- includes some unallocated)
|
||||
LS_LIT_010, // Load register literal (includes some unallocated)
|
||||
LS_LIT_011, // ditto
|
||||
LS_PAIR_100, // Load/store register pair (various)
|
||||
LS_PAIR_101, // ditto
|
||||
LS_OTHER_110, // other load/store formats
|
||||
LS_OTHER_111 // ditto
|
||||
};
|
||||
|
||||
// bits [28:24:21] of a DPReg are the secondary dispatch vector
|
||||
|
||||
static inline u_int32_t dispatchDPReg(u_int32_t instr)
|
||||
{
|
||||
return (pickshift32(instr, 28, 28, 2) |
|
||||
pickshift32(instr, 24, 24, 1) |
|
||||
pickshift32(instr, 21, 21, 0));
|
||||
}
|
||||
|
||||
/*
|
||||
* the 8 possible values for bits [28:24:21] in a Data Processing
|
||||
* Register Instruction. Bits [28,25] are always _101
|
||||
*/
|
||||
|
||||
enum DispatchDPReg {
|
||||
DPREG_LOG_000, // Logical (shifted register)
|
||||
DPREG_LOG_001, // ditto
|
||||
DPREG_ADDSHF_010, // Add/subtract (shifted register)
|
||||
DPREG_ADDEXT_011, // Add/subtract (extended register)
|
||||
DPREG_ADDCOND_100, // Add/subtract (with carry) AND
|
||||
// Cond compare/select AND
|
||||
// Data Processing (1/2 source)
|
||||
DPREG_UNALLOC_101, // Unallocated
|
||||
DPREG_3SRC_110, // Data Processing (3 source)
|
||||
DPREG_3SRC_111 // Data Processing (3 source)
|
||||
};
|
||||
|
||||
// bits [31,29] of a BrExSys are the secondary dispatch vector
|
||||
|
||||
static inline u_int32_t dispatchBrExSys(u_int32_t instr)
|
||||
{
|
||||
return pickbits32(instr, 31, 29);
|
||||
}
|
||||
|
||||
/*
|
||||
* the 8 possible values for bits [31,29] in a Branch/Exception/System
|
||||
* Instruction. Bits [28,25] are always 101_
|
||||
*/
|
||||
|
||||
enum DispatchBr {
|
||||
BR_IMM_000, // Unconditional branch (immediate)
|
||||
BR_IMMCMP_001, // Compare & branch (immediate) AND
|
||||
// Test & branch (immediate)
|
||||
BR_IMMCOND_010, // Conditional branch (immediate) AND Unallocated
|
||||
BR_UNALLOC_011, // Unallocated
|
||||
BR_IMM_100, // Unconditional branch (immediate)
|
||||
BR_IMMCMP_101, // Compare & branch (immediate) AND
|
||||
// Test & branch (immediate)
|
||||
BR_REG_110, // Unconditional branch (register) AND System AND
|
||||
// Excn gen AND Unallocated
|
||||
BR_UNALLOC_111 // Unallocated
|
||||
};
|
||||
|
||||
/*
|
||||
* TODO still need to provide secondary decode and dispatch for
|
||||
* AdvSIMD Insructions with instr[28,25] = 0111 or 1111
|
||||
*/
|
||||
|
||||
#endif // ifndef DECODE_H
|
||||
@@ -72,15 +72,12 @@ void G1BarrierSetAssembler::gen_write_ref_array_pre_barrier(MacroAssembler* masm
|
||||
}
|
||||
|
||||
void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators,
|
||||
Register start, Register end, Register scratch, RegSet saved_regs) {
|
||||
Register start, Register count, Register scratch, RegSet saved_regs) {
|
||||
__ push(saved_regs, sp);
|
||||
// must compute element count unless barrier set interface is changed (other platforms supply count)
|
||||
assert_different_registers(start, end, scratch);
|
||||
__ lea(scratch, Address(end, BytesPerHeapOop));
|
||||
__ sub(scratch, scratch, start); // subtract start to get #bytes
|
||||
__ lsr(scratch, scratch, LogBytesPerHeapOop); // convert to element count
|
||||
assert_different_registers(start, count, scratch);
|
||||
assert_different_registers(c_rarg0, count);
|
||||
__ mov(c_rarg0, start);
|
||||
__ mov(c_rarg1, scratch);
|
||||
__ mov(c_rarg1, count);
|
||||
__ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_post_entry), 2);
|
||||
__ pop(saved_regs, sp);
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ protected:
|
||||
void gen_write_ref_array_pre_barrier(MacroAssembler* masm, DecoratorSet decorators,
|
||||
Register addr, Register count, RegSet saved_regs);
|
||||
void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators,
|
||||
Register start, Register end, Register tmp, RegSet saved_regs);
|
||||
Register start, Register count, Register tmp, RegSet saved_regs);
|
||||
|
||||
void g1_write_barrier_pre(MacroAssembler* masm,
|
||||
Register obj,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user