Compare commits

...

2707 Commits

Author SHA1 Message Date
J. Duke
b56b984193 Merge 2017-07-05 18:16:12 +02:00
J. Duke
9055893408 Merge 2017-07-05 18:16:08 +02:00
J. Duke
0b33751341 Merge 2017-07-05 18:16:03 +02:00
J. Duke
f9fbfd172d Merge 2017-07-05 18:15:59 +02:00
J. Duke
1a9597f153 Merge 2017-07-05 18:15:54 +02:00
J. Duke
c636304410 Merge 2017-07-05 18:15:49 +02:00
J. Duke
2ec5a1e349 Merge 2017-07-05 18:15:39 +02:00
J. Duke
930a037c8a Added tag jdk8-b46 for changeset 600c9a1feb01 2017-07-05 18:15:28 +02:00
J. Duke
16a39a42d1 Merge 2017-07-05 18:15:28 +02:00
J. Duke
fd9aaf2832 Merge 2017-07-05 18:15:25 +02:00
J. Duke
82829db29d Merge 2017-07-05 18:15:22 +02:00
J. Duke
e825f6b139 Merge 2017-07-05 18:15:19 +02:00
J. Duke
813c99e156 Merge 2017-07-05 18:15:17 +02:00
J. Duke
588fa37f8b Merge 2017-07-05 18:15:14 +02:00
J. Duke
4f669774b0 Merge 2017-07-05 18:15:11 +02:00
J. Duke
416f5cdc55 Added tag jdk8-b45 for changeset 9b19b2302c28 2017-07-05 18:14:56 +02:00
J. Duke
7517b9d193 Merge 2017-07-05 18:14:56 +02:00
J. Duke
85e0e11843 Merge 2017-07-05 18:14:52 +02:00
J. Duke
377e8bc2a1 Merge 2017-07-05 18:14:46 +02:00
J. Duke
35207fabd8 Merge 2017-07-05 18:14:44 +02:00
J. Duke
f8e41b7214 Merge 2017-07-05 18:14:36 +02:00
J. Duke
5c74f9ccd8 Merge 2017-07-05 18:14:27 +02:00
J. Duke
47888130b0 Merge 2017-07-05 18:14:07 +02:00
J. Duke
cf287c5bdc Added tag jdk8-b44 for changeset 7e981cb0ad6a 2017-07-05 18:13:50 +02:00
J. Duke
2e1841432e Merge 2017-07-05 18:13:49 +02:00
J. Duke
0da7ffe975 Merge 2017-07-05 18:13:47 +02:00
J. Duke
d9bdcf768d Merge 2017-07-05 18:13:44 +02:00
J. Duke
7ff7a479d3 Merge 2017-07-05 18:13:41 +02:00
J. Duke
60ac15be03 Merge 2017-07-05 18:13:39 +02:00
J. Duke
c0ff698735 Merge 2017-07-05 18:13:36 +02:00
J. Duke
f47a3adeb5 Merge 2017-07-05 18:13:34 +02:00
J. Duke
387fa43d58 Added tag jdk8-b43 for changeset 69d8a827cdf9 2017-07-05 18:13:21 +02:00
J. Duke
c0ed0fe433 Merge 2017-07-05 18:13:21 +02:00
J. Duke
9f54520b2a Merge 2017-07-05 18:13:18 +02:00
J. Duke
f220e4ba74 Merge 2017-07-05 18:13:13 +02:00
J. Duke
2ce58a51ef Merge 2017-07-05 18:13:09 +02:00
J. Duke
437865ac86 Merge 2017-07-05 18:13:06 +02:00
J. Duke
4c1c105949 Merge 2017-07-05 18:13:02 +02:00
J. Duke
3b465d09e0 Merge 2017-07-05 18:12:44 +02:00
J. Duke
3f51f1559c Added tag jdk8-b42 for changeset 5c5a64ec0839 2017-07-05 18:12:32 +02:00
J. Duke
6687eed677 Merge 2017-07-05 18:12:32 +02:00
J. Duke
b68547cfb0 Merge 2017-07-05 18:12:29 +02:00
J. Duke
8b11df5877 Merge 2017-07-05 18:12:27 +02:00
J. Duke
5402ebecbe Merge 2017-07-05 18:12:24 +02:00
J. Duke
1e71336c0e Merge 2017-07-05 18:12:22 +02:00
J. Duke
8d3083be98 Merge 2017-07-05 18:12:19 +02:00
J. Duke
94b5097d21 Merge 2017-07-05 18:12:16 +02:00
J. Duke
4ab6f2a73e Added tag jdk8-b41 for changeset c029c972396c 2017-07-05 18:12:04 +02:00
J. Duke
ffd7528dd6 Merge 2017-07-05 18:12:03 +02:00
J. Duke
48f12f491b Merge 2017-07-05 18:12:01 +02:00
J. Duke
254e28b7cf Merge 2017-07-05 18:11:58 +02:00
J. Duke
f7572e0628 Merge 2017-07-05 18:11:55 +02:00
J. Duke
191ae560a0 Merge 2017-07-05 18:11:52 +02:00
J. Duke
be8dbb0877 Merge 2017-07-05 18:11:50 +02:00
J. Duke
98a2eb05ee Merge 2017-07-05 18:11:46 +02:00
J. Duke
76281117bf Added tag jdk8-b40 for changeset 6e4e654931b9 2017-07-05 18:11:33 +02:00
J. Duke
880e094125 Merge 2017-07-05 18:11:33 +02:00
J. Duke
1ea6601fc6 Merge 2017-07-05 18:11:30 +02:00
J. Duke
82de8ca546 Merge 2017-07-05 18:11:27 +02:00
J. Duke
1816508a22 Merge 2017-07-05 18:11:23 +02:00
J. Duke
d2389af324 Merge 2017-07-05 18:11:20 +02:00
J. Duke
ff8542fff0 Merge 2017-07-05 18:11:18 +02:00
J. Duke
5d0ace24f4 Merge 2017-07-05 18:11:06 +02:00
J. Duke
7dabba40ee Added tag jdk8-b39 for changeset 35a539727877 2017-07-05 18:10:55 +02:00
J. Duke
2de299b086 Merge 2017-07-05 18:10:55 +02:00
J. Duke
2b9085a585 Merge 2017-07-05 18:10:53 +02:00
J. Duke
4dfe47f624 Merge 2017-07-05 18:10:50 +02:00
J. Duke
b7e6e0d9a7 Merge 2017-07-05 18:10:48 +02:00
J. Duke
7276daddd4 Merge 2017-07-05 18:10:45 +02:00
J. Duke
1e6dfd83d2 Merge 2017-07-05 18:10:42 +02:00
J. Duke
f184d1b548 Merge 2017-07-05 18:10:39 +02:00
J. Duke
614cc9b497 Added tag jdk8-b38 for changeset 4cc5610a6dd6 2017-07-05 18:10:28 +02:00
J. Duke
3de2a40e44 Merge 2017-07-05 18:10:27 +02:00
J. Duke
e928258f9b Merge 2017-07-05 18:10:25 +02:00
J. Duke
a49d72bf01 Merge 2017-07-05 18:10:22 +02:00
J. Duke
8c03b67bb2 Merge 2017-07-05 18:10:18 +02:00
J. Duke
05c777aa20 Merge 2017-07-05 18:10:15 +02:00
J. Duke
b3e44182da Merge 2017-07-05 18:10:11 +02:00
J. Duke
c9ae237ecb Merge 2017-07-05 18:09:57 +02:00
J. Duke
e97f581052 Added tag jdk8-b37 for changeset b3a91113026c 2017-07-05 18:09:43 +02:00
J. Duke
e3f1a15d93 Merge 2017-07-05 18:09:43 +02:00
J. Duke
c3d9838efd Merge 2017-07-05 18:09:40 +02:00
J. Duke
b25a3c46ea Merge 2017-07-05 18:09:38 +02:00
J. Duke
077bda2dc8 Merge 2017-07-05 18:09:35 +02:00
J. Duke
e4e1dd33ec Merge 2017-07-05 18:09:33 +02:00
J. Duke
56b6c34c1f Merge 2017-07-05 18:09:30 +02:00
J. Duke
c5babb5315 Merge 2017-07-05 18:09:27 +02:00
J. Duke
914f8091eb Added tag jdk8-b36 for changeset 98ce9816ae08 2017-07-05 18:09:18 +02:00
J. Duke
4840199698 Merge 2017-07-05 18:09:18 +02:00
J. Duke
41d3464396 Merge 2017-07-05 18:09:15 +02:00
J. Duke
ac6583b7b7 Merge 2017-07-05 18:09:07 +02:00
J. Duke
3b87c73fa1 Merge 2017-07-05 18:09:02 +02:00
J. Duke
6b3281d3e6 Merge 2017-07-05 18:08:50 +02:00
J. Duke
7e7b1dc28b Merge 2017-07-05 18:08:47 +02:00
J. Duke
2fe5f25d88 Merge 2017-07-05 18:08:33 +02:00
J. Duke
cdc63696c6 Added tag jdk8-b35 for changeset f151d5833912 2017-07-05 18:08:21 +02:00
J. Duke
2e7611228e Merge 2017-07-05 18:08:21 +02:00
J. Duke
7ca2d79ebc Merge 2017-07-05 18:08:18 +02:00
J. Duke
182acce83c Merge 2017-07-05 18:08:16 +02:00
J. Duke
e9d867ac0a Merge 2017-07-05 18:08:13 +02:00
J. Duke
d83efbefba Merge 2017-07-05 18:08:11 +02:00
J. Duke
b78cbd84ff Merge 2017-07-05 18:08:09 +02:00
J. Duke
44bf487aad Merge 2017-07-05 18:08:06 +02:00
J. Duke
d0b48aded1 Added tag jdk8-b34 for changeset 0ae89825c75c 2017-07-05 18:07:58 +02:00
J. Duke
d2f0792c39 Merge 2017-07-05 18:07:57 +02:00
J. Duke
7e3678dc36 Merge 2017-07-05 18:07:54 +02:00
J. Duke
1e2378a69c Merge 2017-07-05 18:07:49 +02:00
J. Duke
de809c8933 Merge 2017-07-05 18:07:45 +02:00
J. Duke
a8f017ad48 Merge 2017-07-05 18:07:41 +02:00
J. Duke
932712ecff Merge 2017-07-05 18:07:38 +02:00
J. Duke
858d241255 Merge 2017-07-05 18:07:26 +02:00
J. Duke
e4dc96218e Added tag jdk8-b33 for changeset a6e6d42203e6 2017-07-05 18:07:12 +02:00
J. Duke
a1f493478a Merge 2017-07-05 18:07:11 +02:00
J. Duke
10dbe83b2a Merge 2017-07-05 18:07:09 +02:00
J. Duke
9ae7921b89 Merge 2017-07-05 18:07:06 +02:00
J. Duke
dfee1f885f Merge 2017-07-05 18:07:04 +02:00
J. Duke
a9334fd7af Merge 2017-07-05 18:07:02 +02:00
J. Duke
459942acca Merge 2017-07-05 18:06:59 +02:00
J. Duke
0d31106b56 Merge 2017-07-05 18:06:57 +02:00
J. Duke
7cd98c80f5 Added tag jdk8-b32 for changeset 2c5208ccb863 2017-07-05 18:06:45 +02:00
J. Duke
94ed22086f Merge 2017-07-05 18:06:45 +02:00
J. Duke
0635a89ca5 Merge 2017-07-05 18:06:42 +02:00
J. Duke
b5107ed1b5 Merge 2017-07-05 18:06:38 +02:00
J. Duke
21f7fabe1f Merge 2017-07-05 18:06:36 +02:00
J. Duke
39803c9fe7 Merge 2017-07-05 18:06:33 +02:00
J. Duke
9e33e4f110 Merge 2017-07-05 18:06:30 +02:00
J. Duke
8838e7396e Merge 2017-07-05 18:06:21 +02:00
J. Duke
8a3342a6f0 Added tag jdk8-b31 for changeset bac81e9f7d57 2017-07-05 18:06:10 +02:00
J. Duke
ed6697aa20 Merge 2017-07-05 18:06:09 +02:00
J. Duke
bababbe74b Merge 2017-07-05 18:06:06 +02:00
J. Duke
c24c4b5f71 Merge 2017-07-05 18:06:04 +02:00
J. Duke
fd3d95e5f5 Merge 2017-07-05 18:06:01 +02:00
J. Duke
99b0a598c8 Merge 2017-07-05 18:05:59 +02:00
J. Duke
578b7d9671 Merge 2017-07-05 18:05:56 +02:00
J. Duke
c6204fddc8 Merge 2017-07-05 18:05:46 +02:00
J. Duke
c032e73d2d Added tag jdk8-b30 for changeset 23da7804aca0 2017-07-05 18:05:32 +02:00
J. Duke
61bc4ca404 Merge 2017-07-05 18:05:32 +02:00
J. Duke
8e64d3b166 Merge 2017-07-05 18:05:29 +02:00
J. Duke
3559695d9d Merge 2017-07-05 18:05:23 +02:00
J. Duke
07c15d0cad Merge 2017-07-05 18:05:17 +02:00
J. Duke
1933fdced6 Merge 2017-07-05 18:05:13 +02:00
J. Duke
75eddf94d1 Merge 2017-07-05 18:05:09 +02:00
J. Duke
bc6de0086a Merge 2017-07-05 18:04:57 +02:00
J. Duke
e989f7c362 Added tag jdk8-b29 for changeset e070119aa56e 2017-07-05 18:04:46 +02:00
J. Duke
651770b5df Merge 2017-07-05 18:04:46 +02:00
J. Duke
cb0a4b76f5 Merge 2017-07-05 18:04:42 +02:00
J. Duke
e7ceea1e53 Merge 2017-07-05 18:04:37 +02:00
J. Duke
2a504c4c16 Merge 2017-07-05 18:04:27 +02:00
J. Duke
e1d1a88f95 Merge 2017-07-05 18:04:20 +02:00
J. Duke
60349d25cd Merge 2017-07-05 18:04:18 +02:00
J. Duke
dfc4b7f412 Merge 2017-07-05 18:04:10 +02:00
J. Duke
8e4345a87e Added tag jdk8-b28 for changeset 16ba58282d11 2017-07-05 18:03:57 +02:00
J. Duke
abf322bf84 Merge 2017-07-05 18:03:56 +02:00
J. Duke
0c48f0d65b Merge 2017-07-05 18:03:54 +02:00
J. Duke
3e199d591f Merge 2017-07-05 18:03:50 +02:00
J. Duke
02991139fb Merge 2017-07-05 18:03:46 +02:00
J. Duke
f3b8781442 Merge 2017-07-05 18:03:43 +02:00
J. Duke
8feafa20cf Merge 2017-07-05 18:03:39 +02:00
J. Duke
abc61ba12d Merge 2017-07-05 18:03:34 +02:00
J. Duke
111563dc52 Added tag jdk8-b27 for changeset c51754cddc03 2017-07-05 18:03:21 +02:00
J. Duke
2b7ba88d55 Merge 2017-07-05 18:03:20 +02:00
J. Duke
7460f5d8f2 Merge 2017-07-05 18:03:17 +02:00
J. Duke
2fd7bebdb7 Merge 2017-07-05 18:03:12 +02:00
J. Duke
4f54772a87 Merge 2017-07-05 18:03:08 +02:00
J. Duke
f6211bc171 Merge 2017-07-05 18:03:04 +02:00
J. Duke
2bfd92234d Merge 2017-07-05 18:03:01 +02:00
J. Duke
c38cb52efd Merge 2017-07-05 18:02:51 +02:00
J. Duke
96b24787fb Added tag jdk8-b26 for changeset 6c805d8ed4e5 2017-07-05 18:02:34 +02:00
J. Duke
6f539c5cf9 Merge 2017-07-05 18:02:34 +02:00
J. Duke
f81d1132c9 Merge 2017-07-05 18:02:31 +02:00
J. Duke
beb9aa52b3 Merge 2017-07-05 18:02:28 +02:00
J. Duke
e6a321c094 Merge 2017-07-05 18:02:25 +02:00
J. Duke
4ebc538931 Merge 2017-07-05 18:02:22 +02:00
J. Duke
3d033b4e18 Merge 2017-07-05 18:02:19 +02:00
J. Duke
5a5a67d337 Merge 2017-07-05 18:02:16 +02:00
J. Duke
59653c4b36 Added tag jdk8-b25 for changeset 0071a6d64113 2017-07-05 18:02:06 +02:00
J. Duke
69efabad3d Merge 2017-07-05 18:02:06 +02:00
J. Duke
01f717df41 Merge 2017-07-05 18:02:03 +02:00
J. Duke
5803a72162 Merge 2017-07-05 18:01:59 +02:00
J. Duke
6b57ff42fd Merge 2017-07-05 18:01:55 +02:00
J. Duke
448b1098db Merge 2017-07-05 18:01:52 +02:00
J. Duke
0b3b3b9ed6 Merge 2017-07-05 18:01:49 +02:00
J. Duke
c98aa66173 Merge 2017-07-05 18:01:38 +02:00
J. Duke
afcf500d46 Added tag jdk8-b24 for changeset 7d3720d8c595 2017-07-05 18:01:24 +02:00
J. Duke
6e913f4649 Merge 2017-07-05 18:01:24 +02:00
J. Duke
190aa531e4 Merge 2017-07-05 18:01:20 +02:00
J. Duke
9b31b837e2 Merge 2017-07-05 18:01:17 +02:00
J. Duke
199810bcd9 Merge 2017-07-05 18:01:14 +02:00
J. Duke
df63d80a19 Merge 2017-07-05 18:01:11 +02:00
J. Duke
59a52a797c Merge 2017-07-05 18:01:09 +02:00
J. Duke
1ef600adbd Merge 2017-07-05 18:01:07 +02:00
J. Duke
1cbd6b266b Added tag jdk8-b23 for changeset 498124337041 2017-07-05 18:00:53 +02:00
J. Duke
f48f666a63 Merge 2017-07-05 18:00:52 +02:00
J. Duke
a6957aa760 Merge 2017-07-05 18:00:49 +02:00
J. Duke
20fa9b2cc4 Merge 2017-07-05 18:00:45 +02:00
J. Duke
f973f48305 Merge 2017-07-05 18:00:42 +02:00
J. Duke
42525fd863 Merge 2017-07-05 18:00:38 +02:00
J. Duke
f48b1f2e8f Merge 2017-07-05 18:00:35 +02:00
J. Duke
aa612222bd Merge 2017-07-05 18:00:25 +02:00
J. Duke
44e95b7411 Added tag jdk8-b22 for changeset e8f03541af27 2017-07-05 18:00:12 +02:00
J. Duke
a077a5878c Merge 2017-07-05 18:00:12 +02:00
J. Duke
c1cefe0e75 Merge 2017-07-05 18:00:09 +02:00
J. Duke
b77e6762c8 Merge 2017-07-05 18:00:06 +02:00
J. Duke
080c64de24 Merge 2017-07-05 18:00:03 +02:00
J. Duke
baa27d9142 Merge 2017-07-05 18:00:00 +02:00
J. Duke
8eab35131e Merge 2017-07-05 17:59:57 +02:00
J. Duke
6937df0b31 Merge 2017-07-05 17:59:55 +02:00
J. Duke
ce4cb9925d Added tag jdk8-b21 for changeset b3a426170188 2017-07-05 17:59:32 +02:00
J. Duke
4c1a2f6b6e Merge 2017-07-05 17:59:32 +02:00
J. Duke
73cad1123e Merge 2017-07-05 17:59:29 +02:00
J. Duke
e3d70c337d Merge 2017-07-05 17:59:24 +02:00
J. Duke
5adb3a81b5 Merge 2017-07-05 17:59:21 +02:00
J. Duke
dd07ab44f6 Merge 2017-07-05 17:59:18 +02:00
J. Duke
c1d96f4a1f Merge 2017-07-05 17:59:15 +02:00
J. Duke
671f8109d4 Merge 2017-07-05 17:59:08 +02:00
J. Duke
94654f35c9 Added tag jdk8-b20 for changeset 6561530ea757 2017-07-05 17:59:00 +02:00
J. Duke
0d3829a2c5 Merge 2017-07-05 17:59:00 +02:00
J. Duke
f3cdc9320a Merge 2017-07-05 17:58:57 +02:00
J. Duke
0dad6706b4 Merge 2017-07-05 17:58:55 +02:00
J. Duke
3823449fe8 Merge 2017-07-05 17:58:53 +02:00
J. Duke
30b9725a31 Merge 2017-07-05 17:58:50 +02:00
J. Duke
6942ba4479 Merge 2017-07-05 17:58:47 +02:00
J. Duke
50b734a4d8 Merge 2017-07-05 17:58:42 +02:00
J. Duke
fde11e8b69 Added tag jdk8-b19 for changeset 0ff7113a0882 2017-07-05 17:58:34 +02:00
J. Duke
7afb6b5a4a Merge 2017-07-05 17:58:33 +02:00
J. Duke
9489b894a1 Merge 2017-07-05 17:58:30 +02:00
J. Duke
7c9e12c92e Merge 2017-07-05 17:58:25 +02:00
J. Duke
ac06cc168b Merge 2017-07-05 17:58:20 +02:00
J. Duke
5ace67716d Merge 2017-07-05 17:58:16 +02:00
J. Duke
8692686567 Merge 2017-07-05 17:58:11 +02:00
J. Duke
2a12ca457d Merge 2017-07-05 17:58:02 +02:00
J. Duke
ea434b80ea Added tag jdk8-b18 for changeset 885050364691 2017-07-05 17:57:50 +02:00
J. Duke
c6e510d7a0 Merge 2017-07-05 17:57:50 +02:00
J. Duke
077dc1299b Merge 2017-07-05 17:57:47 +02:00
J. Duke
9482818663 Merge 2017-07-05 17:57:44 +02:00
J. Duke
ce5788b0f2 Merge 2017-07-05 17:57:40 +02:00
J. Duke
e93b135cc8 Merge 2017-07-05 17:57:37 +02:00
J. Duke
f49b12233e Merge 2017-07-05 17:57:33 +02:00
J. Duke
3b915b0d62 Merge 2017-07-05 17:57:28 +02:00
J. Duke
cabbc476d3 Added tag jdk8-b17 for changeset f0eccb294698 2017-07-05 17:57:09 +02:00
J. Duke
0f3b43e31b Merge 2017-07-05 17:57:09 +02:00
J. Duke
e35f40ee3a Merge 2017-07-05 17:57:06 +02:00
J. Duke
2deb777286 Added tag jdk8-b16 for changeset 736a63b854f3 2017-07-05 17:56:45 +02:00
J. Duke
b81c3f5efa Merge 2017-07-05 17:56:44 +02:00
J. Duke
e648855012 Merge 2017-07-05 17:56:41 +02:00
J. Duke
8ba6ed54ec Merge 2017-07-05 17:56:38 +02:00
J. Duke
95988b663c Merge 2017-07-05 17:56:35 +02:00
J. Duke
9d7c1fdb62 Merge 2017-07-05 17:56:33 +02:00
J. Duke
c4c18e2921 Merge 2017-07-05 17:56:31 +02:00
J. Duke
338d1cc8f7 Merge 2017-07-05 17:56:29 +02:00
J. Duke
4fc69c38d0 Added tag jdk8-b15 for changeset b5060eae3b32 2017-07-05 17:56:19 +02:00
J. Duke
469f89911f Merge 2017-07-05 17:56:18 +02:00
J. Duke
89506cf1ed Merge 2017-07-05 17:56:16 +02:00
J. Duke
20a158cf24 Merge 2017-07-05 17:56:12 +02:00
J. Duke
5e969c6129 Merge 2017-07-05 17:56:09 +02:00
J. Duke
9ce5ab0278 Merge 2017-07-05 17:56:06 +02:00
J. Duke
6ee0576ad9 Merge 2017-07-05 17:56:02 +02:00
J. Duke
e9700f0a24 Merge 2017-07-05 17:55:53 +02:00
J. Duke
c0377fea31 Added tag jdk8-b14 for changeset 9ffaa48dbfb0 2017-07-05 17:55:40 +02:00
J. Duke
561f5f44de Merge 2017-07-05 17:55:40 +02:00
J. Duke
31b21fc4a4 Merge 2017-07-05 17:55:37 +02:00
J. Duke
2ee549276e Merge 2017-07-05 17:55:30 +02:00
J. Duke
e29c74a68b Merge 2017-07-05 17:55:25 +02:00
J. Duke
c5aef988e3 Merge 2017-07-05 17:55:22 +02:00
J. Duke
6a22949b3e Merge 2017-07-05 17:55:18 +02:00
J. Duke
e505d059ae Merge 2017-07-05 17:55:05 +02:00
J. Duke
700143865e Added tag jdk8-b13 for changeset 4cc0ef72c812 2017-07-05 17:54:56 +02:00
J. Duke
bf689f8a34 Merge 2017-07-05 17:54:55 +02:00
J. Duke
57c71a917b Merge 2017-07-05 17:54:52 +02:00
J. Duke
624dda638e Merge 2017-07-05 17:54:49 +02:00
J. Duke
9cffae904e Merge 2017-07-05 17:54:46 +02:00
J. Duke
4209b88299 Merge 2017-07-05 17:54:44 +02:00
J. Duke
15ff4f278a Merge 2017-07-05 17:54:41 +02:00
J. Duke
38cfd5d70d Merge 2017-07-05 17:54:35 +02:00
J. Duke
c17726339a Added tag jdk8-b12 for changeset 86db042b3385 2017-07-05 17:54:25 +02:00
J. Duke
55168184d6 Merge 2017-07-05 17:54:24 +02:00
J. Duke
d768df399d Merge 2017-07-05 17:54:21 +02:00
J. Duke
509ced946c Merge 2017-07-05 17:54:16 +02:00
J. Duke
3ffc20bf08 Merge 2017-07-05 17:54:13 +02:00
J. Duke
a2902a562c Merge 2017-07-05 17:54:10 +02:00
J. Duke
3a74e0568f Merge 2017-07-05 17:54:07 +02:00
J. Duke
506300d94d Merge 2017-07-05 17:54:00 +02:00
J. Duke
f5a4ed3bcc Added tag jdk8-b11 for changeset cc1f5ce8e504 2017-07-05 17:53:51 +02:00
J. Duke
7c18f827d7 Merge 2017-07-05 17:53:50 +02:00
J. Duke
a079697817 Merge 2017-07-05 17:53:47 +02:00
J. Duke
7ce6c06c44 Merge 2017-07-05 17:53:44 +02:00
J. Duke
4c4686dd55 Merge 2017-07-05 17:53:42 +02:00
J. Duke
070f6f324c Merge 2017-07-05 17:53:39 +02:00
J. Duke
a161f6e198 Merge 2017-07-05 17:53:36 +02:00
J. Duke
c301513708 Merge 2017-07-05 17:53:32 +02:00
J. Duke
cfec5ad9f9 Added tag jdk8-b10 for changeset f651ce871279 2017-07-05 17:53:21 +02:00
J. Duke
e482d16c43 Merge 2017-07-05 17:53:21 +02:00
J. Duke
754d67857b Merge 2017-07-05 17:53:18 +02:00
J. Duke
f3b42bf53d Merge 2017-07-05 17:53:13 +02:00
J. Duke
e77ad65c04 Merge 2017-07-05 17:53:11 +02:00
J. Duke
111b74d777 Merge 2017-07-05 17:53:08 +02:00
J. Duke
7d9ec688e0 Merge 2017-07-05 17:53:04 +02:00
J. Duke
6540497350 Merge 2017-07-05 17:52:56 +02:00
J. Duke
0324f8cbc8 Added tag jdk8-b09 for changeset fbf3cabc9e3b 2017-07-05 17:52:45 +02:00
J. Duke
1cf5ba0b12 Merge 2017-07-05 17:52:45 +02:00
J. Duke
82145dd2fc Merge 2017-07-05 17:52:42 +02:00
J. Duke
395eada57d Merge 2017-07-05 17:52:39 +02:00
J. Duke
57d29c9d2b Merge 2017-07-05 17:52:37 +02:00
J. Duke
25f958342e Merge 2017-07-05 17:52:35 +02:00
J. Duke
d491a9540c Merge 2017-07-05 17:52:33 +02:00
J. Duke
8b9535d068 Merge 2017-07-05 17:52:30 +02:00
J. Duke
453101c15d Added tag jdk8-b08 for changeset 24ee504f8041 2017-07-05 17:52:22 +02:00
J. Duke
48ad07fd2c Merge 2017-07-05 17:52:21 +02:00
J. Duke
326bf79674 Merge 2017-07-05 17:52:18 +02:00
J. Duke
76edb04f74 Merge 2017-07-05 17:52:13 +02:00
J. Duke
c7e37d5eaf Merge 2017-07-05 17:52:09 +02:00
J. Duke
fa2aecf110 Merge 2017-07-05 17:52:05 +02:00
J. Duke
7945521d98 Merge 2017-07-05 17:52:01 +02:00
J. Duke
ca2669bd2f Merge 2017-07-05 17:51:48 +02:00
J. Duke
933fa3f5aa Added tag jdk8-b07 for changeset bc5710332b29 2017-07-05 17:51:26 +02:00
David Katleman
56135386ad Merge 2012-07-11 16:02:18 -07:00
David Katleman
36152f4a93 Merge 2012-07-11 16:00:14 -07:00
Lana Steuck
c30e401ac7 Merge 2012-07-10 11:41:40 -07:00
Lana Steuck
9d1c32d9fa Merge 2012-07-10 11:40:47 -07:00
Lana Steuck
bd545a5aca Merge 2012-07-10 11:40:40 -07:00
Kelly O'Hair
5724b6d8ac Merge 2012-07-08 20:34:14 -07:00
David Katleman
e6c547e026 Added tag jdk8-b46 for changeset b7b7fb648bf6 2012-07-05 18:44:44 -07:00
David Katleman
c7a1cb0da0 Added tag jdk8-b46 for changeset c35f7a2acbec 2012-07-05 18:44:32 -07:00
David Katleman
b769ce017f Added tag jdk8-b46 for changeset a454fca4fd87 2012-07-05 18:44:26 -07:00
David Katleman
cb0f1fed69 Added tag jdk8-b46 for changeset b5166f281c42 2012-07-05 18:44:22 -07:00
David Katleman
21a3abc4d4 Added tag jdk8-b46 for changeset 7604568cf818 2012-07-05 18:44:09 -07:00
David Katleman
a18ea33408 Added tag jdk8-b46 for changeset 3b78e26c0c38 2012-07-05 18:44:04 -07:00
David Katleman
0bf6babbb7 Added tag jdk8-b46 for changeset 8e117f8b08eb 2012-07-05 18:43:57 -07:00
Erik Joelsson
34570ba690 7182051: Update of latest build-infra Makefiles (missing files)
Reviewed-by: ohair
2012-07-05 18:27:07 -07:00
Kelly O'Hair
d5982ae350 Merge 2012-07-05 13:31:38 -07:00
Lana Steuck
eb5be70df0 Merge 2012-07-03 20:58:02 -07:00
Lana Steuck
a94b4fa40d Merge 2012-07-03 20:56:24 -07:00
Lana Steuck
aa516b42ef Merge 2012-07-03 20:54:45 -07:00
Xue-Lei Andrew Fan
046f2c92e2 7180038: regression test failure, SSLEngineBadBufferArrayAccess.java
Reviewed-by: weijun
2012-07-03 20:29:16 -07:00
Lana Steuck
ebd4ae2fd2 Merge 2012-07-03 18:24:22 -07:00
Lana Steuck
4bdc9c4528 Merge 2012-07-03 18:24:03 -07:00
Lana Steuck
8344f160ae Merge 2012-07-03 18:23:04 -07:00
Erik Joelsson
f7b99ca7f6 7181504: Update of latest build-infra Makefiles
Reviewed-by: ohair
2012-07-03 16:11:12 -07:00
Erik Joelsson
4e7263a44a 7181504: Update of latest build-infra Makefiles
Reviewed-by: ohair
2012-07-03 16:10:44 -07:00
Erik Joelsson
d85c0b6f6f 7181501: Add some GenerateNativeHeader annotations and misc Mac adjustments to makefiles
Reviewed-by: ohair
2012-07-03 16:01:59 -07:00
Jason Uh
0c7c3bb2c5 7133344: Document the java.security.properties system property feature in the java.security file
Reviewed-by: hawtin, mullan, weijun
2012-07-03 14:56:58 -04:00
Erik Joelsson
f51d607e9f 7181508: Remove GenerateNativeHeader on awt java file
Reviewed-by: ohair
2012-07-03 11:45:34 -07:00
Mani Sarkar
9a2ec820dc 7176907: additional warnings cleanup in java.util, java.util.regexp, java.util.zip
Reviewed-by: forax, khazra, smarks
2012-07-02 14:11:44 -07:00
Rob McKenna
2a72b6a15f 7174887: Deadlock in jndi ldap connection cleanup
Reviewed-by: xuelei
2012-07-02 19:32:35 +01:00
Alejandro Murillo
71eeebb595 Added tag hs24-b15 for changeset e4f98cec6edd 2012-06-29 17:04:40 -07:00
Alejandro Murillo
fad2bafa7b Merge 2012-06-29 17:04:39 -07:00
Joe Bowbeer
826591b516 7170938: (str) incorrect wording in doc for String.subSequence
Reviewed-by: forax, mduigou
2012-06-29 16:16:13 -07:00
Jim Gish
29e09dc7d4 7100996: (spec str) IndexOutOfBoundsException when using a StringBuffer from multiple threads
Add usage note to clarify thread safety

Reviewed-by: briangoetz, mduigou
2012-06-29 15:36:14 -07:00
Coleen Phillimore
9f400835df 7179759: ENV: Nightly fails during jdk copiyng for solaris platforms after FDS unzipping
Libjvm_g_db.so and libjvm_g_dtrace.so links in .diz file still had 64 directory

Reviewed-by: kamg, dholmes, sspitsyn
2012-06-29 14:28:10 -07:00
John Coomes
ddf7a57a61 Merge 2012-06-29 11:15:38 -07:00
Xueming Shen
57b8661095 7175845: jar uf changes file permissions unexpectedly
7177216: native2ascii changes file permissions of input file

Undo the File.createTempFile change in jar and native2ascii

Reviewed-by: asaha
2012-06-28 22:44:21 -07:00
Erik Joelsson
4c0c58e59d 7180594: Fix GenStubs in langtools for build-infra builds
Reviewed-by: ohair
2012-06-28 14:59:20 -07:00
Vladimir Kozlov
3a84f5407b Merge 2012-06-28 10:35:28 -07:00
David Katleman
efdeeb14af Added tag jdk8-b45 for changeset b34aca67a4db 2012-06-28 09:33:16 -07:00
David Katleman
0a806c8aa7 Added tag jdk8-b45 for changeset 82534e9c5cc7 2012-06-28 09:33:05 -07:00
David Katleman
f69560f821 Added tag jdk8-b45 for changeset 466ddaf02777 2012-06-28 09:32:55 -07:00
David Katleman
6af718bb7f Added tag jdk8-b45 for changeset a21c904ee700 2012-06-28 09:32:52 -07:00
David Katleman
405208abe7 Added tag jdk8-b45 for changeset 8ff1c75f204a 2012-06-28 09:32:35 -07:00
David Katleman
c6fbe129bf Added tag jdk8-b45 for changeset 27f3d36a24d5 2012-06-28 09:32:28 -07:00
David Katleman
4f081bf0d0 Added tag jdk8-b45 for changeset 07ad352154a8 2012-06-28 09:32:26 -07:00
Pavel Porvatov
86e45f8339 7169111: Unreadable menu bar with Ambiance theme in GTK L&F
Reviewed-by: kizune
2012-06-28 14:05:06 +04:00
Bertrand Delsart
cf61f29f61 Merge 2012-06-28 04:21:07 -04:00
Lana Steuck
221b8ec4fa Merge 2012-06-27 18:39:43 -07:00
Sean Coffey
fed8efa873 6893617: JDK 6 CNCtx always uses the default ORB
Reviewed-by: lancea
2012-06-27 21:10:26 +01:00
Sean Coffey
55c71e9317 7162902: Umbrella port of a number of corba bug fixes from JDK 6 to jdk7u/8
Reviewed-by: lancea
2012-06-27 21:09:29 +01:00
Lana Steuck
db40815a4c Merge 2012-06-27 12:54:48 -07:00
Staffan Larsen
8e42425c92 7178667: ALT_EXPORT_PATH does not export server jvm on macosx
Missing .PHONY targets in makefile

Reviewed-by: dholmes, dsamersoff
2012-06-27 15:23:36 +02:00
Lana Steuck
b04008c963 Merge 2012-06-27 00:09:30 -07:00
Lana Steuck
771d931915 Merge 2012-06-26 22:59:26 -07:00
Lana Steuck
73e8d2923d Merge 2012-06-26 22:47:23 -07:00
Doug Lea
45e1021238 7161229: PriorityBlockingQueue keeps hard reference to last removed element
Reviewed-by: dholmes, forax, alanb
2012-06-27 01:36:28 -04:00
Joe Wang
6b5a5ca0e2 7166896: DocumentBuilder.parse(String uri) is not IPv6 enabled. It throws MalformedURLException
Skip the added international character handling for general paths

Reviewed-by: lancea
2012-06-26 15:28:21 -07:00
Lana Steuck
e51eadc837 Merge 2012-06-26 10:57:46 -07:00
Lana Steuck
6b961cfac1 Merge 2012-06-26 10:27:51 -07:00
Lana Steuck
b126348850 Merge 2012-06-26 10:27:11 -07:00
Lana Steuck
21cc129aea Merge 2012-06-26 10:13:49 -07:00
Phil Race
79d14ef96a 7164282: check for NULL return from malloc is testing wrong variable name
Reviewed-by: igor, flar
2012-06-26 09:54:29 -07:00
Phil Race
514f24864d 7176447: Lunix/Solaris fontpath.c : double free(family)
Reviewed-by: igor, flar
2012-06-26 09:53:27 -07:00
Phil Race
c7ff53f5c1 7145771: [macosx] CreateFont/Register.java test fails because of cached results of getAllFonts()
Reviewed-by: igor, flar
2012-06-26 09:38:25 -07:00
Vladimir Kozlov
8c4cefaa96 7179138: Incorrect result with String concatenation optimization
Check for and skip diamond shaped NULL check code for the result of toString()

Reviewed-by: twisti, roland
2012-06-26 09:06:16 -07:00
Anthony Petrov
98dba02e88 7124326: [macosx] An issue similar to autoshutdown one in two AppContexts situation
Don't add SystemTrayPeer to the peers map

Reviewed-by: art, leonidr
2012-06-26 17:29:10 +04:00
Oleg Pekhovskiy
9931c2f2b8 7024749: JDK7 b131---a crash in: Java_sun_awt_windows_ThemeReader_isGetThemeTransitionDurationDefined+0x75
Reviewed-by: art, ant
2012-06-26 16:46:00 +04:00
Rob McKenna
54ddaf5ab7 4244896: (process) Provide System.getPid(), System.killProcess(String pid)
Reviewed-by: alanb
2012-06-26 13:27:26 +01:00
Sergey Bylokhov
9e9ac093ae 7142091: [macosx] RFE: Refactoring of peer initialization/disposing
Reviewed-by: anthony, art
2012-06-26 13:46:09 +04:00
Lana Steuck
c4cbd8f70c Merge 2012-06-25 21:39:16 -07:00
Lana Steuck
6e058633f4 Merge 2012-06-25 21:38:37 -07:00
Lana Steuck
7281232239 Merge 2012-06-25 21:37:34 -07:00
Lana Steuck
32d3fb4668 Merge 2012-06-25 21:37:09 -07:00
Lana Steuck
91f53c5d57 Merge 2012-06-25 21:36:32 -07:00
Lana Steuck
0a5cba6501 Merge 2012-06-25 21:34:27 -07:00
Coleen Phillimore
e53644ef78 Merge 2012-06-25 18:59:52 -07:00
Coleen Phillimore
dc5fe663cb 7178670: runtime/7158800/BadUtf8.java fails in SymbolTable::rehash_table
Cannot delete _buckets and HashtableEntries in shared space (CDS)

Reviewed-by: acorn, kvn, dlong, dcubed, kamg
2012-06-25 21:33:35 -04:00
Thomas Schatzl
79ee0ab0c2 6921087: G1: remove per-GC-thread expansion tables from the fine-grain remembered sets
Remove the per-thread expansion tables (PosParPRT) and associated expansion and compaction from the fine grain RSet entries. This code has been unused for a while.

Reviewed-by: johnc, brutisso
2012-06-25 16:00:55 -07:00
Dean Long
97cc5e6c44 7156729: PPC: R_PPC_REL24 relocation error related to some libraries built without -fPIC
Build powerpc with -fPIC

Reviewed-by: mikael, vladidan, roland
2012-06-25 15:34:06 -04:00
Anthony Petrov
09dd368c9b 7174718: [macosx] Regression in 7u6 b12: PopupFactory leaks DefaultFrames
Fix memory management

Reviewed-by: art, serb
2012-06-25 17:27:04 +04:00
Chris Hegarty
d558c37a5b 7176784: Windows authentication not working on some computers
Reviewed-by: michaelm
2012-06-25 14:19:38 +01:00
Staffan Larsen
4ea5b30610 7178846: IterateThroughHeap: heap_iteration_callback passes a negative size
Missing cast caused integer overflow

Reviewed-by: rbackman, dholmes
2012-06-25 14:34:35 +02:00
Yumin Qi
e742ae2157 7177128: SA cannot get correct system properties after 7126277
Bug fix of 7126277 changed hashing algorithm and also changed key as final field, this led SA unable to set correct value for key. Solution by reading key/value and insert them into the new table.

Reviewed-by: dholmes, mikael
2012-06-22 15:39:16 -07:00
Yumin Qi
f4fdc03167 7175133: jinfo failed to get system properties after 6924259
String offset and count fields as fix of 6924259 were removed, and become optional. SA still use offset and count fields to read String contents and failed. Fix if they exist, use them other then use value field only to read, this keeps consistent with the changes in 6924259.

Reviewed-by: dholmes, mikael
2012-06-22 15:35:30 -07:00
Jonathan Gibbons
3005c7daac 7178763: javadoc OutOfMemory error results in several jdk8 tl nightly failures
Reviewed-by: ksrini
2012-06-22 14:40:30 -07:00
Jiangli Zhou
1a35ed23d9 7177409: Perf regression in JVM_GetClassDeclaredFields after generic signature changes
In fieldDescriptor::generic_signature() returns NULL immediately if the field has no generic signature.

Reviewed-by: dholmes, coleenp, jcoomes
2012-06-22 14:00:39 -04:00
Vladimir Kozlov
6bc673930f 7178280: Failed new vector regression tests
When looking for the same value in an other register check that all parts of that register has the same value.

Reviewed-by: johnc, twisti
2012-06-22 10:40:48 -07:00
Marco Dinacci
7572cbd5aa 7170716: JVM crash when opening an AWT app from a registered file
Copy the queued blocks to prevent their deallocation

Reviewed-by: anthony, swingler
2012-06-22 16:32:39 +04:00
David Katleman
8e267289d5 Added tag jdk8-b44 for changeset 96e306b8f5e5 2012-06-21 17:08:31 -07:00
David Katleman
8e301e97d2 Added tag jdk8-b44 for changeset 5a7d295a9b76 2012-06-21 17:08:14 -07:00
David Katleman
e37f1e9435 Added tag jdk8-b44 for changeset fc9fe83a8a52 2012-06-21 17:07:59 -07:00
David Katleman
df2b1220d4 Added tag jdk8-b44 for changeset b52db8219e73 2012-06-21 17:07:57 -07:00
David Katleman
769bc4a420 Added tag jdk8-b44 for changeset 1531e68c3b60 2012-06-21 17:07:40 -07:00
David Katleman
bae02fa6d9 Added tag jdk8-b44 for changeset fab97dcc43bb 2012-06-21 17:07:30 -07:00
David Katleman
04f6e27361 Added tag jdk8-b44 for changeset 053c1b820253 2012-06-21 17:07:24 -07:00
Jonathan Gibbons
8731495395 7178297: provide mapping from doc comment position to source file position
Reviewed-by: mcimadamore, ksrini
2012-06-21 13:22:21 -07:00
Roland Westrelin
470db77b36 7129715: MAC: SIGBUS in nsk stress test
StackOverflowError may get lost on OSX.

Reviewed-by: kvn, dcubed
2012-06-21 09:52:38 +02:00
Gary Collins
3675d9eacb 7178483: Change version string for Embedded releases
Reviewed-by: dholmes, lancea
2012-06-20 22:40:32 -04:00
David Katleman
5555fb3341 Merge 2012-06-20 15:22:12 -07:00
Daniel D. Daugherty
93e9a184a3 Merge 2012-06-20 14:29:23 -07:00
Daniel D. Daugherty
4189d0802f 7175255: symlinks are wrong, which caused jdk8-promote-2 to fail (client/64/64 directories in debuginfo zips)
Fix bad paths in client/64 and server/64 debug info and symlink creation

Reviewed-by: ohair, dholmes
2012-06-20 14:18:25 -07:00
Jonathan Gibbons
f2cefcbfad 7174143: encapsulate doc comment table
Reviewed-by: ksrini, mcimadamore
2012-06-20 13:23:26 -07:00
Gary Collins
8b20e7af53 7178113: build environment change
Simple change to enable proper builds of arm target

Reviewed-by: ohair, dholmes
2012-06-19 21:16:20 -07:00
Xue-Lei Andrew Fan
563f4546ff 7166487: checkSequenceNumber method never called within readRecord of SSLEngineImpl
Reviewed-by: weijun
2012-06-19 17:28:06 -07:00
Vladimir Kozlov
b5b10846c2 7177923: SIGBUS on sparc in compiled code for java.util.Calendar.clear()
Disable vectorization of a memory access with more elements per vector than one which is used for alignment on sparc

Reviewed-by: twisti
2012-06-19 15:12:56 -07:00
Misha Bykov
dfe111a085 7178241: Basic script for JDK source code legal headers conformance verification
A new script lic_check.sh to check license headers in JDK source code

Reviewed-by: ohair, darcy
2012-06-19 14:24:45 -07:00
Alexander Zuev
0930b183d6 7172430: [macosx] debug message in non debug jdk build
Reviewed-by: anthony, serb
2012-06-19 21:09:03 +04:00
Phil Race
cc6e343055 7124536: [macosx] PrintServiceLookup.lookupDefaultPrintService() return null
Reviewed-by: bae, igor
2012-06-19 09:07:31 -07:00
Maurizio Cimadamore
288480e312 7177701: error: Filling jar message during javax/imageio/metadata/IIOMetadataFormatImpl compilation
Recent JDK hash changes affected order in which files are returned from JavacFileManager.list()

Reviewed-by: jjg
2012-06-19 13:25:58 +01:00
Diego Belfer
c0679a0902 6901992: InvalidJarIndexException due to bug in sun.misc.JarIndex.merge()
Reviewed-by: chegar
2012-06-19 10:20:45 +01:00
Masayoshi Okutsu
94a6496726 6380549: (rb) ResourceBundle.Control global binding support
Reviewed-by: naoto
2012-06-19 16:21:17 +09:00
Christian Thalinger
ed2051c861 7157365: jruby/bench.bench_timeout crashes with JVM internal error
Reviewed-by: jrose, kvn
2012-06-18 15:17:30 -07:00
Krystal Mok
3927b8d331 7176856: add the JRE name to the error log
Reviewed-by: coleenp, jrose, kvn, twisti
2012-06-18 12:29:21 -07:00
Alexander Scherbatiy
4406545ed5 7174970: NLS [ccjk] Extra mnemonic keys at standard filechooserdialog (open and save) in metal L&F
Reviewed-by: rupashka
2012-06-18 15:39:27 +04:00
Alan Bateman
83f975cf42 7177617: TEST_BUG: java/nio/channels/AsyncCloseAndInterrupt.java failing (win)
Reviewed-by: chegar, coffeys
2012-06-18 11:19:48 +01:00
Staffan Larsen
cafacdf6dc Merge 2012-06-18 11:33:17 +02:00
Roland Westrelin
118f552a6e 7174363: Arrays.copyOfRange leads to VM crash with -Xcomp -server if executed by testing framework
Arrays.copyOfRange(original, from, to) with from > original.length tries to do a copy with a negative length.

Reviewed-by: kvn, twisti
2012-06-18 09:52:31 +02:00
Lana Steuck
3429bf2b41 Merge 2012-06-17 22:07:44 -07:00
Lana Steuck
17081c700e Merge 2012-06-17 22:03:26 -07:00
Lana Steuck
dcfcb3cfc6 Merge 2012-06-17 21:37:21 -07:00
Lana Steuck
d27529f4ab Merge 2012-06-17 21:34:42 -07:00
Lana Steuck
89add82f07 Merge 2012-06-17 21:29:12 -07:00
Lana Steuck
02ad771443 Merge 2012-06-17 21:27:22 -07:00
Bradford Wetmore
48cefbd960 7177556: Put TestProviderLeak.java on the ProblemList until test can be reworked
Reviewed-by: khazra
2012-06-15 17:42:16 -07:00
Alejandro Murillo
18fce99e63 7175515: new hotspot build - hs24-b15
Reviewed-by: jcoomes
2012-06-15 14:17:28 -07:00
Alejandro Murillo
9c6ac94d37 Added tag hs24-b14 for changeset 812bed29656a 2012-06-15 14:07:01 -07:00
Alejandro Murillo
50bd95aadf Merge 2012-06-15 14:07:00 -07:00
Mike Duigou
36dbbfde4b 7175758: Improve unit test of Map iterators and Iterator.remove()
Adds additional tests of Map iterators and Iterator.remove()

Reviewed-by: lancea
2012-06-15 13:01:38 -07:00
Alan Bateman
4c73c02d6d 7176485: (bf) Allow temporary buffer cache to grow to IOV_MAX
Reviewed-by: chegar, coffeys
2012-06-15 17:16:25 +01:00
Alexander Zuev
8f4a77bfef 7171163: [macosx] Shortcomings in the design of the secondary native event loop made JavaFX DnD deadlock
Reviewed-by: anthony, art
2012-06-15 18:28:33 +04:00
Sean Mullan
781dee7531 Merge 2012-06-15 09:16:18 -04:00
Edvard Wendelin
d40606665a 7156963: Incorrect copyright header in java/io/SerialCallbackContext
Reviewed-by: weijun, coffeys
2012-06-15 14:16:18 +01:00
Sean Mullan
caae78ba73 Merge 2012-06-15 08:47:41 -04:00
Sean Mullan
6ad27831e0 7176326: CertPath/CertPathBuilderTest failures after webrev 6854712_6637288_7126011
Reviewed-by: xuelei
2012-06-15 08:43:31 -04:00
Coleen Phillimore
90c19a9907 7177307: fix fo CR7158800 doesn't contain Test7158800.sh
Forgot to hg add it

Reviewed-by: pbk, kamg, dlong, kvn, fparain
2012-06-15 07:51:37 -04:00
Vladimir Kozlov
d1191bb4f4 7119644: Increase superword's vector size up to 256 bits
Increase vector size up to 256-bits for YMM AVX registers on x86.

Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07:00
Poonam Bajaj
76eedab612 Merge 2012-06-14 22:55:40 -07:00
Phil Race
0527d01622 7158366: [macosx] Print-to-file dialog doesn't have an entry field for a name
Reviewed-by: bae, jgodinez
2012-06-14 16:34:43 -07:00
Vladimir Kozlov
7dd9d23eb1 Merge 2012-06-14 14:59:52 -07:00
David Katleman
ab54b675f7 Added tag jdk8-b43 for changeset a689392675ed 2012-06-14 13:14:50 -07:00
David Katleman
967b63e659 Added tag jdk8-b43 for changeset d3f312fc19e1 2012-06-14 13:14:28 -07:00
David Katleman
7f14740790 Added tag jdk8-b43 for changeset a6336eb51596 2012-06-14 13:14:23 -07:00
David Katleman
9842dda872 Added tag jdk8-b43 for changeset d382060bd755 2012-06-14 13:14:21 -07:00
David Katleman
835b46c1f1 Added tag jdk8-b43 for changeset 6e8bd51d480c 2012-06-14 13:14:13 -07:00
David Katleman
cfd10db990 Added tag jdk8-b43 for changeset cb67f4b91b0c 2012-06-14 13:14:08 -07:00
David Katleman
1627c865c3 Added tag jdk8-b43 for changeset 5d9bc9df9263 2012-06-14 13:13:53 -07:00
Lance Andersen
4bb6dcf36b 7145913: CachedRowSetSwriter.insertNewRow() throws SQLException
Reviewed-by: joehw, naoto, psandoz, forax
2012-06-14 15:05:18 -04:00
Staffan Larsen
670a74b75b Merge 2012-06-14 12:21:48 +02:00
Poonam Bajaj
4254270688 6310967: SA: jstack -m produce failures in output
While looking for the sender frame check that the frame pointer should not be less than the stack pointer.

Reviewed-by: dholmes, sla
2012-06-14 02:12:46 -07:00
Andrew Brygin
9d94d32594 7153693: Three 2D_ImageIO tests failed due ImageFormatException on OEL 6.* Unbreakable Kernel x64
Reviewed-by: jgodinez, prr
2012-06-14 11:14:44 +04:00
David Katleman
26ef6340dd Merge 2012-06-13 16:58:00 -07:00
David Katleman
b39d1e981b Merge 2012-06-13 16:57:34 -07:00
David Katleman
6111325204 Merge 2012-06-13 16:53:28 -07:00
David Katleman
3401d40d52 Merge 2012-06-13 16:53:25 -07:00
David Katleman
837abfdb0d Merge 2012-06-13 16:53:07 -07:00
David Katleman
46e8a79fcb Merge 2012-06-13 16:53:05 -07:00
Coleen Phillimore
55b09e7016 7158800: Improve storage of symbol tables
Use an alternate version of hashing algorithm for symbol string tables and after a certain bucket size to improve performance

Reviewed-by: pbk, kamg, dlong, kvn, fparain
2012-06-13 19:52:59 -04:00
Mike Duigou
4824bf600d 7173919: Minor optimization of hashing methods
Several minor optimizations to hashing methods used by hash map classes

Reviewed-by: dholmes
2012-06-13 16:48:30 -07:00
Alan Bateman
c580cfee80 7176630: (sc) SocketChannel.write does not write more than 128k when channel configured blocking [win]
Reviewed-by: khazra, chegar
2012-06-14 12:13:54 +01:00
Phil Race
a8072dc2a0 7027300: Unsynchronized HashMap access causes endless loop
Reviewed-by: bae, jgodinez
2012-06-13 12:46:02 -07:00
Christian Thalinger
301e9f9548 7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
Reviewed-by: kvn
2012-06-13 11:36:03 -07:00
Kelly O'Hair
e3224a276b 7176691: prtconf: devinfo facility not available in corba building
Reviewed-by: tbell
2012-06-13 09:43:43 -07:00
Alexander Scherbatiy
4529bcedea 7150049: [macosx] closed/javax/swing/JCheckBox/4449413/bug4449413.java check the checkbox again,it auto fail
Reviewed-by: rupashka
2012-06-13 18:43:07 +04:00
Tomas Hurka
bf4e37de48 7176644: [macosx] Missing NSAutoreleasePool in CGLGraphicsConfig.m OGLGC_DestroyOGLGraphicsConfig
Create and drain an autorelease pool

Reviewed-by: anthony, dcherepanov
2012-06-13 18:33:30 +04:00
Weijun Wang
911aeb6828 7176574: sun/security/krb5/auto/TcpTimeout.java failed with solaris-i586
Reviewed-by: chegar
2012-06-13 19:23:23 +08:00
Vlaidmir Ivanov
dd85e2f356 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
Replace frequent C2 optimizer code patterns with new methods calls

Reviewed-by: kvn, twisti
2012-06-12 16:23:31 -07:00
Kelly O'Hair
60caa18980 Merge 2012-06-12 15:16:32 -07:00
Lance Andersen
0b0b610a21 7171918: XmlReaderContentHandler.endElement does not handle a Delete Tag properly
Reviewed-by: joehw
2012-06-12 17:32:01 -04:00
Krystal Mok
529b370174 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Kelly O'Hair
a4bc0fa013 7176138: Fixes for missing close() calls and possible null pointer reference instead of fatal error
Reviewed-by: dcubed
2012-06-12 13:54:20 -07:00
Joe Wang
94d67fa6a5 7144423: StAX EventReader swallows the cause of error
Make sure the cause of the error is properly reported

Reviewed-by: lancea, psandoz
2012-06-12 10:23:49 -07:00
Vlaidmir Ivanov
e67db1b150 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
Keep intermediate node alive till the end of the graph construction using dummy hook node trick

Reviewed-by: kvn, twisti
2012-06-12 09:47:23 -07:00
Roland Westrelin
bd09c5ac38 7174532: jdk/test/java/lang/Math/WorstCaseTests.java failing on x86
Increase precision on x86 for the steps of the computation of exp and pow.

Reviewed-by: kvn
2012-06-12 10:02:36 +02:00
Vladimir Kozlov
4ed033f56f Merge 2012-06-11 22:38:28 -07:00
Christian Thalinger
02eef114a1 7063674: Wrong results from basic comparisons after calls to Long.bitCount(long)
Reviewed-by: kvn
2012-06-11 16:47:41 -07:00
Joe Wang
e881068530 7157610: NullPointerException occurs when parsing XML doc
Recovers what was the original disallow-doctype-decl, reporting error when disallow-doctype-decl is true, and change everything else that was added for SupportDTD to be governed by a new flag 'fSupportDTD'.

Reviewed-by: lancea
2012-06-11 15:47:01 -07:00
Kumar Srinivasan
4525667c73 7160072: (javac) JavacParserTests needs cleanup
Reviewed-by: jjg
2012-06-11 15:33:28 -07:00
Vladimir Kozlov
ae6d0d30f5 7174510: 19 JCK compiler tests fail with C2 error: memNode.cpp:812 - ShouldNotReachHere
Add missing check for EncodeP node in MemNode::Ideal_common_DU_postCCP() method.

Reviewed-by: twisti
2012-06-11 14:58:51 -07:00
Staffan Larsen
9b27913542 7175802: Missing jdk_jfr in top-level make file
Reviewed-by: alanb
2012-06-11 20:52:00 +02:00
Volker Simonis
7c17e9e75b 7175914: Usage of gcc with precompiled headers produces wrong build dependencies
Add -fpch-deps flag to gcc builds

Reviewed-by: kamg, coleenp
2012-06-11 13:10:14 -04:00
Erik Joelsson
be964b9263 7175966: Fix windows build issues for build-infra project
Reviewed-by: ohair
2012-06-11 09:30:04 -07:00
Vladimir Kozlov
a23aa66098 Merge 2012-06-11 08:35:28 -07:00
Lance Andersen
c419fa6171 7171917: CachedRowSetImpl.populate does not handle map properly
Reviewed-by: joehw
2012-06-11 07:10:48 -04:00
Bertrand Delsart
dd6200f31a Merge 2012-06-11 04:47:33 -04:00
Staffan Larsen
a928a2df96 Merge 2012-06-11 10:28:02 +02:00
Jonathan Lu
f6020a8e34 7155887: ComboBox does not display focus outline in GTK L&F
Reviewed-by: rupashka
2012-06-11 10:52:31 +08:00
Alan Bateman
881d64f005 7175775: Disable SA options in jinfo/Basic.java test until SA updated for new hash and String count/offset
Reviewed-by: minqi
2012-06-10 10:29:27 +01:00
Alexander Zuev
663f9df53e 7173487: closed/java/awt/Frame/RemoveNotifyTest/RemoveNotifyTest.html
Reviewed-by: anthony, dcherepanov, serb
2012-06-09 19:18:24 +04:00
Pavel Porvatov
0494bcb19c 7165725: JAVA6 HTML PARSER CANNOT PARSE MULTIPLE SCRIPT TAGS IN A LINE CORRECTLY
Reviewed-by: alexsch
2012-06-09 17:42:46 +04:00
Kelly O'Hair
0b637798e3 Merge 2012-06-08 17:28:54 -07:00
Kelly O'Hair
5a3b13508d 7170091: Fix missing wait between repo cloning in hgforest.sh
Reviewed-by: strarup
2012-06-08 17:25:46 -07:00
Lana Steuck
2e9434a07a Merge 2012-06-08 12:45:43 -07:00
Lana Steuck
272f5e3896 Merge 2012-06-08 12:44:30 -07:00
Lana Steuck
58f22a5049 Merge 2012-06-08 12:01:24 -07:00
Lana Steuck
ae0b1487fa Merge 2012-06-08 12:01:05 -07:00
Lana Steuck
83d6ffcacb Merge 2012-06-08 12:00:22 -07:00
Lana Steuck
08390fb7f9 Merge 2012-06-08 11:58:45 -07:00
Joe Wang
478e52def4 7157608: One feature is not recognized
Adding feature standard-uri-conformant into the recognized list

Reviewed-by: psandoz
2012-06-08 11:28:29 -07:00
Alexander Zuev
aaafa0557d 7175566: [macosx] Glich in fix for CR7124247 caused MacOS crash during PIT testing
Reviewed-by: anthony, dcherepanov
2012-06-08 22:21:53 +04:00
Rob McKenna
042cc29680 7161881: (dc) DatagramChannel.bind(null) fails if IPv4 socket and running with preferIPv6Addresses=true
Reviewed-by: alanb, chegar
2012-06-08 18:23:28 +01:00
John Coomes
b549e586b0 Merge 2012-06-08 09:49:49 -07:00
Staffan Larsen
240b19f9f2 Merge 2012-06-08 05:39:14 -07:00
Lance Andersen
ffd4aa2de3 Merge 2012-06-08 09:22:30 -04:00
Alexander Scherbatiy
92246eda42 7092551: Double-click in TextField sets caret to the beginning
Reviewed-by: bagiras, serb
2012-06-08 14:15:09 +04:00
Krystal Mok
2c5c12219c 7175413: Typo in comments of JVM_SupportsCX8 in jvm.h
Reviewed-by: chegar
2012-06-08 09:55:20 +01:00
Chris Dennis
27c2e51e67 7172708: 32/64 bit type issues on Windows after Mac OS X port
Reviewed-by: dholmes, coleenp
2012-06-08 02:06:16 -04:00
Erik Joelsson
f558e39f7e 7170079: Adjustments to build-infra makefiles
Co-authored-by: Jonas Oreland <jonas.oreland@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, ohrstrom, ihse, jonas
2012-06-07 20:40:50 -07:00
Kelly O'Hair
cd4795be6b Merge 2012-06-07 20:40:02 -07:00
Erik Joelsson
1ff2fcfeed 7170079: Adjustments to build-infra makefiles
Co-authored-by: Jonas Oreland <jonas.oreland@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, ohrstrom, ihse, jonas
2012-06-07 20:30:57 -07:00
Erik Joelsson
7a04d58771 7170079: Adjustments to build-infra makefiles
Co-authored-by: Jonas Oreland <jonas.oreland@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, ohrstrom, ihse, jonas
2012-06-07 20:30:49 -07:00
Erik Joelsson
55e52f1b6d 7170079: Adjustments to build-infra makefiles
Co-authored-by: Jonas Oreland <jonas.oreland@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, ohrstrom, ihse, jonas
2012-06-07 20:30:41 -07:00
Erik Joelsson
bdbf490174 7170079: Adjustments to build-infra makefiles
Co-authored-by: Jonas Oreland <jonas.oreland@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, ohrstrom, ihse, jonas
2012-06-07 20:30:30 -07:00
Erik Joelsson
36674b96fd 7170079: Adjustments to build-infra makefiles
Co-authored-by: Jonas Oreland <jonas.oreland@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, ohrstrom, ihse, jonas
2012-06-07 20:25:06 -07:00
Kelly O'Hair
623934b5e1 Merge 2012-06-07 18:08:28 -07:00
Erik Joelsson
260708fa26 7170969: Add @GenerateNativeHeader to classes whose fields need to be exported for JNI
Reviewed-by: ohair, ohrstrom, ihse
2012-06-07 18:05:09 -07:00
Lance Andersen
3efc9785b3 7172551: Remove Native calls from DriverManager for jigsaw
Reviewed-by: alanb, chegar, darcy, mchung
2012-06-07 20:11:26 -04:00
Joe Wang
aca1037e9f 7151118: Regressions on 7u4 b11 comp. 7u4 b06 on specjvm2008.xml.transform subbenchmark
Roll back XalanJ-2271 that caused the regression

Reviewed-by: lancea
2012-06-07 13:47:53 -07:00
Abhijit Saha
b74ef2f6b6 Merge 2012-06-07 12:31:10 -07:00
Abhijit Saha
65214699fa Merge 2012-06-07 12:30:22 -07:00
Abhijit Saha
aacc740523 Merge 2012-06-07 12:30:02 -07:00
Abhijit Saha
af2cc6b16d Merge 2012-06-07 12:29:03 -07:00
Christine Lu
4a65e326b9 Added tag jdk8-b42 for changeset 3e580bb83096 2012-06-07 12:10:41 -07:00
Christine Lu
0605d17f02 Added tag jdk8-b42 for changeset 14313c0fbca4 2012-06-07 12:10:32 -07:00
Christine Lu
e38ad5476b Added tag jdk8-b42 for changeset 489ab38ab6db 2012-06-07 12:10:28 -07:00
Christine Lu
7bd0bb92de Added tag jdk8-b42 for changeset 8fc801f2ef62 2012-06-07 12:10:26 -07:00
Christine Lu
8205e664c8 Added tag jdk8-b42 for changeset f095886560ac 2012-06-07 12:10:19 -07:00
Christine Lu
4418d860e8 Added tag jdk8-b42 for changeset 79b9edd5f45f 2012-06-07 12:10:14 -07:00
Christine Lu
d17664eb58 Added tag jdk8-b42 for changeset b8b7f69608fb 2012-06-07 12:10:12 -07:00
Pavel Porvatov
25fedaf936 7156657: Version 7 doesn't support translucent popup menus against a translucent window
Reviewed-by: art, alexsch
2012-06-07 21:49:52 +04:00
Alexander Zuev
efc7d9cbc2 Merge 2012-06-07 20:06:00 +04:00
Alexander Zuev
4eb87c577e 7124247: [macosx] Implement GraphicsDevice.setDisplayMode()
Reviewed-by: anthony, swingler
2012-06-07 20:04:56 +04:00
Alexander Scherbatiy
2b73b29421 7152952: [macosx] List rows overlap with enlarged font
Reviewed-by: art, rupashka
2012-06-07 18:24:15 +04:00
Staffan Larsen
a253545487 7165257: Add JFR tests to the JDK code base
Reviewed-by: ohair, dholmes, nloodin, mgronlun
2012-06-07 15:28:38 +02:00
Staffan Larsen
18644676e5 7165257: Add JFR tests to the JDK code base
Reviewed-by: ohair, dholmes, nloodin, mgronlun
2012-06-07 15:28:27 +02:00
Alan Bateman
f3159c31b0 7174736: JCK test api/java_util/HashMap/index_EntrySet failing
Corrects a problem with HashMap.removeEntry() that caused a JCK test to fail

Reviewed-by: mduigou
2012-06-07 01:01:09 -07:00
Alan Bateman
519dc0c3f9 7174723: TEST_BUG: java/lang/ProcessBuilder/Basic.java failing [win]
Reviewed-by: mduigou
2012-06-07 18:42:47 +01:00
Weijun Wang
e830ff8c8f 7175041: HttpTimestamper should accept https URI
Reviewed-by: mullan
2012-06-07 22:33:34 +08:00
Charles Lee
980d62fd25 7174233: Openjdk is missing some key maps on the Japanese keyboards
Reviewed-by: anthony, naoto
2012-06-07 10:22:10 +08:00
Christian Thalinger
36093c2bf6 7174884: C1: failures after 7171890: assert(cur_state != NULL) failed: state_before must be set
Reviewed-by: kvn
2012-06-06 15:57:37 -07:00
Jiangli Zhou
2b4b058265 7172967: Eliminate constMethod's _method backpointer to methodOop
Eliminate constMethod's _method backpointer to methodOop, and move the _constant field from methodOop to constMethod.

Reviewed-by: roland, bdelsart, kamg
2012-06-06 14:33:43 -04:00
Alexander Scherbatiy
d71b6b6ffb 7169285: [macosx] Test api/javax_swing/JPopupMenu/descriptions.html#setgetXXX doesn't take Mac main menu
Reviewed-by: rupashka
2012-06-06 11:54:38 +04:00
Mikael Vidstedt
bd06ea72a9 7170275: os::print_os_info needs to know about Windows 8
Recognize Windows 8 and Windows Server 2012

Reviewed-by: sla, kvn, azeemj
2012-06-06 05:21:56 +02:00
Lana Steuck
3b9e02fd77 Merge 2012-06-05 18:05:00 -07:00
Lana Steuck
477d1d8e7d Merge 2012-06-05 17:56:16 -07:00
Lana Steuck
d558b176b1 Merge 2012-06-05 17:40:33 -07:00
Dmitry Cherepanov
a658a623a8 7123957: Switch of Gnome theme ends up deadlocked in GTKEngine.native_switch_theme
Reviewed-by: art, anthony
2012-06-05 19:48:00 +04:00
Frederic Parain
911dcf0f08 7171703: JNI DefineClass crashes client VM when first parameter is NULL
Reviewed-by: acorn, kamg, sspitsyn, dholmes
2012-06-05 06:48:00 -07:00
Nils Loodin
cbe6d65df3 7163471: Licensee source bundle failed around 7u4
Reviewed-by: dholmes, sla, brutisso, erikj
2012-06-05 13:43:39 +02:00
Diego Belfer
dd23946ec9 7164256: EnumMap clone doesn't clear the entrySet keeping a reference to the original Map
Reviewed-by: alanb, chegar, forax, mduigou
2012-06-07 12:31:45 +01:00
Alan Bateman
ad1642cdd9 7175011: ProblemList.txt updates (6/2012)
Reviewed-by: mduigou, chegar
2012-06-07 10:31:48 +01:00
Daniel D. Daugherty
570a3d8a03 Merge 2012-06-06 19:11:23 -07:00
Jonathan Lu
775655b44a 7172149: ArrayIndexOutOfBoundsException from Signature.verify
Take care of integer addition overflow

Reviewed-by: xuelei, wetmore
2012-06-06 18:39:09 -07:00
Xue-Lei Andrew Fan
c549cc814d 7174244: NPE in Krb5ProxyImpl.getServerKeys()
Reviewed-by: weijun
2012-06-06 18:18:58 -07:00
Jonas Oreland
43eb7b646e 7174861: all/OPT jdk build on Solaris with FDS enabled sets wrong options
Use CFLAGS_COMMON instead of CC_OPT and CXXFLAGS_COMMON instead of CXX_OPT for setting FDS options. FDS should also set OPTIMIZATION_LEVEL.

Reviewed-by: ihse, dholmes, ohair, dcubed
2012-06-06 13:16:37 -07:00
Kurchi Subhra Hazra
8cccc8f99a 7173645: (props) System.getProperty("os.name") should return "Windows Server 2012" for Windows Server 2012
Enable Windows Server 2012 to be recognized as "os.name"

Reviewed-by: alanb, dholmes, chegar
2012-06-06 11:37:08 -07:00
Alan Bateman
08c4f120c9 7172826: (se) Selector based on the Solaris event port mechanism
Reviewed-by: coffeys, chegar
2012-06-06 17:59:29 +01:00
Weijun Wang
dfccae97eb 7174351: test/sun/security/tools/keytool/standard.sh failed after new Hashtable
Reviewed-by: xuelei
2012-06-06 10:05:54 +08:00
Lana Steuck
7062434474 Merge 2012-06-05 17:40:02 -07:00
Xueming Shen
543792f154 6183404: Many eudc characters are incorrectly mapped in MS936 and GBK converter
Updated MS936 and GBK mappings

Reviewed-by: alanb
2012-06-05 12:11:58 -07:00
Alan Bateman
76b4500c33 7173515: (se) Selector.open fails with OOME on Solaris when unlimited file descriptors
Reviewed-by: coffeys, chegar
2012-06-05 12:47:36 +01:00
Anthony Petrov
429a57b49d 7172722: Latest jdk7u from OSX broke universal build
Add a data memeber for a new property

Reviewed-by: serb, swingler
2012-06-05 15:20:13 +04:00
Weijun Wang
cef72cc08e 7172701: KDC tests cleanup
Reviewed-by: xuelei
2012-06-05 17:11:26 +08:00
Krystal Mok
6d29429c4e 7171890: C1: add Class.isInstance intrinsic
Class.cast which calls Class.isInstance is heavily used by the new JSR 292 implementation

Reviewed-by: roland
2012-06-05 10:15:27 +02:00
Sean Chou
46d6e76274 7173044: MemoryMonitor hangs if getMax method in MemoryUsage object returns -1
Reviewed-by: dholmes, sspitsyn
2012-06-05 10:16:22 +08:00
Denis Lila
440b57e0b5 7043963: AWT workaround missing for Mutter
Reviewed-by: art, anthony
2012-06-04 16:39:12 -04:00
Keith McGuigan
1ac7879229 7166498: JVM crash in ClassVerifier
Fixed raw pointer being used after potential safepoint/GC

Reviewed-by: acorn, fparain, dholmes
2012-06-04 10:22:37 -04:00
Bengt Rutisson
ee7ac30420 7173460: G1: java/lang/management/MemoryMXBean/CollectionUsageThreshold.java failes with G1
The scope of TraceMemoryManagerStats in G1CollectedHeap need to cover the call to G1MonitoringSupport::update_sizes()

Reviewed-by: johnc, jmasa
2012-06-04 13:29:34 +02:00
Bengt Rutisson
e294a9f5ec 7172388: G1: _total_full_collections should not be incremented for concurrent cycles
Reviewed-by: azeemj, jmasa
2012-06-05 22:30:24 +02:00
Alexander Scherbatiy
cb35692923 7161766: [macosx] javax/swing/JPopupMenu/6694823/bug6694823.java failed on Mac OS X
Reviewed-by: rupashka
2012-06-04 14:11:26 +04:00
Weijun Wang
d9bb3177f8 7173036: test/com/sun/jdi/ConnectedVMs.java does not run as expected
Reviewed-by: alanb
2012-06-04 18:06:45 +08:00
Charles Lee
ad2bdf4faa 7166055: Javadoc for WeakHashMap contains misleading advice
Reviewed-by: dholmes, mduigou
2012-06-04 16:30:35 +08:00
Mikael Gerdin
1ae0edb1f1 7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup
Add "using" keyword to import base class functions from FreeList<T> to fix template name lookup in gcc 4.7

Reviewed-by: brutisso, iveresov
2012-06-04 09:21:53 +02:00
David Holmes
e3d25bce34 Merge 2012-06-02 07:32:21 -04:00
Alejandro Murillo
528d6f3d54 7173438: new hotspot build - hs24-b14
Reviewed-by: jcoomes
2012-06-01 15:30:44 -07:00
Alejandro Murillo
48140aa4e1 Added tag hs24-b13 for changeset 4f7547c15006 2012-06-01 15:24:09 -07:00
Alejandro Murillo
e44885a4e1 Merge 2012-06-01 15:24:08 -07:00
Christine Lu
65eb5b19cf Added tag jdk8-b41 for changeset b7d886b99bba 2012-06-01 14:12:35 -07:00
Christine Lu
d08ae1fefe Added tag jdk8-b41 for changeset e29decc8b008 2012-06-01 14:12:28 -07:00
Christine Lu
cc7c813d9b Added tag jdk8-b41 for changeset 39a51a9b90e1 2012-06-01 14:12:25 -07:00
Christine Lu
2349d985f7 Added tag jdk8-b41 for changeset 1ef14f73e385 2012-06-01 14:12:20 -07:00
Christine Lu
90d6f85d39 Added tag jdk8-b41 for changeset 609e4849830f 2012-06-01 14:12:10 -07:00
Christine Lu
27d4c7ead0 Added tag jdk8-b41 for changeset 039a50f38068 2012-06-01 14:12:06 -07:00
Christine Lu
e6f8d1b836 Added tag jdk8-b41 for changeset beca65859e06 2012-06-01 14:11:59 -07:00
Alejandro Murillo
33799389d4 7173635: jprt.properties should include release jdk7u6
Reviewed-by: jcoomes
2012-06-01 11:25:12 -07:00
Mikael Vidstedt
0e816e0b83 7155453: [macosx] re-enable jbb tests in JPRT
Run SPECjbb in headless mode and enable SPECjbb runs on OSX

Reviewed-by: dcubed, dholmes
2012-06-01 20:17:46 +02:00
John Coomes
ec1fb16e34 Merge 2012-06-01 10:29:02 -07:00
Denis Fokin
a036af76db 7112115: Component.getLocationOnScreen() work incorrectly if create window in point (0, 0) on oel
Reviewed-by: serb, art
2012-06-01 17:08:18 +04:00
Mike Duigou
59ccdc0fbc 7173432: Handle null key at HashMap resize
If the key to be inserted into a HashMap is null and the table needs to be resized as part of the insertion then addEntry will try to recalculate the hash of a null key. This will fail with an NPE.

Reviewed-by: darcy
2012-06-01 00:05:21 -07:00
Jim Holmlund
65293fee1f 7159016: Static import of member in processor-generated class fails in JDK 7
Reviewed-by: jjg
2012-05-31 15:07:29 -07:00
Sean Mullan
7dfc5df74e Merge 2012-05-31 17:10:57 -04:00
Sean Mullan
63e39d6ee7 Merge 2012-05-31 17:07:28 -04:00
Bengt Rutisson
212ab5c73a 7172279: G1: Clean up TraceGen0Time and TraceGen1Time data gathering
Simplify code, remove unused code, remove ExitAfterGCNum

Reviewed-by: huntch, johnc
2012-05-31 21:10:33 +02:00
Maurizio Cimadamore
3f99d2eda5 7160084: javac fails to compile an apparently valid class/interface combination
Javac generates wrong syntetized trees for nested enum constants

Reviewed-by: dlsmith, jjg
2012-05-31 17:44:04 +01:00
Maurizio Cimadamore
7e32f8e585 7166552: Inference: cleanup usage of Type.ForAll
Remove hack to callback into type-inference from assignment context

Reviewed-by: dlsmith, jjg
2012-05-31 17:42:14 +01:00
Leonid Romanov
6f838e09d7 7150089: [macosx] Default for a custom cursor created from non-existent image is not transparent
Reviewed-by: anthony, kizune
2012-05-31 20:18:11 +04:00
Andrew Brygin
458f3269dd 7120895: FontConfiguration should not use thread contextClassLoader
Reviewed-by: igor, prr
2012-05-31 12:15:22 +04:00
Mike Duigou
705c53b045 7126277: Alternative String hashing implementation
All of the hashing based Map implementations: HashMap, Hashtable, LinkedHashMap, WeakHashMap and ConcurrentHashMap are modified to use an enhanced hashing algorithm for string keys when the capacity of the hash table has ever grown beyond 512 entries. The enhanced hashing implementation uses the murmur3 hashing algorithm along with random hash seeds and index masks. These enhancements mitigate cases where colliding String hash values could result in a performance bottleneck.

Reviewed-by: alanb, forax, dl
2012-05-30 22:18:37 -07:00
David Katleman
3d1dbef32c Merge 2012-05-30 15:59:25 -07:00
David Holmes
9eb03933dc Merge 2012-05-30 17:45:02 -04:00
Sean Mullan
14c586557e 6854712: Revocation checking enhancements (JEP-124)
6637288: Add OCSP support to PKIX CertPathBuilder implementation
7126011: ReverseBuilder.getMatchingCACerts may throws NPE

Reviewed-by: xuelei
2012-05-30 17:19:46 -04:00
Krystal Mok
20b16ea7aa 7172843: C1: fix "assert(has_printable_bci()) failed: _printable_bci should have been set"
Reviewed-by: twisti
2012-05-30 12:17:07 -07:00
John Cuthbertson
057a1b7128 7158682: G1: Handle leak when running nsk.sysdict tests
Place HandleMarks in the code that allocates handles for the pending list lock so that the handles are freed and multiple, unsuccessful, attempts to schedule a GC do not cause an OOM.

Reviewed-by: brutisso
2012-05-30 10:26:24 -07:00
Mario Torre
5be51d39ec 7171806: Missing test for bug ID 6800513 fix
Reviewed-by: rupashka
2012-05-30 18:15:11 +02:00
Andrew John Hughes
1b6a45d291 7171223: Building ExtensionSubtables.cpp should use -fno-strict-aliasing
GCC 4.4+ have stricter aliasing requirements which produces a new warning from this code

Reviewed-by: prr, ohair
2012-05-30 16:17:48 +01:00
Alexander Scherbatiy
da6cfab105 7141296: [macosx] Mouse Wheel Turn closes combobox popup
Reviewed-by: rupashka
2012-05-30 14:58:30 +04:00
Alexander Scherbatiy
f904017c74 7146131: [macosx] When click the show optionpane button,it display partly of dialog and hung until timeout
Reviewed-by: rupashka
2012-05-30 14:46:49 +04:00
David Holmes
884f00e27e 7171653: 32-bit cross-compile on 64-bit build host generates 64-bit data for awt/X11 leading to crash
Reviewed-by: ohair, anthony
2012-05-30 00:37:21 -04:00
Jonathan Lu
3a6a1bd322 7170655: Frame size does not follow font size change with XToolkit
Reviewed-by: serb, art
2012-05-30 10:58:11 +08:00
Zhengyu Gu
a9ea9bd20a Merge 2012-05-29 20:06:10 -04:00
Kumar Srinivasan
4747e218b3 7168401: pack200 does not produce a compatible pack file for JDK7 classes if indy is not present
Reviewed-by: jrose
2012-05-29 14:56:48 -07:00
Kurchi Subhra Hazra
7ae64e60c1 7171591: getDefaultScopeID() in src/solaris/native/java/net/net_util_md.c should return a value
Use CHECK_NULL_RETURN instead of CHECK_NULL

Reviewed-by: alanb
2012-05-29 13:16:17 -07:00
Charles Lee
5bcaf4e157 7172177: test/java/util/TimeZone/DstTzTest.java failing on all platforms
Reviewed-by: alanb, okutsu
2012-05-29 09:42:09 +08:00
Zhengyu Gu
e8dff8cfab Merge 2012-05-26 06:07:38 -07:00
Joseph Provino
b6db24abd6 Merge 2012-05-26 08:49:05 -04:00
Lana Steuck
a6653a2f7c Merge 2012-05-25 19:34:32 -07:00
Magnus Ihse Bursie
7da56bf735 7172014: Remove empty and unused javah include files
Reviewed-by: ohair, erikj
2012-05-25 18:55:22 -07:00
Lana Steuck
ff9a1cfde6 Merge 2012-05-25 16:32:56 -07:00
Lana Steuck
cc0d0b06ff Merge 2012-05-25 16:32:02 -07:00
Alejandro Murillo
a5780148fd 7171853: new hotspot build - hs24-b13
Reviewed-by: jcoomes
2012-05-25 14:56:19 -07:00
Alejandro Murillo
963943745e Added tag hs24-b12 for changeset 686dd42705db 2012-05-25 14:45:36 -07:00
Alejandro Murillo
eb3ed764ca Merge 2012-05-25 14:45:35 -07:00
Lana Steuck
785470d1e3 Merge 2012-05-25 13:39:55 -07:00
Bengt Rutisson
b76f6e07ab 7171936: LOG_G incorrectly defined in globalDefinitions.hpp
Removed LOG_G and LOG_K. Moved LOG_M to where it is being used.

Reviewed-by: twisti, johnc
2012-05-25 22:35:13 +02:00
John Cuthbertson
3f38785a0a 7143858: G1: Back to back young GCs with the second GC having a minimally sized eden
Before the last thread to leave a JNI critical region was able to schedule a GCLocker Initiated GC, another thread was attempting an allocation and saw that the GCLocker region was no longer active and successfully scheduled a GC. Stall allocating threads until the GCLocker Initiated GC is performed and then retry the allocation.

Reviewed-by: brutisso, huntch
2012-05-29 10:18:02 -07:00
Christian Thalinger
687fab1763 7170145: C1 doesn't respect the JMM with volatile field loads
Reviewed-by: kvn, roland
2012-05-25 11:39:13 -07:00
Anton Tarasov
ecba4fb037 7171776: one more setGlobalCurrentFocusCycleRoot call requires doPrivileged
Reviewed-by: art
2012-05-25 20:57:41 +04:00
Daniel D. Daugherty
594b196afc 7170449: Management is completely broken at least on Solaris 11 X86
Work around 'gobjcopy' failures on Solaris by adding temporary tools to add the '.gnu_debuglink' section and remove the SHF_ALLOC flag from "empty" section headers.

Reviewed-by: sspitsyn, acorn
2012-05-25 08:20:12 -07:00
Krystal Mok
a9ea68bd3f 7170463: C2 should recognize "obj.getClass() == A.class" code pattern
Optimize this code pattern obj.getClass() == A.class.

Reviewed-by: jrose, kvn
2012-05-25 07:53:11 -07:00
Mario Torre
aea990be82 6800513: GTK-LaF renders menus incompletely
Reviewed-by: rupashka
2012-05-25 14:16:50 +02:00
Andrew Brygin
ea1b65ad8a 7146550: [macosx] DnD test failure in createCompatibleWritableRaster()
Reviewed-by: kizune, serb
2012-05-25 12:56:22 +04:00
Vladimir Kozlov
d6d1826ad3 Merge 2012-05-24 18:39:44 -07:00
Zhengyu Gu
6a6296d61b Merge 2012-05-24 20:04:07 -04:00
David Katleman
1c9465c6df Added tag jdk8-b40 for changeset 305a3d828f11 2012-05-24 16:16:05 -07:00
David Katleman
66750be14c Added tag jdk8-b40 for changeset 95f428cdf9d2 2012-05-24 16:15:58 -07:00
David Katleman
0f097de573 Added tag jdk8-b40 for changeset 907be86f2bd8 2012-05-24 16:15:49 -07:00
David Katleman
a0c3e086d9 Added tag jdk8-b40 for changeset aaf5a4412dd3 2012-05-24 16:15:45 -07:00
David Katleman
42a2cab56e Added tag jdk8-b40 for changeset 287fd8991324 2012-05-24 16:15:37 -07:00
David Katleman
9432db3c2c Added tag jdk8-b40 for changeset 966bd1f6ee4c 2012-05-24 16:15:32 -07:00
David Katleman
b0d8fccba7 Added tag jdk8-b40 for changeset 7693b47ff4f5 2012-05-24 16:15:30 -07:00
Daniel D. Daugherty
2003ef208a Merge 2012-05-24 12:57:01 -07:00
Daniel D. Daugherty
cad78d6f04 7165598: enable FDS on Solaris X64 when 7165593 is fixed
Work around 'gobjcopy' failure on Solaris X64 by adding a temporary tool that removes the SHF_ALLOC flag from "empty" section headers.

Reviewed-by: sspitsyn, acorn
2012-05-24 12:03:42 -07:00
Abhijit Saha
7fdf0dfa52 7171228: closed/java/lang/SecurityManager/CheckPackageDefinition.java failure
Reviewed-by: mullan
2012-05-24 10:23:21 -07:00
Jim Gish
09b1403483 7171474: Incorrect @see tags in java.lang.NumberFormatException javadoc
Update javadoc for NumberFormatException

Reviewed-by: alanb
2012-05-24 11:11:37 -04:00
Erik Gahlin
a982d867cb 7017818: NLS: JConsoleResources.java cannot be handled by translation team
Reviewed-by: mchung, mfang
2012-05-25 12:24:57 +02:00
Deven You
9a28860b9d 7171028: dots are missed in the datetime for Slovanian
Reviewed-by: yhuang
2012-05-25 14:32:07 +08:00
Deven You
ee1d40055a 7094176: (tz) Incorrect TimeZone display name when DST not applicable / disabled
Reviewed-by: okutsu
2012-05-25 13:28:40 +08:00
Deepak Bhole
e301754c0d 7117230: clean up warnings in java.text
Reviewed-by: jrose, smarks
2012-05-24 19:00:16 -07:00
Nils Loodin
07204964e0 Merge 2012-05-24 10:20:28 -04:00
Jim Gish
42a22c1dc8 7160725: Strange or obsolete @see tags in some exception java.lang javadoc
Update javadoc for IllegalArgumentException and NumberFormatException

Reviewed-by: alanb
2012-05-24 14:44:40 +01:00
Rickard Bäckman
0ccc41fc10 7171422: Change 7161732 breaks SA on Windows
Reviewed-by: dholmes, sla
2012-05-24 13:37:47 +02:00
Alexander Zuev
058f95b388 7144064: [macosx] "Could not find class" error in JTree's ctor when called in headless mode
Reviewed-by: art, leonidr
2012-05-24 15:11:24 +04:00
Alan Bateman
e1774fc7a1 7169050: (se) Selector.select slow on Solaris due to insertion of POLLREMOVE and 0 events
Reviewed-by: chegar, coffeys
2012-05-24 10:57:21 +01:00
Nils Loodin
11b6c98db4 7143353: -Xrunhprof fails in Java 7 due to bad switch
Reviewed-by: jrose, sspitsyn
2012-05-24 09:32:25 +02:00
David Holmes
529f652312 7170197: Update JPRT default build targets to support embedded builds
Reviewed-by: jcoomes, kvn
2012-05-23 20:09:56 -04:00
Kurchi Subhra Hazra
380c23f06b 7170169: (props) System.getProperty("os.name") should return "Windows 8" when run on Windows 8
Enable Windows Version 6.2 to be recognized as Windows 8

Reviewed-by: darcy, dholmes, alanb, chegar
2012-05-23 10:41:45 -07:00
Weijun Wang
f785c8a7a4 7162687: enhance KDC server availability detection
Reviewed-by: valeriep
2012-05-23 15:51:10 +08:00
Sean Chou
12556eaf75 7170996: IME composition window does not disappear when file dialog is closed : Japanese WinXP
Reviewed-by: art, bagiras
2012-05-23 12:37:31 +08:00
Zhengyu Gu
4118514eaa Merge 2012-05-22 20:29:05 -04:00
Dmitry Cherepanov
e054554a36 7160293: [macosx] FileDialog appears on secondary display
Reviewed-by: art, bae
2012-05-22 12:35:55 +04:00
Rickard Bäckman
be3945d9ff 7161732: Improve handling of thread_id in OSThread
Reviewed-by: dholmes, kamg
2012-05-22 10:11:53 +02:00
Sue Wei
3d77d813ce 7157798: Add 6 test scenarios for testing inheritance of multiple same-name methods from mulitple interfaces
Reviewed-by: mcimadamore
2012-05-21 16:10:14 -07:00
Abhijit Saha
5d202b67cc Merge 2012-05-21 15:13:13 -07:00
Abhijit Saha
1c1f4add53 Merge 2012-05-21 14:56:33 -07:00
Abhijit Saha
1b16739a2d Merge 2012-05-21 14:51:03 -07:00
Abhijit Saha
313f4a591e Merge 2012-05-21 14:50:53 -07:00
Anton Tarasov
33648efb4c 7170427: setGlobalCurrentFocusCycleRoot unexpectedly throws SecurityException
Reviewed-by: art
2012-05-22 01:12:16 +04:00
Lana Steuck
08da945e68 Merge 2012-05-21 11:44:49 -07:00
Lana Steuck
016976afd1 Merge 2012-05-21 11:44:01 -07:00
Lana Steuck
8b00bb1651 Merge 2012-05-21 11:41:33 -07:00
Lana Steuck
cb4100b820 Merge 2012-05-21 11:20:04 -07:00
Jiangli Zhou
31e63d5a3a 7168280: Eliminate the generic signature index slot from field array for field without generic signature
Only allocate the generic signature index slot in the field array for field with generic signature attribute.

Reviewed-by: coleenp, dlong
2012-05-21 14:10:35 -04:00
Staffan Larsen
f88f95d575 7167157: jcmd command file parsing does not respect the "stop" command
Reviewed-by: alanb, dsamersoff, nloodin
2012-05-21 19:28:41 +02:00
Kumar Srinivasan
ae57b6a361 7170087: tools/launcher/Arrghs.java test has wrong bugID for 7151434
Reviewed-by: ohair
2012-05-21 09:40:32 -07:00
Pavel Porvatov
1d1ed3ddb3 7168144: No appropriate CCC request for changes introduced by 7154030
Reviewed-by: alexsch
2012-05-21 18:55:36 +04:00
Matherey Nunez
818597ae4f 7168848: Add test to check that humongous object allocation path also checks the heap occupancy
Added test that checks humongous object allocation path also check the heap occupancy and initiate a marking cycle when / if needed.

Reviewed-by: brutisso, jwilhelm
2012-05-21 14:59:59 +02:00
Andrew Brygin
ecf06b3459 7154088: [macosx] Regression: Component.createImage do not inherits component attributes
Reviewed-by: art, kizune
2012-05-21 14:53:51 +04:00
Andrew Brygin
9ea4ab4133 7124400: [macosx] CGraphicsDevice.getConfigurations() returns reference to member (does not copy configs)
Reviewed-by: anthony, kizune
2012-05-21 14:04:46 +04:00
Alan Bateman
66b51d0b9f 7170203: TEST_BUG: test/java/nio/MappedByteBuffer/Truncate.java failing intermittently
Reviewed-by: chegar
2012-05-21 10:41:08 +01:00
Roland Westrelin
e975779565 7169934: pow(x,y) or x64 computes incorrect result when x<0 and y is an odd integer
Bad test for parity of y in pow(x,y) (c1, interpreter)

Reviewed-by: kvn, twisti
2012-05-21 09:46:02 +02:00
Weijun Wang
d11c407c11 7170308: timing error in the krb5 test SSL.java
Reviewed-by: xuelei
2012-05-21 15:40:30 +08:00
John R Rose
6b14cf6b82 7165628: Issues with java.lang.invoke.MethodHandles.Lookup
Base SecurityManager checks on either of Lookup.lookupClass or caller class; also clarify Lookup access checks.

Reviewed-by: twisti
2012-05-18 20:31:28 -07:00
Alejandro Murillo
57692966b7 7170006: new hotspot build - hs24-b12
Reviewed-by: jcoomes
2012-05-18 14:57:28 -07:00
Alejandro Murillo
f1828f22b9 Added tag hs24-b11 for changeset 100019c94f7c 2012-05-18 14:50:18 -07:00
Alejandro Murillo
dec70be8bf Merge 2012-05-18 14:50:17 -07:00
Valerie Peng
2321d8e2b6 7169496: Problem with the SHA-224 support for SunMSCAPI provider
Remove SHA224withRSA signature from SunMSCAPI provider due to lack of windows support.

Reviewed-by: vinnie
2012-05-18 12:29:33 -07:00
Krystal Mok
100eb2036d 7170053: crash in C2 when using -XX:+CountCompiledCalls
Reviewed-by: kvn, twisti
2012-05-18 12:20:24 -07:00
John Coomes
2c4e9e718c Merge 2012-05-18 10:27:13 -07:00
Daniel D. Daugherty
5ea3d5b1ea 7170010: conditional "ZIP_DEBUGINFO_FILES ?= 0" setting is not reliable on Windows
Always disable ZIP_DEBUGINFO_FILES on Windows.

Reviewed-by: acorn
2012-05-18 09:15:15 -07:00
Dmitry Cherepanov
7f4d14efbe 7156191: [macosx] Can't type into applet demos in Pivot
Reviewed-by: art
2012-05-18 19:39:24 +04:00
Roland Westrelin
285f7e0640 7167254: Crash on OSX in Enumerator.nextElement() with compressed oops
Null checks in "compressed oops with base" mode may trigger a SIGBUS rather than a SIGSEGV.

Reviewed-by: dsamersoff, dcubed, rbackman, kvn
2012-05-18 15:50:09 +02:00
Xue-Lei Andrew Fan
955e0697ba 7145960: sun/security/mscapi/ShortRSAKey1024.sh failing on windows
Reviewed-by: vinnie, wetmore
2012-05-17 21:59:26 -07:00
Rob McKenna
890b6d7ba8 7168110: Misleading jstack error message
Reviewed-by: alanb, dsamersoff
2012-05-17 22:42:32 +01:00
Bengt Rutisson
6e3096a0fa 7169062: CMS: Assertion failed with -XX:+ObjectAlignmentInBytes=64
Removed the assert in CompactibleFreeListSpace::check_free_list_consistency() since it was too strict. Simplified CompactibleFreeListSpace::set_cms_values() to reducde the need for asserts.

Reviewed-by: jcoomes, stefank
2012-05-17 21:53:40 +02:00
Anton Tarasov
4a46c4fa60 7145827: [macosx] JCK failure in b11: FocusableWindow3
Forward posrt from 7u4

Reviewed-by: art
2012-05-17 22:21:27 +04:00
Anton Tarasov
09df642ee8 7145768: [macosx] Regression: failure in b11 of ModalDialogInFocusEventTest
Forward port from 7u4

Reviewed-by: art
2012-05-17 22:10:40 +04:00
Anton Tarasov
781549f47d 7125044: [macosx] Test failure because Component.transferFocus() works differently in applet and application
Forward port from 7u4

Reviewed-by: art
2012-05-17 21:48:57 +04:00
Anton Tarasov
50220cd3d1 7154072: [macosx] swallowing key events
Forward posrt from 7u4

Reviewed-by: anthony
2012-05-17 21:31:55 +04:00
Anton Tarasov
e49b6e7624 7142565: [macosx] Many special keys processed twice in text fields
Forward port from 7u4

Reviewed-by: anthony
2012-05-17 21:27:19 +04:00
Brian Doherty
f55750d05a 6924259: Remove offset and count fields from java.lang.String
Removes the use of shared character array buffers by String along with the two fields needed to support the use of shared buffers.

Reviewed-by: alanb, mduigou, forax, briangoetz
2012-05-17 10:06:19 -07:00
Vladimir Kozlov
72c30e6568 Merge 2012-05-17 09:50:59 -07:00
Daniel D. Daugherty
eb7d35d85e 7168520: No jdk8 TL Nightly linux builds due to broken link in b39-2012-05-13_231
ZIP libjsig.debuginfo links into libjsig.diz files since aurora doesn't like dangling symlinks

Reviewed-by: katleman
2012-05-17 06:26:05 -07:00
David Katleman
4b002876d3 Added tag jdk8-b39 for changeset 679d89b6a21a 2012-05-17 06:20:51 -07:00
David Katleman
df34620afa Added tag jdk8-b39 for changeset 2052d5a6991c 2012-05-17 06:20:44 -07:00
David Katleman
66e90b1610 Added tag jdk8-b39 for changeset b5e60661b9a2 2012-05-17 06:20:38 -07:00
David Katleman
b57dfbffa8 Added tag jdk8-b39 for changeset a70d185bcc77 2012-05-17 06:20:35 -07:00
David Katleman
6412273c94 Added tag jdk8-b39 for changeset 402efa0d91d4 2012-05-17 06:20:23 -07:00
David Katleman
c285bb9bd6 Added tag jdk8-b39 for changeset 999611eec364 2012-05-17 06:20:16 -07:00
David Katleman
00a5b03f1b Added tag jdk8-b39 for changeset 8c8235b1fcb6 2012-05-17 06:20:10 -07:00
Pavel Porvatov
c0f2f2b464 7166322: closed/javax/swing/text/html/HTMLEditorKit/4242228/bug4242228.java failed since 1.8.0b36
Reviewed-by: alexsch
2012-05-17 15:41:09 +04:00
Sean Coffey
6e3d96dc67 7123896: Unexpected behavior due to Solaris using separate IPv4 and IPv6 port spaces
Reviewed-by: alanb
2012-05-17 12:21:16 +01:00
Alexander Scherbatiy
d06f47f95c 7148281: [macosx] JTabbedPane tabs with HTML text do not render correctly
Reviewed-by: kizune
2012-05-17 14:27:11 +04:00
David Katleman
ae3977cd76 Merge 2012-05-16 22:07:29 -07:00
David Katleman
74e0cc2fe5 Merge 2012-05-16 22:06:41 -07:00
Daniel D. Daugherty
04d132c069 7169409: enabling ZIP_DEBUGINFO_FILES causes unexpected test failures on Windows X86
Disable ZIP_DEBUGINFO_FILES by default on Windows.

Reviewed-by: acorn
2012-05-16 12:47:27 -07:00
Joseph Provino
df5c45b99f Merge 2012-05-16 13:33:30 -04:00
Alexander Scherbatiy
f7483afe41 7158928: [macosx] NLS: Please change the mnemonic assignment system
Reviewed-by: rupashka, serb
2012-05-16 18:11:48 +04:00
Alexander Scherbatiy
5b3babf9c4 7169226: NLS: Please change the mnemonic assignment system for windows and motif properties
Reviewed-by: rupashka
2012-05-16 16:27:12 +04:00
Alan Bateman
2a928a555d 7168505: (bf) MappedByteBuffer.load does not load buffer's content into memory
Reviewed-by: mduigou, forax
2012-05-16 12:43:27 +01:00
Anthony Petrov
c4b4c6a9a5 7168851: [macosx] Netbeans crashes in CImage.nativeCreateNSImageFromArray
Eliminate unnecessary -release call

Reviewed-by: dcherepanov
2012-05-16 14:28:12 +04:00
Dmitry Cherepanov
a4ab9d7050 7124337: [macosx] FileDialog fails to select multiple files
Reviewed-by: anthony, swingler
2012-05-16 13:15:27 +04:00
Kurchi Subhra Hazra
5f43f7c289 7164636: (prefs) Cleanup src/macosx/classes/java/util/prefs
Remove rawtype usages and other code cleanup

Reviewed-by: chegar, briangoetz
2012-05-15 11:51:51 -07:00
Michael Fang
9b0ee815d4 7157855: jvisualvm.1 not included in binaries
Reviewed-by: katleman, thurka
2012-05-15 11:46:41 -07:00
Daniel D. Daugherty
aaf2d69944 7165060: dtrace tests fail with FDS debug info files
Work around 'gobjcopy --add-gnu-debuglink' failure by adding a temporary tool that adds the '.gnu_debuglink' section and nothing more.

Reviewed-by: sspitsyn, acorn
2012-05-15 10:52:24 -07:00
Deven You
ce388a548a 7164191: properties.putAll API may fail with ConcurrentModifcationException on multi-thread scenario
Reviewed-by: dholmes, sla
2012-05-15 16:46:10 +04:00
Dmitry Cherepanov
6d2f5978f7 7168550: [macosx] duplicate OGL context state changes related to vertex cache
Reviewed-by: bae, swingler
2012-05-15 15:04:10 +04:00
Bengt Rutisson
eba9965d54 7166894: Add gc cause to GC logging for all collectors
Reviewed-by: mgerdin, johnc
2012-05-15 10:25:06 +02:00
Bengt Rutisson
b2d4591455 7169056: Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit()
Reviewed-by: jwilhelm, johnc, dholmes
2012-05-15 22:26:37 +02:00
John Cuthbertson
73636f80f0 7168294: G1: Some Full GCs incorrectly report GC cause as "No GC"
GC cause was not being set by the VM_G1CollectForAllocation VM operation.

Reviewed-by: jmasa, ysr, brutisso
2012-05-15 09:49:18 -07:00
Roland Westrelin
b305cf722e 7133857: exp() and pow() should use the x87 ISA on x86
Use x87 instructions to implement exp() and pow() in interpreter/c1/c2.

Reviewed-by: kvn, never, twisti
2012-05-15 10:10:23 +02:00
John Cuthbertson
4935ae09b8 Merge 2012-05-14 21:07:28 -07:00
Mikael Vidstedt
c23595da74 7158457: division by zero in adaptiveweightedaverage
Add ceiling to AdaptiveWeightedAverage

Reviewed-by: ysr, iveresov
2012-05-15 00:56:06 +02:00
Vladimir Kozlov
eb4a860bc3 6924259: Remove String.count/String.offset
Allow a version of String class that doesn't have count and offset fields.

Reviewed-by: never, coleenp
2012-05-14 09:36:00 -07:00
Bengt Rutisson
b68794be17 7161545: G1: Minor cleanups to the G1 logging
Rename "to-space-overflow" to "to-space-exhausted", Introduce one decimal point in the size format, Add Sum to the aggregate and re-order the entries, Add number of GC workers to the log output

Reviewed-by: johnc, jwilhelm
2012-05-14 17:32:17 +02:00
Xue-Lei Andrew Fan
9190ab1d6b 7167988: PKIX CertPathBuilder in reverse mode doesn't work if more than one trust anchor is specified
Reviewed-by: mullan
2012-05-14 07:26:53 -07:00
Anton Tarasov
da0a144213 7110683: Issues with some KeyboardFocusManager method
Reviewed-by: ahgross
2012-05-12 18:50:27 +04:00
Alexander Potochkin
3cdc5fa537 7149005: [macosx] Java Control Panel's UI controls are distorted when draging scroll bar
Reviewed-by: serb
2012-05-12 17:46:00 +04:00
Alexander Scherbatiy
65a285cb99 7024965: Stylepad demo: remove non-translatable resources from Stylepad.properties file
Reviewed-by: alexp
2012-05-12 12:01:36 +04:00
Kelly O'Hair
fd8e6eca55 7167976: Fix broken get_source.sh script
Reviewed-by: tbell
2012-05-11 17:52:57 -07:00
Alejandro Murillo
17b26a6a0c 7168247: new hotspot build - hs24-b11
Reviewed-by: jcoomes
2012-05-11 14:54:35 -07:00
Alejandro Murillo
757948e54b Added tag hs24-b10 for changeset fcb3aef57178 2012-05-11 14:47:25 -07:00
Alejandro Murillo
1484d4c12c Merge 2012-05-11 14:47:24 -07:00
Olivier Lagneau
024a3d8370 7144861: speed up RMI activation tests
Reviewed-by: alanb, smarks, dholmes, dmocek
2012-05-11 14:13:29 -07:00
Lana Steuck
ee274abff1 Merge 2012-05-11 12:53:43 -07:00
Lana Steuck
a472974402 Merge 2012-05-11 12:53:03 -07:00
Mike Duigou
3b77eb7680 7071826: Avoid benign race condition in initialization of UUID
Avoids mostly benign but sometimes expensive race condition on initialization of UUID.numberGenerator which is used by UUID.randomUUID()

Reviewed-by: alanb, chegar
2012-05-11 11:31:46 -07:00
Gary Collins
bfa3402f16 7167625: Adjustments for SE-Embedded build process
Simple change to the SE-Embedded build rules that should not affect any other OpenJDK users.

Reviewed-by: kvn, dholmes
2012-05-11 11:30:03 -07:00
Anthony Petrov
9d4ac4c188 7149062: [macosx] dock menu don't show available frames
Inherit from either NSWindow for normal windows or NSPanel for utility windows

Reviewed-by: skovatch, swingler
2012-05-11 20:37:07 +04:00
Magnus Ihse Bursie
101d88a655 7168208: Change use of @ in one sed command involving paths to different character
Reviewed-by: ohair
2012-05-11 08:21:30 -07:00
Athijegannathan Sundararajan
817ad87a28 7166990: java/compiler Inherited interfaces using generics sometimes looses the generic type
Reviewed-by: mcimadamore
2012-05-11 20:06:00 +05:30
John Coomes
8fe245a2ba Merge 2012-05-11 06:37:47 -07:00
Anthony Petrov
50d1683efd 7166437: [macosx] Support for Window.Type.UTILITY on the Mac
Apply the native UTILITY style for UTILITY Java windows

Reviewed-by: art
2012-05-11 16:11:17 +04:00
Sean Coffey
6e335b3720 7167359: (tz) SEGV on solaris if TZ variable not set
Reviewed-by: okutsu
2012-05-11 10:09:18 +01:00
Deven You
abd7e74713 7163874: InetAddress.isReachable should support pinging 0.0.0.0
Reviewed-by: alanb, chegar
2012-05-11 16:20:46 +08:00
Jan Lahoda
9feb7f3e15 7159445: (javac) emits inaccurate diagnostics for enhanced for-loops
Reviewed-by: jjg
2012-05-10 12:32:58 -07:00
Lana Steuck
49252e4667 Merge 2012-05-10 11:47:56 -07:00
Valerie Peng
4dfbf0acd1 Merge 2012-05-10 11:19:22 -07:00
David Katleman
f36f12f54e Added tag jdk8-b38 for changeset 8bf61a6c4a22 2012-05-10 10:25:25 -07:00
David Katleman
2e89926eab Added tag jdk8-b38 for changeset 5904985dac0a 2012-05-10 10:25:14 -07:00
David Katleman
f592cd9eb6 Added tag jdk8-b38 for changeset b03bb9688c69 2012-05-10 10:25:09 -07:00
David Katleman
74f10135f5 Added tag jdk8-b38 for changeset 426adeeabf00 2012-05-10 10:25:08 -07:00
David Katleman
d75e89764e Added tag jdk8-b38 for changeset dd5e885125b4 2012-05-10 10:25:00 -07:00
David Katleman
5784582da1 Added tag jdk8-b38 for changeset 748373b1eae7 2012-05-10 10:24:56 -07:00
David Katleman
927c948fb5 Added tag jdk8-b38 for changeset ab7f1daeaf13 2012-05-10 10:24:54 -07:00
Sergey Bylokhov
9668994591 7080109: Dialog.show() lacks doPrivileged() to access system event queue
Reviewed-by: art, anthony
2012-05-10 20:05:12 +04:00
Kelly O'Hair
5c5ce877e8 7167593: Changed get_source.sh to allow for getting full oracle jdk repo forest
Reviewed-by: erikj, asaha, chegar, sla, dholmes, mbykov, coleenp
2012-05-10 08:26:26 -07:00
Nils Loodin
7d82c13142 7165755: OS Information much longer on linux than other platforms
Reviewed-by: sla, dholmes
2012-05-10 15:44:19 +02:00
Daniel D. Daugherty
a160adcf6c 7169102: 7165060 merge lost changes to make/windows/makefiles/defs.make
Reviewed-by: sspitsyn, acorn
2012-05-15 15:16:14 -07:00
Daniel D. Daugherty
2d24f2ea0f Merge 2012-05-15 11:27:24 -07:00
Zhengyu Gu
eefa9c27a1 Merge 2012-05-12 06:50:41 -04:00
Kevin Walls
8b44324ec4 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG
Reviewed-by: kvn
2012-05-11 17:24:32 +01:00
Zhengyu Gu
fe52024032 Merge 2012-05-10 18:19:53 -04:00
Bengt Rutisson
831d61ffee 7167069: 6 VM flags crash the VM when queried via jinfo
Added missing double format to Flag::print_as_flag()

Reviewed-by: dholmes, stefank, coleenp
2012-05-10 14:16:34 +02:00
Sean Coffey
c3e4ab9209 7163470: Build fails if javax.crypto src files not present
Reviewed-by: valeriep
2012-05-10 10:45:04 +01:00
Stefan Karlsson
efb4e7d77d 7167437: Can't build on linux without precompiled headers
Reviewed-by: brutisso, mgerdin
2012-05-10 11:27:10 +02:00
Kurchi Subhra Hazra
2c13671808 7096436: (sc) SocketChannel.connect fails on Windows 8 when channel configured non-blocking
Set localAddress only when connection is established

Reviewed-by: alanb
2012-05-09 16:55:55 -07:00
Bradford Wetmore
34aa937e99 7167362: SecureRandom.init should be converted, amendment to 7084245
Reviewed-by: sherman
2012-05-09 16:33:30 -07:00
David Katleman
6bba162380 Merge 2012-05-09 16:12:35 -07:00
Alejandro Murillo
687cb2678f Merge 2012-05-09 14:06:27 -07:00
David Katleman
2a2e7bffdc Merge 2012-05-09 13:13:41 -07:00
David Katleman
b2658ced45 Merge 2012-05-09 13:11:47 -07:00
David Katleman
5c2efc04be Added tag jdk8-b37 for changeset ac17e6eab3e8 2012-05-09 13:08:07 -07:00
David Katleman
688375fd87 Added tag jdk8-b37 for changeset 6cc8efda172c 2012-05-09 13:07:57 -07:00
David Katleman
0ae04de4ef Added tag jdk8-b37 for changeset cc70c2a4a56c 2012-05-09 13:07:50 -07:00
David Katleman
c1e2bb79f8 Added tag jdk8-b37 for changeset 19c92373018b 2012-05-09 13:07:49 -07:00
David Katleman
e53314cbb7 Added tag jdk8-b37 for changeset f2944668a5b3 2012-05-09 13:07:42 -07:00
David Katleman
b0296ea6c4 Added tag jdk8-b37 for changeset 64ed6b4e402e 2012-05-09 13:07:38 -07:00
David Katleman
1beaa06ed7 Added tag jdk8-b37 for changeset 1246483aab30 2012-05-09 13:07:33 -07:00
Kurchi Subhra Hazra
769059e3a3 7165118: (prefs) AbstractPreferences.remove(null) does not throw NPE
Insert null argument check in AbstractPreferences.remove()

Reviewed-by: dholmes, chegar, alanb
2012-05-09 11:14:22 -07:00
Vladimir Kozlov
65e294a51d Merge 2012-05-09 10:54:29 -07:00
Deven You
35e44803db 7166955: (pack200) JNI_GetCreatedJavaVMs needs additional checking
Reviewed-by: alanb, dholmes, ksrini
2012-05-09 07:28:12 -07:00
Nils Loodin
018f4098e8 7163117: Agent can't connect to process on Mac OSX
Reviewed-by: dholmes, coleenp, sla, minqi, kvn
2012-05-09 16:24:07 +02:00
David Holmes
26eeb59d8d Merge 2012-05-09 04:32:34 -04:00
Andrew Dinn
97d244d75a 7167406: (Zero) Fix for InvokeDynamic needed
Reviewed-by: chrisphi, dholmes
2012-05-09 00:28:45 -04:00
Jonathan Lu
7befd87c21 7165722: Invalid path in MemoryMonitor demo's README.txt
Reviewed-by: alanb, sla
2012-05-09 11:19:54 +08:00
Valerie Peng
00cdcad12f Merge 2012-05-08 18:57:45 -07:00
Xue-Lei Andrew Fan
081be38b26 7166570: JSSE certificate validation has started to fail for certificate chains
Reviewed-by: wetmore
2012-05-08 18:08:49 -07:00
Valerie Peng
879e30901e 4963723: Implement SHA-224
Add support for SHA-224, SHA224withRSA, SHA224withECDSA, HmacSHA224 and OAEPwithSHA-224AndMGF1Padding.

Reviewed-by: vinnie
2012-05-08 17:57:48 -07:00
Xue-Lei Andrew Fan
f44a8ebe07 7167092: Need to put the return clause in the synchronized block
A regression fix for bug 7153184

Reviewed-by: wetmore
2012-05-08 17:56:18 -07:00
Vladimir Kozlov
7ecd34e368 7167266: missing copyright notes in 3rd party code
Add missing copyright notes to the regression test file.

Reviewed-by: twisti, johnc
2012-05-08 15:47:04 -07:00
Lana Steuck
d30eeff9a1 Merge 2012-05-08 13:08:17 -07:00
Abhijit Saha
8a9a73c5fd Merge 2012-05-08 11:29:21 -07:00
Krystal Mok
833a064cfe 7162726: Wrong filter predicate of visible locals in SA JSJavaFrame
Reviewed-by: sla, dcubed
2012-05-08 20:28:35 +02:00
Paul Sandoz
30fb5c8146 7157656: (zipfs) SeekableByteChannel to entry in zip file always reports its position as 0
Updated SeekableByteChannel.read() to count the bytes read correctly

Reviewed-by: sherman
2012-05-08 11:16:36 -07:00
Xueming Shen
c8da8f2595 7014640: To add a metachar \R for line ending and character classes for vertical/horizontal ws \v \V \h \H
Added propsoed constructs

Reviewed-by: alanb
2012-05-08 10:57:13 -07:00
Abhijit Saha
9c3e5a2081 Merge 2012-05-08 07:34:53 -07:00
Abhijit Saha
a84e7fc733 Merge 2012-05-08 07:30:48 -07:00
Abhijit Saha
e2a63403d0 Merge 2012-05-08 07:29:27 -07:00
Abhijit Saha
97520950f0 Merge 2012-05-08 07:27:46 -07:00
David Holmes
828158fb8d 7103570: AtomicIntegerFieldUpdater does not work when SecurityManager is installed
Perform class.getField inside a doPrivileged block

Reviewed-by: chegar, psandoz
2012-05-08 02:59:10 -04:00
Vladimir Kozlov
904f53db88 7160610: Unknown Native Code compilation issue
When constructing input vector use type of vector's operation which use it since element's sizes should match.

Reviewed-by: never, twisti
2012-05-07 12:37:46 -07:00
Rob McKenna
fd928bc1ef 7166687: InetAddress.getLocalHost().getHostName() returns FQDN
Reviewed-by: chegar
2012-05-07 13:34:19 +01:00
Sean Chou
703f08dfe8 7166048: Remove the embeded epoll data structure
Reviewed-by: alanb
2012-05-07 16:43:16 +08:00
Joseph Provino
e897b69d19 Merge 2012-05-05 10:24:55 -04:00
Xue-Lei Andrew Fan
7ae15519b1 7153184: NullPointerException when calling SSLEngineImpl.getSupportedCipherSuites
Reviewed-by: weijun
2012-05-04 17:28:27 -07:00
Alejandro Murillo
ffd4d39144 7166615: new hotspot build - hs24-b10
Reviewed-by: jcoomes
2012-05-04 15:26:05 -07:00
Alejandro Murillo
d1c83acabb Added tag hs24-b09 for changeset 6123dd756c56 2012-05-04 14:10:31 -07:00
Alejandro Murillo
2889d16425 Merge 2012-05-04 14:10:30 -07:00
Knut Anders Hatlen
2f8d099c20 7166598: FilteredRowSetImpl can result in Invalid Cursor Position
Reviewed-by: lancea
2012-05-04 16:00:47 -04:00
John Coomes
05bee5dc82 Merge 2012-05-04 10:46:32 -07:00
Sergey Bylokhov
bf549e93b9 7147055: [macosx] Cursors are changing over a blocked window; also blinking
Reviewed-by: art, kizune
2012-05-04 21:25:08 +04:00
Jan Lahoda
324e987e82 7166010: (javac) JavacMessager incorrectly restores log source file
Reviewed-by: jjg
2012-05-04 07:55:51 -07:00
Oleg Pekhovskiy
b963b0bcc4 7146237: closed/java/awt/Focus/SetFocusTraversalKeysTest/SetFocusTraversalTest.html failed since 1.8.0b19
Reviewed-by: art, anthony
2012-05-04 18:42:08 +04:00
Alexander Scherbatiy
045ba7db6b 7024963: Notepad demo: remove non-translatable resources from Notepad.properties file
Reviewed-by: rupashka
2012-05-04 13:15:49 +04:00
Keith McGuigan
ff66fcc442 7160757: Problem with hotspot/runtime_classfile
Allow only current and super invokespecials of <init>

Reviewed-by: never, coleenp, dcubed
2012-05-03 15:37:46 -04:00
Alexander Zuev
e3ab8ba856 7148289: [macosx] Deadlock in sun.lwawt.macosx.CWrapper$NSScreen.visibleFrame
Reviewed-by: leonidr
2012-05-03 21:54:29 +04:00
Leonid Romanov
e6869edf38 7124376: [macosx] Modal dialog lost focus
Reviewed-by: anthony
2012-05-03 19:22:38 +04:00
Sergey Bylokhov
0705c62050 7160623: [macosx] Editable TextArea/TextField are blocking GUI applications from exit
Reviewed-by: anthony, art
2012-05-03 18:29:00 +04:00
Edvard Wendelin
1f736c82a9 7154130: Add Mac OS X Instructions to README-builds.html
Reviewed-by: ohair
2012-05-03 14:17:30 +02:00
David Katleman
6f383ae89d Merge 2012-05-02 15:47:08 -07:00
David Katleman
5e4fc9cf1e Merge 2012-05-02 15:46:52 -07:00
Jim Gish
b4c2c567d6 7160714: Strange or obsolete @see tags in some exception java.util javadoc
Reviewed-by: mduigou, dholmes, alanb
2012-05-02 21:46:31 +01:00
Joseph Provino
0e89e92d04 Merge 2012-05-02 15:47:06 -04:00
Rémi Forax
05ffd97b08 7165102: Only run assertion on Integer autoboxing cache size once
Reviewed-by: darcy, alanb
2012-05-02 20:01:59 +01:00
Jiangli Zhou
2fa131f8db 7158552: The instanceKlsss::_host_klass is only needed for anonymous class for JSR 292 support
Change the _host_klass to be conditionally created embedded instanceKlass field.

Reviewed-by: jrose, coleenp, dholmes
2012-05-02 13:21:36 -04:00
Lana Steuck
26faf043d2 Merge 2012-05-02 10:17:29 -07:00
Lana Steuck
60af5c24ef Merge 2012-05-02 09:54:57 -07:00
Lana Steuck
61fb6f377c Merge 2012-05-02 09:53:29 -07:00
Alexander Scherbatiy
4d0e923a60 7154048: [macosx] At least drag twice, the toolbar can be dragged to the left side
Reviewed-by: anthony, leonidr
2012-05-02 17:54:18 +04:00
Vinnie Ryan
43ef89d4a6 7087021: TEST: com/sun/crypto/provider/Mac/MacClone.java failed on Solaris sparc 5.10
Reviewed-by: mullan
2012-05-02 14:50:46 +01:00
Dmitry Cherepanov
3f596509e1 7154062: [macosx] Mouse cursor isn't updated in applets
Reviewed-by: anthony, art
2012-05-02 13:53:06 +04:00
Mandy Chung
728600d4e3 7164376: Replace use of sun.security.action.LoadLibraryAction with System.loadLibrary
Reviewed-by: alanb, mullan, prr
2012-05-01 19:45:34 -07:00
Lana Steuck
521fd9e111 Merge 2012-05-01 11:30:51 -07:00
Lana Steuck
f0bfafa2e2 Merge 2012-05-01 11:29:58 -07:00
Xue-Lei Andrew Fan
4a3f30b744 7158688: Typo in SSLContext Spec
Reviewed-by: weijun, wetmore
2012-05-01 03:48:26 -07:00
Alan Bateman
6fed495d1f 7164570: (fs) WatchService queues CREATE event but not DELETE event for very short lived files [sol11]
Reviewed-by: chegar
2012-05-01 11:17:20 +01:00
Kelly O'Hair
e0e7eb6c44 7165312: Fix jaxp source movement for new build-infra
Reviewed-by: ohrstrom
2012-04-30 16:03:40 -07:00
Magnus Ihse Bursie
d85f615c03 7165277: Fix missing execute permission issue running logger.sh
Reviewed-by: ohair
2012-04-30 12:13:29 -07:00
Christopher Gruszka
aa3de76bc8 Merge 2012-04-27 14:37:44 -04:00
Xue-Lei Andrew Fan
03b36bd454 6996372: synchronizing handshaking hash
Remove the unnecessary synchronization. Also reviewed by David Schlosnagle (schlosna@gmail.com)

Reviewed-by: weijun
2012-04-27 04:25:50 -07:00
Lana Steuck
06bc452803 Merge 2012-04-26 18:25:33 -07:00
Lana Steuck
5b2008805b Merge 2012-04-26 18:15:49 -07:00
Lana Steuck
6c68dd5523 Merge 2012-04-26 14:21:19 -07:00
Lana Steuck
5701c33c6f Merge 2012-04-26 14:14:38 -07:00
David Katleman
3118f65376 Added tag jdk8-b36 for changeset 5875a9028f2c 2012-04-26 14:07:29 -07:00
David Katleman
cd1a43e9b2 Added tag jdk8-b36 for changeset 8a3b65a2aab7 2012-04-26 14:07:12 -07:00
David Katleman
2867dc7446 Added tag jdk8-b36 for changeset d142a9139249 2012-04-26 14:06:31 -07:00
David Katleman
4149bc3c4a Added tag jdk8-b36 for changeset 69a997cbdf15 2012-04-26 14:06:27 -07:00
David Katleman
a4aab05579 Added tag jdk8-b36 for changeset a7cb86ab5b6e 2012-04-26 14:05:31 -07:00
David Katleman
530ce70e39 Added tag jdk8-b36 for changeset 46cc3a1a6961 2012-04-26 14:05:00 -07:00
David Katleman
66a72d7411 Added tag jdk8-b36 for changeset 9e7bde7b948b 2012-04-26 14:04:42 -07:00
Dean Long
ea89242447 7162955: Attach api on Solaris, too many open files
Release server-side socket after client receives it.

Reviewed-by: sla, dsamersoff, dcubed, acorn
2012-04-26 16:24:15 -04:00
Jennifer Godinez
64c6dc258c 7013850: Please change the mnemonic assignment system to avoid translation issue
Reviewed-by: prr, mfang
2012-04-26 13:16:52 -07:00
Kurchi Subhra Hazra
c53c258233 7118100: (prefs) Inconsistency when using system and user preference on OSX Lion
Enable user to read/write preferences to persistent storage

Reviewed-by: alanb
2012-04-26 12:04:29 -07:00
Alexander Potochkin
8c3f861909 7124328: [macosx] javax.swing.JDesktopPane.getAllFramesInLayer returns unexpected value
Reviewed-by: anthony
2012-04-26 21:25:14 +04:00
Alexander Potochkin
21e63eca82 7124210: [macosx] Replacing text in a TextField does generate an extra TextEvent
Reviewed-by: serb
2012-04-26 21:16:12 +04:00
Jonathan Lu
39c1b4be34 7154030: java.awt.Component.hide() does not repaint parent component
Reviewed-by: rupashka
2012-04-26 12:39:11 +08:00
Daniel D. Daugherty
5b91fbd2b5 7164344: enabling ZIP_DEBUGINFO_FILES causes unexpected test failures on Solaris and Windows
Disable FDS by default on Solaris; disable ZIP_DEBUGINFO_FILES by default on Windows.

Reviewed-by: acorn, sspitsyn
2012-04-25 15:06:51 -07:00
Kurchi Subhra Hazra
6d834825de 7160242: (prefs) Preferences.remove(null) does not throw NPE [macosx]
Insert null check of argument in remove()'s implementation

Reviewed-by: forax, chegar, alanb
2012-04-25 12:31:31 -07:00
Scott Kovatch
9dac65e6e5 7128699: Fix bundle name so it contains the bugfix number in the name
Reviewed-by: robilad
2012-04-25 12:18:10 -07:00
Leonid Romanov
653ffb1218 7154480: [macosx] Not all popup menu items are visible
Reviewed-by: art
2012-04-25 18:15:57 +04:00
Alexander Scherbatiy
7f8dfa7abb 7163482: [macosx] Regtest closed/javax/swing/JTree/4908142/bug4908142.java intermittent failure
Reviewed-by: rupashka
2012-04-25 16:48:12 +04:00
Bengt Rutisson
93bfefecfe 7163848: G1: Log GC Cause for a GC
Reviewed-by: johnc, jwilhelm, jmasa
2012-04-25 12:36:37 +02:00
Jon Masamitsu
9d991480e9 Merge 2012-04-25 15:51:10 -07:00
John Cuthbertson
377a04fe57 7143490: G1: Remove HeapRegion::_top_at_conc_mark_count
Removed the HeapRegion::_top_at_conc_mark_count field. It is no longer needed as a result of the changes for 6888336 and 7127706. Refactored the closures that finalize and verify the liveness counting data so that common functionality was placed into a base class.

Reviewed-by: brutisso, tonyp
2012-04-25 10:23:12 -07:00
Jon Masamitsu
b63f7f3a18 7164144: Fix variable naming style in freeBlockDictionary.* and binaryTreeDictionary*
Fix naming style to be consistent with the predominant hotspot style.

Reviewed-by: ysr, brutisso
2012-04-25 09:55:55 -07:00
Daniel D. Daugherty
4ab089ddba Merge 2012-04-24 15:20:40 -07:00
Kurchi Subhra Hazra
21d0c9ef0d 7144274: [macosx] Default IPv6 multicast interface is not being set when calling MulticastSocket.joinGroup()
Get default interface for Mac OS X when interface is not set

Reviewed-by: chegar
2012-04-24 14:59:45 -07:00
Jennifer Godinez
59a75697e3 7157659: [macosx] Landscape Printing orientation doesn't work
Reviewed-by: bae, prr
2012-04-24 13:29:04 -07:00
Nils Eliasson
83ff79ed01 7157695: Add windows implementation of socket interface
Reviewed-by: kvn, dholmes, twisti
2012-04-24 12:15:32 -07:00
Kumar Srinivasan
cb9507190e 7151434: java -jar -XX crashes java launcher
Reviewed-by: mchung, darcy
2012-04-24 10:37:01 -07:00
Anthony Petrov
14842a2b97 7131021: [macosx] Consider using system properties to pass arguments from the launcher to AWT/SplashScreen
Document the environment variables and add tests

Reviewed-by: ksrini
2012-04-24 20:39:40 +04:00
Nicolas Carranza
2942df6c93 7163898: add isLoggable() check to doLog()
Add the check and return immediately if it's false

Reviewed-by: anthony, mchung, sla
2012-04-24 19:12:47 +04:00
Anthony Petrov
56a050e73a 7150109: [macosx] the Frame showed incomplete
Open-source the tests

Reviewed-by: art
2012-04-24 17:47:50 +04:00
Deven You
8c029909a4 7163865: Performance improvement for DateFormatSymbols.getZoneIndex(String)
Reviewed-by: okutsu
2012-04-24 21:06:16 +08:00
Lana Steuck
c57073d6ee Merge 2012-04-23 16:59:32 -07:00
Lana Steuck
d331cf663e Merge 2012-04-23 16:58:40 -07:00
Lana Steuck
e4e2e9efec Merge 2012-04-23 16:55:12 -07:00
Daniel D. Daugherty
1feb712387 Merge 2012-04-23 11:03:30 -07:00
Staffan Larsen
bf5a3b90fb 7163524: Add SecTaskAccess attribute to jstack [macosx]
Reviewed-by: dholmes
2012-04-23 16:34:32 +02:00
Staffan Larsen
ca57fd5c97 7162063: libsaproc debug print should format size_t correctly on 64bit platform
Reviewed-by: rbackman, mgronlun, dholmes
2012-04-23 13:30:39 +02:00
Alan Bateman
35a0ff69b0 7132924: (dc) DatagramChannel.disconnect throws SocketException with IPv4 socket and IPv6 enabled [macosx]
Reviewed-by: chegar
2012-04-22 21:22:17 +01:00
Alan Bateman
154cd32776 Merge 2012-04-22 19:12:39 +01:00
Alan Bateman
091f0781b8 7163395: jdk8/tl no longer builds on Mac
Reviewed-by: chegar, ohair, ksrini
2012-04-22 19:09:02 +01:00
Kumar Srinivasan
b0c273a9b8 6981776: Pack200 must support -target 7 bytecodes
Pack200 implementation of JSR-200 updated for JSR-292 changes

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: jrose, ksrini
2012-04-22 06:54:38 -07:00
Alejandro Murillo
6de80de07f 7163193: new hotspot build - hs24-b09
Reviewed-by: jcoomes
2012-04-20 17:13:36 -07:00
Alejandro Murillo
240c3c4839 Added tag hs24-b08 for changeset 55ac5f20c7bf 2012-04-20 16:23:49 -07:00
Alejandro Murillo
f4ce595352 Merge 2012-04-20 16:23:48 -07:00
John Cuthbertson
b2ab93cc7b Merge 2012-04-20 11:41:49 -07:00
Misha Bykov
beaeba8862 7161925: sjava files in corba don't have copyright string and legal notice
Reviewed-by: chegar
2012-04-20 17:34:25 +01:00
Kevin Walls
7e36bafdcd 7162488: VM not printing unknown -XX options
Reviewed-by: dholmes, kamg
2012-04-20 14:55:45 +01:00
Sean Chou
c354b234a4 7159982: ZipFile uses static for error message when malformed zip file encountered
Reviewed-by: alanb, dholmes
2012-04-20 16:11:28 +08:00
Jonathan Lu
91ae75b087 7055065: NullPointerException when sorting JTable with empty cell
Reviewed-by: rupashka
2012-04-20 13:13:00 +08:00
Sean Chou
2f21d39ae5 7129742: Unable to view focus in Non-Editable TextArea
Make sure the cursor is visible by setVisible(true)

Reviewed-by: rupashka, alexp
2012-04-20 10:34:40 +08:00
Kurchi Subhra Hazra
0590a1ea49 7158636: InterfaceAddress.getBroadcast() returns invalid broadcast address on WLAN
Update Windows native code to infer WLAN interface type in Windows Vista and later

Reviewed-by: chegar, alanb
2012-04-19 18:11:28 -07:00
Kurchi Subhra Hazra
4f6ca7513e 7162385: TEST_BUG: sun/net/www/protocol/jar/B4957695.java failing again
Enable finding "foo1.jar"

Reviewed-by: chegar
2012-04-19 13:26:06 -07:00
David Katleman
d43b7a3a07 Added tag jdk8-b35 for changeset 55cc12e59097 2012-04-19 12:19:06 -07:00
David Katleman
26c6d93e07 Added tag jdk8-b35 for changeset 7d350b06fde4 2012-04-19 12:18:58 -07:00
David Katleman
c103c7f049 Added tag jdk8-b35 for changeset dc30e060f828 2012-04-19 12:18:55 -07:00
David Katleman
8e5fedeb45 Added tag jdk8-b35 for changeset 4bca4ac90e85 2012-04-19 12:18:53 -07:00
David Katleman
17f06f1623 Added tag jdk8-b35 for changeset f81ec813e7ee 2012-04-19 12:18:46 -07:00
David Katleman
dadb671a17 Added tag jdk8-b35 for changeset b8ea05aeddf8 2012-04-19 12:18:41 -07:00
David Katleman
d7ad862058 Added tag jdk8-b35 for changeset 499f1fc13620 2012-04-19 12:18:32 -07:00
Vinnie Ryan
a7c8728704 7162823: Modify the list of excluded tests (ProblemList
Reviewed-by: alanb
2012-04-19 16:58:34 +01:00
Coleen Phillimore
e776b337e8 Merge 2012-04-19 10:53:35 -04:00
Paul Sandoz
5befb6f577 7162262: (fs) Typo in java.nio.file.Path class description
Reviewed-by: alanb
2012-04-19 14:05:07 +01:00
David Katleman
e0ccdb1d31 Merge 2012-04-18 16:39:07 -07:00
Tom Rodriguez
a02fad04b2 7161796: PhaseStringOpts::fetch_static_field tries to fetch field from the Klass instead of the mirror
Reviewed-by: twisti
2012-04-18 16:08:34 -07:00
Antonios Printezis
0afaaf8d36 7145441: G1: collection set chooser-related cleanup
Cleanup of the CSet chooser class: standardize on uints for region num and indexes (instead of int, jint, etc.), make the method / field naming style more consistent, remove a lot of dead code.

Reviewed-by: johnc, brutisso
2012-04-18 13:39:55 -04:00
Lana Steuck
c7e591cc26 Merge 2012-04-18 10:22:32 -07:00
Lana Steuck
b0654071b7 Merge 2012-04-18 10:21:59 -07:00
Lana Steuck
9e2a9c561e Merge 2012-04-18 10:20:19 -07:00
Lana Steuck
b85926e45f Merge 2012-04-18 10:18:10 -07:00
Lana Steuck
cc3d72b55f Merge 2012-04-18 10:16:23 -07:00
Leonid Romanov
846b62bbd6 7124286: [macosx] Option modifier should work like AltGr as in Apple jdk
Reviewed-by: anthony
2012-04-18 21:08:38 +04:00
Michael McMahon
e49c821349 Merge 2012-04-18 16:05:12 +01:00
Michael McMahon
899181bf7c 7162043: Add headless mode tests to problem list [macosx]
Reviewed-by: alanb
2012-04-18 16:04:19 +01:00
Antonios Printezis
01ea4199c7 7157073: G1: type change size_t -> uint for region counts / indexes
Change the type of fields / variables / etc. that represent region counts and indeces from size_t to uint.

Reviewed-by: iveresov, brutisso, jmasa, jwilhelm
2012-04-18 07:21:15 -04:00
Dmitry Cherepanov
3f50074142 7156194: [macosx] Can't type non-ASCII characters into applets
Reviewed-by: anthony, art
2012-04-18 09:29:09 +04:00
Remi Forax
00ef83a6ab 7157893: Warnings Cleanup in java.util.*
Minor code changes to cleanup warnings in java.util.*

Reviewed-by: mduigou, naoto, smarks
2012-04-17 12:21:56 -07:00
Kurchi Subhra Hazra
4869b7a5a7 7152856: TEST_BUG: sun/net/www/protocol/jar/B4957695.java failing on Windows
Remove usage of HTTP Server at test/sun/net/www/httptest

Reviewed-by: chegar, alanb
2012-04-17 11:59:12 -07:00
Joe Wang
87e24367ff 7160380: Sync JDK8 with JAXP 1.4.5
Bring JDK8 up to date to what we have in 7u4

Reviewed-by: lancea, mullan
2012-04-17 11:21:35 -07:00
Joe Wang
db4db38876 7160380: Sync JDK8 with JAXP 1.4.5
Bring JDK8 up to date to what we have in 7u4

Reviewed-by: lancea, mullan
2012-04-17 11:17:59 -07:00
Nils Eliasson
2ded12cdfd 7162094: LateInlineCallGenerator::do_late_inline crashed on uninitialized _call_node
Reviewed-by: never, twisti
2012-04-17 11:04:22 -07:00
Alexander Zuev
b86618edf9 7161109: [macosx] JCK AWT interactive test DnDTextDropTest fails on MacOS
Reviewed-by: serb
2012-04-17 21:40:12 +04:00
Daniel D. Daugherty
ea4cd6ca39 7159320: change default ZIP_DEBUGINFO_FILES back to '1' after fix for 7133529 is available
Reviewed-by: ohair, jmelvin, sspitsyn
2012-04-17 09:02:57 -07:00
Staffan Larsen
2231891a18 Merge 2012-04-17 08:49:50 -07:00
Jim Gish
9e2790c8ae 7116200: (cs) test/java/nio/charset/coders/StreamTimeout.java fails with "Address already in use"
Co-authored-by: Remi Forax <forax@univ-mlv.fr>
Reviewed-by: alanb, chegar
2012-04-17 15:46:04 +01:00
Staffan Larsen
a133263681 Merge 2012-04-17 07:25:05 -07:00
Rob McKenna
350730be55 7118373: (se) Potential leak file descriptor when deregistrating at around the same time as an async close
Reviewed-by: alanb
2012-04-17 07:14:14 -07:00
Dmeetry Degrave
c5681473cb 7015981: java.net.HttpCookie.domainMatches returns false if domain doesn't start with a dot
Reviewed-by: chegar
2012-04-17 16:13:28 +04:00
Alex Menkov
5df1b2e7f4 Merge 2012-04-17 13:16:06 +03:00
Alex Menkov
56c8257743 7100140: [macosx] Test closed/javax/sound/sampled/DirectAudio/bug6400879.java is invalid
Reviewed-by: prr
2012-04-17 13:03:01 +03:00
Staffan Larsen
311ea4a969 7147848: com.sun.management.UnixOperatingSystem uses hardcoded dummy values [macosx]
Provide the missing implementation UnixOperatingSystem on Mac OS X

Reviewed-by: dsamersoff, dcubed
2012-04-17 06:45:57 +02:00
James Melvin
d090606f36 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6
On Mac OS X, align system property "os.arch" with Apple legacy JDKs.  Also, improve os.name string matching by using .contains() method instead of .startsWith(). This fix spans multiple repositories.

Reviewed-by: dcubed, phh, ohair, katleman
2012-04-16 18:09:53 -04:00
James Melvin
5b1baa3d10 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6
On Mac OS X, align system property "os.arch" with Apple legacy JDKs.  Also, improve os.name string matching by using .contains() method instead of .startsWith(). This fix spans multiple repositories.

Reviewed-by: dcubed, phh, ohair, katleman
2012-04-16 17:10:35 -04:00
Alan Bateman
b29ee10938 7143744: (se) Stabilize KQueue SelectorProvider and make default on MacOSX
Reviewed-by: michaelm, chegar
2012-04-16 20:12:20 +01:00
Anthony Petrov
975313d5cc 7080700: numAppContexts is accessed in non-threadsafe way in sun.awt.AppContext
Replace a volatile integer with an AtomicInteger for numAppContexts

Reviewed-by: anthony, art, dholmes
2012-04-16 18:36:58 +04:00
Alex Menkov
253976ad79 7058852: javax/sound/sampled/FileWriter/AlawEncoderSync.java failing intermittently
Reviewed-by: prr
2012-04-16 17:04:49 +03:00
Charles Lee
a51733d81d 7161282: Move test/sun/tools/classpath/RMICClassPathTest.java to a more appropriate location
Reviewed-by: alanb
2012-04-16 11:12:10 +08:00
Pavel Porvatov
afa494b2a5 7149090: Nimbus:BorderFactory.createTitledBorder() the DEFAULT position of a title is not the same as the TOP
Reviewed-by: alexp
2012-04-15 12:58:12 +03:00
Vinnie Ryan
34af18cd40 7152169: TEST_BUG: sun/security/tools/jarsigner/ec.sh occasionally fail due to keytool error on sparc
Reviewed-by: mullan
2012-04-13 19:00:08 +01:00
Leonid Romanov
8263a06f21 7124272: [macosx] VK_DELETE does produce an extraneous character in a TextArea or TextField
Reviewed-by: kizune, art
2012-04-13 20:31:47 +04:00
Sean Mullan
9fd5ef2141 Merge 2012-04-13 09:49:41 -04:00
Sean Mullan
ac620e811d 7152564: Improve CodeSource.matchLocation(CodeSource) performance
7155693: CodeSource.matchLocation getPort test can be improved

Reviewed-by: chegar
2012-04-13 09:46:25 -04:00
Daniel D. Daugherty
9de05ceb7a 7160895: tools/launcher/VersionCheck.java attempts to launch .debuginfo
Do not install .debuginfo files in bin dir.

Reviewed-by: ksrini, sspitsyn
2012-04-12 16:23:24 -07:00
Xueming Shen
1f4653910f 7067045: replaceAll("\u20ac", "$"); causses java.lang.StringIndexOutOfBoundsExceptio
Updated to throw IAE instead.

Reviewed-by: lancea
2012-04-12 15:01:41 -07:00
Tom Rodriguez
24500364ed 7160677: missing else in fix for 7152811
Reviewed-by: kvn, kevinw
2012-04-12 12:07:09 -07:00
Xueming Shen
d4817a1e4f 7152690: Initialization error with charset SJIS_0213 when security manager is enabled
To use doPrivileged block to wrap the data reading code

Reviewed-by: alanb
2012-04-12 10:55:51 -07:00
Xueming Shen
17d3cafd5b 7156873: (zipfs) FileSystems.newFileSystem(uri, env) fails for uri with escaped octets
To use URI.getRawSchemeSpecificPart() to get the scheme part of the uri

Reviewed-by: alanb, chegar
2012-04-12 10:43:04 -07:00
David Katleman
275576b218 Added tag jdk8-b34 for changeset c529d3f99946 2012-04-12 09:35:37 -07:00
David Katleman
b127787553 Added tag jdk8-b34 for changeset 17ed142e28eb 2012-04-12 09:35:30 -07:00
David Katleman
a19cce278c Added tag jdk8-b34 for changeset f2ca1609c83c 2012-04-12 09:35:19 -07:00
David Katleman
a1a5bd99c1 Added tag jdk8-b34 for changeset 664a26130786 2012-04-12 09:35:15 -07:00
David Katleman
5ed629de9f Added tag jdk8-b34 for changeset c71d5b52c0e8 2012-04-12 09:34:57 -07:00
David Katleman
5099649ff0 Added tag jdk8-b34 for changeset 6ec49b7a7e19 2012-04-12 09:34:50 -07:00
David Katleman
0ad7c6fe6d Added tag jdk8-b34 for changeset 863d9350e84b 2012-04-12 09:34:47 -07:00
Joe Wang
60663487f6 7160496: Rename JDK8 JAXP source directory
Moving src/share/classes to src

Reviewed-by: ohair
2012-04-12 08:38:26 -07:00
Kelly O'Hair
5ad937a85f Merge 2012-04-12 08:11:45 -07:00
Kelly O'Hair
1095f90a26 7160976: Fix missing file in new build infrastructure: Defs-utils.gmk
Reviewed-by: ihse
2012-04-12 08:11:08 -07:00
Pavel Porvatov
93c317d8e6 7160653: test/javax/swing/plaf/synth/7158712/bug7158712.java failed on Ubuntu
Reviewed-by: alexp
2012-04-12 12:48:31 +03:00
Deven You
00b38ee051 6610897: New constructor in sun.tools.java.ClassPath builds a path using File.separator instead of File.pathSeparator
Reviewed-by: alanb
2012-04-12 15:04:39 +08:00
Igor Veresov
d16ab3b53e 7160539: JDeveloper crashes on 64-bit Windows
X64 C1 needs to zero upper 32bits when doing l2i conversion

Reviewed-by: never, kvn
2012-04-11 19:15:46 -07:00
Lana Steuck
d4fc10af1d Merge 2012-04-11 18:52:45 -07:00
Lana Steuck
5e9ea38531 Merge 2012-04-11 18:44:33 -07:00
Rob McKenna
c3a386ef6d 7143606: File.createTempFile should be improved for temporary files created by the platform
Reviewed-by: sherman
2012-04-11 17:47:56 -07:00
Bradford Wetmore
8716e4744b 7157903: JSSE client sockets are very slow
Reviewed-by: xuelei
2012-04-11 17:12:35 -07:00
David Katleman
c60e89e144 Merge 2012-04-11 14:10:53 -07:00
David Katleman
06ec3d779f Merge 2012-04-11 14:09:48 -07:00
David Katleman
c7586330ba Merge 2012-04-11 14:08:09 -07:00
David Katleman
f7eeff71a4 Merge 2012-04-11 14:08:06 -07:00
David Katleman
cfca7cda82 Merge 2012-04-11 14:07:43 -07:00
David Katleman
8a290b8e6a Merge 2012-04-11 14:07:41 -07:00
Leonid Romanov
9cbde0b81e 7124411: [macosx] There's no KEY_TYPED for VK_ESCAPE
Reviewed-by: art
2012-04-11 21:06:08 +04:00
Daniel D. Daugherty
5017ee9fdb 7071907: JDK: Full Debug Symbols
Add initial FDS support to some libraries and programs.

Reviewed-by: kamg, fparain, sspitsyn, dsamersoff
2012-04-11 07:26:35 -07:00
Stefan Karlsson
99802ac63d 7160613: VerifyRememberedSets doesn't work with CompressedOops
Use load_decode_heap_oop instead of load_decode_heap_oop_not_null

Reviewed-by: tonyp, brutisso
2012-04-11 16:18:45 +02:00
Bengt Rutisson
f695b75d78 4988100: oop_verify_old_oop appears to be dead
Removed oop_verify_old_oop and allow_dirty. Also reviewed by: alexlamsl@gmail.com

Reviewed-by: jmasa, jwilhelm
2012-04-16 08:57:18 +02:00
Bengt Rutisson
bb59715dae 7160728: Introduce an extra logging level for G1 logging
Added log levels "fine", "finer" and "finest". Let PrintGC map to "fine" and PrintGCDetails map to "finer". Separated out the per worker information in the G1 logging to the "finest" level.

Reviewed-by: stefank, jwilhelm, tonyp, johnc
2012-04-13 01:59:38 +02:00
Maurizio Cimadamore
d951098c65 7154127: Inference cleanup: remove bound check analysis from visitors in Types.java
Remove bound checking rules from recursive subtype visitors in Types.java and replace with centralized bound-checking logic

Reviewed-by: jjg, dlsmith
2012-04-11 10:50:11 +01:00
Lana Steuck
86d20bcabe Merge 2012-04-10 23:19:26 -07:00
Lana Steuck
25e2d2bf5c Merge 2012-04-10 23:18:33 -07:00
Joe Wang
dcfcdd72ce 7157609: Issues with loop
Reviewed-by: hawtin, lancea, asaha
2012-04-10 13:59:21 -07:00
Sergey Bylokhov
2e12d45877 7097771: setEnabled does not work for components in disabled containers
Reviewed-by: art, anthony
2012-04-10 22:09:58 +04:00
Abhijit Saha
d7dd0a253b Merge 2012-04-10 10:44:46 -07:00
Abhijit Saha
20a3f240cd Merge 2012-04-10 10:42:34 -07:00
Abhijit Saha
4bac80d151 Merge 2012-04-10 10:41:36 -07:00
Jiangli Zhou
4fd64312c8 7159772: instanceKlass::all_fields_count() returns incorrect total field count
Fix instanceKlass::all_fields_count() bug.

Reviewed-by: kvn, never
2012-04-10 09:31:04 -07:00
Pavel Porvatov
910846ed2c 7158712: Synth Property "ComboBox.popupInsets" is ignored
Reviewed-by: alexp
2012-04-10 19:09:48 +03:00
Pavel Porvatov
e630f8d216 7146146: Deadlock between subclass of AbstractDocument and UndoManager
Reviewed-by: art
2012-04-10 18:53:15 +03:00
Fredrik Ohstrom
e32ab98b32 7074397: Build infrastructure changes (makefile re-write)
New makefiles transition, old and new living side by side for now.

Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, jjg, dholmes, ohrstrom, erikj, ihse, tgranat, ykantser
2012-04-10 08:22:03 -07:00
Fredrik Ohstrom
c41339543f 7074397: Build infrastructure changes (makefile re-write)
New makefiles transition, old and new living side by side for now.

Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, jjg, dholmes, ohrstrom, erikj, ihse, tgranat, ykantser
2012-04-10 08:18:28 -07:00
Fredrik Ohstrom
9b450f0606 7074397: Build infrastructure changes (makefile re-write)
New makefiles transition, old and new living side by side for now.

Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, jjg, dholmes, ohrstrom, erikj, ihse, tgranat, ykantser
2012-04-10 08:15:25 -07:00
Fredrik Ohstrom
36523aa64e 7074397: Build infrastructure changes (makefile re-write)
New makefiles transition, old and new living side by side for now.

Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, jjg, dholmes, ohrstrom, erikj, ihse, tgranat, ykantser
2012-04-10 08:14:57 -07:00
Fredrik Ohstrom
78c5623842 7074397: Build infrastructure changes (makefile re-write)
New makefiles transition, old and new living side by side for now.

Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, jjg, dholmes, ohrstrom, erikj, ihse, tgranat, ykantser
2012-04-10 08:14:42 -07:00
Fredrik Ohstrom
2c8ab7122b 7074397: Build infrastructure changes (makefile re-write)
New makefiles transition, old and new living side by side for now.

Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Torbjorn Granat <torbjorn.granat@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: ohair, jjg, dholmes, ohrstrom, erikj, ihse, tgranat, ykantser
2012-04-10 08:13:29 -07:00
Joel Borggrén-Franck
8a66dbf077 7158930: (ann) library support for repeating annotations is not built when compiling the JDK
Reviewed-by: ohair, erikj
2012-04-10 10:45:56 +02:00
Markus Grönlund
2c28d27dcf 7154809: JDI: update JDI/JDB debugee commandline option parsing
Update debugee commandline parsing

Reviewed-by: dcubed, dsamersoff, sla
2012-04-10 10:32:00 +02:00
Lana Steuck
7dbe9f0b6d Merge 2012-04-09 21:58:05 -07:00
Lana Steuck
69983c74a6 Merge 2012-04-09 21:57:17 -07:00
Lana Steuck
aaf6aae111 Merge 2012-04-09 21:55:42 -07:00
Weijun Wang
9c8af427e8 7158329: NPE in sun.security.krb5.Credentials.acquireDefaultCreds()
Reviewed-by: valeriep, jjg
2012-04-10 12:15:03 +08:00
Sean Zhou
79f8fba3f9 7121314: Behavior mismatch between AbstractCollection.toArray(T[] ) and its spec
Co-authored-by: Ulf Zibis <ulf.zibis@gmx.de>
Co-authored-by: David Holmes <david.holmes@oracle.com>
Reviewed-by: dholmes, mduigou
2012-04-10 10:17:36 +08:00
Clemens Eisserer
2bf65cc749 7150134: JCK api/java_awt/Graphics/index.html#DrawLine fails with OOM for jdk8 with XRender pipeline
Reviewed-by: prr
2012-04-09 15:49:33 -07:00
Jan Lahoda
0f0e273e0d 7156633: (javac) incorrect errors when parsing variable declaration in block statements
Reviewed-by: jjg
2012-04-09 14:31:18 -07:00
Alejandro Murillo
023ad06e46 7159842: new hotspot build - hs24-b08
Reviewed-by: jcoomes
2012-04-07 09:06:55 -07:00
Alejandro Murillo
5186970421 Added tag hs24-b07 for changeset a320e1d913a6 2012-04-07 08:26:15 -07:00
Alejandro Murillo
cd091372af Merge 2012-04-07 08:26:15 -07:00
Sonali Goel
9eb83db3dd 7157626: Create a new test to check major version for a class file
Reviewed-by: jjg
2012-04-06 10:10:44 -07:00
John Cuthbertson
18cb0746b3 Merge 2012-04-06 09:48:34 -07:00
Anthony Petrov
8de79a6398 7148275: [macosx] setIconImages() not working correctly (distorted icon when minimized)
Pass all images provided by user code to the system and let it do the right thing

Reviewed-by: art, swingler
2012-04-06 17:20:49 +04:00
Anthony Petrov
654920cc5b 7124553: [macosx] Need minimum size for titled Frames and JFrames
Forward-port the fix from 7u4 and also eliminate the grow box since we only support OS X 10.7+ that doesn't require it.

Reviewed-by: art, swingler
2012-04-06 17:15:09 +04:00
Anthony Petrov
1862aaa218 7147435: closed/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh failed since 7u4b11
Forward-port the fix from 7u4 and open-source the test

Reviewed-by: art
2012-04-06 17:03:34 +04:00
Phil Race
0d9cb5e775 7159136: JDK 7 font manager refactoring left JNI header generation and inclusion out of sync
Reviewed-by: igor, jgodinez
2012-04-05 15:17:19 -07:00
Phil Race
42a2707f1b 7159041: Fix for 7152519 causing build breakage
Reviewed-by: igor, jgodinez
2012-04-05 15:14:06 -07:00
Tom Rodriguez
04f50526d3 Merge 2012-04-05 15:08:04 -07:00
David Katleman
29761601c5 Added tag jdk8-b33 for changeset 5ca52c9d6568 2012-04-05 13:05:08 -07:00
David Katleman
9b1c60970b Added tag jdk8-b33 for changeset fceb406055d8 2012-04-05 13:05:00 -07:00
David Katleman
6becffdec6 Added tag jdk8-b33 for changeset c71900b39a90 2012-04-05 13:04:54 -07:00
David Katleman
380bf4c7a9 Added tag jdk8-b33 for changeset e8ae2b095548 2012-04-05 13:04:52 -07:00
David Katleman
f234bdec5b Added tag jdk8-b33 for changeset 468f9d2380ec 2012-04-05 13:04:42 -07:00
David Katleman
6dba3d3fc1 Added tag jdk8-b33 for changeset f02f1e242204 2012-04-05 13:04:35 -07:00
David Katleman
c815af765f Added tag jdk8-b33 for changeset 2f7d5473c3ca 2012-04-05 13:04:31 -07:00
Antonios Printezis
29afa9bf4b 7127697: G1: remove dead code after recent concurrent mark changes
Removed lots of dead code after some recent conc mark changes.

Reviewed-by: brutisso, johnc
2012-04-05 13:57:23 -04:00
Sergey Bylokhov
4acd4d97f3 7125657: [macosx] SpreadSheet demo has the broken display when clicking outside of the table
Reviewed-by: alexp, anthony, art
2012-04-05 20:38:24 +04:00
Sergey Bylokhov
da37ef4781 7124528: [macosx] Selection is not cleared properly in text component
Reviewed-by: anthony, art
2012-04-05 19:43:56 +04:00
Sergey Bylokhov
6412600e72 7149913: [macosx] Deadlock in LWTextComponentPeer
Reviewed-by: anthony, art
2012-04-05 19:22:54 +04:00
Sergey Bylokhov
09db79364b 7124401: [macosx] After call Frame dispose() application continues to work
Reviewed-by: art, alexp
2012-04-05 19:01:43 +04:00
Sergey Bylokhov
90430b3f49 7150105: [macosx] four scroll-buttons don't display. scroll-sliders cursors are TextCursor
Reviewed-by: anthony, art, alexp
2012-04-05 18:27:16 +04:00
Jim Gish
f3e1a941c5 7133806: Typo in Files.newByteChannel javadoc
Reviewed-by: chegar
2012-04-05 13:57:37 +01:00
Tom Rodriguez
3e6d198cf7 7152811: Issues in client compiler
Reviewed-by: kvn, jrose
2012-04-04 20:44:38 -07:00
Darryl Mocek
0881e4a989 7159130: add java/rmi/transport/pinClientSocketFactory to problem list
Reviewed-by: smarks
2012-04-04 15:57:04 -07:00
Lana Steuck
d636893400 Merge 2012-04-04 13:16:52 -07:00
Lana Steuck
6b12eddc42 Merge 2012-04-04 12:35:44 -07:00
Alexander Zuev
f3a8763e5c Merge 2012-04-04 20:32:39 +04:00
Alexander Zuev
38e189dcc0 7153735: [macosx] Text with diacritics is pasted with broken encoding
Reviewed-by: anthony
2012-04-04 20:31:50 +04:00
Chris Hegarty
60b713fd8d 6963841: java/util/concurrent/Phaser/Basic.java fails intermittently
Reviewed-by: dl, dholmes
2012-04-04 15:14:00 +01:00
Alexander Scherbatiy
ea3e5e2a84 7093156: NLS Please change the mnemonic assignment system to avoid translation issue (Swing files)
Reviewed-by: rupashka
2012-04-04 16:27:29 +04:00
Daniel D. Daugherty
f2364fbf5c 7157296: FDS: ENABLE_FULL_DEBUG_SYMBOLS flag should only affect OPT builds
Build option FULL_DEBUG_SYMBOLS=0 only affects OPT builds. Finish enabling ENABLE_FULL_DEBUG_SYMBOLS flag on Windows.

Reviewed-by: ohair, jmelvin, sspitsyn
2012-04-03 12:57:47 -07:00
Daniel D. Daugherty
62756e9f1c 7157296: FDS: ENABLE_FULL_DEBUG_SYMBOLS flag should only affect OPT builds
Build option FULL_DEBUG_SYMBOLS=0 only affects OPT builds. Finish enabling ENABLE_FULL_DEBUG_SYMBOLS flag on Windows.

Reviewed-by: ohair, jmelvin, sspitsyn
2012-04-03 10:17:06 -07:00
Daniel D. Daugherty
6f5472dfe9 7158067: FDS: ENABLE_FULL_DEBUG_SYMBOLS flag should only affect product builds
Build option FULL_DEBUG_SYMBOLS=0 only affects product builds.

Reviewed-by: ohair, jmelvin, sspitsyn
2012-04-03 09:48:34 -07:00
Anthony Petrov
e352bc83f0 7154177: [macosx] An invisible owner frame becomes visible upon clicking a child window
Establish the parent-child relationship for visible windows only

Reviewed-by: serb
2012-04-03 16:14:05 +04:00
Yuka Kamiya
e35eef1257 7158483: (tz) Support tzdata2012c
Reviewed-by: okutsu
2012-04-03 11:52:06 +09:00
Tom Rodriguez
8fc6b2ef2a 7157141: crash in 64 bit with corrupted oops
Reviewed-by: kvn, iveresov
2012-04-02 16:05:56 -07:00
Karen Kinnear
69a42aedf9 Merge 2012-04-01 17:04:26 -04:00
Lana Steuck
1bbe27a179 Merge 2012-03-31 08:43:56 -07:00
Sean Chou
045668b454 7155298: Editable TextArea/TextField are blocking GUI applications from exit
Stop default caret's timer by setVisible(false) when dispose

Reviewed-by: anthony, ant
2012-03-31 16:55:56 +08:00
Kumar Srinivasan
f13a39a361 7158090: (launcher) newly added ToolsOpts.java fails on openjdk builds
Reviewed-by: darcy
2012-03-30 17:22:02 -07:00
Lana Steuck
df0d844ee4 Merge 2012-03-30 16:58:37 -07:00
Lana Steuck
1ae8995f36 Merge 2012-03-30 16:57:50 -07:00
Lana Steuck
e6f9fc68d1 Merge 2012-03-30 16:51:57 -07:00
Bradford Wetmore
7775fea771 7142172: Custom TrustManagers that return null for getAcceptedIssuers will NPE
Reviewed-by: xuelei
2012-03-30 15:43:13 -07:00
Alejandro Murillo
cdd9c702ac 7158137: new hotspot build - hs24-b07
Reviewed-by: jcoomes
2012-03-30 14:18:17 -07:00
Alejandro Murillo
d791ecac01 Added tag hs24-b06 for changeset 020217b7a101 2012-03-30 14:07:59 -07:00
Alejandro Murillo
4b3efa84fa Merge 2012-03-30 14:07:58 -07:00
Maurizio Cimadamore
410c51d5f4 7157165: Regression: code with disjunctive type crashes javac
Bad recovery logic in parser code that checks for generic cast

Reviewed-by: jjg
2012-03-30 19:19:50 +01:00
Maurizio Cimadamore
2283a8eff1 7157688: Regression: common compiler diagnostic features swapped required/found types
Bug in resource key in compiler.properties

Reviewed-by: jjg
2012-03-30 19:19:09 +01:00
David Buck
ecc9a141a1 7154822: forward port fix for Bug 13645891 to JDK8 jcmd (1024 byte file size limit issue)
Changed so that jcmd breaks input into individual lines and sends each one to the jvm separately.

Reviewed-by: dcubed, sla
2012-03-30 10:18:04 -07:00
Anthony Petrov
6dd51e0e8e 7124428: [macosx] Frame.setExtendedState() doesn't work for undecorated windows
Emulate native NSWindow -zoom for undecorated windows

Reviewed-by: art
2012-03-30 18:10:05 +04:00
Jesper Wilhelmsson
dc0184185c Merge 2012-03-30 09:31:26 +02:00
Yong Jeffrey Huang
0d4e0d1ed0 Merge 2012-03-29 21:22:07 -07:00
Yong Jeffrey Huang
7f78d7e54c 7028073: The currency symbol for Peru is wrong
Reviewed-by: naoto
2012-03-29 21:16:58 -07:00
Dean Long
3798179e83 Merge 2012-03-29 23:49:47 -04:00
Coleen Phillimore
f5558edf7b 7131629: Generalize the CMS free list code
Make the FreeChunk, FreeList, TreeList, and BinaryTreeDictionary classes usable outside CMS.

Reviewed-by: brutisso, johnc, jwilhelm
2012-03-29 19:46:24 -07:00
Steve Sides
9d2cd27e59 7156976: improve java tools testing
Reviewed-by: darcy
2012-03-29 17:49:34 -07:00
Michael Fang
0d9edfbb5c Merge 2012-03-29 16:16:56 -07:00
Keith McGuigan
fbcf78297f 7110720: Issue with vm config file loadingIssue with vm config file loading
Disabling default config files if -XX:-ReadDefaultConfigFiles

Reviewed-by: phh, jrose, dcubed, dholmes
2012-03-29 18:55:32 -04:00
Christine Lu
96603fcc12 Added tag jdk8-b32 for changeset c0968fe1c711 2012-03-29 13:02:32 -07:00
Christine Lu
01c768e4ca Added tag jdk8-b32 for changeset fa6a1e7240ae 2012-03-29 13:02:24 -07:00
Christine Lu
a550556929 Added tag jdk8-b32 for changeset 810c7eb54560 2012-03-29 13:02:20 -07:00
Christine Lu
1a6c31bc2b Added tag jdk8-b32 for changeset b8b4c42fef3c 2012-03-29 13:02:18 -07:00
Christine Lu
5e1d3eebdf Added tag jdk8-b32 for changeset 5bfcff7a3ab2 2012-03-29 13:02:11 -07:00
Christine Lu
9fb46dcea4 Added tag jdk8-b32 for changeset a3f3757b3463 2012-03-29 13:02:07 -07:00
Christine Lu
d251572201 Added tag jdk8-b32 for changeset b160cad4e082 2012-03-29 13:02:02 -07:00
Sergey Bylokhov
044b12b8c1 7124551: [macosx] Once added, Menu shortcut cannot be removed
Reviewed-by: art, anthony
2012-03-29 17:31:48 +04:00
Frederic Parain
5bb1350803 7087969: GarbageCollectorMXBean notification contains ticks vs millis
Reviewed-by: acorn, dcubed, rbackman
2012-03-29 02:12:40 -07:00
Yuka Kamiya
e127bc8acf 7070436: Support Unicode 6.1.0 in JDK 8
Reviewed-by: okutsu
2012-03-29 18:02:36 +09:00
Michael Fang
9b2d299d84 Merge 2012-03-28 16:22:31 -07:00
Yumin Qi
4b95e50bf7 7156960: Incorrect copyright headers in parts of the Serviceability agent
Errant files added as part of 7088955 fix. The Copyright information now corrected with gpl-header template

Reviewed-by: sla, ohair, mbykov
2012-03-28 14:27:38 -07:00
Mala Bankal
c07e47b401 Merge 2012-03-28 02:53:13 -07:00
Mala Bankal
7709928453 7079902: Refine CORBA data models
Reviewed-by: coffeys
2012-03-28 02:50:50 -07:00
Frederic Parain
193b4ea20e 7156831: The jcmd man page is not included in generated bundles
Reviewed-by: dholmes, sla, dsamersoff
2012-03-28 02:20:09 -07:00
Michael McMahon
1e4dfcfbf0 7134701: [macosx] Support legacy native library names
Reviewed-by: alanb, dcubed
2012-03-27 21:08:52 +01:00
Karen Kinnear
b0fc983013 Merge 2012-03-27 15:28:52 -04:00
Naoto Sato
6f79a87444 7156459: Remove unnecessary get() from Currency.getInstance()
Reviewed-by: chegar, dholmes, mduigou
2012-03-27 10:10:47 -07:00
Anthony Petrov
5c6579f46b 7132692: [macosx] Class com.apple.eawt not functioning
Postpone setting the application delegate until the app is fully initialized

Reviewed-by: art
2012-03-27 15:53:29 +04:00
Anthony Petrov
b6cab6070f 7149085: [macosx] Quit with QuitStrategy CLOSE_ALL_WINDOWS does terminate application
Don't force the termination of the event loop in the Quit action handler

Reviewed-by: art
2012-03-27 15:49:17 +04:00
Anthony Petrov
f1484f0cd4 7150516: [macosx] appletviewer shouldn't link against libX11 on the Mac
Don't link against libX11 on the Mac

Reviewed-by: art
2012-03-27 15:41:55 +04:00
Bengt Rutisson
a6d84bc811 7156764: Remove unused size parameter from some CollectedHeap methods
Some minor cleanups

Reviewed-by: tonyp, jwilhelm
2012-03-27 10:29:59 +02:00
Lana Steuck
1b87d19c87 Merge 2012-03-26 17:32:17 -07:00
Lana Steuck
f931c18437 Merge 2012-03-26 17:31:42 -07:00
Maurizio Cimadamore
51235439c2 7133185: Update 292 overload resolution logic to match JLS
Re-implement special overload resolution support for method handles according to the JLS SE 7 definition

Reviewed-by: jjg, dlsmith, jrose
2012-03-26 15:28:49 +01:00
Maurizio Cimadamore
9b1e54dae3 7151492: Encapsulate check logic into Attr.ResultInfo
ResultInfo class should be used to make attribution code transparent w.r.t. check logic being used

Reviewed-by: jjg, dlsmith
2012-03-26 15:28:22 +01:00
Maurizio Cimadamore
9693d60c23 7151580: Separate DA/DU logic from exception checking logic in Flow.java
DA/DU analysis and exception checking analysis should live in two separate tree visitors

Reviewed-by: gafter, dlsmith, jjg
2012-03-26 15:27:51 +01:00
Sean Coffey
502876ad9a 7143851: Improve IIOP stub and tie generation in RMIC
7149048: Changes to corba rmic stubGenerator class are not used during jdk build process

Reviewed-by: mschoene, robm
2012-03-26 14:03:09 +01:00
Sean Coffey
5e34672a6d 7143851: Improve IIOP stub and tie generation in RMIC
7149048: Changes to corba rmic stubGenerator class are not used during jdk build process

Reviewed-by: mschoene, robm
2012-03-26 14:01:40 +01:00
Jesper Wilhelmsson
6c25e1cdce Merge 2012-03-26 13:22:38 +02:00
Dean Long
50a2f8c16d Merge 2012-03-25 18:08:52 -04:00
John Coomes
2ecd2048d4 7156659: new hotspot build - hs24-b06
Reviewed-by: johnc
2012-03-23 22:34:22 -07:00
John Coomes
f4e105e841 Added tag hs24-b05 for changeset 56f2ec7778c3 2012-03-23 21:31:15 -07:00
John Coomes
258bd8a2ba Merge 2012-03-23 21:31:14 -07:00
Daniel D. Daugherty
86dac44dac 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files.

Reviewed-by: dholmes, ohair, sspitsyn
2012-03-23 11:50:33 -07:00
Daniel D. Daugherty
bf4827166b 7136506: FDS: rework jdk repo Full Debug Symbols support
JPRT needs to use the '-y' option with zip on non-Windows control builds in order to preserve symbolic links.

Reviewed-by: dholmes, ohair
2012-03-23 09:17:31 -07:00
Coleen Phillimore
1431a5efd1 7150058: Allocate symbols from null boot loader to an arena for NMT
Move symbol allocation to an arena so NMT doesn't have to track them at startup.

Reviewed-by: never, kamg, zgu
2012-03-23 11:16:05 -04:00
Bengt Rutisson
efa036748b 7103665: HeapWord*ParallelScavengeHeap::failed_mem_allocate(unsigned long,bool)+0x97
Make sure that MutableNUMASpace::ensure_parsability() only calls CollectedHeap::fill_with_object() with valid sizes and make sure CollectedHeap::filler_array_max_size() returns a value that can be converted to an int without overflow

Reviewed-by: azeemj, jmasa, iveresov
2012-03-23 15:28:24 +01:00
Antonios Printezis
450d6e8d9a 7146246: G1: expose some of the -XX flags that drive which old regions to collect during mixed GCs
Make two G1 cmd line flags available in product builds: G1HeapWastePercent (previously called: G1OldReclaimableThresholdPercent) and G1MixedGCCountTarget (previous called: G1MaxMixedGCNum). Also changed the default of the former from 1% to 5% and the default for G1OldCSetRegionLiveThresholdPercent to 90%.

Reviewed-by: azeemj, jwilhelm, johnc
2012-03-23 10:53:19 -04:00
Charles Lee
921ffcf9ef 4310381: Text in multi-row/col JTabbedPane tabs can be truncated/clipped
Reviewed-by: rupashka
2012-03-23 15:16:17 +02:00
Nils Loodin
4d9e420aa7 7156000: Change makefile to reflect refactored classes
Reviewed-by: dholmes
2012-03-23 11:02:11 +01:00
Xue-Lei Andrew Fan
ce4e70b60b 7155051: DNS provider may return incorrect results
Reviewed-by: weijun, chegar
2012-03-26 21:21:55 -07:00
Vinnie Ryan
c0c3fb980d 7152582: PKCS11 tests should use the NSS libraries available in the OS
Reviewed-by: mullan
2012-03-26 17:14:20 +01:00
Daniel D. Daugherty
a2edf55463 7136506: FDS: rework jdk repo Full Debug Symbols support
Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files. Preserve symlinks in zip archives.

Reviewed-by: dholmes, ohair
2012-03-23 09:27:44 -07:00
Michael McMahon
a9afb48611 7155585: Fix ifeq errors in makefiles [macosx]
Reviewed-by: andrew, anthony, ohrstrom, dsamersoff
2012-03-23 11:28:58 +00:00
Tom Rodriguez
cff05c3432 Merge 2012-03-22 13:54:26 -07:00
David Katleman
ad08800a5d Added tag jdk8-b31 for changeset 780ca4f4edd7 2012-03-22 12:41:36 -07:00
David Katleman
dfaa0d4cdf Added tag jdk8-b31 for changeset 2c45788139a6 2012-03-22 12:41:26 -07:00
David Katleman
6b0b5941da Added tag jdk8-b31 for changeset 3df600e3cd1e 2012-03-22 12:41:20 -07:00
David Katleman
2372340c55 Added tag jdk8-b31 for changeset 3de32ba5241d 2012-03-22 12:41:18 -07:00
David Katleman
edbf46c2da Added tag jdk8-b31 for changeset 5bd77c0f5009 2012-03-22 12:41:09 -07:00
David Katleman
98a06dbf63 Added tag jdk8-b31 for changeset 3977c85f7f66 2012-03-22 12:41:05 -07:00
David Katleman
74eed1eb66 Added tag jdk8-b31 for changeset 5be32b2f3be2 2012-03-22 12:40:59 -07:00
Michael Fang
e92197ac27 Merge 2012-03-22 10:24:13 -07:00
Pavel Porvatov
e7fc59fe99 6888634: test/closed/javax/swing/Popup/TaskbarPositionTest.java fails
Reviewed-by: alexp
2012-03-22 17:10:48 +02:00
Jonathan Lu
650337cafa 7152519: Dependency on non-POSIX header file <link.h> causes portability problem
Reviewed-by: prr, igor
2012-03-22 12:47:39 +08:00
Shi Jun Zhang
550028f6a1 7155300: Include pthread.h on all POSIX platforms except Solaris to improve portability
Reviewed-by: alanb, dholmes
2012-03-22 12:30:43 +08:00
David Buck
733b1d638e 7104147: the fix for cr6887286 was not appropriate for backporting
Memory leak in the list of ImageObservers watching an object. We use recursion to iterate over the list. So once the list gets too big, we overflow the stack. Fix is to execute a prune operation on ever add, so there is no way we can get indefinite growth of stale nodes.

Reviewed-by: prr, flar
2012-03-21 18:41:42 -07:00
Lana Steuck
be34a18712 Merge 2012-03-21 13:39:42 -07:00
Lana Steuck
a3f1271a63 Merge 2012-03-21 13:38:55 -07:00
Lana Steuck
9fb30a7cc0 Merge 2012-03-21 13:37:24 -07:00
Lana Steuck
3332c6a1b6 Merge 2012-03-21 13:36:03 -07:00
David Katleman
d3a8c491bf Merge 2012-03-21 12:18:56 -07:00
David Katleman
f3883b4d54 Merge 2012-03-21 12:18:06 -07:00
Naoto Sato
b33626e87a 7145454: JVM wide monitor lock in Currency.getInstance(String)
Reviewed-by: okutsu
2012-03-21 10:10:38 -07:00
Alexander Zuev
ba42773298 7144063: [macosx] Swing JMenu mnemonic doesn't work; hint misleading; cross symbol typed
Reviewed-by: leonidr, skovatch, swingler
2012-03-21 17:12:31 +04:00
Dmitry Cherepanov
40e8f0fb2a 7150349: [macosx] Applets attempting to show popup menus activate the applet process
Reviewed-by: ant
2012-03-21 15:25:12 +04:00
Dmitry Cherepanov
4fc6443589 7150345: [macosx] Can't type into applets
Reviewed-by: ant
2012-03-21 14:31:29 +04:00
Valerie Peng
3a8e9e6104 7146728: Inconsistent length for the generated secret using DH key agreement impl from SunJCE and PKCS11
Always return the secret in the same length as the modulus.

Reviewed-by: wetmore
2012-03-20 15:06:13 -07:00
James Melvin
3693f0fe43 7144328: Improper commandlines for -XX:+-UnlockCommercialFeatures require proper warning/error messages
Provide custom error messages for locked commercial feature options which are not first unlocked.

Reviewed-by: dcubed, jcoomes, kamg
2012-03-20 16:46:39 -04:00
Vladimir Kozlov
08973326c4 7154997: assert(false) failed: not G1 barrier raw StoreP
Skip only G1 cases and explicitly set global escape state in unsafe cases.

Reviewed-by: never
2012-03-20 13:10:13 -07:00
Staffan Larsen
0041a04fb2 7154114: jstat tests failing on non-english locales
7154113: jcmd, jps and jstat tests failing when there are unknown Java processes on the system

Reviewed-by: rbackman, kamg, dsamersoff
2012-03-20 12:48:48 +01:00
Weijun Wang
7b947b7a42 7152176: More krb5 tests
Reviewed-by: xuelei
2012-03-20 19:12:21 +08:00
Erik Joelsson
17888bc3c0 7153266: Adjustments to corba strip property utility (neutral to builds)
Fixes to sync up with jdk8 build-infra project.

Reviewed-by: ohair, tbell, ohrstrom
2012-03-19 13:03:37 -07:00
Oleg Pekhovskiy
310990d4dc 7128738: dragged dialog freezes system on dispose
Reviewed-by: anthony
2012-03-19 21:22:18 +04:00
Staffan Larsen
e0a4e74f80 7152798: TEST_BUG: sun/management/HotspotClassLoadingMBean/GetClassLoadingTime.java does not compile
Make sure the test is compiled, run and finds it supporting classes

Reviewed-by: alanb, sspitsyn, rbackman
2012-03-19 14:18:36 +01:00
Erik Joelsson
cfc6c74d02 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
Reviewed-by: dholmes, ohair
2012-03-19 10:09:24 +01:00
Staffan Larsen
a3c4486681 7152800: All tests using the attach API fail with "well-known file is not secure" on Mac OS X
Create well-known file with effective group of the current process

Reviewed-by: kamg, dcubed
2012-03-19 20:13:17 +01:00
Dean Long
41d6c584cd Merge 2012-03-17 17:31:59 -04:00
Alejandro Murillo
c06123ae0c 7154706: new hotspot build - hs23-b05
Reviewed-by: jcoomes
2012-03-17 00:27:39 -07:00
Alejandro Murillo
587e9b4f49 Added tag hs24-b04 for changeset d87d6ad0b075 2012-03-17 00:10:12 -07:00
Alejandro Murillo
09dcdbe0ff Merge 2012-03-17 00:10:12 -07:00
John Coomes
7e1dbd7a03 Merge 2012-03-16 23:52:03 -07:00
John Coomes
0192f2b6c8 Merge 2012-03-16 23:45:05 -07:00
James Melvin
c3183e79ed 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6
On Mac OS X, align system property "os.arch" with Apple legacy JDKs.  Also, improve os.name string matching by using contains() method instead of .startsWith().

Reviewed-by: dcubed, phh, ohair, katleman
2012-03-16 15:13:22 -04:00
Kurchi Subhra Hazra
9940e879d4 7152007: Fix warnings in sun/rmi/rmic
Minor code changes to remove warnings in sun/rmi/rmic

Reviewed-by: chegar, smarks
2012-03-16 11:52:48 -07:00
Michael Fang
a6b92a1d83 Merge 2012-03-16 10:20:06 -07:00
Bengt Rutisson
a99b0c08d4 7130974: G1: Remove G1ParCopyHelper
Reviewed-by: tonyp, johnc
2012-03-16 09:52:57 +01:00
Igor Veresov
cd47d982d9 7154333: JVM fails to start if -XX:+AggressiveHeap is set
Don't set CompilationPolicyChoice with AggressiveHeap

Reviewed-by: never
2012-03-15 16:38:56 -07:00
Michael Fang
b29242fed4 Merge 2012-03-15 16:04:28 -07:00
David Katleman
ba57c8f33a Added tag jdk8-b30 for changeset 5fc6bf869751 2012-03-15 15:18:24 -07:00
David Katleman
d87a192fe6 Added tag jdk8-b30 for changeset b1e7314664f0 2012-03-15 15:17:02 -07:00
David Katleman
ed057d7f67 Added tag jdk8-b30 for changeset 75a5a7153772 2012-03-15 15:16:27 -07:00
David Katleman
400aa66520 Added tag jdk8-b30 for changeset a32dddd6ba7c 2012-03-15 15:16:15 -07:00
David Katleman
7a0d223ed6 Added tag jdk8-b30 for changeset aa03c70c8688 2012-03-15 15:15:16 -07:00
David Katleman
a77ac5eb39 Added tag jdk8-b30 for changeset f7f3ea6ae9d7 2012-03-15 15:14:52 -07:00
David Katleman
518ec0c168 Added tag jdk8-b30 for changeset c4732b3f0d31 2012-03-15 15:14:36 -07:00
Nils Loodin
2c07f4154e 7148488: Whitebox tests for the Diagnostic Framework Parser
Reviewed-by: brutisso, sla, mgerdin
2012-03-15 13:37:13 +01:00
Yong Jeffrey Huang
b3e79c6c6c Merge 2012-03-14 23:19:52 -07:00
Yong Jeffrey Huang
97292b3883 7085757: Currency Data: ISO 4217 Amendment 152
Reviewed-by: naoto
2012-03-14 23:07:21 -07:00
Serguei Spitsyn
7d0f6b051c 7123170: JCK vm/jvmti/ResourceExhausted/resexh001/resexh00101/ tests fails since 7u4 b02
The JVMTI ResourceExhausted events must be generated in all places where OOME is thrown

Reviewed-by: acorn, coleenp, dcubed, dholmes, dsamersoff, jwilhelm, tonyp
2012-03-14 20:06:48 -07:00
Jonathan Gibbons
f6faa640b7 7150784: bad copyright date in file
Reviewed-by: darcy
2012-03-14 13:53:41 -07:00
David Katleman
69aa6d19c3 Merge 2012-03-14 13:50:37 -07:00
David Katleman
42fca8fd3a Merge 2012-03-14 13:49:09 -07:00
Michael Fang
cffc4ccb30 Merge 2012-03-14 10:25:15 -07:00
Lana Steuck
8a283686f2 Merge 2012-03-14 08:56:57 -07:00
Alexey Ragozin
2c9482428f 7068625: Testing 8 bytes of card table entries at a time speeds up card-scanning
Check clean words instead of clean bytes

Reviewed-by: jcoomes, jmasa, jwilhelm, ysr
2012-03-14 12:49:27 +01:00
Rickard Bäckman
b943c9c83d 7145419: com/sun/jdi/JdbMethodExitTest.sh fails when a background thread is generating events
Add more packages to filter avoids failing on events from background thread.

Reviewed-by: acorn, sspitsyn, sla
2012-03-14 08:43:28 +01:00
Jonathan Lu
005f647e13 7153343: Dependency on non-POSIX header file <link.h> causes portability problem
Remove the unneccessary link.h

Reviewed-by: alanb, chegar
2012-03-16 10:47:25 +08:00
Valerie Peng
c6974571dd Merge 2012-03-15 14:40:53 -07:00
Valerie Peng
3e2f8ef7eb 7130959: Tweak 7058133 fix for JDK 8 (javah makefile changes)
Fixed JAVAHFLAGS setting to use -bootclasspath.

Reviewed-by: wetmore
2012-03-15 14:28:48 -07:00
Kurchi Subhra Hazra
56132c0447 7045655: An empty InMemoryCookieStore should not return true for removeAll
CookieStore.removeAll() should return false for an empty CookieStore

Reviewed-by: chegar
2012-03-15 13:21:16 -07:00
Michael McMahon
baec1b577c Merge 2012-03-15 16:46:47 +00:00
Michael McMahon
7138ff4750 7151898: Check for LANG in Mac OS X jdk build sanity check [macosx]
Reviewed-by: ohair, smarks
2012-03-15 16:45:55 +00:00
Frederic Parain
b497391969 7074616: java.lang.management.ManagementFactory.getPlatformManagementInterfaces fails
Reviewed-by: dholmes, sla
2012-03-14 09:03:08 -07:00
Lana Steuck
85d4c76d59 Merge 2012-03-14 08:28:25 -07:00
Shi Jun Zhang
f2ca2f4835 7152948: DatagramDispatcher.c should memset msghdr to make it portable to other platforms
Reviewed-by: alanb, chegar
2012-03-14 15:14:52 +00:00
Nils Eliasson
ea28f47062 7152955: print_method crashes with null root
Reviewed-by: kvn, never
2012-03-13 20:54:56 -07:00
Lana Steuck
508c6f404d Merge 2012-03-13 20:24:28 -07:00
Lana Steuck
fa178171b6 Merge 2012-03-13 20:23:43 -07:00
Lana Steuck
d25dbaffeb Merge 2012-03-13 19:58:39 -07:00
Jonathan Gibbons
5fc1a2e66e 7150368: javac should include basic ability to generate native headers
Reviewed-by: mcimadamore, darcy, ohrstrom
2012-03-13 15:44:26 -07:00
Jonathan Gibbons
9f1ffb53dc 7150368: javac should include basic ability to generate native headers
Reviewed-by: mcimadamore, darcy, ohrstrom
2012-03-13 15:43:40 -07:00
Gary Collins
c0d6562b8b Merge 2012-03-13 15:37:50 -07:00
Bengt Rutisson
4a2a6ebe99 7152954: G1: Native memory leak during full GCs
Add destructor to TruncatedSeq and call delete when necessary

Reviewed-by: johnc, tonyp
2012-03-13 21:12:53 +01:00
John Cuthbertson
79c90a15fa 7143511: G1: Another instance of high GC Worker Other time (50ms)
Tiered compilation has increased the number of nmethods in the code cache. This has, in turn, significantly increased the number of marked nmethods processed during the StrongRootsScope destructor. Create a specialized version of CodeBlobToOopClosure for G1 which places only those nmethods that contain pointers into the collection set on to the marked nmethods list.

Reviewed-by: iveresov, tonyp
2012-03-13 11:05:32 -07:00
Jiangli Zhou
b9e6895d3a 7109878: The instanceKlass EnclosingMethhod attribute fields can be folded into the _inner_class field
Fold instanceKlass::_enclosing_method_class_index and instanceKlass::_enclosing_method_method_index into the instanceKlass::_inner_classes array.

Reviewed-by: never, coleenp
2012-03-13 13:50:48 -04:00
Nils Eliasson
3683f82865 7152961: InlineTree::should_not_inline may exit prematurely
Reviewed-by: kvn, never
2012-03-13 10:03:59 -07:00
Chris Hegarty
01465edf46 Merge 2012-03-13 12:08:24 +00:00
Pavel Porvatov
089eea6bef 7027139: getFirstIndex() does not return the first index that has changed
Reviewed-by: alexp
2012-03-13 13:18:07 +02:00
Sean Coffey
0ec2d0eca1 7149608: Default TZ detection fails on linux when symbolic links to non default location used
Reviewed-by: alanb, okutsu
2012-03-13 11:01:33 +00:00
Chris Hegarty
015d7657e7 7152796: TEST_BUG: java/net/Socks/SocksV4Test.java does not terminate
Reviewed-by: alanb
2012-03-13 09:33:50 +00:00
Tom Rodriguez
2d308ccc78 Merge 2012-03-12 19:54:41 -07:00
Kelly O'Hair
d92843c4dd Merge 2012-03-12 16:41:49 -07:00
Kelly O'Hair
de7785d2e8 Merge 2012-03-12 16:40:38 -07:00
Nils Eliasson
7b7d3507db 7152957: VM crashes with assert(false) failed: bad AD file
Reviewed-by: kvn, never
2012-03-12 15:28:07 -07:00
John Cuthbertson
006def0451 7147724: G1: hang in SurrogateLockerThread::manipulatePLL
Attempting to initiate a marking cycle when allocating a humongous object can, if a marking cycle is successfully initiated by another thread, result in the allocating thread spinning until the marking cycle is complete. Eliminate a deadlock between the main ConcurrentMarkThread, the SurrogateLocker thread, the VM thread, and a mutator thread waiting on the SecondaryFreeList_lock (while free regions are going to become available) by not manipulating the pending list lock during the prologue and epilogue of the cleanup pause.

Reviewed-by: brutisso, jcoomes, tonyp
2012-03-12 14:59:00 -07:00
Nils Loodin
8950ee8d8e 7154517: Build error in hotspot-gc without precompiled headers
Reviewed-by: jcoomes, brutisso
2012-03-16 16:14:04 +01:00
Mikael Gerdin
07299b0a1e 7152791: wbapi tests fail on cygwin
Detect cygwin prescence when setting up PLATFORM. Translate cygwin style paths before passing them on to jtreg.

Reviewed-by: jcoomes, brutisso
2012-03-21 08:34:23 +01:00
John Coomes
46a6f9366d 7154724: jdk7u4 test properties missing from jprt.properties
Reviewed-by: brutisso
2012-03-20 19:36:59 -07:00
Igor Veresov
12b4b456cb 7151089: PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages
Don't attempt to uncommit SHM-based large pages

Reviewed-by: kvn
2012-03-12 13:12:07 -07:00
Vladimir Kozlov
e5f92a2396 7147744: CTW: assert(false) failed: infinite EA connection graph build
Rewrote Connection graph construction code in EA to reduce time spent there.

Reviewed-by: never
2012-03-12 10:46:47 -07:00
Sean Coffey
bfbf85b7a7 7148584: Jar tools fails to generate manifest correctly when boundary condition hit
Reviewed-by: alanb, sherman
2012-03-12 11:30:28 +00:00
Alan Bateman
3ecf3e0fa1 7152866: Tests not run because they are missing the @run tag
Reviewed-by: chegar, dholmes
2012-03-12 10:17:18 +00:00
Sean Chou
0e1c5e521a 7151427: Fix the potential memory leak in error handling code in X11SurfaceData.c
Free the memory in the error handling code.

Reviewed-by: prr, jgodinez, bae
2012-03-12 13:30:16 +08:00
Alejandro Murillo
db0efee3d4 7152700: new hotspot build - hs24-b04
Reviewed-by: jcoomes
2012-03-09 13:34:45 -08:00
Alejandro Murillo
b8f2831c68 Added tag hs24-b03 for changeset c1a6253f0d55 2012-03-09 13:08:18 -08:00
Alejandro Murillo
323e3ce5ab Merge 2012-03-09 13:08:18 -08:00
Lana Steuck
d5a7ac9412 Merge 2012-03-09 11:59:26 -08:00
Lana Steuck
ae6769c77d Merge 2012-03-09 11:58:08 -08:00
Lana Steuck
37600f669c Merge 2012-03-09 11:57:06 -08:00
Lana Steuck
b819164293 Merge 2012-03-09 11:56:14 -08:00
Lana Steuck
32109cb7cf Merge 2012-03-09 11:56:06 -08:00
Lana Steuck
8a90e1d979 Merge 2012-03-09 11:55:21 -08:00
Michael Fang
72218042af Merge 2012-03-09 10:23:38 -08:00
Maurizio Cimadamore
f6ee974ac7 7151802: compiler update caused sqe test failed
Fix regression caused by 7144506

Reviewed-by: jjg, dlsmith
2012-03-09 17:10:56 +00:00
Tom Rodriguez
b255b0eccc Merge 2012-03-09 08:34:36 -08:00
Karen Kinnear
a0e6b7797c Merge 2012-03-09 00:28:20 -05:00
David Katleman
7c2e062ccb Added tag jdk8-b29 for changeset cc866298b20c 2012-03-08 20:35:26 -08:00
David Katleman
dd9799aaa2 Added tag jdk8-b29 for changeset cad5cb628235 2012-03-08 20:35:09 -08:00
David Katleman
805065faa4 Added tag jdk8-b29 for changeset 756dbb31c9b0 2012-03-08 20:34:58 -08:00
David Katleman
545c4a7aa7 Added tag jdk8-b29 for changeset c7420b6abb44 2012-03-08 20:34:54 -08:00
David Katleman
9dfe7b710e Added tag jdk8-b29 for changeset 463281379d91 2012-03-08 20:34:29 -08:00
David Katleman
924af8d1c0 Added tag jdk8-b29 for changeset 9bf30f58c4bc 2012-03-08 20:34:25 -08:00
David Katleman
99d808ac37 Added tag jdk8-b29 for changeset c4fd9c6f75fb 2012-03-08 20:34:18 -08:00
Kelly O'Hair
9dad666a66 7152425: Fix copyright notices on 12 files in jaxws
Reviewed-by: mbykov
2012-03-08 18:20:15 -08:00
Lana Steuck
76177f7a48 Merge 2012-03-08 15:26:32 -08:00
Mike Duigou
bbd20b347d 7151595: Disable creation of db demos if NO_DEMOS is specified
Reviewed-by: weijun, dholmes
2012-03-08 13:44:33 -08:00
Lana Steuck
b5a0dffd57 Merge 2012-03-08 14:22:15 -08:00
Lana Steuck
086d1992b6 Merge 2012-03-08 08:19:58 -08:00
Lana Steuck
ac3052168c Merge 2012-03-08 08:18:56 -08:00
Joe Darcy
cf99e1e9f8 7151008: Add library support for repeating annotations in java.lang.annotation
Reviewed-by: mcimadamore, jjg
2012-03-08 08:04:52 -08:00
Michael McMahon
57a9560def 7152186: java.awt.HeadlessException when running AWT apps [macosx]
Reviewed-by: anthony
2012-03-08 14:38:26 +00:00
Daniel D. Daugherty
c8ff3bb0cc 7152206: anti-delta the fix for 7152031
Backout the fix for 7152031; the real bug to be fixed in jdk repo.

Reviewed-by: michaelm
2012-03-08 06:33:26 -08:00
Deepak Bhole
1ee1acb94f 7150392: Linux build breaks with GCC 4.7 due to unrecognized option
Remove -mimpure-text option.

Reviewed-by: ohair, dholmes, phh, andrew
2012-03-08 14:04:44 +00:00
Lana Steuck
69ee813add Merge 2012-03-07 22:40:20 -08:00
Lana Steuck
247874eb43 Merge 2012-03-07 22:36:43 -08:00
Lana Steuck
1a29d97330 Merge 2012-03-07 22:36:38 -08:00
David Holmes
7352937e75 7092140: Test: java/util/concurrent/locks/Lock/TimedAcquireLeak.java fails on SE-E due to -XX:-UsePerfData
Add -XX:+UsePerfData to invocation of exec'd JVM

Reviewed-by: alanb, chegar
2012-03-08 00:46:33 -05:00
Daniel D. Daugherty
ec59e22ec0 7152031: Hotspot needs updated xawt path [macosx]
Update to use the right path on MacOS X.

Reviewed-by: michaelm, jcoomes, amurillo
2012-03-07 14:58:17 -08:00
David Katleman
ebc31d93d9 Merge 2012-03-07 13:47:22 -08:00
David Katleman
1741706a00 Merge 2012-03-07 13:46:18 -08:00
David Katleman
15459fceae Merge 2012-03-07 13:45:18 -08:00
Michael Fang
1ca90839e4 Merge 2012-03-07 10:18:10 -08:00
Pavel Porvatov
304f1400f9 7146377: closed/javax/swing/DataTransfer/4876520/bug4876520.java failed since b08 in jdk 8
Reviewed-by: alexp
2012-03-07 20:07:18 +02:00
Alexander Scherbatiy
5f01fd2c54 7132808: [macosx] closed/javax/swing/JFileChooser/4524490/bug4524490.java fails on MacOS
Reviewed-by: alexp
2012-03-07 17:57:12 +04:00
Fredrik Öhrström
d74cd0bff8 7150579: Moved ant code into a separate package, anttasks
To allow langtools to be built without ant, the ant tasks were moved to a separated package. The packages were also renamed to proper lower case package names.

Reviewed-by: jjg
2012-03-07 13:11:27 +01:00
Weijun Wang
0bc11358bb 6961765: Double byte characters corrupted in DN for LDAP referrals
Reviewed-by: vinnie
2012-03-07 10:15:41 +08:00
Tom Rodriguez
9a93f60e34 7150390: JFR test crashed on assert(_jni_lock_count == count) failed: must be equal
Reviewed-by: dholmes, minqi, kvn, coleenp
2012-03-06 16:32:23 -08:00
Kelly O'Hair
bc113af571 7150322: Stop using drop source bundles in jaxws
Reviewed-by: darcy, ohrstrom
2012-03-06 16:09:35 -08:00
Alan Bateman
3269d85838 7113349: Initial changeset for Macosx port to jdk
Co-authored-by: Alexander Potochkin <alexander.potochkin@oracle.com>
Co-authored-by: Alexander Zuev <alexander.zuev@oracle.com>
Co-authored-by: Andrew Brygin <andrew.brygin@oracle.com>
Co-authored-by: Artem Ananiev <artem.ananiev@oracle.com>
Co-authored-by: Alex Strange <astrange@apple.com>
Co-authored-by: Bino George <bino@apple.com>
Co-authored-by: Christine Lu <christine.lu@oracle.com>
Co-authored-by: David Katleman <david.katleman@oracle.com>
Co-authored-by: David Durrence <david_durrence@apple.com>
Co-authored-by: Dmitry Cherepanov <dmitry.cherepanov@oracle.com>
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Kevin Miller <kevin_m_miller@apple.com>
Co-authored-by: Kurt Miller <kurt@intricatesoftware.com>
Co-authored-by: Landon Fuller <landonf@plausiblelabs.com>
Co-authored-by: Leonid Romanov <leonid.romanov@oracle.com>
Co-authored-by: Loefty Walkowiak <loefty@apple.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Naoto Sato <naoto.sato@oracle.com>
Co-authored-by: Philip Race <philip.race@oracle.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Scott Kovatch <scott.kovatch@oracle.com>
Co-authored-by: Sergey ByloKhov <sergey.bylokhov@oracle.com>
Co-authored-by: Mike Swingler <swingler@apple.com>
Co-authored-by: Tomas Hurka <tomas.hurka@oracle.com>
Reviewed-by: jjh, alanb, dholmes, anthony, ohrstrom, ksrini, jrose, weijun, smarks
2012-03-06 20:34:38 +00:00
Alan Bateman
041b97af42 7113349: Initial changeset for Macosx port to jdk
Co-authored-by: Alexander Potochkin <alexander.potochkin@oracle.com>
Co-authored-by: Alexander Zuev <alexander.zuev@oracle.com>
Co-authored-by: Andrew Brygin <andrew.brygin@oracle.com>
Co-authored-by: Artem Ananiev <artem.ananiev@oracle.com>
Co-authored-by: Alex Strange <astrange@apple.com>
Co-authored-by: Bino George <bino@apple.com>
Co-authored-by: Christine Lu <christine.lu@oracle.com>
Co-authored-by: David Katleman <david.katleman@oracle.com>
Co-authored-by: David Durrence <david_durrence@apple.com>
Co-authored-by: Dmitry Cherepanov <dmitry.cherepanov@oracle.com>
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Kevin Miller <kevin_m_miller@apple.com>
Co-authored-by: Kurt Miller <kurt@intricatesoftware.com>
Co-authored-by: Landon Fuller <landonf@plausiblelabs.com>
Co-authored-by: Leonid Romanov <leonid.romanov@oracle.com>
Co-authored-by: Loefty Walkowiak <loefty@apple.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Naoto Sato <naoto.sato@oracle.com>
Co-authored-by: Philip Race <philip.race@oracle.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Scott Kovatch <scott.kovatch@oracle.com>
Co-authored-by: Sergey ByloKhov <sergey.bylokhov@oracle.com>
Co-authored-by: Mike Swingler <swingler@apple.com>
Co-authored-by: Tomas Hurka <tomas.hurka@oracle.com>
Reviewed-by: jjh, alanb, dholmes, anthony, ohrstrom, ksrini, jrose, weijun, smarks
2012-03-06 20:27:12 +00:00
Alan Bateman
597f277dca 7113349: Initial changeset for Macosx port to jdk
Co-authored-by: Alexander Potochkin <alexander.potochkin@oracle.com>
Co-authored-by: Alexander Zuev <alexander.zuev@oracle.com>
Co-authored-by: Andrew Brygin <andrew.brygin@oracle.com>
Co-authored-by: Artem Ananiev <artem.ananiev@oracle.com>
Co-authored-by: Alex Strange <astrange@apple.com>
Co-authored-by: Bino George <bino@apple.com>
Co-authored-by: Christine Lu <christine.lu@oracle.com>
Co-authored-by: David Katleman <david.katleman@oracle.com>
Co-authored-by: David Durrence <david_durrence@apple.com>
Co-authored-by: Dmitry Cherepanov <dmitry.cherepanov@oracle.com>
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Kevin Miller <kevin_m_miller@apple.com>
Co-authored-by: Kurt Miller <kurt@intricatesoftware.com>
Co-authored-by: Landon Fuller <landonf@plausiblelabs.com>
Co-authored-by: Leonid Romanov <leonid.romanov@oracle.com>
Co-authored-by: Loefty Walkowiak <loefty@apple.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Naoto Sato <naoto.sato@oracle.com>
Co-authored-by: Philip Race <philip.race@oracle.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Scott Kovatch <scott.kovatch@oracle.com>
Co-authored-by: Sergey ByloKhov <sergey.bylokhov@oracle.com>
Co-authored-by: Mike Swingler <swingler@apple.com>
Co-authored-by: Tomas Hurka <tomas.hurka@oracle.com>
Reviewed-by: jjh, alanb, dholmes, anthony, ohrstrom, ksrini, jrose, weijun, smarks
2012-03-06 20:26:03 +00:00
Alan Bateman
4b62ceec81 7113349: Initial changeset for Macosx port to jdk
Co-authored-by: Alexander Potochkin <alexander.potochkin@oracle.com>
Co-authored-by: Alexander Zuev <alexander.zuev@oracle.com>
Co-authored-by: Andrew Brygin <andrew.brygin@oracle.com>
Co-authored-by: Artem Ananiev <artem.ananiev@oracle.com>
Co-authored-by: Alex Strange <astrange@apple.com>
Co-authored-by: Bino George <bino@apple.com>
Co-authored-by: Christine Lu <christine.lu@oracle.com>
Co-authored-by: David Katleman <david.katleman@oracle.com>
Co-authored-by: David Durrence <david_durrence@apple.com>
Co-authored-by: Dmitry Cherepanov <dmitry.cherepanov@oracle.com>
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Kevin Miller <kevin_m_miller@apple.com>
Co-authored-by: Kurt Miller <kurt@intricatesoftware.com>
Co-authored-by: Landon Fuller <landonf@plausiblelabs.com>
Co-authored-by: Leonid Romanov <leonid.romanov@oracle.com>
Co-authored-by: Loefty Walkowiak <loefty@apple.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Naoto Sato <naoto.sato@oracle.com>
Co-authored-by: Philip Race <philip.race@oracle.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Scott Kovatch <scott.kovatch@oracle.com>
Co-authored-by: Sergey ByloKhov <sergey.bylokhov@oracle.com>
Co-authored-by: Mike Swingler <swingler@apple.com>
Co-authored-by: Tomas Hurka <tomas.hurka@oracle.com>
Reviewed-by: jjh, alanb, dholmes, anthony, ohrstrom, ksrini, jrose, weijun, smarks
2012-03-06 20:25:43 +00:00
Alan Bateman
ec8aa63648 7113349: Initial changeset for Macosx port to jdk
Co-authored-by: Alexander Potochkin <alexander.potochkin@oracle.com>
Co-authored-by: Alexander Zuev <alexander.zuev@oracle.com>
Co-authored-by: Andrew Brygin <andrew.brygin@oracle.com>
Co-authored-by: Artem Ananiev <artem.ananiev@oracle.com>
Co-authored-by: Alex Strange <astrange@apple.com>
Co-authored-by: Bino George <bino@apple.com>
Co-authored-by: Christine Lu <christine.lu@oracle.com>
Co-authored-by: David Katleman <david.katleman@oracle.com>
Co-authored-by: David Durrence <david_durrence@apple.com>
Co-authored-by: Dmitry Cherepanov <dmitry.cherepanov@oracle.com>
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Kevin Miller <kevin_m_miller@apple.com>
Co-authored-by: Kurt Miller <kurt@intricatesoftware.com>
Co-authored-by: Landon Fuller <landonf@plausiblelabs.com>
Co-authored-by: Leonid Romanov <leonid.romanov@oracle.com>
Co-authored-by: Loefty Walkowiak <loefty@apple.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Naoto Sato <naoto.sato@oracle.com>
Co-authored-by: Philip Race <philip.race@oracle.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Scott Kovatch <scott.kovatch@oracle.com>
Co-authored-by: Sergey ByloKhov <sergey.bylokhov@oracle.com>
Co-authored-by: Mike Swingler <swingler@apple.com>
Co-authored-by: Tomas Hurka <tomas.hurka@oracle.com>
Reviewed-by: jjh, alanb, dholmes, anthony, ohrstrom, ksrini, jrose, weijun, smarks
2012-03-06 20:25:18 +00:00
Maurizio Cimadamore
271ed603e1 7148556: Implementing a generic interface causes a public clone() to become inaccessible
Implementation of Resolve.isOverriddenIn() should distinguish between classes/interfaces

Reviewed-by: jjg
2012-03-06 16:50:32 +00:00
Maurizio Cimadamore
6acf436edc 7151070: NullPointerException in Resolve.isAccessible
Spurious accessibility check in TransTypes

Reviewed-by: jjg
2012-03-06 16:48:29 +00:00
Maurizio Cimadamore
954444af1c 7133238: Merge proto-kind and proto-type into a single result class
Restructure attribution code so that the check-logic can be encapsulated into a single class

Reviewed-by: jjg, dlsmith
2012-03-06 13:29:45 +00:00
Maurizio Cimadamore
d5036d16cd 7144506: Attr.checkMethod should be called after inference variables have been fixed
Unify post-inference sanity check with Attr.checkMethod

Reviewed-by: jjg, dlsmith
2012-03-06 13:28:05 +00:00
Maurizio Cimadamore
21312c5617 7148622: Some diagnostic methods do not go through Log.report
Deferred lint diagnostics ignore Log settings such as deferred diagnostics

Reviewed-by: jjg
2012-03-06 13:26:36 +00:00
Rickard Bäckman
cf406f37e3 7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never
2012-03-06 12:36:59 +01:00
Daniel D. Daugherty
70685b85af Merge 2012-04-15 15:37:20 -07:00
Coleen Phillimore
b1550c24b9 Merge 2012-04-13 08:11:36 -07:00
Coleen Phillimore
7359b90813 7160467: Fix test for 7158988
Ended up checking in FieldMonitor.java as TestPostFieldModification.java

Reviewed-by: kamg
2012-04-12 22:03:05 -04:00
Dean Long
0e7ca534eb Merge 2012-04-12 18:41:24 -04:00
Rickard Bäckman
2ea955a642 7160924: jvmti: GetPhase returns incorrect phase before VMInit event is issued
Reviewed-by: acorn, dcubed
2012-04-12 13:24:08 +02:00
Bob Vandette
4d6f8e3d34 Merge 2012-04-10 13:27:09 -04:00
Staffan Larsen
83806487dc 7133111: libsaproc debug print should be printed as unsigned long to fit large numbers on 64bit platform
Reviewed-by: dcubed, mgronlun, dsamersoff
2012-04-05 14:16:23 +02:00
Daniel D. Daugherty
df294d5f28 Merge 2012-04-09 08:38:16 -07:00
Axel Siebenborn
beaeca558b 7158988: jvm crashes while debugging on x86_32 and x86_64
Object pointer is pushed more than once on stack, where GC doesn't expect it.

Reviewed-by: coleenp, kvn
2012-04-05 12:17:52 -04:00
John Coomes
7b8c6b4353 Merge 2012-03-31 00:05:15 -07:00
Jiangli Zhou
4a02eb3afe 7154670: The instanceKlass _implementors[] and _nof_implementors are not needed for non-interface klass
Change implementor to embedded instanceKlass field.

Reviewed-by: sspitsyn, minqi, coleenp
2012-03-29 22:18:56 -04:00
Weijun Wang
bba69953cd 7149012: jarsigner needs not warn about cert expiration if the jar has a TSA timestamp
Reviewed-by: xuelei
2012-03-06 10:25:45 +08:00
Nils Eliasson
36efb40d10 6658428: C2 doesn't inline java method if corresponding intrinsic failed to inline
Allow fallback to non-intrinsic inline case

Reviewed-by: kvn, jrose, never
2012-03-05 18:10:31 -08:00
Kurchi Subhra Hazra
4264d66e09 7151348: Build breaks due to warning clean up in sun.rmi.*(7146763)
Undo changes to sun/rmi/rmic/* commited as fix for 7146763

Reviewed-by: smarks
2012-03-05 17:38:01 -08:00
Lana Steuck
1e46927bba Merge 2012-03-05 17:04:48 -08:00
Lana Steuck
d3d427483f Merge 2012-03-05 17:04:10 -08:00
Lana Steuck
33b2586062 Merge 2012-03-05 17:02:11 -08:00
Bengt Rutisson
a77a5ac2a0 Merge 2012-03-05 22:34:18 +01:00
Dean Long
98f297ba23 7150046: SIGILL on sparcv9 fastdebug
Breakpoint needs to do 64-bit compare for pointers on sparcv9

Reviewed-by: coleenp, never
2012-03-05 14:19:00 -05:00
Phil Race
3f9a51509a 7078053: Solaris JDK build: C compiler writing tmp files into the make tree
Reviewed-by: ohair, alanb
2012-03-05 09:33:44 -08:00
Vinnie Ryan
92e8e7960b Merge 2012-03-05 14:15:01 +00:00
Vinnie Ryan
594e178180 7151109: backout CR 6988842
Reviewed-by: mullan
2012-03-05 14:13:29 +00:00
Sergey Malenkov
0f708d90df 7148143: PropertyChangeSupport.addPropertyChangeListener can throw ClassCastException
Reviewed-by: rupashka
2012-03-05 18:01:13 +04:00
Alexander Scherbatiy
a70c2d02ad 7130521: [macosx] closed/javax/swing/JMenuItem/6209975/bug6209975.java failed on macosx
Reviewed-by: rupashka
2012-03-05 16:46:38 +04:00
Kelly O'Hair
13c4ad8e20 7150324: Stop using drop bundles in jaxp
Reviewed-by: prr, joehw
2012-03-04 11:55:34 -08:00
Chris Hegarty
2d9226ff60 7145043: HttpServerProvider.java:81: warning - @code("httpServerProvider") is an unknown tag
Reviewed-by: michaelm
2012-03-04 07:41:34 +00:00
John Coomes
2d0d3e1f63 7150899: remove unused build.targets lines from jprt.properties
Reviewed-by: ohair
2012-03-03 12:45:10 -08:00
John Coomes
20beadbcb1 7150454: add release jdk7u4 to jprt.properties
Reviewed-by: ohair, never
2012-03-03 12:36:35 -08:00
Alejandro Murillo
95bc08f56b 7150327: new hotspot build - hs24-b03
Reviewed-by: jcoomes
2012-03-02 16:56:19 -08:00
Alejandro Murillo
ec659dc825 Added tag hs24-b02 for changeset 6cf227da58e6 2012-03-02 16:27:09 -08:00
Alejandro Murillo
aae19fd69c Merge 2012-03-02 16:27:09 -08:00
Kelly O'Hair
dc71b40a5f 6625113: Add the normalize and rmkw perl script to the openjdk repository or openjdk site?
Reviewed-by: darcy
2012-03-02 15:33:42 -08:00
Kurchi Subhra Hazra
0006ef0cc8 7146763: Warnings cleanup in the sun.rmi and related packages
Cleanup warnings and use jkd7 features in sun.rmi.*

Reviewed-by: smarks, chegar, forax, dmocek
2012-03-02 13:48:43 -08:00
Tom Rodriguez
2e8a110092 Merge 2012-03-02 13:13:25 -08:00
Bill Pittore
0aeb9d9a62 Merge 2012-03-02 14:34:55 -05:00
John Cuthbertson
4bcab49b68 7147806: G1: Crash in vm bootstrap when running with -XX:+UseG1GC -XX:-UsePerfData
Update generation and collector counters only if UsePerfData is enabled.

Reviewed-by: iveresov, tonyp
2012-03-02 10:36:16 -08:00
Michael Fang
a6a7ed5f8c Merge 2012-03-02 10:19:23 -08:00
Vinnie Ryan
1e3b108ef9 6988842: jce/ECC test fails for SunPKCS11 provider using nss library
Reviewed-by: mullan
2012-03-02 17:24:08 +00:00
Tom Rodriguez
dac856d4f2 Merge 2012-03-02 09:13:13 -08:00
Roland Westrelin
607f822b20 6910464: Lookupswitch and Tableswitch default branches not recognized as safepoints
C1 does not recognize the default branch of a lookupswitch or tableswitch bytecode to be a safepoint if backward.

Reviewed-by: kvn, never
2012-03-02 16:04:24 +01:00
Maurizio Cimadamore
2ba2192f6f 7148164: attribution code for diamond should not rely on mutable state
Update attribution code for diamond operator not to rely on mutable state

Reviewed-by: jjg
2012-03-02 12:58:35 +00:00
Maurizio Cimadamore
b10e766b73 7148242: Regression: valid code rejected during generic type well-formedness check
Redundant type-var substitution makes generic-type well-formedness check to fail

Reviewed-by: jjg
2012-03-02 12:57:47 +00:00
Maurizio Cimadamore
f01bc46dfe 7132880: Resolve should support nested resolution contexts
Overload resolution routine should be updated so that it can be called recursively

Reviewed-by: jjg, dlsmith
2012-03-02 12:57:04 +00:00
Alexander Kouznetsov
e44e04a5f5 7130241: [macosx] TransparentRuler demo can not run due to lacking of perpixel transparency support
Reviewed-by: art
2012-03-02 12:24:35 +02:00
Tom Rodriguez
7c2b3c6ab5 7150051: incorrect oopmap in critical native
Reviewed-by: kvn, twisti
2012-03-01 15:31:33 -08:00
David Katleman
2c85ca538e Added tag jdk8-b28 for changeset 6a9e1767fc90 2012-03-01 12:23:33 -08:00
David Katleman
0c33720da2 Added tag jdk8-b28 for changeset cb1d70aa45ad 2012-03-01 12:23:25 -08:00
David Katleman
05b0b4f2ae Added tag jdk8-b28 for changeset 1eae1ee06752 2012-03-01 12:23:20 -08:00
David Katleman
0ca13f7ff6 Added tag jdk8-b28 for changeset afee4474f087 2012-03-01 12:23:19 -08:00
David Katleman
d144cbfe09 Added tag jdk8-b28 for changeset b99bec991962 2012-03-01 12:23:13 -08:00
David Katleman
ef3de8e1f7 Added tag jdk8-b28 for changeset ecb426820bba 2012-03-01 12:23:07 -08:00
David Katleman
3669ad06b0 Added tag jdk8-b28 for changeset 6446faed7091 2012-03-01 12:23:01 -08:00
Mike Duigou
9c64402c80 7149320: Move sun.misc.VM.booted() to the end of System.initializeSystemClass()
Ensure that sun.misc.VM.booted() is the last action in System.initSystemClass()

Reviewed-by: dholmes, alanb
2012-03-01 09:40:18 -08:00
Pavel Tisnovsky
f4e81d2e19 7149785: Minor corrections to ScriptEngineManager javadoc
JavaDoc correction

Reviewed-by: alanb
2012-03-01 14:02:44 +01:00
Dmitry Samersoff
3385cfe8cf 7118280: The gbyc00102 JCK7 test causes an assert in JVM 7.0 fastdebug mode
Assert doesn't respect invokedynamic opcode

Reviewed-by: dcubed, phh
2012-03-01 12:41:13 +04:00
Lana Steuck
00d35d412b Merge 2012-02-29 12:30:55 -08:00
Lana Steuck
4a304171a6 Merge 2012-02-29 12:29:20 -08:00
Michael Fang
1acef3bef8 Merge 2012-02-29 10:18:21 -08:00
Dean Long
9cd12c0bcd 7142641: -Xshared:on fails on ARM
Map read-only pages MAP_PRIVATE instead of MAP_SHARED

Reviewed-by: dcubed, dholmes
2012-02-29 12:58:49 -05:00
Kumar Srinivasan
8f5b808cfe 7148499: Stack size in tools/launcher/Settings.java needs to be increased
Reviewed-by: alanb
2012-02-29 08:20:33 -08:00
Alexander Scherbatiy
cbf5f3e4de 7133573: [macosx] closed/javax/swing/JToolTip/4846413/bug4846413.java fails on MacOS
Reviewed-by: alexp
2012-02-29 18:47:39 +04:00
Weijun Wang
7902f129f5 7143872: Improve certificate extension processing
Reviewed-by: mullan
2012-02-29 14:06:00 +08:00
Lana Steuck
45f7bb6a9f Merge 2012-02-28 19:55:09 -08:00
Lana Steuck
45a7449ceb Merge 2012-02-28 18:04:50 -08:00
Lana Steuck
b697d670cb Merge 2012-02-28 18:01:54 -08:00
Lana Steuck
ee1b80e8e5 Merge 2012-02-28 17:54:33 -08:00
Lana Steuck
30c157894d Merge 2012-02-28 17:52:05 -08:00
Joe Darcy
81b0f3f5c0 7149626: (reflect) Improve javadoc of java.lang.reflect.Executable
Reviewed-by: mduigou
2012-02-28 13:14:47 -08:00
Sonali Goel
959e0b9dfb 7147183: test/tools/javac/apt.sh can be removed from tl/langtools repository
Reviewed-by: jjg
2012-02-28 10:48:04 -08:00
Jonathan Gibbons
9c503c5689 7093891: support multiple task listeners
Reviewed-by: darcy, mcimadamore
2012-02-28 10:33:49 -08:00
Jonathan Gibbons
5707f715aa 7144951: fix minor javadoc issues
Reviewed-by: darcy
2012-02-28 10:25:53 -08:00
Frederic Parain
555b593770 Merge 2012-02-28 07:58:43 -08:00
Pavel Porvatov
54c7a42949 7143614: SynthLookAndFeel stability improvement
Reviewed-by: malenkov
2012-02-28 16:09:15 +02:00
Dmitry Samersoff
14732a0d27 7149181: sun/management/jmxremote/startstop/JMXStartStopTest.sh failing on all platforms
Disable test until JDK and hotspot changes meet each other.

Reviewed-by: alanb, acorn
2012-02-28 17:00:28 +04:00
Roland Westrelin
ff47163220 6910461: Register allocator may insert spill code at wrong insertion index
When resolving exception edges after register allocation, the C1 register allocator may insert spill code at the wrong insertion position.

Reviewed-by: kvn, never
2012-02-28 09:13:58 +01:00
Tom Rodriguez
825a304b38 7145024: Crashes in ucrypto related to C2
Reviewed-by: kvn
2012-02-28 10:04:01 -08:00
Andrew Brygin
39cf6b2fdc 7143617: Improve fontmanager layout lookup operations
Reviewed-by: igor, prr, mschoene
2012-02-28 10:44:56 +04:00
Mike Duigou
0193199d57 7143162: Allow disable building of jdk demos and samples
Reviewed-by: ohair
2012-02-27 18:10:03 -08:00
Mike Duigou
2f6d883fcb 7143162: Allow disable building of jdk demos and samples
Reviewed-by: ohair
2012-02-27 18:09:47 -08:00
Sean Mullan
fd805805a8 Merge 2012-02-27 13:53:25 -05:00
Sean Mullan
48ca85ec46 7147830: NullPointerException in java.security.Policy.implies() when the ProtectionDomain has a null code sou
Reviewed-by: vinnie
2012-02-27 11:44:50 -05:00
Dmitry Samersoff
fe4588a87e 7110104: It should be possible to stop and start JMX Agent at runtime
Added a capability to start and stop JMX Agent by jcmd

Reviewed-by: acorn, mchung
2012-02-27 15:21:18 +04:00
Roland Westrelin
c815908774 7148486: At a method handle call returning with an exception may call the runtime with misaligned stack (x64)
Stack must be realigned when calling the runtime for exception propagation at a call.

Reviewed-by: kvn, never
2012-02-27 11:42:30 +01:00
Roland Westrelin
4012f6cd34 7147740: add assertions to check stack alignment on VM entry from generated code (x64)
Check stack alignment on VM entry on x64.

Reviewed-by: kvn, never
2012-02-27 09:17:44 +01:00
Alan Bateman
6d519d366e 7148921: More ProblemList updates (2/2012)
Reviewed-by: chegar
2012-02-26 17:25:42 +00:00
Michael Fang
5ced594638 Merge 2012-02-25 10:19:26 -08:00
Krystal Mok
84470be578 7148126: ConstantPoolCacheEntry::print prints to wrong stream
Should print to passed in stream not tty

Reviewed-by: dholmes, never
2012-02-25 01:49:34 -05:00
Lana Steuck
9791a38e93 Merge 2012-02-24 18:24:53 -08:00
Lana Steuck
1443b70f4d Merge 2012-02-24 18:24:03 -08:00
Lana Steuck
ac825d35af Merge 2012-02-24 18:22:57 -08:00
Lana Steuck
a3cd82292c Merge 2012-02-24 18:22:55 -08:00
Lana Steuck
c8bd932ff3 Merge 2012-02-24 18:22:48 -08:00
Lana Steuck
8f952922ba Merge 2012-02-24 18:22:44 -08:00
Alejandro Murillo
fafe66921e 7148664: new hotspot build - hs24-b02
Reviewed-by: jcoomes
2012-02-24 18:14:00 -08:00
Alejandro Murillo
7f5093d00d Added tag hs24-b01 for changeset b357c6ebe63e 2012-02-24 18:08:59 -08:00
Alejandro Murillo
a8f637446d Merge 2012-02-24 18:08:58 -08:00
Lana Steuck
f46ebab88c Merge 2012-02-24 17:38:24 -08:00
Abhijit Saha
c3da3a5048 7148758: Resolve merge issue which caused testcase failure
Reviewed-by: alanb, chegar
2012-02-24 17:31:59 -08:00
Vladimir Kozlov
9c6ab6372f 7147416: LogCompilation tool does not work with post parse inlining
Fixed few problems in LogCompilation parser.

Reviewed-by: never
2012-02-24 12:33:31 -08:00
Staffan Larsen
17f17157b9 7079093: TEST_BUG: java/lang/instrument/ManifestTest.sh fails with cygwin
Work around problems in some cygwin installations

Reviewed-by: alanb, sspitsyn
2012-02-24 20:09:49 +01:00
Staffan Larsen
399194bb7a 7073626: RmiBootstrapTest.sh and RmiSslBootstrapTest.sh fail under Cygwin
Detect and handle cygwin correctly

Reviewed-by: alanb, sspitsyn
2012-02-24 20:02:50 +01:00
Jonathan Gibbons
a46962c4c1 7137836: tidy up Names.java
Reviewed-by: mcimadamore
2012-02-24 10:40:32 -08:00
Phil Race
8694cd7c62 7147584: Changing to Nimbus/GTK in SwingSet2 on Solaris 10 Sparc causes malformed menus/layout
Reviewed-by: igor, jgodinez
2012-02-24 09:37:01 -08:00
Oleg Pekhovskiy
d76f84108f 7145980: Dispose method of window.java takes long
Reviewed-by: anthony
2012-02-24 13:50:37 +04:00
Sean Coffey
cecb628970 7144488: Infinite recursion for some equals tests in Collections
Reviewed-by: alanb, dholmes, mduigou
2012-02-24 09:17:46 +00:00
Sean Coffey
27720df27a 7133138: Improve io performance around timezone lookups
Reviewed-by: okutsu
2012-02-24 09:10:27 +00:00
Bill Pittore
ee795ec927 Merge 2012-02-23 21:10:02 -05:00
David Katleman
9d978102bc Added tag jdk8-b27 for changeset bc664cc5f2a0 2012-02-23 12:03:30 -08:00
David Katleman
7835898d92 Added tag jdk8-b27 for changeset 020ee18d16db 2012-02-23 12:03:21 -08:00
David Katleman
5e6beee12c Added tag jdk8-b27 for changeset 0b1b48f6f78d 2012-02-23 12:03:17 -08:00
David Katleman
076a67b1bf Added tag jdk8-b27 for changeset 4506e41cb329 2012-02-23 12:03:16 -08:00
David Katleman
158427237e Added tag jdk8-b27 for changeset 30cf3316d124 2012-02-23 12:03:08 -08:00
David Katleman
663327f408 Added tag jdk8-b27 for changeset 96028882c1dc 2012-02-23 12:03:03 -08:00
David Katleman
aebf95f6f2 Added tag jdk8-b27 for changeset 9f0948ea25eb 2012-02-23 12:03:01 -08:00
Joe Darcy
de52238d06 7148025: javac should not warn about InterrupttedException on the declaration of AutoCloseable itself
Reviewed-by: mcimadamore
2012-02-23 09:53:09 -08:00
Lana Steuck
9c6aee1cdf Merge 2012-02-23 07:54:49 -08:00
Lana Steuck
668e9414d8 Merge 2012-02-23 07:53:54 -08:00
Mikael Gerdin
27c0786c3b 7148152: Add whitebox testing API to HotSpot
Add an internal testing API to HotSpot to enable more targeted testing of vm functionality

Reviewed-by: phh, dholmes
2012-02-23 14:58:35 +01:00
Lana Steuck
cd51c0ed25 Merge 2012-02-23 00:14:45 -08:00
Lana Steuck
b9d5b5cf10 Merge 2012-02-23 00:14:15 -08:00
Lana Steuck
bf8b18f80e Merge 2012-02-22 22:09:53 -08:00
Lana Steuck
ab549924e8 Merge 2012-02-22 16:52:50 -08:00
Sean Mullan
e3ce03230a 7145239: Finetune package definition restriction
Reviewed-by: hawtin
2012-02-22 15:38:24 -05:00
Michael Fang
b745ee2833 Merge 2012-02-22 10:17:57 -08:00
Frederic Parain
79a5197d1d Merge 2012-02-22 08:19:27 -08:00
Pavel Porvatov
942b3e2aae 7107099: JScrollBar does not show up even if there are enough lebgth of textstring in textField
Reviewed-by: alexp
2012-02-22 14:31:13 +04:00
Erik Joelsson
97612e5913 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
Reviewed-by: dholmes, ohrstrom, ohair, jcoomes
2012-02-22 09:24:35 +01:00
Dmitry Samersoff
12a9f18dcc Merge 2012-02-22 10:32:29 -08:00
Dmitry Samersoff
e1675f98d4 7110104: It should be possible to stop and start JMX Agent at runtime
Added a capability to start and stop JMX Agent by jcmd

Reviewed-by: acorn, mchung
2012-02-22 19:43:22 +04:00
Vladimir Kozlov
22db6951dc 7146442: assert(false) failed: bad AD file
Take into account only stores captured by Initialize node. Added missing check for Top input in value() methods.

Reviewed-by: never
2012-02-21 11:55:05 -08:00
Jiangli Zhou
3e904497b1 7120481: storeStore barrier in constructor with final field
Issue storestore barrier before constructor return if the constructor write final field.

Reviewed-by: dholmes, jrose, roland, coleenp
2012-02-21 13:14:55 -05:00
Bill Pittore
a94cb97f4a Merge 2012-02-22 14:00:34 -05:00
Charles Lee
df18cb7401 7146572: enableInputMethod(false) does not work in the TextArea and TextField on the linux platform
Peers' constructors shouldn't override user's enableInputMethod() settings

Reviewed-by: anthony
2012-02-21 18:15:14 +04:00
Xue-Lei Andrew Fan
e969599750 7147407: remove never used debug code in DnsClient.java
Reviewed-by: vinnie
2012-02-21 05:44:29 -08:00
Alexander Scherbatiy
58de6a8294 7133581: [macosx] closed/javax/swing/JTree/4330357/bug4330357.java fails on MacOS
Reviewed-by: alexp
2012-02-21 15:34:08 +04:00
Alexander Scherbatiy
7bea3e0303 7133571: [macosx] closed/javax/swing/JToolBar/4247996/bug4247996.java fails on MacOS
Reviewed-by: alexp
2012-02-21 15:03:07 +04:00
Alexander Scherbatiy
8326ba3235 7133566: [macosx] closed/javax/swing/JTable/4220171/bug4220171.java fails on MacOS
Reviewed-by: alexp
2012-02-21 14:19:21 +04:00
Weijun Wang
ace6464105 7147336: clarification on warning of keytool -printcrl
Reviewed-by: xuelei
2012-02-21 15:11:27 +08:00
John Coomes
378bc323c2 Added tag hs23-b16 for changeset 1bfc33519320 2012-02-20 22:32:30 -08:00
Krystal Mok
41f7f6302b 7145358: SA throws ClassCastException for partially loaded ConstantPool
In printValueOn() in ConstantPool.java check if the poolHolder is a valid Klass and only then print it.

Reviewed-by: sla, sspitsyn
2012-02-20 21:27:56 -08:00
Weijun Wang
d21a6ce41f 7144530: KeyTab.getInstance(String) no longer handles keyTabNames with "file:" prefix
Reviewed-by: valeriep
2012-02-21 08:51:26 +08:00
Vladimir Kozlov
5f68d9921d 7147064: assert(allocates2(pc)) failed: not in CodeBuffer memory: 0xffffffff778d9d60 <= 0xffffffff778da69c
Increase size of deopt_blob and uncommon_trap_blob by size of stack bang code (SPARC).

Reviewed-by: azeemj, iveresov, never, phh
2012-02-20 13:11:08 -08:00
Vladimir Kozlov
b4cbe82e26 7147064: assert(allocates2(pc)) failed: not in CodeBuffer memory: 0xffffffff778d9d60 <= 0xffffffff778da69c
Increase size of deopt_blob and uncommon_trap_blob by size of stack bang code (SPARC).

Reviewed-by: azeemj, iveresov, never, phh
2012-02-20 13:11:08 -08:00
Alan Bateman
697f151896 7147087: Remove AWT/Swing/client tests from ProblemList
Reviewed-by: ohair
2012-02-20 19:33:32 +00:00
Abhijit Saha
162d75c68c Merge 2012-02-20 11:31:53 -08:00
Alan Bateman
86410b610b 6346658: (se) Selector briefly spins when asynchronously closing a registered channel [win]
Reviewed-by: chegar, coffeys
2012-02-20 18:55:10 +00:00
Charles Lee
2995eff3e3 7146506: (fc) Add EACCES check to the return of fcntl native method
Add EACCES check according to the spec of fcntl

Reviewed-by: alanb
2012-02-20 11:24:06 +08:00
Rémi Forax
d2449123be 7146152: File.path should be final
Reviewed-by: alanb, dholmes, mduigou
2012-02-19 16:51:35 +00:00
Staffan Larsen
d856a7745c 7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX
Change OSThread to use mach thread_t

Reviewed-by: phh, dcubed
2012-02-19 13:11:39 +01:00
Lana Steuck
e76be10b70 Merge 2012-02-18 16:12:28 -08:00
Lana Steuck
9406a69dc0 Merge 2012-02-18 16:11:47 -08:00
Lana Steuck
acce88acb5 Merge 2012-02-18 16:09:11 -08:00
Daniel D. Daugherty
b0b5725863 7145798: System.loadLibrary does not search current working directory
Append "." to java.library.path on MacOS X to ease migration from Apple's Java6 to OpenJDK7.

Reviewed-by: phh, jmelvin, coleenp
2012-02-17 15:55:27 -08:00
Sonali Goel
ed13841255 7143910: test/tools/apt/Basics/apt.sh fails with 'real' sh
Reviewed-by: darcy
2012-02-17 15:24:40 -08:00
Alejandro Murillo
a908ea8cb5 7146700: new hotspot build - hs24-b01
Reviewed-by: jcoomes
2012-02-17 15:11:32 -08:00
Alejandro Murillo
be21bbbc25 Added tag hs23-b16 for changeset e545d7e1f01e 2012-02-17 15:06:39 -08:00
Alejandro Murillo
c96c4e3fa4 Merge 2012-02-17 15:06:38 -08:00
Abhijit Saha
136be0dd92 Merge 2012-02-17 14:59:41 -08:00
Abhijit Saha
f83ca6dc04 Merge 2012-02-17 14:59:21 -08:00
Abhijit Saha
fa4cc616ff Merge 2012-02-17 14:59:02 -08:00
Abhijit Saha
1fcb6f273a Merge 2012-02-17 14:58:41 -08:00
Abhijit Saha
fc6c57d330 Merge 2012-02-17 14:58:24 -08:00
Tom Rodriguez
7a1487a726 Merge 2012-02-17 12:18:52 -08:00
Tom Rodriguez
0d25b8c4d5 7146729: nightly failure after 7141200: tty is sometimes null during shutdown of main thread
Reviewed-by: kvn
2012-02-17 12:18:10 -08:00
Michael Fang
1f8b7c2711 Merge 2012-02-17 10:18:50 -08:00
Frederic Parain
7ded1f054b Merge 2012-02-17 06:34:49 -08:00
Stefan Karlsson
7daca4fc60 Merge 2012-02-17 13:23:29 +01:00
Xueming Shen
1b32c44aa3 4153167: separate between ANSI and OEM code pages on Windows
To use OEM code page for System.out&err when not redirected

Reviewed-by: alanb
2012-02-16 22:13:10 -08:00
Vladimir Kozlov
867f3ba889 7145346: VerifyStackAtCalls is broken
Replace call_epilog() encoding with macroassembler use. Moved duplicated code to x86.ad. Fixed return_addr() definition.

Reviewed-by: never
2012-02-16 17:12:49 -08:00
Coleen Phillimore
c82d4105ec Merge 2012-02-16 17:19:40 -05:00
John Coomes
5f0143a774 6330863: vm/gc/InfiniteList.java fails intermittently due to timeout
In some cases, allocate from the old gen before doing a full gc

Reviewed-by: stefank, jmasa
2012-02-16 13:13:53 -08:00
John Coomes
6827f384c9 7146343: PS invoke methods should indicate the type of gc done
Reviewed-by: stefank, jmasa
2012-02-16 13:12:25 -08:00
David Katleman
30b3953b45 Added tag jdk8-b26 for changeset 90bc745052c7 2012-02-16 13:01:46 -08:00
David Katleman
d3539e79ca Added tag jdk8-b26 for changeset a9b4578da2a8 2012-02-16 13:01:36 -08:00
David Katleman
7551efdd70 Added tag jdk8-b26 for changeset b51c748f410d 2012-02-16 13:01:33 -08:00
David Katleman
6a8b78d6db Added tag jdk8-b26 for changeset 1d96f9313a4b 2012-02-16 13:01:32 -08:00
David Katleman
5fa0678ef1 Added tag jdk8-b26 for changeset 70e517098d81 2012-02-16 13:01:24 -08:00
David Katleman
36725334b1 Added tag jdk8-b26 for changeset b831ee8beaf8 2012-02-16 13:01:19 -08:00
David Katleman
10397e5d0e Added tag jdk8-b26 for changeset d771ef859fba 2012-02-16 13:01:17 -08:00
James Melvin
ac2ed39761 7146354: Re-enable Compressed OOPs after 7118647 is resolved
Relax the assertion to simply check for COOP mode rather than an exact address.

Reviewed-by: coleenp, kvn, phh, dcubed
2012-02-16 15:52:01 -05:00
Roger Riggs
ac69a5f84a 6708398: Support integer overflow
Added add/sub/multiply/toIntExact methods to j.l.Math and StrictMath classes

Reviewed-by: emcmanus
2012-02-16 11:43:20 -08:00
Tom Rodriguez
9e339b8ded 7144318: GCLocker assert failure: assert(_needs_gc || SafepointSynchronize::is_at_safepoint(
Reviewed-by: kvn, twisti
2012-02-16 11:33:49 -08:00
Paul Hohensee
f33961a1df 7142113: Add Ivy Bridge to the known Intel x86 cpu families
In vm_version_x86.hpp, add and use CPU_MODEL_IVYBRIDGE_EP, and restrict is_intel_tsc_synced_at_init() to EP models.

Reviewed-by: kvn, acorn
2012-02-16 13:50:54 -05:00
Sean Chou
40d87232e6 7089914: Focus on image icons are not visible in javaws cache with high contrast mode
Reviewed-by: rupashka
2012-02-16 17:42:09 +04:00
Roland Westrelin
cb7dbaebc9 7143038: SIGSEGV in assert_equal / LinearScan::assign_reg_num
Forced exit may destory global objects that are still in use.

Reviewed-by: twisti, never, kvn
2012-02-16 09:20:40 +01:00
Xue-Lei Andrew Fan
4c5ba0d841 7145837: a little performance improvement on the usage of SecureRandom
Reviewed-by: chegar, wetmore
2012-02-15 23:45:17 -08:00
Vladimir Kozlov
539616f85a 7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29
For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed.

Reviewed-by: never, twisti, azeemj
2012-02-15 21:37:49 -08:00
Vladimir Danushevsky
a1d2da174b 7129401: PPC: runtime/7100935/TestShortArraycopy.java fails
Pass assembler switches for PPC

Reviewed-by: dholmes
2012-02-15 20:26:59 -05:00
Igor Veresov
24b07e7ae6 7142680: default GC affected by jvm path
Removed old tiered code

Reviewed-by: never, kvn
2012-02-15 16:29:40 -08:00
Lana Steuck
7ca7e599a5 Merge 2012-02-15 15:28:15 -08:00
Lana Steuck
72ce1c5159 Merge 2012-02-15 15:21:33 -08:00
Bill Pittore
f9788f6987 Merge 2012-02-15 16:09:49 -05:00
Igor Veresov
b972e52710 7145345: Code cache sweeper must cooperate with safepoints
Safepoint in the sweeper loop in necessary

Reviewed-by: kvn, never
2012-02-15 12:32:03 -08:00
Nils Loodin
510522ff57 7145243: Need additional specializations for argument parsing framework
Reviewed-by: acorn, fparain
2012-02-15 12:17:30 -08:00
Frederic Parain
a1429e482e 7145925: Removing remote access to diagnostic commands in the HotSpotDiagnosticMBean
Reviewed-by: acorn, mchung, phh
2012-02-15 10:46:55 -08:00
Tom Rodriguez
520f6fcc87 7145537: minor tweaks to LogEvents
Reviewed-by: kvn, twisti
2012-02-15 10:12:55 -08:00
Antonios Printezis
be06406cb8 7132029: G1: mixed GC phase lasts for longer than it should
Revamp of the mechanism that chooses old regions for inclusion in the CSet. It simplifies the code and introduces min and max bounds on the number of old regions added to the CSet at each mixed GC to avoid pathological cases. It also ensures that when we do a mixed GC we'll always find old regions to add to the CSet (i.e., it eliminates the case where a mixed GC will collect no old regions which can happen today).

Reviewed-by: johnc, brutisso
2012-02-15 13:06:53 -05:00
Alan Bateman
5f9a26a009 7145910: Remove dependency on apt and com.sun.mirror API (breaks boot cycle builds)
Reviewed-by: ohair
2012-02-15 17:32:56 +00:00
Frederic Parain
ddaeb8933c 7144833: sun/tools/jcmd/jcmd-Defaults.sh failing intermittently
Reviewed-by: alanb
2012-02-15 09:29:05 -08:00
Sean Mullan
191116a62e Merge 2012-02-15 07:52:58 -05:00
Sean Mullan
5977a2d6a7 7024604: OID.1 causes IAE in X500Principal constructor
Reviewed-by: vinnie
2012-02-15 07:45:42 -05:00
Roland Westrelin
e6f3ba89ec 7126041: jdk7u4 b05 and b06 crash with RubyMine 3.2.4, works well with b04
Goto that replaces a If mistaken to be a back branch and triggers erroneous OSR compilation.

Reviewed-by: never, iveresov
2012-02-15 09:43:16 +01:00
Yumin Qi
db677a6f75 Merge 2012-02-14 23:50:12 -08:00
Dean Long
479baa64e5 7140866: assert(covered) failed: Card for end of new region not committed
Resize covered region only after successfully mapping shared archive

Reviewed-by: brutisso, ysr
2012-02-15 00:51:07 -05:00
Keith McGuigan
1f8105e44c Merge 2012-02-15 00:09:31 -05:00
Yumin Qi
3869025575 Merge 2012-02-14 20:54:57 -08:00
Serguei Spitsyn
c25eebd321 7130993: nsk/jdi/ReferenceType/instances/instances004 fails with JFR: assert(ServiceUtil::visible_oop(obj))
Skip reporting invisible refs in iterate_over_object to avoid assert(ServiceUtil::visible_oop(obj))

Reviewed-by: dcubed, mgronlun, rbackman
2012-02-14 17:04:40 -08:00
Keith McGuigan
ccebd55230 7145589: First JSDT provider creation fails
0 is a successful return from an ioctl() call

Reviewed-by: dcubed, phh, dsamersoff
2012-02-14 20:02:19 -05:00
Tom Rodriguez
f9b7a3e692 7143061: nsk/stress/stack/b4525850 crash VM
Reviewed-by: kvn, twisti
2012-02-14 15:43:56 -08:00
Jan Lahoda
3887a6d012 7142086: performance problem in Check.checkOverrideClashes(...)
Code in Check.checkOverrideClashes() causes too many calls to MethodSymbol.overrides

Reviewed-by: jjg
2012-02-14 15:43:52 -08:00
Coleen Phillimore
4bd7be25df Merge 2012-02-14 18:35:19 -05:00
David Buck
1d56fdab49 7143612: improve backwards compatibility of OSIS post-CR6887286
Reviewed-by: flar, prr
2012-02-14 14:16:49 -08:00
Coleen Phillimore
5afc57be8e 7145587: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV (sparc version)
Increase StackShadowPages to accomodate the JDK changes to increase buffer size in socketWrite

Reviewed-by: acorn, phh, dcubed, kamg, dsamersoff
2012-02-14 16:50:34 -05:00
Keith McGuigan
8a9ec2c624 Merge 2012-02-14 15:52:17 -05:00
Abhijit Saha
f22e2721dc Merge 2012-02-14 10:29:36 -08:00
Abhijit Saha
5da827856c Merge 2012-02-14 10:22:15 -08:00
Abhijit Saha
6000901868 Merge 2012-02-14 10:22:06 -08:00
Abhijit Saha
7bd91cdd6e Merge 2012-02-14 10:21:54 -08:00
Abhijit Saha
299454e654 Merge 2012-02-14 10:21:25 -08:00
Frederic Parain
52739303db 7140868: TEST_BUG: jcmd tests need to use -XX:+UsePerfData
Reviewed-by: fparain, dholmes
2012-02-14 07:28:29 -08:00
Frederic Parain
476ee44449 7143760: Memory leak in GarbageCollectionNotifications
Reviewed-by: dholmes, dcubed, kamg
2012-02-14 06:54:27 -08:00
Alexander Scherbatiy
7c6f3c6cb2 7133577: [macosx] closed/javax/swing/JTree/4314199/bug4314199.java fails on MacOS
Reviewed-by: rupashka
2012-02-14 18:44:57 +04:00
Vinnie Ryan
abfc726cc4 7142888: sun/security/tools/jarsigner/ec.sh fail on sparc
Reviewed-by: xuelei
2012-02-14 11:47:41 +00:00
Roland Westrelin
e7ece2a742 7144405: JumbleGC002 assert(m->offset() == pc_offset) failed: oopmap not found
Oop map needs pc stored in frame anchor in StubGenerator::generate_throw_exception()

Reviewed-by: twisti, never, kvn
2012-02-14 09:43:25 +01:00
Jim Holmlund
df7b871807 7142672: Problems with the value passed to the 'classes' param of JavaCompiler.CompilationTask.getTask(...)
Reviewed-by: jjg
2012-02-13 16:01:43 -08:00
Keith McGuigan
95cfa1c3a7 7069991: Setup make/jprt.properties files for jdk8
Change default release value to jdk8 (but overrideable)

Reviewed-by: phh, jcoomes, dholmes, ohair
2012-02-13 14:03:12 -05:00
Coleen Phillimore
cfdca5342c 7059899: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV
Increase StackShadowPages to accomodate the JDK changes to increase buffer size in socketWrite

Reviewed-by: acorn, phh
2012-02-13 12:30:47 -05:00
Vinnie Ryan
5f84978261 Merge 2012-02-13 14:31:32 +00:00
Vinnie Ryan
7c7523d968 7142339: PKCS7.java is needlessly creating SHA1PRNG SecureRandom instances when timestamping is not done
Reviewed-by: xuelei, wetmore
2012-02-13 14:26:25 +00:00
Frederic Parain
3008f1f46e Merge 2012-02-13 06:24:44 -08:00
Oleg Pekhovskiy
2ac69799ec 7143070: test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java freezes on exit
Reviewed-by: anthony
2012-02-13 17:49:23 +04:00
Christian Thalinger
df753a2942 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
Reviewed-by: rbackman, jrose, dholmes
2012-02-13 04:30:59 -08:00
Christian Thalinger
425b53e062 7141329: Strange values of stack_size in -XX:+TraceMethodHandles output
Reviewed-by: kvn, never
2012-02-13 02:29:22 -08:00
Mani Sarkar
7abee00e97 7143230: fix warnings in java.util.jar, sun.tools.jar, zipfs demo, etc
Co-authored-by: Michael Barker <mikeb01@gmail.com>
Co-authored-by: Carl Jokl <carl.jokl@gmail.com>
Co-authored-by: Dinuk Weerasinghe <dinuksw@yahoo.com>
Co-authored-by: Markus Stoy <markus.stoy@timgroup.com>
Co-authored-by: Tom Anderson <tom.anderson@timgroup.com>
Reviewed-by: alanb, chegar, lancea, smarks
2012-02-12 21:56:24 -08:00
Poonam Bajaj
e565fbba32 7009098: SA cannot open core files larger than 2GB on Linux 32-bit
Added Large File Support by compiling libsaproc.so with -D_FILE_OFFSET_BITS=64, and a small change with which SA should first load libraries from the path specified with SA_ALTROOT.

Reviewed-by: dholmes, kevinw, dcubed, minqi
2012-02-12 19:33:11 -08:00
Jan Valenta
0073cdd512 7144979: incorrect path separator in make/build.xml for Windows when running jtreg tests
Reviewed-by: jjg
2012-02-12 16:44:13 -08:00
Alan Bateman
6e1303417c 7144895: ProblemList.txt updates (2/2012)
Reviewed-by: darcy, ohair
2012-02-12 21:09:09 +00:00
Chris Hegarty
cfe8581b9b 7133367: ResponseCache.put should not be called when setUseCaches(false)
Reviewed-by: michaelm
2012-02-12 08:47:36 +00:00
Xue-Lei Andrew Fan
7ddcb409b6 7144781: incorrect URLs in JSSE java doc
Reviewed-by: wetmore, skannan
2012-02-10 22:17:44 -08:00
Bradford Wetmore
533795bb75 7142509: Cipher.doFinal(ByteBuffer,ByteBuffer) fails to process when in.remaining() == 0
Reviewed-by: valeriep
2012-02-10 19:07:23 -08:00
Andrew Haley
b33087c6d3 7140985: HSDIS does not handle caller options correctly
Fix typo.

Reviewed-by: jrose, kvn
2012-02-10 17:20:05 -08:00
Vladimir Kozlov
2d533fa2a9 7129284: +DoEscapeAnalysis regression w/ early build of 7u4 (HotSpot 23) on Linux
Removed code which tried to create edges from fields of destination objects of arraycopy to fields of source objects. Added 30 sec time limit for EA graph construction.

Reviewed-by: never
2012-02-10 12:53:43 -08:00
Alejandro Murillo
4659df3c49 7144322: new hotspot build - hs23-b16
Reviewed-by: jcoomes
2012-02-10 11:46:20 -08:00
Alejandro Murillo
46f9604fd6 Added tag hs23-b15 for changeset 323ec1849b7c 2012-02-10 11:41:34 -08:00
Alejandro Murillo
9d5cdc4b03 Merge 2012-02-10 11:41:29 -08:00
Lana Steuck
9fbc16e840 Merge 2012-02-10 10:23:13 -08:00
Bill Pittore
39f063f94d Merge 2012-02-10 10:55:15 -05:00
Alexander Scherbatiy
f67d19788e 7109991: SwingUtilities.isXMouseButton behaves unexpectedly starting from JDK8 b08
Reviewed-by: rupashka
2012-02-10 18:34:43 +04:00
Prasannaa
1cfc57d91b 7144475: fix some warnings in java.awt, javax.print.attribute.standard, and sun.beans.infos
Co-authored-by: Martijn Verburg <martijnverburg@gmail.com>
Co-authored-by: Goerge Albrecht <goerge.albrecht@gmx.net>
Co-authored-by: Graham Allan <grundlefleck@googlemail.com>
Co-authored-by: Iordanis Giannakakis <i.giannakakis@ymail.com>
Co-authored-by: Jose Llarena <jose.llarena@gmail.com>
Co-authored-by: Abrahamn Marin Perez <abraham.marin.perez@gmail.com>
Reviewed-by: chegar, prr, alanb, anthony
2012-02-10 11:03:20 +00:00
Lana Steuck
9ea42aad43 Merge 2012-02-09 23:17:22 -08:00
Lana Steuck
fffeb599f8 Merge 2012-02-09 22:56:13 -08:00
Lana Steuck
13686b8d12 Merge 2012-02-09 22:55:28 -08:00
Lana Steuck
1ac29856e1 Merge 2012-02-09 22:53:25 -08:00
Lana Steuck
38d86a4aa3 Merge 2012-02-09 19:42:39 -08:00
Florian Weimer
9b65dbabc1 6879539: enable empty password support for pkcs12 keystore
Reviewed-by: vinnie, weijun
2012-02-10 11:41:22 +08:00
John R Rose
610e13c424 Merge 2012-02-09 18:01:20 -08:00
Michael Fang
9f0f739be9 Merge 2012-02-09 16:12:58 -08:00
David Katleman
4ccb224ca8 Added tag jdk8-b25 for changeset 5f9506e97a45 2012-02-09 12:56:35 -08:00
David Katleman
9b26ab91a5 Added tag jdk8-b25 for changeset 5e35df9fddb6 2012-02-09 12:56:12 -08:00
David Katleman
ead2757410 Added tag jdk8-b25 for changeset 3ef37abc6e33 2012-02-09 12:55:59 -08:00
David Katleman
3cc3ab97ed Added tag jdk8-b25 for changeset 6d836b7888ea 2012-02-09 12:55:56 -08:00
David Katleman
5d17e0d33e Added tag jdk8-b25 for changeset 5464af66b3ba 2012-02-09 12:55:38 -08:00
David Katleman
76f9c11768 Added tag jdk8-b25 for changeset 58ac5bae81ab 2012-02-09 12:55:29 -08:00
David Katleman
cbebb2687a Added tag jdk8-b25 for changeset b832ef83f076 2012-02-09 12:55:21 -08:00
Michael Fang
3961e49115 Merge 2012-02-09 10:16:24 -08:00
Alan Bateman
9ace5d5b19 7144086: TEST_BUG: java/nio/file/WatchService/SensitivityModifier.java failing intermittently
Reviewed-by: chegar
2012-02-09 16:38:36 +00:00
Zhengyu Gu
b0725ec91a Merge 2012-02-09 07:35:48 -08:00
Zhengyu Gu
e0ec1c804e 7141259: Native stack is missing in hs_err
Code cleanup and creating a private decoder for error handler, since it can be triggered from in signal handler, where no lock can be taken

Reviewed-by: dholmes, kamg, acorn, coleenp
2012-02-09 10:16:26 -05:00
Pavel Porvatov
36a08afe2a 7142955: DefaultTreeCellRenderer doesn't honor 'Tree.rendererFillBackground' LAF property
Reviewed-by: malenkov
2012-02-09 18:26:57 +04:00
Carlos Lucasius
d228d3127c 7114611: (fs) DirectoryStream fails with SIGBUS on some embedded platforms, dirent alignment
Reviewed-by: dholmes, alanb
2012-02-09 13:43:15 +00:00
Pavel Porvatov
ffc91880e1 7143857: Memory leak in javax.swing.plaf.synth.SynthTreeUI
Reviewed-by: alexp
2012-02-09 14:21:53 +04:00
Yumin Qi
3a09f847bb 7131006: java/lang/management/ThreadMXBean/ThreadLists.java
Reviewed-by: dholmes, acorn
2012-02-09 00:51:47 -08:00
David Katleman
0a228eec58 Merge 2012-02-08 19:13:58 -08:00
Michael Fang
59fae43a26 Merge 2012-02-08 10:18:33 -08:00
Oleg Pekhovskiy
ff7281a866 7132367: [macosx] ChoiceMouseWheelTest should be adapted for mac toolkit
Reviewed-by: art
2012-02-08 18:28:10 +04:00
Pavel Porvatov
0b4df63ee2 7138665: JOptionPane.getValue() unexpected change between JRE 1.6 and JRE 1.7
Reviewed-by: alexp
2012-02-08 16:15:12 +04:00
Gary Adams
d53f00fb69 6957683: test/java/util/concurrent/ThreadPoolExecutor/Custom.java failing
Reviewed-by: chegar, dholmes, alanb
2012-02-08 11:19:25 +00:00
Gary Adams
ba9ddb94fa 6736316: Timeout value in java/util/concurrent/locks/Lock/FlakyMutex.java is insufficient
Reviewed-by: chegar, dholmes, alanb
2012-02-08 11:18:29 +00:00
Chris Hegarty
5070eb57b6 7105929: java/util/concurrent/FutureTask/BlockingTaskExecutor.java fails on solaris sparc
Reviewed-by: dholmes
2012-02-08 11:16:52 +00:00
Roland Westrelin
0f2f8f179e 7119286: JSR292: SIGSEGV in JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c
Unaligned stack in throw_NullPointerException_at_call_entry().

Reviewed-by: twisti, never, kvn
2012-02-08 09:52:24 +01:00
Weijun Wang
18a83d872b 6880619: reg tests for 6879540
Reviewed-by: valeriep
2012-02-08 11:44:36 +08:00
Joe Darcy
d8c00fda7b 7143629: JDK jar/zip code should use unsigned library support
Reviewed-by: sherman
2012-02-07 17:39:13 -08:00
Vladimir Kozlov
e6015c7c26 7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes
Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL.

Reviewed-by: iveresov, never
2012-02-07 16:33:43 -08:00
Frederic Parain
b70c4be0d9 Merge 2012-02-07 12:34:31 -08:00
Vladimir Kozlov
2856b9535e 7142167: MAC: _get_previous_fp broken on bsd with llvm-gcc
LLVM-GCC (__llvm__) should use the same _get_previous_fp implementation as __clang__ (as is the case for os::current_stack_pointer).

Reviewed-by: twisti, never, dcubed
2012-02-07 11:33:15 -08:00
Lana Steuck
62610f975f Merge 2012-02-07 10:39:26 -08:00
Lana Steuck
6bf7f5b84f Merge 2012-02-07 10:38:49 -08:00
Lana Steuck
c96654e8eb Merge 2012-02-07 10:36:51 -08:00
Alan Bateman
b37db2a9db 7142847: TEST_BUG: java/nio/file/WatchService/SensitivityModifier.java has incorrect @run tag, runs Basic
Reviewed-by: chegar
2012-02-07 13:28:32 +00:00
Yong Jeffrey Huang
adc42f10ab Merge 2012-02-06 18:58:45 -08:00
Yong Jeffrey Huang
4ea71cf959 7129382: change minor unit of VND to 0
Reviewed-by: naoto
2012-02-06 18:56:36 -08:00
Alejandro Murillo
01ee621b40 7143122: new hotspot build - hs23-b15
Reviewed-by: jcoomes
2012-02-06 12:18:24 -08:00
Alejandro Murillo
ce62364df5 Added tag hs23-b14 for changeset 04e30cc559a9 2012-02-06 12:13:56 -08:00
James Melvin
8bd7cfc472 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
Fix EXPORT_PATH overrides on Mac OS X and only change default.

Reviewed-by: phh, dcubed
2012-02-06 14:02:51 -05:00
James Melvin
50daea0824 7142852: MAC: Comment out JPRT jbb tests on Mac OS X until 7142850 is resolved
Comment out JPRT jbb tests on Mac OS X until GUI hang can be fixed

Reviewed-by: dholmes, brutisso, phh
2012-02-06 14:01:53 -05:00
Bill Pittore
8e09c4566e Merge 2012-02-06 10:57:49 -05:00
Erik Joelsson
a1b4a3f698 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
Cleaned up make variables for compilers and linker to consistently use CXX for C++ compiler, CC for C compiler and LD for linker.

Reviewed-by: dholmes, ohrstrom
2012-02-06 09:14:22 +01:00
Joe Darcy
f30ca2fd58 7041249: Remove apt tool and API from the JDK
Reviewed-by: jjg, ohair
2012-02-05 21:59:45 -08:00
Joe Darcy
6667bfa0a9 7041249: Remove apt tool and API from the JDK
Reviewed-by: jjg, ohair
2012-02-05 21:49:45 -08:00
Miroslav Kos
33859eda7a 7140918: Remove dependency on apt and com.sun.mirror API
Co-authored-by: Martin Grebac <martin.grebac@oracle.com>
Reviewed-by: darcy
2012-02-05 12:29:31 +00:00
Miroslav Kos
487391eab6 7140918: Remove dependency on apt and com.sun.mirror API
Co-authored-by: Martin Grebac <martin.grebac@oracle.com>
Reviewed-by: darcy
2012-02-05 12:07:39 +00:00
Chris Hegarty
d0bf1b11b1 Merge 2012-02-04 07:36:29 +00:00
Chris Hegarty
511e7438d7 7041778: Move SCTP implementation out of sun.nio.ch and into its own package
Reviewed-by: alanb
2012-02-04 07:29:11 +00:00
Alejandro Murillo
5071c6aa0a 7142393: new hotspot build - hs23-b14
Reviewed-by: jcoomes
2012-02-03 18:09:14 -08:00
Alejandro Murillo
119aa701d0 Added tag hs23-b13 for changeset c996ca3f8bac 2012-02-03 18:04:11 -08:00
Alejandro Murillo
d639db1a9d Merge 2012-02-03 18:04:09 -08:00
John Coomes
abcd88ab09 Merge 2012-02-03 12:20:11 -08:00
John Coomes
140e8ff0d9 Merge 2012-02-03 12:08:55 -08:00
Frederic Parain
7b1a6d8811 Merge 2012-02-03 14:04:59 -05:00
Phil Race
80e0df803f 7141914: Draw glyph cause JVM crash
Reviewed-by: bae, igor
2012-02-03 09:57:45 -08:00
Pavel Porvatov
a1486e0c08 7071775: javax/swing/JFileChooser/6396844/TwentyThousandTest.java failed on winxp
Reviewed-by: alexp
2012-02-03 18:01:24 +04:00
Pavel Porvatov
314ecdc15a 7141573: JProgressBar resize exception, if setStringPainted in Windows LAF
Reviewed-by: malenkov
2012-02-03 17:57:39 +04:00
John Coomes
39ab213a0a 6679764: enable parallel compaction by default
Reviewed-by: phh, jmasa
2012-02-02 16:05:17 -08:00
Sonali Goel
c750a3e42c 7141141: Add 3 new test scenarios for testing Main-Class attribute in jar manifest file
Reviewed-by: ksrini, darcy
2012-02-02 15:37:22 -08:00
David Katleman
fc851bfb71 Added tag jdk8-b24 for changeset e320a58c5e9a 2012-02-02 09:39:44 -08:00
David Katleman
89ba3aae12 Added tag jdk8-b24 for changeset b0f8f6fd6947 2012-02-02 09:39:36 -08:00
David Katleman
cf9dd9cf3b Added tag jdk8-b24 for changeset b18da790e3ea 2012-02-02 09:39:33 -08:00
David Katleman
1f03218e56 Added tag jdk8-b24 for changeset abbbbaf35c96 2012-02-02 09:39:32 -08:00
David Katleman
9cbc2661e1 Added tag jdk8-b24 for changeset 7e187fc00d45 2012-02-02 09:39:26 -08:00
David Katleman
1e4aa8a7d4 Added tag jdk8-b24 for changeset f920d3637c9f 2012-02-02 09:39:19 -08:00
David Katleman
1540e46180 Added tag jdk8-b24 for changeset b77ae0f8eec8 2012-02-02 09:39:18 -08:00
Volker Simonis
b9fbc2faab 7141637: JSR 292: MH spread invoker crashes with NULL argument on x86_32
Reviewed-by: twisti
2012-02-02 09:14:38 -08:00
Matthew Smith
7313a31b92 7132194: GtkFileDialog does not point to the correct file(s) is Recent Files are used
Handle the file list differently if gtk_file_chooser_get_current_folder() returns NULL

Reviewed-by: anthony
2012-02-02 17:49:10 +04:00
Tom Rodriguez
9599296d97 7013347: allow crypto functions to be called inline to enhance performance
Reviewed-by: kvn
2012-02-01 16:57:08 -08:00
Bradford Wetmore
8ac9bc5858 7141910: Incorrect copyright dates on new test cases
Reviewed-by: mullan
2012-02-01 16:00:39 -08:00
James Melvin
73785e645b 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
Add support for packaging HotSpot JVM builds in universal binaries

Reviewed-by: dholmes, kamg, dcubed, phh
2012-02-01 15:01:08 -05:00
Tom Rodriguez
5a41427b37 7141200: log some interesting information in ring buffers for crashes
Reviewed-by: kvn, jrose, kevinw, brutisso, twisti, jmasa
2012-02-01 07:59:01 -08:00
Frederic Parain
ec9b7d57ac 7120974: ManagementPermission "control" needs clarification
Reviewed-by: mchung, dholmes
2012-02-01 03:52:37 -08:00
Roland Westrelin
a59952f4c9 7090976: Eclipse/CDT causes a JVM crash while indexing C++ code
Too optimistic inlining decision confuses local value numbering.

Reviewed-by: never
2012-02-01 10:36:58 +01:00
Lana Steuck
9ad29a120a Merge 2012-01-31 19:08:36 -08:00
Lana Steuck
bc231c8c92 Merge 2012-01-31 19:06:48 -08:00
Christian Thalinger
2fd128fe15 7132180: JSR 292: C1 JVM crash with ClassValue/MethodHandle
Reviewed-by: never
2012-01-31 09:53:46 -08:00
Vladimir Kozlov
1b91bcb342 7140924: SIGSEGV in compiled code for sun.awt.X11.XDecoratedPeer.updateMinSizeHints
Use unknown_obj instead of empty_map for NULL or Constant Pool object constants in bytecode Escape Analyzer.

Reviewed-by: iveresov, never
2012-01-31 07:18:03 -08:00
Pavel Porvatov
bd71369ca5 7082443: JComboBox not backward compatible (with Java 6)
Reviewed-by: alexp
2012-01-31 17:30:33 +04:00
Staffan Larsen
d548c65214 Merge 2012-01-31 04:57:20 -08:00
Fredrik Ohrstrom
301215b860 7132779: build-infra merge: Enable ccache to work for most developer builds
When a build number is not specified, the JRE_RELEASE_VERSION define contains a date and timestamp. Thus ccache cannot cache the object files for longer than a minute since the define is passed to the compilation of all source files. This change passes JRE_RELEASE_VERSION only to vm_version.cpp and adds a function jre_release_version() to Abstract_VM_Version. This allows all other source files to be ccached.

Reviewed-by: ohair, rottenha
2012-01-31 13:12:39 +01:00
Paul Hohensee
76dfe7f707 7142586: Cannot build on Solaris 11 due to use of ia_nice
Delete the single use of ia_nice in os_solaris.cpp

Reviewed-by: kamg, kvn
2012-02-03 17:21:52 -05:00
Jonathan Lu
46accc5829 7133301: (process) UNIXProcess_md.c should include sys/wait.h rather than wait.h
Reviewed-by: alanb
2012-01-31 10:31:19 +00:00
Sergey Malenkov
bb9be9ed00 7122138: IAE thrown because Introspector ignores synthetic methods
Reviewed-by: rupashka
2012-01-31 14:20:47 +04:00
Staffan Larsen
c3ee1cf7f9 7132199: sun/management/jmxremote/bootstrap/JvmstatCountersTest.java failing on all platforms
Make sure HotSpot and JDK looks for well-known files in the same location

Reviewed-by: dholmes, dsamersoff
2012-01-31 10:46:34 +01:00
Karen Kinnear
ce074f86c3 7114376: Make system dictionary hashtable bucket array size configurable
7u4 new experimental flag -XX:PredictedClassLoadedCount=#

Reviewed-by: dholmes, phh, dcubed
2012-01-30 23:27:30 -05:00
Igor Veresov
082b8cb318 7141059: 7116795 broke pure c2 builds
Fix pure c2 builds

Reviewed-by: kvn, brutisso, never
2012-01-30 19:37:14 -08:00
Bengt Rutisson
85e4d13987 7140909: Visual Studio project builds broken: need to define INCLUDE_TRACE
Add define of INCLUDE_TRACE

Reviewed-by: sla, kamg
2012-01-30 15:21:57 +01:00
Bengt Rutisson
d5546e27cf Merge 2012-01-30 05:08:09 -08:00
Doug Lea
45569b3a65 7132378: Race in FutureTask if used with explicit set ( not Runnable )
Reviewed-by: chegar, dholmes
2012-01-30 11:44:45 +00:00
Deepak Bhole
ce79f12b7b 7140882: Don't return booleans from methods returning pointers
Changed "return false" to "return NULL"

Reviewed-by: dholmes, rottenha
2012-01-30 12:36:49 +01:00
Alexander Scherbatiy
c0b462dd42 7122149: [macosx] closed/javax/swing/UITest/UITest.java fails on MacOS
Reviewed-by: rupashka
2012-01-30 12:52:53 +04:00
Tom Rodriguez
5721fa222a 7129164: JNI Get/ReleasePrimitiveArrayCritical doesn't scale
Reviewed-by: kvn, iveresov, dholmes
2012-01-29 16:46:04 -08:00
Lana Steuck
d1e88d085e Merge 2012-01-28 22:47:07 -08:00
Lana Steuck
afe805a586 Merge 2012-01-28 22:21:54 -08:00
Lana Steuck
da83df8bb7 Merge 2012-01-28 20:42:11 -08:00
Lana Steuck
0f98d16ad1 Merge 2012-01-28 20:41:27 -08:00
Lana Steuck
1bf74156a2 Merge 2012-01-28 20:36:29 -08:00
Kumar Srinivasan
25f79b38d8 7127906: (launcher) convert the launcher regression tests to java
Reviewed-by: darcy, naoto
2012-01-28 10:46:46 -08:00
Stefan Karlsson
0603a70b79 Merge 2012-01-28 01:15:34 -08:00
Valerie Peng
9b4334593c 7136538: typo in test/Makefile under the jdk_security3 target
Fixed the typo of "secrity".

Reviewed-by: wetmore
2012-01-27 15:25:17 -08:00
Alejandro Murillo
99b8ef66fd 7135385: new hotspot build - hs23-b13
Reviewed-by: jcoomes
2012-01-27 14:49:54 -08:00
Alejandro Murillo
b67bc26c4d Added tag hs23-b12 for changeset 68d6477cc31f 2012-01-27 14:44:20 -08:00
Alejandro Murillo
82da0a1808 Merge 2012-01-27 14:44:19 -08:00
Keith McGuigan
1e318cc920 Merge 2012-01-27 10:42:36 -05:00
Chris Hegarty
036e845b65 7110002: Rename xawt/libmawt.so and headless/libmawt.so so they can be colocated with libawt
Reviewed-by: art, prr, dholmes, alanb
2012-01-27 13:48:40 +00:00
Alexander Scherbatiy
9a010b5d73 7105040: [macosx] closed/javax/swing/JPopupMenu/4966112/bug4966112.java deadlocks on MacOS
Reviewed-by: rupashka
2012-01-27 17:36:35 +04:00
Stefan Karlsson
4ad03aebbb 7134655: Crash in reference processing when doing single-threaded remarking
Temporarily disabled multi-threaded reference discovery when entering a single-threaded remark phase.

Reviewed-by: brutisso, tonyp, jmasa, jcoomes
2012-01-27 14:14:50 +01:00
Alexander Scherbatiy
a70eddca0d 7109962: [macosx] closed/javax/swing/JList/6462008/bug6462008.java fails on MacOS
Reviewed-by: rupashka
2012-01-27 17:00:16 +04:00
Stefan Karlsson
b7d5d72f78 7022100: Method annotations are incorrectly set when redefining classes
Changed to the correct annotation arrays

Reviewed-by: kamg, dholmes, sla
2012-01-27 13:46:24 +01:00
Alexander Scherbatiy
153bd2fc0d 7122173: [macosx] Several Regression tests fail on MacOS
Reviewed-by: rupashka
2012-01-27 16:32:16 +04:00
Bengt Rutisson
172ebc873c Merge 2012-01-27 09:04:57 +01:00
Masayoshi Okutsu
33a5a447a8 7130335: Problem with timezone in a SimpleDateFormat
Reviewed-by: peytoia
2012-01-27 14:58:32 +09:00
John R Rose
e27deedf24 Merge 2012-01-26 19:39:08 -08:00
David Katleman
3d631d7389 Added tag jdk8-b23 for changeset 6662fc41e1c3 2012-01-26 18:23:36 -08:00
David Katleman
1b98d6343f Added tag jdk8-b23 for changeset 412e931c07b9 2012-01-26 18:23:28 -08:00
David Katleman
34ff11cc2f Added tag jdk8-b23 for changeset 11fa98675c2a 2012-01-26 18:23:25 -08:00
David Katleman
c4b15b06e6 Added tag jdk8-b23 for changeset 939aca1c5dac 2012-01-26 18:23:24 -08:00
David Katleman
5e494c370a Added tag jdk8-b23 for changeset af005838b2f8 2012-01-26 18:23:17 -08:00
David Katleman
fbc7f2bbaf Added tag jdk8-b23 for changeset 751387b26353 2012-01-26 18:23:14 -08:00
David Katleman
47bf575dfa Added tag jdk8-b23 for changeset c62b7a0288a4 2012-01-26 18:23:09 -08:00
Bradford Wetmore
08fe131e34 7126889: Incorrect SSLEngine debug output
Reviewed-by: xuelei
2012-01-26 17:16:05 -08:00
Paul Hohensee
09e21afaaa 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
Add CriticalPriority == MaxPriority+1 and enable scheduling class as well as thread priority to change on Solaris.

Reviewed-by: dholmes, dcubed
2012-01-26 20:06:06 -05:00
Lance Andersen
fa918cde67 7133815: address the findbug errors in CachedRowSetImpl, SerialStruct, BaseRow, SerialInputImpl, SerialOutputImpl
Reviewed-by: forax
2012-01-26 19:41:35 -05:00
John Cuthbertson
179d6df8c0 7133038: G1: Some small profile based optimizations
Some minor profile based optimizations. Reduce the number of branches and branch mispredicts by removing some virtual calls, through closure specalization, and refactoring some conditional statements.

Reviewed-by: brutisso, tonyp
2012-01-26 14:14:55 -08:00
Igor Veresov
84dda879d0 7131259: compile_method and CompilationPolicy::event shouldn't be declared TRAPS
Make sure that CompilationPolicy::event() doesn't throw exceptions

Reviewed-by: kvn, never
2012-01-26 12:15:24 -08:00
Bertrand Delsart
070f9108ff 7120468: SPARC/x86: use frame::describe to enhance trace_method_handle
Improvements of TraceMethodHandles for JSR292

Reviewed-by: never, twisti
2012-01-26 16:49:22 +01:00
Pavel Porvatov
4ae1928609 7010561: Tab text position with Synth based LaF is different to Java 5/6
Reviewed-by: alexp
2012-01-26 17:38:58 +04:00
Rickard Bäckman
804ef2d9ee 7133124: Remove redundant packages from JAR command line
Reviewed-by: acorn, alanb, dholmes, rottenha
2012-01-26 09:51:35 +01:00
Roland Westrelin
de3ed511b1 7123910: Some CTW tests crash VM: is_loaded() && that->is_loaded()
Handle not loaded array klass in Parse::do_checkcast().

Reviewed-by: kvn, never
2012-01-26 09:38:28 +01:00
Yuka Kamiya
844d8fc641 7017458: (cal) Multithreaded deserialization of Calendar leads to ClassCastException
Reviewed-by: okutsu
2012-01-26 17:06:47 +09:00
Bob Vandette
963cefb1bb Merge 2012-01-25 21:30:53 -08:00
John Coomes
3eb017ee50 7112413: JVM Crash, possibly GC-related
Disable UseAdaptiveSizePolicy with the CMS and ParNew

Reviewed-by: johnc, brutisso
2012-01-25 21:14:11 -08:00
Dmitry Samersoff
7ece654913 Merge 2012-01-25 18:58:59 -08:00
Frederic Parain
1b6556acac Merge 2012-01-25 16:33:37 -08:00
David Holmes
ff8aa96e68 Merge 2012-01-25 19:26:35 -05:00
Dmitry Samersoff
a403696909 Merge 2012-01-25 15:03:42 -08:00
Jiangli Zhou
cd85c690df 7132690: InstanceKlass:_reference_type should be u1 type
Change InstanceKlass::_reference_type to u1 type.

Reviewed-by: dholmes, coleenp, acorn
2012-01-25 17:40:51 -05:00
David Katleman
3afc06730d Merge 2012-01-25 13:54:28 -08:00
Alejandro Murillo
89a6bc1ca9 Merge 2012-01-25 12:36:08 -08:00
Jim Holmlund
e1fa8cca42 7133314: The regression test for 7129225 fails when run with jtreg -samevm or jtreg -agentvm
Reviewed-by: jjg
2012-01-25 12:20:05 -08:00
Frederic Parain
6fd2cebd85 7131346: Parsing of boolean arguments to diagnostic commands is broken
Reviewed-by: dholmes, dcubed
2012-01-25 10:32:29 -08:00
Antonios Printezis
802519ea53 7127706: G1: re-enable survivors during the initial-mark pause
Re-enable survivors during the initial-mark pause. Afterwards, the concurrent marking threads have to scan them and mark everything reachable from them. The next GC will have to wait for the survivors to be scanned.

Reviewed-by: brutisso, johnc
2012-01-25 12:58:23 -05:00
Dmitry Samersoff
fdf8f817d3 7132515: Add dcmd to manage UnlockingCommercialFeature flag
Added dcmd to unlock or check status of UnlockingCommercialFeature flag

Reviewed-by: fparain, rottenha
2012-01-25 21:10:08 +04:00
Vladimir Kozlov
51e16a559d Merge 2012-01-25 08:10:04 -08:00
Keith McGuigan
7168e2bfeb Merge 2012-01-25 10:08:40 -05:00
Paul Hohensee
a9d159b065 Merge 2012-01-25 01:16:03 -08:00
Roland Westrelin
f3ce53be67 7116050: C2/ARM: memory stomping error with DivideMcTests
Block::schedule_local() may write beyond end of ready_cnt array

Reviewed-by: never, kvn
2012-01-25 09:31:47 +01:00
Dmitry Samersoff
e5562a8fda Merge 2012-01-24 20:15:56 -08:00
Vladimir Kozlov
3770ecec6f 7132936: guarantee(t != NULL) failed: must be con
Use !higher_equal() check to skip top and values which fit.

Reviewed-by: never
2012-01-24 17:04:51 -08:00
Igor Veresov
7f44e35134 7132945: Tiered: adjust OSR threshold of level 3
Change the value of Tier3BackEdgeThreshold from 7000 to 60000

Reviewed-by: kvn, never
2012-01-24 17:00:51 -08:00
James Melvin
ccf7d491f7 7125793: MAC: test_gamma should always work
Fix gamma launcher on Mac OS X and reconcile test_gamma script on Unix platforms

Reviewed-by: dcubed, ohair, jcoomes, dholmes, ksrini
2012-01-24 19:33:14 -05:00
Jim Holmlund
8f129be7fb 7129225: javac fails to run annotation processors when star import of package of gensrc
Reviewed-by: jjg
2012-01-24 16:31:15 -08:00
Jim Holmlund
139ce2d98a 7126832: com.sun.tools.javac.api.ClientCodeWrapper$WrappedJavaFileManager cannot be cast
Reviewed-by: jjg
2012-01-24 15:51:44 -08:00
Dean Long
7f5b035542 7130319: C2: running with -XX:+PrintOptoAssembly crashes the VM with assert(false) failed: bad tag in log
Relax assert to allow the VMThread to close the log while the compiler thread is still writing to it.

Reviewed-by: dholmes, never
2012-01-24 18:00:54 -05:00
Dmitry Samersoff
501bad4fd6 7066129: GarbageCollectorMXBean#getLastGcInfo leaks native memory
Make GCStatInfo a resource object

Reviewed-by: phh, coleenp
2012-01-25 02:29:05 +04:00
Lana Steuck
9ffd90edcf Merge 2012-01-24 13:44:01 -08:00
Lana Steuck
a863f02fc0 Merge 2012-01-24 13:43:24 -08:00
Lance Andersen
abf04e0d1c 7132879: address Findbugs issue in WebRowSetXmlWriter
Reviewed-by: forax
2012-01-24 15:13:27 -05:00
James Melvin
cba74d6208 7126732: MAC: Require Mac OS X builds/tests for JPRT integrate jobs for HotSpot
Modify jprt.properties to run OSX builds and tests.

Reviewed-by: dcubed, kamg, ohair, dholmes
2012-01-24 14:07:03 -05:00
Kumar Srinivasan
d0df777779 7132270: tools/launcher/DefaultLocaleTestRun.java failing (win)
Reviewed-by: alanb, chegar
2012-01-24 09:58:44 -08:00
Maurizio Cimadamore
d353146b32 7129801: Merge the two method applicability routines
Resolve.java and Infer.java should reuse the same method applicability check routine

Reviewed-by: dlsmith, jjg
2012-01-24 17:52:02 +00:00
Sergey Malenkov
e59111ddf3 7121905: grammatically incorrect apostrophe in BeanInfo javadoc
Reviewed-by: rupashka
2012-01-24 19:40:14 +04:00
Denis Fokin
40dbde3a86 7078460: JDialog is shown as separate icon on the taskbar
Reviewed-by: anthony
2012-01-24 18:46:36 +04:00
Bertrand Delsart
3f08a21500 7120450: complete information dumped by frame_describe
Improvements of frame_describe

Reviewed-by: never, twisti
2012-01-24 15:41:17 +01:00
Rickard Backman
ec891da5a7 7130476: Remove use of #ifdef TRACE_DEFINE_KLASS_TRACE_ID from klass.hpp
Reviewed-by: kamg, phh, dsamersoff
2012-01-24 14:48:22 +01:00
Alan Bateman
c72c2bee4b 7132204: Default testset in JPRT should not run all tests
Reviewed-by: ohair
2012-01-24 09:08:43 +00:00
Coleen Phillimore
d0b33ef971 Merge 2012-01-23 17:45:32 -08:00
Mark Reinhold
77ad1e47c1 7110396: Sound code fails to build with gcc 4.6 on multiarch Linux systems
Reviewed-by: ohair
2012-01-23 12:39:41 -08:00
Denis Fokin
9bf6ef1857 7130140: using horizontal scroll button on mouse causes a message to be printed on stdout
Reviewed-by: art
2012-01-23 17:26:07 +04:00
Xue-Lei Andrew Fan
830a24d326 7132248: sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java failing
Reviewed-by: alanb
2012-01-23 04:44:16 -08:00
Alexander Scherbatiy
ea9ee98dd7 7116634: [macosx] closed/javax/swing/JTree/6263446/bug6263446Tree.java fails on MacOS
Reviewed-by: rupashka
2012-01-23 13:53:24 +04:00
Alexander Scherbatiy
2909ee7529 7112854: [macosx] closed/javax/swing/JPopupMenu/Test6827786.java unstable on MacOS
Reviewed-by: rupashka
2012-01-23 13:05:51 +04:00
Tom Rodriguez
52979e6206 7130676: Tiered: assert(bci == 0 || 0<= bci && bci<code_size()) during stack trace construction
Reviewed-by: kvn, iveresov
2012-01-22 14:03:20 -08:00
Bill Pittore
af9f073374 6972759: Step over not working after thrown exception and Pop
Reset jvmtithreadstate exception state after frame pop and forceearlyreturn processed

Reviewed-by: minqi, dholmes, dlong
2012-01-21 23:02:40 -05:00
Joe Darcy
cc5049f41e 4504839: Java libraries should provide support for unsigned integer arithmetic
4215269: Some Integer.toHexString(int) results cannot be decoded back to an int
6322074: Converting integers to string as if unsigned

Reviewed-by: mduigou, emcmanus, flar
2012-01-20 17:56:31 -08:00
Alejandro Murillo
63b889aba6 7131979: new hotspot build - hs23-b12
Reviewed-by: jcoomes
2012-01-20 17:07:33 -08:00
Alejandro Murillo
f0908fd16b Added tag hs23-b11 for changeset ad2a7ae4f3b0 2012-01-20 16:56:31 -08:00
Alejandro Murillo
6a27f2c096 Merge 2012-01-20 16:56:31 -08:00
Igor Veresov
55c9a74046 7131028: Switch statement takes wrong path
Pass correct type to branch in LIRGenerator::do_SwitchRanges()

Reviewed-by: kvn, never
2012-01-20 15:02:12 -08:00
Alejandro Murillo
370735f2e4 Merge 2012-01-20 14:31:33 -08:00
David Katleman
8d4b04a365 Added tag jdk8-b22 for changeset e6809c7d1735 2012-01-20 13:08:51 -08:00
David Katleman
6f9ada3843 Added tag jdk8-b22 for changeset 054ae6fb4346 2012-01-20 13:08:48 -08:00
David Katleman
ae6fa39b20 Added tag jdk8-b22 for changeset 0a4b26cf7553 2012-01-20 13:08:45 -08:00
David Katleman
1599f28a1f Added tag jdk8-b22 for changeset 99a092d22c70 2012-01-20 13:08:44 -08:00
David Katleman
106518995c Added tag jdk8-b22 for changeset 8b2993f4f9c6 2012-01-20 13:08:43 -08:00
David Katleman
10e49d5a1e Added tag jdk8-b22 for changeset 5df4cdb80642 2012-01-20 13:08:41 -08:00
David Katleman
a95f19a9f3 Added tag jdk8-b22 for changeset ca3137c9be77 2012-01-20 13:08:40 -08:00
Vladimir Kozlov
5b3f2efc2e 7131302: connode.cpp:205 Error: ShouldNotReachHere()
Add Value() methods to short and byte Load nodes to truncate constants which does not fit.

Reviewed-by: jrose
2012-01-20 09:43:06 -08:00
John R Rose
4e648d883d Merge 2012-01-19 18:35:13 -08:00
John R Rose
02ada73e46 Merge 2012-01-19 17:20:39 -08:00
John R Rose
e323998c19 7111138: delete the obsolete flag -XX:+UseRicochetFrames
Reviewed-by: dholmes, bdelsart, kvn, twisti
2012-01-19 13:00:11 -08:00
Phil Race
b25a3c3f11 7131153: GetDC called way too many times - causes bad performance
Reviewed-by: igor, jgodinez
2012-01-19 12:41:57 -08:00
Valerie Peng
f105bf6f5b 7092825: javax.crypto.Cipher.Transform.patternCache is synchronizedMap and became scalability bottleneck
Changed patternCache from synchronizedMap to ConcurrentHashMap.

Reviewed-by: mullan
2012-01-19 12:01:57 -08:00
Igor Veresov
c21cf7cf4b 7131288: COMPILE SKIPPED: deopt handler overflow (retry at different tier)
Fix exception handler stub size, enable guarantees to check for the correct deopt and exception stub sizes in the future

Reviewed-by: kvn, never, twisti
2012-01-19 10:56:51 -08:00
Denis Fokin
d0dfef0321 7121761: creation of java.awt.DataFlavour fails for turkish locale
Reviewed-by: anthony
2012-01-19 14:59:43 +04:00
Lana Steuck
9ccc60ae83 Merge 2012-01-18 20:24:41 -08:00
Lana Steuck
8b5dadd520 Merge 2012-01-18 20:23:33 -08:00
Jim Holmlund
323665eec5 7131308: Three regression tests fail due to bad fix for 7127924
Reviewed-by: jjg
2012-01-18 18:26:36 -08:00
John R Rose
cec41c4c9d 7030453: JSR 292 ClassValue.get method is too slow
Implement ClassValue cooperatively with Class like ThreadLocal with Thread.

Reviewed-by: twisti, mduigou
2012-01-18 17:34:32 -08:00
John R Rose
1c49ad8a03 7077803: java.lang.InternalError in java.lang.invoke.MethodHandleNatives.init
Use correct access token for unreflecting MHs where setAccessible(true)

Reviewed-by: never, twisti
2012-01-18 17:34:30 -08:00
John R Rose
ef856f2fe0 7117167: Misc warnings in java.lang.invoke and sun.invoke.*
Reviewed-by: smarks
2012-01-18 17:34:29 -08:00
Joe Darcy
c569749a21 7130768: Clarify behavior of Element.getEnclosingElements in subtypes
Reviewed-by: mcimadamore, jjg
2012-01-18 16:43:59 -08:00
Lana Steuck
328abbe8d8 Merge 2012-01-18 11:41:13 -08:00
Lana Steuck
5fa3c57f37 Merge 2012-01-18 11:27:56 -08:00
Lana Steuck
92c14834f4 Merge 2012-01-18 11:00:55 -08:00
Lana Steuck
bb8ab4aa4f Merge 2012-01-18 11:00:20 -08:00
John Cuthbertson
fa9d6d7682 7129514: time warp warnings after 7117303
Replace calls to os::javaTimeMillis() that are used to update the milliseconds since the last GC to an equivalent that uses a monotonically non-decreasing time source.

Reviewed-by: ysr, jmasa
2012-01-18 09:50:16 -08:00
Antonios Printezis
6a31970946 7129892: G1: explicit marking cycle initiation might fail to initiate a marking cycle
If we try to schedule an initial-mark GC in order to explicit start a conc mark cycle and it gets pre-empted by antoher GC, we should retry the attempt as long as it's appropriate for the GC cause.

Reviewed-by: brutisso, johnc
2012-02-14 08:21:08 -05:00
Igor Veresov
47d1b9ee33 7144296: PS: Optimize nmethods processing
Prunes scavenge roots in code list every young GC, promote objects directly pointed by the code immediately

Reviewed-by: johnc, jcoomes
2012-02-10 17:40:20 -08:00
Zhengyu Gu
dce4a696bf 7131050: fix for "7071311 Decoder enhancement" does not build on MacOS X
Decoder API changes did not reflect in os_bsd

Reviewed-by: kamg, dcubed
2012-01-18 11:45:14 -05:00
Chris Hegarty
b78021fcd1 7126960: Add property to limit number of request headers to the HTTP Server
Reviewed-by: michaelm
2012-01-18 15:35:06 +00:00
Bertrand Delsart
b11b6e4dda 7120448: Fix FP values for compiled frames in frame::describe
Fix for debug method frame::describe

Reviewed-by: never, kvn
2012-01-18 16:18:31 +01:00
Matt Smith
d5d6252e5b 7130662: GTK file dialog crashes with a NPE
Guard adding a back slash to the directory name with an if (!= null) check

Reviewed-by: anthony, art
2012-01-18 19:09:26 +04:00
Keith McGuigan
14c0efd947 Merge 2012-01-17 21:25:28 -05:00
Jim Holmlund
3d0da40b0d 7127924: langtools regression tests sometimes fail en-masse on windows
Reviewed-by: jjg
2012-01-17 17:14:44 -08:00
Kurchi Subhra Hazra
75e511ab32 7117570: Warnings in sun.mangement.* and its subpackages
Reviewed-by: mchung, dsamersoff
2012-01-17 15:55:40 -08:00
Zhengyu Gu
43bb0877fc 7071311: Decoder enhancement
Made decoder thread-safe

Reviewed-by: coleenp, kamg
2012-01-17 13:08:52 -05:00
Rickard Bäckman
4953b8bfa5 7132386: makefile support for tracing/Java Flight Recorder framework phase I
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Staffan Larsen <staffan.larsen@oracle.com>
Reviewed-by: ohair, dholmes, rottenha
2012-01-17 16:20:52 +01:00
Alan Bateman
a2cb0c3029 7132204: Default testset in JPRT should not run all tests
Reviewed-by: ohair
2012-01-24 09:09:08 +00:00
Joe Darcy
032af13e8b 7132338: Use @code friendly idiom for '\' in javadoc
Reviewed-by: alanb
2012-01-23 12:17:30 -08:00
Sean Mullan
20acbf2a93 Merge 2012-01-23 13:23:05 -05:00
Sean Mullan
ced9a44bc8 7131084: XMLDSig XPathFilter2Transform regression involving intersect filter
Reviewed-by: xuelei
2012-01-23 12:17:04 -05:00
Keith McGuigan
c3f4b6ec1b Merge 2012-01-17 10:16:36 -05:00
Denis Fokin
36b3d034d2 7110590: DnDMerlinQLTestsuite_DnDJTextArea test fails with an java.awt.dnd.InvalidDnDOperationException
Reviewed-by: art
2012-01-17 19:09:32 +04:00
Chris Hegarty
8d3dc3ed37 6671616: TEST_BUG: java/io/File/BlockIsDirectory.java fails when /dev/dsk empty (sol)
Reviewed-by: alanb
2012-01-17 14:10:04 +00:00
Chris Hegarty
c77eb16a79 7129083: CookieManager does not store cookies if url is read before setting cookie manager
Reviewed-by: michaelm
2012-01-16 18:05:29 +00:00
Alan Bateman
3fc15f302b 7130398: ProblemList.txt updates (1/2012)
Reviewed-by: chegar
2012-01-16 16:30:29 +00:00
Sergey Malenkov
e20614ed03 7122740: PropertyDescriptor Performance Slow
Reviewed-by: rupashka
2012-01-16 18:28:56 +04:00
David Buck
e6ade0739d 7083621: Add fontconfig file for OEL6 and rename RH/O EL 5 file so that it is picked up for all 5.x updates
Reviewed-by: bae, prr
2012-01-16 11:52:51 +04:00
Weijun Wang
5cbd245bad 7118809: rcache deadlock
Reviewed-by: valeriep
2012-01-16 10:10:56 +08:00
Alejandro Murillo
b4dae5f577 7129512: new hotspot build - hs23-b11
Reviewed-by: jcoomes
2012-01-14 00:52:39 -08:00
Alejandro Murillo
e30e21cdf5 Added tag hs23-b10 for changeset 4412a0411174 2012-01-14 00:47:46 -08:00
Alejandro Murillo
a362528b38 Merge 2012-01-14 00:47:46 -08:00
Vladimir Kozlov
de9f63b920 Merge 2012-01-13 14:21:14 -08:00
Phil Race
3b8a1fee1d 7127827: JRE8: javaws fails to launch on oracle linux due to XRender
Reviewed-by: bae, jgodinez
2012-01-13 13:11:08 -08:00
Vladimir Kozlov
b9cba282ee 7129618: assert(obj_node->eqv_uncast(obj),"");
Relax verification and locks elimination checks for new implementation (EliminateNestedLocks).

Reviewed-by: iveresov
2012-01-13 12:58:26 -08:00
David Katleman
8765748af2 Added tag jdk8-b21 for changeset 9d026cb0fb2f 2012-01-13 10:05:53 -08:00
David Katleman
f7d05ab615 Added tag jdk8-b21 for changeset 0287f9a11368 2012-01-13 10:05:45 -08:00
David Katleman
ec17932998 Added tag jdk8-b21 for changeset e1dd9987d5a7 2012-01-13 10:05:42 -08:00
David Katleman
25236e8d34 Added tag jdk8-b21 for changeset bcda986cbc2e 2012-01-13 10:05:41 -08:00
David Katleman
35bca52095 Added tag jdk8-b21 for changeset d4711a3a19f6 2012-01-13 10:05:33 -08:00
David Katleman
6f619e30b6 Added tag jdk8-b21 for changeset ee4b0991718c 2012-01-13 10:05:30 -08:00
David Katleman
0bff632023 Added tag jdk8-b21 for changeset 4482b9090d5e 2012-01-13 10:05:28 -08:00
Bengt Rutisson
d2f69b4d5d Merge 2012-01-13 06:18:47 -08:00
Charles Lee
5c8b083c66 7129029: (fs) Unix file system provider should be buildable on platforms that don't support O_NOFOLLOW
Reviewed-by: alanb
2012-01-13 13:20:02 +00:00
Bengt Rutisson
1b06646e3f Merge 2012-01-13 01:55:22 -08:00
John R Rose
9eaf76fc72 Merge 2012-01-13 00:51:43 -08:00
Alexander Scherbatiy
30f7f59109 7121765: closed/javax/swing/JTextArea/4697612/bug4697612.java fails on MacOS on Aqua L&F
Reviewed-by: rupashka
2012-01-13 12:39:23 +04:00
John R Rose
9dfbcbea7a Merge 2012-01-13 00:27:53 -08:00
Valerie Peng
8b0a1174bd Merge 2012-01-12 18:49:33 -08:00
Weijun Wang
c4f77e41b6 7090565: Move test/closed/javax/security/auth/x500/X500Principal/Parse.java to open tests
Reviewed-by: mullan
2012-01-13 09:50:19 +08:00
Valerie Peng
eafb7ad68c 7088989: Improve the performance for T4 by utilizing the newly provided crypto APIs
Added the OracleUcrypto provider for utilizing the Solaris ucrypto API.

Reviewed-by: weijun
2012-01-12 16:04:03 -08:00
Vladimir Kozlov
337666a80c 7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed
Do not common BoxLock nodes and avoid creating phis of boxes.

Reviewed-by: never
2012-01-12 14:45:04 -08:00
Vladimir Kozlov
f3f36ae094 7064302: JDK7 build 147 crashed after testing my java 6-compiled web app
Don't split CMove node if it's control edge is different from split region.

Reviewed-by: never
2012-01-12 12:28:59 -08:00
Maurizio Cimadamore
1b000de186 7123100: javac fails with java.lang.StackOverflowError
Inference of under-constrained type-variables creates erroneous recursive wildcard types

Reviewed-by: jjg
2012-01-12 15:28:34 +00:00
Keith McGuigan
4671b2e4e2 Merge 2012-01-12 09:59:55 -05:00
Xue-Lei Andrew Fan
8b5551f1eb 7106773: 512 bits RSA key cannot work with SHA384 and SHA512
Reviewed-by: weijun
2012-01-12 03:39:37 -08:00
John Cuthbertson
0fa6fc2279 6484965: G1: piggy-back liveness accounting phase on marking
Remove the separate counting phase of concurrent marking by tracking the amount of marked bytes and the cards spanned by marked objects in marking task/worker thread local data structures, which are updated as individual objects are marked.

Reviewed-by: brutisso, tonyp
2012-01-12 00:06:47 -08:00
Antonios Printezis
8861552c07 7132398: G1: java.lang.IllegalArgumentException: Invalid threshold: 9223372036854775807 > max (1073741824)
Was not passing the right old pool max to the memory pool constructor in the fix for 7078465.

Reviewed-by: brutisso, johnc
2012-01-24 17:08:58 -05:00
Bengt Rutisson
4e395f3ddd 7132311: G1: assert((s == klass->oop_size(this)) || (Universe::heap()->is_gc_active() && ((is_typeArray()..
Move the check for when to call collect() to before we do a humongous object allocation

Reviewed-by: stefank, tonyp
2012-01-23 20:36:16 +01:00
Bengt Rutisson
7946306583 7131791: G1: Asserts in nightly testing due to 6976060
Create a handle and fake an object to make sure that we don't loose the memory we just allocated

Reviewed-by: tonyp, stefank
2012-01-20 18:01:32 +01:00
Antonios Printezis
c90c187756 7078465: G1: Don't use the undefined value (-1) for the G1 old memory pool max size
Reviewed-by: johnc, brutisso
2012-01-19 09:13:58 -05:00
John Cuthbertson
43a30ad483 7129271: G1: Interference from multiple threads in PrintGC/PrintGCDetails output
During an initial mark pause, signal the Concurrent Mark thread after the pause output from PrintGC/PrintGCDetails is complete.

Reviewed-by: tonyp, brutisso
2012-01-17 10:21:43 -08:00
Antonios Printezis
c9eb103b7f 7097586: G1: improve the per-space output when using jmap -heap
Extend the jmap -heap output for G1 to include some more G1-specific information.

Reviewed-by: brutisso, johnc, poonam
2012-01-18 10:30:12 -05:00
Bengt Rutisson
c11ba93098 6976060: G1: humongous object allocations should initiate marking cycles when necessary
Reviewed-by: tonyp, johnc
2012-01-16 22:10:05 +01:00
Bengt Rutisson
af0211c200 7130334: G1: Change comments and error messages that refer to CMS in g1/concurrentMark.cpp/hpp
Removed references to CMS in the concurrentMark.cpp/hpp files.

Reviewed-by: tonyp, jmasa, johnc
2012-01-16 11:21:21 +01:00
John Cuthbertson
dac656c955 7121547: G1: High number mispredicted branches while iterating over the marking bitmap
There is a high number of mispredicted branches associated with calling BitMap::iteratate() from within CMBitMapRO::iterate(). Implement a version of CMBitMapRO::iterate() directly using inline-able routines.

Reviewed-by: tonyp, iveresov
2012-01-13 13:27:48 -08:00
Jiangli Zhou
6bc84f7865 7129240: backout fix for 7102776 until 7128770 is resolved
Reviewed-by: phh, bobv, coleenp, dcubed
2012-01-11 19:54:34 -08:00
David Katleman
a742ba1ba3 Merge 2012-01-11 16:13:21 -08:00
David Katleman
ebf8d79496 Merge 2012-01-11 16:12:55 -08:00
Paul Hohensee
8efd785f67 Merge 2012-01-11 17:58:26 -05:00
Markus Gronlund
007126d010 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
Added a nop tracing infrastructure, JFR makefile changes and other infrastructure used only by JFR.

Reviewed-by: acorn, sspitsyn
2012-01-11 17:34:02 -05:00
Maurizio Cimadamore
2c453c5844 7126754: Generics compilation failure casting List<? extends Set...> to List<Set...>
Problems with Types.rewriteQuantifiers not preserving variance

Reviewed-by: jjg
2012-01-11 18:23:24 +00:00
Kumar Srinivasan
86fa49b707 7125442: jar application located in two bytes character named folder cannot be run with JRE 7 u1/u2
Reviewed-by: sherman, mchung, darcy
2012-01-11 08:14:47 -08:00
Alan Bateman
69a71c999c 7068856: (fs) Typo in Files.isSameFile() javadoc
7099208: (fs) Files.newBufferedReader has typo in javadoc

Reviewed-by: forax
2012-01-11 13:07:15 +00:00
Chris Hegarty
1f16d123b1 7128648: HttpURLConnection.getHeaderFields should return an unmodifiable Map
Reviewed-by: michaelm
2012-01-11 10:52:25 +00:00
Vladimir Kozlov
791afc42da 7128352: assert(obj_node == obj) failed
Compare uncasted object nodes.

Reviewed-by: never
2012-01-10 18:05:38 -08:00
Joe Darcy
cd63594f4a 7128931: Bad HTML escaping in java.lang.Throwable javadoc
Reviewed-by: mduigou
2012-01-10 17:46:46 -08:00
Joe Darcy
d3428db5c5 7112008: Javadoc for j.l.Object.finalize() vs JLS 12.6 Finalization of Class Instances
Reviewed-by: mduigou
2012-01-10 17:12:11 -08:00
Antonios Printezis
1d3b26e52b 6888336: G1: avoid explicitly marking and pushing objects in survivor spaces
This change simplifies the interaction between GC and concurrent marking. By disabling survivor spaces during the initial-mark pause we don't need to propagate marks of objects we copy during each GC (since we never need to copy an explicitly marked object).

Reviewed-by: johnc, brutisso
2012-01-10 18:58:13 -05:00
Keith McGuigan
5c89631aef Merge 2012-01-10 15:47:19 -05:00
Bengt Rutisson
2bf3afe882 7128532: G1: Change default value of G1DefaultMaxNewGenPercent to 80
Reviewed-by: tonyp, jmasa
2012-01-10 20:02:41 +01:00
Alexander Scherbatiy
a6f9704a91 6505523: NullPointerException in BasicTreeUI when a node is removed by expansion listener
Reviewed-by: rupashka
2012-01-10 17:11:10 +04:00
Krystal Mok
a5c9da18fb 7128584: Typo in sun.misc.VM's private directMemory field comment
Reviewed-by: forax, chegar
2012-01-10 12:48:08 +00:00
Alexander Scherbatiy
59c8f5f79f 7110815: closed/javax/swing/JSplitPane/4885629/bug4885629.java unstable on MacOS
Reviewed-by: kizune
2012-01-10 15:46:30 +04:00
Brandon Passanisi
f44b5b5812 7123415: Some cases of network interface indexes being read incorrectly
Reviewed-by: chegar
2012-01-10 10:57:12 +00:00
Xue-Lei Andrew Fan
74fcfe6c7e 7123519: problems with certification path
Also including the contribution from Dennis Gu

Reviewed-by: mullan, weijun
2012-01-09 20:55:52 -08:00
Antonios Printezis
30bfc8f549 7125281: G1: heap expansion code is replicated
Reviewed-by: brutisso, johnc
2012-01-09 23:50:41 -05:00
Joe Darcy
a821772a15 7128512: Javadoc typo in java.lang.invoke.MethodHandle
Reviewed-by: mduigou
2012-01-09 20:14:15 -08:00
Lana Steuck
09e2e03986 Merge 2012-01-09 19:13:08 -08:00
Lana Steuck
d29ac175d5 Merge 2012-01-09 19:12:44 -08:00
Neil Richards
d51673ed91 7123229: (coll) EnumMap.containsValue(null) returns true
Java.util.EnumMap.NULL equals() must only be true for itself

Reviewed-by: alanb, mduigou
2012-01-10 00:07:13 +00:00
Martin Desruisseaux
f8400651e0 7128441: StrictMath performance improvement note shared with Math
Reviewed-by: darcy
2012-01-09 15:54:44 -08:00
Gary Adams
6eb76c4598 7030573: test/java/io/FileInputStream/LargeFileAvailable.java fails when there is insufficient disk space
Reviewed-by: alanb
2012-01-09 19:33:02 +00:00
Kelly O'Hair
a3a11340ee 7096063: /META-INF/mimetypes.default missing in jre\lib\resources.jar
Reviewed-by: dholmes
2012-01-09 09:22:54 -08:00
Jonathan Lu
467c036ccf 7128320: Fix freetype sanity check to make it more generic
Reviewed-by: luchsh, katleman
2012-01-09 09:18:37 -08:00
Frederic Parain
849571d5b3 7120511: Add diagnostic commands
Reviewed-by: acorn, phh, dcubed, sspitsyn
2012-01-09 10:27:24 +01:00
Vladimir Kozlov
94927c382b 7125896: Eliminate nested locks
Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.

Reviewed-by: never, twisti
2012-01-07 13:26:43 -08:00
Vladimir Kozlov
f99fb50071 7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM
Change yank_if_dead() to recursive method to remove all dead inputs.

Reviewed-by: never
2012-01-07 10:39:23 -08:00
Antonios Printezis
90cdae9775 7121623: G1: always be able to reliably calculate the length of a forwarded chunked array
Store the "next chunk start index" in the length field of the to-space object, instead of the from-space object, so that we can always reliably read the size of all from-space objects.

Reviewed-by: johnc, ysr, jmasa
2012-01-07 00:43:59 -05:00
Vladimir Kozlov
b93ca70b9b Merge 2012-01-06 20:09:20 -08:00
Joe Darcy
57096116d9 7123649: Remove public modifier from Math.powerOfTwoF
Reviewed-by: smarks, alanb
2012-01-06 18:47:43 -08:00
Daniel D. Daugherty
74c45d049e Merge 2012-01-06 16:18:29 -08:00
Valerie Peng
12558e2ef9 7033170: Cipher.getMaxAllowedKeyLength(String) throws NoSuchAlgorithmException
Changed to always use full transformation as provider properties.

Reviewed-by: mullan
2012-01-06 16:06:41 -08:00
Valerie Peng
c83fa3fdfc Merge 2012-01-06 11:02:31 -08:00
Alan Bateman
5fa281c0ee 7127235: (fs) NPE in Files.walkFileTree if cached attributes are GC'ed
Reviewed-by: forax, chegar
2012-01-06 15:00:22 +00:00
Jon Masamitsu
156b0a12aa Merge 2012-01-05 21:02:05 -08:00
Valerie Peng
1081efba4f 6414899: P11Digest should support cloning
Enhanced the PKCS11 Digest implementation to support cloning

Reviewed-by: vinnie
2012-01-05 18:18:04 -08:00
Igor Veresov
72f3f7db44 7119294: Two command line options cause JVM to crash
Setup thread register in MacroAssembler::incr_allocated_bytes() on x64

Reviewed-by: kvn
2012-01-05 17:25:58 -08:00
Paul Hohensee
66388c03c9 Merge 2012-01-05 17:16:13 -05:00
Paul Hohensee
2cd87d4e3a 7126480: Make JVM start time in milliseconds since the Java epoch available
Expose existing Management::_begin_vm_creation_time via new accessor Management::begin_vm_creation_time().

Reviewed-by: acorn, dcubed
2012-01-05 17:14:52 -05:00
David Katleman
abee2d7726 Added tag jdk8-b20 for changeset 075cd2a7d88e 2012-01-05 08:42:49 -08:00
David Katleman
43b9e261ed Added tag jdk8-b20 for changeset e069ef26f072 2012-01-05 08:42:40 -08:00
David Katleman
30b95117d5 Added tag jdk8-b20 for changeset 90e14ec89395 2012-01-05 08:42:37 -08:00
David Katleman
f33bdc967a Added tag jdk8-b20 for changeset 4296421cf07a 2012-01-05 08:42:36 -08:00
David Katleman
f03bd3541a Added tag jdk8-b20 for changeset a0bd97631679 2012-01-05 08:42:29 -08:00
David Katleman
e89e1b79bf Added tag jdk8-b20 for changeset 7ed0c3890bb7 2012-01-05 08:42:25 -08:00
David Katleman
a0d920bae5 Added tag jdk8-b20 for changeset 87d3111b6629 2012-01-05 08:42:22 -08:00
Frederic Parain
1de4ad84a2 7125594: C-heap growth issue in ThreadService::find_deadlocks_at_safepoint
Reviewed-by: sspitsyn, dcubed, mchung, dholmes
2012-01-05 07:26:44 -08:00
Daniel D. Daugherty
743a35d2dc 7127032: fix for 7122253 adds a JvmtiThreadState earlier than necessary
Use JavaThread::jvmti_thread_state() instead of JvmtiThreadState::state_for().

Reviewed-by: coleenp, poonam, acorn
2012-01-05 06:24:52 -08:00
Kelly O'Hair
892dcc25fc 7127104: Build issue with prtconf and zones, also using := to avoid extra execs
Reviewed-by: katleman
2012-01-04 17:42:25 -08:00
Lana Steuck
2836fc5d02 Merge 2012-01-04 10:58:12 -08:00
Lana Steuck
a43e73eb81 Merge 2012-01-04 10:57:39 -08:00
Jiangli Zhou
e6157688b4 Merge 2012-01-04 12:36:07 -05:00
Jon Masamitsu
95b987c3ac Merge 2012-01-04 07:56:13 -08:00
Frederic Parain
d1c86caeaa 7104647: Adding a diagnostic command framework
Reviewed-by: mchung, dholmes
2012-01-04 03:49:35 -08:00
Jim Holmlund
799afd934d 7046929: tools/javac/api/T6397104.java fails
Reviewed-by: jjg
2012-01-03 17:18:10 -08:00
Erik Gahlin
5782866b28 7126185: Clean up lasterror handling, add os::get_last_error()
Add os::get_last_error(), replace getLastErrorString() by os::lasterror() in os_windows.cpp.

Reviewed-by: kamg, dholmes
2012-01-03 15:11:31 -05:00
Jonathan Gibbons
a3f0f7b59c 4881269: improve diagnostic for ill-formed tokens
Reviewed-by: mcimadamore
2012-01-03 11:37:00 -08:00
Christopher Gruszka
66d59b683f Merge 2012-01-03 14:34:08 -05:00
Jon Masamitsu
d07885c3c6 Merge 2012-01-03 10:22:19 -08:00
Kumar Srinivasan
6274287b95 7124443: (launcher) test DefaultsLocaleTest fails with Windows shells
Reviewed-by: darcy
2012-01-03 08:33:30 -08:00
Kumar Srinivasan
3890c64b86 7123582: (launcher) display the -version and -XshowSettings
Reviewed-by: alanb
2012-01-03 08:27:37 -08:00
Stefan Karlsson
e0ae7fac7c 7125503: Compiling collectedHeap.cpp fails with -Werror=int-to-pointer-cast with g++ 4.6.1
Used uintptr_t and void* for all the casts and checks in test_is_in.

Reviewed-by: tonyp, jmasa
2012-01-02 10:01:46 +01:00
Karen Kinnear
c323bcdca8 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
Add rdtsc detection and inline generation.

Reviewed-by: kamg, dholmes
2012-01-01 11:17:59 -05:00
Chris Hegarty
1d37e604b0 7125055: ContentHandler.getContent API changed in error
Reviewed-by: alanb
2012-01-01 09:24:00 +00:00
Vladimir Kozlov
05ec1c0816 7125879: assert(proj != NULL) failed: must be found
Leave i_o attached to slow allocation call when there are no i_o users after the call.

Reviewed-by: iveresov, twisti
2011-12-30 11:43:06 -08:00
Vladimir Danushevsky
8a8eafcc47 Merge 2011-12-29 20:09:24 -05:00
Stuart Marks
79235d3197 7122061: add -Xlint:all -Werror to warning-free build steps
Reviewed-by: chegar, alanb, dholmes, ohair
2011-12-29 16:39:51 -08:00
David Katleman
d09c9a8fd3 Added tag jdk8-b19 for changeset 8e546b2b9dd0 2011-12-29 15:14:53 -08:00
David Katleman
cb15ac68aa Added tag jdk8-b19 for changeset d0ec48636c58 2011-12-29 15:14:45 -08:00
David Katleman
1209eff35b Added tag jdk8-b19 for changeset 3bf50beb6cfb 2011-12-29 15:14:41 -08:00
David Katleman
da097641d1 Added tag jdk8-b19 for changeset 5d3d2bd1dfd1 2011-12-29 15:14:40 -08:00
David Katleman
9fc4c79d3f Added tag jdk8-b19 for changeset a8d0b94dcf7c 2011-12-29 15:14:33 -08:00
David Katleman
689eb5c788 Added tag jdk8-b19 for changeset d7beecd46eba 2011-12-29 15:14:28 -08:00
David Katleman
a639e6c992 Added tag jdk8-b19 for changeset 13a20c009f86 2011-12-29 15:14:26 -08:00
Vladimir Kozlov
b6828ac542 Merge 2011-12-29 11:37:50 -08:00
Stefan Karlsson
24e4bf6a80 7125516: G1: ~ConcurrentMark() frees incorrectly
Replaced the code with a ShouldNotReachHere

Reviewed-by: tonyp, jmasa
2011-12-29 07:37:23 +01:00
David Katleman
6ddf2df795 Merge 2011-12-28 15:14:24 -08:00
Lana Steuck
99e6dce2a2 Merge 2011-12-28 10:52:11 -08:00
Lana Steuck
3419a755d7 Merge 2011-12-28 10:51:24 -08:00
Jiangli Zhou
0671e90755 7123315: instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count should be u2 type
Change instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count to u2 type.

Reviewed-by: never, bdelsart, dholmes
2011-12-28 12:15:57 -05:00
Oleg Pekhovskiy
152a77b4f6 7121482: some sun/java2d and sun/awt tests failed with InvalidPipeException since 1.7.0_03b02, 6u31b02
Reviewed-by: art, bae
2011-12-28 14:26:03 +04:00
Aleksey Ignatenko
c7ec06ba8e 7124829: NUMA: memory leak on Linux with large pages
In os::free_memory() use mmap with the same attributes as for the heap space

Reviewed-by: kvn
2011-12-27 16:43:49 -08:00
Vladimir Kozlov
f96f3e5e85 7123954: Some CTW test crash with SIGSEGV
Correct Allocate expansion code to preserve i_o when only slow call is generated.

Reviewed-by: iveresov
2011-12-27 15:08:43 -08:00
Jon Masamitsu
3c164a7525 Merge 2011-12-27 12:38:49 -08:00
Vladimir Danushevsky
2b6f4a741d Merge 2011-12-26 20:36:01 -05:00
Lana Steuck
9e264f222c Merge 2011-12-23 16:39:22 -08:00
Lana Steuck
2c60c1d450 Merge 2011-12-23 16:38:34 -08:00
Lana Steuck
93603c443d Merge 2011-12-23 16:36:35 -08:00
Lana Steuck
08c6d2dba6 Merge 2011-12-23 16:36:33 -08:00
Lana Steuck
c2f3bed087 Merge 2011-12-23 16:36:23 -08:00
Lana Steuck
f93e67f60f Merge 2011-12-23 16:36:17 -08:00
Alejandro Murillo
059e06b49f 7123810: new hotspot build - hs23-b10
Reviewed-by: jcoomes
2011-12-23 15:29:34 -08:00
Alejandro Murillo
b928899267 Added tag hs23-b09 for changeset 1020a9a071b7 2011-12-23 15:24:44 -08:00
Alejandro Murillo
e1c4fbda9a Merge 2011-12-23 15:24:43 -08:00
Vladimir Kozlov
6c38bc48ca 7110832: ctw/.../org_apache_avalon_composition_util_StringHelper crashes the VM
Distance is too large for one short branch in string_indexofC8().

Reviewed-by: iveresov
2011-12-23 15:24:36 -08:00
Jonathan Gibbons
42b9d6bc2e 7124605: typos in javac comments
Reviewed-by: ksrini
2011-12-23 22:30:33 +00:00
John Cuthbertson
39d61f89a2 7121496: G1: do the per-region evacuation failure handling work in parallel
Parallelize the removal of self forwarding pointers etc. by wrapping in a HeapRegion closure, which is then wrapped inside an AbstractGangTask.

Reviewed-by: tonyp, iveresov
2011-12-23 11:14:18 -08:00
Jon Masamitsu
c18293c806 Merge 2012-01-05 21:21:55 -08:00
Antonios Printezis
3c0eb44a7c 7113006: G1: excessive ergo output when an evac failure happens
Introduce a flag that is set when a heap expansion attempt during a GC fails so that we do not consantly attempt to expand the heap when it's going to fail anyway. This not only prevents the excessive ergo output (which is generated when a region allocation fails) but also avoids excessive and ultimately unsuccessful expansion attempts.

Reviewed-by: jmasa, johnc
2012-01-05 05:54:01 -05:00
Christopher Gruszka
29d2647a0a Merge 2011-12-23 10:43:48 -05:00
Roland Westrelin
59b883333b 7123253: C1: in store check code, usage of registers may be incorrect
Fix usage of input register in assembly code for store check.

Reviewed-by: never
2011-12-23 09:36:23 +01:00
Christine Lu
d69e5e7e94 Added tag jdk8-b18 for changeset ff9cf1de21fa 2011-12-22 19:00:58 -08:00
Christine Lu
c3b4f37dce Added tag jdk8-b18 for changeset 18c0332b5a94 2011-12-22 19:00:41 -08:00
Christine Lu
6f93677a16 Added tag jdk8-b18 for changeset 70e192b61669 2011-12-22 19:00:27 -08:00
Christine Lu
1fba5dd495 Added tag jdk8-b18 for changeset 9bdd4ab27689 2011-12-22 19:00:26 -08:00
Christine Lu
80a5e57301 Added tag jdk8-b18 for changeset c1d8be9305ad 2011-12-22 19:00:20 -08:00
Christine Lu
a786537995 Added tag jdk8-b18 for changeset 7669801cfef1 2011-12-22 19:00:13 -08:00
Christine Lu
8b65c43971 Added tag jdk8-b18 for changeset 73359e35e507 2011-12-22 19:00:11 -08:00
Daniel D. Daugherty
937ae45cd8 7121600: Instrumentation.redefineClasses() leaks class bytes
Call JNI ReleaseByteArrayElements() on memory returned by JNI GetByteArrayElements(). Also push test for 7122253.

Reviewed-by: acorn, poonam
2011-12-22 18:35:48 -08:00
Daniel D. Daugherty
c210a09fdf 7122253: Instrumentation.retransformClasses() leaks class bytes
Change ClassFileParser::parseClassFile() to use the instanceKlass:_cached_class_file_bytes field to avoid leaking the cache.

Reviewed-by: coleenp, acorn, poonam
2011-12-22 12:50:42 -08:00
Vladimir Danushevsky
6446da199d Merge 2011-12-22 12:01:46 -05:00
Stephen Flores
a046e398d5 7076310: (file) AclEntry.Builder setFlags throws IllegalArgumentException if set argument is empty
Reviewed-by: alanb
2011-12-22 10:52:17 +00:00
Roland Westrelin
c10042bc68 7123108: C1: assert(if_state != NULL) failed: states do not match up
In CEE, ensure if and common successor state are at the same inline level

Reviewed-by: never
2011-12-22 10:55:53 +01:00
Weijun Wang
440adedd51 7122169: TcpTimeout fail for various reasons
Reviewed-by: alanb
2011-12-22 15:35:55 +08:00
Coleen Phillimore
5232221c68 Merge 2011-12-21 18:22:14 -08:00
Valerie Peng
9b7ddf1602 6839886: Array overrun in pkcs11
Fix the wrong value when dealing w/ month and day.

Reviewed-by: mullan
2011-12-21 14:08:00 -08:00
Thomas Wuerthinger
a4f6289b4f 7064927: retransformClasses() does not pass in LocalVariableTable of a method
Handle LVT attribute in the class file reconstitutor.

Reviewed-by: phh, coleenp
2011-12-21 16:41:15 -05:00
Bengt Rutisson
056282a67b 7113021: G1: automatically enable young gen size auto-tuning when -Xms==-Xmx
Use a percentage of -Xms as min and another percentage of -Xmx as max for the young gen size

Reviewed-by: tonyp, johnc
2011-12-21 22:13:31 +01:00
Erik Gahlin
5657eb0c6c 7091417: recvfrom's 6th input should be of type socklen_t
Revamp class os's socket method formal args to match socket.h, insert casts in appropriate places, and copyin-copyout int*'s that s/b socklen_t*'s in jvm.cpp.

Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Reviewed-by: coleenp, dholmes
2011-12-21 15:48:16 -05:00
Brandon Passanisi
e4dad47833 7078386: NetworkInterface.getNetworkInterfaces() may return corrupted results on linux
Reviewed-by: michaelm, alanb, chegar
2011-12-21 10:06:32 +00:00
Masayoshi Okutsu
c15d5acd01 7122054: (tz) Windows-only: tzmappings needs update for KB2633952
Reviewed-by: peytoia
2011-12-21 17:09:39 +09:00
Lana Steuck
3f5f0b4dc0 Merge 2011-12-20 15:27:55 -08:00
Lana Steuck
6d9634a306 Merge 2011-12-20 15:26:23 -08:00
Jon Masamitsu
a9c2b784c2 Merge 2011-12-20 12:27:31 -08:00
Roland Westrelin
97439fb4ff 7121140: Allocation paths require explicit memory synchronization operations for RMO systems
Adds store store barrier after initialization of header and body of objects.

Reviewed-by: never, kvn
2011-12-20 16:56:50 +01:00
Bertrand Delsart
82a0e26723 7116216: StackOverflow GC crash
GC crash for explicit stack overflow checks after a C2I transition.

Co-authored-by: Yang Wang <yang02.wang@sap.com>
Reviewed-by: coleenp, never
2011-12-20 12:33:05 +01:00
Anthony Petrov
b3582e243e 7122796: SunToolkit constructor should create the EventQueue for the Main AppContext
Always create an EQ for the main AppContext in SunToolkit constructor

Reviewed-by: art
2011-12-20 12:48:01 +03:00
Paul Hohensee
577403d2ca Merge 2011-12-19 21:38:51 -08:00
Stephen Flores
a8ad56bd5c 6990617: Regular expression doesn't match if unicode character next to a digit
Updated RemoveQEQuotation() to deal with this case correctly

Reviewed-by: sherman
2011-12-19 14:14:14 -08:00
Paul Hohensee
2c192911dd 7122880: Extend vendor-specific command interface to include manageable switches
Add Flag::external_ext()/writable_ext(), both return false.

Reviewed-by: coleenp, zgu
2011-12-19 15:50:47 -05:00
Volker Simonis
f49894d78c 7122939: TraceBytecodes broken with UseCompressedOops
Disable verify_heapbase on sparc if TraceBytecodes because the latter uses r12 as a temp register

Reviewed-by: coleenp, phh
2011-12-19 15:34:09 -05:00
Igor Nekrestyanov
30c9b2b165 Merge 2011-12-19 10:06:23 -08:00
John Cuthbertson
870bea622a 7117303: VM uses non-monotonic time source and complains that it is non-monotonic
Replaces calls to os::javaTimeMillis(), which does not (and cannot) guarantee monotonicity, in GC code to an equivalent expression that uses os::javaTimeNanos(). os::javaTimeNanos is guaranteed monotonically non-decreasing if the underlying platform provides a monotonic time source. Changes in OS files are to make use of the newly defined constants in globalDefinitions.hpp.

Reviewed-by: dholmes, ysr
2011-12-19 10:02:05 -08:00
Denis Fokin
1258946332 7117011: Reduce number of warnings in sun/awt/windows and sun/awt/datatransfer
Reviewed-by: art
2011-12-19 16:44:36 +04:00
Maurizio Cimadamore
61ee75c9d4 7120463: Fix method reference parser support in order to avoid ambiguities
Add lookahead routine to disambiguate between method reference in method context and binary expression

Reviewed-by: jjg, dlsmith
2011-12-19 12:07:07 +00:00
Oleg Pekhovskiy
3704715569 7117334: Warnings cleanup day: reduce number of javac warnings in the java.awt package
Reviewed-by: art, denis, alexsch
2011-12-19 15:21:35 +04:00
Dmeetry Degrave
2829f07b30 7046238: new InitialContext(); hangs
Synchronization on a single monitor for contactInfo parameters with identical hashCode()

Reviewed-by: robm, skoppar
2011-12-18 22:12:41 +04:00
Brandon Passanisi
6702bf177f 7087549: (fs) Files.newInputStream throws UOE for custom provider options
Reviewed-by: alanb
2011-12-17 20:07:14 +00:00
Stuart Marks
be40fd7800 7122235: stop the build if javac fails
Reviewed-by: chegar, dholmes, mcimadamore, ohair
2011-12-17 08:21:23 -08:00
Jim Holmlund
441d03061d 7122342: testPrintProcessorInfo/TestWithXstdout.java failed for JDK8 nightly build at 12/16/2011
Do not pass empty args to javac

Reviewed-by: jjg
2011-12-16 16:41:00 -08:00
Jiangli Zhou
6e894d5474 Merge 2011-12-16 17:33:08 -05:00
Jonathan Gibbons
e559289081 7121961: javadoc is missing a resource property
Reviewed-by: bpatel
2011-12-16 13:49:44 -08:00
Alejandro Murillo
106a949bb5 7122001: new hotspot build - hs23-b09
Reviewed-by: jcoomes
2011-12-16 12:46:17 -08:00
Alejandro Murillo
8fa69349e2 Added tag hs23-b08 for changeset 40104529a61f 2011-12-16 12:37:38 -08:00
Alejandro Murillo
9102dfec84 Merge 2011-12-16 12:38:00 -08:00
Lana Steuck
ea01b60d82 Merge 2011-12-16 12:12:17 -08:00
Christopher Gruszka
928809708d Merge 2011-12-16 15:01:55 -05:00
John Cuthbertson
2768349b41 7120038: G1: ParallelGCThreads==0 is broken
Running G1 with ParallelGCThreads==0 results in various crashes and asserts. Most of these are caused by unguarded references to the worker threads array or an incorrect number of active workers.

Reviewed-by: jmasa, tonyp
2011-12-16 11:40:00 -08:00
Chris Hegarty
d680725432 7095980: Ensure HttpURLConnection (and supporting APIs) don't expose HttpOnly cookies
Reviewed-by: michaelm
2011-12-16 16:09:41 +00:00
Antonios Printezis
8b05b38909 7113012: G1: rename not-fully-young GCs as "mixed"
Renamed partially-young GCs as mixed and fully-young GCs as young. Change all external output that includes those terms (GC log and GC ergo log) as well as any comments, fields, methods, etc. The changeset also includes very minor code tidying up (added some curly brackets).

Reviewed-by: johnc, brutisso
2011-12-16 02:14:27 -05:00
Lana Steuck
1289447ac4 Merge 2011-12-15 19:53:04 -08:00
Lana Steuck
f1c7c499bf Merge 2011-12-15 19:52:13 -08:00
Lana Steuck
fad054567f Merge 2011-12-15 19:49:58 -08:00
Lana Steuck
c81bf9bf17 Merge 2011-12-15 19:49:53 -08:00
Lana Steuck
b6bd9844c4 Merge 2011-12-15 19:49:16 -08:00
Lana Steuck
a6e7001098 Merge 2011-12-15 19:49:11 -08:00
David Katleman
28ab3c9991 Merge 2011-12-15 15:57:51 -08:00
David Katleman
662d105a15 Merge 2011-12-15 15:55:53 -08:00
David Katleman
35d80f6a3a Merge 2011-12-15 15:54:50 -08:00
David Katleman
8d7fa09ac3 Merge 2011-12-15 15:54:22 -08:00
David Katleman
9bfccebaa3 Merge 2011-12-15 15:52:58 -08:00
David Katleman
d0a2e6776c Merge 2011-12-15 15:52:09 -08:00
David Katleman
9119f29f16 Merge 2011-12-15 15:51:50 -08:00
David Katleman
59128f6107 Added tag jdk8-b16 for changeset 3b5651ae449e 2011-12-15 15:47:47 -08:00
David Katleman
64a4e00654 Added tag jdk8-b16 for changeset 9b857545922a 2011-12-15 15:47:31 -08:00
David Katleman
199b7bc5b2 Added tag jdk8-b16 for changeset 76e4bc65bb65 2011-12-15 15:47:26 -08:00
David Katleman
d71f8f6c11 Added tag jdk8-b16 for changeset 235fd08346ca 2011-12-15 15:47:25 -08:00
David Katleman
53b8114278 Added tag jdk8-b16 for changeset 161820e6113e 2011-12-15 15:47:18 -08:00
David Katleman
ec4a2991dc Added tag jdk8-b16 for changeset 76782d63dda5 2011-12-15 15:47:15 -08:00
David Katleman
85b827115f Added tag jdk8-b16 for changeset a13e5e6f9ad0 2011-12-15 15:47:06 -08:00
Xueming Shen
8514873d3d 7118283: Better input parameter checking in zip file processing
Fixed off-by-one bug in zip_util.c

Reviewed-by: alanb
2011-12-15 14:18:56 -08:00
David Katleman
a98e5a19c0 Added tag jdk8-b17 for changeset 27c6c6c32d01 2011-12-15 12:16:55 -08:00
David Katleman
00b5a73ca2 Added tag jdk8-b17 for changeset f93045767e5d 2011-12-15 12:16:36 -08:00
David Katleman
974838e972 Added tag jdk8-b17 for changeset 76e4bc65bb65 2011-12-15 12:16:29 -08:00
David Katleman
c5b3a96b64 Added tag jdk8-b17 for changeset 235fd08346ca 2011-12-15 12:16:26 -08:00
David Katleman
02818b03d5 Added tag jdk8-b17 for changeset 161820e6113e 2011-12-15 12:16:15 -08:00
David Katleman
c3cc27b1d8 Added tag jdk8-b17 for changeset 76782d63dda5 2011-12-15 12:16:09 -08:00
David Katleman
5a902e85b6 Added tag jdk8-b17 for changeset a13e5e6f9ad0 2011-12-15 12:16:02 -08:00
Michael Fang
638f43b009 Merge 2011-12-15 11:29:58 -08:00
Jonathan Gibbons
e850a9fde0 7121682: remove obsolete import
Reviewed-by: jjh
2011-12-14 21:52:59 -08:00
Jonathan Gibbons
b771185497 7121681: compiler message file broken for javac -fullversion
Reviewed-by: jjh
2011-12-14 17:52:41 -08:00
John Cuthbertson
4976ad0ccf 7119908: G1: Cache CSet start region for each worker for subsequent reuse
Cache workers' calculated starting heap region, used for parallel iteration over the collcection set, for subsequent reuse.

Reviewed-by: tonyp, brutisso
2011-12-14 17:43:55 -08:00
Vladimir Danushevsky
958178facc Merge 2011-12-14 20:06:21 -05:00
Jonathan Gibbons
9a127e2710 7111022: javac no long prints last round of processing
7121323: Sqe tests using -Xstdout option fail with an invalid flag error message

Reviewed-by: darcy
2011-12-14 16:16:04 -08:00
Jon Masamitsu
0ebc10bb13 7121618: Change type of number of GC workers to unsigned int
Change variables representing the number of GC workers to uint from int and size_t.  Change the parameter in work(int i) to work(uint worker_id).

Reviewed-by: brutisso, tonyp
2011-12-14 13:34:57 -08:00
Antonios Printezis
1de50427de 7119027: G1: use atomics to update RS length / predict time of inc CSet
Make sure that the updates to the RS length and inc CSet predicted time are updated in an MT-safe way.

Reviewed-by: brutisso, iveresov
2011-12-21 07:53:53 -05:00
Jon Masamitsu
49878e46f3 Merge 2011-12-20 20:29:35 -08:00
Antonios Printezis
9427bd6eec 7123165: G1: output during parallel verification can get messed up
Serialize the worker threads that are generating output during parallel heap verification to make sure the output is consistent.

Reviewed-by: brutisso, johnc, jmasa
2011-12-20 12:59:28 -05:00
Frederic Parain
85db00acd6 7104647: Adding a diagnostic command framework
Reviewed-by: phh, dcubed
2011-12-14 04:30:57 -08:00
Stefan Karlsson
a3943834e1 7121373: Clean up CollectedHeap::is_in
Fixed G1CollectedHeap::is_in, added tests, cleaned up comments and made Space::is_in pure virtual.

Reviewed-by: brutisso, tonyp, jcoomes
2011-12-14 12:15:26 +01:00
Oleg Pekhovskiy
53ea54c90f 7112642: Incorrect checking for graphics rendering object
Reviewed-by: art, bae
2011-12-14 14:43:44 +04:00
Masayoshi Okutsu
666bd54f80 6351654: Problem with java/classes_util_i18n
Reviewed-by: hawtin, coffeys
2011-12-14 11:23:21 +09:00
Naoto Sato
f31e66f99c 4808233: "Locale" not thread-safe
Reviewed-by: okutsu
2011-12-13 15:41:47 -08:00
Jonathan Gibbons
0707071217 7121164: renamed files not committed
Reviewed-by: ksrini
2011-12-13 14:33:39 -08:00
Jonathan Gibbons
ea7f040a8e 7120736: refactor javac option handling
Reviewed-by: mcimadamore
2011-12-13 11:21:28 -08:00
Alexander Scherbatiy
7acd8858d0 7116950: Reduce number of warnings in swing
Reviewed-by: art
2011-12-13 18:38:39 +04:00
Alexander Scherbatiy
84ee878ee3 7120869: javax/swing/JScrollBar/4708809/bug4708809.java fails on Windows
The robot auto-delay is increased to fix the test failing on Windows.

Reviewed-by: alexp
2011-12-13 17:30:21 +04:00
Alexander Scherbatiy
b633dc9918 7112931: closed/javax/swing/JTabbedPane/6416920/bug6416920.java fails on MacOS
Reviewed-by: alexp
2011-12-13 15:32:28 +04:00
Yong Jeffrey Huang
092bb45d80 7003124: In Bulgarian Locale DateFormat is wrong
Reviewed-by: naoto, peytoia
2011-12-12 18:21:42 -08:00
Lana Steuck
ccc8319e5f Merge 2011-12-12 10:08:26 -08:00
Kelly O'Hair
f5bfcb05b2 7119829: Adjust default jprt testing configuration
Reviewed-by: alanb
2011-12-12 08:17:28 -08:00
Kelly O'Hair
daca795ff4 7119829: Adjust default jprt testing configuration
Reviewed-by: alanb
2011-12-12 08:15:32 -08:00
Kelly O'Hair
67b3e95477 7119829: Adjust default jprt testing configuration
Reviewed-by: alanb
2011-12-12 08:15:10 -08:00
Kelly O'Hair
3892973c2b 7119829: Adjust default jprt testing configuration
Reviewed-by: alanb
2011-12-12 08:13:56 -08:00
Kelly O'Hair
5683b67955 7117110: Remove target 1.5 from jaxp and jaxws repo builds for mac
Reviewed-by: alanb
2011-12-12 08:13:22 -08:00
Kelly O'Hair
bf884c6dff 7119829: Adjust default jprt testing configuration
Reviewed-by: alanb
2011-12-12 08:12:38 -08:00
Kelly O'Hair
877c60e798 7117110: Remove target 1.5 from jaxp and jaxws repo builds for mac
Reviewed-by: alanb
2011-12-12 08:12:20 -08:00
Kelly O'Hair
c0323a859a 7119829: Adjust default jprt testing configuration
Reviewed-by: alanb
2011-12-12 08:11:05 -08:00
Chris Hegarty
1c95ce5e42 Merge 2011-12-12 03:54:42 -08:00
Charles Lee
622ac75d6b 7118907: InetAddress.isReachable() should return false if sendto fails with EHOSTUNREACH
Reviewed-by: alanb, chegar
2011-12-12 11:41:10 +00:00
Alexander Scherbatiy
43c224b608 7105890: closed/javax/swing/JScrollBar/4708809/bug4708809.java deadlocks on MacOS
Reviewed-by: alexp
2011-12-12 15:33:49 +04:00
Doug Lea
87062ca29f 7118066: Warnings in java.util.concurrent package
Reviewed-by: chegar, dholmes
2011-12-12 10:45:54 +00:00
Maurizio Cimadamore
bf0106a903 7120266: javac fails to compile hotspot code
Parser changes for method references cause bad intercation with method call syntax

Reviewed-by: jjg
2011-12-11 17:48:25 +00:00
Kumar Srinivasan
d7cfaf1336 7119487: JavacParserTest.java test fails on Windows platforms
Reviewed-by: jjg
2011-12-10 17:44:46 -08:00
Jon Masamitsu
714e978aac 7119584: UseParallelGC barrier task can be overwritten
Provoke a GC for a metadata allocation failure.

Reviewed-by: johnc, iveresov
2011-12-09 19:28:34 -08:00
Jim Holmlund
6d0e8939c1 7117053: Fix build warnings in com/sun/tools/jdi/*
Warnings fixed.  Also reviewed by serguei.spitsyn@oracle.com, who is not yet an openjdk reviewer

Reviewed-by: ksrini
2011-12-09 12:56:22 -08:00
Jiangli Zhou
fafb59a0dc Merge 2011-12-09 11:29:05 -08:00
Jan Lahoda
7beeeca1de 7119032: (javac) increase visibility of JavacParser methods to improve subtyping
Reviewed-by: jjg
2011-12-09 08:40:40 -08:00
Jon Masamitsu
bb40d3f9f4 Merge 2011-12-09 06:46:57 -08:00
Stuart Marks
5eaf5ed9bc 7118546: fix warnings in javax.xml.crypto, javax.script
Reviewed-by: mullan
2011-12-08 14:57:13 -08:00
Omair Majid
d312aad0c1 7117612: Miscellaneous warnings in java.lang
Reviewed-by: smarks, dholmes, alanb, darcy
2011-12-08 13:48:54 -05:00
Vladimir Kozlov
98ac731a94 Merge 2011-12-08 10:27:33 -08:00
Vladimir Danushevsky
f930f9f6f6 7050298: ARM: SIGSEGV in JNIHandleBlock::allocate_handle
Missing release barrier in Monitor::IUnlock

Reviewed-by: dholmes, dice
2011-12-07 16:47:08 -05:00
David Katleman
bf6c7ea1f7 Merge 2011-12-07 13:02:35 -08:00
David Katleman
569c7fb353 Merge 2011-12-07 13:02:34 -08:00
Prasannaa
92f2120b41 7117249: fix warnings in java.util.jar, .logging, .prefs, .zip
Co-authored-by: Martijn Verburg <martijnverburg@gmail.com>
Co-authored-by: Goerge Albrecht <goerge.albrecht@gmx.net>
Co-authored-by: Graham Allan <grundlefleck@googlemail.com>
Co-authored-by: Michael Barker <mikeb01@gmail.com>
Reviewed-by: alanb, dholmes, forax, sherman, smarks
2011-12-07 12:12:50 -08:00
Matherey Nunez
2b9e2e9038 7086015: fix test/tools/javac/parser/netbeans/JavacParserTest.java
Reviewed-by: ksrini, jjg
2011-12-07 10:47:46 -08:00
Antonios Printezis
4799ed65a4 7118202: G1: eden size unnecessarily drops to a minimum
An integer underflow can cause the RSet lengths to be massively overpredicted which forces the eden size to the minimum.

Reviewed-by: brutisso, johnc
2011-12-07 12:54:51 -05:00
Daniel D. Daugherty
2a6a2b2d0a 7118648: disable compressed oops by default on MacOS X until 7118647 is fixed
UseCompressedOops is false by default on MacOS X; can still be set manually

Reviewed-by: jmelvin, kvn, dholmes
2011-12-07 07:27:09 -08:00
Artem Ananiev
277bb6b756 7117008: Warnings cleanup day: reduce number of javac warnings in the sun.awt package
Reviewed-by: anthony, denis, bagiras
2011-12-07 17:45:22 +04:00
Stefan Karlsson
e057d60ca1 7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.

Reviewed-by: never, bdelsart, coleenp, jrose
2011-12-07 11:35:03 +01:00
Vladimir Kozlov
dc542c9909 7121648: Use 3-operands SIMD instructions on x86 with AVX
Use 3-operands SIMD instructions in C2 generated code for machines with AVX.

Reviewed-by: never
2011-12-20 00:55:02 -08:00
Tom Rodriguez
2928feab6a 7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type
Reviewed-by: kvn
2011-12-19 14:16:23 -08:00
Vladimir Kozlov
b7f5d60a7e 7116452: Add support for AVX instructions
Added support for AVX extension to the x86 instruction set.

Reviewed-by: never
2011-12-14 14:54:38 -08:00
Igor Veresov
11dbaed93f 7121111: -server -Xcomp -XX:+TieredCompilation does not invoke C2 compiler
Exercise C2 more in tiered mode with Xcomp

Reviewed-by: kvn, never
2011-12-13 17:10:52 -08:00
Roland Westrelin
ebdae40c34 7114106: C1: assert(goto_state->is_same(sux_state)) failed: states must match now
Fix C1's CEE to take inlining into account when the stacks in states are compared.

Reviewed-by: iveresov, never
2011-12-13 10:54:47 +01:00
Igor Veresov
d447f02608 7119730: Tiered: SIGSEGV in AdvancedThresholdPolicy::is_method_profiled(methodOop)
Added handles for references to methods in select_task()

Reviewed-by: twisti, kvn
2011-12-12 12:44:08 -08:00
Lana Steuck
0b862d6dc1 Merge 2011-12-06 20:26:09 -08:00
Lana Steuck
2850e97062 Merge 2011-12-06 20:25:20 -08:00
Igor Nekrestyanov
1d6ad94698 Merge 2011-12-06 16:31:58 -08:00
Lana Steuck
50319d95be Merge 2011-12-06 16:17:15 -08:00
Lana Steuck
74a4760171 Merge 2011-12-06 16:15:34 -08:00
Jiangli Zhou
f9f4ba0203 7117052: instanceKlass::_init_state can be u1 type
Change instanceKlass::_init_state field to u1 type.

Reviewed-by: bdelsart, coleenp, dholmes, phh, never
2011-12-06 18:28:51 -05:00
Vladimir Danushevsky
545cea9371 Merge 2011-12-06 16:35:04 -05:00
Brandon Passanisi
c7a1eec197 7116997: fix warnings in java.util.PropertyPermission
Reviewed-by: smarks
2011-12-06 10:14:02 -08:00
David Katleman
f8deb3b653 7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to jdk8-drops
Reviewed-by: ohair, xdono, mchung
2011-12-06 08:43:57 -08:00
David Katleman
58672f238e 7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to jdk8-drops
Reviewed-by: ohair, xdono, mchung
2011-12-06 08:43:27 -08:00
Daniel D. Daugherty
66ebef88a0 Merge 2011-12-06 05:28:17 -08:00
Naoto Sato
272537ad66 7117469: Warning cleanup for j.u.Currency and j.u.Locale related classes
Reviewed-by: okutsu, smarks
2011-12-05 17:08:52 -08:00
Danesh Dadachanji
95afca84d2 7116993: fix warnings in java.applet
Reviewed-by: art, smarks
2011-12-05 16:30:32 -08:00
Yuka Kamiya
8c1b558a38 7116914: Miscellaneous warnings (sun.text)
Reviewed-by: smarks, okutsu
2011-12-06 08:39:02 +09:00
Daniel D. Daugherty
8e680b0d66 7117748: SA_APPLE_BOOT_JAVA and ALWAYS_PASS_TEST_GAMMA settings should not be required on MacOS X
Replace SA_APPLE_BOOT_JAVA with logic that checks the boot JDK for the location of JDI classes. ALWAYS_PASS_TEST_GAMMA is true by default on Darwin.

Reviewed-by: kvn, swingler
2011-12-05 14:55:16 -08:00
Brandon Passanisi
4744f6dd1d 5063455: (fmt) MissingFormatArgumentException.getFormatSpecifier() incorrect return value
Updated the incorrect StringBuilder constructor usage

Reviewed-by: dholmes, sherman
2011-12-05 10:50:14 -08:00
Paul Hohensee
6532572c0b 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
Add a file, globals_ext.hpp, containing a null interface, to be replaced by a vendor in altsrc as needed.

Reviewed-by: coleenp, kamg, dholmes, johnc, jrose
2011-12-05 12:50:00 -05:00
Christopher Gruszka
85b77bf993 Merge 2011-12-05 12:41:38 -05:00
Doug Lea
c5cb5b2ac5 7117360: Warnings in java.util.concurrent.atomic package
Reviewed-by: chegar, dholmes
2011-12-05 13:58:44 +00:00
Sergey Bylokhov
34876429cb 7115400: jdk 8 awt-gate build fails in headless toolkit on solaris
Reviewed-by: prr, art, bae
2011-12-05 17:11:57 +04:00
Alan Bateman
226dc93377 Merge 2011-12-05 12:24:17 +00:00
Alan Bateman
5751fb4a86 7117717: (aio) Tests failing due to implementation bug 7052549
Reviewed-by: weijun, chegar
2011-12-05 12:23:46 +00:00
Weijun Wang
3e1629b963 7116857: Warnings in javax.security and some sun.misc
Reviewed-by: smarks
2011-12-05 10:19:13 +08:00
Phil Race
2bea67436c 7117199: Fix javac warnings in src/share/classes/java/awt/font
Reviewed-by: jgodinez, bae
2011-12-03 16:26:08 -08:00
Mario Torre
163d5239e1 7117914: Fix javac warnings in src/share/classes/sun/java2d
Fix some javac warnings in java2d related code for the Warning Cleanup Day.

Reviewed-by: prr, flar
2011-12-03 15:40:49 +01:00
Vladimir Kozlov
78034a3d3b 7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)
Delay memory node transformation until the memory is processed.

Reviewed-by: iveresov, never
2011-12-02 21:37:19 -08:00
John Coomes
8efc0954af 7117536: new hotspot build - hs23-b08
Reviewed-by: johnc
2011-12-02 21:10:45 -08:00
Masayoshi Okutsu
6dbd0de785 7117487: Warnings Cleanup: some i18n classes in java.util and sun.util
Reviewed-by: lancea, naoto
2011-12-03 10:58:19 +09:00
Lance Andersen
1c74eea15d 7116445: Miscellaneous warnings in the JDBC/RowSet classes
Reviewed-by: smarks, chegar
2011-12-02 19:33:54 -05:00
Jon VanAlten
d69cbad3f9 7117585: Eliminate java.lang.instrument, java.lang.management warnings
Reviewed-by: mchung
2011-12-02 16:29:19 -08:00
Darryl Mocek
689ccf050d 5035850: (str) String.CASE_INSENSITIVE_ORDER should override readResolve()
Fix to ensure singleton property of String.CaseInsensitiveComparator is maintained through de/serialization.

Reviewed-by: alanb, forax, smarks, dholmes
2011-12-02 16:25:35 -08:00
Naoto Sato
99fe6f9a78 7117465: Warning cleanup for IMF classes
Reviewed-by: okutsu
2011-12-02 16:04:16 -08:00
John Coomes
958027e9e5 Added tag hs23-b07 for changeset 3ba6557b91f7 2011-12-02 15:11:40 -08:00
John Coomes
33078ffeba Merge 2011-12-02 15:11:18 -08:00
Alan Bateman
2b5cf7aebd 7117357: Warnings in sun.instrument, tools and other sun.* classes
Reviewed-by: lancea, chegar
2011-12-02 17:37:30 +00:00
Chris Hegarty
6303a14f1a 7116957: javax.script.ScriptEngineManager should use java.util.ServiceLoader to lookup service providers
Reviewed-by: alanb, lancea
2011-12-02 14:17:08 +00:00
Antonios Printezis
dc409847c8 Merge 2011-12-02 08:52:53 -05:00
Chris Hegarty
445a917081 7116946: JSSecurityManager should use java.util.ServiceLoader to lookup service providers
Reviewed-by: prr
2011-12-02 11:39:48 +00:00
Yuka Kamiya
ed8a1e0c94 7056472: Speed up test/java/util/ResourceBundle/Control/ExpirationTest.sh
Reviewed-by: okutsu
2011-12-02 16:09:14 +09:00
Sebastian Sickelmann
dc1cd38b85 7116890: additional warnings fixes for java.io
Reviewed-by: alanb, smarks
2011-12-01 16:14:41 -08:00
Coleen Phillimore
61c91a521d Merge 2011-12-01 13:42:41 -05:00
Maurizio Cimadamore
b4263161d9 7116954: Misc warnings in java.beans/java.beans.context
Remove generic warnings form java.beans and java.beans.context

Reviewed-by: alanb, chegar
2011-12-01 18:34:23 +00:00
David Katleman
d115f54e18 Added tag jdk8-b15 for changeset 14b0b1e3dd43 2011-12-01 10:33:34 -08:00
David Katleman
250c83949b Added tag jdk8-b15 for changeset 64fbc4786179 2011-12-01 10:33:26 -08:00
David Katleman
8161661bbb Added tag jdk8-b15 for changeset 0c8bd2a7ecb9 2011-12-01 10:33:23 -08:00
David Katleman
c66f24bf21 Added tag jdk8-b15 for changeset ab11a4dcb014 2011-12-01 10:33:22 -08:00
David Katleman
69c6b12309 Added tag jdk8-b15 for changeset 2e0d0fb7ccc8 2011-12-01 10:33:15 -08:00
David Katleman
b4354d6d72 Added tag jdk8-b15 for changeset e82c66df0a41 2011-12-01 10:33:11 -08:00
David Katleman
a8e5c16716 Added tag jdk8-b15 for changeset a31cbe56aacf 2011-12-01 10:33:09 -08:00
Chris Hegarty
02a9029229 7116722: Miscellaneous warnings sun.misc ( and related classes )
Reviewed-by: alanb, darcy, forax, hawtin, lancea
2011-12-01 11:09:54 +00:00
Igor Veresov
e60b163500 7116795: Tiered: enable by default for server
Enable tiered compilation on server VM by default

Reviewed-by: kvn, never
2011-11-30 17:35:51 -08:00
Stuart Marks
af629d027c 7116322: enhance javac make rule with a little bit of instrumentation
Reviewed-by: dholmes, ohair
2011-11-30 13:11:16 -08:00
Lana Steuck
cb909e068c Merge 2011-11-30 12:06:49 -08:00
Paul Hohensee
5e1d1487de 7116730: Revert 7116481: Commercial features in Hotspot must be gated by a switch
Revert 7116481 to current hsx/hotspot-main

Reviewed-by: kamg
2011-11-30 12:48:52 -05:00
Alexandr Scherbatiy
407d05d5e8 7115357: closed/javax/swing/JTable/6263446/bug6263446Table.java fails on MacOS
Reviewed-by: rupashka
2011-11-30 19:38:56 +04:00
Alexandr Scherbatiy
988204b65e 7110440: closed/javax/swing/JScrollBar/4865918/bug4865918.java fails on Aqua L&F
Reviewed-by: rupashka
2011-11-30 16:54:27 +04:00
Alan Bateman
8b11c10364 7116404: Miscellaneous warnings (java.rmi.**, serialization, some core classes)
Reviewed-by: lancea, chegar, smarks
2011-11-30 12:42:26 +00:00
Alan Bateman
cff2cf5eaf 7030624: size_t usages in src/windows/native/java/io/io_util_md.c need to be re-visited
Reviewed-by: lancea, chegar
2011-11-30 10:57:51 +00:00
Lana Steuck
5a5111e51f Merge 2011-11-29 15:57:33 -08:00
Paul Hohensee
1372b916ff 7116481: Commercial features in Hotspot must be gated by a switch
Add -XX:+UnlockCommercialVMOptions to gate use of commercial feature switches in the same way as -XX:UnlockDiagnosticVMOptions gates use of diagnostic feature switches.

Reviewed-by: jwilhelm, kamg
2011-11-29 17:00:46 -05:00
Lana Steuck
cde4fd9054 Merge 2011-11-29 13:49:18 -08:00
Xueming Shen
8df2ceb118 7109837: Provide a mechanism for computing an Adler32 checksum for the contents of a ByteBuffer
Added methods Adler32/CRC32.update(ByteBuffer)

Reviewed-by: alanb
2011-11-29 13:05:35 -08:00
Lana Steuck
a7460d5856 Merge 2011-11-29 12:04:55 -08:00
Bob Vandette
8e81e037e7 Merge 2011-11-29 14:44:44 -05:00
Xueming Shen
5b3d1ed37b 7110149: Update the JDK8 bundled zlib library to the latest version 1.2.5
Updated to zlib-1.2.5

Reviewed-by: alanb
2011-11-29 11:39:59 -08:00
Michael McMahon
31933d1f8f 7116189: Export JVM_SetNativeThreadName from Hotspot
Added JVM_SetNativeThreadName to linker mapfiles on Solaris and Linux.

Reviewed-by: dcubed, dholmes
2011-11-29 09:21:02 -05:00
Alexandr Scherbatiy
6087c7f96c 7112925: closed/javax/swing/JTabbedPane/4624207/bug4624207.java fails on MacOS
Reviewed-by: rupashka
2011-11-29 12:47:30 +03:00
David Holmes
ac8579d7f8 7109092: Wrong computation results with double at armsflt
Need to link to custom soft-float library with required FP accuracy

Reviewed-by: alanb, ohair
2011-11-29 00:26:22 -05:00
Vladimir Kozlov
e187503af0 7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE
Fixed several EA issues with Connection Graph construction.

Reviewed-by: never, twisti
2011-11-28 15:46:31 -08:00
Lana Steuck
95e9cd174d Merge 2011-11-28 15:15:50 -08:00
Maurizio Cimadamore
b0a9998899 7115052: Add parser support for method references
Add support for parsing method references to JavacParser

Reviewed-by: jjg
2011-11-28 16:05:46 +00:00
Maurizio Cimadamore
4ac518143c 7115050: Add parser support for lambda expressions
Add support for parsing lambda expressions to JavacParser

Reviewed-by: jjg
2011-11-28 15:56:42 +00:00
Stefan Karlsson
78d7be03bf 7116081: USE_PRECOMPILED_HEADER=0 triggers a single threaded build of the JVM
Changed the conditional to see if the precompiled header has been specified. Also, removed the unused PrecompiledOption.

Reviewed-by: dholmes, brutisso
2011-11-28 14:58:31 +01:00
Stefan Karlsson
fcdf022370 7112034: Parallel CMS fails to properly mark reference objects
Enabled reference processing when work stealing during concurrent marking

Reviewed-by: jmasa, brutisso
2011-11-28 10:19:26 +01:00
Antonios Printezis
a551d5bf05 Merge 2011-12-05 12:26:40 -05:00
John Cuthbertson
a71320f229 7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj
As a result of  the changes for 4965777, the G1 reference field scanning closure could be applied to the discovered field of a reference object twice. The failing assert is too strong if the result of the first application of the closure is stolen, and the referenced object, evacuated by another worker thread.

Reviewed-by: ysr, tonyp
2011-12-02 12:39:23 -08:00
Alexandr Scherbatiy
e8cf8cce56 7113337: Swing closed test tries to click in the area reserved for resize by Mac OS X
Reviewed-by: rupashka
2011-11-25 11:52:23 +03:00
Maurizio Cimadamore
86e6e6be73 7115049: Add AST node for method references
Add tree nodes for representing method/constructor references and update relevant visitors interfaces

Reviewed-by: jjg
2011-11-24 13:38:40 +00:00
Maurizio Cimadamore
41a3a6c5d3 7115046: Add AST node for lambda expressions
Add tree nodes for representing lambda expressions and update relevant visitors interfaces

Reviewed-by: jjg
2011-11-24 13:36:20 +00:00
Lana Steuck
664095be9f Merge 2011-11-23 11:37:18 -08:00
Sean Coffey
aba5b47101 7102369: remove java.rmi.server.codebase property parsing from registyimpl
7094468: rmiregistry clean up

Reviewed-by: smarks
2011-11-23 14:55:01 +00:00
Gary Adams
6ffc2c3b69 6776144: java/lang/ThreadGroup/NullThreadName.java fails with Thread group is not destroyed ,fastdebug LINUX
Reviewed-by: chegar, dholmes
2011-11-23 12:30:19 +00:00
Xue-Lei Andrew Fan
7115a56a21 7113275: compatibility issue with MD2 trust anchor and old X509TrustManager
Also reviewed by Dennis.Gu@oracle.com

Reviewed-by: mullan
2011-11-23 03:40:12 -08:00
Jon Masamitsu
71ed60ac69 7112997: Remove obsolete code ResetObjectsClosure and VerifyUpdateClosure
Remove obsolete code.

Reviewed-by: brutisso, ysr, jcoomes
2011-11-22 14:59:34 -08:00
Jon Masamitsu
404bb0d0ac 7106024: CMS: Removed unused code for precleaning in remark phase
Remove dead code.

Reviewed-by: stefank, ysr
2011-11-22 14:18:39 -08:00
Sean Mullan
2616d09d07 Merge 2011-11-22 09:17:45 -05:00
Sean Mullan
1703c46f8b Merge 2011-11-22 09:00:52 -05:00
Sean Mullan
82c2945b95 7093090: Reduce synchronization in java.security.Policy.getPolicyNoCheck
Reviewed-by: valeriep
2011-11-22 08:58:31 -05:00
Neil Richards
a3e56c5b67 7114558: Inet4AddressImpl should use memset (rather than bzero) and NI_MAXHOST (rather than MAXHOSTNAMELEN)
Reviewed-by: chegar
2011-11-22 09:51:30 +00:00
Roland Westrelin
07d9df5a7f 7090968: Allow adlc register class to depend on runtime conditions
Allow reg_class definition as a function.

Reviewed-by: kvn, never
2011-11-22 09:45:57 +01:00
Coleen Phillimore
800499ac95 Merge 2011-11-21 10:22:04 -05:00
Alexandr Scherbatiy
20168f092c 7109085: Test use hotkeys not intended for Mac
Reviewed-by: rupashka
2011-11-21 18:22:30 +04:00
Gary Adams
dbdf12e6a5 7114125: TEST_BUG: java/util/Timer/KillThread.java should use volatile cross thread variable declaration
Reviewed-by: dholmes, alanb
2011-11-21 12:57:36 +00:00
Gary Adams
0a416094b6 7084033: TEST_BUG: test/java/lang/ThreadGroup/Stop.java fails intermittently
Reviewed-by: forax, chegar, dholmes
2011-11-21 12:51:30 +00:00
Rickard Backman
069f218a98 7112308: Fix Visual Studio build for precompiled header
Add the new path to precompiled.hpp in the project make file

Reviewed-by: coleenp, dholmes, brutisso
2011-11-21 08:02:40 +01:00
Jim Holmlund
5349d9af9a 7110611: compiler message file broken for javac -fullversion
Reviewed-by: jjg
2011-11-19 15:54:04 -08:00
Gary Adams
325b9e4abb 6860309: TEST_BUG: Insufficient sleep time in java/lang/Runtime/exec/StreamsSurviveDestroy.java
Reviewed-by: alanb, dholmes, forax
2011-11-19 20:03:00 +00:00
Gary Adams
e0de33a847 6731620: TEST_BUG: java/util/Timer/Args.java is too optimistic about the execution time of System.out.printf
Reviewed-by: dholmes, forax
2011-11-19 19:59:33 +00:00
Gary Adams
673ab99f16 6818464: TEST_BUG: java/util/Timer/KillThread.java failing intermittently
Reviewed-by: dholmes, alanb, forax
2011-11-19 19:55:19 +00:00
Alejandro Murillo
e53317616f 7113503: Bump the hs23 build number to 07
Reviewed-by: johnc
2011-11-18 17:39:40 -08:00
John Coomes
6da51f66cd Merge 2011-11-18 16:57:01 -08:00
Lana Steuck
034a5cae42 Merge 2011-11-18 16:16:15 -08:00
Lana Steuck
7bcad978ba Merge 2011-11-18 15:49:09 -08:00
John Coomes
b9ff98b776 Added tag hs23-b06 for changeset 6b882ec466cd 2011-11-18 15:15:54 -08:00
John Coomes
df1266ed6e Merge 2011-11-18 15:15:13 -08:00
Coleen Phillimore
4f63d5b7d5 Merge 2011-11-18 17:26:49 -05:00
Lana Steuck
a8308c6690 Merge 2011-11-18 11:12:21 -08:00
Lana Steuck
9240eb2ee9 Merge 2011-11-18 11:11:11 -08:00
Lana Steuck
9c6fd0a346 Merge 2011-11-18 11:01:41 -08:00
Andy Herrick
638a8b7435 Merge 2011-11-18 06:35:36 -05:00
Neil Richards
c125edce88 7094995: Trailing daemon thread causes continuous GC in agentvm mode
Shutdown GcInducingThread once test (successfully) finishes

Reviewed-by: alanb, chegar, dholmes, darcy
2011-11-18 09:03:43 +00:00
Jonathan Lu
dfda4bf46a 7115070: (fs) lookupPrincipalByName/lookupPrincipalByGroupName should treat ESRCH as not found
Reviewed-by: alanb
2011-11-24 11:34:31 +00:00
Xue-Lei Andrew Fan
b806440fe3 7115524: sun.security.provider.certpath.ssl.SSLServerCertStore no longer works
Reviewed-by: weijun
2011-11-28 02:35:19 -08:00
Weijun Wang
687f622f95 7115744: Do not call File::deleteOnExit in security tests
Reviewed-by: xuelei
2011-11-28 18:16:29 +08:00
Krystal Mok
c04d87b88b 7115586: Suppress creation of SocketImpl in SocketAdaptor's constructor
Reviewed-by: chegar, alanb
2011-11-25 13:46:28 +00:00
Chris Hegarty
6742077be9 7115150: java.net.HttpCookie code cleanup, style, formatting, typos
Reviewed-by: michaelm
2011-11-25 10:34:05 +00:00
Weijun Wang
9111a2a768 7077172: KerberosTime does not take into account system clock adjustement
Reviewed-by: valeriep
2011-11-18 16:13:39 +08:00
Christopher Gruszka
383070b5f8 Merge 2011-11-18 01:03:03 -05:00
Gary Adams
29ad75ff83 7067691: java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java failing intermittently
Reviewed-by: alanb, mchung
2011-11-17 15:47:34 -08:00
Stuart Marks
348fa7b88e 7112267: clean up fix for 7110700
Reviewed-by: dmeetry
2011-11-17 15:04:46 -08:00
Christopher Gruszka
f1a031d983 Merge 2011-11-17 16:57:00 -05:00
John Cuthbertson
a3311881b5 7112743: G1: Reduce overhead of marking closure during evacuation pauses
Parallelize the serial code that was used to mark objects reachable from survivor objects in the collection set. Some minor improvments in the timers used to track the freeing of the collection set along with some tweaks to PrintGCDetails.

Reviewed-by: tonyp, brutisso
2011-11-17 12:40:15 -08:00
John Cuthbertson
861168c82e 7114303: G1: assert(_g1->mark_in_progress()) failed: shouldn't be here otherwise
Race between the VM thread reading G1CollectedHeap::_mark_in_progress and it being set by the concurrent mark thread when concurrent marking is aborted by a full GC. Have the concurrent mark thread join the SuspendibleThreadSet before changing the marking state.

Reviewed-by: tonyp, brutisso
2011-11-28 09:49:05 -08:00
Sean Coffey
2142a46875 7110704: Issues with some method in corba
Reviewed-by: mbankal
2011-11-17 10:51:17 -08:00
David Katleman
9fbb77c394 Added tag jdk8-b14 for changeset aab57958af8d 2011-11-17 10:46:10 -08:00
David Katleman
67feae118c Added tag jdk8-b14 for changeset 21d97162fe47 2011-11-17 10:46:02 -08:00
David Katleman
f9f73b74a4 Added tag jdk8-b14 for changeset 9b823c528db3 2011-11-17 10:46:00 -08:00
David Katleman
4246239742 Added tag jdk8-b14 for changeset 8f64d0e75d9e 2011-11-17 10:45:59 -08:00
David Katleman
32a189c4f9 Added tag jdk8-b14 for changeset a4a9e5c60f0a 2011-11-17 10:45:53 -08:00
David Katleman
a61df2e304 Added tag jdk8-b14 for changeset 21889dc8d0c4 2011-11-17 10:45:48 -08:00
David Katleman
fd76da6d21 Added tag jdk8-b14 for changeset dcafb43249cf 2011-11-17 10:45:47 -08:00
Charles Lee
add77dda1a 7113017: Use POSIX compliant include file headers in sun/awt/medialib/mlib_types.h
Reviewed-by: prr, bae
2011-11-17 10:32:05 -08:00
Antonios Printezis
4964702bad Merge 2011-11-17 13:14:49 -05:00
Jiangli Zhou
ee88278d34 7102776: Pack instanceKlass boolean fields into single u1 field
Reduce class runtime memory usage by packing 4 instanceKlass boolean fields into single u1 field. Save 4-byte for each loaded class.

Reviewed-by: dholmes, bobv, phh, twisti, never, coleenp
2011-11-17 12:53:59 -05:00
Chris Hegarty
9a65ac929d 7110017: is_headless_jre should be updated to reflect the new location of awt toolkit libraries
Reviewed-by: dholmes, dsamersoff
2011-11-16 20:38:24 -05:00
Poonam Bajaj
9b428e449c 7110428: Crash during HeapDump operation
Reviewed-by: ysr, dholmes
2011-11-16 16:27:29 -08:00
Kumar Srinivasan
70b9eef84e 7112160: jdk8 javadoc failure in jdk/make/docs javadoc: error - java.lang.OutOfMemoryError
Reviewed-by: ohair, katleman
2011-11-16 12:23:53 -08:00
Oleg Pekhovskiy
3cf1d6ac15 7108598: Pogo Table Games freeze with JDK 7
Reviewed-by: art, ant
2011-11-16 15:40:59 +04:00
Thomas Ng
fe50fa5abf 7112298: remove security baseline sanity check
Reviewed-by: ccheung, igor, ohair
2011-11-15 23:33:49 -08:00
Masayoshi Okutsu
84c0953dfa Merge 2011-11-16 13:17:44 +09:00
Masayoshi Okutsu
7e7549fdeb 7111903: (tz) Windows-only: tzmappings needs update for KB2570791
Reviewed-by: peytoia
2011-11-16 12:57:54 +09:00
Weijun Wang
44dd83da70 7111579: klist starttime, renewtill, ticket etype
Reviewed-by: mullan
2011-11-16 11:53:40 +08:00
Bengt Rutisson
ed1e70076b 7110152: assert(size_in_words <= (julong)max_jint) failed: no overflow
Reduce what arrayOopDesc::max_array_length() returns to avoid int overflow

Reviewed-by: kvn, dholmes, tonyp
2011-11-15 20:17:33 +01:00
Coleen Phillimore
0eb37550d3 Merge 2011-11-15 12:40:55 -05:00
Lana Steuck
3fc6cda1a6 Merge 2011-11-14 18:18:59 -08:00
Lana Steuck
9fb09f41b6 Merge 2011-11-14 18:18:22 -08:00
Lana Steuck
2107f2eeec Merge 2011-11-14 18:16:47 -08:00
Lana Steuck
e2900aaf68 Merge 2011-11-14 18:16:46 -08:00
Lana Steuck
20852f81df Merge 2011-11-14 18:16:31 -08:00
Lana Steuck
0033948814 Merge 2011-11-14 18:16:28 -08:00
Lana Steuck
674fadf1b3 Merge 2011-11-14 18:16:13 -08:00
Lana Steuck
613e94ca6f Merge 2011-11-14 18:15:37 -08:00
Kumar Srinivasan
b7094ba03c 7106166: (javac) re-factor EndPos parser
Reviewed-by: jjg
2011-11-14 15:11:10 -08:00
Abhijit Saha
f03cbcc678 Merge 2011-11-14 11:52:09 -08:00
Kumar Srinivasan
ca1deee4d3 7110974: (javac) add coding conventions and style checkers for langtools
Reviewed-by: jjg
2011-11-14 08:09:47 -08:00
Kurchi Subhra Hazra
1dc8937659 7107020: java.net.PlainSocketImpl.socketSetOption() calls itself
Reviewed-by: alanb, chegar
2011-11-14 10:06:56 +00:00
Xue-Lei Andrew Fan
ab7852e129 7111548: unexpected debug log message
Reviewed-by: wetmore
2011-11-14 01:21:20 -08:00
Thomas Ng
f622d7c806 7109885: security baseline for 7u2 or above is not set correctly
Reviewed-by: ccheung, igor, ohair
2011-11-13 21:39:57 -08:00
Sergey Bylokhov
c007822f02 6996291: command line selection of MToolkit by -Dawt.toolkit=sun.awt.motif.MToolkit fails from jdk7 b21 on
Reviewed-by: art, dcherepanov, bae, prr
2011-11-12 04:13:38 +04:00
Sergey Malenkov
1612a6cb79 7110521: Regression test failed: Introspector/TestTypeResolver.java
Reviewed-by: rupashka
2011-11-14 14:38:36 +04:00
Alexandr Scherbatiy
1131098297 7109617: Test was writed for Metal L&F but not set it
Reviewed-by: rupashka
2011-11-14 14:00:05 +04:00
Stuart Marks
d6e13af09c 7110700: Enhance exception throwing mechanism in ObjectStreamClass
Reviewed-by: dmeetry, hawtin
2011-11-11 15:22:11 -08:00
Charles Lee
5f797b5bda 7112670: Inet4AddressImpl should use getaddrinfo/getnameinfo
Reviewed-by: chegar, alanb, mduigou, ngmr
2011-11-11 14:40:18 +00:00
Danesh Dadachanji
ca86a52a6c 7103610: _NET_WM_PID and WM_CLIENT_MACHINE are not set
Set the properties to all top-level windows

Reviewed-by: anthony
2011-11-11 15:17:51 +03:00
Sean Coffey
ff772aece8 7091388: Regular unexplained npe's from corba libs after system has been running for days
Reviewed-by: alanb
2011-11-11 10:16:17 +00:00
Sean Coffey
9e42e3d20a 7105952: Improve finalisation for FileInputStream/FileOutputStream/RandomAccessFile
Reviewed-by: alanb
2011-11-11 10:08:40 +00:00
Abhijit Saha
b83a25de97 7110676: Update jaf source download url for jaxws
Reviewed-by: ramap
2011-11-10 13:38:47 -08:00
David Katleman
1269b98a27 Added tag jdk8-b13 for changeset 7e7229cae97b 2011-11-10 11:47:25 -08:00
David Katleman
5ffc202206 Added tag jdk8-b13 for changeset 8f6f084a8666 2011-11-10 11:46:54 -08:00
David Katleman
c39cff6af7 Added tag jdk8-b13 for changeset d4e4b5f54af7 2011-11-10 11:46:33 -08:00
David Katleman
fc6d47bc5c Added tag jdk8-b13 for changeset 5002669612fc 2011-11-10 11:46:28 -08:00
David Katleman
6e1ccb9a07 Added tag jdk8-b13 for changeset 660da5b5870e 2011-11-10 11:46:05 -08:00
David Katleman
75f0f16626 Added tag jdk8-b13 for changeset e0e566b9d2b2 2011-11-10 11:45:56 -08:00
David Katleman
0357c1c077 Added tag jdk8-b13 for changeset c3b8ec8ea08d 2011-11-10 11:45:41 -08:00
Martin Desruisseaux
f6f5a14a32 7110111: Minor Java SE javadoc & Constructor clean up
Reviewed-by: alanb, darcy
2011-11-10 11:41:27 -05:00
Michael McMahon
b53840e998 Merge 2011-11-10 15:41:49 +00:00
Michael McMahon
bac4f6c7ac 7110484: HttpServer.stop() not closing selector
Reviewed-by: chegar
2011-11-10 15:30:45 +00:00
Sergey Malenkov
6a9b345420 7087429: Constructor of java.beans.PropertyChangeEvent should declare thrown NPE for null source
Reviewed-by: rupashka
2011-11-10 17:37:29 +04:00
Sergey Malenkov
cc590754f3 7092744: XMLEncoder fails to encode and breaks backward compatibility
Reviewed-by: rupashka
2011-11-10 17:35:16 +04:00
Sergey Malenkov
4ec2080620 7087876: java/beans/PropertyDescriptor.html#createPropertyEditor() throws RE if editor cannot be created
Reviewed-by: rupashka
2011-11-10 17:32:20 +04:00
Sergey Malenkov
0fdddc243e 7064279: Introspector.getBeanInfo() should release some resources in timely manner
Reviewed-by: art, alexp
2011-11-10 17:27:40 +04:00
Sergey Malenkov
66bc904d36 7057459: Regression: Performance degradation with java.beans.XMLEncoder
Reviewed-by: rupashka
2011-11-10 17:15:15 +04:00
Christian Thalinger
3de3451b3a Merge 2011-11-10 04:46:08 -08:00
Doug Lea
26cb79b7bb 7107516: LinkedBlockingQueue/Deque.drainTo(Collection, int) returns 'maxElements' if its value is negative
Reviewed-by: chegar, mduigou, dholmes
2011-11-10 12:21:49 +00:00
David Holmes
ae1d532799 7108264: Fix for 7104173 is insufficient
Disable PrintVMOptions by default for all builds

Reviewed-by: dsamersoff, twisti
2011-11-10 06:23:48 -05:00
Charles Lee
2eda2d142d 6938583: Unexpected NullPointerException by InputContext.endComposition()
Reviewed-by: rupashka
2011-11-10 14:10:54 +04:00
Bengt Rutisson
911637a272 7110190: GCCause::to_string missing case for _adaptive_size_policy
Added case for _adaptive_size_policy

Reviewed-by: johnc, ysr
2011-11-09 23:21:00 +01:00
David Katleman
da3c1a9eba Merge 2011-11-09 13:46:53 -08:00
Vladimir Kozlov
09b7902e14 7107042: assert(no_dead_loop) failed: dead loop detected
Use dead nodes elimination code in PhaseIdealLoop before executing EA.

Reviewed-by: never, twisti
2011-11-09 07:25:51 -08:00
Vladimir Kozlov
dc1f4fe50e 7109887: java/util/Arrays/CopyMethods.java fails with -XX:+DeoptimizeALot
Zero array when compiled code is deoptimized.

Reviewed-by: never, twisti
2011-11-09 06:14:32 -08:00
Anthony Petrov
248bde3e58 7045370: Java Statically Determines Display Size on Linux platforms
Listen to ConfigureNotify events on the root window and update the current screen size accordingly

Reviewed-by: art, bae
2011-11-09 13:43:39 +03:00
Christian Thalinger
82266506f2 7109063: JSR 292: fix for 7085860 is incomplete
Reviewed-by: iveresov, alanb, jrose
2011-11-09 00:46:13 -08:00
Christian Thalinger
423972a7d8 7087727: JSR 292: C2 crash if ScavengeRootsInCode=2 when "static final" MethodHandle constants are in use
Reviewed-by: jrose, kvn, never
2011-11-09 00:42:33 -08:00
Weijun Wang
54229dbc54 7109096: keytool -genkeypair needn't call -selfcert
Reviewed-by: xuelei
2011-11-09 15:51:18 +08:00
Tom Rodriguez
89ccd723ce 7108242: jinfo -permstat shouldn't report interned strings as part of perm
Reviewed-by: kvn, twisti
2011-11-08 20:42:26 -08:00
Weijun Wang
890f9e2884 7107019: sun.security.krb5.internal.ccache.CCacheInputStream.readCred does not use auth data
Reviewed-by: valeriep
2011-11-09 09:30:13 +08:00
Tom Rodriguez
087c7441f7 7105305: assert check_method_context proper context
Reviewed-by: jrose, kvn
2011-11-08 17:29:57 -08:00
Jonathan Gibbons
ebe950642c 7108669: cleanup Log methods for direct printing to streams
Reviewed-by: mcimadamore
2011-11-08 17:06:58 -08:00
Jonathan Gibbons
738aef1b75 7108668: allow Log to be initialized and used earlier
Reviewed-by: mcimadamore
2011-11-08 17:06:08 -08:00
Lana Steuck
6621aee4c0 Merge 2011-11-08 15:38:58 -08:00
Lana Steuck
431fcd571a Merge 2011-11-08 15:37:37 -08:00
Vicente Romero
399b71b9f0 6921494: provide way to print javac tree tag values
Reviewed-by: jjg, mcimadamore
2011-11-08 11:51:05 -08:00
Tom Rodriguez
051c64ad4d 7104960: JSR 292: +VerifyMethodHandles in product JVM can overflow buffer
Reviewed-by: kvn, jrose, twisti
2011-11-08 10:31:53 -08:00
Alexandr Scherbatiy
856768a6c0 7107585: Test incorrect calculate position of object on frame
Reviewed-by: rupashka
2011-11-08 14:36:50 +03:00
Abhijit Saha
7cdb3e5017 Merge 2011-11-07 21:52:09 -08:00
Abhijit Saha
7b092df554 Merge 2011-11-07 21:48:05 -08:00
Abhijit Saha
ad6da56fde Merge 2011-11-07 21:47:57 -08:00
Abhijit Saha
f5f73282c8 Merge 2011-11-07 21:45:32 -08:00
Abhijit Saha
ec1afe7a29 Merge 2011-11-07 21:45:19 -08:00
Antonios Printezis
44b419af51 7099849: G1: include heap region information in hs_err files
Reviewed-by: johnc, brutisso, poonam
2011-11-08 00:41:28 -05:00
Antonios Printezis
83958f54fb 7092309: G1: introduce old region set
Keep track of all the old regions in the heap with a heap region set.

Reviewed-by: brutisso, johnc
2011-11-07 22:11:12 -05:00
Vladimir Kozlov
0bc2963b7d 7059047: EA: can't find initializing store with several CheckCastPP
Split adjust_escape_state() method into two methods to find initializing stores.

Reviewed-by: never
2011-11-07 14:33:57 -08:00
Xueming Shen
b1408532df 7096080: UTF8 update and new CESU-8 charset
7082884: Incorrect UTF8 conversion for sequence ED 31
7082883: Incorrect UTF8 conversion for sequence fc 80 80 8f bf bf

Updated UTF8 and added CESU-8 to following the latest Standard

Reviewed-by: alanb
2011-11-07 13:46:02 -08:00
Lana Steuck
6e582b4002 Merge 2011-11-07 10:26:52 -08:00
Pavel Porvatov
a346c5d21d 7080203: JTree.getSelectionPaths() now returns empty array instead of null
Reviewed-by: malenkov
2011-11-07 16:50:41 +04:00
Lana Steuck
bea72b4aae Merge 2011-11-05 14:27:47 -07:00
Lana Steuck
e31aa294c3 Merge 2011-11-05 00:02:33 -07:00
Lana Steuck
2152b58b60 Merge 2011-11-05 00:00:43 -07:00
Alejandro Murillo
9d6d4e292b 7108553: Bump the hs23 build number to 06
Reviewed-by: johnc
2011-11-04 14:06:09 -07:00
Andreas Schoesser
93fbade63d 6636110: unaligned stackpointer leads to crash during deoptimization
Reviewed-by: never, kvn
2011-11-04 13:55:31 -07:00
John Coomes
232b9d793f Added tag hs23-b05 for changeset 38f5bbc6cd8d 2011-11-04 12:43:41 -07:00
John Coomes
9aca39d006 Merge 2011-11-04 12:40:55 -07:00
Kelly O'Hair
47d1996c00 Merge 2011-11-04 10:34:11 -07:00
Maurizio Cimadamore
be5a83c8ce 7104201: Refactor DocCommentScanner
Add new Comment helper class to parse contents of comments in source code

Reviewed-by: jjg
2011-11-04 12:36:40 +00:00
Michael Fang
01d2aff838 Merge 2011-11-03 17:34:41 -07:00
Darryl Mocek
bc99763494 4533691: Add Collections.emptySortedSet()
Reviewed-by: mduigou, alanb, dholmes
2011-11-03 13:26:57 -07:00
David Katleman
524b8ef2fe Added tag jdk8-b12 for changeset 5ec6698ec5a9 2011-11-03 10:32:39 -07:00
David Katleman
7982aae1c4 Added tag jdk8-b12 for changeset 7e570cc378fb 2011-11-03 10:32:29 -07:00
David Katleman
4af82ec887 Added tag jdk8-b12 for changeset cc748b263c6f 2011-11-03 10:32:24 -07:00
David Katleman
ab91a77f0c Added tag jdk8-b12 for changeset 043062d0d76a 2011-11-03 10:32:23 -07:00
David Katleman
169afafaf7 Added tag jdk8-b12 for changeset dbb81ca736fc 2011-11-03 10:32:16 -07:00
David Katleman
c7cad98c9d Added tag jdk8-b12 for changeset 0023f3816a1f 2011-11-03 10:32:11 -07:00
David Katleman
acf5a65a36 Added tag jdk8-b12 for changeset f0f8f1159227 2011-11-03 10:32:05 -07:00
Christian Thalinger
9740abac58 7106944: assert(_pc == *pc_addr) failed may be too strong
Reviewed-by: kvn, never
2011-11-03 04:12:49 -07:00
Christian Thalinger
5a4de97cf0 7106774: JSR 292: nightly test inlineMHTarget fails with wrong result
Reviewed-by: kvn
2011-11-03 01:43:26 -07:00
Christian Thalinger
b8587b3878 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods
Reviewed-by: jrose, never
2011-11-02 02:03:30 -07:00
Bengt Rutisson
b47310ebf8 7106751: G1: gc/gctests/nativeGC03 crashes VM with SIGSEGV
_cset_rs_update_cl[] was indexed with values beyond what it is set up to handle.

Reviewed-by: ysr, jmasa, johnc
2011-11-02 08:04:23 +01:00
Jim Holmlund
dae561e3ea 7101933: langtools jtreg tests do not work with jprt on windows
Fixed langtools/test/Makefile to work on cygwin. Updated jtreg to 4.1 and JCK to JCK8.

Reviewed-by: jjg, ohair
2011-11-01 15:49:45 -07:00
Rickard Backman
2c5cec930a 7106766: Move the precompiled header from the src/share/vm directory
Moved precompiled.hpp to src/share/vm/precompiled

Reviewed-by: coleenp, dholmes
2011-11-01 13:44:40 +01:00
Yong Jeffrey Huang
7a1eea097c Merge 2011-10-31 21:45:23 -07:00
Yong Jeffrey Huang
65916660b9 7101495: In Latvia first day of week is Monday
Reviewed-by: naoto, peytoia
2011-10-31 21:43:07 -07:00
Yong Jeffrey Huang
8118725827 Merge 2011-10-31 21:38:12 -07:00
Yong Jeffrey Huang
0db43a9227 6755060: Collator.compare() does not compare correctly for the Thai locale
Reviewed-by: naoto
2011-10-31 21:30:11 -07:00
Yong Jeffrey Huang
c24783568e 7077119: remove past transition dates from CurrencyData.properties file
Reviewed-by: naoto
2011-10-31 20:14:12 -07:00
Y. Srinivas Ramakrishna
e9207384c5 4243978: (ref) Race condition in Reference.enqueue()
4268317: (ref) Reference.isEnqueued() can return true when instance not enqueued

The reference handler now declares, and assumes, that the discovered field, rather than the next field, is (to be) used to link the entries in the pending list, thus allowing a reference object to be safely enqueued even while it is in the pending state. Also added slightly modified regression tests from the two bug reports.

Reviewed-by: mchung, alanb, jcoomes
2011-10-31 17:38:15 -07:00
Bradford Wetmore
becccc16ec 7053252: New regression test does not compile on windows-amd64
Reviewed-by: valeriep
2011-10-31 16:23:43 -07:00
Vladimir Kozlov
b354aa367c 7106907: 64 bit VM fails test compiler/6865265/StackOverflowBug.java
Use -Xss224k instead of -Xss128k.

Reviewed-by: never
2011-10-31 15:52:11 -07:00
Bradford Wetmore
089b5b16e3 7105780: Add SSLSocket client/SSLEngine server to templates directory
Reviewed-by: xuelei
2011-10-31 11:54:19 -07:00
Christian Thalinger
5ffce97ffc 7104561: UseRDPCForConstantTableBase doesn't work after shorten branches changes
Reviewed-by: never, kvn
2011-10-31 03:06:42 -07:00
Bengt Rutisson
c444c3eee7 7102044: G1: VM crashes with assert(old_end != new_end) failed: don't call this otherwise
ArrayOopDesc::max_array_length() should return a value that does not overflow a size_t if it is converted to bytes.

Reviewed-by: kvn, dholmes
2011-10-31 08:01:20 +01:00
Xue-Lei Andrew Fan
665445dae9 7106277: Brokenness in the seqNumberOverflow of MAC
Reviewed-by: wetmore
2011-10-30 20:07:45 -07:00
David Holmes
75883dceb1 Merge 2011-10-30 18:40:48 -07:00
Mike Skells
247532bf34 7103889: (fs) Reduce String concatenation when iterating over directory
Reviewed-by: alanb
2011-10-30 14:53:43 +00:00
Alejandro Murillo
84066778b8 7106092: Bump the hs23 build number to 05
Reviewed-by: johnc
2011-10-28 18:30:47 -07:00
Lana Steuck
6f4a99a81f Merge 2011-10-28 17:49:36 -07:00
Lana Steuck
61d275095c Merge 2011-10-28 17:49:02 -07:00
John Coomes
d61593bed3 Added tag hs23-b04 for changeset 721977078d6e 2011-10-28 15:41:29 -07:00
John Coomes
42c5e60cdc Merge 2011-10-28 15:36:16 -07:00
Tom Rodriguez
6bcf877494 7103261: crash with jittester on sparc
Reviewed-by: iveresov, kvn
2011-10-28 14:44:52 -07:00
Antonios Printezis
3da2f5af5d Merge 2011-10-28 13:04:10 -04:00
Antonios Printezis
c9d91bd0a8 Merge 2011-10-28 12:49:16 -04:00
Xue-Lei Andrew Fan
bdb9312b86 7105940: Test regression: KeyStore must be from provider SunPKCS11-NSSKeyStore
Reviewed-by: weijun
2011-10-28 07:18:54 -07:00
Vladimir Kozlov
762ad9c51c 7105611: Set::print() is broken
Reimplemented class VSetI_ to restore Set::print().

Reviewed-by: never
2011-10-27 18:20:50 -07:00
David Holmes
ad3a8d2791 7104173: sun/tools tests fail with debug build after 7012206
Disable PrintVMOptions in embedded debug builds so tests are unaffected by extra output

Reviewed-by: twisti, coleenp, phh, fparain, dsamersoff
2011-10-27 18:04:25 -04:00
Igor Veresov
5a2f55d0e0 7104177: Tiered: -XX:+PrintCanonicalization doesn't work with -XX:+TieredCompilation
Initialize printable_bci of instruction when passed to Canonicalizer

Reviewed-by: kvn, never
2011-10-27 14:40:25 -07:00
David Katleman
31ff82c1c8 Added tag jdk8-b11 for changeset b44e4293ec86 2011-10-27 13:54:50 -07:00
David Katleman
83c35d376a Added tag jdk8-b11 for changeset 7116fbba4c13 2011-10-27 13:54:42 -07:00
David Katleman
e0e7783359 Added tag jdk8-b11 for changeset df5d402bd8f5 2011-10-27 13:54:38 -07:00
David Katleman
96ca36886a Added tag jdk8-b11 for changeset 1c9f26d85678 2011-10-27 13:54:37 -07:00
David Katleman
d471bfae9b Added tag jdk8-b11 for changeset 719fbe1902a0 2011-10-27 13:54:31 -07:00
David Katleman
467fe2be80 Added tag jdk8-b11 for changeset 30a16214b365 2011-10-27 13:54:26 -07:00
David Katleman
b58a00d805 Added tag jdk8-b11 for changeset 541e4b0cf4f9 2011-10-27 13:54:24 -07:00
Vladimir Kozlov
a6318f2dcd 7105364: JDK8 b10 hotspot: src/share/vm/ci/ciMethodHandle.cpp Error: Use "." or "->"
Define ciMethodHandle::print_chain_impl() and ciMethodHandle::print_chain() bodies only in debug builds.

Reviewed-by: never, twisti
2011-10-27 09:39:24 -07:00
Sean Mullan
17c6b98e84 Merge 2011-10-27 11:01:15 -04:00
Sean Mullan
65b1500ae5 7094155: JSR105 code throws javax.xml.crypto.URIReferenceException when running into Java 7 VM
Reviewed-by: xuelei
2011-10-27 10:57:35 -04:00
Christian Thalinger
6d1f314a4b 7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely
Reviewed-by: never, bdelsart
2011-10-27 04:43:37 -07:00
Sean Coffey
f65db39c04 7099658: Properties.loadFromXML fails with ClassCastException
Reviewed-by: alanb, mchung
2011-10-27 10:32:08 +01:00
Weijun Wang
3cd4eaa1f0 7104161: test/sun/tools/jinfo/Basic.sh fails on Ubuntu
Reviewed-by: alanb
2011-10-27 17:23:25 +08:00
Y. Srinivas Ramakrishna
f5af1323da 7105163: CMS: some mentions of MinChunkSize should be IndexSetStart
Fixed the instances that were missed in the changeset for 7099817.

Reviewed-by: stefank
2011-10-26 21:07:52 -07:00
Lana Steuck
4f4ddb6e5f Merge 2011-10-26 12:29:22 -07:00
Lana Steuck
dedae49531 Merge 2011-10-26 12:28:51 -07:00
Yuka Kamiya
b5b00d6b8f 7090046: Lots of invalid link in java.text.BreakIterator comments
Reviewed-by: okutsu
2011-10-26 22:16:13 +09:00
Vladimir Kozlov
669fa7396d 7097546: Optimize use of CMOVE instructions
Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop.

Reviewed-by: never
2011-10-26 06:08:56 -07:00
Chris Hegarty
15d761f763 7104650: rawtype warnings in several net, nio and security source files
Also reviewed by Ulf.Zibis@gmx.de

Reviewed-by: mcimadamore, alanb, dholmes
2011-10-26 13:58:46 +01:00
Alex Menkov
159d2cd692 7088367: JavaSound security issue (12865443)
Reviewed-by: denis
2011-10-26 14:00:18 +04:00
Bengt Rutisson
868cfdb5f4 7102191: G1: assert(_min_desired_young_length <= initial_region_num) failed: Initial young gen size too small
Initial_region_num actually not needed.

Reviewed-by: tonyp, johnc
2011-10-26 08:44:53 +02:00
Lana Steuck
2c50355271 Merge 2011-10-25 21:55:25 -07:00
Lana Steuck
4ed6125359 Merge 2011-10-25 21:54:49 -07:00
Lana Steuck
adfdb3ed81 Merge 2011-10-25 21:53:54 -07:00
Y. Srinivas Ramakrishna
9181202876 7099817: CMS: +FLSVerifyLists +FLSVerifyIndexTable asserts: odd slot non-empty, chunk not on free list
Suitably weaken asserts that were in each case a tad too strong; fix up some loose uses of parameters in code related to size-indexed free list table.

Reviewed-by: jmasa, brutisso, stefank
2011-10-25 20:15:41 -07:00
Jim Holmlund
b171ddacd0 7104905: Java SE build fails on call to CreateSymbols
Reviewed-by: jjg
2011-10-25 19:18:32 -07:00
Vladimir Kozlov
952f0b9b81 7059039: EA: don't change non-escaping state of NULL pointer
NULL pointers do not escape but escape state propagation may change it leading to worser results.

Reviewed-by: never
2011-10-25 12:51:13 -07:00
Lana Steuck
a4d1ec9d5f Merge 2011-10-25 10:52:03 -07:00
Lana Steuck
022b52007c Merge 2011-10-25 10:51:17 -07:00
Jonathan Gibbons
d20f9f51bc 7104039: refactor/cleanup javac Paths class
Reviewed-by: mcimadamore
2011-10-25 10:48:05 -07:00
Omair Majid
160ad3376d 7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc
Reviewed-by: never
2011-10-25 08:17:15 -07:00
Maurizio Cimadamore
1469ebc6da 7104618: MessageInfo.java is failing after lexer changes
Two langtools regression tests cannot be built due to a bad import statement

Reviewed-by: jjg
2011-10-25 15:40:34 +01:00
Christian Thalinger
3336939f08 7101642: JSR 292: SIGSEGV in java.lang.invoke.MethodHandleImpl$FieldAccessor.getFieldI(Ljava/lang/Object;)I
Reviewed-by: kvn, iveresov
2011-10-25 04:07:20 -07:00
Alan Bateman
616b1a997f 7104577: Changes for 7104209 cause many RMI tests to fail
Reviewed-by: chegar
2011-10-25 09:27:20 +01:00
Christian Thalinger
249b9c657d 7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check
Reviewed-by: iveresov, never
2011-10-25 00:55:10 -07:00
Chris Hegarty
f5ff85a77a 7103549: Remove dependencies on libjava and libjvm from security libraries
Reviewed-by: vinnie, ohair, alanb, dholmes
2011-10-24 21:03:41 +01:00
Chris Hegarty
de7b261476 7104209: Cleanup and remove librmi (native library)
Reviewed-by: mduigou, alanb
2011-10-24 20:55:08 +01:00
Jennifer Godinez
51c07ae53a 6604109: javax.print.PrintServiceLookup.lookupPrintServices fails SOMETIMES for Cups
Reviewed-by: bae, prr
2011-10-24 09:58:47 -07:00
Christian Thalinger
ae64d0bc30 7090904: JSR 292: JRuby junit test crashes in PSScavengeRootsClosure::do_oop
Reviewed-by: kvn, never, jrose
2011-10-24 07:53:17 -07:00
Maurizio Cimadamore
7873cba6b2 7098660: Write better overload resolution/inference tests
Add overload/inference debug diagnostics - added test harness using annotations to check outcome of overload resolution/inference

Reviewed-by: jjg
2011-10-24 13:00:30 +01:00
Maurizio Cimadamore
063b622daf 7096014: Javac tokens should retain state
Refactor javac tokens from enum constants to stateful instances (to keep track of position, comments, etc.)

Reviewed-by: jjg
2011-10-24 13:00:20 +01:00
Tom Rodriguez
b030a36386 Merge 2011-10-23 23:57:39 -07:00
John Cuthbertson
72c2cfef4f 7096030: G1: PrintGCDetails enhancements
7102445: G1: Unnecessary Resource allocations during RSet scanning

Add a new per-worker thread line in the PrintGCDetails output. GC Worker Other is the difference between the elapsed time for the parallel phase of the evacuation pause and the sum of the times of the sub-phases (external root scanning, mark stack scanning, RSet updating, RSet scanning, object copying, and termination) for that worker. During RSet scanning, stack allocate DirtyCardToOopClosure objects; allocating these in a resource area was causing abnormally high GC Worker Other times while the worker thread freed ResourceArea chunks.

Reviewed-by: tonyp, jwilhelm, brutisso
2011-10-23 23:06:06 -07:00
Tom Rodriguez
5dc4f00ff5 7103784: enable some flags by default
Reviewed-by: kvn
2011-10-23 20:23:14 -07:00
Tom Rodriguez
8b1bd284bc 7103380: assertion failure with -XX:+PrintNativeNMethods
Reviewed-by: kvn, iveresov
2011-10-23 12:31:20 -07:00
Alejandro Murillo
1c38082fcc 7103619: Bump the hs23 build number to 04
Reviewed-by: johnc
2011-10-21 16:00:50 -07:00
Jim Holmlund
5955806228 7098530: tools/javac/javazip/Test.sh can fail on Windows
Fix cygpath command to properly convert path

Reviewed-by: jjg
2011-10-21 14:14:29 -07:00
John Coomes
3ff8da7657 Added tag hs23-b03 for changeset 0e5b229f9d70 2011-10-21 10:27:33 -07:00
John Coomes
6abc189f69 Merge 2011-10-21 10:27:32 -07:00
Antonios Printezis
01ba4cd795 Merge 2011-10-21 07:24:06 -04:00
Yuka Kamiya
27ae28ada0 7103405: Correct display names for Pacific/Apia timezone
Reviewed-by: okutsu
2011-10-21 18:01:01 +09:00
Igor Veresov
e9bfe21bdf Merge 2011-10-21 00:58:30 -07:00
Yuka Kamiya
2f1ee9427a 7103108: (tz) Support tzdata2011l
Reviewed-by: okutsu
2011-10-21 15:56:24 +09:00
John Cuthbertson
c8143a724e 7099824: G1: we should take the pending list lock before doing the remark pause
Acquire the pending list lock in the prologue method of G1's concurrent VM_Operation and release the lock in the epilogue() method. The locking/unlocking order of the pending list lock and the Heap_lock should match that in the prologue and epilogue methods of VM_GC_Operation.

Reviewed-by: tonyp, ysr
2011-10-20 12:06:20 -07:00
Antonios Printezis
0615005089 Merge 2011-10-21 12:42:42 -04:00
David Katleman
7cab00227f Added tag jdk8-b10 for changeset 371ba3560eaf 2011-10-20 10:32:56 -07:00
David Katleman
7c5f436a8a Added tag jdk8-b10 for changeset 0c1ab928e08c 2011-10-20 10:32:47 -07:00
David Katleman
1513128fe7 Added tag jdk8-b10 for changeset dbbb34e9fb90 2011-10-20 10:32:44 -07:00
David Katleman
45d8e3cd09 Added tag jdk8-b10 for changeset e99452c9ff04 2011-10-20 10:32:43 -07:00
David Katleman
620632fa7b Added tag jdk8-b10 for changeset 2e5282ba5c7c 2011-10-20 10:32:37 -07:00
David Katleman
0fb0730525 Added tag jdk8-b10 for changeset 4ae1c2114056 2011-10-20 10:32:31 -07:00
David Katleman
1eec62606e Added tag jdk8-b10 for changeset 94322bddfb4a 2011-10-20 10:32:30 -07:00
Bengt Rutisson
8fb3eec82e 7097516: G1: assert(0<= from_card && from_card<HeapRegion::CardsPerRegion) failed: Must be in range
Introduced a version of is_in_reserved() that looks at _orig_end as opposed to _end.

Reviewed-by: tonyp, stefank
2011-10-20 10:21:35 +02:00
Jonathan Gibbons
6c299173e1 7101146: Paths should more directly managed by BaseFileManager
Reviewed-by: mcimadamore
2011-10-19 15:29:46 -07:00
Axel Siebenborn
96500c22d7 7100935: win32: memmove is not atomic but is used for pd_conjoint_*_atomic operations
Replace the call to memmove by a simple copy loop

Co-authored-by: Volker Simonis <volker.simonis@gmail.com>
Reviewed-by: dholmes, kvn, never
2011-10-19 10:52:30 -07:00
Maurizio Cimadamore
747169f70e 7102515: javac running very very long and not returning
Verbose resolution diagnostics slow down with operator resolution

Reviewed-by: jjg
2011-10-19 16:56:05 +01:00
Christopher Gruszka
0929b68ecc 7099017: jdk7u2-dev does not build
Changes to skip demo/DEMOS_LICENSE and sample/SAMPLES_LICENSE when building OPENJDK

Reviewed-by: ohair, billyh
2011-10-18 14:21:47 -04:00
Tom Rodriguez
bf203dac41 7098528: crash with java -XX:+ExtendedDTraceProbes
Reviewed-by: kvn
2011-10-17 21:38:29 -07:00
Lana Steuck
501fe865e8 Merge 2011-10-17 19:07:26 -07:00
Lana Steuck
2e49137b38 Merge 2011-10-17 19:06:53 -07:00
Tom Rodriguez
7749aaf387 7093690: JSR292: SA-JDI AssertionFailure: Expected raw sp likely got real sp, value was
Reviewed-by: kvn, twisti
2011-10-17 11:00:41 -07:00
John Cuthbertson
cab4072f8d 7095243: Disambiguate ReferenceProcessor::_discoveredSoftRefs
Add a new, separate, pointer to the base of the array of discovered reference lists and use this new pointer in places where we iterate over the entire array.

Reviewed-by: ysr, brutisso
2011-10-17 09:57:41 -07:00
Maurizio Cimadamore
d3efececf3 7093325: Redundant entry in bytecode exception table
Inlining of finalizers does not update gaps list accordingly

Reviewed-by: jjg
2011-10-17 12:57:36 +01:00
Maurizio Cimadamore
1a335eb047 7097436: Project Coin: duplicate varargs warnings on method annotated with @SafeVarargs
Duplicate aliasing check during subtyping leads to spurious varargs diagnostic

Reviewed-by: jjg
2011-10-17 12:54:33 +01:00
Andrew Brygin
8863ec439e 6997116: The case automatically failed due to java.lang.ClassCastException
Reviewed-by: jgodinez, prr
2011-10-17 15:20:51 +04:00
David Holmes
c45d65f8eb Merge 2011-10-17 01:40:27 -04:00
Igor Veresov
fafabe6da0 Merge 2011-10-16 02:59:24 -07:00
Alejandro Murillo
c9021fc009 7101096: Bump the hs23 build number to 03
Reviewed-by: johnc
2011-10-14 21:45:37 -07:00
John Coomes
02c6e31091 Added tag hs23-b02 for changeset e597a451dc88 2011-10-14 18:21:47 -07:00
John Coomes
56eac0155c Merge 2011-10-14 18:17:01 -07:00
Vladimir Kozlov
2407655ab1 7100757: The BitSet.nextSetBit() produces incorrect result in 32bit VM on Sparc
Instruction countTrailingZerosL() should use iRegIsafe dst register since it is used in long arithmetic.

Reviewed-by: never, twisti
2011-10-14 10:07:28 -07:00
Antonios Printezis
81bdd2ccc6 7088680: G1: Cleanup in the G1CollectorPolicy class
Removed unused fields and methods, removed the G1CollectoryPolicy_BestRegionsFirst class and folded its functionality into the G1CollectorPolicy class.

Reviewed-by: ysr, brutisso, jcoomes
2011-10-14 11:12:24 -04:00
Tom Rodriguez
a8a4b778ca 7100165: JSR 292: leftover printing code in methodHandleWalk.cpp
Reviewed-by: kvn, twisti
2011-10-13 14:08:15 -07:00
Antonios Printezis
d1c6787aa1 7098085: G1: partially-young GCs not initiated under certain circumstances
Reviewed-by: ysr, brutisso
2011-10-13 13:54:29 -04:00
David Katleman
5839368eee Added tag jdk8-b09 for changeset 0169651a48bf 2011-10-13 10:35:50 -07:00
David Katleman
70a4d09791 Added tag jdk8-b09 for changeset 8b314218e3ab 2011-10-13 10:35:43 -07:00
David Katleman
f524534650 Added tag jdk8-b09 for changeset 8124579f60fd 2011-10-13 10:35:40 -07:00
David Katleman
7a7270c0bd Added tag jdk8-b09 for changeset 072884311758 2011-10-13 10:35:39 -07:00
David Katleman
5219fbb397 Added tag jdk8-b09 for changeset fad441085165 2011-10-13 10:35:32 -07:00
David Katleman
9acc701280 Added tag jdk8-b09 for changeset 44d496c3c830 2011-10-13 10:35:29 -07:00
David Katleman
1175eb8a27 Added tag jdk8-b09 for changeset 56ae1c1e8584 2011-10-13 10:35:24 -07:00
Christos Zoulas
32708baef1 7098194: integrate macosx-port changes
Integrate bsd-port/hotspot and macosx-port/hotspot changes as of 2011.09.29.

Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Kurt Miller <kurt@intricatesoftware.com>
Co-authored-by: Alexander Strange <astrange@apple.com>
Co-authored-by: Mike Swingler <swingler@apple.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Victor Hernandez <vhernandez@apple.com>
Co-authored-by: Pratik Solanki <psolanki@apple.com>
Reviewed-by: kvn, dholmes, never, phh
2011-10-13 09:35:42 -07:00
Charles Lee
16b47aa177 7107957: AWT: Native code should include fcntl.h and unistd.h rather than sys/fcntl.h and sys/unistd.h
Use POSIX defined includes for unistd.h and fcntl.h

Reviewed-by: anthony, ngmr
2011-10-13 13:02:37 +01:00
Alexandr Scherbatiy
bd73f1cc1d 6955919: Intermittent ClassCastException in bug4492274 test
Reviewed-by: rupashka
2011-11-03 14:14:36 +04:00
Sean Chou
c59424668d 7049024: DnD fails with JTextArea and JTextField
Reviewed-by: rupashka
2011-11-02 23:53:16 +03:00
Alexander Kouznetsov
34c1a2b716 7074853: TransparentRuler demos Readme should mention the correct jar file name
Reviewed-by: rupashka
2011-11-02 17:39:30 +04:00
Alexandr Scherbatiy
6612f2a7e6 6624077: Regression test fails: closed/javax/swing/ToolTipManager/6256140/bug6256140.java
Reviewed-by: rupashka
2011-11-02 14:17:16 +04:00
Federico Tello Gentile
d3cb1a4bdd 7105529: XAWT: Optimize getFieldsAsString() methods generated by WrapperGenerator
Replace string concatenation with StringBuilder.append()

Reviewed-by: anthony, son
2011-11-01 18:03:56 +03:00
Federico Tello Gentile
60689cf49b 7104625: sun.awt.X11.XEvent is creating 600 MB of char[] for no good reason
Wrap logging calls with if(){} statements

Reviewed-by: anthony, son
2011-11-01 18:01:58 +03:00
David Buck
756974b448 6887286: StackOverflowError at sun.awt.image.ImageWatched$WeakLink.isWatcher
Fixed OffScreenImageSource to call imageComplete() with SINGLEFAMEDONE, not STATICIMAGEDONE. This fixed memory leak (that caused SOFE when we use recursion to iterate over linked list).

Reviewed-by: bae
2011-10-17 19:06:24 -07:00
Alexandr Scherbatiy
45109520ef 7077293: javax/swing/JComponent/4337267/bug4337267.java failed on windows 2003
Reviewed-by: rupashka
2011-10-17 17:19:43 +04:00
Alexandr Scherbatiy
0819253023 7100004: javax.swing.JTable.setAutoCreateRowSorter(boolean autoCreateRowSorter) should mention default value
Reviewed-by: rupashka
2011-10-17 16:40:34 +04:00
Alexandr Scherbatiy
224bf60e30 7099251: javax.swing.text.html.HTMLDocument.insertAfterStart(null, something) throws NPE
Reviewed-by: rupashka
2011-10-17 15:10:42 +04:00
Charles Lee
448e208ddb 7100054: (porting) Native code should include fcntl.h and unistd.h rather than sys/fcntl.h and sys/unistd.h
Use POSIX defined includes for unistd.h and fcntl.h

Reviewed-by: dholmes, alanb, chegar, ngmr
2011-10-13 12:30:51 +01:00
Michael McMahon
75c70b068f Merge 2011-10-20 09:26:20 +01:00
Michael McMahon
0ec5b82c85 7102665: Move tests to Problemlist
Reviewed-by: chegar, alanb
2011-10-20 09:21:03 +01:00
Kurchi Subhra Hazra
ed977156e5 7102704: test/java/net/DatagramSocket/ChangingAddress.java failing
Reviewed-by: chegar
2011-10-20 09:08:38 +01:00
Darryl Mocek
8d1c6cf60e 5029031: Add Collections.checkedQueue()
Reviewed-by: mduigou
2011-10-19 14:17:47 -07:00
Sean Mullan
fd5b382022 Merge 2011-10-19 10:16:22 -04:00
Sean Mullan
f1f3aad11c 7102686: Restructure timestamp code so that jars and modules can more easily share the same code
Reviewed-by: mchung
2011-10-19 10:15:23 -04:00
Bradford Wetmore
d25a9c128f 7031830: bad_record_mac failure on TLSv1.2 enabled connection with SSLEngine
Reviewed-by: xuelei, weijun, asaha
2011-10-18 11:58:57 -07:00
Sean Mullan
6e1235fe09 Merge 2011-10-18 10:15:08 -04:00
Sean Mullan
9852219b7e 7092897: sun.security.util.Cache should be generified
Reviewed-by: xuelei
2011-10-18 10:12:14 -04:00
Weijun Wang
ab1010388d 7099399: cannot deal with CRL file larger than 16MB
Reviewed-by: xuelei, mullan
2011-10-17 17:11:26 +08:00
Sean Mullan
8dd8726505 Merge 2011-10-13 13:53:13 -04:00
Sean Mullan
4bc227715b 6953295: Move few sun.security.{util, x509, pkcs} classes used by keytool/jarsigner to another package
Reviewed-by: mchung
2011-10-13 13:50:17 -04:00
Vinnie Ryan
e6e820c647 7099228: Use a PKCS11 config attribute to control encoding of an EC point
Reviewed-by: valeriep, mullan
2011-10-13 12:00:51 +01:00
Christian Thalinger
02db22f7e7 7092712: JSR 292: unloaded invokedynamic call sites can lead to a crash with signature types not on BCP
Reviewed-by: jrose, never
2011-10-12 21:00:13 -07:00
Lana Steuck
5cbdf8db6c Merge 2011-10-12 12:26:38 -07:00
Lana Steuck
8eac661507 Merge 2011-10-12 12:26:03 -07:00
Lana Steuck
9e05d4f813 Merge 2011-10-12 12:25:03 -07:00
Naoto Sato
f54e7ec9bc 7027061: Testcase failure: java/util/Locale/Bug6989440.java - java.util.ConcurrentModificationException
Reviewed-by: dholmes, chegar
2011-10-12 12:12:25 -07:00
John Cuthbertson
4738ed88a5 7098282: G1: assert(interval >= 0) failed: Sanity check, referencePolicy.cpp: 76
There is a race between one thread successfully forwarding and copying the klass mirror for the SoftReference class (including the static master clock) and another thread attempting to use the master clock while attempting to discover a soft reference object. Maintain a shadow copy of the soft reference master clock and use the shadow during reference discovery and reference processing.

Reviewed-by: tonyp, brutisso, ysr
2011-10-12 10:25:51 -07:00
Doug Lea
e088fb2b1a 7082299: AtomicReferenceArray should ensure that array is Object[]
Reviewed-by: chegar, dholmes, alanb
2011-10-12 16:33:48 +01:00
Alexandr Scherbatiy
6fb68448cc 7076791: closed/javax/swing/JColorChooser/Test6827032.java failed on windows
Reviewed-by: rupashka
2011-10-11 15:22:40 +04:00
Christian Thalinger
de00cc778c 7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed
Reviewed-by: never, bdelsart
2011-10-11 02:19:37 -07:00
Bengt Rutisson
7fa7f8a597 7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script
Also reviewed by mikael.gerdin@oracle.com; Changed to the `` syntax instead. Also changed "source" to ".".

Reviewed-by: never, stefank, dsamersoff, rottenha
2011-10-11 10:21:36 +02:00
David Holmes
e9b8f2bab4 7096278: Update the VM name to indicate it is an embedded build
Reviewed-by: kvn, never, jcoomes, bobv
2011-10-10 21:01:36 -04:00
Y. Srinivas Ramakrishna
8fbb0e0f4a Merge 2011-10-10 08:40:34 -07:00
Bertrand Delsart
fa43b0cdd8 7096366: PPC: corruption of floating-point values with DeoptimizeALot
Fix for a deoptimization found on PPC, which could impact other big endian platforms

Reviewed-by: roland, dholmes
2011-10-07 13:28:44 +02:00
Y. Srinivas Ramakrishna
a7dc867057 7095236: G1: _markedRegions never contains NULL regions
Removed the code for skipping over NULL regions in _markedRegions, replacing it with an assertion that a NULL region is never encountered; removed dead methods, remove() and remove_region(), and inlined a simplified addRegion() directly into fillCache().

Reviewed-by: brutisso, tonyp
2011-10-06 18:56:47 -07:00
David Katleman
0b92e7c70b Added tag jdk8-b08 for changeset c9fb751a1f21 2011-10-06 14:01:45 -07:00
David Katleman
1d6d5772d7 Added tag jdk8-b08 for changeset 88f1603ed2de 2011-10-06 14:01:37 -07:00
David Katleman
a8ca4c2947 Added tag jdk8-b08 for changeset c074b109d708 2011-10-06 14:01:34 -07:00
David Katleman
6d08c900c4 Added tag jdk8-b08 for changeset c6ec1d396a6f 2011-10-06 14:01:33 -07:00
David Katleman
bc8656528c Added tag jdk8-b08 for changeset 410b29777a51 2011-10-06 14:01:26 -07:00
David Katleman
7e4cbf7ede Added tag jdk8-b08 for changeset 21c3dca02af5 2011-10-06 14:01:21 -07:00
David Katleman
e0ebf7426d Added tag jdk8-b08 for changeset 29f7779184ad 2011-10-06 14:01:13 -07:00
Maurizio Cimadamore
b6f671b41e 7090499: missing rawtypes warnings in anonymous inner class
Javac does not detect raw types inside anonymous inner classes

Reviewed-by: jjg
2011-10-06 18:39:31 +01:00
Antonios Printezis
78662d3b17 Merge 2011-10-06 13:28:09 -04:00
John Cuthbertson
6513930e7a 7095194: G1: HeapRegion::GrainBytes, GrainWords, and CardsPerRegion should be size_t
Declare GrainBytes, GrainWords, and CardsPerRegion as size_t.

Reviewed-by: jcoomes, tonyp, jmasa
2011-10-05 08:44:10 -07:00
Pavel Porvatov
72f4cfb2e7 7072167: The "root" field in BufferStrategyPaintManager leaks memory
Reviewed-by: alexp
2011-10-05 18:21:23 +04:00
Volker Simonis
e3c38523b2 6865265: JVM crashes with "missing exception handler" error
Retry the call to fast_exception_handler_bci_for() after it returned with a pending exception. Don't cache the exception handler pc computed by compute_compiled_exc_handler() if the handler is for another (nested) exception.

Reviewed-by: kamg, kvn
2011-10-04 14:30:04 -07:00
John Coomes
92bbff7143 Merge 2011-10-04 12:39:42 -07:00
Igor Veresov
a4975758bb 7097679: Tiered: events with bad bci to Gotos reduced from Ifs
Save bci of instruction that produced Goto and use it to call back to runtime

Reviewed-by: kvn, never
2011-10-04 10:07:07 -07:00
Lana Steuck
2346a1c754 Merge 2011-10-03 18:26:59 -07:00
Lana Steuck
8401a88197 Merge 2011-10-03 18:26:01 -07:00
Lana Steuck
4a7dc9240b Merge 2011-10-03 18:22:43 -07:00
Alejandro Murillo
91823a458f 7096124: Bump the hs23 build number to 02
Reviewed-by: johnc
2011-09-30 22:54:43 -07:00
Xue-Lei Andrew Fan
3c41c66fb1 7096936: issue in jsse/runtime
7096937: TEST: com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java need modification as a result of TLS fix

Reviewed-by: wetmore, jdn, xuelei
2011-09-30 18:47:53 -07:00
John Coomes
b731247c38 Added tag hs23-b01 for changeset cca3c612bd14 2011-09-30 18:27:43 -07:00
John Coomes
ef5fc6d83d Merge 2011-09-30 18:27:39 -07:00
John Coomes
5bd84d92a1 Merge 2011-09-30 17:20:56 -07:00
Igor Veresov
7f01a4d4f5 Merge 2011-09-30 13:48:17 -07:00
Roland Westrelin
8ae50d45a4 7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used
ADLC generates code to prepare the register string to be printed in a char array but then calls print without the char array as an argument.

Reviewed-by: never
2011-09-30 13:47:26 +02:00
Igor Veresov
0219cf5423 7096639: Tiered: Incorrect counter overflow handling for inlined methods
Enable invocation events for inlinees

Reviewed-by: kvn
2011-09-29 23:09:54 -07:00
David Katleman
4749de17ea Added tag jdk8-b07 for changeset 64ad92439924 2011-09-29 18:54:01 -07:00
David Katleman
723ea00e0c Added tag jdk8-b07 for changeset 3286cf6d9881 2011-09-29 18:53:53 -07:00
David Katleman
bede38196b Added tag jdk8-b07 for changeset 2b6c60642ad8 2011-09-29 18:53:49 -07:00
David Katleman
34db0587a4 Added tag jdk8-b07 for changeset dff0b2eda2a8 2011-09-29 18:53:48 -07:00
David Katleman
f5d9fec70d Added tag jdk8-b07 for changeset 3793fe38dc85 2011-09-29 18:53:42 -07:00
David Katleman
5be998e5ce Added tag jdk8-b07 for changeset 24e2df5cb0b0 2011-09-29 18:53:38 -07:00
David Katleman
261f588e13 Added tag jdk8-b07 for changeset 5b03d68a6a38 2011-09-29 18:53:33 -07:00
Xue-Lei Andrew Fan
73b50710f0 7064341: jsse/runtime security problem
Reviewed-by: wetmore
2011-09-29 17:31:30 -07:00
Volker Simonis
812f619214 7096016: SA build still produces "arg list too long" errors
Reviewed-by: kvn, never
2011-09-29 13:47:57 -07:00
Tom Rodriguez
f103a0e31f 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
Reviewed-by: kvn
2011-09-29 09:53:56 -07:00
Kurchi Subhra Hazra
e83fde21ff 7092375: Security Libraries don't build with javac -Werror
Changes to security related java and make files to remove warnings

Reviewed-by: xuelei
2011-09-28 15:10:02 -07:00
Chris Hegarty
08d82ca044 7099488: TwoStacksPlainSocketImpl should invoke super.create(stream), typo in fix for 7098719
Reviewed-by: coffeys
2011-10-11 12:06:46 +01:00
Neil Richards
bbcff1b792 Merge 2011-10-10 16:13:38 +01:00
Chris Hegarty
e92787f075 7098755: test/sun/misc/JarIndex/metaInfFilenames/Basic.java should use supported compiler interface
Reviewed-by: mcimadamore
2011-10-10 15:29:24 +01:00
Steve Poole
9a2fc5f236 7099119: Remove unused dlinfo local variable in launcher code
Reviewed-by: ohair, chegar, ngmr
2011-10-10 14:50:51 +01:00
Chris Hegarty
214254cac5 7098719: -Dsun.net.maxDatagramSockets and Socket constructor does not work correctly with System.gc()
Reviewed-by: michaelm
2011-10-10 10:38:35 +01:00
Vinnie Ryan
a3fcc12dc8 7094377: Com.sun.jndi.ldap.read.timeout doesn't work with ldaps
Reviewed-by: chegar
2011-10-07 14:09:53 +01:00
Naoto Sato
7af669ecc0 7098394: JDK8 TL repo build fails in src/solaris/native/java/util/TimeZone_md.c
Reviewed-by: chegar
2011-10-06 17:40:16 -07:00
Chris Hegarty
d5e5ad5996 7090499: missing rawtypes warnings in anonymous inner class
Fix anonymous inner classes with raw types currently being built in the jdk with -Werror

Reviewed-by: mcimadamore, alanb
2011-10-06 12:15:07 +01:00
Masayoshi Okutsu
a9ef11a8d4 7092679: (tz) Java getting wrong timezone/DST info on Solaris 11
6984762: Invalid close of file descriptor '-1' in findZoneinfoFile

Reviewed-by: coffeys, ohair, naoto, peytoia
2011-10-05 15:13:40 +09:00
Chris Hegarty
1d5bbbec86 7095949: java/net/URLConnection/RedirectLimit.java and Redirect307Test fail intermittently
Reviewed-by: alanb
2011-10-04 16:37:08 +01:00
Kurchi Subhra Hazra
ebd4f912d7 6953455: CookieStore.add() cannot handle null URI parameter, contrary to the API
Reviewed-by: chegar, mduigou
2011-10-04 13:48:41 +01:00
Bengt Rutisson
cfe349b1e0 7005808: G1: re-enable ReduceInitialCardMarks for G1
Remove the extra guard to allow G1 to use ReduceInitialCardMarks

Reviewed-by: jmasa, tonyp, johnc, ysr
2011-09-28 08:21:30 +02:00
Weijun Wang
650bd8320d 7077646: gssapi wrap for CFX per-message tokens always set FLAG_ACCEPTOR_SUBKEY
Reviewed-by: valeriep
2011-09-28 14:21:11 +08:00
Weijun Wang
a912e7557c 7077640: gss wrap for cfx doesn't handle rrc != 0
Reviewed-by: valeriep
2011-09-28 14:21:10 +08:00
Weijun Wang
a099202006 7089889: Krb5LoginModule.login() throws an exception if used without a keytab
Reviewed-by: xuelei, valeriep
2011-09-28 14:21:10 +08:00
Oleg Pekhovskiy
45df73bc12 7073337: Crash after playing Java game on Pogo
Reviewed-by: art, uta
2011-09-27 13:38:29 +04:00
Kurchi Subhra Hazra
09ff856431 7088502: Security libraries don't build with javac -Werror
Changes to files in src/share/classes/com/sun/org/apache/xml/internal/security and its subpackages to remove warnings

Reviewed-by: mullan
2011-09-26 17:20:45 -07:00
David Buck
daa2552a25 7029903: Splash screen is not shown in 64-bit Linux with 16-bit color depth
Added Xflush() call after splash screen is updated to ensure update is no stuck in client side buffer until JVM starts up. See JET review request 4154 for details.

Reviewed-by: kevinw, anthony
2011-09-26 15:40:05 -07:00
Lana Steuck
3ae6cc4f7e Merge 2011-09-26 14:33:34 -07:00
Lana Steuck
3d1e626d8f Merge 2011-09-26 14:32:38 -07:00
Lana Steuck
238736e33d Merge 2011-09-26 14:31:05 -07:00
Lana Steuck
9f70387b50 Merge 2011-09-26 14:30:38 -07:00
Lana Steuck
79c9b7b711 Merge 2011-09-26 14:29:34 -07:00
Kurchi Subhra Hazra
8987ea2bdf 7084030: DatagramSocket.getLocalAddress inconsistent on XP/2003 when IPv6 enabled and socket is connected
Use family of connected IP address to retrieve desired local address of the datagram socket

Reviewed-by: chegar
2011-09-26 11:48:37 -07:00
Vladimir Kozlov
47e357e16f 7081933: Use zeroing elimination optimization for large array
Don't zero new typeArray during runtime call if the allocation is followed by arraycopy into it.

Reviewed-by: twisti
2011-09-26 10:24:05 -07:00
Denis Fokin
89371ad57d 7080289: AWTKeystroke class registers a subclass factory during deserialization
Reviewed-by: serb
2011-09-26 18:18:29 +04:00
Chris Hegarty
2d492ea7e1 7094141: test/sun/misc/JarIndex/metaInfFilenames/Basic.java no longer compiles
Reviewed-by: alanb
2011-09-26 15:04:59 +01:00
Clemens Eisserer
20558b33b9 7081670: Disposing an AppContext can lead to a spinning EventDispatchThread
Reviewed-by: art, anthony, dholmes
2011-09-26 17:59:52 +04:00
Pavel Porvatov
3cfef23dff 7088744: SwingUtilities.isMiddleMouseButton does not work with ALT/Meta keys
Reviewed-by: alexp
2011-09-26 17:37:08 +04:00
Weijun Wang
0ac639e5b0 7094842: test/javax/security/auth/Subject/{Synch.java,Synch2.java,Synch3.java} loop forever in agentvm mode
Reviewed-by: alanb
2011-09-26 17:13:47 +08:00
Kurt Miller
95c56a472b 7089790: integrate bsd-port changes
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Jung-uk Kim <jkim@freebsd.org>
Co-authored-by: Christos Zoulas <christos@zoulas.com>
Co-authored-by: Landon Fuller <landonf@plausible.coop>
Co-authored-by: The FreeBSD Foundation <board@freebsdfoundation.org>
Co-authored-by: Michael Franz <mvfranz@gmail.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Alexander Strange <astrange@apple.com>
Reviewed-by: kvn, twisti, jrose
2011-09-25 16:03:29 -07:00
Lana Steuck
d941d29b0c Merge 2011-09-23 23:30:31 -07:00
Lana Steuck
633ccfc791 Merge 2011-09-23 23:29:56 -07:00
Lana Steuck
1c1cfca47c Merge 2011-09-23 23:25:30 -07:00
Lana Steuck
f13c56e8aa Merge 2011-09-23 16:51:29 -07:00
Lana Steuck
f181b4c76d Merge 2011-09-23 16:50:37 -07:00
Neil Richards
2a7fbdb25b 7105640: Unix printing does not check the result of exec'd lpr/lp command
Add checking, exception for spool process failure

Reviewed-by: prr, jgodinez
2011-09-23 15:18:32 +01:00
Lana Steuck
e869a890ad Merge 2011-10-26 17:59:13 -07:00
Doug Lea
2d19ea519b 7091003: ScheduledExecutorService never executes Runnable with corePoolSize of zero
Reviewed-by: dholmes, chegar
2011-09-23 14:24:04 +01:00
Jonathan Gibbons
4a8efe66a5 7075721: javac should have public enum for exit codes
Reviewed-by: mcimadamore
2011-09-22 09:24:01 -07:00
Kevin Walls
f4e1298403 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
Reviewed-by: coleenp, minqi
2011-09-22 16:48:41 +01:00
Joe Darcy
82e488e3ae 7092404: Add Math.nextDown and Double.isFinite
Reviewed-by: mduigou
2011-09-21 23:22:11 -07:00
Jonathan Gibbons
ff7362918f 7092965: javac should not close processorClassLoader before end of compilation
Reviewed-by: darcy
2011-09-21 21:56:53 -07:00
Weijun Wang
035522bd7a 7092627: use agentvm mode instead of samevm in regtests
Reviewed-by: alanb, dsamersoff
2011-09-22 12:05:26 +08:00
Stuart Marks
6f12fe9039 7092186: adjust package access in rmiregistry
Reviewed-by: asaha, coffeys
2011-09-21 15:37:52 -07:00
Michael McMahon
9486648fdf Merge 2011-09-21 14:54:38 +01:00
Michael McMahon
98f96fac17 7079012: test/java/net/NetworkInterface/NetParamsTest.java fails with SocketException getting mac address
Reviewed-by: chegar, alanb
2011-09-21 14:51:01 +01:00
Charles Lee
daed5f0dd3 7032018: The file list in JFileChooser does not have an accessible name
Reviewed-by: rupashka
2011-09-21 17:08:02 +04:00
Tom Rodriguez
52f0eccb24 7092236: java/util/EnumSet/EnumSetBash.java fails
Reviewed-by: kvn, twisti, jrose
2011-09-20 23:50:16 -07:00
David Holmes
d9b7e6c18c 7012206: ~20 tools tests failing due to -XX:-UsePerfData default in Java SE Embedded
Explicitly enable UsePerfData for the tools that require it to be enabled

Reviewed-by: alanb, ohair
2011-09-20 22:20:05 -04:00
Daniel D. Daugherty
43b11a7dca 7085944: 3/3 FDS: gdb does not find debug symbols for libjsig link
Add support for importing .debuginfo files from HSX.

Reviewed-by: phh
2011-09-20 19:16:21 -07:00
Joe Darcy
17af9b241a 6268216: Boolean.getBoolean() throws SecurityException
Reviewed-by: mduigou
2011-09-20 18:33:25 -07:00
Mike Duigou
b9c11d661e 7074264: Switches to packages tree view and adds unit tests to sources
Reviewed-by: igor
2011-09-20 12:27:45 -07:00
Jonathan Gibbons
1577e0f073 7030473: Remove dead field JCCompilationUnit.flags
Reviewed-by: dlsmith
2011-09-20 12:08:48 -07:00
Vladimir Kozlov
a46128d0dd 7081842: assert(Compile::current()->unique() < (uint)MaxNodeLimit) failed: Node limit exceeded
Add missing node limit check in IGVN optimizer

Reviewed-by: iveresov, never
2011-09-20 08:39:40 -07:00
Weijun Wang
4d4a89de9b 7091290: fails to build jdk8 b05 Embedded build
Reviewed-by: xuelei, dholmes
2011-09-20 12:40:23 +08:00
Igor Veresov
9661feecbc 7091764: Tiered: enable aastore profiling
Turn on aastore profiling

Reviewed-by: jrose, twisti
2011-09-19 15:21:03 -07:00
Daniel D. Daugherty
55bfd400ca Merge 2011-09-19 12:18:46 -07:00
Michael McMahon
b88865d91f 7091369: DatagramSocket/Limit.java failing on 8 and 7u2
Reviewed-by: chegar, alanb
2011-09-19 15:14:17 +01:00
Andrew Brygin
b89d40e747 7088287: libpng need to be updated
Reviewed-by: jgodinez, prr
2011-09-19 05:56:44 -07:00
Joe Darcy
5b7643e258 7091682: Move sun.misc.FpUtils code into java.lang.Math
Reviewed-by: alanb
2011-09-18 18:14:07 -07:00
Alan Bateman
19f1338ae9 7091935: (fs) Polling based WatchService not used on Linux
Reviewed-by: forax
2011-09-18 12:33:56 +01:00
John Coomes
e3faa527bd 7091545: hs23 - set hotspot version & build number
Reviewed-by: tonyp, never, phh, jmasa
2011-09-16 21:35:06 -07:00
Daniel D. Daugherty
d381d4b0b4 7071904: 4/4 HotSpot: Full Debug Symbols
Add support for .debuginfo files for HSX libraries.

Reviewed-by: poonam, dholmes, never
2011-09-16 16:21:20 -07:00
Jonathan Gibbons
51763c43f7 7091528: javadoc attempts to parse .class files
Reviewed-by: darcy
2011-09-16 16:18:46 -07:00
Kurchi Subhra Hazra
3580661098 7090158: Networking Libraries don't build with javac -Werror
Minor changes to networking java files to remove warnings

Co-authored-by: Alexandre Boulgakov <sasha_bu@hotmail.com>
Reviewed-by: chegar, weijun, hawtin
2011-09-16 12:09:04 -07:00
Maurizio Cimadamore
bd420dc94e 7086586: Inference producing null type argument
Inference should fail in 15.12.2.7 when inference variables with 'nulltype' upper bounds are found

Reviewed-by: dlsmith
2011-09-16 14:16:11 +01:00
John Coomes
854ad24077 Added tag hs22-b06 for changeset 9de632dc424b 2011-09-15 20:56:24 -07:00
Alejandro Murillo
303c03e2ea 7091255: Bump the hs22 build number to 06
Reviewed-by: johnc
2011-09-15 20:56:24 -07:00
John Coomes
86b01d9960 7091294: disable quicksort tests
Reviewed-by: jmasa, ysr, kvn
2011-09-15 20:30:12 -07:00
John Coomes
db1c1037b5 Merge 2011-09-15 19:33:39 -07:00
Igor Veresov
0e0ba86cd8 Merge 2011-09-15 12:44:09 -07:00
Sean Chou
40ce6ba310 6988099: jvmti demos missing Publisher (COMPANY resource) in dlls/exes on windows
Add creation/linking of resource data to link step for demos on Windows

Reviewed-by: dcubed, zgu, ngmr, ohair
2011-09-15 19:29:07 +01:00
Christopher Gruszka
64c2502a16 7066713: Separate demos from the bundles on Solaris and Linux
Add new license files to demos and samples, new directory for bundling

Reviewed-by: katleman, ohair, billyh
2011-09-15 13:59:13 -04:00
Michael McMahon
49849e0dcf Merge 2011-09-15 14:10:30 +01:00
Michael McMahon
f9cd96b19b 7073491: -Dsun.net.maxDatagramSockets=1 does not work correctly with system.gc()
Reviewed-by: ngmr
2011-09-15 13:50:30 +01:00
Pavel Porvatov
782f6f887e 7090007: Missing style.css in nimbus/doc-files/properties.html
Reviewed-by: alexp
2011-09-15 16:43:25 +04:00
Yuka Kamiya
0594a39498 7090843: (tz) Support tzdata2011j
Reviewed-by: okutsu
2011-09-15 15:02:05 +09:00
Yuka Kamiya
3674ebe6e6 7090844: Support a timezone whose offset is changed more than once in the future
Reviewed-by: okutsu
2011-09-15 14:45:35 +09:00
Mala Bankal
6624a6c8d1 Merge 2011-09-14 22:36:02 -07:00
Mala Bankal
d9777d76bd 7049963: DISTINGUISHED NAMES FOR CERT ARE ESCAPED IN JROCKIT 1.6(NOT COMPATIBLE WITH JROC
Reviewed-by: mullan
2011-09-14 21:43:42 -07:00
Jonathan Gibbons
4589920917 7068437: Regression: Filer.getResource(SOURCE_OUTPUT, ...) no longer works in JDK 7 w/o -s
Reviewed-by: darcy
2011-09-14 18:26:57 -07:00
Jonathan Gibbons
afaeb37bb5 7090700: fix for 7080267 breaks two tests
Reviewed-by: ksrini
2011-09-14 15:49:54 -07:00
Tom Rodriguez
a300a41ea1 7090654: nightly failures after 7086585
Reviewed-by: kvn
2011-09-14 13:57:32 -07:00
Joe Darcy
2c3a780b41 7088500: there is no @since tag on SafeVarargs
Reviewed-by: mduigou
2011-09-14 13:09:15 -07:00
Jonathan Gibbons
2bbf651156 7090249: IllegalStateException from Trees.getScope when called from JSR 199
Reviewed-by: mcimadamore
2011-09-14 12:14:30 -07:00
Jonathan Gibbons
1ec8f70fdd 7080267: Call to toString() from an ExpressionStatementTree doesn't take in consideration the ";" at the end
Reviewed-by: mcimadamore
2011-09-14 12:07:50 -07:00
Joe Darcy
30d2b45bd8 6879143: java.math.BigInteger misses the xxxValueExact methods
Reviewed-by: alanb
2011-09-14 11:32:11 -07:00
Mandy Chung
16a24a909d 6915797: Remove sun.tools.jar.JarImageSource that is not used
7090178: Move java.util.XMLUtils to another package to avoid split package

Reviewed-by: alanb, sherman
2011-09-14 08:33:34 -07:00
Bertrand Delsart
bc855ff2e0 7077806: ARM: java.lang.InternalError: bound subword value does not fit into the subword type
Shared fix necessary for ARM/PPC

Reviewed-by: twisti, roland
2011-09-14 16:28:39 +02:00
Bertrand Delsart
fcc31d9741 7057978: improve robustness of c1 ARM back-end wrt non encodable constants
ARM only, avoid assertion failures for huge constants generated by C1 shared code

Reviewed-by: never, vladidan
2011-09-14 10:40:13 +02:00
Roland Westrelin
9d8e44db59 7077312: Provide a CALL effect for instruct declaration in the ad file
Abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)

Reviewed-by: twisti, never
2011-09-14 09:22:51 +02:00
Christian Thalinger
89d4179a4b 7110058: change default for ScavengeRootsInCode to 2
Reviewed-by: kvn, never
2011-11-21 00:57:43 -08:00
Tom Rodriguez
4511ca18de 7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable
Reviewed-by: kvn, iveresov, twisti
2011-11-18 10:29:27 -08:00
Christian Thalinger
ed9a60ae02 7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not
Reviewed-by: kvn, never
2011-11-17 04:07:30 -08:00
Igor Veresov
b6ce13798b 7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks
Move the inlinee invoke notification callback into inlinee preamble

Reviewed-by: kvn, never
2011-11-16 19:42:58 -08:00
Vladimir Kozlov
8d2ee23293 6890673: Eliminate allocations immediately after EA
Try to eliminate allocations and related locks immediately after escape analysis.

Reviewed-by: never
2011-11-16 09:13:57 -08:00
Christian Thalinger
81c085a1e2 7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart
2011-11-16 01:39:50 -08:00
Vladimir Kozlov
6b52dbceb0 7105605: Use EA info to optimize pointers compare
Optimize pointers compare using EA information.

Reviewed-by: never, twisti
2011-11-14 18:38:03 -08:00
Vladimir Kozlov
157ba53d27 7110586: C2 generates incorrect results
Exact limit of empty loop calculated incorrectly.

Reviewed-by: iveresov, never
2011-11-10 20:17:05 -08:00
Vladimir Kozlov
f99084037a 7090259: Fix hotspot sources to build with old compilers
Fixed warnings which prevent building VM with old compilers.

Reviewed-by: never
2011-09-13 20:28:00 -07:00
Igor Veresov
9b101c8ba6 7090069: Java launcher hangs in infinite loop on windows when UseNUMA[Interleaving] is specified
Fix _numa_used_node_list array size specification

Reviewed-by: kvn, johnc, jmasa, ysr
2011-09-13 16:58:35 -07:00
Mandy Chung
12a0dac949 7090297: Remove com.sun.tools.javac.Launcher from tools.jar
Reviewed-by: jjg
2011-09-13 16:37:09 -07:00
Vladimir Kozlov
e756c96259 7089632: assert(machtmp->outcnt() == 1) failed: expected for a MachTemp
Replace assert with check to delete MachTemp nodes only when they are really dead.

Reviewed-by: never
2011-09-13 11:46:51 -07:00
Antonios Printezis
7d850203b9 7089625: G1: policy for how many old regions to add to the CSet (when young gen is fixed) is broken
When refactoring the code for a previous fix, a condition was not correctly negated which prevents the G1 policy from adding the correct number of old regions to the CSet when the young gen size is fixed. The changeset also fixes a small syntactical issue in g1ErgoVerbose.hpp which is causing compiler warnings.

Reviewed-by: brutisso, ysr
2011-09-13 12:40:14 -04:00
Lana Steuck
c755492882 Merge 2011-09-13 08:37:34 -07:00
Maurizio Cimadamore
08619c2e9c 7086601: Error message bug: cause for method mismatch is 'null'
Inference error during lub() does not set 'cause' for method resolution diagnostic

Reviewed-by: jjg
2011-09-13 14:15:39 +01:00
Maurizio Cimadamore
0208d38b3c 7003595: IncompatibleClassChangeError with unreferenced local class with subclass
Compiler omits unreferenced local inner classes from the InnerClasses attribute

Reviewed-by: jjg
2011-09-13 14:15:22 +01:00
Maurizio Cimadamore
8db2f8de59 7086595: Error message bug: name of initializer is 'null'
Implementation of MethodSymbol.location() should take into account static/instance initializers

Reviewed-by: jjg
2011-09-13 14:14:57 +01:00
Sean Coffey
81d33c4727 7082769: FileInputStream/FileOutputStream/RandomAccessFile allow file descriptor be closed when still in use
Reviewed-by: alanb
2011-09-13 11:21:51 +01:00
Tom Rodriguez
1f8f1f79be 7089709: type "jushort" not found
Reviewed-by: kvn, twisti
2011-09-12 13:51:40 -07:00
Stefan Karlsson
a4523cfc7f 7021322: assert(object_end <= top()) failed: Object crosses promotion LAB boundary
Pass the same object size value to both allocate and unallocate_object

Reviewed-by: ysr, brutisso
2011-09-12 16:09:50 +02:00
Antonios Printezis
75685a273a 7097048: G1: extend the G1 SA changes to print per-heap space information
Reviewed-by: brutisso, johnc
2011-10-03 19:04:14 -04:00
John Cuthbertson
02e9894454 7097053: G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054
During remembered set scanning, the reference processor could discover a reference object whose referent was in the process of being copied and so may not be completely initialized. Do not perform reference discovery during remembered set scanning.

Reviewed-by: tonyp, ysr
2011-10-03 12:49:53 -07:00
John Cuthbertson
bbfe9c6e25 7086533: G1: assert(!_g1->is_obj_dead(obj)): We should not be preserving dead objs: g1CollectedHeap.cpp:3835
Some objects may not be marked in the event of an evacuation failure in a partially young GC, during a marking cycle. Avoid this situation by not allowing partially young GCs during a marking cycle.

Reviewed-by: tonyp, ysr, brutisso
2011-09-28 10:36:31 -07:00
Bengt Rutisson
cc177fd515 7091366: re-enable quicksort tests
Added extern "C" to make it build with JDK6 compilers

Reviewed-by: jwilhelm, kvn
2011-09-26 10:14:30 +02:00
Antonios Printezis
55c503aea2 7075646: G1: fix inconsistencies in the monitoring data
Fixed a few inconsistencies in the monitoring data, in particular when reported from jstat.

Reviewed-by: jmasa, brutisso, johnc
2011-09-23 16:07:49 -04:00
John Cuthbertson
1b62d10b4b 6484982: G1: process references during evacuation pauses
G1 now uses two reference processors - one is used by concurrent marking and the other is used by STW GCs (both full and incremental evacuation pauses). In an evacuation pause, the reference processor is embedded into the closures used to scan objects. Doing so causes causes reference objects to be 'discovered' by the reference processor. At the end of the evacuation pause, these discovered reference objects are processed - preserving (and copying) referent objects (and their reachable graphs) as appropriate.

Reviewed-by: ysr, jwilhelm, brutisso, stefank, tonyp
2011-09-22 10:57:37 -07:00
Antonios Printezis
70bb8e788e 7092238: G1: Uninitialized field gc_efficiency in G1PrintRegionLivenessInfo output
Reviewed-by: jcoomes, johnc
2011-09-22 07:18:51 -04:00
John Cuthbertson
08bdb35a29 7092245: G1: Wrong format specifier in G1PrintRegionLivenessInfo header output
Cast HeapRegion::GrainBytes to size_t in output statement.

Reviewed-by: ysr, brutisso, pbk, tonyp
2011-09-21 15:24:07 -07:00
Antonios Printezis
0f7ff53cce 7091032: G1: assert failure when NewRatio is used
The desired min / max heap sizes are miscalculated at initialization when NewRatio is used. The changeset also includes an additional small change to turn a print statement into a warning.

Reviewed-by: johnc, jmasa, ysr, brutisso
2011-09-21 13:36:37 -04:00
John Cuthbertson
2f83b52706 7068215: G1: Print reference processing time during remark
Displays the elapsed time taken to perform reference processing during remark as part of the PrintGCDetails output.

Reviewed-by: ysr
2011-09-21 10:04:45 -07:00
Antonios Printezis
c5b2025c02 7045232: G1: pool names are inconsistent with other collectors (don't have 'Space')
Make sure the eden and survivor pools have "Space" in their name.

Reviewed-by: jmasa, ysr
2011-09-21 01:27:20 -04:00
John Cuthbertson
3ae9021b59 7092412: G1: Some roots not marked during an initial mark that gets an evacuation failure
As a result of the changes for 7080389, an evacuation failure during an initial mark pause may result in some root objects not being marked. Pass whether the caller is a root scanning closure into the evacuation failure handling code so that the thread that successfully forwards an object to itself also marks the object.

Reviewed-by: ysr, brutisso, tonyp
2011-09-20 15:39:17 -07:00
Antonios Printezis
95832db2e5 7059019: G1: add G1 support to the SA
Extend the SA to recognize the G1CollectedHeap and implement any code that's needed by our serviceability tools (jmap, jinfo, jstack, etc.) that depend on the SA.

Reviewed-by: never, poonam, johnc
2011-09-20 09:59:59 -04:00
Tom Rodriguez
e3afdf10ad 7088955: add C2 IR support to the SA
Reviewed-by: kvn
2011-09-11 14:48:24 -07:00
Tom Rodriguez
e39ba1a5fe 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
2011-09-10 17:29:02 -07:00
Tom Rodriguez
1ebca30d26 7088020: SEGV in JNIHandleBlock::release_block
Reviewed-by: kvn, twisti
2011-09-10 00:11:04 -07:00
John Coomes
d6fd9c2339 Added tag hs22-b05 for changeset 2787676b53cf 2011-09-09 16:33:13 -07:00
Alejandro Murillo
8ad902f1ed 7088991: Bump ths hs22 build number to 05
Reviewed-by: johnc
2011-09-09 16:24:12 -07:00
John Coomes
8bc1babb6d Merge 2011-09-09 16:17:16 -07:00
Vladimir Kozlov
92b2b44b18 7035946: Up to 15% regression on JDK 7 b136 vs b135 on specjvm2008.crypto.rsa on x64
Revert changes which caused regression.

Reviewed-by: never
2011-09-09 13:47:11 -07:00
Igor Veresov
67ba51cae8 Merge 2011-09-09 12:44:37 -07:00
Stefan Karlsson
bfa7e324d9 Merge 2011-09-09 14:44:43 +02:00
Antonios Printezis
1a9d9b84f8 7087717: G1: make the G1PrintRegionLivenessInfo parameter diagnostic
Reviewed-by: brutisso, ysr
2011-09-09 05:20:58 -04:00
Bengt Rutisson
0be11c915c 6929868: G1: introduce min / max young gen size bounds
Make G1 handle young gen size command line flags more consistently

Reviewed-by: tonyp, jwilhelm
2011-09-08 16:29:41 +02:00
Robert Ottenhag
b62fb1de97 Merge 2011-09-08 06:36:31 -07:00
Antonios Printezis
d96de580b6 7084509: G1: fix inconsistencies and mistakes in the young list target length calculations
Fixed inconsistencies and mistakes in the young list target length calculations so that a) the calculated target length is optimal (before, it was not), b) other parameters like max survivor size and max gc locker eden expansion are always consistent with the calculated target length (before, they were not always), and c) the resulting target length was always bound by desired min and max values (before, it was not).

Reviewed-by: brutisso, johnc
2011-09-08 05:16:49 -04:00
Roland Westrelin
499732d316 7087453: PhaseChaitin::yank_if_dead() should handle MachTemp inputs
PhaseChaitin::yank_if_dead() should be able to handle MachTemp inputs as a special case and yank them.

Reviewed-by: never, kvn
2011-09-08 09:35:41 +02:00
Vladimir Kozlov
42c3c5cb7b 7087947: Add regression test for 7068051
Add regression test.

Reviewed-by: never
2011-09-08 12:44:04 -07:00
Christian Thalinger
439b75eb12 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods
Reviewed-by: jrose, never
2011-09-08 05:11:31 -07:00
Bertrand Delsart
6141a568aa 7087445: Improve platform independence of JSR292 shared code
Changes necessary for some JSR292 ports

Reviewed-by: jrose, dholmes
2011-09-08 10:12:25 +02:00
Tom Rodriguez
50bc4343b3 7082631: JSR 292: need profiling support in GWTs
Add CountingMethodHandle

Reviewed-by: twisti, jrose
2011-09-07 21:05:24 -07:00
Igor Veresov
1940a13d31 7086226: UseNUMA fails on old versions of windows
Return correct answers from os::numa_*() for UMA machines or if NUMA API is not supported

Reviewed-by: johnc
2011-09-07 18:58:33 -07:00
Weijun Wang
83b6b7ace1 7087428: move client tests out of jdk_misc
Reviewed-by: ohair, alanb
2011-09-08 09:06:09 +08:00
Y. Srinivas Ramakrishna
ed72e31727 4965777: GC changes to support use of discovered field for pending references
If and when the reference handler thread is able to use the discovered field to link reference objects in its pending list, so will GC. In that case, GC will scan through this field once a reference object has been placed on the pending list, but not scan that field before that stage, as the field is used by the concurrent GC thread to link discovered objects. When ReferenceHandleR thread does not use the discovered field for the purpose of linking the elements in the pending list, as would be the case in older JDKs, the JVM will fall back to the old behaviour of using the next field for that purpose.

Reviewed-by: jcoomes, mchung, stefank
2011-09-07 13:55:42 -07:00
Y. Srinivas Ramakrishna
ec13301b32 Merge 2011-09-07 15:00:13 -07:00
Vladimir Kozlov
61068411fa 7054211: No loop unrolling done in jdk7b144 for a test update() while loop
Restore unrolling code for CaffeineMark.

Reviewed-by: never
2011-09-07 12:58:42 -07:00
Igor Veresov
315ec64dce Merge 2011-09-07 11:52:00 -07:00
Antonios Printezis
24eb07061e 7050392: G1: Introduce flag to generate a log of the G1 ergonomic decisions
It introduces ergonomic decision logging in G1 for the following heuristics: heap sizing, collection set construction, concurrent cycle initiation, and partially-young GC start/end. The code has a bit of refactoring in a few places to make the decision logging possible. It also replaces alternative ad-hoc logging that we have under different parameters and switches (G1_DEBUG, G1PolicyVerbose).

Reviewed-by: johnc, ysr
2011-09-07 12:21:23 -04:00
Roland Westrelin
90844ca5dc 7085012: ARM: com/sun/jdi/PopSynchronousTest.java still fails
InterpreterRuntime::popframe_move_outgoing_args() is required for the ARM interpreter.

Reviewed-by: kvn, twisti
2011-09-07 14:15:07 +02:00
Roland Westrelin
48ecf5dfe4 7086394: c2/arm: enable UseFPUForSpilling
ARM has instructions to move data directly between the fpu and integer registers.

Reviewed-by: kvn, never
2011-09-07 09:35:52 +02:00
Igor Veresov
a9cd50a1c8 7087583: Hotspot fails to allocate heap with mmap(MAP_HUGETLB)
Try using small pages when transparent huge pages allocation fails

Reviewed-by: ysr
2011-09-06 21:03:51 -07:00
Tom Rodriguez
edb7b9514a 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
Reviewed-by: kvn
2011-09-05 17:09:05 -07:00
Vladimir Kozlov
dece7fbfec 7086560: 7085404 changes broke VM with -XX:-EnableInvokeDynamic
Add check that ciEnv::_CallSite_klass is initialized.

Reviewed-by: jrose
2011-09-03 14:03:54 -07:00
Tom Rodriguez
b13890a199 Merge 2011-09-03 09:56:57 -07:00
Tom Rodriguez
d4d5856fd4 7016881: JSR 292: JDI: sun.jvm.hotspot.utilities.AssertionFailure: index out of bounds
Reviewed-by: kvn, twisti
2011-09-02 22:00:49 -07:00
John Coomes
4a09997f51 Merge 2011-09-02 21:33:57 -07:00
Tom Rodriguez
32fd1b087d 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
2011-09-02 20:58:21 -07:00
John Coomes
c8c58542b3 Added tag hs22-b04 for changeset 741bcb34b337 2011-09-02 15:52:03 -07:00
Vladimir Kozlov
f7d7a6071a 7039731: arraycopy could use prefetch on SPARC
Use BIS and prefetch in arraycopy stubs for Sparc (BIS for T4 only).

Reviewed-by: never, iveresov
2011-09-02 12:13:33 -07:00
Christian Thalinger
1038fed51d 7071709: JSR 292: switchpoint invalidation should be pushed not pulled
Reviewed-by: never
2011-09-02 04:28:59 -07:00
Alejandro Murillo
096ba80aea 7086589: bump the hs22 build number to 04
Reviewed-by: johnc
2011-09-02 03:49:30 -07:00
John Coomes
d42d7de7ff Added tag hs22-b03 for changeset 52cac2467a60 2011-09-02 15:47:43 -07:00
John Coomes
87501184d9 Added tag hs22-b02 for changeset 7adf55aec150 2011-09-02 15:47:43 -07:00
John Coomes
b57839cc49 Added tag hs22-b01 for changeset 2143c41c2a90 2011-09-02 15:47:42 -07:00
Christian Thalinger
db44acbeb4 7085404: JSR 292: VolatileCallSites should have push notification too
Reviewed-by: never, kvn
2011-09-02 00:36:18 -07:00
Stefan Karlsson
5b6ba4e611 7085906: Replace the permgen allocated sentinelRef with a self-looped end
Remove the sentinelRef and let the last Reference in a discovered chain point back to itself.

Reviewed-by: ysr, jmasa
2011-09-01 16:18:17 +02:00
Christian Thalinger
fcc2a86582 7079673: JSR 292: C1 should inline bytecoded method handle adapters
Reviewed-by: never
2011-09-01 01:31:25 -07:00
Y. Srinivas Ramakrishna
74b5a420d5 Merge 2011-08-31 23:55:58 -07:00
Tom Rodriguez
fa7c124af1 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
2011-08-31 16:46:11 -07:00
John Cuthbertson
6c8c4fb321 7066841: remove MacroAssembler::br_on_reg_cond() on sparc
Remove the macro assembler routine br_on_reg_cond() and replace the remaining calls to that routine with an equivalent.

Reviewed-by: kvn, iveresov
2011-08-31 10:16:02 -07:00
Vladimir Kozlov
9c87ea9062 7085137: -XX:+VerifyOops is broken
Replace set() with patchable_set() to generate 8 instructions always.

Reviewed-by: iveresov, never, roland
2011-08-31 09:48:21 -07:00
Christian Thalinger
05b60b3662 7078382: JSR 292: don't count method handle adapters against inlining budgets
Reviewed-by: kvn, never
2011-08-31 01:40:45 -07:00
Igor Veresov
5903a384b4 7085279: C1 overflows code buffer with VerifyOops and CompressedOops
Increase the limit of code emitted per LIR instruction, increase the max size of the nmethod generated by C1

Reviewed-by: never, kvn, johnc
2011-08-30 19:01:58 -07:00
Stuart Marks
97583c8f0d 7083012: fix for RMI Registry
Reviewed-by: jdn, valeriep
2011-08-30 17:29:36 -07:00
Stuart Marks
fcee5390db 7077466: fix for RMI DGC
Reviewed-by: valeriep
2011-08-30 14:30:03 -07:00
Tom Rodriguez
cebdce4479 7082263: Reflection::resolve_field/field_get/field_set are broken
Reviewed-by: kvn, dholmes, stefank, coleenp
2011-08-30 00:54:09 -07:00
Igor Veresov
d8fd276e35 7082645: Hotspot doesn't compile on old linuxes after 7060836
Move syscall ids definitions into os_linux.cpp

Reviewed-by: johnc
2011-08-29 17:42:39 -07:00
John Cuthbertson
1bec3a1bd3 7080389: G1: refactor marking code in evacuation pause copy closures
Refactor code marking code in the evacuation pause copy closures so that an evacuated object is only marked by the thread that successfully copies it.

Reviewed-by: stefank, brutisso, tonyp
2011-08-29 10:13:06 -07:00
Christian Thalinger
e3342531b4 7083184: JSR 292: don't store context class argument with call site dependencies
Reviewed-by: jrose, never
2011-08-29 05:07:35 -07:00
Igor Veresov
ec3f90d1b4 6591247: C2 cleans up the merge point too early during SplitIf
Remove region self reference last

Reviewed-by: kvn, never
2011-08-27 00:23:47 -07:00
Vladimir Kozlov
6446205688 7059037: Use BIS for zeroing on T4
Use BIS for zeroing new allocated big (2Kb and more) objects and arrays.

Reviewed-by: never, twisti, ysr
2011-08-26 08:52:22 -07:00
Tom Rodriguez
19f7fb98b8 7082949: JSR 292: missing ResourceMark in methodOopDesc::make_invoke_method
Reviewed-by: kvn, twisti
2011-08-25 20:29:30 -07:00
Tom Deneau
06d05b7c47 7082969: NUMA interleaving
Support interleaving on NUMA systems for collectors that don't have NUMA-awareness.

Reviewed-by: iveresov, ysr
2011-08-25 02:57:46 -07:00
Jon Masamitsu
15070123fa 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
Select number of GC threads dynamically based on heap usage and number of Java threads

Reviewed-by: johnc, ysr, jcoomes
2011-08-09 10:16:01 -07:00
Antonios Printezis
098ed89645 Merge 2011-11-22 04:47:10 -05:00
John Cuthbertson
a03f061ca2 7111795: G1: Various cleanups identified during walk through of changes for 6484965
Various cleanups and formatting changes identified during a code walk through of the changes for 6484965 ("G1: piggy-back liveness accounting phase on marking").

Reviewed-by: brutisso, tonyp
2011-11-18 12:27:10 -08:00
John Cuthbertson
6d0e0064bf 7110173: GCNotifier::pushNotification publishes stale data
GCNotifier::pushNotification() references GCMemoryManager::_last_gc_stat but is called from GCMemoryManager::gc_end() before GCMemoryManager::_last_gc_stat is set up using the values in GCMemoryManager::_current_gc_stat. As a result the GC notification code accesses unitialized or stale data. Move the notification call after GCMemoryManager::_las_gc_stat is set, but inside the same if-block.

Reviewed-by: poonam, dholmes, fparain, mchung
2011-11-21 09:24:56 -08:00
Bengt Rutisson
40c94189f7 7110718: -XX:MarkSweepAlwaysCompactCount=0 crashes the JVM
Interpret MarkSweepAlwaysCompactCount < 1 as never do full compaction

Reviewed-by: ysr, tonyp, jmasa, johnc
2011-11-21 07:47:34 +01:00
Antonios Printezis
3cd36270b7 7097002: G1: remove a lot of unused / redundant code from the G1CollectorPolicy class
Major cleanup of the G1CollectorPolicy class. It removes a lot of unused fields and methods and also consolidates replicated information (mainly various ways of counting the number of CSet regions) into one copy.

Reviewed-by: johnc, brutisso
2011-11-18 12:52:27 -05:00
Mala Bankal
28a1130e8e 7055902: Oracle Java IIOP Deserialization Type Confusion Remote Code Execution Vulnerability
Reviewed-by: coffeys
2011-08-09 05:39:54 -07:00
Abhijit Saha
5fb55770ff 7046794: Configurable behavior for server-side stacktraces
Reviewed-by: ramap
2011-07-25 11:38:25 -07:00
Denis Fokin
096686792a 7019773: AWTKeyStroke.ctor is a mutable static
Reviewed-by: art
2011-07-22 21:14:56 +04:00
Abhijit Saha
fa11842c27 7023640: calculation for malloc size in TransformHelper.c could overflow an integer
Reviewed-by: flar
2011-07-20 14:45:44 -07:00
Abhijit Saha
7faffd3edc 7032417: Fix for 6981922 does not address multiple VM case
Reviewed-by: michaelm
2011-07-20 09:01:04 -07:00
Abhijit Saha
b620085c34 Merge 2011-07-19 11:05:57 -07:00
Abhijit Saha
8fa5c69658 Merge 2011-07-19 11:04:28 -07:00
Abhijit Saha
0f59afe906 Merge 2011-07-19 11:03:54 -07:00
Abhijit Saha
c9fdb110ab Merge 2011-07-19 11:03:46 -07:00
Abhijit Saha
cbc4f20d71 Merge 2011-07-19 11:03:26 -07:00
Abhijit Saha
41613facec Merge 2011-07-19 11:03:08 -07:00
Kumar Srinivasan
0a5bf67eff 7057857: SIGSEGV [libunpack.so] store_Utf8_char(signed char*, unsigned short) in java.util.jar.pack200
Reviewed-by: jrose, asaha, hawtin
2011-07-15 13:57:57 -07:00
Abhijit Saha
5e1834681a Merge 2011-06-28 08:39:58 -07:00
Abhijit Saha
74da3063dc Merge 2011-06-28 08:39:36 -07:00
Abhijit Saha
3e8100800a Merge 2011-06-28 08:39:06 -07:00
Abhijit Saha
66a728edea Merge 2011-06-28 08:38:58 -07:00
Abhijit Saha
87caad995c Merge 2011-06-28 08:38:30 -07:00
Abhijit Saha
c50d00f9c1 Merge 2011-06-28 08:38:14 -07:00
Abhijit Saha
63f2c9dfc8 Merge 2011-06-27 12:35:31 -07:00
Alan Bateman
c3c22d1d74 7059259: (process) ProcessBuilder.start permission check should be improved when redirecting output to append
Reviewed-by: hawtin
2011-06-27 20:30:40 +01:00
Abhijit Saha
a4aedf8336 Merge 2011-06-27 12:30:30 -07:00
Abhijit Saha
6b2f8098cf Merge 2011-06-27 12:29:18 -07:00
Abhijit Saha
7f16ba284e Merge 2011-06-27 11:46:58 -07:00
Abhijit Saha
d4979eff5b Merge 2011-06-27 11:46:49 -07:00
Abhijit Saha
294b5f66f6 Merge 2011-06-27 11:45:52 -07:00
Abhijit Saha
69ea97abed Merge 2011-06-27 11:45:14 -07:00
Anthony Petrov
a2a420e7de 7022113: Security icon can be moved behind the window using the com.sun.SecurityWarning.setPosition() method
Reviewed-by: art, dcherepanov
2011-06-21 20:20:58 +04:00
Alan Bateman
80da503482 7000600: InputStream.skip() makes sensitive data accessible to malicious code
Reviewed-by: hawtin, chegar
2011-06-15 14:49:25 +01:00
10562 changed files with 1578211 additions and 164420 deletions

View File

@@ -3,3 +3,4 @@
/nbproject/private/
^webrev
^.hgtip
.DS_Store

40
.hgtags
View File

@@ -128,3 +128,43 @@ de9223c94f9c710b3eebb599cd3586f36c8b94a9 jdk8-b01
31f5c34d78081572ad9a2401c0bb0c6b9711dd65 jdk8-b04
c4f9ea1ecb55ff44e0dd21d2888ead308c86a3aa jdk8-b05
429da7734bf491bccde2a752fae97e9f225896dc jdk8-b06
bc5710332b294676661103bb20d47d2ea3ba8def jdk8-b07
24ee504f80412770c6874836cd9e55b536427b1d jdk8-b08
fbf3cabc9e3bb1fcf710941d777cb0400505fbe6 jdk8-b09
f651ce87127980c58e3599daba964eba2f3b4026 jdk8-b10
cc1f5ce8e504d350e0b0c28c5f84333f8d540132 jdk8-b11
86db042b3385c338e17f7664447fdc7d406dd19e jdk8-b12
4cc0ef72c812943743ef4765f1100e2fbe2b1a08 jdk8-b13
9ffaa48dbfb0f5936c2b789867d0785faec7071d jdk8-b14
b5060eae3b32fd9f884a09774338cd8186d7fafa jdk8-b15
736a63b854f321c7824b7e47890135f80aee05e3 jdk8-b16
f0eccb2946986fb9626efde7d8ed9c8192623f5c jdk8-b17
885050364691ac1ac978305c63f3368a197fb04d jdk8-b18
0ff7113a0882ec82d642cb9f0297b4e497807ced jdk8-b19
6561530ea757c3f3a6fb171c9cc7b3885cdeca85 jdk8-b20
b3a426170188f52981cf4573a2f14d487fddab0d jdk8-b21
e8f03541af27e38aafb619b96863e17f65ffe53b jdk8-b22
498124337041ad53cbaa7eb110f3d7acd6d4eac4 jdk8-b23
7d3720d8c595d1519c31e9ff7366203fc2c61350 jdk8-b24
0071a6d64113a35ba345bb1580c256de5ce17d3e jdk8-b25
6c805d8ed4e5449ea5e4d158c7bdbd7b0b70efd1 jdk8-b26
c51754cddc037b9609e202b9ed38363d8683e7a8 jdk8-b27
16ba58282d117247f480aae7a79b88141ade52a3 jdk8-b28
e070119aa56ee4dc5506c19d2c4d2eecab8ad429 jdk8-b29
23da7804aca0c9c4e6e86532a1453125a76d95ee jdk8-b30
bac81e9f7d57b75fba5ab31b571f3fe0dc08af69 jdk8-b31
2c5208ccb863db936eab523f49450b3fcd230348 jdk8-b32
a6e6d42203e6d35f9e8b31eac25b0021b4dd58ad jdk8-b33
0ae89825c75c9492e44efb3aca3d9ee3d8a209df jdk8-b34
f151d5833912a82cd4f203944da0305c3be83ecc jdk8-b35
98ce9816ae089c959ba1e70fba98423a31c4e9fa jdk8-b36
b3a91113026c99b0da010d41055719ab0d8938f0 jdk8-b37
4cc5610a6dd6227da766ebf9742eb11ff5ded6c0 jdk8-b38
35a5397278779a2f8f3013f81586dc8f30cb149d jdk8-b39
6e4e654931b976304bf6e7b4d0d6db8f75bac5d9 jdk8-b40
c029c972396cea042a0dc67c0f7ccf2fe68007d4 jdk8-b41
5c5a64ec0839df5affe9394b99ff338c363acbca jdk8-b42
69d8a827cdf9236be9694a46d75c710d71dac7d7 jdk8-b43
7e981cb0ad6a194f1fa859f9ad47586db461f269 jdk8-b44
9b19b2302c28f4da6d4078f66234abecfed5688a jdk8-b45
600c9a1feb01633cbcf2341a43d1d21e6497ecd0 jdk8-b46

View File

@@ -128,3 +128,43 @@ f42e3d9394b40a423d345b8da22687b5462e5f25 jdk8-b01
0b66a233bfb9ba2ebda1e5cdfdb0373d6c1e3c69 jdk8-b04
b910aac18c772b823b1f7da03e2c6528725cc6de jdk8-b05
28cf2aec4dd7c3c75efc1c15078522467c781a6d jdk8-b06
0db7ae9f2b1017124c779bccd016c976928859a0 jdk8-b07
fb1bc13260d76447e269e843859eb593fe2a8ab2 jdk8-b08
8adb70647b5af5273dfe6a540f07be667cd50216 jdk8-b09
a6c4c248e8fa350c35014fa94bab5ac1a1ac3299 jdk8-b10
1defbc57940a56f0aa41e9dee87b71e8c8b71103 jdk8-b11
8e2104d565baee473895d5eba20e39f85ab4bf9f jdk8-b12
26fb81a1e9ceb9baffba216acd9ded62e9e9d5ab jdk8-b13
23aa7f2c80a2fa354c80decf03e7c2018177ef4e jdk8-b14
a4f28069d44a379cda99dd1d921d19f819726d22 jdk8-b15
4e06ae613e99549835896720c7a68c29ad5543f5 jdk8-b17
4e06ae613e99549835896720c7a68c29ad5543f5 jdk8-b16
7010bd24cdd07bc7daef80702f39124854dec36c jdk8-b18
237bc29afbfc6f56a4fe4a6008e2befb59c44bac jdk8-b19
5a5eaf6374bcbe23530899579fed17a05b7705f3 jdk8-b20
cc771d92284f71765eca14d6d08703c4af254c04 jdk8-b21
7ad075c809952e355d25030605da6af30456ed74 jdk8-b22
60d6f64a86b1e511169d264727f6d51415978df0 jdk8-b23
1a5f1d6b98d6827cdb529a4abe6e52a886d944f4 jdk8-b24
221a378e06a326f45e5d89e2123cd6323e0181d1 jdk8-b25
2accafff224ae39caf5f532c305251ba624bf2c0 jdk8-b26
1533dfab9903e4edcfead3b0192643f38c418b9b jdk8-b27
6e2541d60f4e342b5b67140271d7611643929dc3 jdk8-b28
41460de042580bc4a4ce3f863779c66f39cb8578 jdk8-b29
6cea54809b51db92979c22fd8aa8fcb1cb13d12e jdk8-b30
0b66f43b89a6c0ac1c15d7ec51992c541cdc9089 jdk8-b31
88176171e940f02916a312c265a34c32552a8376 jdk8-b32
42f275168fa5d9e7c70b246614dca8cf81f52c2e jdk8-b33
894a478d2c4819a1a0f230bd7bdd09f3b2de9a8c jdk8-b34
5285317ebb4e8e4f6d8d52b5616fa801e2ea844d jdk8-b35
6a6ba0a07f33d37a2f97b1107e60c6a9a69ec84d jdk8-b36
b2972095a4b1e2a97409b7c3df61f3b263a5ce14 jdk8-b37
d939bd0ab13c16647ffa38cc4b64fb31b7d44e10 jdk8-b38
8927dd68aee3fa54a1a698e2980e1b2f6c7c12c1 jdk8-b39
a2b2d435f1d275fa8010774c653197c64e326d3a jdk8-b40
1a8c7c530f8a9b7f5bdb9b0693b2f5435ca5205e jdk8-b41
1ce5dc16416611c58b7480ca67a2eee5153498a6 jdk8-b42
661c9aae602bbd9766d12590800c90f1edd1d8dd jdk8-b43
e4f81a817447c3a4f6868f083c81c2fb1b15d44c jdk8-b44
633f2378c904c92bb922a6e19e9f62fe8eac14af jdk8-b45
27fa766a2298ba8347dc198f0cf85ba6618e17db jdk8-b46

View File

@@ -65,6 +65,7 @@
<li><a href="#linux">Basic Linux System Setup</a> </li>
<li><a href="#solaris">Basic Solaris System Setup</a> </li>
<li><a href="#windows">Basic Windows System Setup</a> </li>
<li><a href="#macosx">Basic Mac OS X System Setup</a></li>
<li><a href="#dependencies">Build Dependencies</a>
<ul>
<li><a href="#bootjdk">Bootstrap JDK</a> </li>
@@ -107,6 +108,7 @@
<li><a href="#testing">Testing the Build</a> </li>
<li><a href="#variables">Environment/Make Variables</a></li>
<li><a href="#troubleshooting">Troubleshooting</a></li>
<li><a href="#newbuild">The New Build</a></li>
</ul>
</blockquote>
@@ -230,6 +232,12 @@
<td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
<td>JDK 6u18</td>
</tr>
<tr>
<td>Mac OS X X64 (64-bit)</td>
<td>Mac OS X 10.7.3 "Lion"</td>
<td>XCode 4.1 or later</td>
<td>Java for OS X Lion Update 1</td>
</tr>
</tbody>
</table>
<p>
@@ -951,6 +959,36 @@
</blockquote>
<!-- ------------------------------------------------------ -->
<hr>
<h3><a name="macosx">Basic Mac OS X System Setup</a></h3>
<blockquote>
<strong>X64 only:</strong>
The minimum recommended hardware for building
the Mac OS X version is any 64-bit capable Intel processor, at least 2
GB of RAM, and approximately 3 GB of free disk space. You should also
have OS X Lion 10.7.3 installed.
</blockquote>
<!-- ------------------------------------------------------ -->
<h4><a name="macosx_checklist">Basic Mac OS X Check List</a></h4>
<blockquote>
<ol>
<li>
Install <a href="https://developer.apple.com/xcode/">XCode 4.1</a> or newer.
If you install XCode 4.3 or newer, make sure you also install
"Command line tools" found under the preferences pane "Downloads".
</li>
<li>
Install <a href="http://support.apple.com/kb/dl1421" target="_blank">"Java for OS X Lion Update 1"</a>,
set <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a> to <code>`/usr/libexec/java_home -v 1.6`</code></tt>
</li>
<li>
<a href="#importjdk">Optional Import JDK</a>, set
<tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>.
</li>
</ol>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr>
<h3><a name="dependencies">Build Dependencies</a></h3>
<blockquote>
Depending on the platform, the OpenJDK build process has some basic
@@ -1194,6 +1232,10 @@
set INCLUDE=%VSINSTALLDIR%\vc\include;%WindowsSdkDir%\include
set LIB=%VSINSTALLDIR%\vc\lib\amd64;%WindowsSdkDir%\lib\x64
</pre>
<strong><a name="llvmgcc">OS X Lion 10.7.3: LLVM GCC</a></strong>
<blockquote>
LLVM GCC is bundled with XCode. The version should be at least 4.2.1.
</blockquote>
</blockquote>
<!-- ------------------------------------------------------ -->
<h4><a name="zip">Zip and Unzip</a></h4>
@@ -2079,6 +2121,16 @@
</li>
</ul>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr>
<h2><a name="newbuild">The New Build</a></h2>
<blockquote>
The <a href="http://openjdk.java.net/projects/build-infra/">
Build Infrastructure project</a> is working on a new
build. For information on how to try it out, please see the
<a href="http://openjdk.java.net/projects/build-infra/guide.html">
Build Infra User Guide</a>
</blockquote>
<hr>
</body>
</html>

View File

@@ -0,0 +1,26 @@
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Generated Makefile @DATE_WHEN_CONFIGURED@
SPEC:=@OUTPUT_ROOT@/spec.gmk
include @SRC_ROOT@/common/makefiles/Makefile

View File

@@ -0,0 +1,40 @@
#!/bin/sh
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
script_dir=`dirname $0`
closed_script_dir="$script_dir/../../jdk/make/closed/autoconf"
# Create a timestamp as seconds since epoch
TIMESTAMP=`date +%s`
cat $script_dir/configure.ac | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | autoconf -W all -I$script_dir - > $script_dir/generated-configure.sh
rm -rf autom4te.cache
if test -e $closed_script_dir/closed-hook.m4; then
# We have closed sources available; also generate configure script
# with closed hooks compiled in.
cat $script_dir/configure.ac | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | \
sed -e "s|AC_DEFUN_ONCE(\[CLOSED_HOOK\])|m4_include([$closed_script_dir/closed-hook.m4])|" | autoconf -W all -I$script_dir - > $closed_script_dir/generated-configure.sh
rm -rf autom4te.cache
fi

485
common/autoconf/basics.m4 Normal file
View File

@@ -0,0 +1,485 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN([ADD_JVM_ARG_IF_OK],
[
# Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
# If so, then append $1 to $2
FOUND_WARN=`$3 $1 -version 2>&1 | grep -i warn`
FOUND_VERSION=`$3 $1 -version 2>&1 | grep " version \""`
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
$2="[$]$2 $1"
fi
])
AC_DEFUN([WHICHCMD],
[
# Translate "gcc -E" into "`which gcc` -E" ie
# extract the full path to the binary and at the
# same time maintain any arguments passed to it.
# The command MUST exist in the path, or else!
tmp="[$]$1"
car="${tmp%% *}"
tmp="[$]$1 EOL"
cdr="${tmp#* }"
# On windows we want paths without spaces.
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
WHICHCMD_SPACESAFE(car)
else
# "which" is not portable, but is used here
# because we know that the command exists!
car=`which $car`
fi
if test "x$cdr" != xEOL; then
$1="$car ${cdr% *}"
else
$1="$car"
fi
])
AC_DEFUN([SPACESAFE],
[
# Fail with message $2 if var $1 contains a path with no spaces in it.
# Unless on Windows, where we can rewrite the path.
HAS_SPACE=`echo "[$]$1" | grep " "`
if test "x$HAS_SPACE" != x; then
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
$1=`$CYGPATH -s -m -a "[$]$1"`
$1=`$CYGPATH -u "[$]$1"`
else
AC_MSG_ERROR([You cannot have spaces in $2! "[$]$1"])
fi
fi
])
AC_DEFUN([WHICHCMD_SPACESAFE],
[
# Translate long cygdrive or C:\sdfsf path
# into a short mixed mode path that has no
# spaces in it.
tmp="[$]$1"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
tmp=`$CYGPATH -u "[$]$1"`
tmp=`which "$tmp"`
# If file exists with .exe appended, that's the real filename
# and cygpath needs that to convert to short style path.
if test -f "${tmp}.exe"; then
tmp="${tmp}.exe"
elif test -f "${tmp}.cmd"; then
tmp="${tmp}.cmd"
fi
# Convert to C:/ mixed style path without spaces.
tmp=`$CYGPATH -s -m "$tmp"`
fi
$1="$tmp"
])
AC_DEFUN([REMOVE_SYMBOLIC_LINKS],
[
if test "x$OPENJDK_BUILD_OS" != xwindows; then
# Follow a chain of symbolic links. Use readlink
# where it exists, else fall back to horribly
# complicated shell code.
AC_PATH_PROG(READLINK, readlink)
if test "x$READLINK_TESTED" != yes; then
# On MacOSX there is a readlink tool with a different
# purpose than the GNU readlink tool. Check the found readlink.
ISGNU=`$READLINK --help 2>&1 | grep GNU`
if test "x$ISGNU" = x; then
# A readlink that we do not know how to use.
# Are there other non-GNU readlinks out there?
READLINK_TESTED=yes
READLINK=
fi
fi
if test "x$READLINK" != x; then
$1=`$READLINK -f [$]$1`
else
STARTDIR=$PWD
COUNTER=0
DIR=`dirname [$]$1`
FIL=`basename [$]$1`
while test $COUNTER -lt 20; do
ISLINK=`ls -l $DIR/$FIL | grep '\->' | sed -e 's/.*-> \(.*\)/\1/'`
if test "x$ISLINK" == x; then
# This is not a symbolic link! We are done!
break
fi
# The link might be relative! We have to use cd to travel safely.
cd $DIR
cd `dirname $ISLINK`
DIR=`pwd`
FIL=`basename $ISLINK`
let COUNTER=COUNTER+1
done
cd $STARTDIR
$1=$DIR/$FIL
fi
fi
])
AC_DEFUN_ONCE([BASIC_INIT],
[
# Save the original command line. This is passed to us by the wrapper configure script.
AC_SUBST(CONFIGURE_COMMAND_LINE)
DATE_WHEN_CONFIGURED=`LANG=C date`
AC_SUBST(DATE_WHEN_CONFIGURED)
# Locate the directory of this script.
SCRIPT="[$]0"
REMOVE_SYMBOLIC_LINKS(SCRIPT)
AUTOCONF_DIR=`dirname [$]0`
])
AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
[
# Where is the source? It is located two levels above the configure script.
CURDIR="$PWD"
cd "$AUTOCONF_DIR/../.."
SRC_ROOT="`pwd`"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
SRC_ROOT_LENGTH=`pwd|wc -m`
if test $SRC_ROOT_LENGTH -gt 100; then
AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
fi
fi
AC_SUBST(SRC_ROOT)
cd "$CURDIR"
SPACESAFE(SRC_ROOT,[the path to the source root])
SPACESAFE(CURDIR,[the path to the current directory])
])
AC_DEFUN_ONCE([BASIC_SETUP_SEARCHPATH],
[
if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
# Add extra search paths on solaris for utilities like ar and as etc...
PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin"
fi
])
AC_DEFUN_ONCE([BASIC_SETUP_PATH_SEP],
[
# For cygwin we need cygpath first, since it is used everywhere.
AC_PATH_PROG(CYGPATH, cygpath)
PATH_SEP=":"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$CYGPATH" = x; then
AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
fi
PATH_SEP=";"
fi
AC_SUBST(PATH_SEP)
])
AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
[
AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
[use this as the name of the configuration, overriding the generated default])],
[ CONF_NAME=${with_conf_name} ])
# Test from where we are running configure, in or outside of src root.
if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" || test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" || test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then
# We are running configure from the src root.
# Create a default ./build/target-variant-debuglevel output root.
if test "x${CONF_NAME}" = x; then
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
fi
OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
mkdir -p "$OUTPUT_ROOT"
if test ! -d "$OUTPUT_ROOT"; then
AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT])
fi
else
# We are running configure from outside of the src dir.
# Then use the current directory as output dir!
# If configuration is situated in normal build directory, just use the build
# directory name as configuration name, otherwise use the complete path.
if test "x${CONF_NAME}" = x; then
CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
fi
OUTPUT_ROOT="$CURDIR"
fi
SPACESAFE(OUTPUT_ROOT,[the path to the output root])
AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk)
AC_SUBST(CONF_NAME, $CONF_NAME)
AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT)
# Most of the probed defines are put into config.h
AC_CONFIG_HEADERS([$OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in])
# The spec.gmk file contains all variables for the make system.
AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
# The spec.sh file contains variables for compare{images|-objects}.sh scrips.
AC_CONFIG_FILES([$OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in])
# The generated Makefile knows where the spec.gmk is and where the source is.
# You can run make from the OUTPUT_ROOT, or from the top-level Makefile
# which will look for generated configurations
AC_CONFIG_FILES([$OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in])
# Save the arguments given to us
echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
])
AC_DEFUN_ONCE([BASIC_SETUP_LOGGING],
[
# Setup default logging of stdout and stderr to build.log in the output root.
BUILD_LOG='$(OUTPUT_ROOT)/build.log'
BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
BUILD_LOG_WRAPPER='$(SH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
AC_SUBST(BUILD_LOG)
AC_SUBST(BUILD_LOG_PREVIOUS)
AC_SUBST(BUILD_LOG_WRAPPER)
])
#%%% Simple tools %%%
AC_DEFUN([BASIC_CHECK_FIND_DELETE],
[
# Test if find supports -delete
AC_MSG_CHECKING([if find supports -delete])
FIND_DELETE="-delete"
DELETEDIR=`mktemp -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
if test -f $DELETEDIR/TestIfFindSupportsDelete; then
# No, it does not.
rm $DELETEDIR/TestIfFindSupportsDelete
FIND_DELETE="-exec rm \{\} \+"
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
rmdir $DELETEDIR
])
AC_DEFUN([CHECK_NONEMPTY],
[
# Test that variable $1 is not empty.
if test "" = "[$]$1"; then AC_MSG_ERROR(Could not find translit($1,A-Z,a-z) !); fi
])
AC_DEFUN_ONCE([BASIC_SETUP_TOOLS],
[
# Start with tools that do not need have cross compilation support
# and can be expected to be found in the default PATH. These tools are
# used by configure. Nor are these tools expected to be found in the
# devkit from the builddeps server either, since they are
# needed to download the devkit.
AC_PROG_AWK
CHECK_NONEMPTY(AWK)
AC_PATH_PROG(CAT, cat)
CHECK_NONEMPTY(CAT)
AC_PATH_PROG(CHMOD, chmod)
CHECK_NONEMPTY(CHMOD)
AC_PATH_PROG(CP, cp)
CHECK_NONEMPTY(CP)
AC_PATH_PROG(CPIO, cpio)
CHECK_NONEMPTY(CPIO)
AC_PATH_PROG(CUT, cut)
CHECK_NONEMPTY(CUT)
AC_PATH_PROG(DATE, date)
CHECK_NONEMPTY(DATE)
AC_PATH_PROG(DF, df)
CHECK_NONEMPTY(DF)
AC_PATH_PROG(DIFF, diff)
CHECK_NONEMPTY(DIFF)
# Warning echo is really, really unportable!!!!! Different
# behaviour in bash and dash and in a lot of other shells!
# Use printf for serious work!
AC_PATH_PROG(ECHO, echo)
CHECK_NONEMPTY(ECHO)
AC_PROG_EGREP
CHECK_NONEMPTY(EGREP)
AC_PROG_FGREP
CHECK_NONEMPTY(FGREP)
AC_PATH_PROG(FIND, find)
CHECK_NONEMPTY(FIND)
BASIC_CHECK_FIND_DELETE
AC_SUBST(FIND_DELETE)
AC_PROG_GREP
CHECK_NONEMPTY(GREP)
AC_PATH_PROG(HEAD, head)
CHECK_NONEMPTY(HEAD)
AC_PATH_PROG(LN, ln)
CHECK_NONEMPTY(LN)
AC_PATH_PROG(LS, ls)
CHECK_NONEMPTY(LS)
AC_PATH_PROGS(MAKE, [gmake make])
CHECK_NONEMPTY(MAKE)
MAKE_VERSION=`$MAKE --version | head -n 1 | grep '3.8[[12346789]]'`
if test "x$MAKE_VERSION" = x; then
AC_MSG_ERROR([You must use GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
fi
AC_PATH_PROG(MKDIR, mkdir)
CHECK_NONEMPTY(MKDIR)
AC_PATH_PROG(MV, mv)
CHECK_NONEMPTY(MV)
AC_PATH_PROGS(NAWK, [nawk gawk awk])
CHECK_NONEMPTY(NAWK)
AC_PATH_PROG(PRINTF, printf)
CHECK_NONEMPTY(PRINTF)
AC_PATH_PROG(THEPWDCMD, pwd)
AC_PATH_PROG(RM, rm)
CHECK_NONEMPTY(RM)
RM="$RM -f"
AC_PROG_SED
CHECK_NONEMPTY(SED)
AC_PATH_PROG(SH, sh)
CHECK_NONEMPTY(SH)
AC_PATH_PROG(SORT, sort)
CHECK_NONEMPTY(SORT)
AC_PATH_PROG(TAR, tar)
CHECK_NONEMPTY(TAR)
AC_PATH_PROG(TAIL, tail)
CHECK_NONEMPTY(TAIL)
AC_PATH_PROG(TEE, tee)
CHECK_NONEMPTY(TEE)
AC_PATH_PROG(TR, tr)
CHECK_NONEMPTY(TR)
AC_PATH_PROG(TOUCH, touch)
CHECK_NONEMPTY(TOUCH)
AC_PATH_PROG(WC, wc)
CHECK_NONEMPTY(WC)
AC_PATH_PROG(XARGS, xargs)
CHECK_NONEMPTY(XARGS)
AC_PATH_PROG(ZIP, zip)
CHECK_NONEMPTY(ZIP)
AC_PATH_PROG(UNZIP, unzip)
CHECK_NONEMPTY(UNZIP)
AC_PATH_PROG(LDD, ldd)
if test "x$LDD" = "x"; then
# List shared lib dependencies is used for
# debug output and checking for forbidden dependencies.
# We can build without it.
LDD="true"
fi
AC_PATH_PROG(OTOOL, otool)
if test "x$OTOOL" = "x"; then
OTOOL="true"
fi
AC_PATH_PROG(READELF, readelf)
AC_PATH_PROG(EXPR, expr)
CHECK_NONEMPTY(EXPR)
AC_PATH_PROG(FILE, file)
CHECK_NONEMPTY(FILE)
AC_PATH_PROG(HG, hg)
])
AC_DEFUN_ONCE([BASIC_COMPILE_UNCYGDRIVE],
[
# When using cygwin, we need a wrapper binary that renames
# /cygdrive/c/ arguments into c:/ arguments and peeks into
# @files and rewrites these too! This wrapper binary is
# called uncygdrive.exe.
UNCYGDRIVE=
if test "x$OPENJDK_BUILD_OS" = xwindows; then
AC_MSG_CHECKING([if uncygdrive can be created])
UNCYGDRIVE_SRC=`$CYGPATH -m $SRC_ROOT/common/src/uncygdrive.c`
rm -f $OUTPUT_ROOT/uncygdrive*
UNCYGDRIVE=`$CYGPATH -m $OUTPUT_ROOT/uncygdrive.exe`
cd $OUTPUT_ROOT
$CC $UNCYGDRIVE_SRC /Fe$UNCYGDRIVE > $OUTPUT_ROOT/uncygdrive1.log 2>&1
cd $CURDIR
if test ! -x $OUTPUT_ROOT/uncygdrive.exe; then
AC_MSG_RESULT([no])
cat $OUTPUT_ROOT/uncygdrive1.log
AC_MSG_ERROR([Could not create $OUTPUT_ROOT/uncygdrive.exe])
fi
AC_MSG_RESULT([$UNCYGDRIVE])
AC_MSG_CHECKING([if uncygdrive.exe works])
cd $OUTPUT_ROOT
$UNCYGDRIVE $CC $SRC_ROOT/common/src/uncygdrive.c /Fe$OUTPUT_ROOT/uncygdrive2.exe > $OUTPUT_ROOT/uncygdrive2.log 2>&1
cd $CURDIR
if test ! -x $OUTPUT_ROOT/uncygdrive2.exe; then
AC_MSG_RESULT([no])
cat $OUTPUT_ROOT/uncygdrive2.log
AC_MSG_ERROR([Uncygdrive did not work!])
fi
AC_MSG_RESULT([yes])
rm -f $OUTPUT_ROOT/uncygdrive?.??? $OUTPUT_ROOT/uncygdrive.obj
fi
AC_SUBST(UNCYGDRIVE)
])
# Check if build directory is on local disk.
# Argument 1: directory to test
# Argument 2: what to do if it is on local disk
# Argument 3: what to do otherwise (remote disk or failure)
AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
[
# df -l lists only local disks; if the given directory is not found then
# a non-zero exit code is given
if $DF -l $1 > /dev/null 2>&1; then
$2
else
$3
fi
])
AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
[
AC_MSG_CHECKING([if build directory is on local disk])
BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUT_ROOT,
[OUTPUT_DIR_IS_LOCAL="yes"],
[OUTPUT_DIR_IS_LOCAL="no"])
AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
# Check if the user has any old-style ALT_ variables set.
FOUND_ALT_VARIABLES=`env | grep ^ALT_`
# Before generating output files, test if they exist. If they do, this is a reconfigure.
# Since we can't properly handle the dependencies for this, warn the user about the situation
if test -e $OUTPUT_ROOT/spec.gmk; then
IS_RECONFIGURE=yes
else
IS_RECONFIGURE=no
fi
if test -e $SRC_ROOT/build/.hide-configure-performance-hints; then
HIDE_PERFORMANCE_HINTS=yes
else
HIDE_PERFORMANCE_HINTS=no
# Hide it the next time around...
$TOUCH $SRC_ROOT/build/.hide-configure-performance-hints > /dev/null 2>&1
fi
])

295
common/autoconf/boot-jdk.m4 Normal file
View File

@@ -0,0 +1,295 @@
#
# Copyright (c) 2011, 2012, 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.
#
# Fixes paths on windows to be mixed mode short.
AC_DEFUN([BOOTJDK_WIN_FIX_PATH],
[
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
AC_PATH_PROG(CYGPATH, cygpath)
tmp="[$]$1"
# Convert to C:/ mixed style path without spaces.
tmp=`$CYGPATH -s -m "$tmp"`
$1="$tmp"
fi
])
AC_DEFUN([BOOTJDK_MISSING_ERROR],
[
AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk])
AC_MSG_ERROR([Cannot continue])
])
###############################################################################
#
# We need a Boot JDK to bootstrap the build.
#
AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
[
BOOT_JDK_FOUND=no
AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
[path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
if test "x$with_boot_jdk" != x; then
BOOT_JDK=$with_boot_jdk
BOOT_JDK_FOUND=yes
fi
if test "x$BOOT_JDK_FOUND" = xno; then
BDEPS_CHECK_MODULE(BOOT_JDK, boot-jdk, xxx, [BOOT_JDK_FOUND=yes], [BOOT_JDK_FOUND=no])
fi
if test "x$BOOT_JDK_FOUND" = xno; then
if test "x$JAVA_HOME" != x; then
if test ! -d "$JAVA_HOME"; then
AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
BOOTJDK_MISSING_ERROR
fi
# Aha, the user has set a JAVA_HOME
# let us use that as the Boot JDK.
BOOT_JDK="$JAVA_HOME"
BOOT_JDK_FOUND=yes
# To be on the safe side, lets check that it is a JDK.
if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
JAVAC="$BOOT_JDK/bin/javac"
JAVA="$BOOT_JDK/bin/java"
BOOT_JDK_FOUND=yes
else
AC_MSG_NOTICE([Your JAVA_HOME points to a JRE! The build needs a JDK! Please point JAVA_HOME to a JDK. JAVA_HOME=[$]JAVA_HOME])
BOOTJDK_MISSING_ERROR
fi
fi
fi
if test "x$BOOT_JDK_FOUND" = xno; then
AC_PATH_PROG(JAVAC_CHECK, javac)
AC_PATH_PROG(JAVA_CHECK, java)
BINARY="$JAVAC_CHECK"
if test "x$JAVAC_CHECK" = x; then
BINARY="$JAVA_CHECK"
fi
if test "x$BINARY" != x; then
# So there is a java(c) binary, it might be part of a JDK.
# Lets find the JDK/JRE directory by following symbolic links.
# Linux/GNU systems often have links from /usr/bin/java to
# /etc/alternatives/java to the real JDK binary.
WHICHCMD_SPACESAFE(BINARY,[path to javac])
REMOVE_SYMBOLIC_LINKS(BINARY)
BOOT_JDK=`dirname $BINARY`
BOOT_JDK=`cd $BOOT_JDK/..; pwd`
if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then
JAVAC=$BOOT_JDK/bin/javac
JAVA=$BOOT_JDK/bin/java
BOOT_JDK_FOUND=yes
fi
fi
fi
if test "x$BOOT_JDK_FOUND" = xno; then
# Try the MacOSX way.
if test -x /usr/libexec/java_home; then
BOOT_JDK=`/usr/libexec/java_home`
if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then
JAVAC=$BOOT_JDK/bin/javac
JAVA=$BOOT_JDK/bin/java
BOOT_JDK_FOUND=yes
fi
fi
fi
if test "x$BOOT_JDK_FOUND" = xno; then
AC_PATH_PROG(JAVA_CHECK, java)
if test "x$JAVA_CHECK" != x; then
# There is a java in the path. But apparently we have not found a javac
# in the path, since that would have been tested earlier.
if test "x$OPENJDK_TARGET_OS" = xwindows; then
# Now if this is a windows platform. The default installation of a JDK
# actually puts the JRE in the path and keeps the JDK out of the path!
# Go look in the default installation location.
BOOT_JDK=/cygdrive/c/Program\ Files/Java/`ls /cygdrive/c/Program\ Files/Java | grep jdk | sort -r | head --lines 1`
if test -d "$BOOT_JDK"; then
BOOT_JDK_FOUND=yes
fi
fi
if test "x$BOOT_JDK_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([openjdk])
AC_MSG_NOTICE([Found a JRE, not not a JDK! Please remove the JRE from your path and put a JDK there instead. $HELP_MSG])
BOOTJDK_MISSING_ERROR
fi
else
HELP_MSG_MISSING_DEPENDENCY([openjdk])
AC_MSG_NOTICE([Could not find a JDK. $HELP_MSG])
BOOTJDK_MISSING_ERROR
fi
fi
BOOTJDK_WIN_FIX_PATH(BOOT_JDK)
# Now see if we can find the rt.jar, or its nearest equivalent.
BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
SPACESAFE(BOOT_RTJAR,[the path to the Boot JDK rt.jar (or nearest equivalent)])
BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar"
SPACESAFE(BOOT_TOOLSJAR,[the path to the Boot JDK tools.jar (or nearest equivalent)])
if test ! -f $BOOT_RTJAR; then
# On MacOSX it is called classes.jar
BOOT_RTJAR=$BOOT_JDK/../Classes/classes.jar
if test ! -f $BOOT_RTJAR; then
AC_MSG_NOTICE([Cannot find the rt.jar or its equivalent!])
AC_MSG_NOTICE([This typically means that configure failed to automatically find a suitable Boot JDK])
BOOTJDK_MISSING_ERROR
fi
# Remove the ..
BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}"
# The tools.jar is part of classes.jar
BOOT_TOOLSJAR="$BOOT_RTJAR"
fi
AC_SUBST(BOOT_JDK)
AC_SUBST(BOOT_RTJAR)
AC_SUBST(BOOT_TOOLSJAR)
AC_MSG_CHECKING([for Boot JDK])
AC_MSG_RESULT([$BOOT_JDK])
AC_MSG_CHECKING([for Boot rt.jar])
AC_MSG_RESULT([$BOOT_RTJAR])
AC_MSG_CHECKING([for Boot tools.jar])
AC_MSG_RESULT([$BOOT_TOOLSJAR])
# Use the java tool from the Boot JDK.
AC_MSG_CHECKING([for java in Boot JDK])
JAVA=$BOOT_JDK/bin/java
if test ! -x $JAVA; then
AC_MSG_NOTICE([Could not find a working java])
BOOTJDK_MISSING_ERROR
fi
BOOT_JDK_VERSION=`$JAVA -version 2>&1 | head -n 1`
AC_MSG_RESULT([yes $BOOT_JDK_VERSION])
AC_SUBST(JAVA)
# Extra M4 quote needed to protect [] in grep expression.
[FOUND_VERSION_78=`echo $BOOT_JDK_VERSION | grep '\"1\.[78]\.'`]
if test "x$FOUND_VERSION_78" = x; then
HELP_MSG_MISSING_DEPENDENCY([openjdk])
AC_MSG_NOTICE([Your boot-jdk must be version 7 or 8. $HELP_MSG])
BOOTJDK_MISSING_ERROR
fi
# When compiling code to be executed by the Boot JDK, force jdk7 compatibility.
BOOT_JDK_SOURCETARGET="-source 7 -target 7"
AC_SUBST(BOOT_JDK_SOURCETARGET)
# Use the javac tool from the Boot JDK.
AC_MSG_CHECKING([for javac in Boot JDK])
JAVAC=$BOOT_JDK/bin/javac
if test ! -x $JAVAC; then
AC_MSG_ERROR([Could not find a working javac])
fi
AC_MSG_RESULT(yes)
AC_SUBST(JAVAC)
AC_SUBST(JAVAC_FLAGS)
# Use the javah tool from the Boot JDK.
AC_MSG_CHECKING([for javah in Boot JDK])
JAVAH=$BOOT_JDK/bin/javah
if test ! -x $JAVAH; then
AC_MSG_NOTICE([Could not find a working javah])
BOOTJDK_MISSING_ERROR
fi
AC_MSG_RESULT(yes)
AC_SUBST(JAVAH)
# Use the jar tool from the Boot JDK.
AC_MSG_CHECKING([for jar in Boot JDK])
JAR=$BOOT_JDK/bin/jar
if test ! -x $JAR; then
AC_MSG_NOTICE([Could not find a working jar])
BOOTJDK_MISSING_ERROR
fi
AC_SUBST(JAR)
AC_MSG_RESULT(yes)
# Use the rmic tool from the Boot JDK.
AC_MSG_CHECKING([for rmic in Boot JDK])
RMIC=$BOOT_JDK/bin/rmic
if test ! -x $RMIC; then
AC_MSG_NOTICE([Could not find a working rmic])
BOOTJDK_MISSING_ERROR
fi
AC_SUBST(RMIC)
AC_MSG_RESULT(yes)
# Use the native2ascii tool from the Boot JDK.
AC_MSG_CHECKING([for native2ascii in Boot JDK])
NATIVE2ASCII=$BOOT_JDK/bin/native2ascii
if test ! -x $NATIVE2ASCII; then
AC_MSG_NOTICE([Could not find a working native2ascii])
BOOTJDK_MISSING_ERROR
fi
AC_MSG_RESULT(yes)
AC_SUBST(NATIVE2ASCII)
])
AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
[
##############################################################################
#
# Specify options for anything that is run with the Boot JDK.
#
AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
[specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values,
e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
if test "x$with_boot_jdk_jvmargs" = x; then
# Not all JVM:s accept the same arguments on the command line.
# OpenJDK specific increase in thread stack for JDK build,
# well more specifically, when running javac.
if test "x$BUILD_NUM_BITS" = x32; then
STACK_SIZE=768
else
# Running Javac on a JVM on a 64-bit machine, the stack takes more space
# since 64-bit pointers are pushed on the stach. Apparently, we need
# to increase the stack space when javacing the JDK....
STACK_SIZE=1536
fi
# Minimum amount of heap memory.
ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
# Why does macosx need more heap? Its the huge JDK batch.
ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
else
ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
fi
# When is adding -client something that speeds up the JVM?
# ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],boot_jdk_jvmargs,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],boot_jdk_jvmargs,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA])
# Disable special log output when a debug build is used as Boot JDK...
ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA])
fi
AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs)
])

File diff suppressed because it is too large Load Diff

38
common/autoconf/build-aux/config.guess vendored Normal file
View File

@@ -0,0 +1,38 @@
#!/bin/sh
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# This is a wrapper for the config.guess from autoconf. The latter does not properly
# detect amd64 systems, since that require isainfo instead of uname. Instead of patching
# the autoconf system (which might easily get lost in a future update), we wrap it and
# fix the broken property, if needed.
DIR=`dirname $0`
OUT=`. $DIR/autoconf-config.guess`
echo $OUT | grep i386-pc-solaris > /dev/null 2> /dev/null
if test $? = 0; then
# isainfo -n returns either i386 or amd64 on Intel systems
REAL_CPU=`isainfo -n`
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
fi
echo $OUT

1658
common/autoconf/build-aux/config.sub vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
#!/bin/sh
echo >&2 "No suitable 'install' command found.'"
echo >&2 "If automake is installed, running 'automake -fa'"
echo >&2 "(and ignoring the errors) might produce one."
exit 1

View File

@@ -0,0 +1,155 @@
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
#
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
# ----------------------------------
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=m4_default([$1], [0.9.0])
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
fi[]dnl
])# PKG_PROG_PKG_CONFIG
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
#
# Check to see whether a particular set of modules exists. Similar
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
#
#
# Similar to PKG_CHECK_MODULES, make sure that the first instance of
# this or PKG_CHECK_MODULES is called, or make sure to call
# PKG_CHECK_EXISTS manually
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_ifval([$2], [$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# ---------------------------------------------
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
elif test -n "$PKG_CONFIG"; then
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
[pkg_failed=yes])
else
pkg_failed=untried
fi[]dnl
])# _PKG_CONFIG
# _PKG_SHORT_ERRORS_SUPPORTED
# -----------------------------
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
else
_pkg_short_errors_supported=no
fi[]dnl
])# _PKG_SHORT_ERRORS_SUPPORTED
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
# [ACTION-IF-NOT-FOUND])
#
#
# Note that if there is a possibility the first call to
# PKG_CHECK_MODULES might not happen, you should be sure to include an
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
#
#
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $1])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
ifelse([$4], , [AC_MSG_ERROR(dnl
[Package requirements ($2) were not met:
$$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
_PKG_TEXT
])],
[AC_MSG_RESULT([no])
$4])
elif test $pkg_failed = untried; then
ifelse([$4], , [AC_MSG_FAILURE(dnl
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
_PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
[$4])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
ifelse([$3], , :, [$3])
fi[]dnl
])# PKG_CHECK_MODULES

View File

@@ -0,0 +1,378 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN([BPERF_CHECK_CORES],
[
AC_MSG_CHECKING([for number of cores])
NUM_CORES=1
FOUND_CORES=no
if test -f /proc/cpuinfo; then
# Looks like a Linux system
NUM_CORES=`cat /proc/cpuinfo | grep -c processor`
FOUND_CORES=yes
fi
if test -x /usr/sbin/psrinfo; then
# Looks like a Solaris system
NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
FOUND_CORES=yes
fi
if test -x /usr/sbin/system_profiler; then
# Looks like a MacOSX system
NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print [$]5}'`
FOUND_CORES=yes
fi
if test "x$build_os" = xwindows; then
NUM_CORES=4
fi
# For c/c++ code we run twice as many concurrent build
# jobs than we have cores, otherwise we will stall on io.
CONCURRENT_BUILD_JOBS=`expr $NUM_CORES \* 2`
if test "x$FOUND_CORES" = xyes; then
AC_MSG_RESULT([$NUM_CORES])
else
AC_MSG_RESULT([could not detect number of cores, defaulting to 1!])
fi
])
AC_DEFUN([BPERF_CHECK_MEMORY_SIZE],
[
AC_MSG_CHECKING([for memory size])
# Default to 1024MB
MEMORY_SIZE=1024
FOUND_MEM=no
if test -f /proc/cpuinfo; then
# Looks like a Linux system
MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print [$]2}'`
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
FOUND_MEM=yes
fi
if test -x /usr/sbin/prtconf; then
# Looks like a Solaris system
MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print [$]3 }'`
FOUND_MEM=yes
fi
if test -x /usr/sbin/system_profiler; then
# Looks like a MacOSX system
MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk '{print [$]2}'`
MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
FOUND_MEM=yes
fi
if test "x$build_os" = xwindows; then
MEMORY_SIZE=`systeminfo | grep 'Total Physical Memory:' | awk '{ print [$]4 }' | sed 's/,//'`
FOUND_MEM=yes
fi
if test "x$FOUND_MEM" = xyes; then
AC_MSG_RESULT([$MEMORY_SIZE MB])
else
AC_MSG_RESULT([could not detect memory size defaulting to 1024MB!])
fi
])
AC_DEFUN_ONCE([BPERF_SETUP_BUILD_CORES],
[
# How many cores do we have on this build system?
AC_ARG_WITH(num-cores, [AS_HELP_STRING([--with-num-cores],
[number of cores in the build system, e.g. --with-num-cores=8 @<:@probed@:>@])])
if test "x$with_num_cores" = x; then
# The number of cores were not specified, try to probe them.
BPERF_CHECK_CORES
else
NUM_CORES=$with_num_cores
CONCURRENT_BUILD_JOBS=`expr $NUM_CORES \* 2`
fi
AC_SUBST(NUM_CORES)
AC_SUBST(CONCURRENT_BUILD_JOBS)
])
AC_DEFUN_ONCE([BPERF_SETUP_BUILD_MEMORY],
[
# How much memory do we have on this build system?
AC_ARG_WITH(memory-size, [AS_HELP_STRING([--with-memory-size],
[memory (in MB) available in the build system, e.g. --with-memory-size=1024 @<:@probed@:>@])])
if test "x$with_memory_size" = x; then
# The memory size was not specified, try to probe it.
BPERF_CHECK_MEMORY_SIZE
else
MEMORY_SIZE=$with_memory_size
fi
AC_SUBST(MEMORY_SIZE)
])
AC_DEFUN([BPERF_SETUP_CCACHE],
[
AC_ARG_ENABLE([ccache],
[AS_HELP_STRING([--disable-ccache],
[use ccache to speed up recompilations @<:@enabled@:>@])],
[ENABLE_CCACHE=${enable_ccache}], [ENABLE_CCACHE=yes])
if test "x$ENABLE_CCACHE" = xyes; then
AC_PATH_PROG(CCACHE, ccache)
else
AC_MSG_CHECKING([for ccache])
AC_MSG_RESULT([explicitly disabled])
CCACHE=
fi
AC_SUBST(CCACHE)
AC_ARG_WITH([ccache-dir],
[AS_HELP_STRING([--with-ccache-dir],
[where to store ccache files @<:@~/.ccache@:>@])])
if test "x$with_ccache_dir" != x; then
# When using a non home ccache directory, assume the use is to share ccache files
# with other users. Thus change the umask.
SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002"
fi
CCACHE_FOUND=""
if test "x$CCACHE" != x; then
BPERF_SETUP_CCACHE_USAGE
fi
])
AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
[
if test "x$CCACHE" != x; then
CCACHE_FOUND="true"
# Only use ccache if it is 3.1.4 or later, which supports
# precompiled headers.
AC_MSG_CHECKING([if ccache supports precompiled headers])
HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.@<:@456789@:>@) 2> /dev/null`
if test "x$HAS_GOOD_CCACHE" = x; then
AC_MSG_RESULT([no, disabling ccache])
CCACHE=
else
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers])
PUSHED_FLAGS="$CXXFLAGS"
CXXFLAGS="-fpch-preprocess $CXXFLAGS"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no])
CXXFLAGS="$PUSHED_FLAGS"
if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, disabling ccaching of precompiled headers])
CCACHE=
fi
fi
fi
if test "x$CCACHE" != x; then
CCACHE_SLOPPINESS=time_macros
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
CCACHE_FLAGS=-fpch-preprocess
if test "x$SET_CCACHE_DIR" != x; then
mkdir -p $CCACHE_DIR > /dev/null 2>&1
chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1
fi
fi
])
AC_DEFUN_ONCE([BPERF_SETUP_PRECOMPILED_HEADERS],
[
###############################################################################
#
# Can the C/C++ compiler use precompiled headers?
#
AC_ARG_ENABLE([precompiled-headers], [AS_HELP_STRING([--disable-precompiled-headers],
[use precompiled headers when compiling C++ @<:@enabled@:>@])],
[ENABLE_PRECOMPH=${enable_precompiled-headers}], [ENABLE_PRECOMPH=yes])
USE_PRECOMPILED_HEADER=1
if test "x$ENABLE_PRECOMPH" = xno; then
USE_PRECOMPILED_HEADER=0
fi
if test "x$ENABLE_PRECOMPH" = xyes; then
# Check that the compiler actually supports precomp headers.
if test "x$GCC" = xyes; then
AC_MSG_CHECKING([that precompiled headers work])
echo "int alfa();" > conftest.h
$CXX -x c++-header conftest.h -o conftest.hpp.gch
if test ! -f conftest.hpp.gch; then
echo Precompiled header is not working!
USE_PRECOMPILED_HEADER=0
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
rm -f conftest.h
fi
fi
AC_SUBST(USE_PRECOMPILED_HEADER)
])
AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
[
AC_ARG_WITH(server-java, [AS_HELP_STRING([--with-server-java],
[use this java binary for running the javac background server and other long running java tasks in the build process,
e.g. ---with-server-java="/opt/jrockit/bin/java -server"])])
if test "x$with_server_java" != x; then
SERVER_JAVA="$with_server_java"
FOUND_VERSION=`$SERVER_JAVA -version 2>&1 | grep " version \""`
if test "x$FOUND_VERSION" = x; then
AC_MSG_ERROR([Could not execute server java: $SERVER_JAVA])
fi
else
SERVER_JAVA=""
# Hotspot specific options.
ADD_JVM_ARG_IF_OK([-XX:+UseParallelOldGC],SERVER_JAVA,[$JAVA])
ADD_JVM_ARG_IF_OK([-verbosegc],SERVER_JAVA,[$JAVA])
# JRockit specific options.
ADD_JVM_ARG_IF_OK([-Xverbose:gc],SERVER_JAVA,[$JAVA])
SERVER_JAVA="$JAVA $SERVER_JAVA"
fi
AC_SUBST(SERVER_JAVA)
AC_MSG_CHECKING([whether to use shared server for javac])
AC_ARG_ENABLE([javac-server], [AS_HELP_STRING([--enable-javac-server],
[enable the shared javac server during the build process @<:@disabled@:>@])],
[ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER='no'])
AC_MSG_RESULT([$ENABLE_JAVAC_SERVER])
if test "x$ENABLE_JAVAC_SERVER" = xyes; then
JAVAC_USE_REMOTE=true
JAVAC_SERVERS="$OUTPUT_ROOT/javacservers"
else
JAVAC_USE_REMOTE=false
JAVAC_SERVERS=
fi
AC_SUBST(JAVAC_USE_REMOTE)
AC_SUBST(JAVAC_SERVERS)
AC_ARG_WITH(javac-server-cores, [AS_HELP_STRING([--with-javac-server-cores],
[use at most this number of concurrent threads on the javac server @<:@probed@:>@])])
if test "x$with_javac_server_cores" != x; then
JAVAC_SERVER_CORES="$with_javac_server_cores"
else
if test "$NUM_CORES" -gt 16; then
# We set this arbitrary limit because we want to limit the heap
# size of the javac server.
# In the future we will make the javac compilers in the server
# share more and more state, thus enabling us to use more and
# more concurrent threads in the server.
JAVAC_SERVER_CORES="16"
else
JAVAC_SERVER_CORES="$NUM_CORES"
fi
if test "$MEMORY_SIZE" -gt "17000"; then
MAX_HEAP_MEM=10000
ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xmn2G],SERVER_JAVA,[$SERVER_JAVA])
elif test "$MEMORY_SIZE" -gt "10000"; then
MAX_HEAP_MEM=6000
ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xmn1G],SERVER_JAVA,[$SERVER_JAVA])
elif test "$MEMORY_SIZE" -gt "5000"; then
MAX_HEAP_MEM=3000
ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA])
elif test "$MEMORY_SIZE" -gt "3800"; then
MAX_HEAP_MEM=2500
ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA])
elif test "$MEMORY_SIZE" -gt "1900"; then
MAX_HEAP_MEM=1200
ADD_JVM_ARG_IF_OK([-Xms700M -Xmx1200M],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA])
elif test "$MEMORY_SIZE" -gt "1000"; then
MAX_HEAP_MEM=900
ADD_JVM_ARG_IF_OK([-Xms400M -Xmx900M],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xmn128M],SERVER_JAVA,[$SERVER_JAVA])
else
MAX_HEAP_MEM=512
ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SERVER_JAVA,[$SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xmn128M],SERVER_JAVA,[$SERVER_JAVA])
fi
MAX_COMPILERS_IN_HEAP=`expr $MAX_HEAP_MEM / 501`
if test "$JAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then
AC_MSG_CHECKING([if number of server cores must be reduced])
JAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP"
AC_MSG_RESULT([yes, to $JAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB])
fi
fi
AC_SUBST(JAVAC_SERVER_CORES)
AC_MSG_CHECKING([whether to track dependencies between Java packages])
AC_ARG_ENABLE([javac-deps], [AS_HELP_STRING([--enable-javac-deps],
[enable the dependency tracking between Java packages @<:@disabled@:>@])],
[ENABLE_JAVAC_DEPS="${enableval}"], [ENABLE_JAVAC_DEPS='no'])
AC_MSG_RESULT([$ENABLE_JAVAC_DEPS])
if test "x$ENABLE_JAVAC_DEPS" = xyes; then
JAVAC_USE_DEPS=true
else
JAVAC_USE_DEPS=false
fi
AC_SUBST(JAVAC_USE_DEPS)
AC_MSG_CHECKING([whether to use multiple cores for javac compilation])
AC_ARG_ENABLE([javac-multi-core], [AS_HELP_STRING([--enable-javac-multi-core],
[compile Java packages concurrently @<:@disabled@:>@])],
[ENABLE_JAVAC_MULTICORE="${enableval}"], [ENABLE_JAVAC_MULTICORE='no'])
AC_MSG_RESULT([$ENABLE_JAVAC_MULTICORE])
if test "x$ENABLE_JAVAC_MULTICORE" = xyes; then
JAVAC_USE_MODE=MULTI_CORE_CONCURRENT
else
JAVAC_USE_MODE=SINGLE_THREADED_BATCH
if test "x$ENABLE_JAVAC_DEPS" = xyes; then
AC_MSG_WARN([Dependency tracking is not supported with single threaded batch compiles of Java source roots. Please add --disable-javac-deps to your configure options.])
AC_MSG_WARN([Disabling dependency tracking for you now.])
JAVAC_USE_DEPS=false
fi
if test "x$ENABLE_JAVAC_SERVER" = xyes; then
AC_MSG_WARN([The javac server will not be used since single threaded batch compiles are run within their own JVM. Please add --disable-javac-server to your configure options.])
AC_MSG_WARN([Disabling javac server for you now.])
JAVAC_USE_REMOTE=false
fi
fi
AC_SUBST(JAVAC_USE_MODE)
AC_MSG_CHECKING([whether to use sjavac])
AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
[use sjavac to do fast incremental compiles @<:@disabled@:>@])],
[ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no'])
AC_MSG_RESULT([$ENABLE_SJAVAC])
AC_SUBST(ENABLE_SJAVAC)
])

View File

@@ -0,0 +1,66 @@
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# This is a configuration example using builddeps
# that are downloaded from an ftp server.
# This is how you use it:
#configure --with-builddeps-server=ftp://builddeps.server/adir \
# --with-builddeps-conf=..../builddeps.conf.example
# --with-builddeps-dir=/localdisk/mybuilddeps
# Translate a configuration triplet/quadruplet into something
# known by this configuration file.
# If no rewrite was found, then rewritten_target=${OPENJDK_TARGET_SYSTEM}
REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu
REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10
# The needed cups builddeps are platform independent header files.
# I.e. they need not be part of the devkit.
builddep_cups=lib/cups_1_3_9.zip
builddep_cups_CFLAGS=-I${depdir}
# The devkit is the cross compiler tools and sys-roots
# for the build platform.
builddep_devkit=sdk/sdk-${rewritten_build}-20110921.tar.gz
# The freetype dependency is partly platform dependent.
# It is stored inside the sys-root.
builddep_freetype2=sdk/sdk-${rewritten_build}-20110921.tar.gz
builddep_freetype2_CFLAGS=-I${depdir}/${rewritten_target}/sys-root/usr/include/freetype2
builddep_freetype2_LIBS=-lfreetype
# There are many other build dependencies, but they are implicitly
# found inside the devkit sys-root.
# The boot jdk runs on the build system and is used to compile and run
# Java build tools and of course, the bootstrap javac.
builddep_bootjdk_BUILD_i386_pc_solaris2=java/jdk-7u2-fcs-bin-b13-solaris-i586-17_nov_2011.zip
builddep_bootjdk_BUILD_x86_64_pc_solaris2=java/jdk-7u2-fcs-bin-b13-solaris-x64-17_nov_2011.zip
builddep_bootjdk_BUILD_i686_unknown_linux_gnu=java/jdk-7u2-fcs-bin-b13-linux-i586-17_nov_2011.zip
builddep_bootjdk_BUILD_x86_64_unknown_linux_gnu=java/jdk-7u2-fcs-bin-b13-linux-x64-17_nov_2011.zip
builddep_bootjdk_BUILD_sparc_solaris2=java/jdk-7u2-fcs-bin-b13-solaris-sparc-17_nov_2011.zip
builddep_bootjdk_BUILD_sparcv9_solaris2=java/jdk-7u2-fcs-bin-b13-solaris-sparcv9-17_nov_2011.zip
builddep_bootjdk_BUILD_i386_pc_windows=java/jdk-7u2-fcs-bin-b13-windows-i586-17_nov_2011.zip
builddep_bootjdk_BUILD_x86_64_pc_windows=java/jdk-7u2-fcs-bin-b13-windows-x64-17_nov_2011.zip
builddep_bootjdk_ROOT=${depdir}/jdk7_02/jdk1.7.0_02

View File

@@ -0,0 +1,43 @@
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# This is a configuration example using an nfs-mount /java
# it will use the builddeps directly from the nfs mounted directory.
# This is how you use it:
#configure --with-builddeps-conf=..../builddeps.conf.nfs.example
REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu
REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10
DEVTOOLS=/java/devtools
builddep_cups=${DEVTOOLS}/linux/cups/include
builddep_cups_CFLAGS=-I${depdir}
JDK_ROOT=/java/re/jdk/7u4/latest/binaries
builddep_bootjdk_BUILD_i386_pc_solaris2=${JDK_ROOT}/solaris-i586
builddep_bootjdk_BUILD_x86_64_pc_solaris2=${JDK_ROOT}/solaris-amd64
builddep_bootjdk_BUILD_i686_unknown_linux_gnu=${JDK_ROOT}/linux-i586
builddep_bootjdk_BUILD_x86_64_unknown_linux_gnu=${JDK_ROOT}/linux-amd64
builddep_bootjdk_ROOT=

View File

@@ -0,0 +1,260 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN_ONCE([BDEPS_SCAN_FOR_BUILDDEPS],
[
define(LIST_OF_BUILD_DEPENDENCIES,)
if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
if test "x$with_builddeps_conf" != x; then
AC_MSG_CHECKING([for supplied builddeps configuration file])
builddepsfile=$with_builddeps_conf
if test -s $builddepsfile; then
. $builddepsfile
AC_MSG_RESULT([loaded!])
else
AC_MSG_ERROR([The given builddeps conf file $with_builddeps_conf could not be loaded!])
fi
else
AC_MSG_CHECKING([for builddeps.conf files in sources...])
builddepsfile=`mktemp`
touch $builddepsfile
# Put all found confs into a single file.
find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile
# Source the file to acquire the variables
if test -s $builddepsfile; then
. $builddepsfile
AC_MSG_RESULT([found at least one!])
else
AC_MSG_ERROR([Could not find any builddeps.conf at all!])
fi
fi
# Create build and target names that use _ instead of "-" and ".".
# This is necessary to use them in variable names.
build_var=`echo ${OPENJDK_BUILD_SYSTEM} | tr '-' '_' | tr '.' '_'`
target_var=`echo ${OPENJDK_TARGET_SYSTEM} | tr '-' '_' | tr '.' '_'`
# Extract rewrite information for build and target
eval rewritten_build=\${REWRITE_${build_var}}
if test "x$rewritten_build" = x; then
rewritten_build=${OPENJDK_BUILD_SYSTEM}
echo Build stays the same $rewritten_build
else
echo Rewriting build for builddeps into $rewritten_build
fi
eval rewritten_target=\${REWRITE_${target_var}}
if test "x$rewritten_target" = x; then
rewritten_target=${OPENJDK_TARGET_SYSTEM}
echo Target stays the same $rewritten_target
else
echo Rewriting target for builddeps into $rewritten_target
fi
rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'`
rewritten_target_var=`echo ${rewritten_target} | tr '-' '_' | tr '.' '_'`
fi
AC_CHECK_PROGS(BDEPS_UNZIP, [7z unzip])
if test "x$BDEPS_UNZIP" = x7z; then
BDEPS_UNZIP="7z x"
fi
AC_CHECK_PROGS(BDEPS_FTP, [wget lftp ftp])
])
AC_DEFUN([BDEPS_FTPGET],
[
# $1 is the ftp://abuilddeps.server.com/libs/cups.zip
# $2 is the local file name for the downloaded file.
VALID_TOOL=no
if test "x$BDEPS_FTP" = xwget; then
VALID_TOOL=yes
wget -O $2 $1
fi
if test "x$BDEPS_FTP" = xlftp; then
VALID_TOOL=yes
lftp -c "get $1 -o $2"
fi
if test "x$BDEPS_FTP" = xftp; then
VALID_TOOL=yes
FTPSERVER=`echo $1 | cut -f 3 -d '/'`
FTPPATH=`echo $1 | cut -f 4- -d '/'`
FTPUSERPWD=${FTPSERVER%%@*}
if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
FTPUSER=${userpwd%%:*}
FTPPWD=${userpwd#*@}
FTPSERVER=${FTPSERVER#*@}
else
FTPUSER=ftp
FTPPWD=ftp
fi
# the "pass" command does not work on some
# ftp clients (read ftp.exe) but if it works,
# passive mode is better!
(\
echo "user $FTPUSER $FTPPWD" ;\
echo "pass" ;\
echo "bin" ;\
echo "get $FTPPATH $2" ;\
) | ftp -in $FTPSERVER
fi
if test "x$VALID_TOOL" != xyes; then
AC_MSG_ERROR([I do not know how to use the tool: $BDEPS_FTP])
fi
])
AC_DEFUN([BDEPS_CHECK_MODULE],
[
define([LIST_OF_BUILD_DEPENDENCIES],LIST_OF_BUILD_DEPENDENCIES[$2=$3'\n'])
if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
# Source the builddeps file again, to make sure it uses the latest variables!
. $builddepsfile
# Look for a target and build machine specific resource!
eval resource=\${builddep_$2_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
if test "x$resource" = x; then
# Ok, lets instead look for a target specific resource
eval resource=\${builddep_$2_TARGET_${rewritten_target_var}}
fi
if test "x$resource" = x; then
# Ok, lets instead look for a build specific resource
eval resource=\${builddep_$2_BUILD_${rewritten_build_var}}
fi
if test "x$resource" = x; then
# Ok, lets instead look for a generic resource
# (The $2 comes from M4 and not the shell, thus no need for eval here.)
resource=${builddep_$2}
fi
if test "x$resource" != x; then
AC_MSG_NOTICE([Using builddeps $resource for $2])
# If the resource in the builddeps.conf file is an existing directory,
# for example /java/linux/cups
if test -d ${resource}; then
depdir=${resource}
else
BDEPS_FETCH($2, $resource, $with_builddeps_server, $with_builddeps_dir, depdir)
fi
# Source the builddeps file again, because in the previous command, the depdir
# was updated to point at the current build dependency install directory.
. $builddepsfile
# Now extract variables from the builddeps.conf files.
theroot=${builddep_$2_ROOT}
thecflags=${builddep_$2_CFLAGS}
thelibs=${builddep_$2_LIBS}
if test "x$depdir" = x; then
AC_MSG_ERROR([Could not download build dependency $2])
fi
$1=$depdir
if test "x$theroot" != x; then
$1="$theroot"
fi
if test "x$thecflags" != x; then
$1_CFLAGS="$thecflags"
fi
if test "x$thelibs" != x; then
$1_LIBS="$thelibs"
fi
m4_default([$4], [:])
m4_ifvaln([$5], [else $5])
fi
m4_ifvaln([$5], [else $5])
fi
])
AC_DEFUN([BDEPS_FETCH],
[
# $1 is for example mymodule
# $2 is for example libs/general/libmymod_1_2_3.zip
# $3 is for example ftp://mybuilddeps.myserver.com/builddeps
# $4 is for example /localhome/builddeps
# $5 is the name of the variable into which we store the depdir, eg MYMOD
# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
filename=`basename $2`
filebase=`echo $filename | sed 's/\.[[^\.]]*$//'`
filebase=${filename%%.*}
extension=${filename#*.}
installdir=$4/$filebase
if test ! -f $installdir/$filename.unpacked; then
AC_MSG_NOTICE([Downloading build dependency $1 from $3/$2 and installing into $installdir])
if test ! -d $installdir; then
mkdir -p $installdir
fi
if test ! -d $installdir; then
AC_MSG_ERROR([Could not create directory $installdir])
fi
tmpfile=`mktemp $installdir/$1.XXXXXXXXX`
touch $tmpfile
if test ! -f $tmpfile; then
AC_MSG_ERROR([Could not create files in directory $installdir])
fi
BDEPS_FTPGET([$3/$2] , [$tmpfile])
mv $tmpfile $installdir/$filename
if test ! -s $installdir/$filename; then
AC_MSG_ERROR([Could not download $3/$2])
fi
case "$extension" in
zip) echo "Unzipping $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
;;
tar.gz) echo "Untaring $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
;;
tgz) echo "Untaring $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
;;
*) AC_MSG_ERROR([Cannot handle build depency archive with extension $extension])
;;
esac
fi
if test -f $installdir/$filename.unpacked; then
$5=$installdir
fi
])
AC_DEFUN_ONCE([BDEPS_CONFIGURE_BUILDDEPS],
[
AC_ARG_WITH(builddeps-conf, [AS_HELP_STRING([--with-builddeps-conf],
[use this configuration file for the builddeps])])
AC_ARG_WITH(builddeps-server, [AS_HELP_STRING([--with-builddeps-server],
[download and use build dependencies from this server url, e.g. --with-builddeps-server=ftp://example.com/dir])])
AC_ARG_WITH(builddeps-dir, [AS_HELP_STRING([--with-builddeps-dir],
[store downloaded build dependencies here @<:@d/localhome/builddeps@:>@])],
[],
[with_builddeps_dir=/localhome/builddeps])
AC_ARG_WITH(builddeps-group, [AS_HELP_STRING([--with-builddeps-group],
[chgrp the downloaded build dependencies to this group])])
AC_ARG_ENABLE([list-builddeps], [AS_HELP_STRING([--enable-list-builddeps],
[list all build dependencies known to the configure script])],
[LIST_BUILDDEPS="${enableval}"], [LIST_BUILDDEPS='no'])
if test "x$LIST_BUILDDEPS" = xyes; then
echo
echo List of build dependencies known to the configure script,
echo that can be used in builddeps.conf files:
cat $AUTOCONF_DIR/*.ac $AUTOCONF_DIR/*.m4 | grep BDEPS_CHECK_MODUL[E]\( | cut -f 2 -d ',' | tr -d ' ' | sort
echo
exit 1
fi
])

View File

@@ -0,0 +1,28 @@
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
LAUNCHER_NAME=java
PRODUCT_NAME="Java(TM)"
PRODUCT_SUFFIX="SE Runtime Environment"
JDK_RC_PLATFORM_NAME="Platform SE"
COMPANY_NAME="Oracle Corporation"

View File

@@ -0,0 +1,49 @@
/*
* Copyright (c) 2011, 2012, 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.
*/
#define PACKAGE_NAME "openjdk"
#define PACKAGE_TARNAME "openjdk"
#define PACKAGE_VERSION "version-0.1"
#define PACKAGE_STRING "openjdk version-0.1"
#define PACKAGE_BUGREPORT "build-infra-dev@openjdk.java.net"
#define PACKAGE_URL ""
#define STDC_HEADERS
#define HAVE_SYS_TYPES_H
#define HAVE_SYS_STAT_H
#define HAVE_STDLIB_H
#define HAVE_STRING_H
#define HAVE_MEMORY_H
#define HAVE_STRINGS_H
#define HAVE_INTTYPES_H
#define HAVE_STDINT_H
#define HAVE_UNISTD_H
#define SIZEOF_INT_P 8
#define HAVE_CUPS_CUPS_H
#define HAVE_CUPS_PPD_H
#define HAVE_LIBJPEG
#define HAVE_LIBGIF
#define HAVE_LIBZ
#define HAVE_LIBM
#define HAVE_ALTZONE

121
common/autoconf/configure vendored Normal file
View File

@@ -0,0 +1,121 @@
#!/bin/sh
CONFIGURE_COMMAND_LINE="$@"
conf_script_dir=`dirname $0`
conf_closed_script_dir="$conf_script_dir/../../jdk/make/closed/autoconf"
###
### Test that the generated configure is up-to-date
###
# On Solaris /bin/sh doesn't support test -nt but /usr/bin/test does.
TEST=`which test`
print_error_not_up_to_date() {
echo "Error: The configure source files is newer than the generated files."
echo "Please run 'sh autogen.sh' to update the generated files."
}
for file in configure.ac *.m4 ; do
if $TEST $file -nt generated-configure.sh; then
print_error_not_up_to_date
exit 1
fi
done
if $TEST -e $conf_closed_script_dir/generated-configure.sh; then
# If closed source configure is available, make sure it is up-to-date as well.
for file in configure.ac *.m4 $conf_closed_script_dir/*.m4; do
if $TEST $file -nt $conf_closed_script_dir/generated-configure.sh; then
print_error_not_up_to_date
exit 1
fi
done
# Test if open configure is newer than closed configure, if so, closed needs to
# be regenerated.
conf_open_configure_timestamp=`grep DATE_WHEN_GENERATED: $conf_script_dir/generated-configure.sh | cut -d" " -f 3`
conf_closed_configure_timestamp=`grep DATE_WHEN_GENERATED: $conf_closed_script_dir/generated-configure.sh | cut -d" " -f 3`
if $TEST $conf_open_configure_timestamp -gt $conf_closed_configure_timestamp; then
print_error_not_up_to_date
exit 1
fi
fi
###
### Process command-line arguments
###
conf_processed_arguments=
conf_openjdk_target=
conf_extra_cflags=
conf_extra_cxxflags=
for conf_option
do
case $conf_option in
--openjdk-target=*)
conf_openjdk_target=`expr "X$conf_option" : '[^=]*=\(.*\)'`
continue ;;
--with-extra-cflags=*)
conf_extra_cflags=`expr "X$conf_option" : '[^=]*=\(.*\)'`
continue ;;
--with-extra-cxxflags=*)
conf_extra_cxxflags=`expr "X$conf_option" : '[^=]*=\(.*\)'`
continue ;;
*)
conf_processed_arguments="$conf_processed_arguments $conf_option" ;;
esac
case $conf_option in
-build | --build | --buil | --bui | --bu |-build=* | --build=* | --buil=* | --bui=* | --bu=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-target | --target | --targe | --targ | --tar | --ta | --t | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-host | --host | --hos | --ho | -host=* | --host=* | --hos=* | --ho=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
esac
done
if $TEST "x$conf_legacy_crosscompile" != "x"; then
if $TEST "x$conf_openjdk_target" != "x"; then
echo "Error: Specifying --openjdk-target together with autoconf"
echo "legacy cross-compilation flags is not supported."
echo "You specified: --openjdk-target=$conf_openjdk_target and $conf_legacy_crosscompile."
echo "The recommended use is just --openjdk-target."
exit 1
else
echo "Warning: You are using legacy autoconf cross-compilation flags."
echo "It is recommended that you use --openjdk-target instead."
echo ""
fi
fi
if $TEST "x$conf_openjdk_target" != "x"; then
conf_build_platform=`sh $conf_script_dir/build-aux/config.guess`
conf_processed_arguments="--build=$conf_build_platform --host=$conf_openjdk_target --target=$conf_openjdk_target $conf_processed_arguments"
fi
# Make configure exit with error on invalid options as default.
# Can be overridden by --disable-option-checking, since we prepend our argument
# and later options override earlier.
conf_processed_arguments="--enable-option-checking=fatal $conf_processed_arguments"
###
### Call the configure script
###
if $TEST -e $conf_closed_script_dir/generated-configure.sh; then
# Closed source configure available; run that instead
. $conf_closed_script_dir/generated-configure.sh $conf_processed_arguments --with-extra-cflags="$conf_extra_cflags" --with-extra-cxxflags="$conf_extra_cxxflags"
else
. $conf_script_dir/generated-configure.sh $conf_processed_arguments --with-extra-cflags="$conf_extra_cflags" --with-extra-cxxflags="$conf_extra_cxxflags"
fi
###
### Post-processing
###
# Move the log file to the output root, if this was successfully created
if $TEST -d "$OUTPUT_ROOT"; then
mv -f config.log "$OUTPUT_ROOT" 2> /dev/null
fi

View File

@@ -0,0 +1,226 @@
#
# Copyright (c) 2011, 2012, 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.
#
###############################################################################
#
# Includes and boilerplate
#
###############################################################################
AC_PREREQ([2.61])
AC_INIT(openjdk, jdk8, build-dev@openjdk.java.net)
# Do not change or remove the following line, it is needed for consistency checks:
# DATE_WHEN_GENERATED: @DATE_WHEN_GENERATED@
AC_CONFIG_AUX_DIR([build-aux])
m4_include([build-aux/pkg.m4])
# Include these first...
m4_include([basics.m4])
m4_include([builddeps.m4])
# ... then the rest
m4_include([boot-jdk.m4])
m4_include([build-performance.m4])
m4_include([help.m4])
m4_include([jdk-options.m4])
m4_include([libraries.m4])
m4_include([platform.m4])
m4_include([source-dirs.m4])
m4_include([toolchain.m4])
# This line needs to be here, verbatim, after all includes.
# It is replaced with closed functionality when building
# closed sources.
AC_DEFUN_ONCE([CLOSED_HOOK])
###############################################################################
#
# Initialization
#
###############################################################################
# Basic initialization that must happen first of all
BASIC_INIT
BASIC_SETUP_PATHS
BASIC_SETUP_LOGGING
# Must be done before we can call HELP_MSG_MISSING_DEPENDENCY.
HELP_SETUP_DEPENDENCY_HELP
# Setup simple tools, that do not need have cross compilation support.
# Without these, we can't properly run the rest of the configure script.
BASIC_SETUP_TOOLS
# Setup builddeps, for automatic downloading of tools we need.
# This is needed before we can call BDEPS_CHECK_MODULE, which is done in
# boot-jdk setup, but we need to have basic tools setup first.
BDEPS_CONFIGURE_BUILDDEPS
BDEPS_SCAN_FOR_BUILDDEPS
# Check if pkg-config is available.
PKG_PROG_PKG_CONFIG
###############################################################################
#
# Determine OpenJDK build and target platforms.
#
###############################################################################
PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION
# With knowledge of the build platform, setup more basic things.
BASIC_SETUP_PATH_SEP
BASIC_SETUP_SEARCHPATH
###############################################################################
#
# Determine OpenJDK variants, options and version numbers.
#
###############################################################################
# We need build & target for this.
JDKOPT_SETUP_JDK_VARIANT
JDKOPT_SETUP_JVM_VARIANTS
JDKOPT_SETUP_DEBUG_LEVEL
JDKOPT_SETUP_JDK_OPTIONS
JDKOPT_SETUP_JDK_VERSION_NUMBERS
# To properly create a configuration name, we need to have the OpenJDK target
# and options (variants and debug level) parsed.
BASIC_SETUP_OUTPUT_DIR
###############################################################################
#
# Setup BootJDK, used to bootstrap the build.
#
###############################################################################
BOOTJDK_SETUP_BOOT_JDK
BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS
###############################################################################
#
# Configure the sources to use. We can add or override individual directories.
#
###############################################################################
SRCDIRS_SETUP_TOPDIRS
SRCDIRS_SETUP_ALTERNATIVE_TOPDIRS
SRCDIRS_SETUP_OUTPUT_DIRS
###############################################################################
#
# Setup the toolchain (compilers etc), i.e. the tools that need to be
# cross-compilation aware.
#
###############################################################################
TOOLCHAIN_SETUP_SYSROOT_AND_OUT_OPTIONS
TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
# Locate the actual tools
TOOLCHAIN_SETUP_PATHS
# FIXME: Currently we must test this after paths but before flags. Fix!
# And we can test some aspects on the target using configure macros.
PLATFORM_TEST_OPENJDK_TARGET_BITS
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
# Configure flags for the tools
TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_LIBS
TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION
TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK
# After we have toolchain, we can compile the uncygdrive helper
BASIC_COMPILE_UNCYGDRIVE
# Setup debug symbols (need objcopy from the toolchain for that)
JDKOPT_SETUP_DEBUG_SYMBOLS
###############################################################################
#
# Check dependencies for external and internal libraries.
#
###############################################################################
LIB_SETUP_INIT
LIB_SETUP_X11
LIB_SETUP_CUPS
LIB_SETUP_FREETYPE
LIB_SETUP_ALSA
LIB_SETUP_MISC_LIBS
LIB_SETUP_STATIC_LINK_LIBSTDCPP
###############################################################################
#
# We need to do some final tweaking, when everything else is done.
#
###############################################################################
JDKOPT_SETUP_BUILD_TWEAKS
###############################################################################
#
# Configure parts of the build that only affect the build performance,
# not the result.
#
###############################################################################
BPERF_SETUP_BUILD_CORES
BPERF_SETUP_BUILD_MEMORY
# Setup smart javac (after cores and memory have been setup)
BPERF_SETUP_SMART_JAVAC
# Can the C/C++ compiler use precompiled headers?
BPERF_SETUP_PRECOMPILED_HEADERS
# Setup use of ccache, if available
BPERF_SETUP_CCACHE
###############################################################################
#
# And now the finish...
#
###############################################################################
# Check for some common pitfalls
BASIC_TEST_USABILITY_ISSUES
# At the end, call the closed hook. (Dummy macro if no closed sources available)
CLOSED_HOOK
# We're messing a bit with internal autoconf variables to put the config.status
# in the output directory instead of the current directory.
CONFIG_STATUS="$OUTPUT_ROOT/config.status"
# Create the actual output files. Now the main work of configure is done.
AC_OUTPUT
# Finally output some useful information to the user
HELP_PRINT_SUMMARY_AND_WARNINGS

File diff suppressed because it is too large Load Diff

197
common/autoconf/help.m4 Normal file
View File

@@ -0,0 +1,197 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
[
AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
])
AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
[
# Print a helpful message on how to acquire the necessary build dependency.
# $1 is the help tag: freetyp2, cups, pulse, alsa etc
MISSING_DEPENDENCY=$1
PKGHANDLER_COMMAND=
case $PKGHANDLER in
apt-get)
apt_help $MISSING_DEPENDENCY ;;
yum)
yum_help $MISSING_DEPENDENCY ;;
port)
port_help $MISSING_DEPENDENCY ;;
pkgutil)
pkgutil_help $MISSING_DEPENDENCY ;;
pkgadd)
pkgadd_help $MISSING_DEPENDENCY ;;
* )
break ;;
esac
if test "x$PKGHANDLER_COMMAND" != x; then
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
fi
])
apt_help() {
case $1 in
devkit)
PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
openjdk)
PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
alsa)
PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
cups)
PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
freetype2)
PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
pulse)
PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
x11)
PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev" ;;
ccache)
PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
* )
break ;;
esac
}
yum_help() {
case $1 in
devkit)
PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
openjdk)
PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
alsa)
PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
cups)
PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
freetype2)
PKGHANDLER_COMMAND="sudo yum install freetype2-devel" ;;
pulse)
PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
x11)
PKGHANDLER_COMMAND="sudo yum install libXtst-devel" ;;
ccache)
PKGHANDLER_COMMAND="sudo yum install ccache" ;;
* )
break ;;
esac
}
port_help() {
PKGHANDLER_COMMAND=""
}
pkgutil_help() {
PKGHANDLER_COMMAND=""
}
pkgadd_help() {
PKGHANDLER_COMMAND=""
}
AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
[
# Finally output some useful information to the user
if test "x$CCACHE_FOUND" != x; then
if test "x$HAS_GOOD_CCACHE" = x; then
CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
else
CCACHE_STATUS="installed and in use"
fi
else
if test "x$GCC" = xyes; then
CCACHE_STATUS="not installed (consider installing)"
CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
else
CCACHE_STATUS="not available for your system"
fi
fi
printf "\n"
printf "====================================================\n"
printf "A new configuration has been successfully created in\n"
printf "$OUTPUT_ROOT\n"
if test "x$CONFIGURE_COMMAND_LINE" != x; then
printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
else
printf "using default settings.\n"
fi
printf "\n"
printf "Configuration summary:\n"
printf "* Debug level: $DEBUG_LEVEL\n"
printf "* JDK variant: $JDK_VARIANT\n"
printf "* JVM variants: $with_jvm_variants\n"
printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
printf "* Boot JDK: $BOOT_JDK\n"
printf "\n"
printf "Build performance summary:\n"
printf "* Cores to use: $NUM_CORES\n"
printf "* Memory limit: $MEMORY_SIZE MB\n"
printf "* ccache status: $CCACHE_STATUS\n"
printf "\n"
if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
printf "$CCACHE_HELP_MSG\n"
HELP_MSG_MISSING_DEPENDENCY([ccache])
printf "$HELP_MSG\n"
printf "\n"
fi
if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
printf "NOTE: You have requested to build more than one version of the JVM, which\n"
printf "will result in longer build times.\n"
printf "\n"
fi
if test "x$FOUND_ALT_VARIABLES" != "x"; then
printf "WARNING: You have old-style ALT_ environment variables set.\n"
printf "These are not respected, and will be ignored. It is recommended\n"
printf "that you clean your environment. The following variables are set:\n"
printf "$FOUND_ALT_VARIABLES\n"
printf "\n"
fi
if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
printf "WARNING: Your build output directory is not on a local disk.\n"
printf "This will severely degrade build performance!\n"
printf "It is recommended that you create an output directory on a local disk,\n"
printf "and run the configure script again from that directory.\n"
printf "\n"
fi
if test "x$IS_RECONFIGURE" = "xyes"; then
printf "WARNING: The result of this configuration has overridden an older\n"
printf "configuration. You *should* run 'make clean' to make sure you get a\n"
printf "proper build. Failure to do so might result in strange build problems.\n"
printf "\n"
fi
])

View File

@@ -0,0 +1,551 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT],
[
###############################################################################
#
# Check which variant of the JDK that we want to build.
# Currently we have:
# normal: standard edition
# embedded: cut down to a smaller footprint
#
# Effectively the JDK variant gives a name to a specific set of
# modules to compile into the JDK. In the future, these modules
# might even be Jigsaw modules.
#
AC_MSG_CHECKING([which variant of the JDK to build])
AC_ARG_WITH([jdk-variant], [AS_HELP_STRING([--with-jdk-variant],
[JDK variant to build (normal, embedded) @<:@normal@:>@])])
if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then
JAVASE_EMBEDDED=""
MINIMIZE_RAM_USAGE=""
JDK_VARIANT="normal"
elif test "x$with_jdk_variant" = xembedded; then
JAVASE_EMBEDDED="JAVASE_EMBEDDED:=true"
MINIMIZE_RAM_USAGE="MINIMIZE_RAM_USAGE:=true"
JDK_VARIANT="embedded"
else
AC_MSG_ERROR([The available JDK variants are: normal, embedded])
fi
AC_SUBST(JAVASE_EMBEDDED)
AC_SUBST(MINIMIZE_RAM_USAGE)
AC_SUBST(JDK_VARIANT)
AC_MSG_RESULT([$JDK_VARIANT])
])
AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS],
[
###############################################################################
#
# Check which variants of the JVM that we want to build.
# Currently we have:
# server: normal interpreter and a tiered C1/C2 compiler
# client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms)
# kernel: kernel footprint JVM that passes the TCK without major performance problems,
# ie normal interpreter and C1, only the serial GC, kernel jvmti etc
# zero: no machine code interpreter, no compiler
# zeroshark: zero interpreter and shark/llvm compiler backend
AC_MSG_CHECKING([which variants of the JVM that should be built])
AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
[JVM variants (separated by commas) to build (server, client, kernel, zero, zeroshark) @<:@server@:>@])])
if test "x$with_jvm_variants" = x; then
if test "x$JDK_VARIANT" = xembedded; then
with_jvm_variants="client"
else
with_jvm_variants="server"
fi
fi
JVM_VARIANTS=",$with_jvm_variants,"
TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
if test "x$TEST_VARIANTS" != "x,"; then
AC_MSG_ERROR([The available JVM variants are: server, client, kernel, zero, zeroshark])
fi
AC_MSG_RESULT([$with_jvm_variants])
JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'`
JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
if test "x$JVM_VARIANT_CLIENT" = xtrue; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.])
fi
fi
if test "x$JVM_VARIANT_KERNEL" = xtrue; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
AC_MSG_ERROR([You cannot build a kernel JVM for a 64-bit machine.])
fi
fi
# Replace the commas with AND for use in the build directory name.
ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
if test "x$COUNT_VARIANTS" != "x,1"; then
BUILDING_MULTIPLE_JVM_VARIANTS=yes
else
BUILDING_MULTIPLE_JVM_VARIANTS=no
fi
AC_SUBST(JVM_VARIANTS)
AC_SUBST(JVM_VARIANT_SERVER)
AC_SUBST(JVM_VARIANT_CLIENT)
AC_SUBST(JVM_VARIANT_KERNEL)
AC_SUBST(JVM_VARIANT_ZERO)
AC_SUBST(JVM_VARIANT_ZEROSHARK)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
[
###############################################################################
#
# Set the debug level
# release: no debug information, all optimizations, no asserts.
# fastdebug: debug information (-g), all optimizations, all asserts
# slowdebug: debug information (-g), no optimizations, all asserts
#
DEBUG_LEVEL="release"
AC_MSG_CHECKING([which debug level to use])
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],
[set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])],
[
ENABLE_DEBUG="${enableval}"
DEBUG_LEVEL="fastdebug"
], [ENABLE_DEBUG="no"])
AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level],
[set the debug level (release, fastdebug, slowdebug) @<:@release@:>@])],
[
DEBUG_LEVEL="${withval}"
if test "x$ENABLE_DEBUG" = xyes; then
AC_MSG_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.])
fi
])
AC_MSG_RESULT([$DEBUG_LEVEL])
if test "x$DEBUG_LEVEL" != xrelease && \
test "x$DEBUG_LEVEL" != xfastdebug && \
test "x$DEBUG_LEVEL" != xslowdebug; then
AC_MSG_ERROR([Allowed debug levels are: release, fastdebug and slowdebug])
fi
###############################################################################
#
# Setup legacy vars/targets and new vars to deal with different debug levels.
#
case $DEBUG_LEVEL in
release )
VARIANT="OPT"
FASTDEBUG="false"
DEBUG_CLASSFILES="false"
BUILD_VARIANT_RELEASE=""
HOTSPOT_DEBUG_LEVEL="product"
HOTSPOT_EXPORT="product"
;;
fastdebug )
VARIANT="DBG"
FASTDEBUG="true"
DEBUG_CLASSFILES="true"
BUILD_VARIANT_RELEASE="-fastdebug"
HOTSPOT_DEBUG_LEVEL="fastdebug"
HOTSPOT_EXPORT="fastdebug"
;;
slowdebug )
VARIANT="DBG"
FASTDEBUG="false"
DEBUG_CLASSFILES="true"
BUILD_VARIANT_RELEASE="-debug"
HOTSPOT_DEBUG_LEVEL="jvmg"
HOTSPOT_EXPORT="debug"
;;
esac
#####
# Generate the legacy makefile targets for hotspot.
# The hotspot api for selecting the build artifacts, really, needs to be improved.
#
HOTSPOT_TARGET=""
if test "x$JVM_VARIANT_SERVER" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL} "
fi
if test "x$JVM_VARIANT_CLIENT" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}1 "
fi
if test "x$JVM_VARIANT_KERNEL" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}kernel "
fi
if test "x$JVM_VARIANT_ZERO" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}zero "
fi
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
fi
HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
#####
AC_SUBST(DEBUG_LEVEL)
AC_SUBST(VARIANT)
AC_SUBST(FASTDEBUG)
AC_SUBST(DEBUG_CLASSFILES)
AC_SUBST(BUILD_VARIANT_RELEASE)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
[
###############################################################################
#
# Should we build only OpenJDK even if closed sources are present?
#
AC_ARG_ENABLE([openjdk-only], [AS_HELP_STRING([--enable-openjdk-only],
[build OpenJDK regardless of the presence of closed repositories @<:@disabled@:>@])],,)
if test "x$enable_openjdk_only" = "xyes"; then
OPENJDK=true
elif test "x$enable_openjdk_only" = "xno"; then
OPENJDK=false
elif test -d "$SRC_ROOT/jdk/src/closed"; then
OPENJDK=false
else
OPENJDK=true
fi
if test "x$OPENJDK" = "xtrue"; then
SET_OPENJDK=OPENJDK=true
fi
AC_SUBST(SET_OPENJDK)
###############################################################################
#
# JIGSAW or not. The JIGSAW variable is used during the intermediate
# stage when we are building both the old style JDK and the new style modularized JDK.
# When the modularized JDK is finalized, this option will go away.
#
AC_ARG_ENABLE([jigsaw], [AS_HELP_STRING([--enable-jigsaw],
[build Jigsaw images (not yet available) @<:@disabled@:>@])],,)
if test "x$enable_jigsaw" = "xyes"; then
JIGSAW=true
else
JIGSAW=false
fi
AC_SUBST(JIGSAW)
###############################################################################
#
# Should we build a JDK/JVM with headful support (ie a graphical ui)?
# We always build headless support.
#
AC_MSG_CHECKING([headful support])
AC_ARG_ENABLE([headful], [AS_HELP_STRING([--disable-headful],
[build headful support (graphical UI support) @<:@enabled@:>@])],
[SUPPORT_HEADFUL=${enable_headful}], [SUPPORT_HEADFUL=yes])
SUPPORT_HEADLESS=yes
BUILD_HEADLESS="BUILD_HEADLESS:=true"
if test "x$SUPPORT_HEADFUL" = xyes; then
# We are building both headful and headless.
BUILD_HEADLESS_ONLY=""
headful_msg="inlude support for both headful and headless"
fi
if test "x$SUPPORT_HEADFUL" = xno; then
# Thus we are building headless only.
BUILD_HEADLESS="BUILD_HEADLESS:=true"
BUILD_HEADLESS_ONLY="BUILD_HEADLESS_ONLY:=true"
headful_msg="headless only"
fi
AC_MSG_RESULT([$headful_msg])
AC_SUBST(SUPPORT_HEADLESS)
AC_SUBST(SUPPORT_HEADFUL)
AC_SUBST(BUILD_HEADLESS)
AC_SUBST(BUILD_HEADLESS_ONLY)
###############################################################################
#
# Should we run the painfully slow javadoc tool?
#
AC_MSG_CHECKING([whether to build documentation])
AC_ARG_ENABLE([docs], [AS_HELP_STRING([--enable-docs],
[enable generation of Javadoc documentation @<:@disabled@:>@])],
[ENABLE_DOCS="${enableval}"], [ENABLE_DOCS='no'])
AC_MSG_RESULT([$ENABLE_DOCS])
AC_SUBST(ENABLE_DOCS)
GENERATE_DOCS=false
if test "x$ENABLE_DOCS" = xyes; then
GENERATE_DOCS=true
fi
AC_SUBST(GENERATE_DOCS)
###############################################################################
#
# Should we compile nimbus swing L&F? We can probably remove this option
# since nimbus is officially part of javax now.
#
AC_MSG_CHECKING([whether to build nimbus L&F])
AC_ARG_ENABLE([nimbus], [AS_HELP_STRING([--disable-nimbus],
[disable Nimbus L&F @<:@enabled@:>@])],
[ENABLE_NIMBUS="${enableval}"], [ENABLE_NIMBUS='yes'])
AC_MSG_RESULT([$ENABLE_NIMBUS])
DISABLE_NIMBUS=
if test "x$ENABLE_NIMBUS" = xno; then
DISABLE_NIMBUS=true
fi
AC_SUBST(DISABLE_NIMBUS)
# Control wether Hotspot runs Queens test after build.
AC_ARG_ENABLE([hotspot-test-in-build], [AS_HELP_STRING([--enable-hotspot-test-in-build],
[enable running of Queens test after Hotspot build (not yet available) @<:@disabled@:>@])],,
[enable_hotspot_test_in_build=no])
if test "x$enable_hotspot_test_in_build" = "xyes"; then
TEST_IN_BUILD=true
else
TEST_IN_BUILD=false
fi
AC_SUBST(TEST_IN_BUILD)
###############################################################################
#
# Choose cacerts source file
#
AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file],
[specify alternative cacerts file])])
if test "x$with_cacerts_file" != x; then
CACERTS_FILE=$with_cacerts_file
else
if test "x$OPENJDK" = "xtrue"; then
CACERTS_FILE=${SRC_ROOT}/jdk/src/share/lib/security/cacerts
else
CACERTS_FILE=${SRC_ROOT}/jdk/src/closed/share/lib/security/cacerts.internal
fi
fi
AC_SUBST(CACERTS_FILE)
###############################################################################
#
# Compress jars
#
COMPRESS_JARS=false
# default for embedded is yes...
if test "x$JDK_VARIANT" = "xembedded"; then
COMPRESS_JARS=true
fi
AC_SUBST(COMPRESS_JARS)
###############################################################################
#
# Should we compile JFR
# default no, except for on closed-jdk and !embedded
#
ENABLE_JFR=no
# Is the JFR source present
#
# For closed && !embedded default is yes if the source is present
#
if test "x${OPENJDK}" != "xtrue" && test "x$JDK_VARIANT" != "xembedded" && test -d "$SRC_ROOT/jdk/src/closed/share/native/oracle/jfr"; then
ENABLE_JFR=yes
fi
AC_MSG_CHECKING([whether to build jfr])
AC_ARG_ENABLE([jfr], [AS_HELP_STRING([--enable-jfr],
[enable jfr (default is no)])]
[ENABLE_JFR="${enableval}"])
AC_MSG_RESULT([${ENABLE_JFR}])
if test "x$ENABLE_JFR" = "xyes"; then
ENABLE_JFR=true
elif test "x$ENABLE_JFR" = "xno"; then
ENABLE_JFR=false
else
AC_MSG_ERROR([Invalid argument to --enable-jfr])
fi
AC_SUBST(ENABLE_JFR)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
[
# Source the version numbers
. $AUTOCONF_DIR/version.numbers
if test "x$OPENJDK" = "xfalse"; then
. $AUTOCONF_DIR/closed.version.numbers
fi
# Now set the JDK version, milestone, build number etc.
AC_SUBST(JDK_MAJOR_VERSION)
AC_SUBST(JDK_MINOR_VERSION)
AC_SUBST(JDK_MICRO_VERSION)
AC_SUBST(JDK_UPDATE_VERSION)
AC_SUBST(JDK_BUILD_NUMBER)
AC_SUBST(MILESTONE)
AC_SUBST(LAUNCHER_NAME)
AC_SUBST(PRODUCT_NAME)
AC_SUBST(PRODUCT_SUFFIX)
AC_SUBST(JDK_RC_PLATFORM_NAME)
AC_SUBST(COMPANY_NAME)
COPYRIGHT_YEAR=`date +'%Y'`
AC_SUBST(COPYRIGHT_YEAR)
RUNTIME_NAME="$PRODUCT_NAME $PRODUCT_SUFFIX"
AC_SUBST(RUNTIME_NAME)
if test "x$JDK_UPDATE_VERSION" != x; then
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
else
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
fi
AC_SUBST(JDK_VERSION)
if test "x$MILESTONE" != x; then
RELEASE="${JDK_VERSION}-${MILESTONE}${BUILD_VARIANT_RELEASE}"
else
RELEASE="${JDK_VERSION}${BUILD_VARIANT_RELEASE}"
fi
AC_SUBST(RELEASE)
if test "x$JDK_BUILD_NUMBER" != x; then
FULL_VERSION="${RELEASE}-${JDK_BUILD_NUMBER}"
else
JDK_BUILD_NUMBER=b00
BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
# Avoid [:alnum:] since it depends on the locale.
CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyz0123456789'`
USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvqxyz'`
FULL_VERSION="${RELEASE}-${USER_RELEASE_SUFFIX}-${JDK_BUILD_NUMBER}"
fi
AC_SUBST(FULL_VERSION)
COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'`
AC_SUBST(COOKED_BUILD_NUMBER)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_BUILD_TWEAKS],
[
HOTSPOT_MAKE_ARGS="ALT_OUTPUTDIR=$HOTSPOT_OUTPUTDIR ALT_EXPORT_PATH=$HOTSPOT_DIST $HOTSPOT_TARGET"
AC_SUBST(HOTSPOT_MAKE_ARGS)
# The name of the Service Agent jar.
SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
fi
AC_SUBST(SALIB_NAME)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
[
#
# ENABLE_DEBUG_SYMBOLS
# This must be done after the toolchain is setup, since we're looking at objcopy.
#
ENABLE_DEBUG_SYMBOLS=default
# default on macosx is no...
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
ENABLE_DEBUG_SYMBOLS=no
fi
# default for embedded is no...
if test "x$JDK_VARIANT" = "xembedded"; then
ENABLE_DEBUG_SYMBOLS=no
fi
AC_ARG_ENABLE([debug-symbols],
[AS_HELP_STRING([--disable-debug-symbols],[disable generation of debug symbols (@<:@enabled@:>@)])],
[ENABLE_DEBUG_SYMBOLS=${enable_debug_symbols}],
)
AC_MSG_CHECKING([if we should generate debug symbols])
if test "x$ENABLE_DEBUG_SYMBOLS" = "xyes" && test "x$OBJCOPY" = x; then
# explicit enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols])
fi
if test "x$ENABLE_DEBUG_SYMBOLS" = "xdefault"; then
# Default is on if objcopy is found, otherwise off
if test "x$OBJCOPY" != x; then
ENABLE_DEBUG_SYMBOLS=yes
else
ENABLE_DEBUG_SYMBOLS=no
fi
fi
AC_MSG_RESULT([$ENABLE_DEBUG_SYMBOLS])
#
# ZIP_DEBUGINFO_FILES
#
ZIP_DEBUGINFO_FILES=yes
AC_ARG_ENABLE([zip-debug-info],
[AS_HELP_STRING([--disable-zip-debug-info],[don't zip debug-info files (@<:@enabled@:@)])],
[ZIP_DEBUGINFO_FILES=${enable_zip_debug_info}],
)
AC_MSG_CHECKING([if we should zip debug-info files])
AC_MSG_RESULT([$ZIP_DEBUGINFO_FILES])
# Hotspot wants ZIP_DEBUGINFO_FILES to be 1 for yes
# use that...
if test "x$ZIP_DEBUGINFO_FILES" = "xyes"; then
ZIP_DEBUGINFO_FILES=1
else
ZIP_DEBUGINFO_FILES=0
fi
AC_SUBST(ENABLE_DEBUG_SYMBOLS)
AC_SUBST(ZIP_DEBUGINFO_FILES)
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
])

View File

@@ -0,0 +1,642 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN_ONCE([LIB_SETUP_INIT],
[
###############################################################################
#
# OS specific settings that we never will need to probe.
#
if test "x$OPENJDK_TARGET_OS" = xlinux; then
AC_MSG_CHECKING([what is not needed on Linux?])
PULSE_NOT_NEEDED=yes
AC_MSG_RESULT([pulse])
fi
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
AC_MSG_CHECKING([what is not needed on Solaris?])
ALSA_NOT_NEEDED=yes
PULSE_NOT_NEEDED=yes
AC_MSG_RESULT([alsa pulse])
fi
if test "x$OPENJDK_TARGET_OS" = xwindows; then
AC_MSG_CHECKING([what is not needed on Windows?])
CUPS_NOT_NEEDED=yes
ALSA_NOT_NEEDED=yes
PULSE_NOT_NEEDED=yes
X11_NOT_NEEDED=yes
AC_MSG_RESULT([alsa cups pulse x11])
fi
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
AC_MSG_CHECKING([what is not needed on MacOSX?])
ALSA_NOT_NEEDED=yes
PULSE_NOT_NEEDED=yes
X11_NOT_NEEDED=yes
FREETYPE2_NOT_NEEDED=yes
# If the java runtime framework is disabled, then we need X11.
# This will be adjusted below.
AC_MSG_RESULT([alsa pulse x11])
fi
if test "x$OPENJDK_TARGET_OS" = xbsd; then
AC_MSG_CHECKING([what is not needed on bsd?])
ALSA_NOT_NEEDED=yes
AC_MSG_RESULT([alsa])
fi
if test "x$OPENJDK" = "xfalse"; then
FREETYPE2_NOT_NEEDED=yes
fi
###############################################################################
#
# Check for MacOSX support for OpenJDK. If this exists, try to build a JVM
# that uses this API.
#
AC_ARG_ENABLE([macosx-runtime-support], [AS_HELP_STRING([--disable-macosx-runtime-support],
[disable the use of MacOSX Java runtime support framework @<:@enabled@:>@])],
[MACOSX_RUNTIME_SUPPORT="${enableval}"],[MACOSX_RUNTIME_SUPPORT="no"])
USE_MACOSX_RUNTIME_SUPPORT=no
AC_MSG_CHECKING([for explicit Java runtime support in the OS])
if test -f /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JavaRuntimeSupport.h; then
if test "x$MACOSX_RUNTIME_SUPPORT" != xno; then
MACOSX_RUNTIME_SUPPORT=yes
USE_MACOSX_RUNTIME_SUPPORT=yes
AC_MSG_RESULT([yes, does not need alsa freetype2 pulse and X11])
else
AC_MSG_RESULT([yes, but explicitly disabled.])
fi
else
AC_MSG_RESULT([no])
fi
if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$USE_MACOSX_RUNTIME_SUPPORT" = xno; then
AC_MSG_CHECKING([what is not needed on an X11 build on MacOSX?])
X11_NOT_NEEDED=
FREETYPE2_NOT_NEEDED=
AC_MSG_RESULT([alsa pulse])
fi
])
AC_DEFUN_ONCE([LIB_SETUP_X11],
[
###############################################################################
#
# Check for X Windows
#
# Check if the user has specified sysroot, but not --x-includes or --x-libraries.
# Make a simple check for the libraries at the sysroot, and setup --x-includes and
# --x-libraries for the sysroot, if that seems to be correct.
if test "x$SYS_ROOT" != "x/"; then
if test "x$x_includes" = xNONE; then
if test -f "$SYS_ROOT/usr/X11R6/include/X11/Xlib.h"; then
x_includes="$SYS_ROOT/usr/X11R6/include"
fi
fi
if test "x$x_libraries" = xNONE; then
if test -f "$SYS_ROOT/usr/X11R6/lib/libX11.so"; then
x_libraries="$SYS_ROOT/usr/X11R6/lib"
fi
fi
fi
# Now let autoconf do it's magic
AC_PATH_X
AC_PATH_XTRA
if test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then
HELP_MSG_MISSING_DEPENDENCY([x11])
AC_MSG_ERROR([Could not find X11 libraries. $HELP_MSG])
fi
# Some of the old makefiles require a setting of OPENWIN_HOME
# Since the X11R6 directory has disappeared on later Linuxes,
# we need to probe for it.
if test "x$OPENJDK_TARGET_OS" = xlinux; then
if test -d "$SYS_ROOT/usr/X11R6"; then
OPENWIN_HOME="$SYS_ROOT/usr/X11R6"
fi
if test -d "$SYS_ROOT/usr/include/X11"; then
OPENWIN_HOME="$SYS_ROOT/usr"
fi
fi
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
OPENWIN_HOME="/usr/openwin"
fi
AC_SUBST(OPENWIN_HOME)
#
# Weird Sol10 something check...TODO change to try compile
#
if test "x${OPENJDK_TARGET_OS}" = xsolaris; then
if test "`uname -r`" = "5.10"; then
if test "`${EGREP} -c XLinearGradient ${OPENWIN_HOME}/share/include/X11/extensions/Xrender.h`" = "0"; then
X_CFLAGS="${X_CFLAGS} -DSOLARIS10_NO_XRENDER_STRUCTS"
fi
fi
fi
AC_LANG_PUSH(C)
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $X_CFLAGS"
AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h],
[X11_A_OK=yes],
[X11_A_OK=no])
CFLAGS="$OLD_CFLAGS"
AC_LANG_POP(C)
if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then
HELP_MSG_MISSING_DEPENDENCY([x11])
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h). $HELP_MSG])
fi
AC_SUBST(X_CFLAGS)
AC_SUBST(X_LIBS)
])
AC_DEFUN_ONCE([LIB_SETUP_CUPS],
[
###############################################################################
#
# The common unix printing system cups is used to print from java.
#
AC_ARG_WITH(cups, [AS_HELP_STRING([--with-cups],
[specify prefix directory for the cups package
(expecting the libraries under PATH/lib and the headers under PATH/include)])])
AC_ARG_WITH(cups-include, [AS_HELP_STRING([--with-cups-include],
[specify directory for the cups include files])])
AC_ARG_WITH(cups-lib, [AS_HELP_STRING([--with-cups-lib],
[specify directory for the cups library])])
if test "x$CUPS_NOT_NEEDED" = xyes; then
if test "x${with_cups}" != x || test "x${with_cups_include}" != x || test "x${with_cups_lib}" != x; then
AC_MSG_WARN([cups not used, so --with-cups is ignored])
fi
CUPS_CFLAGS=
CUPS_LIBS=
else
CUPS_FOUND=no
if test "x${with_cups}" = xno || test "x${with_cups_include}" = xno || test "x${with_cups_lib}" = xno; then
AC_MSG_ERROR([It is not possible to disable the use of cups. Remove the --without-cups option.])
fi
if test "x${with_cups}" != x; then
CUPS_LIBS="-L${with_cups}/lib -lcups"
CUPS_CFLAGS="-I${with_cups}/include"
CUPS_FOUND=yes
fi
if test "x${with_cups_include}" != x; then
CUPS_CFLAGS="-I${with_cups_include}"
CUPS_FOUND=yes
fi
if test "x${with_cups_lib}" != x; then
CUPS_LIBS="-L${with_cups_lib} -lcups"
CUPS_FOUND=yes
fi
if test "x$CUPS_FOUND" = xno; then
BDEPS_CHECK_MODULE(CUPS, cups, xxx, [CUPS_FOUND=yes])
fi
if test "x$CUPS_FOUND" = xno; then
# Are the cups headers installed in the default /usr/include location?
AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],
[CUPS_FOUND=yes
CUPS_CFLAGS=
CUPS_LIBS="-lcups"
DEFAULT_CUPS=yes])
fi
if test "x$CUPS_FOUND" = xno; then
# Getting nervous now? Lets poke around for standard Solaris third-party
# package installation locations.
AC_MSG_CHECKING([for cups headers and libs])
if test -s /opt/sfw/cups/include/cups/cups.h; then
# An SFW package seems to be installed!
CUPS_FOUND=yes
CUPS_CFLAGS="-I/opt/sfw/cups/include"
CUPS_LIBS="-L/opt/sfw/cups/lib -lcups"
elif test -s /opt/csw/include/cups/cups.h; then
# A CSW package seems to be installed!
CUPS_FOUND=yes
CUPS_CFLAGS="-I/opt/csw/include"
CUPS_LIBS="-L/opt/csw/lib -lcups"
fi
AC_MSG_RESULT([$CUPS_FOUND])
fi
if test "x$CUPS_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([cups])
AC_MSG_ERROR([Could not find cups! $HELP_MSG ])
fi
fi
AC_SUBST(CUPS_CFLAGS)
AC_SUBST(CUPS_LIBS)
])
AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
[
###############################################################################
#
# The ubiquitous freetype2 library is used to render fonts.
#
AC_ARG_WITH(freetype, [AS_HELP_STRING([--with-freetype],
[specify prefix directory for the freetype2 package
(expecting the libraries under PATH/lib and the headers under PATH/include)])])
# If we are using the OS installed system lib for freetype, then we do not need to copy it to the build tree
USING_SYSTEM_FT_LIB=false
if test "x$FREETYPE2_NOT_NEEDED" = xyes; then
if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then
AC_MSG_WARN([freetype not used, so --with-freetype is ignored])
fi
FREETYPE2_CFLAGS=
FREETYPE2_LIBS=
FREETYPE2_LIB_PATH=
else
FREETYPE2_FOUND=no
if test "x$with_freetype" != x; then
SPACESAFE(with_freetype,[the path to freetype])
FREETYPE2_LIBS="-L$with_freetype/lib -lfreetype"
if test "x$OPENJDK_TARGET_OS" = xwindows; then
FREETYPE2_LIBS="$with_freetype/lib/freetype.lib"
fi
FREETYPE2_LIB_PATH="$with_freetype/lib"
FREETYPE2_CFLAGS="-I$with_freetype/include"
if test -s $with_freetype/include/ft2build.h && test -d $with_freetype/include/freetype2/freetype; then
FREETYPE2_CFLAGS="-I$with_freetype/include/freetype2 -I$with_freetype/include"
fi
FREETYPE2_FOUND=yes
if test "x$FREETYPE2_FOUND" = xyes; then
# Verify that the directories exist
if ! test -d "$with_freetype/lib" || ! test -d "$with_freetype/include"; then
AC_MSG_ERROR([Could not find the expected directories $with_freetype/lib and $with_freetype/include])
fi
# List the contents of the lib.
FREETYPELIB=`ls $with_freetype/lib/libfreetype.so $with_freetype/lib/freetype.dll 2> /dev/null`
if test "x$FREETYPELIB" = x; then
AC_MSG_ERROR([Could not find libfreetype.se nor freetype.dll in $with_freetype/lib])
fi
# Check one h-file
if ! test -s "$with_freetype/include/ft2build.h"; then
AC_MSG_ERROR([Could not find $with_freetype/include/ft2build.h])
fi
fi
fi
if test "x$FREETYPE2_FOUND" = xno; then
BDEPS_CHECK_MODULE(FREETYPE2, freetype2, xxx, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no])
USING_SYSTEM_FT_LIB=true
fi
if test "x$FREETYPE2_FOUND" = xno; then
PKG_CHECK_MODULES(FREETYPE2, freetype2, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no])
USING_SYSTEM_FT_LIB=true
fi
if test "x$FREETYPE2_FOUND" = xno; then
AC_MSG_CHECKING([for freetype in some standard locations])
if test -s /usr/X11/include/ft2build.h && test -d /usr/X11/include/freetype2/freetype; then
DEFAULT_FREETYPE_CFLAGS="-I/usr/X11/include/freetype2 -I/usr/X11/include"
DEFAULT_FREETYPE_LIBS="-L/usr/X11/lib -lfreetype"
fi
if test -s /usr/include/ft2build.h && test -d /usr/include/freetype2/freetype; then
DEFAULT_FREETYPE_CFLAGS="-I/usr/include/freetype2"
DEFAULT_FREETYPE_LIBS="-lfreetype"
fi
PREV_CXXCFLAGS="$CXXFLAGS"
PREV_LDFLAGS="$LDFLAGS"
CXXFLAGS="$CXXFLAGS $DEFAULT_FREETYPE_CFLAGS"
LDFLAGS="$LDFLAGS $DEFAULT_FREETYPE_LIBS"
AC_LINK_IFELSE([AC_LANG_SOURCE([[#include<ft2build.h>
#include FT_FREETYPE_H
int main() { return 0; }
]])],
[
# Yes, the default cflags and libs did the trick.
FREETYPE2_FOUND=yes
FREETYPE2_CFLAGS="$DEFAULT_FREETYPE_CFLAGS"
FREETYPE2_LIBS="$DEFAULT_FREETYPE_LIBS"
],
[
FREETYPE2_FOUND=no
])
CXXCFLAGS="$PREV_CXXFLAGS"
LDFLAGS="$PREV_LDFLAGS"
AC_MSG_RESULT([$FREETYPE2_FOUND])
USING_SYSTEM_FT_LIB=true
fi
if test "x$FREETYPE2_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([freetype2])
AC_MSG_ERROR([Could not find freetype2! $HELP_MSG ])
fi
fi
AC_SUBST(USING_SYSTEM_FT_LIB)
AC_SUBST(FREETYPE2_LIB_PATH)
AC_SUBST(FREETYPE2_CFLAGS)
AC_SUBST(FREETYPE2_LIBS)
])
AC_DEFUN_ONCE([LIB_SETUP_ALSA],
[
###############################################################################
#
# Check for alsa headers and libraries. Used on Linux/GNU systems.
#
AC_ARG_WITH(alsa, [AS_HELP_STRING([--with-alsa],
[specify prefix directory for the alsa package
(expecting the libraries under PATH/lib and the headers under PATH/include)])])
AC_ARG_WITH(alsa-include, [AS_HELP_STRING([--with-alsa-include],
[specify directory for the alsa include files])])
AC_ARG_WITH(alsa-lib, [AS_HELP_STRING([--with-alsa-lib],
[specify directory for the alsa library])])
if test "x$ALSA_NOT_NEEDED" = xyes; then
if test "x${with_alsa}" != x || test "x${with_alsa_include}" != x || test "x${with_alsa_lib}" != x; then
AC_MSG_WARN([alsa not used, so --with-alsa is ignored])
fi
ALSA_CFLAGS=
ALSA_LIBS=
else
ALSA_FOUND=no
if test "x${with_alsa}" = xno || test "x${with_alsa_include}" = xno || test "x${with_alsa_lib}" = xno; then
AC_MSG_ERROR([It is not possible to disable the use of alsa. Remove the --without-alsa option.])
fi
if test "x${with_alsa}" != x; then
ALSA_LIBS="-L${with_alsa}/lib -lalsa"
ALSA_CFLAGS="-I${with_alsa}/include"
ALSA_FOUND=yes
fi
if test "x${with_alsa_include}" != x; then
ALSA_CFLAGS="-I${with_alsa_include}"
ALSA_FOUND=yes
fi
if test "x${with_alsa_lib}" != x; then
ALSA_LIBS="-L${with_alsa_lib} -lalsa"
ALSA_FOUND=yes
fi
if test "x$ALSA_FOUND" = xno; then
BDEPS_CHECK_MODULE(ALSA, alsa, xxx, [ALSA_FOUND=yes], [ALSA_FOUND=no])
fi
if test "x$ALSA_FOUND" = xno; then
PKG_CHECK_MODULES(ALSA, alsa, [ALSA_FOUND=yes], [ALSA_FOUND=no])
fi
if test "x$ALSA_FOUND" = xno; then
AC_CHECK_HEADERS([alsa/asoundlib.h],
[ALSA_FOUND=yes
ALSA_CFLAGS=-Iignoreme
ALSA_LIBS=-lasound
DEFAULT_ALSA=yes],
[ALSA_FOUND=no])
fi
if test "x$ALSA_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([alsa])
AC_MSG_ERROR([Could not find alsa! $HELP_MSG ])
fi
fi
AC_SUBST(ALSA_CFLAGS)
AC_SUBST(ALSA_LIBS)
])
AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
[
###############################################################################
#
# Check for the jpeg library
#
USE_EXTERNAL_LIBJPEG=true
AC_CHECK_LIB(jpeg, main, [],
[ USE_EXTERNAL_LIBJPEG=false
AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source])
])
AC_SUBST(USE_EXTERNAL_LIBJPEG)
###############################################################################
#
# Check for the gif library
#
USE_EXTERNAL_LIBJPEG=true
AC_CHECK_LIB(gif, main, [],
[ USE_EXTERNAL_LIBGIF=false
AC_MSG_NOTICE([Will use gif decoder bundled with the OpenJDK source])
])
AC_SUBST(USE_EXTERNAL_LIBGIF)
###############################################################################
#
# Check for the zlib library
#
AC_ARG_WITH(zlib, [AS_HELP_STRING([--with-zlib],
[use zlib from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
AC_CHECK_LIB(z, compress,
[ ZLIB_FOUND=yes ],
[ ZLIB_FOUND=no ])
AC_MSG_CHECKING([for which zlib to use])
DEFAULT_ZLIB=bundled
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
#
# On macosx default is system...on others default is
#
DEFAULT_ZLIB=system
fi
if test "x${ZLIB_FOUND}" != "xyes"; then
#
# If we don't find any system...set default to bundled
#
DEFAULT_ZLIB=bundled
fi
#
# If user didn't specify, use DEFAULT_ZLIB
#
if test "x${with_zlib}" = "x"; then
with_zlib=${DEFAULT_ZLIB}
fi
if test "x${with_zlib}" = "xbundled"; then
USE_EXTERNAL_LIBZ=false
AC_MSG_RESULT([bundled])
elif test "x${with_zlib}" = "xsystem"; then
if test "x${ZLIB_FOUND}" = "xyes"; then
USE_EXTERNAL_LIBZ=true
AC_MSG_RESULT([system])
else
AC_MSG_RESULT([system not found])
AC_MSG_ERROR([--with-zlib=system specified, but no zlib found!])
fi
else
AC_MSG_ERROR([Invalid value for --with-zlib: ${with_zlib}, use 'system' or 'bundled'])
fi
AC_SUBST(USE_EXTERNAL_LIBZ)
###############################################################################
LIBZIP_CAN_USE_MMAP=true
if test "x$JDK_VARIANT" = "xembedded"; then
LIBZIP_CAN_USE_MMAP=false
fi
AC_SUBST(LIBZIP_CAN_USE_MMAP)
###############################################################################
#
# Check if altzone exists in time.h
#
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <time.h>], [return (int)altzone;])],
[has_altzone=yes],
[has_altzone=no])
if test "x$has_altzone" = xyes; then
AC_DEFINE([HAVE_ALTZONE], 1, [Define if you have the external 'altzone' variable in time.h])
fi
###############################################################################
#
# Check the maths library
#
AC_CHECK_LIB(m, cos, [],
[
AC_MSG_NOTICE([Maths library was not found])
])
AC_SUBST(LIBM)
###############################################################################
#
# Check for libdl.so
save_LIBS="$LIBS"
LIBS=""
AC_CHECK_LIB(dl,dlopen)
LIBDL="$LIBS"
AC_SUBST(LIBDL)
LIBS="$save_LIBS"
])
AC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP],
[
###############################################################################
#
# statically link libstdc++ before C++ ABI is stablized on Linux unless
# dynamic build is configured on command line.
#
AC_ARG_ENABLE([static-link-stdc++], [AS_HELP_STRING([--disable-static-link-stdc++],
[disable static linking of the C++ runtime on Linux @<:@enabled@:>@])],,
[
enable_static_link_stdc__=yes
])
if test "x$OPENJDK_TARGET_OS" = xlinux; then
# Test if -lstdc++ works.
AC_MSG_CHECKING([if dynamic link of stdc++ is possible])
AC_LANG_PUSH(C++)
OLD_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -lstdc++"
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [return 0;])],
[has_dynamic_libstdcxx=yes],
[has_dynamic_libstdcxx=no])
CXXFLAGS="$OLD_CXXFLAGS"
AC_LANG_POP(C++)
AC_MSG_RESULT([$has_dynamic_libstdcxx])
# Test if stdc++ can be linked statically.
AC_MSG_CHECKING([if static link of stdc++ is possible])
STATIC_STDCXX_FLAGS="-Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic"
AC_LANG_PUSH(C++)
OLD_LIBS="$LIBS"
OLD_CXX="$CXX"
LIBS="$STATIC_STDCXX_FLAGS"
CXX="$CC"
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [return 0;])],
[has_static_libstdcxx=yes],
[has_static_libstdcxx=no])
LIBS="$OLD_LIBS"
CXX="$OLD_CXX"
AC_LANG_POP(C++)
AC_MSG_RESULT([$has_static_libstdcxx])
if test "x$has_static_libcxx" = xno && test "x$has_dynamic_libcxx" = xno; then
AC_MSG_ERROR([I cannot link to stdc++! Neither dynamically nor statically.])
fi
if test "x$enable_static_link_stdc__" = xyes && test "x$has_static_libstdcxx" = xno; then
AC_MSG_NOTICE([Static linking of libstdc++ was not possible reverting to dynamic linking.])
enable_static_link_stdc__=no
fi
if test "x$enable_static_link_stdc__" = xno && test "x$has_dynamic_libstdcxx" = xno; then
AC_MSG_NOTICE([Dynamic linking of libstdc++ was not possible reverting to static linking.])
enable_static_link_stdc__=yes
fi
AC_MSG_CHECKING([how to link with libstdc++])
if test "x$enable_static_link_stdc__" = xyes; then
LIBCXX="$LIBCXX $STATIC_STDCXX_FLAGS"
LDCXX="$CC"
AC_MSG_RESULT([static])
else
LIBCXX="$LIBCXX -lstdc++"
LDCXX="$CXX"
AC_MSG_RESULT([dynamic])
fi
fi
# libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then
LIBCXX="/usr/lib${LEGACY_OPENJDK_TARGET_CPU3}/libCrun.so.1"
fi
# TODO better (platform agnostic) test
if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
LIBCXX="-lstdc++"
fi
AC_SUBST(LIBCXX)
])

498
common/autoconf/platform.m4 Normal file
View File

@@ -0,0 +1,498 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD_AND_LEGACY_VARS],
[
# Expects $host_os $host_cpu $build_os and $build_cpu
# and $with_target_bits to have been setup!
#
# Translate the standard triplet(quadruplet) definition
# of the target/build system into
# OPENJDK_TARGET_OS=aix,bsd,hpux,linux,macosx,solaris,windows
# OPENJDK_TARGET_OS_FAMILY=bsd,gnu,sysv,win32,wince
# OPENJDK_TARGET_OS_API=posix,winapi
#
# OPENJDK_TARGET_CPU=ia32,x64,sparc,sparcv9,arm,arm64,ppc,ppc64
# OPENJDK_TARGET_CPU_ARCH=x86,sparc,pcc,arm
# OPENJDK_TARGET_CPU_BITS=32,64
# OPENJDK_TARGET_CPU_ENDIAN=big,little
#
# The same values are setup for BUILD_...
#
# And the legacy variables, for controlling the old makefiles.
# LEGACY_OPENJDK_TARGET_CPU1=i586,amd64/x86_64,sparc,sparcv9,arm,arm64...
# LEGACY_OPENJDK_TARGET_CPU2=i386,amd64,sparc,sparcv9,arm,arm64...
# LEGACY_OPENJDK_TARGET_CPU3=sparcv9,amd64 (but only on solaris)
# LEGACY_OPENJDK_TARGET_OS_API=solaris,windows
#
# We also copy the autoconf trip/quadruplet
# verbatim to OPENJDK_TARGET_SYSTEM (from the autoconf "host") and OPENJDK_BUILD_SYSTEM
OPENJDK_TARGET_SYSTEM="$host"
OPENJDK_BUILD_SYSTEM="$build"
AC_SUBST(OPENJDK_TARGET_SYSTEM)
AC_SUBST(OPENJDK_BUILD_SYSTEM)
PLATFORM_EXTRACT_VARS_FROM_OS_TO(OPENJDK_TARGET,$host_os)
PLATFORM_EXTRACT_VARS_FROM_CPU_TO(OPENJDK_TARGET,$host_cpu)
PLATFORM_EXTRACT_VARS_FROM_OS_TO(OPENJDK_BUILD,$build_os)
PLATFORM_EXTRACT_VARS_FROM_CPU_TO(OPENJDK_BUILD,$build_cpu)
if test "x$OPENJDK_TARGET_OS" != xsolaris; then
LEGACY_OPENJDK_TARGET_CPU3=""
LEGACY_OPENJDK_BUILD_CPU3=""
fi
# On MacOSX and MacOSX only, we have a different name for the x64 CPU in ARCH (LEGACY_OPENJDK_TARGET_CPU1) ...
if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$OPENJDK_TARGET_CPU" = xx64; then
LEGACY_OPENJDK_TARGET_CPU1="x86_64"
fi
PLATFORM_SET_RELEASE_FILE_OS_VALUES
])
AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS_TO],
[
PLATFORM_EXTRACT_VARS_FROM_OS($2)
$1_OS="$VAR_OS"
$1_OS_FAMILY="$VAR_OS_FAMILY"
$1_OS_API="$VAR_OS_API"
AC_SUBST($1_OS)
AC_SUBST($1_OS_FAMILY)
AC_SUBST($1_OS_API)
if test "x$$1_OS_API" = xposix; then
LEGACY_$1_OS_API="solaris"
fi
if test "x$$1_OS_API" = xwinapi; then
LEGACY_$1_OS_API="windows"
fi
AC_SUBST(LEGACY_$1_OS_API)
])
AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU_TO],
[
PLATFORM_EXTRACT_VARS_FROM_CPU($2)
$1_CPU="$VAR_CPU"
$1_CPU_ARCH="$VAR_CPU_ARCH"
$1_CPU_BITS="$VAR_CPU_BITS"
$1_CPU_ENDIAN="$VAR_CPU_ENDIAN"
AC_SUBST($1_CPU)
AC_SUBST($1_CPU_ARCH)
AC_SUBST($1_CPU_BITS)
AC_SUBST($1_CPU_ENDIAN)
# Also store the legacy naming of the cpu.
# Ie i586 and amd64 instead of ia32 and x64
LEGACY_$1_CPU1="$VAR_LEGACY_CPU"
AC_SUBST(LEGACY_$1_CPU1)
# And the second legacy naming of the cpu.
# Ie i386 and amd64 instead of ia32 and x64.
LEGACY_$1_CPU2="$LEGACY_$1_CPU1"
if test "x$LEGACY_$1_CPU1" = xi586; then
LEGACY_$1_CPU2=i386
fi
AC_SUBST(LEGACY_$1_CPU2)
# And the third legacy naming of the cpu.
# Ie only amd64 or sparcv9, used for the ISA_DIR on Solaris.
LEGACY_$1_CPU3=""
if test "x$$1_CPU" = xx64; then
LEGACY_$1_CPU3=amd64
fi
if test "x$$1_CPU" = xsparcv9; then
LEGACY_$1_CPU3=sparcv9
fi
AC_SUBST(LEGACY_$1_CPU3)
])
AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
[
# First argument is the cpu name from the trip/quad
case "$1" in
x86_64)
VAR_CPU=x64
VAR_CPU_ARCH=x86
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
VAR_LEGACY_CPU=amd64
;;
i?86)
VAR_CPU=ia32
VAR_CPU_ARCH=x86
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=little
VAR_LEGACY_CPU=i586
;;
alpha*)
VAR_CPU=alpha
VAR_CPU_ARCH=alpha
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
VAR_LEGACY_CPU=alpha
;;
arm*)
VAR_CPU=arm
VAR_CPU_ARCH=arm
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=little
VAR_LEGACY_CPU=arm
;;
mips)
VAR_CPU=mips
VAR_CPU_ARCH=mips
VAR_CPU_BITS=woot
VAR_CPU_ENDIAN=woot
VAR_LEGACY_CPU=mips
;;
mipsel)
VAR_CPU=mipsel
VAR_CPU_ARCH=mips
VAR_CPU_BITS=woot
VAR_CPU_ENDIAN=woot
VAR_LEGACY_CPU=mipsel
;;
powerpc)
VAR_CPU=ppc
VAR_CPU_ARCH=ppc
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=big
VAR_LEGACY_CPU=ppc
;;
powerpc64)
VAR_CPU=ppc64
VAR_CPU_ARCH=ppc
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
VAR_LEGACY_CPU=ppc64
;;
sparc)
VAR_CPU=sparc
VAR_CPU_ARCH=sparc
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=big
VAR_LEGACY_CPU=sparc
;;
sparc64)
VAR_CPU=sparcv9
VAR_CPU_ARCH=sparc
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
VAR_LEGACY_CPU=sparcv9
;;
s390)
VAR_CPU=s390
VAR_CPU_ARCH=s390
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=woot
VAR_LEGACY_CPU=s390
VAR_LEGACY_CPU=s390
;;
s390x)
VAR_CPU=s390x
VAR_CPU_ARCH=s390
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=woot
VAR_LEGACY_CPU=s390x
;;
*)
AC_MSG_ERROR([unsupported cpu $1])
;;
esac
# Workaround cygwin not knowing about 64 bit.
if test "x$VAR_OS" = "xwindows"; then
if test "x$PROCESSOR_IDENTIFIER" != "x"; then
PROC_ARCH=`echo $PROCESSOR_IDENTIFIER | $CUT -f1 -d' '`
case "$PROC_ARCH" in
intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64)
VAR_CPU=x64
VAR_CPU_BITS=64
VAR_LEGACY_CPU=amd64
;;
esac
fi
fi
# on solaris x86...default seems to be 32-bit
if test "x$VAR_OS" = "xsolaris" && \
test "x$with_target_bits" = "x" && \
test "x$VAR_CPU_ARCH" = "xx86"
then
with_target_bits=32
fi
if test "x$VAR_CPU_ARCH" = "xx86"; then
if test "x$with_target_bits" = "x64"; then
VAR_CPU=x64
VAR_CPU_BITS=64
VAR_LEGACY_CPU=amd64
fi
if test "x$with_target_bits" = "x32"; then
VAR_CPU=ia32
VAR_CPU_BITS=32
VAR_LEGACY_CPU=i586
fi
fi
if test "x$VAR_CPU_ARCH" = "xsparc"; then
if test "x$with_target_bits" = "x64"; then
VAR_CPU=sparcv9
VAR_CPU_BITS=64
VAR_LEGACY_CPU=sparcv9
fi
fi
])
AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
[
case "$1" in
*linux*)
VAR_OS=linux
VAR_OS_API=posix
VAR_OS_FAMILY=gnu
;;
*solaris*)
VAR_OS=solaris
VAR_OS_API=posix
VAR_OS_FAMILY=sysv
;;
*darwin*)
VAR_OS=macosx
VAR_OS_API=posix
VAR_OS_FAMILY=bsd
;;
*bsd*)
VAR_OS=bsd
VAR_OS_API=posix
VAR_OS_FAMILY=bsd
;;
*cygwin*|*windows*)
VAR_OS=windows
VAR_OS_API=winapi
VAR_OS_FAMILY=windows
;;
*)
AC_MSG_ERROR([unsupported operating system $1])
;;
esac
])
AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
[
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
REQUIRED_OS_NAME=SunOS
REQUIRED_OS_VERSION=5.10
fi
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
REQUIRED_OS_NAME=Linux
REQUIRED_OS_VERSION=2.6
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
REQUIRED_OS_NAME=Windows
REQUIRED_OS_VERSION=5.1
fi
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
REQUIRED_OS_NAME=Darwin
REQUIRED_OS_VERSION=11.2
fi
AC_SUBST(REQUIRED_OS_NAME)
AC_SUBST(REQUIRED_OS_VERSION)
])
#%%% Build and target systems %%%
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
[
# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
# is confusing; it assumes you are cross-compiling a cross-compiler (!) and "target" is thus the target of the
# product you're building. The target of this build is called "host". Since this is confusing to most people, we
# have not adopted that system, but use "target" as the platform we are building for. In some places though we need
# to use the configure naming style.
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
AC_ARG_WITH(target-bits, [AS_HELP_STRING([--with-target-bits],
[build 32-bit or 64-bit binaries (for platforms that support it), e.g. --with-target-bits=32 @<:@guessed@:>@])])
if test "x$with_target_bits" != x && \
test "x$with_target_bits" != x32 && \
test "x$with_target_bits" != x64 ; then
AC_MSG_ERROR([--with-target-bits can only be 32 or 64, you specified $with_target_bits!])
fi
# Translate the standard cpu-vendor-kernel-os quadruplets into
# the new TARGET_.... and BUILD_... and the legacy names used by
# the openjdk build.
# It uses $host_os $host_cpu $build_os $build_cpu and $with_target_bits
PLATFORM_EXTRACT_TARGET_AND_BUILD_AND_LEGACY_VARS
# The LEGACY_OPENJDK_TARGET_CPU3 is the setting for ISA_DIR.
if test "x$LEGACY_OPENJDK_TARGET_CPU3" != x; then
LEGACY_OPENJDK_TARGET_CPU3="/${LEGACY_OPENJDK_TARGET_CPU3}"
fi
# Now the following vars are defined.
# OPENJDK_TARGET_OS=aix,bsd,hpux,linux,macosx,solaris,windows
# OPENJDK_TARGET_OS_FAMILY=bsd,gnu,sysv,win32,wince
# OPENJDK_TARGET_OS_API=posix,winapi
#
# OPENJDK_TARGET_CPU=ia32,x64,sparc,sparcv9,arm,arm64,ppc,ppc64
# OPENJDK_TARGET_CPU_ARCH=x86,sparc,pcc,arm
# OPENJDK_TARGET_CPU_BITS=32,64
# OPENJDK_TARGET_CPU_ENDIAN=big,little
#
# There is also a:
# LEGACY_OPENJDK_TARGET_CPU1=i586,amd64,.... # used to set the old var ARCH
# LEGACY_OPENJDK_TARGET_CPU2=i386,amd64,.... # used to set the old var LIBARCH
# LEGACY_OPENJDK_TARGET_CPU3=only sparcv9,amd64 # used to set the ISA_DIR on Solaris
# There was also a BUILDARCH that had i486,amd64,... but we do not use that
# in the new build.
# LEGACY_OPENJDK_TARGET_OS_API=solaris,windows # used to select source roots
])
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],
[
###############################################################################
# Note that this is the build platform OS version!
OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
AC_SUBST(OS_VERSION_MAJOR)
AC_SUBST(OS_VERSION_MINOR)
AC_SUBST(OS_VERSION_MICRO)
])
AC_DEFUN_ONCE([PLATFORM_TEST_OPENJDK_TARGET_BITS],
[
###############################################################################
#
# Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
# (The JVM can use 32 or 64 bit Java pointers but that decision
# is made at runtime.)
#
AC_LANG_PUSH(C++)
OLD_CXXFLAGS="$CXXFLAGS"
if test "x$OPENJDK_TARGET_OS" != xwindows && test "x$with_target_bits" != x; then
CXXFLAGS="-m${with_target_bits} $CXXFLAGS"
fi
AC_CHECK_SIZEOF([int *], [1111])
CXXFLAGS="$OLD_CXXFLAGS"
AC_LANG_POP(C++)
# keep track of c/cxx flags that we added outselves...
# to prevent emitting warning...
ADDED_CFLAGS=
ADDED_CXXFLAGS=
ADDED_LDFLAGS=
if test "x$ac_cv_sizeof_int_p" = x0; then
# The test failed, lets pick the assumed value.
ARCH_DATA_MODEL=$OPENJDK_TARGET_CPU_BITS
else
ARCH_DATA_MODEL=`expr 8 \* $ac_cv_sizeof_int_p`
if test "x$OPENJDK_TARGET_OS" != xwindows && test "x$with_target_bits" != x; then
ADDED_CFLAGS=" -m${with_target_bits}"
ADDED_CXXFLAGS=" -m${with_target_bits}"
ADDED_LDFLAGS=" -m${with_target_bits}"
CFLAGS="${CFLAGS}${ADDED_CFLAGS}"
CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}"
LDFLAGS="${LDFLAGS}${ADDED_LDFLAGS}"
CFLAGS_JDK="${CFLAGS_JDK}${ADDED_CFLAGS}"
CXXFLAGS_JDK="${CXXFLAGS_JDK}${ADDED_CXXFLAGS}"
LDFLAGS_JDK="${LDFLAGS_JDK}${ADDED_LDFLAGS}"
fi
fi
if test "x$ARCH_DATA_MODEL" = x64; then
A_LP64="LP64:="
ADD_LP64="-D_LP64=1"
fi
AC_MSG_CHECKING([for target address size])
AC_MSG_RESULT([$ARCH_DATA_MODEL bits])
AC_SUBST(LP64,$A_LP64)
AC_SUBST(ARCH_DATA_MODEL)
if test "x$ARCH_DATA_MODEL" != "x$OPENJDK_TARGET_CPU_BITS"; then
AC_MSG_ERROR([The tested number of bits in the target ($ARCH_DATA_MODEL) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
fi
#
# NOTE: check for -mstackrealign needs to be below potential addition of -m32
#
if test "x$OPENJDK_TARGET_CPU_BITS" = x32 && test "x$OPENJDK_TARGET_OS" = xmacosx; then
# On 32-bit MacOSX the OS requires C-entry points to be 16 byte aligned.
# While waiting for a better solution, the current workaround is to use -mstackrealign.
CFLAGS="$CFLAGS -mstackrealign"
AC_MSG_CHECKING([if 32-bit compiler supports -mstackrealign])
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
[
AC_MSG_RESULT([yes])
],
[
AC_MSG_RESULT([no])
AC_MSG_ERROR([The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path.])
])
fi
])
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS],
[
###############################################################################
#
# Is the target little of big endian?
#
AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal_endianness"])
if test "x$ENDIAN" = xuniversal_endianness; then
AC_MSG_ERROR([Building with both big and little endianness is not supported])
fi
if test "x$ENDIAN" = xunknown; then
ENDIAN="$OPENJDK_TARGET_CPU_ENDIAN"
fi
if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then
AC_MSG_WARN([The tested endian in the target ($ENDIAN) differs from the endian expected to be found in the target ($OPENJDK_TARGET_CPU_ENDIAN)])
ENDIAN="$OPENJDK_TARGET_CPU_ENDIAN"
fi
AC_SUBST(ENDIAN)
])
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_ISADIR],
[
###############################################################################
#
# Could someone enlighten this configure script with a comment about libCrun?
#
#
])

View File

@@ -0,0 +1,280 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN_ONCE([SRCDIRS_SETUP_TOPDIRS],
[
# Where are the sources. Any of these can be overridden
# using --with-override-corba and the likes.
LANGTOOLS_TOPDIR="$SRC_ROOT/langtools"
CORBA_TOPDIR="$SRC_ROOT/corba"
JAXP_TOPDIR="$SRC_ROOT/jaxp"
JAXWS_TOPDIR="$SRC_ROOT/jaxws"
HOTSPOT_TOPDIR="$SRC_ROOT/hotspot"
JDK_TOPDIR="$SRC_ROOT/jdk"
AC_SUBST(LANGTOOLS_TOPDIR)
AC_SUBST(CORBA_TOPDIR)
AC_SUBST(JAXP_TOPDIR)
AC_SUBST(JAXWS_TOPDIR)
AC_SUBST(HOTSPOT_TOPDIR)
AC_SUBST(JDK_TOPDIR)
])
AC_DEFUN_ONCE([SRCDIRS_SETUP_ALTERNATIVE_TOPDIRS],
[
###############################################################################
#
# Pickup additional source for a component from outside of the source root
# or override source for a component.
#
AC_ARG_WITH(add-source-root, [AS_HELP_STRING([--with-add-source-root],
[for each and every source directory, look in this additional source root for
the same directory; if it exists and have files in it, include it in the build])])
AC_ARG_WITH(override-source-root, [AS_HELP_STRING([--with-override-source-root],
[for each and every source directory, look in this override source root for
the same directory; if it exists, use that directory instead and
ignore the directory in the original source root])])
AC_ARG_WITH(adds-and-overrides, [AS_HELP_STRING([--with-adds-and-overrides],
[use the subdirs 'adds' and 'overrides' in the specified directory as
add-source-root and override-source-root])])
if test "x$with_adds_and_overrides" != x; then
with_add_source_root="$with_adds_and_overrides/adds"
with_override_source_root="$with_adds_and_overrides/overrides"
fi
if test "x$with_add_source_root" != x; then
if ! test -d $with_add_source_root; then
AC_MSG_ERROR([Trying to use a non-existant add-source-root $with_add_source_root])
fi
CURDIR="$PWD"
cd "$with_add_source_root"
ADD_SRC_ROOT="`pwd`"
cd "$CURDIR"
# Verify that the addon source root does not have any root makefiles.
# If it does, then it is usually an error, prevent this.
if test -f $with_add_source_root/langtools/makefiles/Makefile || \
test -f $with_add_source_root/langtools/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/corba/makefiles/Makefile || \
test -f $with_add_source_root/corba/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/jaxp/makefiles/Makefile || \
test -f $with_add_source_root/jaxp/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/jaxws/makefiles/Makefile || \
test -f $with_add_source_root/jaxws/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/hotspot/makefiles/Makefile || \
test -f $with_add_source_root/hotspot/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/jdk/makefiles/Makefile || \
test -f $with_add_source_root/jdk/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.])
fi
fi
AC_SUBST(ADD_SRC_ROOT)
if test "x$with_override_source_root" != x; then
if ! test -d $with_override_source_root; then
AC_MSG_ERROR([Trying to use a non-existant override-source-root $with_override_source_root])
fi
CURDIR="$PWD"
cd "$with_override_source_root"
OVERRIDE_SRC_ROOT="`pwd`"
cd "$CURDIR"
if test -f $with_override_source_root/langtools/makefiles/Makefile || \
test -f $with_override_source_root/langtools/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/corba/makefiles/Makefile || \
test -f $with_override_source_root/corba/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/jaxp/makefiles/Makefile || \
test -f $with_override_source_root/jaxp/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/jaxws/makefiles/Makefile || \
test -f $with_override_source_root/jaxws/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/hotspot/makefiles/Makefile || \
test -f $with_override_source_root/hotspot/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/jdk/makefiles/Makefile || \
test -f $with_override_source_root/jdk/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.])
fi
fi
AC_SUBST(OVERRIDE_SRC_ROOT)
###############################################################################
#
# Override a repo completely, this is used for example when you have 3 small
# development sandboxes of the langtools sources and want to avoid having 3 full
# OpenJDK sources checked out on disk.
#
# Assuming that the 3 langtools sandboxes are located here:
# /home/fredrik/sandbox1/langtools
# /home/fredrik/sandbox2/langtools
# /home/fredrik/sandbox3/langtools
#
# From the source root you create build subdirs manually:
# mkdir -p build1 build2 build3
# in each build directory run:
# (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make)
# (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make)
# (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make)
#
AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools],
[use this langtools dir for the build])])
AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba],
[use this corba dir for the build])])
AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp],
[use this jaxp dir for the build])])
AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws],
[use this jaxws dir for the build])])
AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot],
[use this hotspot dir for the build])])
AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk],
[use this jdk dir for the build])])
if test "x$with_override_langtools" != x; then
CURDIR="$PWD"
cd "$with_override_langtools"
LANGTOOLS_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $LANGTOOLS_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override langtools with a full langtools repo!])
fi
AC_MSG_CHECKING([if langtools should be overridden])
AC_MSG_RESULT([yes with $LANGTOOLS_TOPDIR])
fi
if test "x$with_override_corba" != x; then
CURDIR="$PWD"
cd "$with_override_corba"
CORBA_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $CORBA_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override corba with a full corba repo!])
fi
AC_MSG_CHECKING([if corba should be overridden])
AC_MSG_RESULT([yes with $CORBA_TOPDIR])
fi
if test "x$with_override_jaxp" != x; then
CURDIR="$PWD"
cd "$with_override_jaxp"
JAXP_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $JAXP_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override jaxp with a full jaxp repo!])
fi
AC_MSG_CHECKING([if jaxp should be overridden])
AC_MSG_RESULT([yes with $JAXP_TOPDIR])
fi
if test "x$with_override_jaxws" != x; then
CURDIR="$PWD"
cd "$with_override_jaxws"
JAXWS_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $JAXWS_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override jaxws with a full jaxws repo!])
fi
AC_MSG_CHECKING([if jaxws should be overridden])
AC_MSG_RESULT([yes with $JAXWS_TOPDIR])
fi
if test "x$with_override_hotspot" != x; then
CURDIR="$PWD"
cd "$with_override_hotspot"
HOTSPOT_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $HOTSPOT_TOPDIR/make/Makefile && \
! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override hotspot with a full hotspot repo!])
fi
AC_MSG_CHECKING([if hotspot should be overridden])
AC_MSG_RESULT([yes with $HOTSPOT_TOPDIR])
fi
if test "x$with_override_jdk" != x; then
CURDIR="$PWD"
cd "$with_override_jdk"
JDK_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $JDK_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override JDK with a full JDK repo!])
fi
AC_MSG_CHECKING([if JDK should be overridden])
AC_MSG_RESULT([yes with $JDK_TOPDIR])
fi
])
AC_DEFUN_ONCE([SRCDIRS_SETUP_OUTPUT_DIRS],
[
LANGTOOLS_OUTPUTDIR="$OUTPUT_ROOT/langtools"
CORBA_OUTPUTDIR="$OUTPUT_ROOT/corba"
JAXP_OUTPUTDIR="$OUTPUT_ROOT/jaxp"
JAXWS_OUTPUTDIR="$OUTPUT_ROOT/jaxws"
HOTSPOT_OUTPUTDIR="$OUTPUT_ROOT/hotspot"
JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk"
IMAGES_OUTPUTDIR="$OUTPUT_ROOT/images"
AC_SUBST(LANGTOOLS_OUTPUTDIR)
AC_SUBST(CORBA_OUTPUTDIR)
AC_SUBST(JAXP_OUTPUTDIR)
AC_SUBST(JAXWS_OUTPUTDIR)
AC_SUBST(HOTSPOT_OUTPUTDIR)
AC_SUBST(JDK_OUTPUTDIR)
AC_SUBST(IMAGES_OUTPUTDIR)
LANGTOOLS_DIST="$OUTPUT_ROOT/langtools/dist"
CORBA_DIST="$OUTPUT_ROOT/corba/dist"
JAXP_DIST="$OUTPUT_ROOT/jaxp/dist"
JAXWS_DIST="$OUTPUT_ROOT/jaxws/dist"
HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist"
AC_SUBST(LANGTOOLS_DIST)
AC_SUBST(CORBA_DIST)
AC_SUBST(JAXP_DIST)
AC_SUBST(JAXWS_DIST)
AC_SUBST(HOTSPOT_DIST)
])

638
common/autoconf/spec.gmk.in Normal file
View File

@@ -0,0 +1,638 @@
#
# Copyright (c) 2011, 2012, 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.
#
# Configured @DATE_WHEN_CONFIGURED@ to build for a @OPENJDK_TARGET_SYSTEM@ system,
# using 'configure @CONFIGURE_COMMAND_LINE@'
# When calling macros, the spaces between arguments are
# often semantically important! Sometimes we need to subst
# spaces and commas, therefore we need the following macros.
X:=
SPACE:=$(X) $(X)
COMMA:=,
HASH:=\#
SQUOTE:='
#'
DQUOTE:="
#"
define NEWLINE:=
endef
# Pass along the verbosity setting.
ifeq (,$(findstring VERBOSE=,$(MAKE)))
MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)"
endif
# No implicit variables or rules!
ifeq (,$(findstring -R,$(MAKE)))
MAKE:=$(MAKE) -R
endif
# Specify where the spec file is.
ifeq (,$(findstring SPEC=,$(MAKE)))
MAKE:=$(MAKE) SPEC=@SPEC@
endif
# Specify where the common include directory for makefiles is.
ifeq (,$(findstring -I @SRC_ROOT@/common/makefiles,$(MAKE)))
MAKE:=$(MAKE) -I @SRC_ROOT@/common/makefiles
endif
# A self-referential reference to this file.
SPEC:=@SPEC@
# The "human readable" name of this configuration
CONF_NAME:=@CONF_NAME@
# The built jdk will run in this target system.
OPENJDK_TARGET_SYSTEM:=@OPENJDK_TARGET_SYSTEM@
OPENJDK_TARGET_OS:=@OPENJDK_TARGET_OS@
OPENJDK_TARGET_OS_FAMILY:=@OPENJDK_TARGET_OS_FAMILY@
OPENJDK_TARGET_OS_API:=@OPENJDK_TARGET_OS_API@
OPENJDK_TARGET_CPU:=@OPENJDK_TARGET_CPU@
OPENJDK_TARGET_CPU_ARCH:=@OPENJDK_TARGET_CPU_ARCH@
OPENJDK_TARGET_CPU_BITS:=@OPENJDK_TARGET_CPU_BITS@
OPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@
# We are building on this build system.
# When not cross-compiling, it is the same as the target.
OPENJDK_BUILD_SYSTEM:=@OPENJDK_BUILD_SYSTEM@
OPENJDK_BUILD_OS:=@OPENJDK_BUILD_OS@
OPENJDK_BUILD_OS_FAMILY:=@OPENJDK_BUILD_OS_FAMILY@
OPENJDK_BUILD_OS_API:=@OPENJDK_BUILD_OS_API@
OPENJDK_BUILD_CPU:=@OPENJDK_BUILD_CPU@
OPENJDK_BUILD_CPU_ARCH:=@OPENJDK_BUILD_CPU_ARCH@
OPENJDK_BUILD_CPU_BITS:=@OPENJDK_BUILD_CPU_BITS@
OPENJDK_BUILD_CPU_ENDIAN:=@OPENJDK_BUILD_CPU_ENDIAN@
# Legacy OS values for use in release file.
REQUIRED_OS_NAME:=@REQUIRED_OS_NAME@
REQUIRED_OS_VERSION:=@REQUIRED_OS_VERSION@
# Old name for OPENJDK_TARGET_OS (aix,bsd,hpux,linux,macosx,solaris,windows etc)
PLATFORM:=@OPENJDK_TARGET_OS@
# Old name for OPENJDK_TARGET_CPU, uses i586 and amd64, instead of ia32 and x64.
ARCH:=@LEGACY_OPENJDK_TARGET_CPU1@
# Yet another name for arch used for an extra subdir below the jvm lib.
# Uses i386 and amd64, instead of ia32 and x64.
LIBARCH:=@LEGACY_OPENJDK_TARGET_CPU2@
# Use to switch between solaris and windows subdirs in the jdk.
LEGACY_OPENJDK_TARGET_OS_API:=@LEGACY_OPENJDK_TARGET_OS_API@
# 32 or 64 bit
ARCH_DATA_MODEL:=@OPENJDK_TARGET_CPU_BITS@
# Legacy setting for building for a 64 bit machine.
# If yes then this expands to _LP64:=1
@LP64@
ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@
@SET_OPENJDK@
JIGSAW:=@JIGSAW@
LIBM:=-lm
LIBDL:=@LIBDL@
# colon or semicolon
PATH_SEP:=@PATH_SEP@
# Set special env variables, to be passed to external tools.
# Used for cygwin setups.
@SETUPDEVENV@
# The sys root where standard headers and libraries are found.
# Usually not needed since the configure script should have
# taken it into account already when setting CFLAGS et al.
SYS_ROOT:=@SYS_ROOT@
# Paths to the source code
SRC_ROOT:=@SRC_ROOT@
ADD_SRC_ROOT:=@ADD_SRC_ROOT@
OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@
TOPDIR:=@SRC_ROOT@
OUTPUT_ROOT:=@OUTPUT_ROOT@
JDK_MAKE_SHARED_DIR:=@JDK_TOPDIR@/makefiles/common/shared
JDK_TOPDIR:=@JDK_TOPDIR@
LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@
CORBA_TOPDIR:=@CORBA_TOPDIR@
JAXP_TOPDIR:=@JAXP_TOPDIR@
JAXWS_TOPDIR:=@JAXWS_TOPDIR@
HOTSPOT_TOPDIR:=@HOTSPOT_TOPDIR@
COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@
# Information gathered from the version.numbers file.
JDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@
JDK_MINOR_VERSION:=@JDK_MINOR_VERSION@
JDK_MICRO_VERSION:=@JDK_MICRO_VERSION@
JDK_UPDATE_VERSION:=@JDK_UPDATE_VERSION@
JDK_BUILD_NUMBER:=@JDK_BUILD_NUMBER@
MILESTONE:=@MILESTONE@
LAUNCHER_NAME:=@LAUNCHER_NAME@
PRODUCT_NAME:=@PRODUCT_NAME@
PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@
JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@
COMPANY_NAME:=@COMPANY_NAME@
# Different version strings generated from the above information.
JDK_VERSION:=@JDK_VERSION@
RUNTIME_NAME:=@RUNTIME_NAME@
FULL_VERSION:=@FULL_VERSION@
JRE_RELEASE_VERSION:=@FULL_VERSION@
RELEASE:=@RELEASE@
COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@
# How to compile the code: release, fastdebug or slowdebug
DEBUG_LEVEL:=@DEBUG_LEVEL@
# This is the JDK variant to build.
# The JDK variant is a name for a specific set of modules to be compiled for the JDK.
JDK_VARIANT:=@JDK_VARIANT@
# Legacy defines controlling the JDK variant embedded.
@JAVASE_EMBEDDED@
@MINIMIZE_RAM_USAGE@
# Should we compile support for running with a graphical UI? (ie headful)
# Should we compile support for running without? (ie headless)
SUPPORT_HEADFUL:=@SUPPORT_HEADFUL@
SUPPORT_HEADLESS:=@SUPPORT_HEADLESS@
# Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options.
@BUILD_HEADLESS@
@BUILD_HEADLESS_ONLY@
# These are the libjvms that we want to build.
# The java launcher uses the default.
# The other can be selected by specifying -client -server -kernel -zero or -zeroshark
# on the java launcher command line.
JVM_VARIANTS:=@JVM_VARIANTS@
JVM_VARIANT_SERVER:=@JVM_VARIANT_SERVER@
JVM_VARIANT_CLIENT:=@JVM_VARIANT_CLIENT@
JVM_VARIANT_KERNEL:=@JVM_VARIANT_KERNEL@
JVM_VARIANT_ZERO:=@JVM_VARIANT_ZERO@
JVM_VARIANT_ZEROSHARK:=@JVM_VARIANT_ZEROSHARK@
# Legacy setting: OPT or DBG
VARIANT:=@VARIANT@
# Legacy setting: true or false
FASTDEBUG:=@FASTDEBUG@
# Legacy setting: debugging the class files?
DEBUG_CLASSFILES:=@DEBUG_CLASSFILES@
# Legacy setting: -debug or -fastdebug
BUILD_VARIANT_RELEASE:=@BUILD_VARIANT_RELEASE@
LANGTOOLS_OUTPUTDIR:=@LANGTOOLS_OUTPUTDIR@
CORBA_OUTPUTDIR:=@CORBA_OUTPUTDIR@
JAXP_OUTPUTDIR:=@JAXP_OUTPUTDIR@
JAXWS_OUTPUTDIR:=@JAXWS_OUTPUTDIR@
HOTSPOT_OUTPUTDIR:=@HOTSPOT_OUTPUTDIR@
# This where a working jvm is built.
# You can run $(JDK_OUTPUTDIR)/bin/java
# Though the layout of the contents of $(JDK_OUTPUTDIR) is not
# yet the same as a default installation.
JDK_OUTPUTDIR:=@OUTPUT_ROOT@/jdk
# When you run "make install" it will create the standardized
# layout for the jdk and the jre inside the images subdir.
# Then it will copy the contents of the jdk into the installation
# directory.
IMAGES_OUTPUTDIR:=@OUTPUT_ROOT@/images
LANGTOOLS_DIST:=@LANGTOOLS_DIST@
CORBA_DIST:=@CORBA_DIST@
JAXP_DIST:=@JAXP_DIST@
JAXWS_DIST:=@JAXWS_DIST@
HOTSPOT_DIST:=@HOTSPOT_DIST@
# Legacy variables used by Release.gmk
JDK_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2sdk-image
JRE_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2re-image
# Can be /sparcv9 or /amd64 on Solaris
ISA_DIR:=@LEGACY_OPENJDK_TARGET_CPU3@
BINDIR:=$(JDK_OUTPUTDIR)/bin$(ISA_DIR)
# The boot jdk to use
ALT_BOOTDIR:=@BOOT_JDK@
BOOT_JDK:=@BOOT_JDK@
BOOT_JDK_JVMARGS:=@BOOT_JDK_JVMARGS@
BOOT_RTJAR:=@BOOT_RTJAR@
BOOT_TOOLSJAR:=@BOOT_TOOLSJAR@
# When compiling Java source to be run by the boot jdk
# use these extra flags, eg -source 6 -target 6
BOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@
# Information about the build system
NUM_CORES:=@NUM_CORES@
# This is used from the jdk build for C/C++ code.
PARALLEL_COMPILE_JOBS:=@CONCURRENT_BUILD_JOBS@
# Store javac server synchronization files here, and
# the javac server log files.
JAVAC_SERVERS:=@JAVAC_SERVERS@
# Should we use a javac server or not? The javac server gives
# an enormous performance improvement since it reduces the
# startup costs of javac and reuses as much as possible of intermediate
# compilation work. But if we want to compile with a non-Java
# javac compiler, like gcj. Then we cannot use javac server and
# this variable is set to false.
JAVAC_USE_REMOTE:=@JAVAC_USE_REMOTE@
# We can block the Javac server to never use more cores than this.
# This is not for performance reasons, but for memory usage, since each
# core requires its own JavaCompiler. We might have 64 cores and 4GB
# of memory, 64 JavaCompilers will currently not fit in a 3GB heap.
# Since there is no sharing of data between the JavaCompilers.
JAVAC_SERVER_CORES:=@JAVAC_SERVER_CORES@
# Should we use dependency tracking between Java packages? true or false.
JAVAC_USE_DEPS:=@JAVAC_USE_DEPS@
# We can invoke javac: SINGLE_THREADED_BATCH or MULTI_CORE_CONCURRENT
JAVAC_USE_MODE:=@JAVAC_USE_MODE@
# Enable not yet complete sjavac support.
ENABLE_SJAVAC:=@ENABLE_SJAVAC@
# The OpenJDK makefiles should be changed to using the standard
# configure output ..._CFLAGS and ..._LIBS. In the meantime we
# extract the information here.
FREETYPE2_LIB_PATH:=@FREETYPE2_LIB_PATH@
FREETYPE2_LIBS:=@FREETYPE2_LIBS@
FREETYPE2_CFLAGS:=@FREETYPE2_CFLAGS@
USING_SYSTEM_FT_LIB=@USING_SYSTEM_FT_LIB@
ALT_CUPS_HEADERS_PATH:=$(patsubst -I%,%,$(filter -I%,@CUPS_CFLAGS@))
CUPS_CFLAGS:=@CUPS_CFLAGS@
PACKAGE_PATH=@PACKAGE_PATH@
# Source file for cacerts
CACERTS_FILE=@CACERTS_FILE@
#MOZILLA_HEADERS_PATH:=
# Necessary additional compiler flags to compile X11
X_CFLAGS:=@X_CFLAGS@
X_LIBS:=@X_LIBS@
OPENWIN_HOME:=@OPENWIN_HOME@
# There are two types: CC or CL
# CC is gcc and others behaving reasonably similar.
# CL is cl.exe only.
COMPILER_TYPE:=@COMPILER_TYPE@
CC_OUT_OPTION:=@CC_OUT_OPTION@
EXE_OUT_OPTION:=@EXE_OUT_OPTION@
LD_OUT_OPTION:=@LD_OUT_OPTION@
AR_OUT_OPTION:=@AR_OUT_OPTION@
# Flags used for overriding the default opt setting for a C/C++ source file.
C_O_FLAG_HIGHEST:=@C_O_FLAG_HIGHEST@
C_O_FLAG_HI:=@C_O_FLAG_HI@
C_O_FLAG_NORM:=@C_O_FLAG_NORM@
C_O_FLAG_NONE:=@C_O_FLAG_NONE@
CXX_O_FLAG_HIGHEST:=@CXX_O_FLAG_HIGHEST@
CXX_O_FLAG_HI:=@CXX_O_FLAG_HI@
CXX_O_FLAG_NORM:=@CXX_O_FLAG_NORM@
CXX_O_FLAG_NONE:=@CXX_O_FLAG_NONE@
C_FLAG_DEPS:=@C_FLAG_DEPS@
CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
# Tools that potentially need to be cross compilation aware.
CC:=@UNCYGDRIVE@ @CCACHE@ @CC@
# CFLAGS used to compile the jdk native libraries (C-code)
CFLAGS_JDKLIB:=@CFLAGS_JDKLIB@
CXXFLAGS_JDKLIB:=@CXXFLAGS_JDKLIB@
# CFLAGS used to compile the jdk native launchers (C-code)
CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@
CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
CXX:=@UNCYGDRIVE@ @CCACHE@ @CXX@
#CXXFLAGS:=@CXXFLAGS@
OBJC:=@CCACHE@ @OBJC@
#OBJCFLAGS:=@OBJCFLAGS@
CPP:=@UNCYGDRIVE@ @CPP@
#CPPFLAGS:=@CPPFLAGS@
# The linker can be gcc or ld on posix systems, or link.exe on winapi systems.
LD:=@UNCYGDRIVE@ @LD@
# LDFLAGS used to link the jdk native libraries (C-code)
LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@
# On some platforms the linker cannot be used to create executables, thus
# the need for a separate LDEXE command.
LDEXE:=@UNCYGDRIVE@ @LDEXE@
# LDFLAGS used to link the jdk native launchers (C-code)
LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@
# Sometimes a different linker is needed for c++ libs
LDCXX:=@UNCYGDRIVE@ @LDCXX@
# The flags for linking libstdc++ linker.
LIBCXX:=@LIBCXX@
# Sometimes a different linker is needed for c++ executables
LDEXECXX:=@UNCYGDRIVE@ @LDEXECXX@
# If cross compiling, then define CROSS_COMPILE_ARCH:=cpu_name here.
@DEFINE_CROSS_COMPILE_ARCH@
# The HOSTCC should really be named BUILDCC, ie build executable for
# the build platform. Same as CC when not cross compiling.
HOSTCC:=@UNCYGDRIVE@ @HOSTCC@
HOSTCXX:=@UNCYGDRIVE@ @HOSTCXX@
# And of course, the jdk spells HOSTCC as NIO_CC/HOST_CC
HOST_CC:=@UNCYGDRIVE@ @HOSTCC@
NIO_CC:=@UNCYGDRIVE@ @HOSTCC@
HOST_LD:=@UNCYGDRIVE@ @HOSTLD@
AS:=@UNCYGDRIVE@ @AS@
ASFLAGS:=@ASFLAGS@
# AR is used to create a static library (is ar in posix, lib.exe in winapi)
AR:=@UNCYGDRIVE@ @AR@
ARFLAGS:=@ARFLAGS@
NM:=@UNCYGDRIVE@ @NM@
STRIP:=@UNCYGDRIVE@ @STRIP@
MCS:=@UNCYGDRIVE@ @MCS@
# Command to create a shared library
SHARED_LIBRARY_FLAGS:=@SHARED_LIBRARY_FLAGS@
# Options to linker to specify a mapfile.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@
# Options for C/CXX compiler to be used if linking is performed
# using reorder file
C_FLAG_REORDER:=@C_FLAG_REORDER@
CXX_FLAG_REORDER:=@CXX_FLAG_REORDER@
#
# Options for generating debug symbols
ENABLE_DEBUG_SYMBOLS:=@ENABLE_DEBUG_SYMBOLS@
CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@
ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@
#
# Compress (or not) jars
COMPRESS_JARS=@COMPRESS_JARS@
# Options to linker to specify the library name.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_NAME=@SET_SHARED_LIBRARY_NAME@
# Set origin using the linker, ie use the relative path to the dependent library to find the dependees.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_ORIGIN=@SET_SHARED_LIBRARY_ORIGIN@
# Different OS:es have different ways of naming shared libraries.
# The SHARED_LIBRARY macro takes "verify" as and argument and returns:
# "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SHARED_LIBRARY=@SHARED_LIBRARY@
STATIC_LIBRARY=@STATIC_LIBRARY@
LIBRARY_PREFIX:=@LIBRARY_PREFIX@
SHARED_LIBRARY_SUFFIX:=@SHARED_LIBRARY_SUFFIX@
STATIC_LIBRARY_SUFFIX:=@STATIC_LIBRARY_SUFFIX@
EXE_SUFFIX:=@EXE_SUFFIX@
OBJ_SUFFIX:=@OBJ_SUFFIX@
POST_STRIP_CMD:=@POST_STRIP_CMD@
POST_MCS_CMD:=@POST_MCS_CMD@
JAVA_FLAGS:=@BOOT_JDK_JVMARGS@
JAVA=@UNCYGDRIVE@ @JAVA@ $(JAVA_FLAGS)
JAVAC:=@UNCYGDRIVE@ @JAVAC@
JAVAC_FLAGS:=@JAVAC_FLAGS@
JAVAH:=@UNCYGDRIVE@ @JAVAH@
JAR:=@UNCYGDRIVE@ @JAR@
RMIC:=@UNCYGDRIVE@ @RMIC@
NATIVE2ASCII:=@UNCYGDRIVE@ @NATIVE2ASCII@
BOOT_JAR_CMD:=@UNCYGDRIVE@ @JAR@
BOOT_JAR_JFLAGS:=
# Base flags for RC
# Guarding this against resetting value. Legacy make files include spec multiple
# times.
ifndef RC_FLAGS
RC_FLAGS:=@RC_FLAGS@
endif
# A specific java binary with specific options can be used to run
# the long running background javac server and other long running tasks.
SERVER_JAVA:=@UNCYGDRIVE@ @SERVER_JAVA@
# Tools adhering to a minimal and common standard of posix compliance.
AWK:=@AWK@
CAT:=@CAT@
CCACHE:=@CCACHE@
# CD is going away, but remains to cater for legacy makefiles.
CD:=cd
CHMOD:=@CHMOD@
CP:=@CP@
CPIO:=@CPIO@
CUT:=@CUT@
DATE:=@DATE@
DF:=@DF@
DIFF:=@DIFF@
FIND:=@FIND@
FIND_DELETE:=@FIND_DELETE@
ECHO:=@ECHO@
EGREP:=@EGREP@
FGREP:=@FGREP@
GREP:=@GREP@
HEAD:=@HEAD@
LS:=@LS@
LN:=@LN@
MKDIR:=@MKDIR@
MV:=@MV@
NAWK:=@NAWK@
PRINTF:=@PRINTF@
PWD:=@THEPWDCMD@
RM:=@RM@
SED:=@SED@
SH:=@SH@
SORT:=@SORT@
TAR:=@TAR@
TAIL:=@TAIL@
TEE:=@TEE@
TR:=@TR@
TOUCH:=@TOUCH@
WC:=@WC@
XARGS:=@XARGS@
ZIPEXE:=@ZIP@
ZIP:=@ZIP@
UNZIP:=@UNZIP@
MT:=@UNCYGDRIVE@ @MT@
RC:=@UNCYGDRIVE@ @RC@
DUMPBIN:=@UNCYGDRIVE@ @DUMPBIN@
CYGPATH:=@CYGPATH@
LDD:=@LDD@
OTOOL:=@OTOOL@
READELF:=@READELF@
EXPR:=@EXPR@
FILE:=@FILE@
HG:=@HG@
OBJCOPY:=@OBJCOPY@
UNCYGDRIVE:=@UNCYGDRIVE@
# Where the build output is stored for your convenience.
BUILD_LOG:=@BUILD_LOG@
BUILD_LOG_PREVIOUS:=@BUILD_LOG_PREVIOUS@
BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
# Build setup
ENABLE_DOCS:=@ENABLE_DOCS@
GENERATE_DOCS:=@ENABLE_DOCS@
DISABLE_NIMBUS:=@DISABLE_NIMBUS@
ENABLE_JFR=@ENABLE_JFR@
USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
CHECK_FOR_VCINSTALLDIR=@CHECK_FOR_VCINSTALLDIR@
MSVCRNN_DLL:=@MSVCR100DLL@
# ADD_SRCS takes a single argument with source roots
# and appends any corresponding source roots found
# below --with-add-source-root and below
# --with-override-source-root. It is the responsibility
# of the next macro to get rid of superfluous files.
ADD_SRCS=$1
ifneq (,$(ADD_SRC_ROOT))
# Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT
ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1))
endif
ifneq (,$(OVERRIDE_SRC_ROOT))
# Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT
ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1))
endif
# OVR_SRCS creates a filter expression to filter out sources in
# the original source directory that lie inside directories below
# --with-override-source-root.
# Use := here since we want to scan for these files here. To avoid recomputation later.
# We cannot do the scan in configure, since that would force us to rerun configure when
# we add overridden sources.
ifneq (,$(OVERRIDE_SRC_ROOT))
OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f)))))
else
OVR_SRCS:=
endif
####################################################
#
# Legacy Hotspot support
HOTSPOT_DIST:=@HOTSPOT_DIST@
HOTSPOT_MAKE_ARGS:=@HOTSPOT_MAKE_ARGS@
# This is used from the libjvm build for C/C++ code.
HOTSPOT_BUILD_JOBS:=@CONCURRENT_BUILD_JOBS@
# Control wether Hotspot runs Queens test after building
TEST_IN_BUILD=@TEST_IN_BUILD@
####################################################
#
# INSTALLATION
#
# Common prefix for all installed files. Defaults to /usr/local,
# but /opt/myjdk is another common version.
INSTALL_PREFIX=@prefix@
# Directories containing architecture-dependent files should be relative to exec_prefix
INSTALL_EXECPREFIX=@exec_prefix@
# java,javac,javah,javap etc are installed here.
INSTALL_BINDIR=@bindir@
# Read only architecture-independent data
INSTALL_DATADIR=@datadir@
# Root of above.
INSTALL_DATAROOTDIR=@datarootdir@
# Doc files, other than info and man.
INSTALL_DOCDIR=@docdir@
# Html documentation
INSTALL_HTMLDIR=@htmldir@
# Installing C header files, JNI headers for example.
INSTALL_INCLUDEDIR=@includedir@
# Installing library files....
INSTALL_INCLUDEDIR=@libdir@
# Executables that other programs run.
INSTALL_LIBEXECDIR=@libexecdir@
# Locale-dependent but architecture-independent data, such as message catalogs.
INSTALL_LOCALEDIR=@localedir@
# Modifiable single-machine data
INSTALL_LOCALSTATEDIR=@localstatedir@
# Man pages
INSTALL_MANDIR=@mandir@
# Modifiable architecture-independent data.
INSTALL_SHAREDSTATEDIR=@sharedstatedir@
# Read-only single-machine data
INSTALL_SYSCONFDIR=@sysconfdir@
####################################################
#
# Misc
#
# Name of Service Agent library
SALIB_NAME=@SALIB_NAME@
OS_VERSION_MAJOR:=@OS_VERSION_MAJOR@
OS_VERSION_MINOR:=@OS_VERSION_MINOR@
OS_VERSION_MICRO:=@OS_VERSION_MICRO@
# Include the closed-spec.gmk file if it exists
-include $(dir @SPEC@)/closed-spec.gmk

527
common/autoconf/spec.sh.in Normal file
View File

@@ -0,0 +1,527 @@
#
# Copyright (c) 2011, 2012, 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.
#
# Configured"@DATE_WHEN_CONFIGURED@ to build for a @OPENJDK_TARGET_SYSTEM@ system,
# using 'configure @CONFIGURE_COMMAND_LINE@'
# The "human readable" name of this configuration
CONF_NAME="@CONF_NAME@"
# The built jdk will run in this target system.
OPENJDK_TARGET_SYSTEM="@OPENJDK_TARGET_SYSTEM@"
OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
OPENJDK_TARGET_OS_FAMILY="@OPENJDK_TARGET_OS_FAMILY@"
OPENJDK_TARGET_OS_API="@OPENJDK_TARGET_OS_API@"
OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@"
OPENJDK_TARGET_CPU_ARCH="@OPENJDK_TARGET_CPU_ARCH@"
OPENJDK_TARGET_CPU_BITS="@OPENJDK_TARGET_CPU_BITS@"
OPENJDK_TARGET_CPU_ENDIAN="@OPENJDK_TARGET_CPU_ENDIAN@"
# We are building on this build system.
# When not cross-compiling, it is the same as the target.
OPENJDK_BUILD_SYSTEM="@OPENJDK_BUILD_SYSTEM@"
OPENJDK_BUILD_OS="@OPENJDK_BUILD_OS@"
OPENJDK_BUILD_OS_FAMILY="@OPENJDK_BUILD_OS_FAMILY@"
OPENJDK_BUILD_OS_API="@OPENJDK_BUILD_OS_API@"
OPENJDK_BUILD_CPU="@OPENJDK_BUILD_CPU@"
OPENJDK_BUILD_CPU_ARCH="@OPENJDK_BUILD_CPU_ARCH@"
OPENJDK_BUILD_CPU_BITS="@OPENJDK_BUILD_CPU_BITS@"
OPENJDK_BUILD_CPU_ENDIAN="@OPENJDK_BUILD_CPU_ENDIAN@"
# Legacy OS values for use in release file.
REQUIRED_OS_NAME="@REQUIRED_OS_NAME@"
REQUIRED_OS_VERSION="@REQUIRED_OS_VERSION@"
# Old name for OPENJDK_TARGET_OS (aix,bsd,hpux,linux,macosx,solaris,windows etc)
PLATFORM="@OPENJDK_TARGET_OS@"
# Old name for OPENJDK_TARGET_CPU, uses i586 and amd64, instead of ia32 and x64.
ARCH="@LEGACY_OPENJDK_TARGET_CPU1@"
# Yet another name for arch used for an extra subdir below the jvm lib.
# Uses i386 and amd64, instead of ia32 and x64.
LIBARCH="@LEGACY_OPENJDK_TARGET_CPU2@"
# Use to switch between solaris and windows subdirs in the jdk.
LEGACY_OPENJDK_TARGET_OS_API="@LEGACY_OPENJDK_TARGET_OS_API@"
# 32 or 64 bit
ARCH_DATA_MODEL="@OPENJDK_TARGET_CPU_BITS@"
# Legacy setting for building for a 64 bit machine.
# If yes then this expands to _LP64=1
ENDIAN="@OPENJDK_TARGET_CPU_ENDIAN@"
JIGSAW="@JIGSAW@"
LIBM=-lm
LIBDL="@LIBDL@"
# colon or semicolon
PATH_SEP="@PATH_SEP@"
# The sys root where standard headers and libraries are found.
# Usually not needed since the configure script should have
# taken it into account already when setting CFLAGS et al.
SYS_ROOT="@SYS_ROOT@"
# Paths to the source code
SRC_ROOT="@SRC_ROOT@"
ADD_SRC_ROOT="@ADD_SRC_ROOT@"
OVERRIDE_SRC_ROOT="@OVERRIDE_SRC_ROOT@"
TOPDIR="@SRC_ROOT@"
OUTPUT_ROOT="@OUTPUT_ROOT@"
JDK_MAKE_SHARED_DIR="@JDK_TOPDIR@"/makefiles/common/shared
JDK_TOPDIR="@JDK_TOPDIR@"
LANGTOOLS_TOPDIR="@LANGTOOLS_TOPDIR@"
CORBA_TOPDIR="@CORBA_TOPDIR@"
JAXP_TOPDIR="@JAXP_TOPDIR@"
JAXWS_TOPDIR="@JAXWS_TOPDIR@"
HOTSPOT_TOPDIR="@HOTSPOT_TOPDIR@"
COPYRIGHT_YEAR="@COPYRIGHT_YEAR@"
# Information gathered from the version.numbers file.
JDK_MAJOR_VERSION="@JDK_MAJOR_VERSION@"
JDK_MINOR_VERSION="@JDK_MINOR_VERSION@"
JDK_MICRO_VERSION="@JDK_MICRO_VERSION@"
JDK_UPDATE_VERSION="@JDK_UPDATE_VERSION@"
JDK_BUILD_NUMBER="@JDK_BUILD_NUMBER@"
MILESTONE="@MILESTONE@"
LAUNCHER_NAME="@LAUNCHER_NAME@"
PRODUCT_NAME="@PRODUCT_NAME@"
PRODUCT_SUFFIX="@PRODUCT_SUFFIX@"
JDK_RC_PLATFORM_NAME="@JDK_RC_PLATFORM_NAME@"
COMPANY_NAME="@COMPANY_NAME@"
# Different version strings generated from the above information.
JDK_VERSION="@JDK_VERSION@"
RUNTIME_NAME="@RUNTIME_NAME@"
FULL_VERSION="@FULL_VERSION@"
JRE_RELEASE_VERSION="@FULL_VERSION@"
RELEASE="@RELEASE@"
COOKED_BUILD_NUMBER="@COOKED_BUILD_NUMBER@"
# How to compile the code: release, fastdebug or slowdebug
DEBUG_LEVEL="@DEBUG_LEVEL@"
# This is the JDK variant to build.
# The JDK variant is a name for a specific set of modules to be compiled for the JDK.
JDK_VARIANT="@JDK_VARIANT@"
# Should we compile support for running with a graphical UI? (ie headful)
# Should we compile support for running without? (ie headless)
SUPPORT_HEADFUL="@SUPPORT_HEADFUL@"
SUPPORT_HEADLESS="@SUPPORT_HEADLESS@"
# These are the libjvms that we want to build.
# The java launcher uses the default.
# The other can be selected by specifying -client -server -kernel -zero or -zeroshark
# on the java launcher command line.
JVM_VARIANTS="@JVM_VARIANTS@"
JVM_VARIANT_SERVER="@JVM_VARIANT_SERVER@"
JVM_VARIANT_CLIENT="@JVM_VARIANT_CLIENT@"
JVM_VARIANT_KERNEL="@JVM_VARIANT_KERNEL@"
JVM_VARIANT_ZERO="@JVM_VARIANT_ZERO@"
JVM_VARIANT_ZEROSHARK="@JVM_VARIANT_ZEROSHARK@"
# Legacy setting: OPT or DBG
VARIANT="@VARIANT@"
# Legacy setting: true or false
FASTDEBUG="@FASTDEBUG@"
# Legacy setting: debugging the class files?
DEBUG_CLASSFILES="@DEBUG_CLASSFILES@"
# Legacy setting: -debug or -fastdebug
BUILD_VARIANT_RELEASE="@BUILD_VARIANT_RELEASE@"
LANGTOOLS_OUTPUTDIR="@LANGTOOLS_OUTPUTDIR@"
CORBA_OUTPUTDIR="@CORBA_OUTPUTDIR@"
JAXP_OUTPUTDIR="@JAXP_OUTPUTDIR@"
JAXWS_OUTPUTDIR="@JAXWS_OUTPUTDIR@"
HOTSPOT_OUTPUTDIR="@HOTSPOT_OUTPUTDIR@"
# This where a working jvm is built.
# You can run ${JDK_OUTPUTDIR}/bin/java
# Though the layout of the contents of ${JDK_OUTPUTDIR} is not
# yet the same as a default installation.
JDK_OUTPUTDIR="@OUTPUT_ROOT@"/jdk
# When you run "make install" it will create the standardized
# layout for the jdk and the jre inside the images subdir.
# Then it will copy the contents of the jdk into the installation
# directory.
IMAGES_OUTPUTDIR="@OUTPUT_ROOT@"/images
LANGTOOLS_DIST="@LANGTOOLS_DIST@"
CORBA_DIST="@CORBA_DIST@"
JAXP_DIST="@JAXP_DIST@"
JAXWS_DIST="@JAXWS_DIST@"
HOTSPOT_DIST="@HOTSPOT_DIST@"
# Legacy variables used by Release.gmk
JDK_IMAGE_DIR=${IMAGES_OUTPUTDIR}/j2sdk-image
JRE_IMAGE_DIR=${IMAGES_OUTPUTDIR}/j2re-image
# Can be /sparcv9 or /amd64 on Solaris
ISA_DIR="@LEGACY_OPENJDK_TARGET_CPU3@"
BINDIR="${JDK_OUTPUTDIR}/bin${ISA_DIR}"
# The boot jdk to use
ALT_BOOTDIR="@BOOT_JDK@"
BOOT_JDK="@BOOT_JDK@"
BOOT_JDK_JVMARGS="@BOOT_JDK_JVMARGS@"
BOOT_RTJAR="@BOOT_RTJAR@"
BOOT_TOOLSJAR="@BOOT_TOOLSJAR@"
# When compiling Java source to be run by the boot jdk
# use these extra flags, eg -source 6 -target 6
BOOT_JDK_SOURCETARGET="@BOOT_JDK_SOURCETARGET@"
# Information about the build system
NUM_CORES="@NUM_CORES@"
# This is used from the jdk build for C/C++ code.
PARALLEL_COMPILE_JOBS="@CONCURRENT_BUILD_JOBS@"
# Store javac server synchronization files here, and
# the javac server log files.
JAVAC_SERVERS="@JAVAC_SERVERS@"
# Should we use a javac server or not? The javac server gives
# an enormous performance improvement since it reduces the
# startup costs of javac and reuses as much as possible of intermediate
# compilation work. But if we want to compile with a non-Java
# javac compiler, like gcj. Then we cannot use javac server and
# this variable is set to false.
JAVAC_USE_REMOTE="@JAVAC_USE_REMOTE@"
# We can block the Javac server to never use more cores than this.
# This is not for performance reasons, but for memory usage, since each
# core requires its own JavaCompiler. We might have 64 cores and 4GB
# of memory, 64 JavaCompilers will currently not fit in a 3GB heap.
# Since there is no sharing of data between the JavaCompilers.
JAVAC_SERVER_CORES="@JAVAC_SERVER_CORES@"
# Should we use dependency tracking between Java packages? true or false.
JAVAC_USE_DEPS="@JAVAC_USE_DEPS@"
# We can invoke javac: SINGLE_THREADED_BATCH or MULTI_CORE_CONCURRENT
JAVAC_USE_MODE="@JAVAC_USE_MODE@"
# Enable not yet complete sjavac support.
ENABLE_SJAVAC="@ENABLE_SJAVAC@"
# The OpenJDK makefiles should be changed to using the standard
# configure output ..._CFLAGS and ..._LIBS. In the meantime we
# extract the information here.
FREETYPE2_LIB_PATH="@FREETYPE2_LIB_PATH@"
FREETYPE2_LIBS="@FREETYPE2_LIBS@"
FREETYPE2_CFLAGS="@FREETYPE2_CFLAGS@"
USING_SYSTEM_FT_LIB="@USING_SYSTEM_FT_LIB@"
CUPS_CFLAGS="@CUPS_CFLAGS@"
PACKAGE_PATH="@PACKAGE_PATH@"
# Source file for cacerts
CACERTS_FILE="@CACERTS_FILE@"
#MOZILLA_HEADERS_PATH=
# Necessary additional compiler flags to compile X11
X_CFLAGS="@X_CFLAGS@"
X_LIBS="@X_LIBS@"
OPENWIN_HOME="@OPENWIN_HOME@"
# There are two types: CC or CL
# CC is gcc and others behaving reasonably similar.
# CL is cl.exe only.
COMPILER_TYPE="@COMPILER_TYPE@"
# Flags used for overriding the default opt setting for a C/C++ source file.
C_O_FLAG_HIGHEST="@C_O_FLAG_HIGHEST@"
C_O_FLAG_HI="@C_O_FLAG_HI@"
C_O_FLAG_NORM="@C_O_FLAG_NORM@"
C_O_FLAG_NONE="@C_O_FLAG_NONE@"
CXX_O_FLAG_HIGHEST="@CXX_O_FLAG_HIGHEST@"
CXX_O_FLAG_HI="@CXX_O_FLAG_HI@"
CXX_O_FLAG_NORM="@CXX_O_FLAG_NORM@"
CXX_O_FLAG_NONE="@CXX_O_FLAG_NONE@"
C_FLAG_DEPS="@C_FLAG_DEPS@"
CXX_FLAG_DEPS="@CXX_FLAG_DEPS@"
# Tools that potentially need to be cross compilation aware.
CC="@UNCYGDRIVE@ @CCACHE@ @CC@"
# CFLAGS used to compile the jdk native libraries (C-code)
CFLAGS_JDKLIB="@CFLAGS_JDKLIB@"
CXXFLAGS_JDKLIB="@CXXFLAGS_JDKLIB@"
# CFLAGS used to compile the jdk native launchers (C-code)
CFLAGS_JDKEXE="@CFLAGS_JDKEXE@"
CXXFLAGS_JDKEXE="@CXXFLAGS_JDKEXE@"
CXX="@UNCYGDRIVE@ @CCACHE@ @CXX@"
#CXXFLAGS="@CXXFLAGS@"
OBJC="@CCACHE@ @OBJC@"
#OBJCFLAGS="@OBJCFLAGS@"
CPP="@UNCYGDRIVE@ @CPP@"
#CPPFLAGS="@CPPFLAGS@"
# The linker can be gcc or ld on posix systems, or link.exe on winapi systems.
LD="@UNCYGDRIVE@ @LD@"
# LDFLAGS used to link the jdk native libraries (C-code)
LDFLAGS_JDKLIB="@LDFLAGS_JDKLIB@"
LDFLAGS_JDKLIB_SUFFIX="@LDFLAGS_JDKLIB_SUFFIX@"
# On some platforms the linker cannot be used to create executables, thus
# the need for a separate LDEXE command.
LDEXE="@UNCYGDRIVE@ @LDEXE@"
# LDFLAGS used to link the jdk native launchers (C-code)
LDFLAGS_JDKEXE="@LDFLAGS_JDKEXE@"
LDFLAGS_JDKEXE_SUFFIX="@LDFLAGS_JDKEXE_SUFFIX@"
# Sometimes a different linker is needed for c++ libs
LDCXX="@UNCYGDRIVE@ @LDCXX@"
# The flags for linking libstdc++ linker.
LIBCXX="@LIBCXX@"
# Sometimes a different linker is needed for c++ executables
LDEXECXX="@UNCYGDRIVE@ @LDEXECXX@"
# If cross compiling, then define CROSS_COMPILE_ARCH=cpu_name here.
# The HOSTCC should really be named BUILDCC, ie build executable for
# the build platform. Same as CC when not cross compiling.
HOSTCC="@HOSTCC@"
HOSTCXX="@HOSTCXX@"
# And of course, the jdk spells HOSTCC as NIO_CC/HOST_CC
HOST_CC="@HOSTCC@"
NIO_CC="@HOSTCC@"
AS="@AS@"
ASFLAGS="@ASFLAGS@"
# AR is used to create a static library (is ar in posix, lib.exe in winapi)
AR="@UNCYGDRIVE@ @AR@"
ARFLAGS="@ARFLAGS@"
NM="@NM@"
STRIP="@STRIP@"
MCS="@MCS@"
# Command to create a shared library
SHARED_LIBRARY_FLAGS="@SHARED_LIBRARY_FLAGS@"
# Options to linker to specify a mapfile.
# (Note absence of = assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_MAPFILE="@SET_SHARED_LIBRARY_MAPFILE@"
# Options for C/CXX compiler to be used if linking is performed
# using reorder file
C_FLAG_REORDER="@C_FLAG_REORDER@"
CXX_FLAG_REORDER="@CXX_FLAG_REORDER@"
#
# Options for generating debug symbols
ENABLE_DEBUG_SYMBOLS="@ENABLE_DEBUG_SYMBOLS@"
CFLAGS_DEBUG_SYMBOLS="@CFLAGS_DEBUG_SYMBOLS@"
CXXFLAGS_DEBUG_SYMBOLS="@CXXFLAGS_DEBUG_SYMBOLS@"
ZIP_DEBUGINFO_FILES="@ZIP_DEBUGINFO_FILES@"
# Options to linker to specify the library name.
# (Note absence of = assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_NAME="@SET_SHARED_LIBRARY_NAME@"
# Set origin using the linker, ie use the relative path to the dependent library to find the dependees.
# (Note absence of = assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_ORIGIN="@SET_SHARED_LIBRARY_ORIGIN@"
# Different OS:es have different ways of naming shared libraries.
# The SHARED_LIBRARY macro takes "verify" as and argument and returns:
# "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform.
# (Note absence of = assignment, because we do not want to evaluate the macro body here)
SHARED_LIBRARY="@SHARED_LIBRARY@"
STATIC_LIBRARY="@STATIC_LIBRARY@"
LIBRARY_PREFIX="@LIBRARY_PREFIX@"
SHARED_LIBRARY_SUFFIX="@SHARED_LIBRARY_SUFFIX@"
STATIC_LIBRARY_SUFFIX="@STATIC_LIBRARY_SUFFIX@"
EXE_SUFFIX="@EXE_SUFFIX@"
OBJ_SUFFIX="@OBJ_SUFFIX@"
POST_STRIP_CMD="@POST_STRIP_CMD@"
POST_MCS_CMD='@POST_MCS_CMD@'
JAVA_FLAGS="@BOOT_JDK_JVMARGS@"
JAVA="@UNCYGDRIVE@ @JAVA@ ${JAVA_FLAGS}"
JAVAC="@UNCYGDRIVE@ @JAVAC@"
JAVAC_FLAGS="@JAVAC_FLAGS@"
JAVAH="@UNCYGDRIVE@ @JAVAH@"
JAR="@UNCYGDRIVE@ @JAR@"
RMIC="@UNCYGDRIVE@ @RMIC@"
NATIVE2ASCII="@UNCYGDRIVE@ @NATIVE2ASCII@"
BOOT_JAR_CMD="@UNCYGDRIVE@ @JAR@"
BOOT_JAR_JFLAGS=
# Tools adhering to a minimal and common standard of posix compliance.
AWK="@AWK@"
CAT="@CAT@"
CCACHE="@CCACHE@"
# CD is going away, but remains to cater for legacy makefiles.
CD=cd
CHMOD="@CHMOD@"
CP="@CP@"
CPIO="@CPIO@"
CUT="@CUT@"
DATE="@DATE@"
DF="@DF@"
DIFF="@DIFF@"
FIND="@FIND@"
FIND_DELETE="@FIND_DELETE@"
ECHO="@ECHO@"
EGREP="@EGREP@"
FGREP="@FGREP@"
GREP="@GREP@"
HEAD="@HEAD@"
LS="@LS@"
LN="@LN@"
MKDIR="@MKDIR@"
MV="@MV@"
NAWK="@NAWK@"
PRINTF="@PRINTF@"
PWD="@THEPWDCMD@"
RM="@RM@"
SED="@SED@"
SH="@SH@"
SORT="@SORT@"
TAR="@TAR@"
TAIL="@TAIL@"
TEE="@TEE@"
TR="@TR@"
TOUCH="@TOUCH@"
WC="@WC@"
XARGS="@XARGS@"
ZIPEXE="@ZIP@"
ZIP="@ZIP@"
UNZIP="@UNZIP@"
MT="@UNCYGDRIVE@ @MT@"
RC="@UNCYGDRIVE@ @RC@"
DUMPBIN="@UNCYGDRIVE@ @DUMPBIN@"
CYGPATH="@CYGPATH@"
LDD="@LDD@"
OTOOL="@OTOOL@"
READELF="@READELF@"
EXPR="@EXPR@"
FILE="@FILE@"
HG="@HG@"
OBJCOPY="@OBJCOPY@"
UNCYGDRIVE="@UNCYGDRIVE@"
# Build setup
ENABLE_DOCS="@ENABLE_DOCS@"
GENERATE_DOCS="@ENABLE_DOCS@"
DISABLE_NIMBUS="@DISABLE_NIMBUS@"
USE_EXTERNAL_LIBJPEG="@USE_EXTERNAL_LIBJPEG@"
USE_EXTERNAL_LIBGIF="@USE_EXTERNAL_LIBGIF@"
USE_EXTERNAL_LIBZ="@USE_EXTERNAL_LIBZ@"
LIBZIP_CAN_USE_MMAP="@LIBZIP_CAN_USE_MMAP@"
CHECK_FOR_VCINSTALLDIR="@CHECK_FOR_VCINSTALLDIR@"
MSVCRNN_DLL="@MSVCR100DLL@"
####################################################
#
# Legacy Hotspot support
HOTSPOT_DIST="@HOTSPOT_DIST@"
HOTSPOT_MAKE_ARGS="@HOTSPOT_MAKE_ARGS@"
# This is used from the libjvm build for C/C++ code.
HOTSPOT_BUILD_JOBS="@CONCURRENT_BUILD_JOBS@"
# Control wether Hotspot runs Queens test after building
TEST_IN_BUILD="@TEST_IN_BUILD@"
####################################################
#
# INSTALLATION
#
# Common prefix for all installed files. Defaults to /usr/local,
# but /opt/myjdk is another common version.
INSTALL_PREFIX="@prefix@"
# Directories containing architecture-dependent files should be relative to exec_prefix
INSTALL_EXECPREFIX="@exec_prefix@"
# java,javac,javah,javap etc are installed here.
INSTALL_BINDIR="@bindir@"
# Read only architecture-independent data
INSTALL_DATADIR="@datadir@"
# Root of above.
INSTALL_DATAROOTDIR="@datarootdir@"
# Doc files, other than info and man.
INSTALL_DOCDIR="@docdir@"
# Html documentation
INSTALL_HTMLDIR="@htmldir@"
# Installing C header files, JNI headers for example.
INSTALL_INCLUDEDIR="@includedir@"
# Installing library files....
INSTALL_INCLUDEDIR="@libdir@"
# Executables that other programs run.
INSTALL_LIBEXECDIR="@libexecdir@"
# Locale-dependent but architecture-independent data, such as message catalogs.
INSTALL_LOCALEDIR="@localedir@"
# Modifiable single-machine data
INSTALL_LOCALSTATEDIR="@localstatedir@"
# Man pages
INSTALL_MANDIR="@mandir@"
# Modifiable architecture-independent data.
INSTALL_SHAREDSTATEDIR="@sharedstatedir@"
# Read-only single-machine data
INSTALL_SYSCONFDIR="@sysconfdir@"
####################################################
#
# Misc
#
# Name of Service Agent library
SALIB_NAME="@SALIB_NAME@"
OS_VERSION_MAJOR="@OS_VERSION_MAJOR@"
OS_VERSION_MINOR="@OS_VERSION_MINOR@"
OS_VERSION_MICRO="@OS_VERSION_MICRO@"

View File

@@ -0,0 +1,908 @@
#
# Copyright (c) 2011, 2012, 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.
#
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
[
# Check if the VS env variables were setup prior to running configure.
# If not, then find vcvarsall.bat and run it automatically, and integrate
# the set env variables into the spec file.
SETUPDEVENV="# No special vars"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
# If vcvarsall.bat has been run, then VCINSTALLDIR is set.
if test "x$VCINSTALLDIR" != x; then
# No further setup is needed. The build will happen from this kind
# of shell.
SETUPDEVENV="# This spec file expects that you are running bash from within a VS command prompt."
# Make sure to remind you, if you forget to run make from a cygwin bash shell
# that is spawned "bash -l" from a VS command prompt.
CHECK_FOR_VCINSTALLDIR=yes
AC_MSG_CHECKING([if you are running from within a VS command prompt])
AC_MSG_RESULT([yes])
else
# Ah, we have not yet run vcvarsall.bat/vsvars32.bat/vsvars64.bat. Lets do that. First find it.
if test "x$VS100COMNTOOLS" != x; then
VARSBAT=`find "$VS100COMNTOOLS/../.." -name vcvarsall.bat`
SEARCH_ROOT="$VS100COMNTOOLS"
else
VARSBAT=`find "$PROGRAMFILES" -name vcvarsall.bat`
SEARCH_ROOT="$PROGRAMFILES"
fi
VCPATH=`dirname "$VARSBAT"`
VCPATH=`cygpath -w "$VCPATH"`
if test "x$VARSBAT" = x || test ! -d "$VCPATH"; then
AC_MSG_CHECKING([if we can find the VS installation])
AC_MSG_RESULT([no])
AC_MSG_ERROR([Tried to find a VS installation using both $SEARCH_ROOT but failed. Please run "c:\\cygwin\\bin\\bash.exe -l" from a VS command prompt and then run configure/make from there.])
fi
case "$LEGACY_OPENJDK_TARGET_CPU1" in
i?86)
VARSBAT_ARCH=x86
;;
*)
VARSBAT_ARCH=$LEGACY_OPENJDK_TARGET_CPU1
;;
esac
# Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
cd $OUTPUT_ROOT
bash $SRC_ROOT/common/bin/extractvcvars.sh "$VARSBAT" "$VARSBAT_ARCH"
cd $CURDIR
if test ! -s $OUTPUT_ROOT/localdevenv.sh || test ! -s $OUTPUT_ROOT/localdevenv.gmk; then
AC_MSG_CHECKING([if we can extract the needed env variables])
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not succesfully extract the env variables needed for the VS setup. Please run "c:\\cygwin\\bin\\bash.exe -l" from a VS command prompt and then run configure/make from there.])
fi
# Now set all paths and other env variables. This will allow the rest of
# the configure script to find and run the compiler in the proper way.
. $OUTPUT_ROOT/localdevenv.sh
AC_MSG_CHECKING([if we can find the VS installation])
if test "x$VCINSTALLDIR" != x; then
AC_MSG_RESULT([$VCINSTALLDIR])
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find VS installation. Please install. If you are sure you have installed VS, then please run "c:\\cygwin\\bin\\bash.exe -l" from a VS command prompt and then run configure/make from there.])
fi
CHECK_FOR_VCINSTALLDIR=no
SETUPDEVENV="include $OUTPUT_ROOT/localdevenv.gmk"
AC_MSG_CHECKING([for msvcr100.dll])
AC_ARG_WITH(msvcr100dll, [AS_HELP_STRING([--with-msvcr100dll],
[copy this msvcr100.dll into the built JDK])])
if test "x$with_msvcr100dll" != x; then
MSVCR100DLL="$with_msvcr100dll"
else
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | grep x64 | head --lines 1`
else
MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | grep x86 | grep -v ia64 | grep -v x64 | head --lines 1`
if test "x$MSVCR100DLL" = x; then
MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | head --lines 1`
fi
fi
fi
if test "x$MSVCR100DLL" = x; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find msvcr100.dll !])
fi
AC_MSG_RESULT([$MSVCR100DLL])
SPACESAFE(MSVCR100DLL,[the path to msvcr100.dll])
fi
fi
AC_SUBST(SETUPDEVENV)
AC_SUBST(CHECK_FOR_VCINSTALLDIR)
AC_SUBST(MSVCR100DLL)
])
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_SYSROOT_AND_OUT_OPTIONS],
[
###############################################################################
#
# Configure the development tool paths and potential sysroot.
#
AC_LANG(C++)
DEVKIT=
SYS_ROOT=/
AC_SUBST(SYS_ROOT)
# The option used to specify the target .o,.a or .so file.
# When compiling, how to specify the to be created object file.
CC_OUT_OPTION='-o$(SPACE)'
# When linking, how to specify the to be created executable.
EXE_OUT_OPTION='-o$(SPACE)'
# When linking, how to specify the to be created dynamically linkable library.
LD_OUT_OPTION='-o$(SPACE)'
# When archiving, how to specify the to be create static archive for object files.
AR_OUT_OPTION='rcs$(SPACE)'
AC_SUBST(CC_OUT_OPTION)
AC_SUBST(EXE_OUT_OPTION)
AC_SUBST(LD_OUT_OPTION)
AC_SUBST(AR_OUT_OPTION)
])
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_PATHS],
[
# If --build AND --host is set, then the configure script will find any
# cross compilation tools in the PATH. Cross compilation tools
# follows the cross compilation standard where they are prefixed with ${host}.
# For example the binary i686-sun-solaris2.10-gcc
# will cross compile for i686-sun-solaris2.10
# If neither of build and host is not set, then build=host and the
# default compiler found in the path will be used.
# Setting only --host, does not seem to be really supported.
# Please set both --build and --host if you want to cross compile.
DEFINE_CROSS_COMPILE_ARCH=""
HOSTCC=""
HOSTCXX=""
HOSTLD=""
AC_SUBST(DEFINE_CROSS_COMPILE_ARCH)
AC_MSG_CHECKING([if this is a cross compile])
if test "x$OPENJDK_BUILD_SYSTEM" != "x$OPENJDK_TARGET_SYSTEM"; then
AC_MSG_RESULT([yes, from $OPENJDK_BUILD_SYSTEM to $OPENJDK_TARGET_SYSTEM])
# We have detected a cross compile!
DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$LEGACY_OPENJDK_TARGET_CPU1"
# Now we to find a C/C++ compiler that can build executables for the build
# platform. We can't use the AC_PROG_CC macro, since it can only be used
# once.
AC_PATH_PROGS(HOSTCC, [cl cc gcc])
WHICHCMD(HOSTCC)
AC_PATH_PROGS(HOSTCXX, [cl CC g++])
WHICHCMD(HOSTCXX)
AC_PATH_PROG(HOSTLD, ld)
WHICHCMD(HOSTLD)
# Building for the build platform should be easy. Therefore
# we do not need any linkers or assemblers etc.
else
AC_MSG_RESULT([no])
fi
# You can force the sys-root if the sys-root encoded into the cross compiler tools
# is not correct.
AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
[pass this sys-root to the compilers and linker (useful if the sys-root encoded in
the cross compiler tools is incorrect)])])
if test "x$with_sys_root" != x; then
SYS_ROOT=$with_sys_root
fi
# If a devkit is found on the builddeps server, then prepend its path to the
# PATH variable. If there are cross compilers available in the devkit, these
# will be found by AC_PROG_CC et al.
BDEPS_CHECK_MODULE(DEVKIT, devkit, xxx,
[# Found devkit
PATH="$DEVKIT/bin:$PATH"
SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root"
if test "x$x_includes" = "xNONE"; then
x_includes="$SYS_ROOT/usr/include/X11"
fi
if test "x$x_libraries" = "xNONE"; then
x_libraries="$SYS_ROOT/usr/lib"
fi
],
[])
if test "x$SYS_ROOT" != "x/" ; then
CFLAGS="--sysroot=$SYS_ROOT $CFLAGS"
CXXFLAGS="--sysroot=$SYS_ROOT $CXXFLAGS"
OBJCFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS"
OBJCXXFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS"
CPPFLAGS="--sysroot=$SYS_ROOT $CPPFLAGS"
LDFLAGS="--sysroot=$SYS_ROOT $LDFLAGS"
fi
# Store the CFLAGS etal passed to the configure script.
ORG_CFLAGS="$CFLAGS"
ORG_CXXFLAGS="$CXXFLAGS"
ORG_OBJCFLAGS="$OBJCFLAGS"
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
[search this directory for compilers and tools])], [TOOLS_DIR=$with_tools_dir])
AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
[use this directory as base for tools-dir and sys-root])], [
if test "x$with_sys_root" != x; then
AC_MSG_ERROR([Cannot specify both --with-devkit and --with-sys-root at the same time])
fi
if test "x$with_tools_dir" != x; then
AC_MSG_ERROR([Cannot specify both --with-devkit and --with-tools-dir at the same time])
fi
TOOLS_DIR=$with_devkit/bin
SYS_ROOT=$with_devkit/$host_alias/libc
])
# autoconf magic only relies on PATH, so update it if tools dir is specified
OLD_PATH="$PATH"
if test "x$TOOLS_DIR" != x; then
PATH=$TOOLS_DIR:$PATH
fi
# gcc is almost always present, but on Windows we
# prefer cl.exe and on Solaris we prefer CC.
# Thus test for them in this order.
AC_PROG_CC([cl cc gcc])
if test "x$CC" = x; then
HELP_MSG_MISSING_DEPENDENCY([devkit])
AC_MSG_ERROR([Could not find a compiler. $HELP_MSG])
fi
if test "x$CC" = xcc && test "x$OPENJDK_BUILD_OS" = xmacosx; then
# Do not use cc on MacOSX use gcc instead.
CC="gcc"
fi
WHICHCMD(CC)
AC_PROG_CXX([cl CC g++])
if test "x$CXX" = xCC && test "x$OPENJDK_BUILD_OS" = xmacosx; then
# The found CC, even though it seems to be a g++ derivate, cannot compile
# c++ code. Override.
CXX="g++"
fi
WHICHCMD(CXX)
if test "x$CXX" = x || test "x$CC" = x; then
HELP_MSG_MISSING_DEPENDENCY([devkit])
AC_MSG_ERROR([Could not find the needed compilers! $HELP_MSG ])
fi
if test "x$OPENJDK_BUILD_OS" != xwindows; then
AC_PROG_OBJC
WHICHCMD(OBJC)
else
OBJC=
fi
# Restore the flags to the user specified values.
# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
CFLAGS="$ORG_CFLAGS"
CXXFLAGS="$ORG_CXXFLAGS"
OBJCFLAGS="$ORG_OBJCFLAGS"
# If we are not cross compiling, use the same compilers for
# building the build platform executables.
if test "x$DEFINE_CROSS_COMPILE_ARCH" = x; then
HOSTCC="$CC"
HOSTCXX="$CXX"
fi
AC_CHECK_TOOL(LD, ld)
WHICHCMD(LD)
LD="$CC"
LDEXE="$CC"
LDCXX="$CXX"
LDEXECXX="$CXX"
# LDEXE is the linker to use, when creating executables.
AC_SUBST(LDEXE)
# Linking C++ libraries.
AC_SUBST(LDCXX)
# Linking C++ executables.
AC_SUBST(LDEXECXX)
AC_CHECK_TOOL(AR, ar)
WHICHCMD(AR)
if test "x$OPENJDK_BUILD_OS" = xmacosx; then
ARFLAGS="-r"
else
ARFLAGS=""
fi
AC_SUBST(ARFLAGS)
COMPILER_NAME=gcc
COMPILER_TYPE=CC
AS_IF([test "x$OPENJDK_BUILD_OS" = xwindows], [
# For now, assume that we are always compiling using cl.exe.
CC_OUT_OPTION=-Fo
EXE_OUT_OPTION=-out:
LD_OUT_OPTION=-out:
AR_OUT_OPTION=-out:
# On Windows, reject /usr/bin/link, which is a cygwin
# program for something completely different.
AC_CHECK_PROG([WINLD], [link],[link],,, [/usr/bin/link])
# Since we must ignore the first found link, WINLD will contain
# the full path to the link.exe program.
WHICHCMD_SPACESAFE([WINLD])
LD="$WINLD"
LDEXE="$WINLD"
LDCXX="$WINLD"
LDEXECXX="$WINLD"
# Set HOSTLD to same as LD until we fully support cross compilation
# on windows.
HOSTLD="$WINLD"
AC_CHECK_PROG([MT], [mt], [mt],,, [/usr/bin/mt])
WHICHCMD_SPACESAFE([MT])
# The resource compiler
AC_CHECK_PROG([RC], [rc], [rc],,, [/usr/bin/rc])
WHICHCMD_SPACESAFE([RC])
RC_FLAGS="-nologo /l 0x409 /r"
AS_IF([test "x$VARIANT" = xOPT], [
RC_FLAGS="$RC_FLAGS -d NDEBUG"
])
JDK_UPDATE_VERSION_NOTNULL=$JDK_UPDATE_VERSION
AS_IF([test "x$JDK_UPDATE_VERSION" = x], [
JDK_UPDATE_VERSION_NOTNULL=0
])
RC_FLAGS="$RC_FLAGS -d \"JDK_BUILD_ID=$FULL_VERSION\""
RC_FLAGS="$RC_FLAGS -d \"JDK_COMPANY=$COMPANY_NAME\""
RC_FLAGS="$RC_FLAGS -d \"JDK_COMPONENT=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME binary\""
RC_FLAGS="$RC_FLAGS -d \"JDK_VER=$JDK_MINOR_VERSION.$JDK_MICRO_VERSION.$JDK_UPDATE_VERSION_NOTNULL.$COOKED_BUILD_NUMBER\""
RC_FLAGS="$RC_FLAGS -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\""
RC_FLAGS="$RC_FLAGS -d \"JDK_NAME=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME $JDK_MINOR_VERSION $JDK_UPDATE_META_TAG\""
RC_FLAGS="$RC_FLAGS -d \"JDK_FVER=$JDK_MINOR_VERSION,$JDK_MICRO_VERSION,$JDK_UPDATE_VERSION_NOTNULL,$COOKED_BUILD_NUMBER\""
# lib.exe is used to create static libraries.
AC_CHECK_PROG([WINAR], [lib],[lib],,,)
WHICHCMD_SPACESAFE([WINAR])
AR="$WINAR"
ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
AC_CHECK_PROG([DUMPBIN], [dumpbin], [dumpbin],,,)
WHICHCMD_SPACESAFE([DUMPBIN])
COMPILER_TYPE=CL
CCXXFLAGS="$CCXXFLAGS -nologo"
])
AC_SUBST(RC_FLAGS)
AC_SUBST(COMPILER_TYPE)
AC_PROG_CPP
WHICHCMD(CPP)
AC_PROG_CXXCPP
WHICHCMD(CXXCPP)
# for solaris we really need solaris tools, and not gnu equivalent
# these seems to normally reside in /usr/ccs/bin so add that to path before
# starting to probe
#
# NOTE: I add this /usr/ccs/bin after TOOLS but before OLD_PATH
# so that it can be overriden --with-tools-dir
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
PATH="${TOOLS_DIR}:/usr/ccs/bin:${OLD_PATH}"
fi
# Find the right assembler.
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
AC_PATH_PROG(AS, as)
WHICHCMD(AS)
ASFLAGS=" "
else
AS="$CC -c"
ASFLAGS=" "
fi
AC_SUBST(AS)
AC_SUBST(ASFLAGS)
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
AC_PATH_PROG(NM, nm)
WHICHCMD(NM)
AC_PATH_PROG(STRIP, strip)
WHICHCMD(STRIP)
AC_PATH_PROG(MCS, mcs)
WHICHCMD(MCS)
else
AC_CHECK_TOOL(NM, nm)
WHICHCMD(NM)
AC_CHECK_TOOL(STRIP, strip)
WHICHCMD(STRIP)
fi
###
#
# Check for objcopy
#
# but search for gobjcopy first...
# since I on solaris found a broken objcopy...buhh
#
AC_PATH_TOOL(OBJCOPY, gobjcopy)
if test "x$OBJCOPY" = x; then
AC_PATH_TOOL(OBJCOPY, objcopy)
fi
# Restore old path without tools dir
PATH="$OLD_PATH"
])
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_LIBS],
[
###############################################################################
#
# How to compile shared libraries.
#
if test "x$GCC" = xyes; then
COMPILER_NAME=gcc
PICFLAG="-fPIC"
LIBRARY_PREFIX=lib
SHARED_LIBRARY='lib[$]1.so'
STATIC_LIBRARY='lib[$]1.a'
SHARED_LIBRARY_FLAGS="-shared"
SHARED_LIBRARY_SUFFIX='.so'
STATIC_LIBRARY_SUFFIX='.a'
OBJ_SUFFIX='.o'
EXE_SUFFIX=''
SET_SHARED_LIBRARY_NAME='-Xlinker -soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=[$]1'
C_FLAG_REORDER=''
CXX_FLAG_REORDER=''
SET_SHARED_LIBRARY_ORIGIN='-Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$$$ORIGIN/[$]1'
LD="$CC"
LDEXE="$CC"
LDCXX="$CXX"
LDEXECXX="$CXX"
POST_STRIP_CMD="$STRIP -g"
if test "x$JDK_VARIANT" = xembedded; then
POST_STRIP_CMD="$STRIP --strip-unneeded"
fi
# Linking is different on MacOSX
if test "x$OPENJDK_BUILD_OS" = xmacosx; then
# Might change in the future to clang.
COMPILER_NAME=gcc
SHARED_LIBRARY='lib[$]1.dylib'
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
SHARED_LIBRARY_SUFFIX='.dylib'
EXE_SUFFIX=''
SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1'
SET_SHARED_LIBRARY_MAPFILE=''
SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
POST_STRIP_CMD="$STRIP -S"
fi
else
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
# If it is not gcc, then assume it is the Oracle Solaris Studio Compiler
COMPILER_NAME=ossc
PICFLAG="-KPIC"
LIBRARY_PREFIX=lib
SHARED_LIBRARY='lib[$]1.so'
STATIC_LIBRARY='lib[$]1.a'
SHARED_LIBRARY_FLAGS="-z defs -xildoff -ztext -G"
SHARED_LIBRARY_SUFFIX='.so'
STATIC_LIBRARY_SUFFIX='.a'
OBJ_SUFFIX='.o'
EXE_SUFFIX=''
SET_SHARED_LIBRARY_NAME=''
SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
C_FLAG_REORDER='-xF'
CXX_FLAG_REORDER='-xF'
SET_SHARED_LIBRARY_ORIGIN='-R \$$$$ORIGIN/[$]1'
CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
CFLAGS_JDKLIB_EXTRA='-xstrconst'
POST_STRIP_CMD="$STRIP -x"
POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
fi
if test "x$OPENJDK_BUILD_OS" = xwindows; then
# If it is not gcc, then assume it is the MS Visual Studio compiler
COMPILER_NAME=cl
PICFLAG=""
LIBRARY_PREFIX=
SHARED_LIBRARY='[$]1.dll'
STATIC_LIBRARY='[$]1.lib'
SHARED_LIBRARY_FLAGS="-LD"
SHARED_LIBRARY_SUFFIX='.dll'
STATIC_LIBRARY_SUFFIX='.lib'
OBJ_SUFFIX='.obj'
EXE_SUFFIX='.exe'
SET_SHARED_LIBRARY_NAME=''
SET_SHARED_LIBRARY_MAPFILE=''
SET_SHARED_LIBRARY_ORIGIN=''
fi
fi
AC_SUBST(OBJ_SUFFIX)
AC_SUBST(SHARED_LIBRARY)
AC_SUBST(STATIC_LIBRARY)
AC_SUBST(LIBRARY_PREFIX)
AC_SUBST(SHARED_LIBRARY_SUFFIX)
AC_SUBST(STATIC_LIBRARY_SUFFIX)
AC_SUBST(EXE_SUFFIX)
AC_SUBST(SHARED_LIBRARY_FLAGS)
AC_SUBST(SET_SHARED_LIBRARY_NAME)
AC_SUBST(SET_SHARED_LIBRARY_MAPFILE)
AC_SUBST(C_FLAG_REORDER)
AC_SUBST(CXX_FLAG_REORDER)
AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
AC_SUBST(POST_STRIP_CMD)
AC_SUBST(POST_MCS_CMD)
# The (cross) compiler is now configured, we can now test capabilities
# of the target platform.
])
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
[
###############################################################################
#
# Setup the opt flags for different compilers
# and different operating systems.
#
C_FLAG_DEPS="-MMD -MF"
CXX_FLAG_DEPS="-MMD -MF"
case $COMPILER_TYPE in
CC )
D_FLAG="-g"
case $COMPILER_NAME in
gcc )
case $OPENJDK_TARGET_OS in
macosx )
# On MacOSX we optimize for size, something
# we should do for all platforms?
C_O_FLAG_HI="-Os"
C_O_FLAG_NORM="-Os"
C_O_FLAG_NONE=""
;;
*)
C_O_FLAG_HI="-O3"
C_O_FLAG_NORM="-O2"
C_O_FLAG_NONE="-O0"
CFLAGS_DEBUG_SYMBOLS="-g"
CXXFLAGS_DEBUG_SYMBOLS="-g"
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
CFLAGS_DEBUG_SYMBOLS="-g1"
CXXFLAGS_DEBUG_SYMBOLSG="-g1"
fi
;;
esac
CXX_O_FLAG_HI="$C_O_FLAG_HI"
CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
;;
ossc )
#
# Forte has different names for this with their C++ compiler...
#
C_FLAG_DEPS="-xMMD -xMF"
CXX_FLAG_DEPS="-xMMD -xMF"
# Extra options used with HIGHEST
#
# WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
# done with care, there are some assumptions below that need to
# be understood about the use of pointers, and IEEE behavior.
#
# Use non-standard floating point mode (not IEEE 754)
CC_HIGHEST="$CC_HIGHEST -fns"
# Do some simplification of floating point arithmetic (not IEEE 754)
CC_HIGHEST="$CC_HIGHEST -fsimple"
# Use single precision floating point with 'float'
CC_HIGHEST="$CC_HIGHEST -fsingle"
# Assume memory references via basic pointer types do not alias
# (Source with excessing pointer casting and data access with mixed
# pointer types are not recommended)
CC_HIGHEST="$CC_HIGHEST -xalias_level=basic"
# Use intrinsic or inline versions for math/std functions
# (If you expect perfect errno behavior, do not use this)
CC_HIGHEST="$CC_HIGHEST -xbuiltin=%all"
# Loop data dependency optimizations (need -xO3 or higher)
CC_HIGHEST="$CC_HIGHEST -xdepend"
# Pointer parameters to functions do not overlap
# (Similar to -xalias_level=basic usage, but less obvious sometimes.
# If you pass in multiple pointers to the same data, do not use this)
CC_HIGHEST="$CC_HIGHEST -xrestrict"
# Inline some library routines
# (If you expect perfect errno behavior, do not use this)
CC_HIGHEST="$CC_HIGHEST -xlibmil"
# Use optimized math routines
# (If you expect perfect errno behavior, do not use this)
# Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
#CC_HIGHEST="$CC_HIGHEST -xlibmopt"
case $LEGACY_OPENJDK_TARGET_CPU1 in
i586)
C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xchip=pentium"
C_O_FLAG_HI="-xO4 -Wu,-O4~yz"
C_O_FLAG_NORM="-xO2 -Wu,-O2~yz"
C_O_FLAG_NONE=""
CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xchip=pentium"
CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz"
CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz"
CXX_O_FLAG_NONE=""
;;
sparc)
CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
C_O_FLAG_NONE=""
CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
CXX_O_FLAG_NONE=""
;;
esac
CFLAGS_DEBUG_SYMBOLS="-g -xs"
CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
esac
;;
CL )
D_FLAG=
C_O_FLAG_HI="-O2"
C_O_FLAG_NORM="-O1"
C_O_FLAG_NONE="-Od"
CXX_O_FLAG_HI="$C_O_FLAG_HI"
CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
;;
esac
if test -z "$C_O_FLAG_HIGHEST"; then
C_O_FLAG_HIGHEST="$C_O_FLAG_HI"
fi
if test -z "$CXX_O_FLAG_HIGHEST"; then
CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HI"
fi
AC_SUBST(C_O_FLAG_HIGHEST)
AC_SUBST(C_O_FLAG_HI)
AC_SUBST(C_O_FLAG_NORM)
AC_SUBST(C_O_FLAG_NONE)
AC_SUBST(CXX_O_FLAG_HIGHEST)
AC_SUBST(CXX_O_FLAG_HI)
AC_SUBST(CXX_O_FLAG_NORM)
AC_SUBST(CXX_O_FLAG_NONE)
AC_SUBST(C_FLAG_DEPS)
AC_SUBST(CXX_FLAG_DEPS)
])
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK],
[
if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags"])
fi
if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags"])
fi
if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags"])
fi
AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
[extra flags to be used when compiling jdk c-files])])
AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
[extra flags to be used when compiling jdk c++-files])])
AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
[extra flags to be used when linking jdk])])
CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
###############################################################################
#
# Now setup the CFLAGS and LDFLAGS for the JDK build.
# Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build.
#
case $COMPILER_NAME in
gcc )
CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
-pipe \
-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
case $OPENJDK_TARGET_CPU_ARCH in
arm )
# on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
;;
ppc )
# on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
;;
* )
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
;;
esac
;;
ossc )
CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -norunpath -xnolib"
CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX"
;;
cl )
CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
-DWIN32 -DIAL"
case $LEGACY_OPENJDK_TARGET_CPU1 in
i?86 )
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
;;
amd64 )
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
;;
esac
;;
esac
###############################################################################
#
# Cross-compile arch specific flags
#
if test "x$JDK_VARIANT" = "xembedded"; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DJAVASE_EMBEDDED"
fi
case $OPENJDK_TARGET_CPU_ARCH in
arm )
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fsigned-char"
;;
ppc )
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fsigned-char"
;;
esac
###############################################################################
CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
# The package path is used only on macosx?
PACKAGE_PATH=/opt/local
AC_SUBST(PACKAGE_PATH)
# Sometimes we use a cpu dir (.../lib/amd64/server)
# Sometimes not (.../lib/server)
LIBARCHDIR="$LEGACY_OPENJDK_TARGET_CPU2/"
if test "x$ENDIAN" = xlittle; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
else
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
fi
if test "x$OPENJDK_TARGET_OS" = xlinux; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX"
fi
if test "x$OPENJDK_TARGET_OS" = xwindows; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS"
fi
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS"
fi
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE"
LIBARCHDIR=""
fi
if test "x$OPENJDK_TARGET_OS" = xbsd; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE"
fi
if test "x$DEBUG_LEVEL" = xrelease; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG"
else
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG"
fi
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$LEGACY_OPENJDK_TARGET_CPU1\"' -D$LEGACY_OPENJDK_TARGET_CPU1"
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'"
CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
-I${JDK_OUTPUTDIR}/include \
-I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \
-I${JDK_TOPDIR}/src/share/javavm/export \
-I${JDK_TOPDIR}/src/$LEGACY_OPENJDK_TARGET_OS_API/javavm/export \
-I${JDK_TOPDIR}/src/share/native/common \
-I${JDK_TOPDIR}/src/$LEGACY_OPENJDK_TARGET_OS_API/native/common"
# The shared libraries are compiled using the picflag.
CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
# Executable flags
CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK"
CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK"
# Now this is odd. The JDK native libraries have to link against libjvm.so
# On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
# Which should we link to? Are we lucky enough that the binary api to the libjvm.so library
# is identical for client and server? Yes. Which is picked at runtime (client or server)?
# Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following
# libraries will link to whatever is in memory. Yuck.
#
# Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh.
if test "x$COMPILER_TYPE" = xCL; then
LDFLAGS_JDK="$LDFLAGS_JDK -nologo -opt:ref -incremental:no"
if test "x$LEGACY_OPENJDK_TARGET_CPU1" = xi586; then
LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
fi
# TODO: make -debug optional "--disable-full-debug-symbols"
LDFLAGS_JDK="$LDFLAGS_JDK -debug"
LDFLAGS_JDKLIB="${LDFLAGS_JDK} -dll -libpath:${JDK_OUTPUTDIR}/lib"
LDFLAGS_JDKLIB_SUFFIX=""
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
LDFLAGS_STACK_SIZE=1048576
else
LDFLAGS_STACK_SIZE=327680
fi
LDFLAGS_JDKEXE="${LDFLAGS_JDK} /STACK:$LDFLAGS_STACK_SIZE"
else
# If this is a --hash-style=gnu system, use --hash-style=both, why?
HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
if test -n "$HAS_GNU_HASH"; then
# And since we now know that the linker is gnu, then add -z defs, to forbid
# undefined symbols in object files.
LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker --hash-style=both -Xlinker -z -Xlinker defs"
if test "x$DEBUG_LEVEL" == "xrelease"; then
# When building release libraries, tell the linker optimize them.
# Should this be supplied to the OSS linker as well?
LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -O1"
fi
fi
LDFLAGS_JDKLIB="${LDFLAGS_JDK} $SHARED_LIBRARY_FLAGS \
-L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}server \
-L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}client \
-L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}"
LDFLAGS_JDKLIB_SUFFIX="-ljvm -ljava"
if test "x$COMPILER_NAME" = xossc; then
LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
fi
# Only the jli library is explicitly linked when the launchers are built.
# The libjvm is then dynamically loaded/linked by the launcher.
LDFLAGS_JDKEXE="${LDFLAGS_JDK}"
if test "x$OPENJDK_TARGET_OS" != "xmacosx"; then
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}jli"
LDFLAGS_JDKEXE_SUFFIX="-ljli"
fi
fi
# Adjust flags according to debug level.
case $DEBUG_LEVEL in
fastdebug )
CFLAGS="$CFLAGS $D_FLAG"
JAVAC_FLAGS="$JAVAC_FLAGS -g"
;;
slowdebug )
CFLAGS="$CFLAGS $D_FLAG"
C_O_FLAG_HI="$C_O_FLAG_NONE"
C_O_FLAG_NORM="$C_O_FLAG_NONE"
CXX_O_FLAG_HI="$CXX_O_FLAG_NONE"
CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE"
JAVAC_FLAGS="$JAVAC_FLAGS -g"
;;
esac
AC_SUBST(CFLAGS_JDKLIB)
AC_SUBST(CFLAGS_JDKEXE)
AC_SUBST(CXXFLAGS_JDKLIB)
AC_SUBST(CXXFLAGS_JDKEXE)
AC_SUBST(LDFLAGS_JDKLIB)
AC_SUBST(LDFLAGS_JDKEXE)
AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
])

View File

@@ -0,0 +1,36 @@
#
# Copyright (c) 2011, 2012, 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.
#
JDK_MAJOR_VERSION=1
JDK_MINOR_VERSION=8
JDK_MICRO_VERSION=0
JDK_UPDATE_VERSION=
JDK_BUILD_NUMBER=
MILESTONE=internal
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK
PRODUCT_SUFFIX="Runtime Environment"
JDK_RC_PLATFORM_NAME=Platform
COMPANY_NAME=N/A

View File

@@ -0,0 +1,235 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# MANUAL
#
# ./common/bin/compare-objects.sh old_jdk_build_dir new_jdk_build_dir
#
# Compares object files
#
if [ "x$1" = "x-h" ] || [ "x$1" = "x--help" ] || [ "x$1" == "x" ]; then
echo "bash ./common/bin/compare-build.sh old_jdk_build_dir new_jdk_build_dir"
echo ""
echo "Compare object files"
echo ""
exit 10
fi
#######
#
# List of files (grep patterns) that are ignored
#
# 1) hotspot object files
IGNORE="-e hotspot"
# 2) various build artifacts: sizer.32.o sizer.64.o dummyodbc.o
# these are produced during build and then e.g run to produce other data
# i.e not directly put into build => safe to ignore
IGNORE="${IGNORE} -e sizer.32.o -e sizer.64.o"
IGNORE="${IGNORE} -e dummyodbc.o"
IGNORE="${IGNORE} -e genSolarisConstants.o"
IGNORE="${IGNORE} -e genUnixConstants.o"
OLD="$1"
NEW="$2"
shift; shift
PATTERN="$*"
if [ -f $NEW/spec.sh ]; then
. $NEW/spec.sh
elif [ -f $NEW/../../spec.sh ]; then
. $NEW/../../spec.sh
elif [ -f $OLD/spec.sh ]; then
. $OLD/spec.sh
elif [ -f $OLD/../../spec.sh ]; then
. $OLD/../../spec.sh
else
echo "Unable to find spec.sh"
echo "Giving up"
exit 1
fi
export COMPARE_ROOT=/tmp/cimages.$USER/objects
mkdir -p $COMPARE_ROOT
(${CD} $OLD && ${FIND} . -name '*.o') > $COMPARE_ROOT/list.old
(${CD} $NEW && ${FIND} . -name '*.o') > $COMPARE_ROOT/list.new
# On macosx JobjC is build in both i386 and x86_64 variant (universial binary)
# but new build only builds the x86_64
# Remove the 386 variants from comparison...to avoid "false" positives
${GREP} -v 'JObjC.dst/Objects-normal/i386' $COMPARE_ROOT/list.old > $COMPARE_ROOT/list.old.new
${CP} $COMPARE_ROOT/list.old $COMPARE_ROOT/list.old.full
${CP} $COMPARE_ROOT/list.old.new $COMPARE_ROOT/list.old
findnew() {
arg_1=$1
arg_2=$2
# special case 1 unpack-cmd => unpackexe
arg_1=`${ECHO} $arg_1 | ${SED} 's!unpack-cmd!unpackexe!g'`
arg_2=`${ECHO} $arg_2 | ${SED} 's!unpack-cmd!unpackexe!g'`
# special case 2 /JObjC.dst/ => /libjobjc/
arg_1=`${ECHO} $arg_1 | ${SED} 's!/JObjC.dst/!/libjobjc/!g'`
arg_2=`${ECHO} $arg_2 | ${SED} 's!/JObjC.dst/!/libjobjc/!g'`
full=`${ECHO} $arg_1 | ${SED} 's!\.!\\\.!g'`
medium=`${ECHO} $arg_1 | ${SED} 's!.*/\([^/]*/[^/]*\)!\1!'`
short=`${ECHO} $arg_2 | ${SED} 's!\.!\\\.!g'`
if [ "`${GREP} -c "/$full" $COMPARE_ROOT/list.new`" -eq 1 ]
then
${ECHO} $NEW/$arg_1
return
fi
if [ "`${GREP} -c "$medium" $COMPARE_ROOT/list.new`" -eq 1 ]
then
${GREP} "$medium" $COMPARE_ROOT/list.new
return
fi
if [ "`${GREP} -c "/$short" $COMPARE_ROOT/list.new`" -eq 1 ]
then
${GREP} "/$short" $COMPARE_ROOT/list.new
return
fi
# old style has "dir" before obj{64}
dir=`${ECHO} $arg_1 | ${SED} 's!.*/\([^/]*\)/obj[64]*.*!\1!g'`
if [ -n "$dir" -a "$dir" != "$arg_1" ]
then
if [ "`${GREP} $dir $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ]
then
${GREP} $dir $COMPARE_ROOT/list.new | ${GREP} "/$short"
return
fi
# Try with lib$dir/
if [ "`${GREP} "lib$dir/" $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ]
then
${GREP} "lib$dir/" $COMPARE_ROOT/list.new | ${GREP} "/$short"
return
fi
# Try with $dir_objs
if [ "`${GREP} "${dir}_objs" $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ]
then
${GREP} "${dir}_objs" $COMPARE_ROOT/list.new | ${GREP} "/$short"
return
fi
fi
# check for some specifics...
for i in demo hotspot jobjc
do
if [ "`${ECHO} $full | ${GREP} -c $i`" -gt 0 ]
then
if [ "`${GREP} $i $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ]
then
${GREP} $i $COMPARE_ROOT/list.new | ${GREP} "/$short"
return
fi
fi
done
# check for specific demo
demo=`${ECHO} $arg_1 | ${SED} 's!.*/demo/jvmti/\([^/]*\)/.*!\1!g'`
if [ -n "$demo" -a "$dir" != "$demo" ]
then
if [ "`${GREP} $demo $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ]
then
${GREP} $demo $COMPARE_ROOT/list.new | ${GREP} "/$short"
return
fi
fi
return
}
compare() {
old=$1
new=$2
${DIFF} $old $new > /dev/null
res=$?
if [ $res -eq 0 ]
then
${ECHO} 0
return
fi
# check if stripped objects gives equality
${CP} $old $COMPARE_ROOT/`basename $old`.old
${CP} $new $COMPARE_ROOT/`basename $old`.new
${POST_STRIP_CMD} $COMPARE_ROOT/`basename $old`.old $COMPARE_ROOT/`basename $old`.new > /dev/null 2>&1
${DIFF} $COMPARE_ROOT/`basename $old`.old $COMPARE_ROOT/`basename $old`.new > /dev/null
res=$?
${RM} $COMPARE_ROOT/`basename $old`.old $COMPARE_ROOT/`basename $old`.new
if [ $res -eq 0 ]
then
${ECHO} S
return
fi
name=`basename $1 | ${SED} 's!\.o!!'`
cntold=`strings $old | ${GREP} -c $name`
cntnew=`strings $new | ${GREP} -c $name`
if [ $cntold -gt 0 -a $cntnew -gt 0 ]
then
${ECHO} F
return
fi
${ECHO} 1
}
for F in `${CAT} $COMPARE_ROOT/list.old`
do
if [ "${IGNORE}" ] && [ "`${ECHO} $F | ${GREP} ${IGNORE}`" ]
then
#
# skip ignored files
#
continue;
fi
if [ "$PATTERN" ] && [ `${ECHO} $F | ${GREP} -c $PATTERN` -eq 0 ]
then
continue;
fi
f=`basename $F`
o=$OLD/$F
n=`findnew $F $f`
if [ "$n" ]
then
n="$NEW/$n"
${ECHO} `compare $o $n` : $f : $o : $n
else
${ECHO} "- : $f : $o "
fi
done

335
common/bin/compareimage.sh Normal file
View File

@@ -0,0 +1,335 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# MANUAL
#
# ./common/bin/compareimages.sh old_jdk_image new_jdk_image
#
# Compare the directory structure.
# Compare the filenames in the directories.
# Compare the contents of the zip archives
# Compare the contents of the jar archives
# Compare the native libraries
# Compare the native executables
# Compare the remaining files
#
# ./common/bin/compareimages.sh old_jdk_image new_jdk_image [zips jars libs execs other]
#
# Compare only the selected subset of the images.
#
# ./common/bin/compareimages.sh old_jdk_image new_jdk_image CodePointIM.jar
#
# Compare only the CodePointIM.jar file
# Can be used to compare zips, libraries and executables.
#
if [ "x$1" = "x-h" ] || [ "x$1" = "x--help" ] || [ "x$1" == "x" ]; then
echo "bash ./common/bin/compareimages.sh old_jdk_image new_jdk_image"
echo ""
echo "Compare the directory structure."
echo "Compare the filenames in the directories."
echo "Compare the contents of the zip archives"
echo "Compare the contents of the jar archives"
echo "Compare the native libraries"
echo "Compare the native executables"
echo "Compare the remaining files"
echo ""
echo "bash ./common/bin/compareimages.sh old_jdk_image new_jdk_image [zips jars libs execs other]"
echo ""
echo "Compare only the selected subset of the images."
echo ""
echo "bash ./common/bin/compareimages.sh old_jdk_image new_jdk_image CodePointIM.jar"
echo ""
echo "Compare only the CodePointIM.jar file"
echo "Can be used to compare zips, libraries and executables."
exit 10
fi
OLD="$1"
NEW="$2"
CMD="$3"
DIFF_RESULT=0
CMP_ZIPS=false
CMP_JARS=false
CMP_LIBS=false
CMP_EXECS=false
CMP_OTHER=false
FILTER="cat"
if [ -n "$CMD" ]; then
case "$CMD" in
zips)
CMP_ZIPS=true
;;
jars)
CMP_JARS=true
;;
libs)
CMP_LIBS=true
;;
execs)
CMP_EXECS=true
;;
other)
CMP_OTHER=true
;;
*)
CMP_ZIPS=true
CMP_JARS=true
CMP_LIBS=true
CMP_EXECS=true
CMP_OTHER=true
FILTER="grep $3"
;;
esac
else
CMP_ZIPS=true
CMP_JARS=true
CMP_LIBS=true
CMP_EXECS=true
CMP_OTHER=true
fi
DIFFJARZIP="/bin/bash `dirname $0`/diffjarzip.sh"
DIFFLIB="/bin/bash `dirname $0`/difflib.sh"
DIFFEXEC="/bin/bash `dirname $0`/diffexec.sh"
export COMPARE_ROOT=/tmp/cimages.$USER
mkdir -p $COMPARE_ROOT
# Load the correct exception list.
case "`uname -s`" in
Linux)
. `dirname $0`/exception_list_linux
;;
esac
echo
echo Comparing $OLD to $NEW
echo
(cd $OLD && find . -type d | sort > $COMPARE_ROOT/from_dirs)
(cd $NEW && find . -type d | sort > $COMPARE_ROOT/to_dirs)
echo -n Directory structure...
if diff $COMPARE_ROOT/from_dirs $COMPARE_ROOT/to_dirs > /dev/null; then
echo Identical!
else
echo Differences found.
DIFF_RESULT=1
# Differences in directories found.
ONLY_OLD=$(diff $COMPARE_ROOT/from_dirs $COMPARE_ROOT/to_dirs | grep '<')
if [ "$ONLY_OLD" ]; then
echo Only in $OLD
echo $ONLY_OLD | sed 's|< ./|\t|g' | sed 's/ /\n/g'
fi
# Differences in directories found.
ONLY_NEW=$(diff $COMPARE_ROOT/from_dirs $COMPARE_ROOT/to_dirs | grep '>')
if [ "$ONLY_NEW" ]; then
echo Only in $NEW
echo $ONLY_NEW | sed 's|> ./|\t|g' | sed 's/ /\n/g'
fi
fi
(cd $OLD && find . -type f | sort > $COMPARE_ROOT/from_files)
(cd $NEW && find . -type f | sort > $COMPARE_ROOT/to_files)
echo -n File names...
if diff $COMPARE_ROOT/from_files $COMPARE_ROOT/to_files > /dev/null; then
echo Identical!
else
echo Differences found.
DIFF_RESULT=1
# Differences in directories found.
ONLY_OLD=$(diff $COMPARE_ROOT/from_files $COMPARE_ROOT/to_files | grep '<')
if [ "$ONLY_OLD" ]; then
echo Only in $OLD
echo "$ONLY_OLD" | sed 's|< ./| |g'
fi
# Differences in directories found.
ONLY_NEW=$(diff $COMPARE_ROOT/from_files $COMPARE_ROOT/to_files | grep '>')
if [ "$ONLY_NEW" ]; then
echo Only in $NEW
echo "$ONLY_NEW" | sed 's|> ./| |g'
fi
fi
echo -n Permissions...
found=""
for f in `cd $OLD && find . -type f`
do
if [ ! -f ${OLD}/$f ]; then continue; fi
if [ ! -f ${NEW}/$f ]; then continue; fi
OP=`ls -l ${OLD}/$f | awk '{printf("%.10s\n", $1);}'`
NP=`ls -l ${NEW}/$f | awk '{printf("%.10s\n", $1);}'`
if [ "$OP" != "$NP" ]
then
if [ -z "$found" ]; then echo ; found="yes"; fi
printf "\told: ${OP} new: ${NP}\t$f\n"
fi
OF=`cd ${OLD} && file $f`
NF=`cd ${NEW} && file $f`
if [ "$f" = "./src.zip" ]
then
if [ "`echo $OF | grep -ic zip`" -gt 0 -a "`echo $NF | grep -ic zip`" -gt 0 ]
then
# the way we produces zip-files make it so that directories are stored in old file
# but not in new (only files with full-path)
# this makes file-5.09 report them as different
continue;
fi
fi
if [ "$OF" != "$NF" ]
then
if [ -z "$found" ]; then echo ; found="yes"; fi
printf "\tFILE: old: ${OF} new: ${NF}\t$f\n"
fi
done
if [ -z "$found" ]; then echo ; found="yes"; fi
GENERAL_FILES=$(cd $OLD && find . -type f ! -name "*.so" ! -name "*.jar" ! -name "*.zip" \
! -name "*.debuginfo" ! -name "*.dylib" ! -name "jexec" \
! -name "ct.sym" ! -name "*.diz" \
| grep -v "./bin/" | sort | $FILTER)
echo General files...
for f in $GENERAL_FILES
do
if [ -e $NEW/$f ]; then
DIFF_OUT=$(diff $OLD/$f $NEW/$f 2>&1)
if [ -n "$DIFF_OUT" ]; then
echo $f
echo "$DIFF_OUT"
fi
fi
done
if [ "x$CMP_ZIPS" == "xtrue" ]; then
ZIPS=$(cd $OLD && find . -type f -name "*.zip" | sort | $FILTER)
if [ -n "$ZIPS" ]; then
echo Zip files...
for f in $ZIPS
do
$DIFFJARZIP $OLD/$f $NEW/$f $OLD $NEW
if [ "$?" != "0" ]; then
DIFF_RESULT=1
fi
done
fi
fi
if [ "x$CMP_JARS" == "xtrue" ]; then
JARS=$(cd $OLD && find . -type f -name "*.jar" -o -name "ct.sym" | sort | $FILTER)
if [ -n "$JARS" ]; then
echo Jar files...
for f in $JARS
do
DIFFJAR_OUTPUT=`$DIFFJARZIP $OLD/$f $NEW/$f $OLD $NEW`
DIFFJAR_RESULT=$?
if [ "$DIFFJAR_RESULT" != "0" ]; then
for diff in $LIST_DIFF_JAR; do
DIFFJAR_OUTPUT=`echo "$DIFFJAR_OUTPUT" | grep -v "$diff"`
done
if [ "`echo "$DIFFJAR_OUTPUT" | grep -v "Differing files in"`" != "" ]; then
DIFF_RESULT=1
echo "$DIFFJAR_OUTPUT"
fi
fi
done
fi
fi
if [ "x$FILTER" != "xcat" ]; then
VIEW=view
else
VIEW=
fi
if [ "x$CMP_LIBS" == "xtrue" ]; then
LIBS=$(cd $OLD && find . -name 'lib*.so' -o -name '*.dylib' -o -name '*.dll' | sort | $FILTER)
if [ -n "$LIBS" ]; then
echo Libraries...
for f in $LIBS
do
DIFFLIB_OUTPUT=`$DIFFLIB $OLD/$f $NEW/$f $OLD $NEW $VIEW`
DIFFLIB_RESULT=$?
if [ "$DIFFLIB_RESULT" = "0" ]; then
:
#echo "OK: $DIFFLIB_OUTPUT"
elif [ "$DIFFLIB_RESULT" = "2" ] && [[ "$LIST_DIFF_SIZE $LIST_DIFF_BYTE" == *"${f:2}"* ]]; then
:
#echo "OK: $DIFFLIB_OUTPUT"
elif [ "$DIFFLIB_RESULT" = "1" ] && [[ "$LIST_DIFF_BYTE" == *"${f:2}"* ]]; then
:
#echo "OK: $DIFFLIB_OUTPUT"
else
echo "$DIFFLIB_OUTPUT"
DIFF_RESULT=1
fi
done
fi
fi
if [ "x$CMP_EXECS" == "xtrue" ]; then
if [ $OSTYPE == "cygwin" ]; then
EXECS=$(cd $OLD && find . -type f -name '*.exe' | sort | $FILTER)
else
EXECS=$(cd $OLD && find . -type f -perm -100 \! \( -name '*.so' -o -name '*.dylib' -o -name '*.dll' \) | sort | $FILTER)
fi
if [ -n "$EXECS" ]; then
echo Executables...
for f in $EXECS
do
DIFFEXEC_OUTPUT=`$DIFFEXEC $OLD/$f $NEW/$f $OLD $NEW $VIEW`
DIFFEXEC_RESULT=$?
if [ "$DIFFEXEC_RESULT" = "0" ]; then
:
#echo "OK: $DIFFEXEC_OUTPUT"
elif [ "$DIFFEXEC_RESULT" = "2" ] && [[ "$LIST_DIFF_SIZE $LIST_DIFF_BYTE" == *"${f:2}"* ]]; then
:
#echo "OK: $DIFFEXEC_OUTPUT"
elif [ "$DIFFEXEC_RESULT" = "1" ] && [[ "$LIST_DIFF_BYTE" == *"${f:2}"* ]]; then
:
#echo "OK: $DIFFEXEC_OUTPUT"
else
echo "$DIFFEXEC_OUTPUT"
DIFF_RESULT=1
fi
done
fi
fi
exit $DIFF_RESULT

186
common/bin/diffexec.sh Normal file
View File

@@ -0,0 +1,186 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
if [ $# -lt 2 ]
then
echo "Diff two executables. Return codes:"
echo "0 - no diff"
echo "1 - Identical symbols AND size, BUT not bytewise identical"
echo "2 - Identical symbols BUT NEW size"
echo "3 - Differences, content BUT SAME size"
echo "4 - Differences, content AND size"
echo "10 - Could not perform diff"
echo "Use 'quiet' to disable any output."
echo "Syntax: $0 file1 file2 [quiet]"
exit 10
fi
if [ ! -f $1 ]
then
echo $1 does not exist
exit 10
fi
if [ ! -f $2 ]
then
echo $2 does not exist
exit 10
fi
if [ "`uname`" == "SunOS" ]; then
if [ -f "`which nm`" ]; then
NM=nm
elif [ -f "`which gnm`" ]; then
NM=gnm
else
echo "No nm command found"
exit 10
fi
LDD=ldd
elif [ $OSTYPE == "cygwin" ]; then
NM="$VS100COMNTOOLS/../../VC/bin/amd64/dumpbin.exe"
NM_ARGS=/exports
LDD=
elif [ "`uname`" == "Darwin" ]; then
NM=nm
LDD="otool -L"
else
NM=nm
LDD=ldd
fi
# Should the differences be viewed?
VIEW=
# You can do export DIFF=meld to view
# any differences using meld instead.
if [ -n "$DIFF" ]; then
DIFF="$DIFF"
else
DIFF=diff
fi
OLD=$(cd $(dirname $1) && pwd)/$(basename $1)
NEW=$(cd $(dirname $2) && pwd)/$(basename $2)
OLD_SIZE=$(ls -l "$OLD" | awk '{ print $5 }')
NEW_SIZE=$(ls -l "$NEW" | awk '{ print $5 }')
if [ $# -gt 3 ]
then
ROOT1=$(cd $3 && pwd)
ROOT2=$(cd $4 && pwd)
OLD_NAME=$(echo $OLD | sed "s|$ROOT1/||")
NEW_NAME=$(echo $NEW | sed "s|$ROOT2/||")
if [ "x$5" == "xview" ]; then VIEW=view; fi
else
ROOT1=$(dirname $OLD)/
ROOT2=$(dirname $NEW)/
OLD_NAME=$OLD
NEW_NAME=$NEW
if [ "x$3" == "xview" ]; then VIEW=view; fi
fi
if cmp $OLD $NEW > /dev/null
then
# The files were bytewise identical.
echo Identical: $OLD_NAME
exit 0
fi
OLD_SYMBOLS=$COMPARE_ROOT/$OLD_NAME.old
NEW_SYMBOLS=$COMPARE_ROOT/$NEW_NAME.new
mkdir -p $(dirname $OLD_SYMBOLS)
mkdir -p $(dirname $NEW_SYMBOLS)
if [ $OSTYPE == "cygwin" ]; then
"$NM" $NM_ARGS $OLD | grep " = " > $OLD_SYMBOLS
"$NM" $NM_ARGS $NEW | grep " = " > $NEW_SYMBOLS
"$NM" $NM_ARGS $OLD > $OLD_SYMBOLS.full
"$NM" $NM_ARGS $NEW > $NEW_SYMBOLS.full
else
# Strip the addresses, just compare the ordering of the symbols.
$NM $OLD | cut -f 2- -d ' ' > $OLD_SYMBOLS
$NM $NEW | cut -f 2- -d ' ' > $NEW_SYMBOLS
# But store the full information for easy diff access.
$NM $OLD > $OLD_SYMBOLS.full
$NM $NEW > $NEW_SYMBOLS.full
fi
DIFFS=$(LANG=C diff $OLD_SYMBOLS $NEW_SYMBOLS)
if [ "${LDD}" ]
then
NAME=`basename $OLD`
TMP=$COMPARE_ROOT/ldd/ldd.${NAME}
rm -rf "${TMP}"
mkdir -p "${TMP}"
(cd "${TMP}" && cp $OLD . && ${LDD} ${NAME} | awk '{ print $1;}' | sort | tee dep.old | uniq > dep.uniq.old)
(cd "${TMP}" && cp $NEW . && ${LDD} ${NAME} | awk '{ print $1;}' | sort | tee dep.new | uniq > dep.uniq.new)
(cd "${TMP}" && rm -f ${NAME})
DIFFS_DEP=$(LANG=C diff "${TMP}/dep.old" "${TMP}/dep.new")
DIFFS_UNIQ_DEP=$(LANG=C diff "${TMP}/dep.uniq.old" "${TMP}/dep.uniq.new")
DEP_MSG=
if [ -z "${DIFFS_UNIQ_DEP}" -a -z "${DIFFS_DEP}" ]; then
DEP_MSG="Identical dependencies"
elif [ -z "${DIFFS_UNIQ_DEP}" ]; then
DEP_MSG="Redundant duplicate dependencies added"
RES=1
else
DEP_MSG="DIFFERENT dependencies"
RES=1
fi
fi
RESULT=0
if [ -n "$DIFFS" ]; then
if [ $OLD_SIZE -ne $NEW_SIZE ]
then
echo Differences, content AND size : $DEP_MSG : $OLD_NAME
RESULT=4
else
echo Differences, content BUT SAME size: $DEP_MSG : $OLD_NAME
RESULT=3
fi
if [ "x$VIEW" == "xview" ]; then
LANG=C $DIFF $OLD_SYMBOLS $NEW_SYMBOLS
fi
else
if [ $OLD_SIZE -ne $NEW_SIZE ]
then
echo Identical symbols BUT NEW size : $DEP_MSG : $OLD_NAME
RESULT=2
else
echo Identical symbols AND size, BUT not bytewise identical: $DEP_MSG : $OLD_NAME
RESULT=1
fi
fi
exit $RESULT

155
common/bin/diffjarzip.sh Normal file
View File

@@ -0,0 +1,155 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Simple tool to diff two jar or zip files. It unpacks the jar/zip files and
# reports if files differs and if files are new or missing.
# Assumes gnu diff.
# There are a few source files that have DOS line endings in the
# jaxp/jaxws source drops, when the sources were added to the repository
# the source files were converted to UNIX line endings.
# For now we ignore these differences.
DIFF_FLAGS="--strip-trailing-cr"
#set -x
if [ $# -lt 2 ]
then
echo "Diff two jar/zip files. Return codes: 0 - no diff, 1 - diff, 2 - couldn't perform diff"
echo "Syntax: $0 old_archive new_archive [old_root new_root]"
exit 2
fi
if [ ! -f $1 ]
then
echo $1 does not exist
exit 2
fi
if [ ! -f $2 ]
then
echo $2 does not exist
exit 2
fi
IGNORES="cat"
OLD=$(cd $(dirname $1) && pwd)/$(basename $1)
NEW=$(cd $(dirname $2) && pwd)/$(basename $2)
if [ $# -gt 3 ]
then
ROOT1=$(cd $3 && pwd)
ROOT2=$(cd $4 && pwd)
OLD_NAME=$(echo $OLD | sed "s|$ROOT1/||")
NEW_NAME=$(echo $NEW | sed "s|$ROOT2/||")
if [ $# == 5 ]; then IGNORES="$5"; fi
else
ROOT1=$(dirname $OLD)/
ROOT2=$(dirname $NEW)/
OLD_NAME=$OLD
NEW_NAME=$NEW
if [ $# == 3 ]; then IGNORES="$3"; fi
fi
if [ "`uname`" == "SunOS" ]; then
if [ -f "`which gdiff`" ]; then
DIFF=gdiff
else
DIFF=diff
fi
else
DIFF=diff
fi
OLD_SUFFIX="${OLD##*.}"
NEW_SUFFIX="${NEW##*.}"
if [ "$OLD_SUFFIX" != "$NEW_SUFFIX" ]; then
echo The files do not have the same suffix type!
exit 2
fi
if [ "$OLD_SUFFIX" != "zip" ] && [ "$OLD_SUFFIX" != "jar" ] && [ "$OLD_SUFFIX" != "sym" ]; then
echo The files have to be zip, jar or sym! They are $OLD_SUFFIX
exit 2
fi
UNARCHIVE="unzip -q"
TYPE="$OLD_SUFFIX"
if cmp $OLD $NEW > /dev/null
then
# The files were bytewise identical.
exit 0
fi
# Not quite identical, the might still contain the same data.
# Unpack the jar/zip files in temp dirs
if test "x$COMPARE_ROOT" == "x"; then
COMPARE_ROOT=/tmp/compare_root.$$
REMOVE_COMPARE_ROOT=true
fi
OLD_TEMPDIR=$COMPARE_ROOT/$OLD_NAME.old
NEW_TEMPDIR=$COMPARE_ROOT/$NEW_NAME.new
mkdir -p $OLD_TEMPDIR
mkdir -p $NEW_TEMPDIR
(cd $OLD_TEMPDIR && rm -rf * ; $UNARCHIVE $OLD)
(cd $NEW_TEMPDIR && rm -rf * ; $UNARCHIVE $NEW)
ONLY1=$(LANG=C $DIFF -rq $OLD_TEMPDIR $NEW_TEMPDIR | grep "^Only in $OLD_TEMPDIR")
if [ -n "$ONLY1" ]; then
echo " Only the OLD $OLD_NAME contains:"
LANG=C $DIFF -rq $DIFF_FLAGS $OLD_TEMPDIR $NEW_TEMPDIR | grep "^Only in $OLD_TEMPDIR" \
| sed "s|Only in $OLD_TEMPDIR| |"g | sed 's|: |/|g'
fi
ONLY2=$(LANG=C $DIFF -rq $OLD_TEMPDIR $NEW_TEMPDIR | grep "^Only in $NEW_TEMPDIR")
if [ -n "$ONLY2" ]; then
echo " Only the NEW $NEW_NAME contains:"
LANG=C $DIFF -rq $DIFF_FLAGS $OLD_TEMPDIR $NEW_TEMPDIR | grep "^Only in $NEW_TEMPDIR" \
| sed "s|Only in $NEW_TEMPDIR| |"g | sed 's|: |/|g'
fi
DIFFTEXT="/bin/bash `dirname $0`/difftext.sh"
LANG=C $DIFF -rq $DIFF_FLAGS $OLD_TEMPDIR $NEW_TEMPDIR | grep differ | cut -f 2,4 -d ' ' | \
awk "{ print \"$DIFFTEXT \"\$1\" \"\$2 }" > $COMPARE_ROOT/diffing
/bin/bash $COMPARE_ROOT/diffing > $COMPARE_ROOT/diffs
if [ -s "$COMPARE_ROOT/diffs" ]; then
echo " Differing files in $OLD_NAME"
cat $COMPARE_ROOT/diffs | grep differ | $IGNORES | cut -f 2 -d ' ' | \
sed "s|$OLD_TEMPDIR| |g"
fi
# Clean up
if [ "x$REMOVE_COMPARE_ROOT" == xtrue ]; then
rm -rf $REMOVE_COMPARE_ROOT
fi
exit 1

207
common/bin/difflib.sh Normal file
View File

@@ -0,0 +1,207 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Simple tool to diff two shared libraries.
# Criterias: two shared libraries are considered equal if:
# the file sizes are the same AND the symbols outputs from the nm command are equal
if [ $# -lt 2 ]
then
echo "Diff two shared libs. Return codes:"
echo "0 - no diff"
echo "1 - Identical symbols AND size, BUT not bytewise identical"
echo "2 - Identical symbols BUT NEW size"
echo "3 - Differences, content BUT SAME size"
echo "4 - Differences, content AND size"
echo "10 - Could not perform diff"
echo "Use 'quiet' to disable any output."
echo "Syntax: $0 file1 file2 [quiet]"
exit 10
fi
if [ ! -f $1 ]
then
echo $1 does not exist
exit 10
fi
if [ ! -f $2 ]
then
echo $2 does not exist
exit 10
fi
if [ "`uname`" == "SunOS" ]; then
if [ -f "`which gnm`" ]; then
NM=gnm
# Jonas 2012-05-29: solaris native nm produces radically different output than gnm
# so if using that...we need different filter than "cut -f 2-"
#
elif [ -f "`which nm`" ]; then
NM=nm
else
echo "No nm command found"
exit 10
fi
LDD=ldd
elif [ $OSTYPE == "cygwin" ]; then
NM="$VS100COMNTOOLS/../../VC/bin/amd64/dumpbin.exe"
NM_ARGS=/exports
LDD=
elif [ "`uname`" == "Darwin" ]; then
NM=nm
LDD="otool -L"
else
NM=nm
LDD=ldd
fi
# Should the differences be viewed?
VIEW=
# You can do export DIFF=meld to view
# any differences using meld instead.
if [ -n "$DIFF" ]; then
DIFF="$DIFF"
else
DIFF=diff
fi
OLD=$(cd $(dirname $1) && pwd)/$(basename $1)
NEW=$(cd $(dirname $2) && pwd)/$(basename $2)
OLD_SIZE=$(ls -l "$OLD" | awk '{ print $5 }')
NEW_SIZE=$(ls -l "$NEW" | awk '{ print $5 }')
if [ $# -gt 3 ]
then
ROOT1=$(cd $3 && pwd)
ROOT2=$(cd $4 && pwd)
OLD_NAME=$(echo $OLD | sed "s|$ROOT1/||")
NEW_NAME=$(echo $NEW | sed "s|$ROOT2/||")
if [ "x$5" == "xview" ]; then VIEW=view; fi
else
ROOT1=$(dirname $OLD)/
ROOT2=$(dirname $NEW)/
OLD_NAME=$OLD
NEW_NAME=$NEW
if [ "x$3" == "xview" ]; then VIEW=view; fi
fi
OLD_SUFFIX="${OLD##*.}"
NEW_SUFFIX="${NEW##*.}"
if [ "$OLD_SUFFIX" != "$NEW_SUFFIX" ]; then
echo The files do not have the same suffix type!
exit 10
fi
if [ "$OLD_SUFFIX" != "so" ] && [ "$OLD_SUFFIX" != "dylib" ] && [ "$OLD_SUFFIX" != "dll" ]; then
echo The files have to be .so, .dylib or .dll! They are $OLD_SUFFIX
exit 10
fi
TYPE="$OLD_SUFFIX"
if cmp $OLD $NEW > /dev/null
then
# The files were bytewise identical.
echo Identical: $OLD_NAME
exit 0
fi
OLD_SYMBOLS=$COMPARE_ROOT/nm.$OLD_NAME.old
NEW_SYMBOLS=$COMPARE_ROOT/nm.$NEW_NAME.new
mkdir -p $(dirname $OLD_SYMBOLS)
mkdir -p $(dirname $NEW_SYMBOLS)
if [ $OSTYPE == "cygwin" ]; then
"$NM" $NM_ARGS $OLD | grep " = " > $OLD_SYMBOLS
"$NM" $NM_ARGS $NEW | grep " = " > $NEW_SYMBOLS
"$NM" $NM_ARGS $OLD > $OLD_SYMBOLS.full
"$NM" $NM_ARGS $NEW > $NEW_SYMBOLS.full
else
# Strip the addresses, just compare the ordering of the symbols.
$NM $OLD | cut -f 2- -d ' ' > $OLD_SYMBOLS
$NM $NEW | cut -f 2- -d ' ' > $NEW_SYMBOLS
# But store the full information for easy diff access.
$NM $OLD > $OLD_SYMBOLS.full
$NM $NEW > $NEW_SYMBOLS.full
fi
DIFFS=$(LANG=C diff $OLD_SYMBOLS $NEW_SYMBOLS)
RESULT=0
if [ "${LDD}" ]
then
NAME=`basename $OLD`
TMP=$COMPARE_ROOT/ldd/ldd.${NAME}
rm -rf "${TMP}"
mkdir -p "${TMP}"
(cd "${TMP}" && cp $OLD . && ${LDD} ${NAME} | awk '{ print $1;}' | sort | tee dep.old | uniq > dep.uniq.old)
(cd "${TMP}" && cp $NEW . && ${LDD} ${NAME} | awk '{ print $1;}' | sort | tee dep.new | uniq > dep.uniq.new)
(cd "${TMP}" && rm -f ${NAME})
DIFFS_DEP=$(LANG=C diff "${TMP}/dep.old" "${TMP}/dep.new")
DIFFS_UNIQ_DEP=$(LANG=C diff "${TMP}/dep.uniq.old" "${TMP}/dep.uniq.new")
DEP_MSG=
if [ -z "${DIFFS_UNIQ_DEP}" -a -z "${DIFFS_DEP}" ]; then
DEP_MSG="Identical dependencies"
elif [ -z "${DIFFS_UNIQ_DEP}" ]; then
DEP_MSG="Redundant duplicate dependencies added"
RES=1
else
DEP_MSG="DIFFERENT dependencies"
RES=1
fi
fi
if [ -n "$DIFFS" ]; then
if [ $OLD_SIZE -ne $NEW_SIZE ]
then
echo Differences, content AND size : $DEP_MSG : $OLD_NAME
RESULT=4
else
echo Differences, content BUT SAME size: $DEP_MSG : $OLD_NAME
RESULT=3
fi
if [ "x$VIEW" == "xview" ]; then
LANG=C $DIFF $OLD_SYMBOLS $NEW_SYMBOLS
fi
else
if [ $OLD_SIZE -ne $NEW_SIZE ]
then
echo Identical symbols BUT NEW size : $DEP_MSG : $OLD_NAME
RESULT=2
else
echo Identical symbols AND size, BUT not bytewise identical: $DEP_MSG : $OLD_NAME
RESULT=1
fi
fi
exit $RESULT

157
common/bin/difftext.sh Normal file
View File

@@ -0,0 +1,157 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# The difftext.sh knows how to compare text files and
# ignore some specific differences.
# When difftext.sh is called, we already know that the
# files differ. But if the tests below trigger, then
# we ignore differences caused by:
#
# Timestamps in Java sources generated by idl2java
# Sorting order and cleanup style in .properties files.
OLD="$1"
NEW="$2"
SUF="${OLD##*.}"
TMP=1
if test "x$SUF" == "xjava"; then
TMP=$(LANG=C diff $OLD $NEW | \
grep '^[<>]' | \
sed '/[<>] \* from.*\.idl/d' | \
sed '/[<>] \*.*201[12].*/d' | \
sed '/\/\/ Generated from input file.*/d' | \
sed '/\/\/ This file was generated AUTOMATICALLY from a template file.*/d' | \
sed '/\/\/ java GenerateCharacter.*/d')
fi
if test "x$SUF" == "xproperties"; then
cat $OLD | sed -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
-e 's/\\u0020/\x20/g' \
-e 's/\\u003A/\x3A/g' \
-e 's/\\u006B/\x6B/g' \
-e 's/\\u0075/\x75/g' \
-e 's/\\u00A0/\xA0/g' \
-e 's/\\u00A3/\xA3/g' \
-e 's/\\u00B0/\xB0/g' \
-e 's/\\u00B7/\xB7/g' \
-e 's/\\u00BA/\xBA/g' \
-e 's/\\u00BF/\xBF/g' \
-e 's/\\u00C0/\xC0/g' \
-e 's/\\u00C1/\xC1/g' \
-e 's/\\u00C2/\xC2/g' \
-e 's/\\u00C4/\xC4/g' \
-e 's/\\u00C5/\xC5/g' \
-e 's/\\u00C8/\xC8/g' \
-e 's/\\u00C9/\xC9/g' \
-e 's/\\u00CA/\xCA/g' \
-e 's/\\u00CD/\xCD/g' \
-e 's/\\u00CE/\xCE/g' \
-e 's/\\u00D3/\xD3/g' \
-e 's/\\u00D4/\xD4/g' \
-e 's/\\u00D6/\xD6/g' \
-e 's/\\u00DA/\xDA/g' \
-e 's/\\u00DC/\xDC/g' \
-e 's/\\u00DD/\xDD/g' \
-e 's/\\u00DF/\xDF/g' \
-e 's/\\u00E0/\xE0/g' \
-e 's/\\u00E1/\xE1/g' \
-e 's/\\u00E2/\xE2/g' \
-e 's/\\u00E3/\xE3/g' \
-e 's/\\u00E4/\xE4/g' \
-e 's/\\u00E5/\xE5/g' \
-e 's/\\u00E6/\xE6/g' \
-e 's/\\u00E7/\xE7/g' \
-e 's/\\u00E8/\xE8/g' \
-e 's/\\u00E9/\xE9/g' \
-e 's/\\u00EA/\xEA/g' \
-e 's/\\u00EB/\xEB/g' \
-e 's/\\u00EC/\xEC/g' \
-e 's/\\u00ED/\xED/g' \
-e 's/\\u00EE/\xEE/g' \
-e 's/\\u00EF/\xEF/g' \
-e 's/\\u00F1/\xF1/g' \
-e 's/\\u00F2/\xF2/g' \
-e 's/\\u00F3/\xF3/g' \
-e 's/\\u00F4/\xF4/g' \
-e 's/\\u00F5/\xF5/g' \
-e 's/\\u00F6/\xF6/g' \
-e 's/\\u00F9/\xF9/g' \
-e 's/\\u00FA/\xFA/g' \
-e 's/\\u00FC/\xFC/g' \
-e 's/\\u0020/\x20/g' \
-e 's/\\u003f/\x3f/g' \
-e 's/\\u006f/\x6f/g' \
-e 's/\\u0075/\x75/g' \
-e 's/\\u00a0/\xa0/g' \
-e 's/\\u00a3/\xa3/g' \
-e 's/\\u00b0/\xb0/g' \
-e 's/\\u00ba/\xba/g' \
-e 's/\\u00bf/\xbf/g' \
-e 's/\\u00c1/\xc1/g' \
-e 's/\\u00c4/\xc4/g' \
-e 's/\\u00c5/\xc5/g' \
-e 's/\\u00c8/\xc8/g' \
-e 's/\\u00c9/\xc9/g' \
-e 's/\\u00ca/\xca/g' \
-e 's/\\u00cd/\xcd/g' \
-e 's/\\u00d6/\xd6/g' \
-e 's/\\u00dc/\xdc/g' \
-e 's/\\u00dd/\xdd/g' \
-e 's/\\u00df/\xdf/g' \
-e 's/\\u00e0/\xe0/g' \
-e 's/\\u00e1/\xe1/g' \
-e 's/\\u00e2/\xe2/g' \
-e 's/\\u00e3/\xe3/g' \
-e 's/\\u00e4/\xe4/g' \
-e 's/\\u00e5/\xe5/g' \
-e 's/\\u00e7/\xe7/g' \
-e 's/\\u00e8/\xe8/g' \
-e 's/\\u00e9/\xe9/g' \
-e 's/\\u00ea/\xea/g' \
-e 's/\\u00eb/\xeb/g' \
-e 's/\\u00ec/\xec/g' \
-e 's/\\u00ed/\xed/g' \
-e 's/\\u00ee/\xee/g' \
-e 's/\\u00ef/\xef/g' \
-e 's/\\u00f0/\xf0/g' \
-e 's/\\u00f1/\xf1/g' \
-e 's/\\u00f2/\xf2/g' \
-e 's/\\u00f3/\xf3/g' \
-e 's/\\u00f4/\xf4/g' \
-e 's/\\u00f5/\xf5/g' \
-e 's/\\u00f6/\xf6/g' \
-e 's/\\u00f7/\xf7/g' \
-e 's/\\u00f8/\xf8/g' \
-e 's/\\u00f9/\xf9/g' \
-e 's/\\u00fa/\xfa/g' \
-e 's/\\u00fc/\xfc/g' \
-e 's/\\u00ff/\xff/g' \
| sed -e '/^#/d' -e '/^$/d' \
-e :a -e '/\\$/N; s/\\\n//; ta' \
-e 's/^[ \t]*//;s/[ \t]*$//' \
-e 's/\\=/=/' | LANG=C sort > $OLD.cleaned
TMP=$(LANG=C diff $OLD.cleaned $NEW)
fi
if test -n "$TMP"; then
echo Files $OLD and $NEW differ
fi

View File

@@ -0,0 +1,114 @@
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# List of files inside jar archives that are ok if they differ.
LIST_DIFF_JAR="
/sun/misc/Version.class
/sun/tools/jconsole/Version.class
/com/sun/tools/javac/resources/version.class
/com/sun/tools/javah/resources/version.class
/com/sun/tools/javap/resources/version.class
"
# List of binaries that only need to match symbols
LIST_DIFF_SIZE="
jre/lib/amd64/libfontmanager.so
jre/lib/amd64/libjdwp.so
jre/lib/amd64/libt2k.so
bin/unpack200
jre/bin/unpack200
jre/lib/amd64/libjsig.debuginfo
jre/lib/amd64/libsaproc.debuginfo
jre/lib/amd64/server/libjvm.debuginfo
"
# List of binares that need to match both symbols and size
LIST_DIFF_BYTE="
jre/lib/amd64/libdt_socket.so
jre/lib/amd64/libattach.so
jre/lib/amd64/libjaas_unix.so
jre/lib/amd64/libjawt.so
jre/lib/amd64/libjpeg.so
jre/lib/amd64/libjsdt.so
jre/lib/amd64/libjsig.so
jre/lib/amd64/libsaproc.so
jre/lib/amd64/libsctp.so
jre/lib/amd64/libsunec.so
jre/lib/amd64/libunpack.so
jre/lib/amd64/libverify.so
jre/lib/amd64/libzip.so
jre/lib/amd64/server/libjsig.so
jre/lib/amd64/server/libjvm.so
jre/lib/amd64/liblcms.so
demo/jvmti/heapTracker/lib/libheapTracker.so
demo/jvmti/hprof/lib/libhprof.so
demo/jvmti/minst/lib/libminst.so
demo/jvmti/mtrace/lib/libmtrace.so
demo/jvmti/waiters/lib/libwaiters.so
bin/appletviewer
bin/extcheck
bin/idlj
bin/jar
bin/jarsigner
bin/java
bin/javac
bin/javadoc
bin/javah
bin/javap
bin/jcmd
bin/jconsole
bin/jdb
bin/jhat
bin/jinfo
bin/jmap
bin/jps
bin/jrunscript
bin/jsadebugd
bin/jstack
bin/jstat
bin/jstatd
bin/keytool
bin/native2ascii
bin/orbd
bin/pack200
bin/policytool
bin/rmic
bin/rmid
bin/rmiregistry
bin/schemagen
bin/serialver
bin/servertool
bin/tnameserv
bin/wsgen
bin/wsimport
bin/xjc
jre/bin/java
jre/bin/keytool
jre/bin/orbd
jre/bin/pack200
jre/bin/policytool
jre/bin/rmid
jre/bin/rmiregistry
jre/bin/servertool
jre/bin/tnameserv
"

View File

@@ -0,0 +1,53 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Must be bash, but that is ok since we are running from cygwin.
# The first argument is the vcvarsall.bat file to run.
# The second argument is the arch arg to give to vcvars.
VCVARSALL="$1"
ARCH_ARG="$2"
# Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment)
# but calculate the difference in Cygwin environment before/after running it and then
# apply the diff.
_vs10varsall=`cygpath -a -m -s "$VCVARSALL"`
_dosvs10varsall=`cygpath -a -w -s $_vs10varsall`
_dosbash=`cygpath -a -w -s \`which bash\`.*`
# generate the set of exported vars before/after the vs10 setup
echo "@echo off" > localdevenvtmp.bat
echo "$_dosbash -c \"export -p\" > localdevenvtmp.export0" >> localdevenvtmp.bat
echo "call $_dosvs10varsall $ARCH_ARG" >> localdevenvtmp.bat
echo "$_dosbash -c \"export -p\" > localdevenvtmp.export1" >> localdevenvtmp.bat
cmd /c localdevenvtmp.bat
# apply the diff (less some non-vs10 vars named by "!")
sort localdevenvtmp.export0 |grep -v "!" > localdevenvtmp.export0.sort
sort localdevenvtmp.export1 |grep -v "!" > localdevenvtmp.export1.sort
comm -1 -3 localdevenvtmp.export0.sort localdevenvtmp.export1.sort > localdevenv.sh
cat localdevenv.sh | sed 's/declare -x /export /g' | sed 's/="/:="/g' | sed 's/\\\\/\\/g' | sed 's/"//g' | \
sed 's/#/\$\(HASH\)/g' > localdevenv.gmk
# cleanup
rm -f localdevenvtmp*

View File

@@ -0,0 +1,41 @@
#!/bin/sh
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
if [ -x /usr/bin/ggrep ] ; then
# Gnu grep on Solaris
# (reference configure and build/solaris-i586-clientANDserver-release/spec.gmk
GREP=/usr/bin/ggrep
else
GREP=grep
fi
#
EXP="Note: Some input files use or override a deprecated API."
EXP="${EXP}|Note: Recompile with -Xlint:deprecation for details."
EXP="${EXP}|Note: Some input files use unchecked or unsafe operations."
EXP="${EXP}|Note: Recompile with -Xlint:unchecked for details."
EXP="${EXP}| warning"
EXP="${EXP}|uses or overrides a deprecated API."
EXP="${EXP}|uses unchecked or unsafe operations."
#
${GREP} --line-buffered -v -E "${EXP}"

45
common/bin/logger.sh Normal file
View File

@@ -0,0 +1,45 @@
#!/bin/sh
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Usage: ./logger.sh theloggfile acommand arg1 arg2
#
# Execute acommand with args, in such a way that
# both stdout and stderr from acommand are appended to
# theloggfile.
#
# Preserve stdout and stderr, so that the stdout
# from logger.sh is the same from acommand and equally
# for stderr.
#
# Propagate the result code from acommand so that
# ./logger.sh exits with the same result code.
# Create a temporary directory to store the result code from
# the wrapped command.
RCDIR=`mktemp -dt jdk-build-logger.tmp.XXXXXX` || exit $?
trap "rm -rf \"$RCDIR\"" EXIT
LOGFILE=$1
shift
(exec 3>&1 ; ("$@" 2>&1 1>&3; echo $? > "$RCDIR/rc") | tee -a $LOGFILE 1>&2 ; exec 3>&-) | tee -a $LOGFILE
exit `cat "$RCDIR/rc"`

View File

@@ -0,0 +1,115 @@
#
# Copyright (c) 2011, 2012, 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.
#
PREFIXES=-pkgPrefix CORBA org.omg \
-pkgPrefix CosNaming org.omg \
-pkgPrefix CosTransactions org.omg \
-pkgPrefix CosTSInteroperation org.omg \
-pkgPrefix DynamicAny org.omg \
-pkgPrefix Dynamic org.omg \
-pkgPrefix IOP org.omg \
-pkgPrefix Messaging org.omg \
-pkgPrefix PortableInterceptor org.omg \
-pkgPrefix PortableServer org.omg \
-pkgPrefix activation com.sun.corba.se.spi \
-pkgPrefix GIOP com.sun.corba.se \
-pkgPrefix PortableActivationIDL com.sun.corba.se \
-pkgPrefix messages com.sun.corba.se
define add_idl_package
# param 1 = MYPACKAGE
# param 2 = src root
# param 3 = gensrc root
# param 4 = source idl to compile
# param 5 = target idl package
# param 6 = delete these files that were output from the idlj
# param 7 = idls that match these patterns should be compiled with -oldImplBase
# param 8 = the idlj command
# Save the generated java files to a temporary directory so
# that we can find them and create proper dependencies.
# After that, we move them to the real gensrc target dir.
$4_TMPDIR:=tmp___$(subst /,_,$(patsubst $2/%,%,$4))___
ifneq ($$(filter $7,$4),)
$4_OLDIMPLBASE:=-oldImplBase
$4_OLDIMPLBASE_MSG:=with -oldImplBase
endif
$5 : $4
$(MKDIR) -p $3/$$($4_TMPDIR)
$(RM) -rf $3/$$($4_TMPDIR)
$(MKDIR) -p $(dir $5)
$(ECHO) Compiling IDL $(patsubst $2/%,%,$4)
$8 -td $3/$$($4_TMPDIR) \
-i $2/org/omg/CORBA \
-i $2/org/omg/PortableInterceptor \
-i $2/org/omg/PortableServer \
-D CORBA3 -corba 3.0 \
-fall \
$$($4_OLDIMPLBASE) \
$(PREFIXES) \
$4
$(RM) -f $$(addprefix $3/$$($4_TMPDIR)/,$6)
$(CP) -rp $3/$$($4_TMPDIR)/* $3
($(CD) $3/$$($4_TMPDIR); find . -type f | sed 's!\./!$3/!g' | awk '{ print $$$$1 ": $4" }' > $5)
$(RM) -rf $3/$$($4_TMPDIR)
endef
define SetupIdlCompilation
# param 1 is for example BUILD_IDLS
# param 2,3,4,5,6,7,8 are named args.
# IDLJ,SRC,BIN,INCLUDES,EXCLUDES,OLDIMPLBASES,DELETES
$(if $2,$1_$(strip $2))
$(if $3,$1_$(strip $3))
$(if $4,$1_$(strip $4))
$(if $5,$1_$(strip $5))
$(if $6,$1_$(strip $6))
$(if $7,$1_$(strip $7))
$(if $8,$1_$(strip $8))
$(if $9,$1_$(strip $9))
$(if $(10),$(error Internal makefile error: Too many arguments to SetupIdlCompilation, please update IdlCompilation.gmk))
# Remove any relative addressing in the paths.
$1_SRC := $$(abspath $$($1_SRC))
$1_BIN := $$(abspath $$($1_BIN))
# Find all existing java files and existing class files.
$$(shell $(MKDIR) -p $$($1_SRC) $$($1_BIN))
$1_SRCS := $$(shell find $$($1_SRC) -name "*.idl")
$1_BINS := $$(shell find $$($1_BIN) -name "*.java")
# Prepend the source/bin path to the filter expressions.
$1_SRC_INCLUDES := $$(addprefix $$($1_SRC)/,$$($1_INCLUDES))
$1_SRC_EXCLUDES := $$(addprefix $$($1_SRC)/,$$($1_EXCLUDES))
$1_BIN_INCLUDES := $$(addprefix $$($1_BIN)/,$$($1_INCLUDES))
$1_BIN_EXCLUDES := $$(addprefix $$($1_BIN)/,$$($1_EXCLUDES))
$1_OLDIMPLBASES := $$(addprefix $$($1_SRC)/,$$($1_OLDIMPLBASES))
# Now remove unwanted java/class files.
$1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
$1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
$1_BINS := $$(filter $$($1_BIN_INCLUDES),$$($1_BINS))
$1_BINS := $$(filter-out $$($1_BIN_EXCLUDES),$$($1_BINS))
$1 := $$(sort $$(patsubst $$($1_SRC)/%.idl,$$($1_BIN)/%.idl.d,$$($1_SRCS)))
# Now create the dependencies for each idl target.
$$(foreach p,$$($1),$$(eval $$(call add_idl_package,$1,$$($1_SRC),$$($1_BIN),$$(patsubst $$($1_BIN)/%.idl.d,$$($1_SRC)/%.idl,$$p),$$p,$$($1_DELETES),$$($1_OLDIMPLBASES),$$($1_IDLJ))))
endef
.SUFFIXES: .java .class .package

View File

@@ -0,0 +1,919 @@
#
# Copyright (c) 2011, 2012, 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.
#
# The complexity of this makefile is not the fault of make, but the fault
# of javac and javah. The basic problems are:
#
# 1) Compiling a single Java source file unpredictably generates anything
# between zero (0!) and an infinite number of .class files!
# 2) There is no hint, for which classes javah needs to be run,
# and it happily generates .h files for classes with no native methods.
# 3) javac and javah do not cleanup anything, for example if an internal
# class (potentially with native methods) is removed from a Java source file.
#
# This makefile is a tribute to GNU make. And yes, it was harder to write than it is
# to read. The include/excludes of directories and files are only a temporary measure
# to work around the messy jdk sources that put platform specific code in src/share/classes.
#
# We should move most of the functionality of this makefile into a
# smart javac/javah/javadoc/jar combo tool. sjavac ?
#
# I.e. 1) It always generates a single output, a zip-file from a number of source roots.
# The zip file contains information that enable incremental builds with full
# dependency tracking between packages.
# 2) It automatically generates the right .h files.
# 3) It keeps its house clean.
# *) Generates intermediate files to be used for javadoc generation later.
# and does all the other useful things that this makefile does, such as:
# use all cores for compilation, reuse the running JVM for all compilations,
# and has pubapi dependency tracking to minimize the number of files
# that need to be recompiled during an incremental build.
#
# A zip file, or several zip files combined, can then be converted to a .jar file, or to a .jmod file.
#
# This would make this makefile much much simpler. I.e. make can be used
# for its real purpose, track dependencies and trigger a recompile if a
# dependency has changed.
#
# When you read this source. Remember that $(sort ...) has the side effect
# of removing duplicates. It is actually this side effect that is
# desired whenever sort is used below!
ifeq (,$(_MAKEBASE_GMK))
$(error You must include MakeBase.gmk prior to including JavaCompilation.gmk)
endif
FALSE_FIND_PATTERN:=-name FILE_NAME_THAT_DOESNT_EXIST
# If compilation of java package fails, then the public api file for that
# package will not be genereated. We add this fallback rule to generate
# an empty pubapi file.
%.api:
if test ! -f $@; then $(MKDIR) -p $(@D); $(TOUCH) $@; fi
define SetupJavaCompiler
# param 1 is for example BOOT_JAVAC or NEW_JAVAC
# This is the name later used to decide which java compiler to use.
# param 2-9 are named args.
# JVM:=The jvm used to run the javac/javah command
# JAVAC:=The javac jar and bootstrap classpath changes, or just bin/javac if JVM is left out
# JAVAH:=The javah jar and bootstrap classpath changes, or just bin/javah if JVM is left out
# FLAGS:=Flags to be supplied to javac
# MODE:=SINGLE_THREADED_BATCH (primarily for old javac) or MULTI_CORE_CONCURRENT
# only for MULTI_CORE_CONCURRENT are the options below relevant:
# SERVER_DIR:=Use a javac server (-XDserver) and store the server related files here
# SERVER_JVM:=Use this JVM for the server. Defaults to the JVM above.
# USE_DEPS:=true means use -XDdeps,-XDpubapi and -XDnativeapi to track java dependencies
$(if $2,$1_$(strip $2))
$(if $3,$1_$(strip $3))
$(if $4,$1_$(strip $4))
$(if $5,$1_$(strip $5))
$(if $6,$1_$(strip $6))
$(if $7,$1_$(strip $7))
$(if $8,$1_$(strip $8))
$(if $9,$1_$(strip $9))
$(if $(10),$(error Internal makefile error: Too many arguments to SetupJavaCompiler, please update JavaCompilation.gmk))
ifeq ($$($1_MODE),MULTI_CORE_CONCURRENT)
ifneq (,$$($1_SERVER_DIR))
# A javac server has been requested.
# The port file contains the tcp/ip on which the server listens
# and the cookie necessary to talk to the server.
$1_JAVAC_PORTFILE:=$$($1_SERVER_DIR)/$1.port
ifeq ($$($1_SERVER_JVM),)
# You can use a different JVM to run the background javac server.
# But if not set, it defaults to the same JVM that is used to start
# the javac command.
$1_SERVER_JVM:=$$($1_JVM)
endif
# Set the $1_REMOTE to spawn a background javac server.
$1_REMOTE:=-XDserver:portfile=$$($1_JAVAC_PORTFILE),poolsize=$(JAVAC_SERVER_CORES),javac=$$(subst $$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_SERVER_JVM) $$($1_JAVAC))))
endif
endif
endef
define SetupArchive
# param 1 is for example ARCHIVE_MYPACKAGE
# param 2 are the dependecies
# param 3,4,5,6,7,8,9 are named args.
# SRCS:=List of directories in where to find files to add to archive
# SUFFIXES:=File suffixes to include in jar
# INCLUDES:=List of directories/packages in SRCS that should be included
# EXCLUDES:=List of directories/packages in SRCS that should be excluded
# EXCLUDE_FILES:=List of files in SRCS that should be excluded
# EXTRA_FILES:=List of files in SRCS that should be included regardless of suffix match.
# JAR:=Jar file to create
# MANIFEST:=Optional manifest file template.
# JARMAIN:=Optional main class to add to manifest
# JARINDEX :=
# SKIP_METAINF:=Set to prevent contents of an META-INF directory to be automatically
# added to the archive.
# EXTRA_MANIFEST_ATTR:=Extra attribute to add to manifest.
# CHECK_COMPRESS_JAR Check the COMPRESS_JAR variable
$(if $3,$1_$(strip $3))
$(if $4,$1_$(strip $4))
$(if $5,$1_$(strip $5))
$(if $6,$1_$(strip $6))
$(if $7,$1_$(strip $7))
$(if $8,$1_$(strip $8))
$(if $9,$1_$(strip $9))
$(if $(10),$1_$(strip $(10)))
$(if $(11),$1_$(strip $(11)))
$(if $(12),$1_$(strip $(12)))
$(if $(13),$1_$(strip $(13)))
$(if $(14),$1_$(strip $(14)))
$(if $(15),$1_$(strip $(15)))
$(if $(16),$(error Internal makefile error: Too many arguments to SetupArchive, please update JavaCompilation.gmk))
$1_JARMAIN:=$(strip $$($1_JARMAIN))
$1_JARNAME:=$$(notdir $$($1_JAR))
$1_MANIFEST_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_manifest
$1_DELETESS_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_deletess
$1_DELETES_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_deletes
$1_PUBAPI_NOTIFICATIONS_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_pubapi_notifications
$1_NATIVEAPI_NOTIFICATIONS_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_native_notifications
$1_NATIVEAPI_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_native
$1_BIN:=$$(dir $$($1_JAR))
ifeq (,$$($1_SUFFIXES))
# No suffix was set, default to classes.
$1_SUFFIXES:=.class
endif
# Convert suffixes to a find expression
$1_FIND_PATTERNS:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_SUFFIXES))
# On windows, a lot of includes/excludes risk making the command line too long, so
# writing the grep patterns to files.
ifneq (,$$($1_INCLUDES))
$1_GREP_INCLUDE_PATTERNS:=$$(foreach src,$$($1_SRCS),\
$$(addprefix $$(src)/,$$($1_INCLUDES)))
$$(eval $$(call ListPathsSafelyNow,$1_GREP_INCLUDE_PATTERNS,\n, \
>> $$($1_BIN)/_the.$$($1_JARNAME)_include))
$1_GREP_INCLUDES:=| $(GREP) -f $$($1_BIN)/_the.$$($1_JARNAME)_include
endif
ifneq (,$$($1_EXCLUDES)$$($1_EXCLUDE_FILES))
$1_GREP_EXCLUDE_PATTERNS:=$$(foreach src,$$($1_SRCS),$$(addprefix $$(src)/,\
$$($1_EXCLUDES) $$($1_EXCLUDE_FILES)))
$$(eval $$(call ListPathsSafelyNow,$1_GREP_EXCLUDE_PATTERNS,\n, \
>> $$($1_BIN)/_the.$$($1_JARNAME)_exclude))
$1_GREP_EXCLUDES:=| $(GREP) -v -f $$($1_BIN)/_the.$$($1_JARNAME)_exclude
endif
ifneq (,$$($1_JARINDEX))
$1_JARINDEX = (cd $$(dir $$@) && $(JAR) -i $$(notdir $$@))
else
$1_JARINDEX = true
endif
# When this macro is run in the same makefile as the java compilation, dependencies are transfered
# in make variables. When the macro is run in a different makefile than the java compilation, the
# dependencies need to be found in the filesystem.
$1_ALL_SRCS:=$$(foreach src,$$($1_SRCS),$$(shell ($(FIND) $$(src) -type f \
-a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) \
$$($1_GREP_EXCLUDES) && $(ECHO) $$($1_EXTRA_FILES))))
ifeq (,$$($1_SKIP_METAINF))
$1_ALL_SRCS+=$$(foreach src,$$($1_SRCS),$$(shell $(FIND) $$(src)/META-INF -type f 2> /dev/null))
endif
# Utility macros, to make the shell script receipt somewhat easier to dechipher.
# The capture contents macro finds all files (matching the patterns, typically
# .class and .prp) that are newer than the jar-file, ie the new content to be put into the jar.
$1_CAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS),(($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) -a -newer $$@ $$($1_GREP_INCLUDES) $$($1_GREP_EXCLUDES) && $(ECHO) $$($1_EXTRA_FILES)) | $(SED) 's|$$(src)/||g' > $$(src)/_the.$$($1_JARNAME)_contents) && )
# The capture metainf macro finds all files below the META-INF directory that are newer than the jar-file.
ifeq (,$$($1_SKIP_METAINF))
$1_CAPTURE_METAINF =$$(foreach src,$$($1_SRCS),($(FIND) $$(src)/META-INF -type f -a -newer $$@ 2> /dev/null | $(SED) 's|$$(src)/||g' >> $$(src)/_the.$$($1_JARNAME)_contents ) && )
endif
# The capture deletes macro finds all deleted files and concatenates them. The resulting file
# tells us what to remove from the jar-file.
$1_CAPTURE_DELETES=$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.deleted -newer $$@ -exec $(SED) 's|$$(src)||g' \{\} >> $$($1_DELETES_FILE) \;) &&)
# The capture pubapi notifications scans for pubapi change notifications. If such notifications are
# found, then we will build the classes leading up to the jar again, to take into account the new timestamps
# on the changed pubapi files.
$1_CAPTURE_PUBAPI_NOTIFICATIONS=$$(foreach src,$$($1_SRCS),\
(cd $$(src) && \
$(FIND) . -name _the.package.api.notify -exec dirname \{\} \; >> $$($1_PUBAPI_NOTIFICATIONS_FILE) ; \
true) &&)
# The update contents macro updates the jar file with the previously capture contents.
$1_UPDATE_CONTENTS=$$(foreach src,$$($1_SRCS),\
(cd $$(src) && \
if [ -s _the.$$($1_JARNAME)_contents ]; then \
$(ECHO) " updating" `$(WC) -l _the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'` files && \
$(JAR) uf $$@ @_the.$$($1_JARNAME)_contents; \
fi) &&)
# The s-variants of the above macros are used when the jar is created from scratch.
$1_SCAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS),\
(($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) \
$$($1_GREP_EXCLUDES) && $(ECHO) $$($1_EXTRA_FILES)) | $(SED) 's|$$(src)/||g' > \
$$(src)/_the.$$($1_JARNAME)_contents) && )
ifeq (,$$($1_SKIP_METAINF))
$1_SCAPTURE_METAINF=$$(foreach src,$$($1_SRCS),\
($(FIND) $$(src)/META-INF -type f 2> /dev/null | $(SED) 's|$$(src)/||g' >> \
$$(src)/_the.$$($1_JARNAME)_contents) && )
endif
$1_SUPDATE_CONTENTS=$$(foreach src,$$($1_SRCS),\
(cd $$(src) && $(JAR) uf $$@ @$$(src)/_the.$$($1_JARNAME)_contents) &&)
# The TOUCH macro is used to make sure all timestamps are identical for package files and the pubapi files.
# If we do not do this, we get random recompilations, the next time we run make, since the order of package building is random,
# ie independent of package --dependes on-> public api of another package. This is of course
# due to the fact that Java source often (always?) has circular dependencies. (Thus there is no correct order
# to compile packages, and we can just as well do them in a random order. Which we do.)
$1_TOUCH_API_FILES=$$(foreach src,$$($1_SRCS),\
($(FIND) $$(src) -name _the.package.api -exec $(TOUCH) -r $$($1_JAR) \{\} \; ; true) && \
($(FIND) $$(src) -name _the.package -exec $(TOUCH) -r $$($1_JAR) \{\} \; ; true) &&)
# Use a slightly shorter name for logging, but with enough path to identify this jar.
$1_NAME:=$$(subst $$(OUTPUT_ROOT)/,,$$($1_JAR))
ifneq (,$$($1_CHECK_COMPRESS_JAR))
$1_JAR_CREATE_OPTIONS := c0fm
ifeq ($(COMPRESS_JARS), true)
$1_JAR_CREATE_OPTIONS := cfm
endif
else
$1_JAR_CREATE_OPTIONS := cfm
endif
# Here is the rule that creates/updates the jar file.
$$($1_JAR) : $2 $$($1_ALL_SRC)
$(MKDIR) -p $$($1_BIN)
if [ -n "$$($1_MANIFEST)" ]; then \
$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \
-e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $$($1_MANIFEST) > $$($1_MANIFEST_FILE); \
else \
$(RM) $$($1_MANIFEST_FILE) && $(TOUCH) $$($1_MANIFEST_FILE); \
fi
if [ -n "$$(strip $$($1_JARMAIN))" ]; then \
$(ECHO) "Main-Class: $$(strip $$($1_JARMAIN))" >> $$($1_MANIFEST_FILE); \
fi
if [ -n "$$($1_EXTRA_MANIFEST_ATTR)" ]; then \
$(PRINTF) "$$($1_EXTRA_MANIFEST_ATTR)\n" >> $$($1_MANIFEST_FILE); \
fi
+if [ -s $$@ ]; then \
$(RM) -r $$($1_PUBAPI_NOTIFICATIONS_FILE) && \
$$($1_CAPTURE_PUBAPI_NOTIFICATIONS) \
if [ -s $$($1_PUBAPI_NOTIFICATIONS_FILE) ]; then \
$(ECHO) Public api change detected in: && \
$(CAT) $$($1_PUBAPI_NOTIFICATIONS_FILE) | $(TR) '/' '.' | $(SED) 's|^..||g' | $(SED) 's|\.$$$$||g' | $(AWK) '{print " "$$$$1}' && \
$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.api.notify $(FIND_DELETE); true) &&) \
$(MAKE) -f $(word 1,$(MAKEFILE_LIST)) $$($1_JAR) ; \
else \
$(ECHO) Modifying $$($1_NAME) && \
$$($1_CAPTURE_CONTENTS) \
$$($1_CAPTURE_METAINF) \
$(RM) $$($1_DELETES_FILE) && \
$$($1_CAPTURE_DELETES) \
$(CAT) $$($1_DELETES_FILE) > $$($1_DELETESS_FILE) && \
if [ -s $$($1_DELETESS_FILE) ]; then \
$(ECHO) " deleting" `$(WC) -l $$($1_DELETESS_FILE) | $(AWK) '{ print $$$$1 }'` files && \
$(ZIP) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \
fi && \
$$($1_UPDATE_CONTENTS) true && \
$$($1_JARINDEX) && \
$$($1_TOUCH_API_FILES) true && \
$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.api.notify $(FIND_DELETE); true) &&) true ; \
fi ; \
else \
$(ECHO) Creating $$($1_NAME) && $(JAR) $$($1_JAR_CREATE_OPTIONS) $$@ $$($1_MANIFEST_FILE) && \
$$($1_SCAPTURE_CONTENTS) \
$$($1_SCAPTURE_METAINF) \
$$($1_SUPDATE_CONTENTS) \
$$($1_JARINDEX) && \
$$($1_TOUCH_API_FILES) true && \
$(RM) -r $$($1_NATIVEAPI_NOTIFICATIONS_FILE) $$($1_NATIVEAPI_FILE) && \
$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name "*.notify" $(FIND_DELETE); true) &&) true ; \
fi;
endef
define append_to
$(ECHO) "$1" >> $2
endef
define SetupZipArchive
# param 1 is for example ZIP_MYSOURCE
# param 2,3,4,5,6,7,8,9 are named args.
# SRC,ZIP,INCLUDES,EXCLUDES,EXCLUDE_FILES,SUFFIXES,EXTRA_DEPS
$(if $2,$1_$(strip $2))
$(if $3,$1_$(strip $3))
$(if $4,$1_$(strip $4))
$(if $5,$1_$(strip $5))
$(if $6,$1_$(strip $6))
$(if $7,$1_$(strip $7))
$(if $8,$1_$(strip $8))
$(if $9,$1_$(strip $9))
$(if $(10),$(error Internal makefile error: Too many arguments to SetupZipArchive, please update JavaCompilation.gmk))
# Find all files in the source tree.
$1_SUFFIX_FILTER := $$(patsubst %,-o -name $(DQUOTE)*%$(DQUOTE),$$($1_SUFFIXES))
$1_ALL_SRCS := $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i -type f -a ! -name "_the.*" \( -name FALSE_DUMMY $$($1_SUFFIX_FILTER) \) ))
ifneq ($$($1_INCLUDES),)
$1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
ifneq ($$($1_SUFFIXES),)
$1_ZIP_INCLUDES := $$(foreach s,$$($1_SUFFIXES),\
$$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$$s$(DQUOTE),$$($1_INCLUDES))))
else
$1_ZIP_INCLUDES := $$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_INCLUDES)))
endif
$1_ALL_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_SRCS))
endif
ifneq ($$($1_EXCLUDES),)
$1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
$1_ZIP_EXCLUDES := $$(addprefix -x$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_EXCLUDES)))
$1_ALL_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
endif
# Use a slightly shorter name for logging, but with enough path to identify this zip.
$1_NAME:=$$(subst $$(OUTPUT_ROOT)/,,$$($1_ZIP))
# Now $1_ALL_SRCS should contain all sources that are going to be put into the zip.
# I.e. the zip -i and -x options should match the filtering done in the makefile.
# Explicitly excluded files can be given with absolute path. The patsubst solution
# isn't perfect but the likelyhood of an absolute path to match something in a src
# dir is very small.
$$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS)
$(MKDIR) -p $$(@D)
$(ECHO) Updating $$($1_NAME)
$$(foreach i,$$($1_SRC),(cd $$i && $(ZIP) -qru $$@ . $$($1_ZIP_INCLUDES) $$($1_ZIP_EXCLUDES) -x \*_the.\* $$(addprefix -x$(SPACE),$$(patsubst $$i/%,%,$$($1_EXCLUDE_FILES)))) ;) true
$(TOUCH) $$@
endef
define add_file_to_copy
# param 1 = BUILD_MYPACKAGE
# parma 2 = The source file to copy.
$2_TARGET:=$2
# Remove the source prefix.
$$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET)))
# Now we can setup the depency that will trigger the copying.
$$($1_BIN)$$($2_TARGET) : $2
$(MKDIR) -p $$(@D)
$(CP) $$< $$@
$(CHMOD) -f ug+w $$@
# And do not forget this target
$1_ALL_COPY_TARGETS += $$($1_BIN)$$($2_TARGET)
endef
# This macro is used only for properties files that are to be
# copied over to the classes directory in cleaned form:
# Previously this was inconsistently done in different repositories.
# This is the new clean standard.
define add_file_to_copy_and_clean
# param 1 = BUILD_MYPACKAGE
# parma 2 = The source file to copy and clean.
$2_TARGET:=$2
# Remove the source prefix.
$$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET)))
# Now we can setup the depency that will trigger the copying.
$$($1_BIN)$$($2_TARGET) : $2
$(MKDIR) -p $$(@D)
$(ECHO) Cleaning $$($2_TARGET)
$(CAT) $$< | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
| $(SED) \
-e 's/\\u0020/\x20/g' \
-e 's/\\u003A/\x3A/g' \
-e 's/\\u006B/\x6B/g' \
-e 's/\\u0075/\x75/g' \
-e 's/\\u00A0/\xA0/g' \
-e 's/\\u00A3/\xA3/g' \
-e 's/\\u00B0/\xB0/g' \
-e 's/\\u00B7/\xB7/g' \
-e 's/\\u00BA/\xBA/g' \
-e 's/\\u00BF/\xBF/g' \
-e 's/\\u00C0/\xC0/g' \
-e 's/\\u00C1/\xC1/g' \
-e 's/\\u00C2/\xC2/g' \
-e 's/\\u00C4/\xC4/g' \
-e 's/\\u00C5/\xC5/g' \
-e 's/\\u00C8/\xC8/g' \
-e 's/\\u00C9/\xC9/g' \
-e 's/\\u00CA/\xCA/g' \
-e 's/\\u00CD/\xCD/g' \
-e 's/\\u00CE/\xCE/g' \
-e 's/\\u00D3/\xD3/g' \
-e 's/\\u00D4/\xD4/g' \
-e 's/\\u00D6/\xD6/g' \
-e 's/\\u00DA/\xDA/g' \
-e 's/\\u00DC/\xDC/g' \
-e 's/\\u00DD/\xDD/g' \
-e 's/\\u00DF/\xDF/g' \
-e 's/\\u00E0/\xE0/g' \
-e 's/\\u00E1/\xE1/g' \
-e 's/\\u00E2/\xE2/g' \
-e 's/\\u00E3/\xE3/g' \
-e 's/\\u00E4/\xE4/g' \
-e 's/\\u00E5/\xE5/g' \
-e 's/\\u00E6/\xE6/g' \
-e 's/\\u00E7/\xE7/g' \
-e 's/\\u00E8/\xE8/g' \
-e 's/\\u00E9/\xE9/g' \
-e 's/\\u00EA/\xEA/g' \
-e 's/\\u00EB/\xEB/g' \
-e 's/\\u00EC/\xEC/g' \
-e 's/\\u00ED/\xED/g' \
-e 's/\\u00EE/\xEE/g' \
-e 's/\\u00EF/\xEF/g' \
-e 's/\\u00F1/\xF1/g' \
-e 's/\\u00F2/\xF2/g' \
-e 's/\\u00F3/\xF3/g' \
-e 's/\\u00F4/\xF4/g' \
-e 's/\\u00F5/\xF5/g' \
-e 's/\\u00F6/\xF6/g' \
-e 's/\\u00F9/\xF9/g' \
-e 's/\\u00FA/\xFA/g' \
-e 's/\\u00FC/\xFC/g' \
-e 's/\\u0020/\x20/g' \
-e 's/\\u003f/\x3f/g' \
-e 's/\\u006f/\x6f/g' \
-e 's/\\u0075/\x75/g' \
-e 's/\\u00a0/\xa0/g' \
-e 's/\\u00a3/\xa3/g' \
-e 's/\\u00b0/\xb0/g' \
-e 's/\\u00ba/\xba/g' \
-e 's/\\u00bf/\xbf/g' \
-e 's/\\u00c1/\xc1/g' \
-e 's/\\u00c4/\xc4/g' \
-e 's/\\u00c5/\xc5/g' \
-e 's/\\u00c8/\xc8/g' \
-e 's/\\u00c9/\xc9/g' \
-e 's/\\u00ca/\xca/g' \
-e 's/\\u00cd/\xcd/g' \
-e 's/\\u00d6/\xd6/g' \
-e 's/\\u00dc/\xdc/g' \
-e 's/\\u00dd/\xdd/g' \
-e 's/\\u00df/\xdf/g' \
-e 's/\\u00e0/\xe0/g' \
-e 's/\\u00e1/\xe1/g' \
-e 's/\\u00e2/\xe2/g' \
-e 's/\\u00e3/\xe3/g' \
-e 's/\\u00e4/\xe4/g' \
-e 's/\\u00e5/\xe5/g' \
-e 's/\\u00e7/\xe7/g' \
-e 's/\\u00e8/\xe8/g' \
-e 's/\\u00e9/\xe9/g' \
-e 's/\\u00ea/\xea/g' \
-e 's/\\u00eb/\xeb/g' \
-e 's/\\u00ec/\xec/g' \
-e 's/\\u00ed/\xed/g' \
-e 's/\\u00ee/\xee/g' \
-e 's/\\u00ef/\xef/g' \
-e 's/\\u00f0/\xf0/g' \
-e 's/\\u00f1/\xf1/g' \
-e 's/\\u00f2/\xf2/g' \
-e 's/\\u00f3/\xf3/g' \
-e 's/\\u00f4/\xf4/g' \
-e 's/\\u00f5/\xf5/g' \
-e 's/\\u00f6/\xf6/g' \
-e 's/\\u00f7/\xf7/g' \
-e 's/\\u00f8/\xf8/g' \
-e 's/\\u00f9/\xf9/g' \
-e 's/\\u00fa/\xfa/g' \
-e 's/\\u00fc/\xfc/g' \
-e 's/\\u00ff/\xff/g' \
| $(SED) -e '/^#/d' -e '/^$$$$/d' \
-e :a -e '/\\$$$$/N; s/\\\n//; ta' \
-e 's/^[ \t]*//;s/[ \t]*$$$$//' \
-e 's/\\=/=/' | LANG=C $(SORT) > $$@
$(CHMOD) -f ug+w $$@
# And do not forget this target
$1_ALL_COPY_CLEAN_TARGETS += $$($1_BIN)$$($2_TARGET)
endef
define add_java_package
# param 1 = BUILD_MYPACKAGE
# param 2 = the package target file (_the.package)
# param 3 = src roots, all of them, separated with space
# param 4 = bin root
# param 5 = include these dependecies
# param 6 = not used
# param 7 = if non-empty, then use -Xdeps and -Xpubapi
# param 8 = xremote configuration, or empty.
# param 9 = javac command
# param 10 = javac flags
# param 11 = exclude these files!
# param 12 = only include these files!
# param 13 = javah command
# param 14 = override src roots to be passed into -sourcepath, ugly ugly ugly, do not use this!
# it is only here to workaround ugly things in the source code in the jdk that ought
# to be fixed instead!
ifdef $2_USED_BY
$$(error Attempting to add the package $2 from $3 which is already added with sources from $$($2_USED_BY))
endif
$2_USED_BY:=$3
# Remove the _the.package file to get the target bin dir for the classes in this package.
$2_PACKAGE_BDIR:=$(dir $2)
# The source roots separated with a path separator (: or ; depending on os)
# (The patsubst is necessary to trim away unnecessary spaces.)
ifneq ($(14),)
$2_SRCROOTSC:=$(subst $(SPACE),$(PATH_SEP),$(strip $(patsubst %,%,$(14))))
else
$2_SRCROOTSC:=$(subst $(SPACE),$(PATH_SEP),$(strip $(patsubst %,%,$3)))
endif
# Suffix the package path to the src roots, to get a list of all possible source locations
# for this package.
$2_PACKAGE_SDIRS:=$$(foreach i,$3,$$(subst $4,$$i,$$($2_PACKAGE_BDIR)))
# Use wildcard in all potential source locations to find the actual sources.
$2_PACKAGE_SRCS:=$$(filter-out $(11),$$(wildcard $$(addsuffix *.java,$$($2_PACKAGE_SDIRS))))
ifneq ($(12),)
# Filter on include file filter if set.
$2_PACKAGE_SRCS:=$$(filter $(12),$$($2_PACKAGE_SRCS))
endif
# Generate a proper package name from the file name.
$2_PACKAGE:=$(patsubst .%.,%,$(subst /,.,$(subst $4,,$(dir $2))))
# Use a javac server for this package?
$2_REMOTE:=$8
# Include previously generated information about what classes are output by this package
# and what sources were used for the compile.
-include $$($2_PACKAGE_BDIR)_the.package.d
# Include the notify, file, that exists if the package has been compiled during a previous make round.
# I.e. we are now dealing with a compile triggered by a pubapi change.
-include $$($2_PACKAGE_BDIR)_the.package.notify
# If the notify file existed, then $$($2_NOTIFIED) will be equal to true.
# Use this information to block dependency tracking for this package.
# This is necessary to cut the circular dependency chains that are so common in Java sources.
ifneq ($$($2_NOTIFIED),true)
# No need to block, since this package has not yet been recompiled.
# Thus include previously generated dependency information. (if it exists)
-include $$($2_PACKAGE_BDIR)_the.package.dddd
# else
# $$(info WAS NOTIFIED $2)
endif
# Should we create proper dependencies between packages?
ifneq ($7,)
# The flag: -XDpubapi:file=foo,package=mypack,notify writes a file foo that contains a
# database of the public api of the classes supplied on the command line and are
# inside the package mypack. If foo already exists, javac will only write to foo,
# if there is a change in the pubapi. I.e. we can use the timestamp of this file
# for triggering dependencies. "notify" means create a "file" suffixed with notify
# if the pubapi really changed.
$2_PUBAPI=-XDpubapi=file=$$($2_PACKAGE_BDIR)_the.package.api,notify,package=$$($2_PACKAGE)
# The flag: -XDnativeapi:file=foo,package=mypack,notify works similar to pubabi, but
# instead tracks native methods. This file can be used to trigger dependencies for
# native compilations.
$2_NATIVEAPI=-XDnativeapi=file=$$($2_PACKAGE_BDIR)_the.package.native,notify,package=$$($2_PACKAGE)
# The flag -XDdeps:file=foo.deps,groupon=package writes a foo.deps file containing packages dependencies:
# java.net : java.io java.lang
# I.e. the classes in .net depend on the public apis of java.io and java.lang
# The dependencies can be grouped on classes instead (groupon=class)
# java.net.Bar : java.io.Socket java.lang.String
$2_DEPS:=-XDdeps=file=$$($2_PACKAGE_BDIR)_the.package.deps,groupon=package
# The next command rewrites the deps output from javac into a proper makefile dependency.
# The dependencies are always to an .api file generated by the pubapi option above.
# This is necessary since java package dependencies are almost always circular.
$2_APPEND_DEPS:=($(CAT) $$($2_PACKAGE_BDIR)_the.package.deps | $(TR) '.' '/' | $(AWK) '{ print "$4/" $$$$3 }' | sort > $$($2_PACKAGE_BDIR)_the.package.ddd && $(GREP) -f $$($2_PACKAGE_BDIR)_the.package.ddd $5 | $(AWK) '{ print "$(dir $2)_the.package : " $$$$1 "_the.package.api" }' > $$($2_PACKAGE_BDIR)_the.package.dddd ; true)
else
# If not using dependencies, use $2 as fallback to trigger regeneration of javah header files.
# This will generate a surplus of header files, but this does not hurt compilation.
$2_NATIVEAPICHANGE_TRIGGER:=$2
$2_FETCH_NATIVEAPICHANGE_CLASSES:=$(CAT) $$($2_PACKAGE_BDIR)_the.package.now|$(GREP) -v '\$$$$'|$(SED) -e 's|$4/||g'|$(SED) 's|.class||g'| $(TR) '/' '.'
endif
# The _the.package file is dependent on the java files inside the package.
# Fill the _the.package file with a list of the java files and compile them
# to class files.
$2 : $$($2_PACKAGE_SRCS)
$(MKDIR) -p $$($2_PACKAGE_BDIR)
$(RM) $2.tmp
$$(call ListPathsSafely,$2_PACKAGE_SRCS,\n, >> $2.tmp)
$(ECHO) $$($2_PACKAGE_BDIR)*.class | $(GREP) -v \*.class | $(TR) ' ' '\n' > $$($2_PACKAGE_BDIR)_the.package.prev
$(RM) $$($2_PACKAGE_BDIR)*.class $$($2_PACKAGE_BDIR)*.notify $$($2_PACKAGE_BDIR)*.deleted
$(ECHO) Compiling `$(WC) $2.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files in package $(patsubst $4/%/,%,$(dir $2.tmp))
$9 $$($2_REMOTE) $$($2_DEPS) $$($2_PUBAPI) $$($2_NATIVEAPI) $(10) -implicit:none -sourcepath "$$($2_SRCROOTSC)" -d $4 @$2.tmp
$(ECHO) $$($2_PACKAGE_BDIR)*.class | $(GREP) -v \*.class | $(TR) ' ' '\n' > $$($2_PACKAGE_BDIR)_the.package.now
($(GREP) -xvf $$($2_PACKAGE_BDIR)_the.package.now $$($2_PACKAGE_BDIR)_the.package.prev > $$($2_PACKAGE_BDIR)_the.package.deleted;true)
$(ECHO) $1_CLASSES += `$(CAT) $$($2_PACKAGE_BDIR)_the.package.now` | \
$(SED) 's/\$$$$/\$$$$\$$$$/g' > $$($2_PACKAGE_BDIR)_the.package.d
$(ECHO) $1_JAVAS += $$($2_PACKAGE_SRCS) >> $$($2_PACKAGE_BDIR)_the.package.d
$(ECHO) $2_NOTIFIED:=true > $$($2_PACKAGE_BDIR)_the.package.notify
$$($2_APPEND_DEPS)
$$($2_COPY_FILES)
$(MV) -f $2.tmp $2
endef
define remove_string
$2 := $$(subst $1,,$$($2))
endef
define replace_space_with_pathsep
$1:=$(subst $(SPACE),$(PATH_SEP),$(strip $(patsubst %,%,$2)))
endef
define SetupJavaCompilation
# param 1 is for example BUILD_MYPACKAGE
# param 2,3,4,5,6,7,8 are named args.
# SETUP:=must point to a previously setup java compiler, for example: SETUP:=BOOTJAVAC
# JVM:=path to ..bin/java
# ADD_JAVAC_FLAGS:=javac flags to append to the default ones.
# SRC:=one or more directories to search for sources
# BIN:=store classes here
# INCLUDES:=myapp.foo means will only compile java files in myapp.foo or any of its sub-packages.
# EXCLUDES:=myapp.foo means will do not compile java files in myapp.foo or any of its sub-packages.
# COPY:=.prp means copy all prp files to the corresponding package in BIN.
# CLEAN:=.properties means copy and clean all properties file to the corresponding package in BIN.
# COPY_FILES:=myapp/foo/setting.txt means copy this file over to the package myapp/foo
# SRCZIP:=Create a src.zip based on the found sources and copied files.
# INCLUDE_FILES:="com/sun/SolarisFoobar.java" means only compile this file!
# EXCLUDE_FILES:="com/sun/SolarisFoobar.java" means do not compile this particular file!
# "SolarisFoobar.java" means do not compile SolarisFoobar, wherever it is found.
# JAVAC_SOURCE_PATH_UGLY_OVERRIDE:=Don't use this. This forces an explicit -sourcepath to javac.
# Its only here until we cleanup some nasty source code pasta in the jdk.
# HEADERS:=path to directory where all generated c-headers are written.
# DEPENDS:=Extra dependecy
$(if $2,$1_$(strip $2))
$(if $3,$1_$(strip $3))
$(if $4,$1_$(strip $4))
$(if $5,$1_$(strip $5))
$(if $6,$1_$(strip $6))
$(if $7,$1_$(strip $7))
$(if $8,$1_$(strip $8))
$(if $9,$1_$(strip $9))
$(if $(10),$1_$(strip $(10)))
$(if $(11),$1_$(strip $(11)))
$(if $(12),$1_$(strip $(12)))
$(if $(13),$1_$(strip $(13)))
$(if $(14),$1_$(strip $(14)))
$(if $(15),$(error Internal makefile error: Too many arguments to SetupJavaCompilation, please update JavaCompilation.gmk))
# Extract the info from the java compiler setup.
$1_MODE := $$($$($1_SETUP)_MODE)
ifneq (SINGLE_THREADED_BATCH,$$($1_MODE))
ifneq (MULTI_CORE_CONCURRENT,$$($1_MODE))
$$(error The Java compilation $1 refers to a non-existant java compiler setup $$($1_SETUP))
endif
endif
$1_USE_DEPS := $$($$($1_SETUP)_USE_DEPS)
$1_REMOTE := $$($$($1_SETUP)_REMOTE)
$1_JVM := $$($$($1_SETUP)_JVM)
$1_JAVAC := $$($$($1_SETUP)_JAVAC)
$1_JAVAH := $$($$($1_SETUP)_JAVAH)
$1_FLAGS := $$($$($1_SETUP)_FLAGS) $(JAVAC_FLAGS) $$($1_ADD_JAVAC_FLAGS)
# Handle addons and overrides.
$1_SRC:=$$(call ADD_SRCS,$$($1_SRC))
# Make sure the dirs exist.
$$(shell $(MKDIR) -p $$($1_SRC) $$($1_BIN))
# Find all files in the source trees.
$1_ALL_SRCS := $$(filter-out $(OVR_SRCS),$$(foreach i,$$($1_SRC),$$(shell $(FIND) $$i -type f)))
# Extract the java files.
ifneq ($$($1_EXCLUDE_FILES),)
$1_EXCLUDE_FILES_PATTERN:=$$(addprefix %,$$($1_EXCLUDE_FILES))
endif
$1_SRCS := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$(filter %.java,$$($1_ALL_SRCS)))
ifneq ($$($1_INCLUDE_FILES),)
$1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
$1_SRCS := $$(filter $$($1_INCLUDE_FILES), $$($1_SRCS))
endif
$1_PKGS := $$(sort $$(dir $$($1_SRCS)))
# Remove the source root from each found path.
$$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$1_PKGS)))
$1_PKGS := $$(sort $$($1_PKGS))
# There can be only a single bin dir root, no need to foreach over the roots.
$1_BINS := $$(shell $(FIND) $$($1_BIN) -name "*.class")
# Now we have a list of all java files to compile: $$($1_SRCS)
# and we have a list of all existing class files: $$($1_BINS)
# Create the corresponding smart javac wrapper command line.
$1_SJAVAC_ARGS:=$$(addprefix -x ,$$(addsuffix .*,$$(subst /,.,$$($1_EXCLUDES)))) \
$$(addprefix -i ,$$(addsuffix .*,$$(subst /,.,$$($1_INCLUDES)))) \
$$(addprefix -xf *,$$(strip $$($1_EXCLUDE_FILES))) \
$$(addprefix -if *,$$(strip $$($1_INCLUDE_FILES))) -src $$(subst $$(SPACE),$$(PATH_SEP),$$(strip $$($1_SRC)))
# Prepend the source/bin path to the filter expressions.
ifneq ($$($1_INCLUDES),)
$1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
$1_PKG_INCLUDES := $$(addprefix /,$$(addsuffix /%,$$($1_INCLUDES)))
$1_BIN_INCLUDES := $$(addprefix $$($1_BIN)/,$$(addsuffix /%,$$($1_INCLUDES)))
$1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
$1_PKGS := $$(filter $$($1_PKG_INCLUDES),$$($1_PKGS))
$1_BINS := $$(filter $$($1_BIN_INCLUDES),$$($1_BINS))
endif
ifneq ($$($1_EXCLUDES),)
$1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
$1_PKG_EXCLUDES := $$(addprefix /,$$(addsuffix /%,$$($1_EXCLUDES)))
$1_BIN_EXCLUDES := $$(addprefix $$($1_BIN)/,$$(addsuffix /%,$$($1_EXCLUDES)))
$1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
$1_PKGS := $$(filter-out $$($1_PKG_EXCLUDES),$$($1_PKGS))
$1_BINS := $$(filter-out $$($1_BIN_EXCLUDES),$$($1_BINS))
endif
# Find all files to be copied from source to bin.
ifneq (,$$($1_COPY))
# Rewrite list of patterns into a find statement.
$1_COPY_PATTERN:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_COPY))
# Search for all files to be copied.
$1_ALL_COPIES := $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i \( $$($1_COPY_PATTERN) \) -a -type f))
# Copy these explicitly
$1_ALL_COPIES += $$($1_COPY_FILES)
# Copy must also respect filters.
ifneq (,$$($1_INCLUDES))
$1_ALL_COPIES := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_COPIES))
endif
ifneq (,$$($1_EXCLUDES))
$1_ALL_COPIES := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_COPIES))
endif
ifneq (,$$($1_EXCLUDE_FILES))
$1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES))
endif
# All files below META-INF are always copied.
$1_ALL_COPIES += $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i/META-INF -type f 2> /dev/null))
ifneq (,$$($1_ALL_COPIES))
# Yep, there are files to be copied!
$1_ALL_COPY_TARGETS:=
$$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i)))
# Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files!
endif
endif
# Find all property files to be copied and cleaned from source to bin.
ifneq (,$$($1_CLEAN))
# Rewrite list of patterns into a find statement.
$1_CLEAN_PATTERN:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_CLEAN))
# Search for all files to be copied.
$1_ALL_CLEANS := $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i \( $$($1_CLEAN_PATTERN) \) -a -type f))
# Copy and clean must also respect filters.
ifneq (,$$($1_INCLUDES))
$1_ALL_CLEANS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_CLEANS))
endif
ifneq (,$$($1_EXCLUDES))
$1_ALL_CLEANS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_CLEANS))
endif
ifneq (,$$($1_EXCLUDE_FILES))
$1_ALL_CLEANS := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_CLEANS))
endif
ifneq (,$$($1_ALL_CLEANS))
# Yep, there are files to be copied and cleaned!
$1_ALL_COPY_CLEAN_TARGETS:=
$$(foreach i,$$($1_ALL_CLEANS),$$(eval $$(call add_file_to_copy_and_clean,$1,$$i)))
# Now we can depend on $$($1_ALL_COPY_CLEAN_TARGETS) to copy all files!
endif
endif
# Find all the directories that contain java sources, each directory
# corresponds to a package because we expect the source
# code to be organized in this standardized way!
$1_SDIRS := $$(sort $$(dir $$($1_SRCS)))
# Now prefix each package with the bin root.
$1_BDIRS := $$(foreach i,$$($1_PKGS),$$(addprefix $$($1_BIN),$$i))
# Now create a list of the packages that are about to compile. This list is
# later used to filter out dependencies that point outside of this set.
$$(shell $(RM) $$($1_BIN)/_the.list_of_packages)
$$(eval $$(call ListPathsSafelyNow,$1_BDIRS,\n, >> $$($1_BIN)/_the.list_of_packages))
ifeq ($$($1_MODE),SINGLE_THREADED_BATCH)
# Ok, we will feed all the found java files into a single javac invocation.
# There can be no dependency checking, nor incremental builds. It is
# the best we can do with the old javac. If the javac supports a javac server
# then we can use the javac server.
# We can depend on this target file to trigger a regeneration of all the sources
$1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_BIN)/_the.batch
# Prep the source paths.
ifneq ($$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE),)
$$(eval $$(call replace_space_with_pathsep,$1_SRCROOTSC,$$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE)))
else
$$(eval $$(call replace_space_with_pathsep,$1_SRCROOTSC,$$($1_SRC)))
endif
ifneq (,$$($1_HEADERS))
$1_HEADERS_ARG := -h $$($1_HEADERS)
endif
# Create a sed expression to remove the source roots and to replace / with .
# and remove .java at the end.
$1_REWRITE_INTO_CLASSES:=$$(foreach i,$$($1_SRC),-e 's|$$i/||g') -e 's|/|.|g' -e 's|.java$$$$||g'
# Here is the batch rules that depends on all the sources.
$$($1_BIN)/_the.batch: $$($1_SRCS) $$($1_DEPENDS)
$(MKDIR) -p $$(@D)
$(RM) $$($1_BIN)/_the.batch $$($1_BIN)/_the.batch.tmp
$$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.batch.tmp)
$(ECHO) Compiling `$(WC) $$($1_BIN)/_the.batch.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files in batch $1
ifeq ($$($1_NOSJAVAC),)
ifeq ($$(ENABLE_SJAVAC),yes)
mkdir -p $$($1_BIN)_sjavac
$$($1_JVM) $$(word 1,$$($1_JAVAC)) com.sun.tools.javac.smart.Main $$($1_SJAVAC_ARGS) -mfl $$($1_BIN)/_the.batch.tmp -d $$($1_BIN)_sjavac
endif
endif
($$($1_JVM) $$($1_JAVAC) $$($1_FLAGS) -implicit:none -sourcepath "$$($1_SRCROOTSC)" -d $$($1_BIN) $$($1_HEADERS_ARG) @$$($1_BIN)/_the.batch.tmp && \
$(MV) $$($1_BIN)/_the.batch.tmp $$($1_BIN)/_the.batch)
else
# Ok, we have a modern javac server running!
# Since a single Java file can generate zero to an infinity number of .class files
# the exact number and names of the .class files will only be known after the compile.
# Thus after the compile, a list of the generated classes will be stored in _the.package.d
# which is included by the makefile during the next compile. These .d files will
# add the generated class names to the BUILD_MYPACKAGE_CLASSES variable and used java file names
# to the BUILD_MYPACKAGE_JAVAS variable.
$1_CLASSES :=
$1_JAVAS :=
# Create a file in each package that represents the package dependency.
# This file (_the.package) will also contain a list of the source files
# to be compiled for this package.
$1 := $$(sort $$(patsubst %,%_the.package,$$($1_BDIRS)))
# Now call add_java_package for each package to create the dependencies.
$$(foreach p,$$($1),$$(eval $$(call add_java_package,$1,$$p,$$($1_SRC),$$($1_BIN),$$($1_BIN)/_the.list_of_packages,NOTUSED,$$($1_USE_DEPS),$$($1_REMOTE),$$($1_JVM) $$($1_JAVAC),$$($1_FLAGS),$$($1_EXCLUDE_FILES_PATTERN) $(OVR_SRCS),$$($1_INCLUDE_FILES),$$($1_JVM) $$($1_JAVAH),$$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE))))
# All dependencies are setup, now we only need to depend on $1 (aka $(BUILD_MYPACKAGE))
# and they will automatically be built!
# Now add on any files to copy targets
$1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1)
# Remove the set of found classes from the set of all previously known classes
# and the remainder is the set of missing classes.
$1_MISSING_CLASSES:=$$(filter-out $$($1_BINS),$$($1_CLASSES))
$1_PKGS_MISSING_CLASSES:=$$(sort $$(dir $$($1_MISSING_CLASSES)))
# Remove the set of found java files from the set of all previously known java files
# the remainder is Java files that have gone missing.
$1_MISSING_JAVAS:=$$(filter-out $$($1_SRCS),$$($1_JAVAS))
$1_PKGS_MISSING_JAVAS:=$$(sort $$(dir $$($1_MISSING_JAVAS)))
# Remove each source root from the found paths.
$$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$1_PKGS_MISSING_JAVAS)))
# Finally remove duplicates and prefix with the binary path instead.
$1_PKGS_MISSING_JAVAS:= $$(addprefix $$($1_BIN),$$(sort $$($1_PKGS_MISSING_JAVAS)))
# Remove the set of all theoretical classes from the set of found classes.
# the remainder is the set of superfluous classes.
$1_SUPERFLUOUS_CLASSES:=$$(sort $$(filter-out $$($1_CLASSES),$$($1_BINS)))
$1_PKGS_SUPERFLUOUS_CLASSES:=$$(sort $$(dir $$($1_SUPERFLUOUS_CLASSES)))
# Now delete the _the.package files inside the problematic dirs.
# This will force a rebuild of these packages!
$1_FOO:=$$(sort $$($1_PKGS_MISSING_CLASSES) \
$$($1_PKGS_SUPERFLUOUS_CLASSES) \
$$($1_PKGS_MISSING_JAVAS))
# ifneq (,$$($1_FOO))
# $$(info MESSED UP PACKAGES $$($1_FOO))
# endif
$$(shell $(RM) $$(addsuffix _the.package,$$(sort $$($1_PKGS_MISSING_CLASSES) \
$$($1_PKGS_SUPERFLUOUS_CLASSES) \
$$($1_PKGS_MISSING_JAVAS))))
# Normal makefile dependencies based on timestamps will detect the normal use case
# when Java files are simply added or modified.
endif
ifneq (,$$($1_JAR))
ifeq (,$$($1_SUFFIXES))
$1_SUFFIXES:=.class $$($1_CLEAN) $$($1_COPY)
endif
# A jar file was specified. Set it up.
$$(eval $$(call SetupArchive,ARCHIVE_$1,$$($1),\
SRCS:=$$($1_BIN),\
SUFFIXES:=$$($1_SUFFIXES),\
EXCLUDE:=$$($1_EXCLUDES),\
INCLUDES:=$$($1_INCLUDES),\
EXTRA_FILES:=$$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS),\
JAR:=$$($1_JAR),\
JARMAIN:=$$($1_JARMAIN),\
MANIFEST:=$$($1_MANIFEST),\
EXTRA_MANIFEST_ATTR:=$$($1_EXTRA_MANIFEST_ATTR),\
JARINDEX:=$$($1_JARINDEX),\
HEADERS:=$$($1_HEADERS),\
SETUP:=$$($1_SETUP)))
endif
ifneq (,$$($1_SRCZIP))
# A srczip file was specified. Set it up.
$$(eval $$(call SetupZipArchive,ARCHIVE_$1,\
SRC:=$$($1_SRC),\
ZIP:=$$($1_SRCZIP),\
INCLUDES:=$$($1_INCLUDES),\
EXCLUDES:=$$($1_EXCLUDES),\
EXCLUDE_FILES:=$$($1_EXCLUDE_FILES)))
endif
endef

View File

@@ -0,0 +1,397 @@
#
# Copyright (c) 2011, 2012, 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.
#
################################################################
#
# Check that GNU make and cygwin are recent enough.
# Setup common utility functions.
#
################################################################
ifndef _MAKEBASE_GMK
_MAKEBASE_GMK := 1
ifeq (,$(findstring 3.81,$(MAKE_VERSION)))
ifeq (,$(findstring 3.82,$(MAKE_VERSION)))
$(error This version of GNU Make is too low ($(MAKE_VERSION)). Please upgrade to 3.81 or newer.)
endif
endif
ifneq (,$(CYGPATH))
# Cygwin styff, if needed but most is going to be
# done in configure!
ifeq (yes,$(CHECK_FOR_VCINSTALLDIR))
ifeq (,$(VCINSTALLDIR))
$(info Could not find compiler paths!)
$(info You probably configured the build from within a)
$(info VS command prompt, but you are not using such a)
$(info prompt right now.)
$(info If you instead run configure from a plain cygwin shell, it)
$(info will attempt to setup VS for you! Please try that.)
$(error Giving up for now.)
endif
endif
endif
# The build times report is turned off by setting REPORT_BUILD_TIMES to nothing.
# This is necessary for the target clean which will erase the
# directories where the buildtimes are stored.
REPORT_BUILD_TIMES=1
# Store the build times in this directory.
BUILDTIMESDIR=$(OUTPUT_ROOT)/tmp/buildtimes
# Record starting time for build of a sub repository.
define RecordStartTime
$(MKDIR) -p $(BUILDTIMESDIR)
$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$1
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$1_human_readable
endef
# Indicate that we started to build a sub repository and record starting time.
define MakeStart
$(call RecordStartTime,$1)
$(BUILD_LOG_WRAPPER) $(PRINTF) "\n\n%s\n%s\n##### %-60.60s #####\n%s\n\n" \
"########################################################################" \
"########################################################################" \
"Entering $1 for target(s) $2" \
"########################################################################"
endef
# Record ending time and calculate the difference and store it in a
# easy to read format. Handles builds that cross midnight. Expects
# that a build will never take 24 hours or more.
define RecordEndTime
$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$1
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$1_human_readable
$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$1` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$1` $1 | \
$(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
> $(BUILDTIMESDIR)/build_time_diff_$1
endef
# Check if the current target is the final target, as specified by
# the user on the command line. If so, call PrintEndMessage.
define CheckIfFinished
$(if $(filter $@,$(MAKECMDGOALS)),$(call PrintEndMessage))
# If no taget is given, "all" is default. Check for that, too.
# At most one of the tests can be true.
$(if $(MAKECMDGOALS),,$(if $(filter $@,all),$(call PrintEndMessage)))
endef
# Indicate that we are done.
# Record ending time and print out the total time it took to build.
define MakeFinish
$(if $(REPORT_BUILD_TIMES),$(call RecordEndTime,$1),)
$(BUILD_LOG_WRAPPER) $(PRINTF) "%s\n##### %-60.60s #####\n%s\n##### %-60.60s #####\n%s\n\n" \
"########################################################################" \
"Leaving $1 for target(s) $2" \
"########################################################################" \
$(if $(REPORT_BUILD_TIMES),"Build time `$(CAT) $(BUILDTIMESDIR)/build_time_diff_$1` for target(s) $2","") \
"########################################################################"
$(call CheckIfFinished)
endef
# Find all build_time_* files and print their contents in a list sorted
# on the name of the sub repository.
define ReportBuildTimes
$(BUILD_LOG_WRAPPER) $(PRINTF) -- "-- Build times ----------\nTarget %s\nStart %s\nEnd %s\n%s\n%s\n-------------------------\n" \
"$1" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \
"`$(LS) $(BUILDTIMESDIR)/build_time_diff_* | $(GREP) -v _TOTAL | $(XARGS) $(CAT) | $(SORT) -k 2`" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`"
endef
define ResetTimers
$$(shell $(MKDIR) -p $(BUILDTIMESDIR) && $(RM) $(BUILDTIMESDIR)/build_time_*)
endef
define StartTimer
$(call RecordStartTime,TOTAL)
endef
define StopTimer
$(if $(REPORT_BUILD_TIMES),$(call RecordEndTime,TOTAL) && $(call ReportBuildTimes,$1),)
endef
# Hook to be called as the very first thing when running a normal build
define AtRootMakeStart
$(if $(findstring -j,$(MAKEFLAGS)), $(error make -j is not supported, use make JOBS=n))
$(call PrintStartMessage)
$(call StartTimer)
endef
# Hook to be called as the very last thing for targets that are "top level" targets
define AtRootMakeEnd
$(call StopTimer)
$(call CheckIfFinished)
endef
# If the variable that you want to send to stdout for piping into a file or otherwise,
# is potentially long, for example the a list of file paths, eg a list of all package directories.
# Then you need to use ListPathsSafely, which optimistically splits the output into several shell
# calls as well as use compression on recurrent file paths segments, to get around the potential
# command line length problem that exists in cygwin and other shells.
compress_pre:=$(strip $(shell cat $(SRC_ROOT)/common/makefiles/compress.pre))
compress_post:=$(strip $(shell cat $(SRC_ROOT)/common/makefiles/compress.post))
compress_paths=$(compress_pre)\
$(subst $(SRC_ROOT),X97,\
$(subst $(OUTPUT_ROOT),X98,\
$(subst X,X00,\
$(subst $(SPACE),\n,$(strip $1)))))\
$(compress_post)
decompress_paths=sed -f $(SRC_ROOT)/common/makefiles/uncompress.sed -e 's|X99|\\n|g' \
-e 's|X98|$(OUTPUT_ROOT)|g' -e 's|X97|$(SRC_ROOT)|g' \
-e 's|X00|X|g' | tr '\n' '$2'
define ListPathsSafely_If
$(if $(word $3,$($1)),$(eval $1_LPS$3:=$(call compress_paths,$(wordlist $3,$4,$($1)))))
endef
define ListPathsSafely_Printf
$(if $(strip $($1_LPS$4)),printf -- "$(strip $($1_LPS$4))\n" | $(decompress_paths) $3)
endef
# Receipt example:
# rm -f thepaths
# $(call ListPathsSafely,THEPATHS,\n, >> thepaths)
# The \n argument means translate spaces into \n
# if instead , , (a space) is supplied, then spaces remain spaces.
define ListPathsSafely
$(if $(word 10001,$($1)),$(error Cannot list safely more than 10000 paths. $1 has $(words $($1)) paths!))
$(call ListPathsSafely_If,$1,$2,1,250)
$(call ListPathsSafely_If,$1,$2,251,500)
$(call ListPathsSafely_If,$1,$2,501,750)
$(call ListPathsSafely_If,$1,$2,751,1000)
$(call ListPathsSafely_If,$1,$2,1001,1250)
$(call ListPathsSafely_If,$1,$2,1251,1500)
$(call ListPathsSafely_If,$1,$2,1501,1750)
$(call ListPathsSafely_If,$1,$2,1751,2000)
$(call ListPathsSafely_If,$1,$2,2001,2250)
$(call ListPathsSafely_If,$1,$2,2251,2500)
$(call ListPathsSafely_If,$1,$2,2501,2750)
$(call ListPathsSafely_If,$1,$2,2751,3000)
$(call ListPathsSafely_If,$1,$2,3001,3250)
$(call ListPathsSafely_If,$1,$2,3251,3500)
$(call ListPathsSafely_If,$1,$2,3501,3750)
$(call ListPathsSafely_If,$1,$2,3751,4000)
$(call ListPathsSafely_If,$1,$2,4001,4250)
$(call ListPathsSafely_If,$1,$2,4251,4500)
$(call ListPathsSafely_If,$1,$2,4501,4750)
$(call ListPathsSafely_If,$1,$2,4751,5000)
$(call ListPathsSafely_If,$1,$2,5001,5250)
$(call ListPathsSafely_If,$1,$2,5251,5500)
$(call ListPathsSafely_If,$1,$2,5501,5750)
$(call ListPathsSafely_If,$1,$2,5751,6000)
$(call ListPathsSafely_If,$1,$2,6001,6250)
$(call ListPathsSafely_If,$1,$2,6251,6500)
$(call ListPathsSafely_If,$1,$2,6501,6750)
$(call ListPathsSafely_If,$1,$2,6751,7000)
$(call ListPathsSafely_If,$1,$2,7001,7250)
$(call ListPathsSafely_If,$1,$2,7251,7500)
$(call ListPathsSafely_If,$1,$2,7501,7750)
$(call ListPathsSafely_If,$1,$2,7751,8000)
$(call ListPathsSafely_If,$1,$2,8001,8250)
$(call ListPathsSafely_If,$1,$2,8251,8500)
$(call ListPathsSafely_If,$1,$2,8501,8750)
$(call ListPathsSafely_If,$1,$2,8751,9000)
$(call ListPathsSafely_If,$1,$2,9001,9250)
$(call ListPathsSafely_If,$1,$2,9251,9500)
$(call ListPathsSafely_If,$1,$2,9501,9750)
$(call ListPathsSafely_If,$1,$2,9751,10000)
$(call ListPathsSafely_Printf,$1,$2,$3,1)
$(call ListPathsSafely_Printf,$1,$2,$3,251)
$(call ListPathsSafely_Printf,$1,$2,$3,501)
$(call ListPathsSafely_Printf,$1,$2,$3,751)
$(call ListPathsSafely_Printf,$1,$2,$3,1001)
$(call ListPathsSafely_Printf,$1,$2,$3,1251)
$(call ListPathsSafely_Printf,$1,$2,$3,1501)
$(call ListPathsSafely_Printf,$1,$2,$3,1751)
$(call ListPathsSafely_Printf,$1,$2,$3,2001)
$(call ListPathsSafely_Printf,$1,$2,$3,2251)
$(call ListPathsSafely_Printf,$1,$2,$3,2501)
$(call ListPathsSafely_Printf,$1,$2,$3,2751)
$(call ListPathsSafely_Printf,$1,$2,$3,3001)
$(call ListPathsSafely_Printf,$1,$2,$3,3251)
$(call ListPathsSafely_Printf,$1,$2,$3,3501)
$(call ListPathsSafely_Printf,$1,$2,$3,3751)
$(call ListPathsSafely_Printf,$1,$2,$3,4001)
$(call ListPathsSafely_Printf,$1,$2,$3,4251)
$(call ListPathsSafely_Printf,$1,$2,$3,4501)
$(call ListPathsSafely_Printf,$1,$2,$3,4751)
$(call ListPathsSafely_Printf,$1,$2,$3,5001)
$(call ListPathsSafely_Printf,$1,$2,$3,5251)
$(call ListPathsSafely_Printf,$1,$2,$3,5501)
$(call ListPathsSafely_Printf,$1,$2,$3,5751)
$(call ListPathsSafely_Printf,$1,$2,$3,6001)
$(call ListPathsSafely_Printf,$1,$2,$3,6251)
$(call ListPathsSafely_Printf,$1,$2,$3,6501)
$(call ListPathsSafely_Printf,$1,$2,$3,6751)
$(call ListPathsSafely_Printf,$1,$2,$3,7001)
$(call ListPathsSafely_Printf,$1,$2,$3,7251)
$(call ListPathsSafely_Printf,$1,$2,$3,7501)
$(call ListPathsSafely_Printf,$1,$2,$3,7751)
$(call ListPathsSafely_Printf,$1,$2,$3,8001)
$(call ListPathsSafely_Printf,$1,$2,$3,8251)
$(call ListPathsSafely_Printf,$1,$2,$3,8501)
$(call ListPathsSafely_Printf,$1,$2,$3,8751)
$(call ListPathsSafely_Printf,$1,$2,$3,9001)
$(call ListPathsSafely_Printf,$1,$2,$3,9251)
$(call ListPathsSafely_Printf,$1,$2,$3,9501)
$(call ListPathsSafely_Printf,$1,$2,$3,9751)
endef
define ListPathsSafelyNow_IfPrintf
ifneq (,$$(word $4,$$($1)))
$$(eval $1_LPS$4:=$$(call compress_paths,$$(wordlist $4,$5,$$($1))))
$$(shell printf -- "$$(strip $$($1_LPS$4))\n" | $(decompress_paths) $3)
endif
endef
# And an non-receipt version:
define ListPathsSafelyNow
ifneq (,$$(word 10001,$$($1)))
$$(error Cannot list safely more than 10000 paths. $1 has $$(words $$($1)) paths!)
endif
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1,250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,251,500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,501,750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,751,1000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1001,1250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1251,1500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1501,1750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1751,2000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2001,2250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2251,2500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2501,2750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2751,3000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3001,3250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3251,3500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3501,3750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3751,4000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4001,4250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4251,4500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4501,4750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4751,5000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5001,5250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5251,5500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5501,5750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5751,6000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6001,6250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6251,6500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6501,6750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6751,7000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7001,7250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7251,7500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7501,7750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7751,8000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8001,8250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8251,8500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8501,8750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8751,9000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9001,9250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9251,9500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9501,9750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9751,10000)
endef
# The source tips can come from the Mercurial repository, or in the files
# $(HGTIP_FILENAME) which contains the tip but is also positioned in the same
# directory as the original $(HGDIR) directory.
# These should not be := assignments, only used from the root Makefile.
HG_VERSION = $(shell $(HG) version 2> /dev/null)
HG_DIRECTORY=.hg
HGTIP_FILENAME=.hgtip
HG_SEARCH = ./REPO ./*/REPO ./*/*/REPO ./*/*/*/REPO
REPO_LIST = $(patsubst ./%,%,$(patsubst %/,%,$(sort $(dir \
$(shell $(CD) $(SRC_ROOT) ; ( $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) ; \
$(LS) $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \
2> /dev/null)))))
# Emit the repo:tip pairs to $@
define GetSourceTips
$(CD) $(SRC_ROOT) ; \
for i in $(REPO_LIST) IGNORE ; do \
if [ "$${i}" = "IGNORE" ] ; then \
continue; \
elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \
$(PRINTF) " %s:%s" \
"$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \
elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \
$(PRINTF) " %s:%s" \
"$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \
fi; \
done >> $@
$(PRINTF) "\n" >> $@
endef
# Create the HGTIP_FILENAME file. Called from jdk/make/closed/bundles.gmk
define CreateHgTip
$(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME);\
$(ECHO) $1/$(HGTIP_FILENAME)
endef
define SetupLogging
ifneq ($(findstring $(LOG),debug trace),)
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
OLD_SHELL:=$$(SHELL)
SHELL = $$(warning Building $$@$$(if $$<, (from $$<))$(if $$?, ($$? newer)))$$(OLD_SHELL) -x
endif
endef
# Make sure logging is setup for everyone that includes MakeBase.gmk.
$(eval $(call SetupLogging))
endif # _MAKEBASE_GMK

View File

@@ -0,0 +1,185 @@
#
# Copyright (c) 2011, 2012, 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 helper functions for the top-level Makefile that does
# not depend on the spec.gmk file having been read. (The purpose of this
# file is ju to avoid cluttering the top-level Makefile.)
#
################################################################
ifndef _MAKEHELPERS_GMK
_MAKEHELPERS_GMK := 1
##############################
# Stuff to run at include time
##############################
# Find out which variables were passed explicitely on the make command line. These
# will be passed on to sub-makes, overriding spec.gmk settings.
MAKE_ARGS=$(foreach var,$(subst =command,,$(filter %=command,$(foreach var,$(.VARIABLES),$(var)=$(firstword $(origin $(var)))))),$(var)=$($(var)))
list_alt_overrides_with_origins=$(filter ALT_%=environment ALT_%=command,$(foreach var,$(.VARIABLES),$(var)=$(firstword $(origin $(var)))))
list_alt_overrides=$(subst =command,,$(subst =environment,,$(list_alt_overrides_with_origins)))
##############################
# Functions
##############################
define fatal-error
# If the user specificed a "global" target (e.g. 'help'), do not exit but continue running
$$(if $$(findstring help,$$(MAKECMDGOALS)),,$$(error Cannot continue))
endef
define ParseLogLevel
ifeq ($$(origin VERBOSE),undefined)
# Setup logging according to LOG (but only if VERBOSE is not given)
ifeq ($$(LOG),)
# Set LOG to "warn" as default if not set (and no VERBOSE given)
LOG=warn
endif
ifeq ($$(LOG),warn)
VERBOSE=-s
else ifeq ($$(LOG),info)
VERBOSE=
else ifeq ($$(LOG),debug)
VERBOSE=
else ifeq ($$(LOG),trace)
VERBOSE=-d -p
else
$$(info Error: LOG must be one of: warn, info, debug or trace.)
$$(eval $$(call fatal-error))
endif
else
ifneq ($$(LOG),)
# We have both a VERBOSE and a LOG argument. This is OK only if this is a repeated call by ourselves,
# but complain if this is the top-level make call.
ifeq ($$(MAKELEVEL),0)
$$(info Cannot use LOG=$$(LOG) and VERBOSE=$$(VERBOSE) at the same time. Choose one.)
$$(eval $$(call fatal-error))
endif
endif
endif
endef
# TODO: Fix duplication in MakeBase.gmk
define SetupLogging
ifneq ($(findstring $(LOG),debug trace),)
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
OLD_SHELL:=$$(SHELL)
SHELL = $$(warning Building $$@$$(if $$<, (from $$<))$(if $$?, ($$? newer)))$$(OLD_SHELL) -x
endif
endef
define ParseConfAndSpec
ifneq ($$(origin SPEC),undefined)
# We have been given a SPEC, check that it works out properly
ifeq ($$(wildcard $$(SPEC)),)
$$(info Cannot locate spec.gmk, given by SPEC=$$(SPEC))
$$(eval $$(call fatal-error))
endif
ifneq ($$(origin CONF),undefined)
# We also have a CONF argument. This is OK only if this is a repeated call by ourselves,
# but complain if this is the top-level make call.
ifeq ($$(MAKELEVEL),0)
$$(info Cannot use CONF=$$(CONF) and SPEC=$$(SPEC) at the same time. Choose one.)
$$(eval $$(call fatal-error))
endif
endif
# ... OK, we're satisfied, we'll use this SPEC later on
else
# Find all spec.gmk files in the build output directory
output_dir=$$(root_dir)/build
all_spec_files=$$(wildcard $$(output_dir)/*/spec.gmk)
ifeq ($$(all_spec_files),)
$$(info No configurations found for $$(root_dir)! Please run configure to create a configuration.)
$$(eval $$(call fatal-error))
endif
# Extract the configuration names from the path
all_confs=$$(patsubst %/spec.gmk,%,$$(patsubst $$(output_dir)/%,%,$$(all_spec_files)))
ifneq ($$(origin CONF),undefined)
# User have given a CONF= argument.
ifeq ($$(CONF),)
# If given CONF=, match all configurations
matching_confs=$$(strip $$(all_confs))
else
# Otherwise select those that contain the given CONF string
matching_confs=$$(strip $$(foreach var,$$(all_confs),$$(if $$(findstring $$(CONF),$$(var)),$$(var))))
endif
ifeq ($$(matching_confs),)
$$(info No configurations found matching CONF=$$(CONF))
$$(info Available configurations:)
$$(foreach var,$$(all_confs),$$(info * $$(var)))
$$(eval $$(call fatal-error))
else
ifeq ($$(words $$(matching_confs)),1)
$$(info Building '$$(matching_confs)' (matching CONF=$$(CONF)))
else
$$(info Building the following configurations (matching CONF=$$(CONF)):)
$$(foreach var,$$(matching_confs),$$(info * $$(var)))
endif
endif
# Create a SPEC definition. This will contain the path to one or more spec.gmk files.
SPEC=$$(addsuffix /spec.gmk,$$(addprefix $$(output_dir)/,$$(matching_confs)))
else
# No CONF or SPEC given, check the available configurations
ifneq ($$(words $$(all_spec_files)),1)
$$(info No CONF or SPEC given, but more than one spec.gmk found in $$(output_dir).)
$$(info Available configurations:)
$$(foreach var,$$(all_confs),$$(info * $$(var)))
$$(info Please retry building with CONF=<config> or SPEC=<specfile>)
$$(eval $$(call fatal-error))
endif
# We found exactly one configuration, use it
SPEC=$$(strip $$(all_spec_files))
endif
endif
endef
define CheckEnvironment
# Find all environment or command line variables that begin with ALT.
$(if $(list_alt_overrides),
@$(PRINTF) "\nWARNING: You have the following ALT_ variables set:\n"
@$(PRINTF) "$(foreach var,$(list_alt_overrides),$(var)=$$$(var))\n"
@$(PRINTF) "ALT_ variables are deprecated and will be ignored. Please clean your environment.\n\n"
)
endef
define PrintStartMessage
$(if $(VERBOSE),,@$(ECHO) Running make as $(MAKE) $(MFLAGS) $(MAKE_ARGS))
$(call CheckEnvironment)
@$(ECHO) "Building OpenJDK for target $(if $(MAKECMDGOALS),'$(MAKECMDGOALS)','all') in configuration '$(CONF_NAME)'"
endef
define PrintEndMessage
@$(ECHO) "Finished building OpenJDK for target '$@'"
$(call CheckEnvironment)
endef
endif # _MAKEHELPERS_GMK

218
common/makefiles/Makefile Normal file
View File

@@ -0,0 +1,218 @@
#
# Copyright (c) 2011, 2012, 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 must be the first rule
default: all
# Locate this Makefile
ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
else
makefile_path:=$(lastword $(MAKEFILE_LIST))
endif
root_dir:=$(patsubst %/common/makefiles/Makefile,%,$(makefile_path))
# ... and then we can include our helper functions
include $(dir $(makefile_path))/MakeHelpers.gmk
$(eval $(call ParseLogLevel))
$(eval $(call SetupLogging))
$(eval $(call ParseConfAndSpec))
# Setup number of jobs to use. -jN is unfortunately not available for us to parse from the command line,
# hence this workaround.
ifeq ($(JOBS),)
JOBS=$(NUM_CORES)
endif
ifneq ($(words $(SPEC)),1)
### We have multiple configurations to build, call make repeatedly
all jdk hotspot jaxws jaxp corba langtools install images clean dist-clean:
@$(foreach spec,$(SPEC),($(MAKE) -f $(makefile_path) SPEC=$(spec) $(VERBOSE) VERBOSE=$(VERBOSE) $@ $(MAKE_ARGS)) &&) true
.PHONY: all jdk hotspot jaxws jaxp corba langtools install images clean dist-clean
else
### This is the main part of the Makefile, for the normal case with SPEC specifying a single existing spec.gmk file.
# Now load the spec
include $(SPEC)
# Load the vital tools for all the makefiles.
include $(SRC_ROOT)/common/makefiles/MakeBase.gmk
### Clean up from previous run
# Remove any build.log from a previous run, if they exist
ifneq (,$(BUILD_LOG))
ifneq (,$(BUILD_LOG_PREVIOUS))
# Rotate old log
$(shell $(RM) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
$(shell $(MV) $(BUILD_LOG) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
else
$(shell $(RM) $(BUILD_LOG) 2> /dev/null)
endif
endif
# Remove any javac server logs and port files. This
# prevents a new make run to reuse the previous servers.
ifneq (,$(JAVAC_SERVERS))
$(shell mkdir -p $(JAVAC_SERVERS) && rm -rf $(JAVAC_SERVERS)/*)
endif
# Clean out any notifications from the previous build.
$(shell find $(OUTPUT_ROOT) -name "_the.*.notify" $(FIND_DELETE))
# Reset the build timers.
$(eval $(call ResetTimers))
### Main targets
all: jdk
@$(if $(JAVAC_SERVERS),rm -rf $(JAVAC_SERVERS)/*.port)
@$(call AtRootMakeEnd)
langtools: start-make langtools-only
langtools-only:
@$(call MakeStart,langtools,all)
@($(CD) $(LANGTOOLS_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(JOBS) $(MAKE_ARGS))
@$(call MakeFinish,langtools,all)
corba: langtools corba-only
corba-only:
@$(call MakeStart,corba,all)
@($(CD) $(CORBA_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(JOBS) $(MAKE_ARGS))
@$(call MakeFinish,corba,all)
jaxp: langtools jaxp-only
jaxp-only:
@$(call MakeStart,jaxp,all)
@($(CD) $(JAXP_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(JOBS) $(MAKE_ARGS))
@$(call MakeFinish,jaxp,all)
jaxws: langtools jaxp jaxws-only
jaxws-only:
@$(call MakeStart,jaxws,all)
@($(CD) $(JAXWS_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(JOBS) $(MAKE_ARGS))
@$(call MakeFinish,jaxws,all)
hotspot: langtools hotspot-only
hotspot-only:
@$(call MakeStart,hotspot,all)
@($(CD) $(HOTSPOT_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) -j1 $(HOTSPOT_MAKE_ARGS) $(MAKE_ARGS))
@$(call MakeFinish,hotspot,all)
jdk: langtools corba jaxp jaxws hotspot jdk-only
jdk-only:
@$(call MakeStart,jdk,all)
@($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(JOBS) $(MAKE_ARGS))
@$(call MakeFinish,jdk,all)
images: source-tips start-make jdk langtools corba jaxp jaxws hotspot images-only
images-only:
@$(call MakeStart,jdk-images,$@)
@($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(JOBS) $(JDK_MAKE_ARGS) $(MAKE_ARGS) images)
@$(call MakeFinish,jdk-images,$@)
@$(if $(JAVAC_SERVERS),rm -rf $(JAVAC_SERVERS)/*.port)
@$(call AtRootMakeEnd)
install: source-tips start-make jdk langtools corba jaxp jaxws hotspot install-only
install-only:
@$(call MakeStart,jdk-images,$@)
@($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(JOBS) $(JDK_MAKE_ARGS) $(MAKE_ARGS) install)
@$(call MakeFinish,jdk-images,$@)
@$(if $(JAVAC_SERVERS),rm -rf $(JAVAC_SERVERS)/*.port)
@$(call AtRootMakeEnd)
start-make:
@$(call AtRootMakeStart)
.PHONY: jdk hotspot jaxws jaxp corba langtools install images start-make
test: start-make
@$(call MakeStart,test,$(if $(TEST),$(TEST),all))
@($(CD) $(SRC_ROOT)/test && $(BUILD_LOG_WRAPPER) $(MAKE) MAKEFLAGS= -j1 PRODUCT_HOME=$(OUTPUT_ROOT)/jdk JPRT_JAVA_HOME=$(OUTPUT_ROOT)/jdk ALT_OUTPUTDIR=$(OUTPUT_ROOT) $(TEST)) || true
@$(call MakeFinish,test,$(if $(TEST),$(TEST),all))
@$(call AtRootMakeEnd)
.PHONY: test
# Stores the tips for each repository. This file is be used when constructing the jdk image and can be
# used to track the exact sources used to build that image.
source-tips: $(OUTPUT_ROOT)/source_tips
$(OUTPUT_ROOT)/source_tips: FRC
@$(MKDIR) -p $(@D)
@$(RM) $@
@$(call GetSourceTips)
# Remove everything, except the output from configure.
clean:
@(cd $(OUTPUT_ROOT) && $(RM) -r `$(LS) $(OUTPUT_ROOT) | grep -v spec.gmk | grep -v spec.sh | grep -v Makefile | grep -v config.status | grep -v config.log | grep -v config.h | grep -v configure-arguments | grep -v "localdevenv.*" | grep -v uncygdrive.exe`)
@$(ECHO) Cleaned everything except the build configuration.
.PHONY: clean
# Remove everything, you have to rerun configure.
dist-clean:
@$(RM) -r $(OUTPUT_ROOT)
@$(ECHO) Cleaned everything, you will have to re-run configure.
.PHONY: dist-clean
clean-jdk:
@(cd $(OUTPUT_ROOT) && $(RM) -r `$(LS) $(OUTPUT_ROOT) | grep -v spec.gmk | grep -v spec.sh | grep -v Makefile | grep -v config.status | grep -v config.log | grep -v config.h | grep -v configure-arguments | \
grep -v langtools | grep -v corba | grep -v jaxp | grep -v jaxws | grep -v hotspot`)
@$(ECHO) "Cleaned jdk build artifacts (but not langtools,corba,jaxp,jaxws,hotspot nor the build configuration)"
.PHONY: clean
endif
# Here are "global" targets, i.e. targets that can be executed without specifying a single configuration.
# If you addd more global targets, please update the fatal-error macro.
help:
$(info )
$(info OpenJDK Makefile help)
$(info =====================)
$(info )
$(info Common make targets)
$(info . make [all] # Compile all code but do not create images)
$(info . make images # Create complete j2sdk and j2re images)
$(info . make install # Install the generated images locally)
$(info . make clean # Remove all files generated by make, but not those generated by configure)
$(info . make dist-clean # Remove all files generated by both make and configure)
$(info . make help # Give some help on using make)
$(info . make test # Run tests, default is all tests (see TEST below))
$(info )
$(info Useful make variables)
$(info . make CONF= # Build all configurations (note, assignment is empty))
$(info . make CONF=<substring> # Build the configuration(s) with a name matching the given substring)
$(info )
$(info . make LOG=<loglevel> # Change loglevel from warn (default) to the given loglevel)
$(info . # Available loglevels are: warn, info, debug and trace)
$(info . # To see executed command lines, use LOG=info)
$(info )
$(info . make test TEST=<test> # Only run the given test or tests, e.g.)
$(info . # make test TEST="jdk_lang jdk_net")
$(info )
.PHONY: help
FRC: # Force target

View File

@@ -0,0 +1,573 @@
#
# Copyright (c) 2011, 2012, 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.
#
# When you read this source. Remember that $(sort ...) has the side effect
# of removing duplicates. It is actually this side effect that is
# desired whenever sort is used below!
ifeq (,$(_MAKEBASE_GMK))
$(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
endif
ifeq ($(COMPILER_TYPE),CC)
COMPILING_MSG=echo Compiling $1
LINKING_MSG=echo Linking $1
LINKING_EXE_MSG=echo Linking executable $1
ARCHIVING_MSG=echo Archiving $1
else
COMPILING_MSG=
LINKING_MSG=
LINKING_EXE_MSG=
ARCHIVING_MSG=
endif
define add_native_source
# param 1 = BUILD_MYPACKAGE
# parma 2 = the source file name (..../alfa.c or .../beta.cpp)
# param 3 = the bin dir that stores all .o (.obj) and .d files.
# param 4 = the c flags to the compiler
# param 5 = the c compiler
# param 6 = the c++ flags to the compiler
# param 7 = the c++ compiler
# param 8 = the flags to the assembler
ifneq (,$$(filter %.c,$2))
# Compile as a C file
$1_$2_FLAGS=$4 $$($1_$(notdir $2)_CFLAGS) -c
$1_$2_COMP=$5
$1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
else ifneq (,$$(filter %.m,$2))
# Compile as a objective-c file
$1_$2_FLAGS=-x objective-c $4 $$($1_$(notdir $2)_CFLAGS) -c
$1_$2_COMP=$5
$1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
else ifneq (,$$(filter %.s,$2))
# Compile as assembler file
$1_$2_FLAGS=$8
$1_$2_COMP=$(AS)
$1_$2_DEP_FLAG:=
else
# Compile as a C++ file
$1_$2_FLAGS=$6 $$($1_$(notdir $2)_CXXFLAGS) -c
$1_$2_COMP=$7
$1_$2_DEP_FLAG:=$(CXX_FLAG_DEPS)
endif
# Generate the .o (.obj) file name and place it in the bin dir.
$1_$2_OBJ:=$3/$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(patsubst %.m,%$(OBJ_SUFFIX),$$(patsubst %.s,%$(OBJ_SUFFIX),$$(notdir $2)))))
# Only continue if this object file hasn't been processed already. This lets the first found
# source file override any other with the same name.
ifeq (,$$(findstring $$($1_$2_OBJ),$$($1_OBJS_SO_FAR)))
$1_OBJS_SO_FAR+=$$($1_$2_OBJ)
ifeq (,$$(filter %.s,$2))
# And this is the dependency file for this obj file.
$1_$2_DEP:=$$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_$2_OBJ))
# Include previously generated dependency information. (if it exists)
-include $$($1_$2_DEP)
ifeq ($(COMPILER_TYPE),CL)
$1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ)) \
-Fm$$(patsubst %$(OBJ_SUFFIX),%.map,$$($1_$2_OBJ))
endif
endif
$$($1_$2_OBJ) : $2
ifeq ($(COMPILER_TYPE),CC)
$$(call COMPILING_MSG,$$(notdir $2))
$$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP) $(CC_OUT_OPTION)$$($1_$2_OBJ) $2
endif
ifeq ($(COMPILER_TYPE),CL)
$$(call COMPILING_MSG,$$(notdir $2))
$$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEBUG_OUT_FLAGS) $(CC_OUT_OPTION)$$($1_$2_OBJ) $2
endif
endif
endef
define SetupNativeCompilation
# param 1 is for example BUILD_MYPACKAGE
# param 2,3,4,5,6,7,8 are named args.
# SRC one or more directory roots to scan for C/C++ files.
# LANG C or C++
# CFLAGS the compiler flags to be used, used both for C and C++.
# CXXFLAGS the compiler flags to be used for c++, if set overrides CFLAGS.
# LDFLAGS the linker flags to be used, used both for C and C++.
# LDFLAGS_SUFFIX the linker flags to be added last on the commandline
# typically the libraries linked to.
# ARFLAGS the archiver flags to be used
# OBJECT_DIR the directory where we store the object files
# LIBRARY the resulting library file
# PROGRAM the resulting exec file
# INCLUDES only pick source from these directories
# EXCLUDES do not pick source from these directories
# INCLUDE_FILES only compile exactly these files!
# EXCLUDE_FILES with these names
# VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run
# RC_FLAGS flags for RC.
# MAPFILE mapfile
# REORDER reorder file
# DEBUG_SYMBOLS add debug symbols (if configured on)
# CC the compiler to use, default is $(CC)
# LDEXE the linker to use for linking executables, default is $(LDEXE)
$(if $2,$1_$(strip $2))
$(if $3,$1_$(strip $3))
$(if $4,$1_$(strip $4))
$(if $5,$1_$(strip $5))
$(if $6,$1_$(strip $6))
$(if $7,$1_$(strip $7))
$(if $8,$1_$(strip $8))
$(if $9,$1_$(strip $9))
$(if $(10),$1_$(strip $(10)))
$(if $(11),$1_$(strip $(11)))
$(if $(12),$1_$(strip $(12)))
$(if $(13),$1_$(strip $(13)))
$(if $(14),$1_$(strip $(14)))
$(if $(15),$1_$(strip $(15)))
$(if $(16),$1_$(strip $(16)))
$(if $(17),$1_$(strip $(17)))
$(if $(18),$1_$(strip $(18)))
$(if $(19),$1_$(strip $(19)))
$(if $(20),$1_$(strip $(20)))
$(if $(21),$1_$(strip $(21)))
$(if $(22),$(error Internal makefile error: Too many arguments to SetupNativeCompilation, please update NativeCompilation.gmk))
ifneq (,$$($1_BIN))
$$(error BIN has been replaced with OBJECT_DIR)
endif
ifneq (,$$($1_LIB))
$$(error LIB has been replaced with LIBRARY)
endif
ifneq (,$$($1_EXE))
$$(error EXE has been replaced with PROGRAM)
endif
ifneq (,$$($1_LIBRARY))
ifeq (,$$($1_OUTPUT_DIR))
$$(error LIBRARY requires OUTPUT_DIR)
endif
ifneq ($$($1_LIBRARY),$(basename $$($1_LIBRARY)))
$$(error directory of LIBRARY should be specified using OUTPUT_DIR)
endif
ifneq (,$(findstring $(SHARED_LIBRARY_SUFFIX),$$($1_LIBRARY)))
$$(error LIBRARY should be specified without SHARED_LIBRARY_SUFFIX: $(SHARED_LIBRARY_SUFFIX))
endif
ifneq (,$(findstring $(LIBRARY_PREFIX),$$($1_LIBRARY)))
$$(error LIBRARY should be specified without LIBRARY_PREFIX: $(LIBRARY_PREFIX))
endif
$1_BASENAME:=$(LIBRARY_PREFIX)$$($1_LIBRARY)$(SHARED_LIBRARY_SUFFIX)
$1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
endif
ifneq (,$$($1_STATIC_LIBRARY))
ifeq (,$$($1_OUTPUT_DIR))
$$(error STATIC_LIBRARY requires OUTPUT_DIR)
endif
ifneq ($$($1_STATIC_LIBRARY),$(basename $$($1_STATIC_LIBRARY)))
$$(error directory of STATIC_LIBRARY should be specified using OUTPUT_DIR)
endif
ifneq (,$(findstring $(STATIC_LIBRARY_SUFFIX),$$($1_STATIC_LIBRARY)))
$$(error STATIC_LIBRARY should be specified without STATIC_LIBRARY_SUFFIX: $(STATIC_LIBRARY_SUFFIX))
endif
ifneq (,$(findstring $(LIBRARY_PREFIX),$$($1_STATIC_LIBRARY)))
$$(error STATIC_LIBRARY should be specified without LIBRARY_PREFIX: $(LIBRARY_PREFIX))
endif
$1_BASENAME:=$(LIBRARY_PREFIX)$$($1_STATIC_LIBRARY)$(STATIC_LIBRARY_SUFFIX)
$1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
endif
ifneq (,$$($1_PROGRAM))
ifeq (,$$($1_OUTPUT_DIR))
$$(error PROGRAM requires OUTPUT_DIR)
endif
ifneq ($$($1_PROGRAM),$(basename $$($1_PROGRAM)))
$$(error directory of PROGRAM should be specified using OUTPUT_DIR)
endif
ifneq (,$(findstring $(EXE_SUFFIX),$$($1_PROGRAM)))
$$(error PROGRAM should be specified without EXE_SUFFIX: $(EXE_SUFFIX))
endif
$1_BASENAME:=$$($1_PROGRAM)$(EXE_SUFFIX)
$1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
endif
ifeq (,$$($1_TARGET))
$$(error Neither PROGRAM, LIBRARY nor STATIC_LIBRARY has been specified for SetupNativeCompilation)
endif
ifeq (,$$($1_LANG))
$$(error You have to specify LANG for native compilation $1)
endif
ifeq (C,$$($1_LANG))
ifeq ($$($1_LDEXE),)
$1_LDEXE:=$(LDEXE)
endif
$1_LD:=$(LD)
else
ifeq (C++,$$($1_LANG))
$1_LD:=$(LDCXX)
$1_LDEXE:=$(LDEXECXX)
else
$$(error Unknown native language $$($1_LANG) for $1)
endif
endif
ifeq ($$($1_CC),)
$1_CC:=$(CC)
endif
# Make sure the dirs exist.
$$(shell $(MKDIR) -p $$($1_SRC) $$($1_OBJECT_DIR) $$($1_OUTPUT_DIR))
# Find all files in the source trees. Sort to remove duplicates.
$1_ALL_SRCS := $$(sort $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i -type f)))
# Extract the C/C++ files.
$1_EXCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_EXCLUDE_FILES)))
$1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
ifneq ($$($1_EXCLUDE_FILES),)
$1_EXCLUDE_FILES:=$$(addprefix %,$$($1_EXCLUDE_FILES))
endif
$1_SRCS := $$(filter-out $$($1_EXCLUDE_FILES),$$(filter %.s %.c %.cpp %.m,$$($1_ALL_SRCS)))
ifneq (,$$(strip $$($1_INCLUDE_FILES)))
$1_SRCS := $$(filter $$($1_INCLUDE_FILES),$$($1_SRCS))
endif
ifeq (,$$($1_SRCS))
$$(error No sources found for $1 when looking inside the dirs $$($1_SRC))
endif
# There can be only a single bin dir root, no need to foreach over the roots.
$1_BINS := $$(wildcard $$($1_OBJECT_DIR)/*$(OBJ_SUFFIX))
# Now we have a list of all c/c++ files to compile: $$($1_SRCS)
# and we have a list of all existing object files: $$($1_BINS)
# Prepend the source/bin path to the filter expressions. Then do the filtering.
ifneq ($$($1_INCLUDES),)
$1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
$1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
endif
ifneq ($$($1_EXCLUDES),)
$1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
$1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
endif
# Calculate the expected output from compiling the sources (sort to remove duplicates. Also provides
# a reproducable order on the input files to the linker).
$1_EXPECTED_OBJS:=$$(sort $$(addprefix $$($1_OBJECT_DIR)/,$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(patsubst %.m,%$(OBJ_SUFFIX),$$(patsubst %.s,%$(OBJ_SUFFIX),$$(notdir $$($1_SRCS))))))))
# Are there too many object files on disk? Perhaps because some source file was removed?
$1_SUPERFLOUS_OBJS:=$$(sort $$(filter-out $$($1_EXPECTED_OBJS),$$($1_BINS)))
# Clean out the superfluous object files.
$$(shell $(RM) -f $$($1_SUPERFLUOUS_OBJS))
# Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CFLAGS.
$1_EXTRA_CFLAGS:=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CFLAGS_$(OPENJDK_TARGET_OS))
ifneq ($(DEBUG_LEVEL),release)
# Pickup extra debug dependent variables for CFLAGS
$1_EXTRA_CFLAGS+=$$($1_CFLAGS_debug)
$1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
$1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_debug)
else
$1_EXTRA_CFLAGS+=$$($1_CFLAGS_release)
$1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_release)
$1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_release)
endif
# Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CXXFLAGS.
$1_EXTRA_CXXFLAGS:=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS))
ifneq ($(DEBUG_LEVEL),release)
# Pickup extra debug dependent variables for CXXFLAGS
$1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_debug)
$1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
$1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_debug)
else
$1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_release)
$1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_release)
$1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_release)
endif
ifeq ($$($1_CXXFLAGS),)
$1_CXXFLAGS:=$$($1_CFLAGS)
endif
ifeq ($$(strip $$($1_EXTRA_CXXFLAGS)),)
$1_EXTRA_CXXFLAGS:=$$($1_EXTRA_CFLAGS)
endif
ifneq (,$$($1_REORDER))
$1_EXTRA_CFLAGS += $$(C_FLAG_REORDER)
$1_EXTRA_CXXFLAGS += $$(CXX_FLAG_REORDER)
endif
ifneq (no, $(ENABLE_DEBUG_SYMBOLS))
ifneq ($(OPENJDK_TARGET_OS), solaris)
# <weird code />
# There is very weird code in Defs-solaris.gmk that first sets variables as decribed below
# and then a couple of hundreds of line below resets them...
# this feels like a sure bug...but before this is confirmed, mimic this behaviour
# (note: skip indenting this as it will surely be removed anyway)
# <weird code />
ifneq (,$$($1_DEBUG_SYMBOLS))
$1_OPTIMIZATION := LOW
$1_EXTRA_CFLAGS += $(CFLAGS_DEBUG_SYMBOLS)
$1_EXTRA_CXXFLAGS += $(CXXFLAGS_DEBUG_SYMBOLS)
endif
# <weird code />
endif
# <weird code />
endif
ifeq (NONE, $$($1_OPTIMIZATION))
$1_EXTRA_CFLAGS += $$(C_O_FLAG_NONE)
$1_EXTRA_CXXFLAGS += $$(CXX_O_FLAG_NONE)
else ifeq (LOW, $$($1_OPTIMIZATION))
$1_EXTRA_CFLAGS += $$(C_O_FLAG_NORM)
$1_EXTRA_CXXFLAGS += $$(CXX_O_FLAG_NORM)
else ifeq (HIGH, $$($1_OPTIMIZATION))
$1_EXTRA_CFLAGS += $$(C_O_FLAG_HI)
$1_EXTRA_CXXFLAGS += $$(CXX_O_FLAG_HI)
else ifeq (HIGHEST, $$($1_OPTIMIZATION))
$1_EXTRA_CFLAGS += $$(C_O_FLAG_HIGHEST)
$1_EXTRA_CXXFLAGS += $$(CXX_O_FLAG_HIGHEST)
else ifneq (, $$($1_OPTIMIZATION))
$$(error Unknown value for OPTIMIZATION: $$($1_OPTIMIZATION))
endif
# Now create a list of the packages that are about to compile. Used when sending source
# in a batch to the compiler.
$$(shell $(RM) $$($1_OBJECT_DIR)/_the.list_of_sources)
$$(eval $$(call ListPathsSafelyNow,$1_SRCS,\n, >> $$($1_OBJECT_DIR)/_the.list_of_sources))
# Now call add_native_source for each source file we are going to compile.
$$(foreach p,$$($1_SRCS),\
$$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR),\
$$($1_CFLAGS) $$($1_EXTRA_CFLAGS),$$($1_CC),\
$$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS),$(CXX),$$($1_ASFLAGS))))
# On windows we need to create a resource file
ifeq ($(OPENJDK_TARGET_OS_API), winapi)
ifneq (,$$($1_VERSIONINFO_RESOURCE))
$1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res
$$($1_RES): $$($1_VERSIONINFO_RESOURCE)
$(RC) $$($1_RC_FLAGS) $(CC_OUT_OPTION)$$@ $$($1_VERSIONINFO_RESOURCE)
endif
ifneq (,$$($1_MANIFEST))
$1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
IMVERSIONVALUE:=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
$$($1_GEN_MANIFEST): $$($1_MANIFEST)
$(SED) 's%IMVERSION%$$(IMVERSIONVALUE)%g;s%PROGRAM%$$($1_PROGRAM)%g' $$< > $$@
endif
endif
# mapfile doesnt seem to be implemented on macosx (yet??)
ifneq ($(OPENJDK_TARGET_CPU),ppc)
ifneq ($(OPENJDK_TARGET_CPU),arm)
ifneq ($(OPENJDK_TARGET_OS),macosx)
ifneq ($(OPENJDK_TARGET_OS),windows)
$1_REAL_MAPFILE:=$$($1_MAPFILE)
ifneq (,$$($1_REORDER))
$1_REAL_MAPFILE:=$$($1_OBJECT_DIR)/mapfile
$$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER)
$$(MKDIR) -p $$(@D)
$$(CP) $$($1_MAPFILE) $$@.tmp
$$(SED) -e 's=OUTPUTDIR=$$($1_OBJECT_DIR)=' $$($1_REORDER) >> $$@.tmp
$$(MV) $$@.tmp $$@
endif
endif
endif
endif
endif
# Pickup extra OPENJDK_TARGET_OS_API dependent variables (posix or winapi) and
# (linux,solaris,windows,bsd) for LDFLAGS and LDFLAGS_SUFFIX
$1_EXTRA_LDFLAGS:=$$($1_LDFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
$1_EXTRA_LDFLAGS_SUFFIX:=$$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS))
ifneq (,$$($1_REAL_MAPFILE))
$1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
endif
$1 := $$($1_TARGET)
ifneq (,$$($1_LIBRARY))
# Generating a dynamic library.
$1_EXTRA_LDFLAGS+=$$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
ifeq ($(OPENJDK_TARGET_OS), windows)
$1_EXTRA_LDFLAGS+="-implib:$$($1_OBJECT_DIR)/$$($1_LIBRARY).lib"
endif
ifneq (,$$($1_DEBUG_SYMBOLS))
ifeq ($(ENABLE_DEBUG_SYMBOLS), yes)
ifeq ($(OPENJDK_TARGET_OS), windows)
$1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_LIBRARY).pdb" \
"-map:$$($1_OBJECT_DIR)/$$($1_LIBRARY).map"
endif
$$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
$(CP) $$< $$@
ifeq ($(OPENJDK_TARGET_OS), solaris)
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
# empty section headers until a fixed $(OBJCOPY) is available.
# An empty section header has sh_addr == 0 and sh_size == 0.
# This problem has only been seen on Solaris X64, but we call this tool
# on all Solaris builds just in case.
#
# $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
# Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
$$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
$(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
$(RM) $$@
$(FIX_EMPTY_SEC_HDR_FLAGS) $$<
$(OBJCOPY) --only-keep-debug $$< $$@
$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $$(@F) $$<
else # not solaris
$$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
$(RM) $$@
$(OBJCOPY) --only-keep-debug $$< $$@
$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
endif # Touch to not retrigger rule on rebuild
$(TOUCH) $$@
ifeq ($(ZIP_DEBUGINFO_FILES), 1)
$1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz
ifeq ($(OPENJDK_TARGET_OS), windows)
$$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET)
$(CD) $$($1_OBJECT_DIR) \
&& $(ZIP) -q $$@ $$($1_LIBRARY).map $$($1_LIBRARY).pdb
else
$$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET) \
$$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
$(CD) $$($1_OBJECT_DIR) \
&& $(ZIP) -q $$@ $$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
endif
else
ifeq ($(OPENJDK_TARGET_OS), windows)
$1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
$$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
else
$1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
endif
endif
endif
endif
$$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE)
$$(call LINKING_MSG,$$($1_BASENAME))
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(LD_OUT_OPTION)$$@ \
$$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \
$$($1_EXTRA_LDFLAGS_SUFFIX)
endif
ifneq (,$$($1_STATIC_LIBRARY))
# Generating a static library, ie object file archive.
$$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES)
$$(call ARCHIVING_MSG,$$($1_LIBRARY))
$(AR) $$($1_AR_FLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \
$$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
endif
ifneq (,$$($1_PROGRAM))
# A executable binary has been specified, setup the target for it.
ifneq (,$$($1_DEBUG_SYMBOLS))
ifeq ($(ENABLE_DEBUG_SYMBOLS), yes)
ifeq ($(OPENJDK_TARGET_OS), windows)
$1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_PROGRAM).pdb" \
"-map:$$($1_OBJECT_DIR)/$$($1_PROGRAM).map"
endif
$$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
$(CP) $$< $$@
ifeq ($(OPENJDK_TARGET_OS), solaris)
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
# empty section headers until a fixed $(OBJCOPY) is available.
# An empty section header has sh_addr == 0 and sh_size == 0.
# This problem has only been seen on Solaris X64, but we call this tool
# on all Solaris builds just in case.
#
# $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
# Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
$$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
$(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
$(RM) $$@
$(FIX_EMPTY_SEC_HDR_FLAGS) $$<
$(OBJCOPY) --only-keep-debug $$< $$@
$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $$(@F) $$<
else # not solaris
$$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
$(RM) $$@
$(OBJCOPY) --only-keep-debug $$< $$@
$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
endif
$(TOUCH) $$@
ifeq ($(ZIP_DEBUGINFO_FILES), 1)
$1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).diz
ifeq ($(OPENJDK_TARGET_OS), windows)
$$($1_OBJECT_DIR)/$$($1_PROGRAM).diz : $$($1_TARGET)
$(CD) $$($1_OBJECT_DIR) \
&& $(ZIP) -q $$@ $$($1_PROGRAM).map $$($1_PROGRAM).pdb
else
$$($1_OBJECT_DIR)/$$(PROGRAM_PREFIX)$$($1_PROGRAM).diz : $$($1_TARGET) \
$$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo
$(CD) $$($1_OBJECT_DIR) \
&& $(ZIP) -q $$@ $$($1_PROGRAM).debuginfo
endif
else
ifeq ($(OPENJDK_TARGET_OS), windows)
$1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \
$$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb
else
$1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo
endif
endif
endif
endif
$$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST)
$$(call LINKING_EXE_MSG,$$($1_BASENAME))
$$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(EXE_OUT_OPTION)$$($1_TARGET) \
$$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \
$$($1_EXTRA_LDFLAGS_SUFFIX)
ifneq (,$$($1_GEN_MANIFEST))
$(MT) -nologo /manifest $$($1_GEN_MANIFEST) /outputresource:$$@;#1
endif
endif
endef

View File

@@ -0,0 +1,104 @@
#
# Copyright (c) 2011, 2012 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.
#
define SetupRMICompilation
# param 1 is a name for a variable to depend on.
# param 2 and up are named args.
# CLASSES:=List of classes to generate stubs for
# CLASSES_DIR:=Directory where to look for classes
# STUB_CLASSES_DIR:=Directory in where to put stub classes
# RUN_V11:=Set to run rmic with -v1.1
# RUN_V12:=Set to run rmic with -v1.2
# RUN_IIOP:=Set to run rmic with -iiop
# RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage
# KEEP_GENERATED:=Set to keep generated sources around
$(if $2,$1_$(strip $2))
$(if $3,$1_$(strip $3))
$(if $4,$1_$(strip $4))
$(if $5,$1_$(strip $5))
$(if $6,$1_$(strip $6))
$(if $7,$1_$(strip $7))
$(if $8,$1_$(strip $8))
$(if $9,$1_$(strip $9))
$(if $(10),$(error Internal makefile error: Too many arguments to SetupRMICompilation, please update RMICompilation.gmk))
$1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/$1_rmic
$1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES))
$1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH)))
$1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH)))
$1_TARGETS := $$($1_STUB_FILES)
$1_ARGS :=
ifneq (,$$($1_RUN_V11))
$1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH)))
$1_TARGETS += $$($1_SKEL_FILES)
$1_ARGS += -v1.1
endif
ifneq (,$$($1_RUN_V12))
$1_ARGS += -v1.2
endif
$1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f))
$1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
$1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
ifneq (,$$($1_RUN_IIOP))
$1_TARGETS += $$($1_TIE_FILES)
$1_ARGS += -iiop
endif
ifneq (,$$($1_RUN_IIOP_STDPKG))
$1_TARGETS += $$($1_TIE_STDPKG_FILES)
$1_ARGS2 := -iiop -standardPackage
endif
ifneq (,$$($1_KEEP_GENERATED))
$1_ARGS += -keepgenerated
$1_TARGETS += $$(subst .class,.java,$$($1_TARGETS))
endif
$1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES))
$$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES)
$$($1_DEP_FILE): $$($1_CLASS_FILES)
$(MKDIR) -p $$($1_STUB_CLASSES_DIR)
if [ "x$$($1_ARGS)" != "x" ]; then \
$(ECHO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) &&\
$(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \
-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\
fi;
if [ "x$$($1_ARGS2)" != "x" ]; then \
$(ECHO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) &&\
$(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \
-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\
fi;
$1 := $$($1_TARGETS)
# By marking as secondary, this "touch" file doesn't need to be touched and will never exist.
.SECONDARY: $$($1_DEP_FILE)
endef

View File

@@ -0,0 +1 @@
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

View File

@@ -0,0 +1 @@
$(subst com,X01,$(subst org,X02,$(subst sun,X03,$(subst java,X04,$(subst javax,X05,$(subst sun/io,X06,$(subst com/sun,X07,$(subst java/io,X08,$(subst org/omg,X09,$(subst org/w3c,X10,$(subst org/xml,X11,$(subst sun/awt,X12,$(subst sun/net,X13,$(subst sun/nio,X14,$(subst sun/rmi,X15,$(subst java/awt,X16,$(subst java/net,X17,$(subst java/nio,X18,$(subst java/rmi,X19,$(subst META-INF,X20,$(subst sun/font,X21,$(subst sun/misc,X22,$(subst sun/text,X23,$(subst sun/util,X24,$(subst java/lang,X25,$(subst java/math,X26,$(subst java/text,X27,$(subst java/util,X28,$(subst javax/jws,X29,$(subst javax/net,X30,$(subst javax/rmi,X31,$(subst javax/xml,X32,$(subst sun/corba,X33,$(subst sun/print,X34,$(subst sun/swing,X35,$(subst java/beans,X36,$(subst javax/lang,X37,$(subst sun/applet,X38,$(subst sun/java2d,X39,$(subst java/applet,X40,$(subst javax/print,X41,$(subst javax/sound,X42,$(subst javax/swing,X43,$(subst javax/tools,X44,$(subst jdk/classes,X45,$(subst org/relaxng,X46,$(subst sun/reflect,X47,$(subst javax/crypto,X48,$(subst javax/naming,X49,$(subst jaxp/classes,X50,$(subst sun/security,X51,$(subst corba/classes,X52,$(subst java/security,X53,$(subst javax/imageio,X54,$(subst jdk/btclasses,X55,$(subst javax/activity,X56,$(subst javax/security,X57,$(subst jdk/newclasses,X58,$(subst sun/instrument,X59,$(subst sun/management,X60,$(subst corba/btclasses,X61,$(subst jdk/democlasses,X62,$(subst javax/activation,X63,$(subst javax/annotation,X64,$(subst javax/management,X65,$(subst javax/transaction,X66,$(subst jaxws/jaf_classes,X67,$(subst langtools/classes,X68,$(subst META-INF/services,X69,$(subst jdk/newdemoclasses,X70,$(subst javax/accessibility,X71,$(subst jaxws/jaxws_classes,X72,

View File

@@ -0,0 +1,72 @@
s|X01|com|g
s|X02|org|g
s|X03|sun|g
s|X04|java|g
s|X05|javax|g
s|X06|sun/io|g
s|X07|com/sun|g
s|X08|java/io|g
s|X09|org/omg|g
s|X10|org/w3c|g
s|X11|org/xml|g
s|X12|sun/awt|g
s|X13|sun/net|g
s|X14|sun/nio|g
s|X15|sun/rmi|g
s|X16|java/awt|g
s|X17|java/net|g
s|X18|java/nio|g
s|X19|java/rmi|g
s|X20|META-INF|g
s|X21|sun/font|g
s|X22|sun/misc|g
s|X23|sun/text|g
s|X24|sun/util|g
s|X25|java/lang|g
s|X26|java/math|g
s|X27|java/text|g
s|X28|java/util|g
s|X29|javax/jws|g
s|X30|javax/net|g
s|X31|javax/rmi|g
s|X32|javax/xml|g
s|X33|sun/corba|g
s|X34|sun/print|g
s|X35|sun/swing|g
s|X36|java/beans|g
s|X37|javax/lang|g
s|X38|sun/applet|g
s|X39|sun/java2d|g
s|X40|java/applet|g
s|X41|javax/print|g
s|X42|javax/sound|g
s|X43|javax/swing|g
s|X44|javax/tools|g
s|X45|jdk/classes|g
s|X46|org/relaxng|g
s|X47|sun/reflect|g
s|X48|javax/crypto|g
s|X49|javax/naming|g
s|X50|jaxp/classes|g
s|X51|sun/security|g
s|X52|corba/classes|g
s|X53|java/security|g
s|X54|javax/imageio|g
s|X55|jdk/btclasses|g
s|X56|javax/activity|g
s|X57|javax/security|g
s|X58|jdk/newclasses|g
s|X59|sun/instrument|g
s|X60|sun/management|g
s|X61|corba/btclasses|g
s|X62|jdk/democlasses|g
s|X63|javax/activation|g
s|X64|javax/annotation|g
s|X65|javax/management|g
s|X66|javax/transaction|g
s|X67|jaxws/jaf_classes|g
s|X68|langtools/classes|g
s|X69|META-INF/services|g
s|X70|jdk/newdemoclasses|g
s|X71|javax/accessibility|g
s|X72|jaxws/jaxws_classes|g

254
common/src/uncygdrive.c Normal file
View File

@@ -0,0 +1,254 @@
/*
* Copyright (c) 2011, 2012, 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.
*/
#include <Windows.h>
#include <io.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
/*
* Test if pos points to /cygdrive/_/ where _ can
* be any character.
*/
int is_cygdrive_here(int pos, char *in, int len)
{
// Length of /cygdrive/c/ is 12
if (pos+12 > len) return 0;
if (in[pos+11]=='/' &&
in[pos+9]=='/' &&
in[pos+8]=='e' &&
in[pos+7]=='v' &&
in[pos+6]=='i' &&
in[pos+5]=='r' &&
in[pos+4]=='d' &&
in[pos+3]=='g' &&
in[pos+2]=='y' &&
in[pos+1]=='c' &&
in[pos+0]=='/') {
return 1;
}
return 0;
}
/*
* Replace /cygdrive/_/ with _:/
* Works in place since drive letter is always
* shorter than /cygdrive/
*/
char *replace_cygdrive(char *in)
{
int len = strlen(in);
char *out = malloc(len+1);
int i,j;
if (len < 12) {
strcpy(out, in);
return out;
}
for (i = 0, j = 0; i<len;) {
if (is_cygdrive_here(i, in, len)) {
out[j++] = in[i+10];
out[j++] = ':';
i+=11;
} else {
out[j] = in[i];
i++;
j++;
}
}
out[j] = 0;
return out;
}
void append(char **b, size_t *bl, size_t *u, char *add, size_t addlen)
{
while ( (addlen+*u+1) > *bl) {
*bl *= 2;
*b = realloc(*b, *bl);
}
memcpy(*b+*u, add, addlen);
*u += addlen;
}
/*
* Creates a new string from in where the first occurance of sub is
* replaced by rep.
*/
char *replace_substring(char *in, char *sub, char *rep)
{
int in_len = strlen(in);
int sub_len = strlen(sub);
int rep_len = strlen(rep);
char *out = malloc(in_len - sub_len + rep_len + 1);
char *p;
if (!(p = strstr(in, sub))) {
// If sub isn't a substring of in, just return in.
return in;
}
// Copy characters from beginning of in to start of sub.
strncpy(out, in, p - in);
out[p - in] = '\0';
sprintf(out + (p - in), "%s%s", rep, p + sub_len);
return out;
}
char *files_to_delete[1024];
int num_files_to_delete = 0;
char *fix_at_file(char *in)
{
char *tmpdir;
char name[2048];
char *atname;
char *buffer;
size_t buflen=65536;
size_t used=0;
size_t len;
int rc;
FILE *atout;
FILE *atin;
char block[2048];
size_t blocklen;
char *fixed;
atin = fopen(in+1, "r");
if (atin == NULL) {
fprintf(stderr, "Could not read at file %s\n", in+1);
exit(-1);
}
tmpdir = getenv("TMP");
if (tmpdir == NULL) {
tmpdir = "c:/cygwin/tmp";
}
_snprintf(name, sizeof(name), "%s\\atfile_XXXXXX", tmpdir);
rc = _mktemp_s(name, strlen(name)+1);
if (rc) {
fprintf(stderr, "Could not create temporary file name for at file!\n");
exit(-1);
}
atout = fopen(name, "w");
if (atout == NULL) {
fprintf(stderr, "Could open temporary file for writing! %s\n", name);
exit(-1);
}
buffer = malloc(buflen);
while((blocklen = fread(block,1,sizeof(block),atin)) > 0) {
append(&buffer, &buflen, &used, block, blocklen);
}
buffer[used] = 0;
fixed = replace_cygdrive(buffer);
fwrite(fixed, strlen(fixed), 1, atout);
fclose(atin);
fclose(atout);
free(fixed);
free(buffer);
files_to_delete[num_files_to_delete] = malloc(strlen(name)+1);
strcpy(files_to_delete[num_files_to_delete], name);
num_files_to_delete++;
atname = malloc(strlen(name)+2);
atname[0] = '@';
strcpy(atname+1, name);
return atname;
}
int main(int argc, char **argv)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
unsigned short rc;
char *new_at_file;
char *old_at_file;
char *line;
int i;
DWORD exitCode;
if (argc<2) {
fprintf(stderr, "Usage: uncygdrive.exe /cygdrive/c/WINDOWS/notepad.exe /cygdrive/c/x/test.txt");
exit(0);
}
line = replace_cygdrive(strstr(GetCommandLine(), argv[1]));
for (i=1; i<argc; ++i) {
if (argv[i][0] == '@') {
// Found at-file! Fix it!
old_at_file = replace_cygdrive(argv[i]);
new_at_file = fix_at_file(old_at_file);
line = replace_substring(line, old_at_file, new_at_file);
}
}
if (getenv("DEBUG_UNCYGDRIVE") != NULL) {
fprintf(stderr, "uncygdrive >%s<\n", line);
}
ZeroMemory(&si,sizeof(si));
si.cb=sizeof(si);
ZeroMemory(&pi,sizeof(pi));
rc = CreateProcess(NULL,
line,
0,
0,
TRUE,
0,
0,
0,
&si,
&pi);
if(!rc)
{
//Could not start process;
fprintf(stderr, "Could not start process!\n");
exit(-1);
}
WaitForSingleObject(pi.hProcess,INFINITE);
GetExitCodeProcess(pi.hProcess,&exitCode);
if (getenv("DEBUG_UNCYGDRIVE") != NULL) {
for (i=0; i<num_files_to_delete; ++i) {
fprintf(stderr, "Not deleting temporary uncygdrive file %s\n",
files_to_delete[i]);
}
}
else {
for (i=0; i<num_files_to_delete; ++i) {
remove(files_to_delete[i]);
}
}
exit(exitCode);
}

View File

@@ -2,3 +2,4 @@
^dist/
/nbproject/private/
^.hgtip
.DS_Store

View File

@@ -128,3 +128,43 @@ cd0da00694fbce642db9be936d3e4909a71d911d jdk8-b03
60a68d688e24473cf84dedd1e60901a61ab82555 jdk8-b04
cc1b599b986a37cb57de4584c5e58169766ca535 jdk8-b05
45c43dde7ba7f176333a51a98f086275478836fa jdk8-b06
3d61f0856f349e2163bf98146465dab3b7437f63 jdk8-b07
0d52b1c87aa8fdea7fdc9c4126ea58f95ca6b351 jdk8-b08
a891732c1a83082177ff7a4cf1506068d9cc0a47 jdk8-b09
cda87f7fefcee3b89742a57ce5ad9b03a54c210d jdk8-b10
0199e4fef5cc2bd234c65b93220459ef7a3bb3b1 jdk8-b11
31d70911b712c6b4e580a3110363d5f044cfed7a jdk8-b12
5b9d9b839d3d7fe02347827221c97c6d242a6f96 jdk8-b13
e59c47de1ad8982ff3b0e843773a6902b36c2337 jdk8-b14
7da69e7175a7c7564ee6d0e52255cbb8a57ef577 jdk8-b15
82dc033975bb9b553b4ef97b6d483eda8de32e0f jdk8-b17
82dc033975bb9b553b4ef97b6d483eda8de32e0f jdk8-b16
312cf15d16577ef198b033d2a4cc0a52369b7343 jdk8-b18
e1366c5d84ef984095a332bcee70b3938232d07d jdk8-b19
51d8b6cb18c0978ecfa4f33e1537d35ee01b69fa jdk8-b20
f157fc2a71a38ce44007a6f18d5b011824dce705 jdk8-b21
a11d0062c445d5f36651c78650ab88aa594bcbff jdk8-b22
5218eb256658442b62b05295aafa5b5f35252972 jdk8-b23
b98f0e6dddf987df565029a1f58417fc1844c3f3 jdk8-b24
e45d6b406d5f91ff5256a5c82456ab1e7eb8becd jdk8-b25
79f709a099f40c08f76567fa6d813f9009a69826 jdk8-b26
4fffe75e4edd39a2517f10b743941bf94edb143d jdk8-b27
2082eb35d49a9c2aab90b8d4fd31cefb7a23b82e jdk8-b28
6117395d422682f89d228347e319fcaac7edc729 jdk8-b29
4605f8418bf562e78be79b25b6b8a5110281acae jdk8-b30
1954151dfae8f73db24e396380f7c02bdd47c486 jdk8-b31
5d820cb6b1afd75b619e7fd69e4f2b0eb1d5d6a1 jdk8-b32
1e2ac1ea3f6c32a62bf88f3fa330120c30db59cb jdk8-b33
e24c5cc8b0f7cc48374eef0f995838fb4823e0eb jdk8-b34
e3d735914edd0a621b16bb85417423f8e6af5d51 jdk8-b35
a5a61f259961a7f46b002e5cc50b4a9bf86927b6 jdk8-b36
83fac66442cf680bb59ec9e3a71cc4729322b595 jdk8-b37
b8cbfb31139f820e5e094ba71449e58159fbe22e jdk8-b38
785af00e2827990f149b32ec37f523dbca3efdd1 jdk8-b39
56d030e5035fdee5bba6cf318a06287fda5d67ec jdk8-b40
113f0d5f0a08aa0947b3edf783b603e7f042748a jdk8-b41
79cc42c9c71bbd6630ede681642e98f5e4a841fa jdk8-b42
cd879aff5d3cc1f58829aab3116880aa19525b78 jdk8-b43
439d9bf8e4ff204cc89c9974c1515a508b2cc6ff jdk8-b44
747dad9e9d37d244a5c765a1afe9194f7ddae118 jdk8-b45
30141e598d72a6146126cb86b034ed6d0bd191b3 jdk8-b46

View File

@@ -0,0 +1,46 @@
#
# Copyright (c) 1999, 2010, 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.
#
#
# Makefile to specify compiler flags for programs and libraries
# targeted to BSD. Should not contain any rules.
#
# Warning: the following variables are overriden by Defs.gmk. Set
# values will be silently ignored:
# CFLAGS (set $(OTHER_CFLAGS) instead)
# CPPFLAGS (set $(OTHER_CPPFLAGS) instead)
# CXXFLAGS (set $(OTHER_CXXFLAGS) instead)
# LDFLAGS (set $(OTHER_LDFAGS) instead)
# LDLIBS (set $(EXTRA_LIBS) instead)
# LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
# Get shared JDK settings
include $(BUILDDIR)/common/shared/Defs.gmk
ifndef PLATFORM_SRC
PLATFORM_SRC = $(TOPDIR)/src/solaris
endif # PLATFORM_SRC

View File

@@ -149,8 +149,8 @@ strip_prop_options_clean:
# Strip the properties files
strip_all_props: $(STRIPPROPERTIES_JARFILE) $(STRIP_PROP_options)
@if [ -s $(STRIP_PROP_options) ] ; then \
$(ECHO) "$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) -optionsfile $(STRIP_PROP_options)" ; \
$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) -optionsfile $(STRIP_PROP_options) ; \
$(ECHO) "$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) @$(STRIP_PROP_options)" ; \
$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) @$(STRIP_PROP_options) ; \
fi
@$(java-vm-cleanup)

View File

@@ -0,0 +1,131 @@
#
# Copyright (c) 2005, 2010, 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.
#
#
# Definitions for Bsd.
#
# Default for COMPILER_WARNINGS_FATAL on Bsd (C & C++ compiler warnings)
ifndef COMPILER_WARNINGS_FATAL
COMPILER_WARNINGS_FATAL=false
endif
# Bsd should use parallel compilation for best build times
ifndef COMPILE_APPROACH
COMPILE_APPROACH = parallel
endif
# Indication that we are doing an incremental build.
# This may trigger the creation of make depend files.
ifndef INCREMENTAL_BUILD
INCREMENTAL_BUILD = false
endif
# FullPath just makes sure it never ends with a / and no duplicates
define FullPath
$(shell cd $1 2> $(DEV_NULL) && pwd)
endef
# OptFullPath: Absolute path name of a dir that might not initially exist.
define OptFullPath
$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
endef
# Location on system where jdk installs might be
USRJDKINSTANCES_PATH =$(PACKAGE_PATH)
# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
else
UNIXCOMMAND_PATH = /bin/
endif
# USRBIN_PATH: path to where the most common Unix commands are.
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
else
USRBIN_PATH = /usr/bin/
endif
# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
ifneq "$(origin ALT_UNIXCCS_PATH)" "undefined"
UNIXCCS_PATH :=$(call PrefixPath,$(ALT_UNIXCCS_PATH))
else
UNIXCCS_PATH = /usr/ccs/bin/
endif
# SLASH_JAVA: location of all network accessable files
ifdef ALT_SLASH_JAVA
SLASH_JAVA :=$(ALT_SLASH_JAVA)
else
SLASH_JAVA := $(call DirExists,/java,/java,/NOT-SET)
endif
# JDK_DEVTOOLS_DIR: common path for all the java devtools
ifdef ALT_JDK_DEVTOOLS_DIR
JDK_DEVTOOLS_DIR =$(ALT_JDK_DEVTOOLS_DIR)
else
JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
endif
# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
else
DEVTOOLS_PATH =$(PACKAGE_PATH)/bin/
endif
# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
# _BOOTDIR2: Second choice
ifndef ALT_BOOTDIR
_BOOTDIR1 =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
_BOOTDIR2 =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
endif
# Import JDK images allow for partial builds, components not built are
# imported (or copied from) these import areas when needed.
# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for
# multiple platforms, e.g. windows-i586, solaris-sparc, bsd-586, etc.
ifdef ALT_BUILD_JDK_IMPORT_PATH
BUILD_JDK_IMPORT_PATH :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
else
BUILD_JDK_IMPORT_PATH = $(PROMOTED_BUILD_BINARIES)
endif
BUILD_JDK_IMPORT_PATH:=$(call AltCheckValue,BUILD_JDK_IMPORT_PATH)
# JDK_IMPORT_PATH: location of JDK install tree (this version) to import
ifdef ALT_JDK_IMPORT_PATH
JDK_IMPORT_PATH :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
else
JDK_IMPORT_PATH = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
endif
JDK_IMPORT_PATH:=$(call AltCheckValue,JDK_IMPORT_PATH)

View File

@@ -53,6 +53,13 @@ ifeq ($(PLATFORM),linux)
UTILS_DEVTOOL_PATH=$(USRBIN_PATH)
endif
ifeq ($(PLATFORM),bsd)
UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
UTILS_USR_BIN_PATH=$(USRBIN_PATH)
UTILS_CCS_BIN_PATH=$(USRBIN_PATH)
UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
endif
ifeq ($(PLATFORM),solaris)
UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH)
@@ -198,3 +205,34 @@ ifeq ($(PLATFORM),solaris)
ECHO = /usr/bin/echo
endif
# BSD specific
ifeq ($(PLATFORM),bsd)
BASENAME = $(UTILS_USR_BIN_PATH)basename
EGREP = $(UTILS_USR_BIN_PATH)egrep
EXPR = $(UTILS_COMMAND_PATH)expr
FMT = $(UTILS_USR_BIN_PATH)fmt
GREP = $(UTILS_USR_BIN_PATH)grep
GUNZIP = $(UTILS_USR_BIN_PATH)gunzip
ID = $(UTILS_USR_BIN_PATH)id
MSGFMT = $(UTILS_DEVTOOL_PATH)msgfmt
SED = $(UTILS_USR_BIN_PATH)sed
SORT = $(UTILS_USR_BIN_PATH)sort
TEST = $(UTILS_COMMAND_PATH)test
TOUCH = $(UTILS_USR_BIN_PATH)touch
TRUE = $(UTILS_USR_BIN_PATH)true
UNAME = $(UTILS_USR_BIN_PATH)uname
# BSD OS_VENDOR specific
ifeq ($(OS_VENDOR), Apple)
NAWK = $(UTILS_USR_BIN_PATH)awk
UNZIPSFX = $(UTILS_USR_BIN_PATH)unzipsfx
ZIPEXE = $(UTILS_USR_BIN_PATH)zip
else
UNZIP = $(UTILS_DEVTOOL_PATH)unzip
endif
ifeq ($(OS_VENDOR), OpenBSD)
NAWK = $(UTILS_USR_BIN_PATH)awk
else
CPIO = $(UTILS_USR_BIN_PATH)cpio
TAR = $(UTILS_USR_BIN_PATH)tar
endif
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1997, 2012, 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
@@ -143,7 +143,7 @@ ifeq ($(SYSTEM_UNAME), SunOS)
REQUIRED_FREE_SPACE=1040000
endif
# How much RAM does this machine have:
MB_OF_MEMORY=$(shell /etc/prtconf | fgrep 'Memory size:' | expand | cut -d' ' -f3)
MB_OF_MEMORY:=$(shell /usr/sbin/prtconf 2>/dev/null | fgrep 'Memory size:' | expand | cut -d' ' -f3)
endif
# Platform settings specific to Linux
@@ -231,6 +231,99 @@ ifeq ($(SYSTEM_UNAME), Linux)
MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2)
endif
ifeq ($(SYSTEM_UNAME), FreeBSD)
PLATFORM = bsd
OS_NAME = freebsd
OS_VENDOR = FreeBSD
REQUIRED_OS_VERSION = 6.0
endif
ifeq ($(SYSTEM_UNAME), Darwin)
PLATFORM = bsd
OS_NAME = darwin
OS_VENDOR = Apple
REQUIRED_OS_VERSION = 8.0
endif
ifeq ($(SYSTEM_UNAME), NetBSD)
PLATFORM = bsd
OS_NAME = netbsd
OS_VENDOR = NetBSD
REQUIRED_OS_VERSION = 3.0
endif
ifeq ($(SYSTEM_UNAME), OpenBSD)
PLATFORM = bsd
OS_NAME = openbsd
OS_VENDOR = OpenBSD
REQUIRED_OS_VERSION = 4.9
endif
# Platform settings specific to BSD
ifeq ($(PLATFORM), bsd)
OS_VERSION := $(shell uname -r)
# Arch and OS name/version
mach := $(shell uname -m)
archExpr = case "$(mach)" in \
i[3-9]86) \
echo i586 \
;; \
sparc64) \
echo sparcv9 \
;; \
sparc*) \
echo sparc \
;; \
x86_64) \
echo x86_64 \
;; \
"Power Macintosh") \
echo ppc \
;; \
*) \
echo $(mach) \
;; \
esac
ARCH := $(shell $(archExpr) )
ARCH_FAMILY := $(ARCH)
# Darwin builds are currently universal but only include 64-bit
#
# ifeq ($(SYSTEM_UNAME), Darwin)
# ifneq ($(ARCH), ppc)
# ARCH=universal
# endif
# endif
# i586, sparc, and ppc are 32 bit, amd64 and sparc64 are 64
ifneq (,$(findstring $(ARCH), i586 sparc ppc universal))
ARCH_DATA_MODEL=32
else
ARCH_DATA_MODEL=64
endif
ifeq ($(ARCH), i586)
LIBARCH = i386
else
LIBARCH = $(ARCH)
endif
# Value of Java os.arch property
ARCHPROP = $(LIBARCH)
# Suffix for file bundles used in previous release
BUNDLE_FILE_SUFFIX=.tar.gz
# Minimum disk space needed as determined by running 'du -sk' on
# a fully built workspace.
REQUIRED_FREE_SPACE=1500000
# How much RAM does this machine have:
ifeq ($(OS_VENDOR), OpenBSD)
MB_OF_MEMORY=$(shell sysctl -n hw.physmem | awk '{print int($$NF / 1048576); }' )
else
MB_OF_MEMORY=$(shell (sysctl -n hw.physmem64 2> /dev/null || sysctl -n hw.physmem) | awk '{print int($$NF / 1048576); }' )
endif
endif
# Windows with and without CYGWIN will be slightly different
ifeq ($(SYSTEM_UNAME), Windows_NT)
PLATFORM = windows

View File

@@ -25,7 +25,7 @@
# Properties for jprt
# The release to build
# Locked down to jdk8
jprt.tools.default.release=jdk8
# The different build flavors we want, we override here so we just get these 2

View File

@@ -1,280 +0,0 @@
/*
* Copyright (c) 2001, 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.
*/
package build.tools.stripproperties;
import java.io.BufferedInputStream;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;
/**
* Reads a properties file from standard input and writes an equivalent
* properties file without comments to standard output.
*/
public class StripProperties {
private static void error(String msg, Exception e) {
System.err.println("ERROR: stripproperties: " + msg);
if ( e != null ) {
System.err.println("EXCEPTION: " + e.toString());
e.printStackTrace();
}
}
private static List<String> parseOptions(String args[]) {
List<String> files = new ArrayList<String>();
for ( int i = 0; i < args.length ; i++ ) {
if ( "-optionsfile".equals(args[i]) && i+1 < args.length ) {
String filename = args[++i];
FileInputStream finput = null;
byte contents[] = null;
try {
finput = new FileInputStream(filename);
int byteCount = finput.available();
if ( byteCount <= 0 ) {
error("The -optionsfile file is empty", null);
files = null;
} else {
contents = new byte[byteCount];
int bytesRead = finput.read(contents);
if ( byteCount != bytesRead ) {
error("Cannot read all of -optionsfile file", null);
files = null;
}
}
} catch ( IOException e ) {
error("cannot open " + filename, e);
files = null;
}
if ( finput != null ) {
try {
finput.close();
} catch ( IOException e ) {
files = null;
error("cannot close " + filename, e);
}
}
if ( files != null && contents != null ) {
String tokens[] = (new String(contents)).split("\\s+");
if ( tokens.length > 0 ) {
List<String> ofiles = parseOptions(tokens);
if ( ofiles != null ) {
files.addAll(ofiles);
} else {
error("No files found in file", null);
files = null;
}
}
}
if ( files == null ) {
break;
}
} else {
files.add(args[i]);
}
}
return files;
}
private static boolean stripFiles(List<String> files) {
boolean ok = true;
for ( String file : files ) {
Properties prop = new Properties();
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(file));
prop.load(in);
} catch ( FileNotFoundException e ) {
error("Cannot access file " + file, e);
ok = false;
} catch ( IOException e ) {
error("IO exception processing file " + file, e);
ok = false;
}
if ( in != null ) {
try {
in.close();
} catch ( IOException e ) {
error("IO exception closing file " + file, e);
ok = false;
}
}
if ( !ok ) {
break;
}
OutputStream out = null;
try {
out = new FileOutputStream(file);
storeProperties(prop, out);
out.flush();
} catch ( IOException e ) {
error("IO exception processing file " + file, e);
ok = false;
}
if ( out != null ) {
try {
out.close();
} catch ( IOException e ) {
error("IO exception closing file " + file, e);
ok = false;
}
}
if ( !ok ) {
break;
}
}
return ok;
}
/**
* Strip the properties filenames supplied, replacing their contents.
* @param args Names of properties files to process and replace contents
*/
public static void main(String args[]) {
List<String> files = parseOptions(args);
if ( files == null || !stripFiles(files) ) {
System.exit(1);
}
}
// --- code below here is adapted from java.util.Properties ---
private static final String specialSaveChars = "=: \t\r\n\f#!";
/*
* Converts unicodes to encoded &#92;uxxxx
* and writes out any of the characters in specialSaveChars
* with a preceding slash
*/
private static String saveConvert(String theString, boolean escapeSpace) {
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len*2);
for(int x=0; x<len; x++) {
char aChar = theString.charAt(x);
switch(aChar) {
case ' ':
if (x == 0 || escapeSpace) {
outBuffer.append('\\');
}
outBuffer.append(' ');
break;
case '\\':
outBuffer.append('\\');
outBuffer.append('\\');
break;
case '\t':
outBuffer.append('\\');
outBuffer.append('t');
break;
case '\n':
outBuffer.append('\\');
outBuffer.append('n');
break;
case '\r':
outBuffer.append('\\');
outBuffer.append('r');
break;
case '\f':
outBuffer.append('\\');
outBuffer.append('f');
break;
default:
if ((aChar < 0x0020) || (aChar == 0x007e) || (aChar > 0x00ff)) {
outBuffer.append('\\');
outBuffer.append('u');
outBuffer.append(toHex((aChar >> 12) & 0xF));
outBuffer.append(toHex((aChar >> 8) & 0xF));
outBuffer.append(toHex((aChar >> 4) & 0xF));
outBuffer.append(toHex( aChar & 0xF));
} else {
if (specialSaveChars.indexOf(aChar) != -1) {
outBuffer.append('\\');
}
outBuffer.append(aChar);
}
}
}
return outBuffer.toString();
}
/**
* Writes the content of <code>properties</code> to <code>out</code>.
* The format is that of Properties.store with the following modifications:
* <ul>
* <li>No header or date is written
* <li>Latin-1 characters are written as single bytes, not escape sequences
* <li>Line breaks are indicated by a single \n independent of platform
* <ul>
*/
private static void storeProperties(Properties properties, OutputStream out)
throws IOException {
BufferedWriter awriter;
awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1"));
for (Enumeration e = properties.keys(); e.hasMoreElements();) {
String key = (String)e.nextElement();
String val = (String)properties.get(key);
key = saveConvert(key, true);
/* No need to escape embedded and trailing spaces for value, hence
* pass false to flag.
*/
val = saveConvert(val, false);
writeln(awriter, key + "=" + val);
}
awriter.flush();
}
private static void writeln(BufferedWriter bw, String s) throws IOException {
bw.write(s);
bw.write("\n");
}
/**
* Convert a nibble to a hex character
* @param nibble the nibble to convert.
*/
private static char toHex(int nibble) {
return hexDigit[(nibble & 0xF)];
}
/** A table of hex digits */
private static final char[] hexDigit = {
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
};
}

View File

@@ -0,0 +1,288 @@
/*
* Copyright (c) 2001, 2011, 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.
*/
package build.tools.stripproperties;
import java.io.BufferedInputStream;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
/**
* Reads a properties file from standard input and writes an equivalent
* properties file without comments to standard output.
*/
public class StripPropertiesCorba {
private static void error(String msg, Exception e) {
System.err.println("ERROR: stripproperties: " + msg);
if ( e != null ) {
System.err.println("EXCEPTION: " + e.toString());
e.printStackTrace();
}
}
private static List<String> infiles = new ArrayList<String>();
private static List<String> outfiles = new ArrayList<String>();
private static boolean parseOptions(String args[]) {
boolean ok = true;
for ( int i = 0; i < args.length ; i++ ) {
if ( "-clean".equals(args[i]) && i+2 < args.length ) {
infiles.add(args[++i]);
outfiles.add(args[++i]);
} else if ( args[i].charAt(0)=='@') {
String filename = args[i].substring(1);
FileInputStream finput = null;
byte contents[] = null;
try {
finput = new FileInputStream(filename);
int byteCount = finput.available();
if ( byteCount <= 0 ) {
error("The @file is empty", null);
ok = false;
} else {
contents = new byte[byteCount];
int bytesRead = finput.read(contents);
if ( byteCount != bytesRead ) {
error("Cannot read all of @file", null);
ok = false;
}
}
} catch ( IOException e ) {
error("cannot open " + filename, e);
ok = false;
}
if ( finput != null ) {
try {
finput.close();
} catch ( IOException e ) {
ok = false;
error("cannot close " + filename, e);
}
}
if ( ok && contents != null ) {
String tokens[] = (new String(contents)).split("\\s+");
if ( tokens.length > 0 ) {
ok = parseOptions(tokens);
}
}
if ( !ok ) {
break;
}
} else {
infiles.add(args[i]);
outfiles.add(args[i]);
}
}
return ok;
}
private static boolean stripFiles(List<String> infiles, List<String> outfiles) {
boolean ok = true;
Iterator<String> inIter = infiles.iterator();
Iterator<String> outIter = outfiles.iterator();
for (; inIter.hasNext(); ) {
String infile = inIter.next();
String outfile = outIter.next();
Properties prop = new Properties();
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(infile));
prop.load(in);
} catch ( FileNotFoundException e ) {
error("Cannot access file " + infile, e);
ok = false;
} catch ( IOException e ) {
error("IO exception processing file " + infile, e);
ok = false;
}
if ( in != null ) {
try {
in.close();
} catch ( IOException e ) {
error("IO exception closing file " + infile, e);
ok = false;
}
}
if ( !ok ) {
break;
}
OutputStream out = null;
try {
out = new FileOutputStream(outfile);
storeProperties(prop, out);
out.flush();
} catch ( IOException e ) {
error("IO exception processing file " + outfile, e);
ok = false;
}
if ( out != null ) {
try {
out.close();
} catch ( IOException e ) {
error("IO exception closing file " + outfile, e);
ok = false;
}
}
if ( !ok ) {
break;
}
}
return ok;
}
/**
* Strip the properties filenames supplied, replacing their contents.
* @param args Names of properties files to process and replace contents
*/
public static void main(String args[]) {
boolean ok = parseOptions(args);
if ( !ok || !stripFiles(infiles, outfiles) ) {
System.exit(1);
}
}
// --- code below here is adapted from java.util.Properties ---
private static final String specialSaveChars = "=: \t\r\n\f#!";
/*
* Converts unicodes to encoded &#92;uxxxx
* and writes out any of the characters in specialSaveChars
* with a preceding slash
*/
private static String saveConvert(String theString, boolean escapeSpace) {
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len*2);
for(int x=0; x<len; x++) {
char aChar = theString.charAt(x);
switch(aChar) {
case ' ':
if (x == 0 || escapeSpace) {
outBuffer.append('\\');
}
outBuffer.append(' ');
break;
case '\\':
outBuffer.append('\\');
outBuffer.append('\\');
break;
case '\t':
outBuffer.append('\\');
outBuffer.append('t');
break;
case '\n':
outBuffer.append('\\');
outBuffer.append('n');
break;
case '\r':
outBuffer.append('\\');
outBuffer.append('r');
break;
case '\f':
outBuffer.append('\\');
outBuffer.append('f');
break;
default:
if ((aChar < 0x0020) || (aChar == 0x007e) || (aChar > 0x00ff)) {
outBuffer.append('\\');
outBuffer.append('u');
outBuffer.append(toHex((aChar >> 12) & 0xF));
outBuffer.append(toHex((aChar >> 8) & 0xF));
outBuffer.append(toHex((aChar >> 4) & 0xF));
outBuffer.append(toHex( aChar & 0xF));
} else {
if (specialSaveChars.indexOf(aChar) != -1) {
outBuffer.append('\\');
}
outBuffer.append(aChar);
}
}
}
return outBuffer.toString();
}
/**
* Writes the content of <code>properties</code> to <code>out</code>.
* The format is that of Properties.store with the following modifications:
* <ul>
* <li>No header or date is written
* <li>Latin-1 characters are written as single bytes, not escape sequences
* <li>Line breaks are indicated by a single \n independent of platform
* <ul>
*/
private static void storeProperties(Properties properties, OutputStream out)
throws IOException {
BufferedWriter awriter;
awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1"));
for (Enumeration<Object> e = properties.keys(); e.hasMoreElements();) {
String key = (String)e.nextElement();
String val = (String)properties.get(key);
key = saveConvert(key, true);
/* No need to escape embedded and trailing spaces for value, hence
* pass false to flag.
*/
val = saveConvert(val, false);
writeln(awriter, key + "=" + val);
}
awriter.flush();
}
private static void writeln(BufferedWriter bw, String s) throws IOException {
bw.write(s);
bw.write("\n");
}
/**
* Convert a nibble to a hex character
* @param nibble the nibble to convert.
*/
private static char toHex(int nibble) {
return hexDigit[(nibble & 0xF)];
}
/** A table of hex digits */
private static final char[] hexDigit = {
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
};
}

View File

@@ -34,7 +34,7 @@ PROGRAM = stripproperties
include $(BUILDDIR)/common/Defs.gmk
BUILDTOOL_SOURCE_ROOT = $(BUILDDIR)/tools/src
BUILDTOOL_MAIN = $(PKGDIR)/StripProperties.java
BUILDTOOL_MAIN = $(PKGDIR)/StripPropertiesCorba.java
#
# Build tool jar rules.

259
corba/makefiles/Makefile Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2011, 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
@@ -82,6 +82,6 @@ public class DynAnyFactoryImpl
private String[] __ids = { "IDL:omg.org/DynamicAny/DynAnyFactory:1.0" };
public String[] _ids() {
return __ids;
return (String[]) __ids.clone();
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2011, 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
@@ -195,6 +195,6 @@ abstract class DynAnyImpl extends org.omg.CORBA.LocalObject implements DynAny
private String[] __ids = { "IDL:omg.org/DynamicAny/DynAny:1.0" };
public String[] _ids() {
return __ids;
return (String[]) __ids.clone();
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2011, 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
@@ -423,6 +423,13 @@ public abstract class CDRInputStream
impl.setByteBufferWithInfo(bbwi);
}
/**
* return true if our ByteBuffer is sharing/equal to bb
*/
protected final boolean isSharing(ByteBuffer bb) {
return (getByteBuffer() == bb);
}
public final int getBufferLength() {
return impl.getBufferLength();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2011, 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
@@ -2412,7 +2412,6 @@ public class CDRInputStream_1_0 extends CDRInputStreamBase
if (bbwi != null && getByteBuffer() != null)
{
int bbHash = System.identityHashCode(bbwi.byteBuffer);
MessageMediator messageMediator = parent.getMessageMediator();
if (messageMediator != null)
{
@@ -2420,13 +2419,7 @@ public class CDRInputStream_1_0 extends CDRInputStreamBase
(CDROutputObject)messageMediator.getOutputObject();
if (outputObj != null)
{
ByteBuffer outputBb = outputObj.getByteBuffer();
int oBbHash = 0;
if (outputBb != null)
{
oBbHash = System.identityHashCode(outputBb);
if (bbHash == oBbHash) // shared?
if (outputObj.isSharing(getByteBuffer()))
{
// Set OutputStream's ByteBuffer and bbwi to null
// so its ByteBuffer cannot be released to the pool
@@ -2435,7 +2428,6 @@ public class CDRInputStream_1_0 extends CDRInputStreamBase
}
}
}
}
// release this stream's ByteBuffer to the pool
ByteBufferPool byteBufferPool = orb.getByteBufferPool();

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2011, 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
@@ -357,6 +357,13 @@ public abstract class CDROutputStream
impl.setByteBuffer(byteBuffer);
}
/**
* return true if our ByteBuffer is sharing/equal to bb
*/
protected final boolean isSharing(ByteBuffer bb) {
return (getByteBuffer() == bb);
}
public final boolean isLittleEndian() {
return impl.isLittleEndian();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2011, 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
@@ -1902,7 +1902,6 @@ public class CDROutputStream_1_0 extends CDROutputStreamBase
if (getByteBufferWithInfo() != null && getByteBuffer() != null)
{
int bbHash = System.identityHashCode(bbwi.byteBuffer);
MessageMediator messageMediator = parent.getMessageMediator();
if (messageMediator != null)
{
@@ -1910,13 +1909,7 @@ public class CDROutputStream_1_0 extends CDROutputStreamBase
(CDRInputObject)messageMediator.getInputObject();
if (inputObj != null)
{
ByteBuffer inputBb = inputObj.getByteBuffer();
int iBbHash = 0;
if (inputBb != null)
{
iBbHash = System.identityHashCode(inputBb);
if (bbHash == iBbHash) // shared?
if (inputObj.isSharing(getByteBuffer()))
{
// Set InputStream's ByteBuffer and bbwi to null
// so its ByteBuffer cannot be released to the pool
@@ -1925,7 +1918,6 @@ public class CDROutputStream_1_0 extends CDROutputStreamBase
}
}
}
}
// release this stream's ByteBuffer to the pool
ByteBufferPool byteBufferPool = orb.getByteBufferPool();

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2012, 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
@@ -22,7 +22,6 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.corba.se.impl.encoding;
import java.util.Hashtable;
@@ -32,7 +31,8 @@ import com.sun.org.omg.SendingContext.CodeBaseHelper;
import com.sun.org.omg.SendingContext._CodeBaseImplBase;
import com.sun.org.omg.SendingContext._CodeBaseStub;
import com.sun.corba.se.spi.transport.CorbaConnection;
import com.sun.corba.se.spi.ior.IOR;
import com.sun.corba.se.spi.orb.ORB;
/**
* Provides the reading side with a per connection cache of
* info obtained via calls to the remote CodeBase.
@@ -51,14 +51,24 @@ import com.sun.corba.se.spi.transport.CorbaConnection;
*
* Needs cache management.
*/
// REVISIT: revert to package protected after framework merge.
public class CachedCodeBase extends _CodeBaseImplBase
{
private Hashtable implementations, fvds, bases;
private CodeBase delegate;
private volatile CodeBase delegate;
private CorbaConnection conn;
private static Hashtable iorToCodeBaseObjMap = new Hashtable();
private static Object iorMapLock = new Object();
private static Hashtable<IOR,CodeBase> iorMap = new Hashtable<>();
public static synchronized void cleanCache( ORB orb ) {
synchronized (iorMapLock) {
for (IOR ior : iorMap.keySet()) {
if (ior.getORB() == orb) {
iorMap.remove(ior);
}
}
}
}
public CachedCodeBase(CorbaConnection connection) {
conn = connection;
@@ -68,7 +78,7 @@ public class CachedCodeBase extends _CodeBaseImplBase
return null;
}
public String implementation (String repId) {
public synchronized String implementation (String repId) {
String urlResult = null;
if (implementations == null)
@@ -86,7 +96,7 @@ public class CachedCodeBase extends _CodeBaseImplBase
return urlResult;
}
public String[] implementations (String[] repIds) {
public synchronized String[] implementations (String[] repIds) {
String[] urlResults = new String[repIds.length];
for (int i = 0; i < urlResults.length; i++)
@@ -95,7 +105,7 @@ public class CachedCodeBase extends _CodeBaseImplBase
return urlResults;
}
public FullValueDescription meta (String repId) {
public synchronized FullValueDescription meta (String repId) {
FullValueDescription result = null;
if (fvds == null)
@@ -113,7 +123,7 @@ public class CachedCodeBase extends _CodeBaseImplBase
return result;
}
public FullValueDescription[] metas (String[] repIds) {
public synchronized FullValueDescription[] metas (String[] repIds) {
FullValueDescription[] results
= new FullValueDescription[repIds.length];
@@ -123,7 +133,7 @@ public class CachedCodeBase extends _CodeBaseImplBase
return results;
}
public String[] bases (String repId) {
public synchronized String[] bases (String repId) {
String[] results = null;
@@ -145,7 +155,7 @@ public class CachedCodeBase extends _CodeBaseImplBase
// Ensures that we've used the connection's IOR to create
// a valid CodeBase delegate. If this returns false, then
// it is not valid to access the delegate.
private boolean connectedCodeBase() {
private synchronized boolean connectedCodeBase() {
if (delegate != null)
return true;
@@ -165,7 +175,7 @@ public class CachedCodeBase extends _CodeBaseImplBase
return false;
}
synchronized(this) {
synchronized(iorMapLock) {
// Recheck the condition to make sure another
// thread didn't already do this while we waited
@@ -173,7 +183,8 @@ public class CachedCodeBase extends _CodeBaseImplBase
return true;
// Do we have a reference initialized by another connection?
delegate = (CodeBase)CachedCodeBase.iorToCodeBaseObjMap.get(conn.getCodeBaseIOR());
delegate = CachedCodeBase.iorMap.get(conn.getCodeBaseIOR());
if (delegate != null)
return true;
@@ -181,8 +192,7 @@ public class CachedCodeBase extends _CodeBaseImplBase
delegate = CodeBaseHelper.narrow(getObjectFromIOR());
// Save it for the benefit of other connections
CachedCodeBase.iorToCodeBaseObjMap.put(conn.getCodeBaseIOR(),
delegate);
CachedCodeBase.iorMap.put(conn.getCodeBaseIOR(), delegate);
}
// It's now safe to use the delegate

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2012, 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,7 +217,7 @@ public final class ClientRequestInfoImpl
// ClientRequestInfo validity table (see ptc/00-08-06 table 21-1).
// Note: These must be in the same order as specified in contants.
protected static final boolean validCall[][] = {
private static final boolean validCall[][] = {
// LEGEND:
// s_req = send_request r_rep = receive_reply
// s_pol = send_poll r_exc = receive_exception

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2012, 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
@@ -178,6 +178,21 @@ public class PIHandlerImpl implements PIHandler
}
};
public void close() {
orb = null;
wrapper = null;
orbutilWrapper = null;
omgWrapper = null;
codecFactory = null;
arguments = null;
interceptorList = null;
interceptorInvoker = null;
current = null;
policyFactoryTable = null;
threadLocalClientRequestInfoStack = null;
threadLocalServerRequestInfoStack = null;
}
// Class to contain all ThreadLocal data for ClientRequestInfo
// maintenance.
//

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, 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
@@ -69,6 +69,9 @@ public class PINoOpHandlerImpl implements PIHandler
public PINoOpHandlerImpl( ) {
}
public void close() {
}
public void initialize() {
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2012, 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
@@ -195,7 +195,7 @@ public final class ServerRequestInfoImpl
// ServerRequestInfo validity table (see ptc/00-08-06 table 21-2).
// Note: These must be in the same order as specified in contants.
protected static final boolean validCall[][] = {
private static final boolean validCall[][] = {
// LEGEND:
// r_rsc = receive_request_service_contexts
// r_req = receive_request

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2011, 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
@@ -2243,6 +2243,10 @@ public class IIOPInputStream
}
try {
Class fieldCl = fields[i].getClazz();
if (objectValue != null && !fieldCl.isInstance(objectValue)) {
throw new IllegalArgumentException();
}
bridge.putObject( o, fields[i].getFieldID(), objectValue ) ;
// reflective code: fields[i].getField().set( o, objectValue ) ;
} catch (IllegalArgumentException e) {
@@ -2553,6 +2557,10 @@ public class IIOPInputStream
{
try {
Field fld = c.getDeclaredField( fieldName ) ;
Class fieldCl = fld.getType();
if(v != null && !fieldCl.isInstance(v)) {
throw new Exception();
}
long key = bridge.objectFieldOffset( fld ) ;
bridge.putObject( o, key, v ) ;
} catch (Exception e) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2012, 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
@@ -130,10 +130,23 @@ public class Util implements javax.rmi.CORBA.UtilDelegate
private UtilSystemException utilWrapper = UtilSystemException.get(
CORBALogDomains.RPC_ENCODING);
public static Util instance = null;
private static Util instance = null;
public Util() {
instance = this;
setInstance(this);
}
private static void setInstance( Util util ) {
assert instance == null : "Instance already defined";
instance = util;
}
public static Util getInstance() {
return instance;
}
public static boolean isInstanceDefined() {
return instance != null;
}
// Used by TOAFactory.shutdown to unexport all targets for this

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, 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
@@ -44,4 +44,8 @@ public class MonitoringManagerFactoryImpl implements MonitoringManagerFactory {
}
return m;
}
public synchronized void remove(String nameOfTheRoot) {
monitoringManagerTable.remove(nameOfTheRoot);
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
package com.sun.corba.se.impl.monitoring;
import com.sun.corba.se.spi.monitoring.MonitoringManager;
import com.sun.corba.se.spi.monitoring.MonitoringManagerFactory;
import com.sun.corba.se.spi.monitoring.MonitoredObject;
import com.sun.corba.se.spi.monitoring.MonitoredObjectFactory;
import com.sun.corba.se.spi.monitoring.MonitoringFactories;
@@ -47,4 +48,10 @@ public class MonitoringManagerImpl implements MonitoringManager {
public MonitoredObject getRootMonitoredObject() {
return rootMonitoredObject;
}
public void close() {
MonitoringManagerFactory f =
MonitoringFactories.getMonitoringManagerFactory();
f.remove(rootMonitoredObject.getName());
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2012, 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
@@ -93,7 +93,7 @@ public abstract class POAPolicyMediatorBase_R extends POAPolicyMediatorBase {
activeObjectMap.putServant( servant, entry ) ;
if (Util.instance != null) {
if (Util.isInstanceDefined()) {
POAManagerImpl pm = (POAManagerImpl)poa.the_POAManager() ;
POAFactory factory = pm.getFactory() ;
factory.registerPOAForServant(poa, servant);
@@ -129,7 +129,7 @@ public abstract class POAPolicyMediatorBase_R extends POAPolicyMediatorBase {
activeObjectMap.remove(key);
if (Util.instance != null) {
if (Util.isInstanceDefined()) {
POAManagerImpl pm = (POAManagerImpl)poa.the_POAManager() ;
POAFactory factory = pm.getFactory() ;
factory.unregisterPOAForServant(poa, s);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -78,8 +78,8 @@ public class TOAFactory implements ObjectAdapterFactory
public void shutdown( boolean waitForCompletion )
{
if (Util.instance != null) {
Util.instance.unregisterTargetsForORB(orb);
if (Util.isInstanceDefined()) {
Util.getInstance().unregisterTargetsForORB(orb);
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,8 @@ import java.lang.reflect.Field ;
import java.lang.reflect.Modifier;
import java.lang.reflect.InvocationTargetException;
import java.util.Set;
import java.util.HashSet;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Properties;
@@ -140,6 +142,7 @@ import com.sun.corba.se.impl.corba.AnyImpl;
import com.sun.corba.se.impl.corba.RequestImpl;
import com.sun.corba.se.impl.dynamicany.DynAnyFactoryImpl;
import com.sun.corba.se.impl.encoding.EncapsOutputStream;
import com.sun.corba.se.impl.encoding.CachedCodeBase;
import com.sun.corba.se.impl.interceptors.PIHandlerImpl;
import com.sun.corba.se.impl.interceptors.PINoOpHandlerImpl;
import com.sun.corba.se.impl.ior.TaggedComponentFactoryFinderImpl;
@@ -185,6 +188,7 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
private java.lang.Object runObj = new java.lang.Object();
private java.lang.Object shutdownObj = new java.lang.Object();
private java.lang.Object waitForCompletionObj = new java.lang.Object();
private static final byte STATUS_OPERATING = 1;
private static final byte STATUS_SHUTTING_DOWN = 2;
private static final byte STATUS_SHUTDOWN = 3;
@@ -193,6 +197,7 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
// XXX Should we move invocation tracking to the first level server dispatcher?
private java.lang.Object invocationObj = new java.lang.Object();
private int numInvocations = 0;
// thread local variable to store a boolean to detect deadlock in
// ORB.shutdown(true).
@@ -220,8 +225,6 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
private int transientServerId ;
private ThreadGroup threadGroup ;
private ServiceContextRegistry serviceContextRegistry ;
// Needed here to implement connect/disconnect
@@ -265,6 +268,7 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
private final Object urlOperationLock = new java.lang.Object() ;
private CorbaServerRequestDispatcher insNamingDelegate ;
// resolverLock must be used for all access to either resolver or
// localResolver, since it is possible for the resolver to indirectly
// refer to the localResolver. Also used to protect access to
@@ -279,6 +283,8 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
private ObjectKeyFactory objectKeyFactory ;
private boolean orbOwnsThreadPoolManager = false ;
private ThreadPoolManager threadpoolMgr;
private void dprint( String msg )
@@ -322,11 +328,17 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public ORBVersion getORBVersion()
{
synchronized (this) {
checkShutdownState();
}
return (ORBVersion)(orbVersionThreadLocal.get()) ;
}
public void setORBVersion(ORBVersion verObj)
{
synchronized (this) {
checkShutdownState();
}
orbVersionThreadLocal.set(verObj);
}
@@ -347,46 +359,6 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
// end of this method.
pihandler = new PINoOpHandlerImpl( );
// See bugs 4916766 and 4936203
// We intend to create new threads in a reliable thread group.
// This avoids problems if the application/applet
// creates a thread group, makes JavaIDL calls which create a new
// connection and ReaderThread, and then destroys the thread
// group. If our ReaderThreads were to be part of such destroyed thread
// group then it might get killed and cause other invoking threads
// sharing the same connection to get a non-restartable
// CommunicationFailure. We'd like to avoid that.
//
// Our solution is to create all of our threads in the highest thread
// group that we have access to, given our own security clearance.
//
try {
// try to get a thread group that's as high in the threadgroup
// parent-child hierarchy, as we can get to.
// this will prevent an ORB thread created during applet-init from
// being killed when an applet dies.
threadGroup = (ThreadGroup) AccessController.doPrivileged(
new PrivilegedAction() {
public Object run() {
ThreadGroup tg = Thread.currentThread().getThreadGroup() ;
ThreadGroup ptg = tg ;
try {
while (ptg != null) {
tg = ptg;
ptg = tg.getParent();
}
} catch (SecurityException se) {
// Discontinue going higher on a security exception.
}
return new ThreadGroup(tg, "ORB ThreadGroup");
}
}
);
} catch (SecurityException e) {
// something wrong, we go back to the original code
threadGroup = Thread.currentThread().getThreadGroup();
}
// This is the unique id of this server (JVM). Multiple incarnations
// of this server will get different ids.
// Compute transientServerId = milliseconds since Jan 1, 1970
@@ -547,6 +519,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void set_parameters( Properties props )
{
synchronized (this) {
checkShutdownState();
}
preInit( null, props ) ;
DataCollector dataCollector =
DataCollectorFactory.create( props, getLocalHostName() ) ;
@@ -788,6 +763,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
*/
public void notifyORB()
{
synchronized (this) {
checkShutdownState();
}
synchronized (this.svResponseReceived) {
this.svResponseReceived.set();
this.svResponseReceived.notify();
@@ -854,6 +832,8 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
// Note that we connect this if we have not already done so.
public synchronized IOR getFVDCodeBaseIOR()
{
checkShutdownState();
if (codeBaseIOR != null) // i.e. We are already connected to it
return codeBaseIOR;
@@ -1118,6 +1098,8 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public synchronized void setTypeCodeForClass(Class c, TypeCodeImpl tci)
{
checkShutdownState();
if (typeCodeForClassMap == null)
typeCodeForClassMap = Collections.synchronizedMap(
new WeakHashMap(64));
@@ -1128,6 +1110,8 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public synchronized TypeCodeImpl getTypeCodeForClass(Class c)
{
checkShutdownState();
if (typeCodeForClassMap == null)
return null;
return (TypeCodeImpl)typeCodeForClassMap.get(c);
@@ -1210,6 +1194,10 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
{
CorbaServerRequestDispatcher insnd ;
synchronized (this) {
checkShutdownState();
}
if ((id == null) || (id.length() == 0))
throw new InvalidName() ;
@@ -1253,66 +1241,88 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
}
}
public void shutdown(boolean wait_for_completion)
{
// to wait for completion, we would deadlock, so throw a standard
// OMG exception.
if (wait_for_completion && ((Boolean)isProcessingInvocation.get()).booleanValue()) {
throw omgWrapper.shutdownWaitForCompletionDeadlock() ;
}
boolean doShutdown = false ;
public void shutdown(boolean wait_for_completion) {
boolean wait = false;
synchronized (this) {
checkShutdownState();
// This is to avoid deadlock: don't allow a thread that is
// processing a request to call shutdown( true ), because
// the shutdown would block waiting for the request to complete,
// while the request would block waiting for shutdown to complete.
if (wait_for_completion &&
isProcessingInvocation.get() == Boolean.TRUE) {
throw omgWrapper.shutdownWaitForCompletionDeadlock();
}
if (status == STATUS_SHUTTING_DOWN) {
if (!wait_for_completion)
// If we are already shutting down and don't want
// to wait, nothing to do: return.
return ;
if (wait_for_completion) {
wait = true;
} else {
// The ORB status was STATUS_OPERATING, so start the shutdown.
status = STATUS_SHUTTING_DOWN ;
doShutdown = true ;
return;
}
}
// At this point, status is SHUTTING_DOWN.
// All shutdown calls with wait_for_completion == true must synchronize
// here. Only the first call will be made with doShutdown == true.
status = STATUS_SHUTTING_DOWN;
}
// Avoid more than one thread performing shutdown at a time.
synchronized (shutdownObj) {
if (doShutdown) {
// shutdownServants will set all POAManagers into the
// INACTIVE state, causing request to be rejected.
// If wait_for_completion is true, this will not return until
// all invocations have completed.
// At this point, the ORB status is certainly STATUS_SHUTTING_DOWN.
// If wait is true, another thread already called shutdown( true ),
// and so we wait for completion
if (wait) {
while (true) {
synchronized (this) {
if (status == STATUS_SHUTDOWN)
break;
}
try {
shutdownObj.wait();
} catch (InterruptedException exc) {
// NOP: just loop and wait until state is changed
}
}
} else {
// perform the actual shutdown
shutdownServants(wait_for_completion);
if (wait_for_completion) {
synchronized ( waitForCompletionObj ) {
while (numInvocations > 0) {
try {
waitForCompletionObj.wait();
} catch (InterruptedException ex) {}
}
}
}
synchronized (runObj) {
runObj.notifyAll();
}
synchronized (this) {
status = STATUS_SHUTDOWN;
}
shutdownObj.notifyAll();
}
}
}
/** This method shuts down the ORB and causes orb.run() to return.
* It will cause all POAManagers to be deactivated, which in turn
* will cause all POAs to be deactivated.
*/
// Cause all ObjectAdapaterFactories to clean up all of their internal state, which
// may include activated objects that have associated state and callbacks that must
// complete in order to shutdown. This will cause new request to be rejected.
protected void shutdownServants(boolean wait_for_completion) {
Iterator iter = requestDispatcherRegistry.getObjectAdapterFactories().iterator() ;
while (iter.hasNext()) {
ObjectAdapterFactory oaf = (ObjectAdapterFactory)iter.next() ;
Set<ObjectAdapterFactory> oaset;
synchronized (this) {
oaset = new HashSet<>(requestDispatcherRegistry.getObjectAdapterFactories());
}
for (ObjectAdapterFactory oaf : oaset)
oaf.shutdown(wait_for_completion);
}
}
// REVISIT: was protected - made public for framework
// Note that the caller must hold the ORBImpl lock.
public void checkShutdownState()
{
@@ -1327,21 +1337,40 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public boolean isDuringDispatch()
{
synchronized (this) {
checkShutdownState();
}
Boolean value = (Boolean)(isProcessingInvocation.get()) ;
return value.booleanValue() ;
}
public void startingDispatch()
{
synchronized (this) {
checkShutdownState();
}
synchronized (invocationObj) {
isProcessingInvocation.set(Boolean.TRUE);
numInvocations++;
}
}
public void finishedDispatch()
{
synchronized (this) {
checkShutdownState();
}
synchronized (invocationObj) {
isProcessingInvocation.set(Boolean.FALSE);
numInvocations--;
isProcessingInvocation.set(false);
if (numInvocations == 0) {
synchronized (waitForCompletionObj) {
waitForCompletionObj.notifyAll();
}
} else if (numInvocations < 0) {
throw wrapper.numInvocationsAlreadyZero(
CompletionStatus.COMPLETED_YES);
}
}
}
@@ -1350,7 +1379,7 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
* not been shut down, it will start the shutdown process and block until
* the ORB has shut down before it destroys the ORB."
*/
public synchronized void destroy()
public void destroy()
{
boolean shutdownFirst = false;
@@ -1369,7 +1398,72 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
status = STATUS_DESTROYED;
}
}
synchronized (threadPoolManagerAccessLock) {
if (orbOwnsThreadPoolManager) {
try {
threadpoolMgr.close();
threadpoolMgr = null;
} catch (IOException exc) {
wrapper.ioExceptionOnClose(exc);
}
}
}
try {
monitoringManager.close();
monitoringManager = null;
} catch (IOException exc) {
wrapper.ioExceptionOnClose(exc);
}
CachedCodeBase.cleanCache(this);
try {
pihandler.close();
} catch (IOException exc) {
wrapper.ioExceptionOnClose(exc);
}
super.destroy();
badServerIdHandlerAccessLock = null;
clientDelegateFactoryAccessorLock = null;
corbaContactInfoListFactoryAccessLock = null;
objectKeyFactoryAccessLock = null;
legacyServerSocketManagerAccessLock = null;
threadPoolManagerAccessLock = null;
transportManager = null;
legacyServerSocketManager = null;
OAInvocationInfoStack = null;
clientInvocationInfoStack = null;
codeBaseIOR = null;
dynamicRequests = null;
svResponseReceived = null;
runObj = null;
shutdownObj = null;
waitForCompletionObj = null;
invocationObj = null;
isProcessingInvocation = null;
typeCodeForClassMap = null;
valueFactoryCache = null;
orbVersionThreadLocal = null;
requestDispatcherRegistry = null;
copierManager = null;
toaFactory = null;
poaFactory = null;
pihandler = null;
configData = null;
badServerIdHandler = null;
clientDelegateFactory = null;
corbaContactInfoListFactory = null;
resolver = null;
localResolver = null;
insNamingDelegate = null;
urlOperation = null;
taggedComponentFactoryFinder = null;
taggedProfileFactoryFinder = null;
taggedProfileTemplateFactoryFinder = null;
objectKeyFactory = null;
}
/**
@@ -1434,18 +1528,27 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public OAInvocationInfo peekInvocationInfo()
{
synchronized (this) {
checkShutdownState();
}
StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
return (OAInvocationInfo)(stack.peek()) ;
}
public void pushInvocationInfo( OAInvocationInfo info )
{
synchronized (this) {
checkShutdownState();
}
StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
stack.push( info ) ;
}
public OAInvocationInfo popInvocationInfo()
{
synchronized (this) {
checkShutdownState();
}
StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
return (OAInvocationInfo)(stack.pop()) ;
}
@@ -1459,6 +1562,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void initBadServerIdHandler()
{
synchronized (this) {
checkShutdownState();
}
synchronized (badServerIdHandlerAccessLock) {
Class cls = configData.getBadServerIdHandler() ;
if (cls != null) {
@@ -1477,6 +1583,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void setBadServerIdHandler( BadServerIdHandler handler )
{
synchronized (this) {
checkShutdownState();
}
synchronized (badServerIdHandlerAccessLock) {
badServerIdHandler = handler;
}
@@ -1484,6 +1593,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void handleBadServerId( ObjectKey okey )
{
synchronized (this) {
checkShutdownState();
}
synchronized (badServerIdHandlerAccessLock) {
if (badServerIdHandler == null)
throw wrapper.badServerId() ;
@@ -1532,6 +1644,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public int getTransientServerId()
{
synchronized (this) {
checkShutdownState();
}
if( configData.getORBServerIdPropertySpecified( ) ) {
// ORBServerId is specified then use that value
return configData.getPersistentServerId( );
@@ -1541,11 +1656,17 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public RequestDispatcherRegistry getRequestDispatcherRegistry()
{
synchronized (this) {
checkShutdownState();
}
return requestDispatcherRegistry;
}
public ServiceContextRegistry getServiceContextRegistry()
{
synchronized (this) {
checkShutdownState();
}
return serviceContextRegistry ;
}
@@ -1563,12 +1684,18 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
// XXX What about multi-homed host?
public boolean isLocalHost( String hostName )
{
synchronized (this) {
checkShutdownState();
}
return hostName.equals( configData.getORBServerHost() ) ||
hostName.equals( getLocalHostName() ) ;
}
public boolean isLocalServerId( int subcontractId, int serverId )
{
synchronized (this) {
checkShutdownState();
}
if ((subcontractId < ORBConstants.FIRST_POA_SCID) ||
(subcontractId > ORBConstants.MAX_POA_SCID))
return serverId == getTransientServerId( ) ;
@@ -1659,6 +1786,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public ClientInvocationInfo createOrIncrementInvocationInfo()
{
synchronized (this) {
checkShutdownState();
}
StackImpl invocationInfoStack =
(StackImpl) clientInvocationInfoStack.get();
ClientInvocationInfo clientInvocationInfo = null;
@@ -1682,10 +1812,13 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void releaseOrDecrementInvocationInfo()
{
StackImpl invocationInfoStack =
(StackImpl)clientInvocationInfoStack.get();
synchronized (this) {
checkShutdownState();
}
int entryCount = -1;
ClientInvocationInfo clientInvocationInfo = null;
StackImpl invocationInfoStack =
(StackImpl)clientInvocationInfoStack.get();
if (!invocationInfoStack.empty()) {
clientInvocationInfo =
(ClientInvocationInfo)invocationInfoStack.peek();
@@ -1705,6 +1838,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public ClientInvocationInfo getInvocationInfo()
{
synchronized (this) {
checkShutdownState();
}
StackImpl invocationInfoStack =
(StackImpl) clientInvocationInfoStack.get();
return (ClientInvocationInfo) invocationInfoStack.peek();
@@ -1719,6 +1855,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void setClientDelegateFactory( ClientDelegateFactory factory )
{
synchronized (this) {
checkShutdownState();
}
synchronized (clientDelegateFactoryAccessorLock) {
clientDelegateFactory = factory ;
}
@@ -1726,6 +1865,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public ClientDelegateFactory getClientDelegateFactory()
{
synchronized (this) {
checkShutdownState();
}
synchronized (clientDelegateFactoryAccessorLock) {
return clientDelegateFactory ;
}
@@ -1735,6 +1877,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void setCorbaContactInfoListFactory( CorbaContactInfoListFactory factory )
{
synchronized (this) {
checkShutdownState();
}
synchronized (corbaContactInfoListFactoryAccessLock) {
corbaContactInfoListFactory = factory ;
}
@@ -1742,6 +1887,7 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public synchronized CorbaContactInfoListFactory getCorbaContactInfoListFactory()
{
checkShutdownState();
return corbaContactInfoListFactory ;
}
@@ -1750,6 +1896,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
*/
public void setResolver( Resolver resolver )
{
synchronized (this) {
checkShutdownState();
}
synchronized (resolverLock) {
this.resolver = resolver ;
}
@@ -1760,6 +1909,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
*/
public Resolver getResolver()
{
synchronized (this) {
checkShutdownState();
}
synchronized (resolverLock) {
return resolver ;
}
@@ -1770,6 +1922,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
*/
public void setLocalResolver( LocalResolver resolver )
{
synchronized (this) {
checkShutdownState();
}
synchronized (resolverLock) {
this.localResolver = resolver ;
}
@@ -1780,6 +1935,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
*/
public LocalResolver getLocalResolver()
{
synchronized (this) {
checkShutdownState();
}
synchronized (resolverLock) {
return localResolver ;
}
@@ -1790,6 +1948,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
*/
public void setURLOperation( Operation stringToObject )
{
synchronized (this) {
checkShutdownState();
}
synchronized (urlOperationLock) {
urlOperation = stringToObject ;
}
@@ -1800,6 +1961,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
*/
public Operation getURLOperation()
{
synchronized (this) {
checkShutdownState();
}
synchronized (urlOperationLock) {
return urlOperation ;
}
@@ -1807,6 +1971,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void setINSDelegate( CorbaServerRequestDispatcher sdel )
{
synchronized (this) {
checkShutdownState();
}
synchronized (resolverLock) {
insNamingDelegate = sdel ;
}
@@ -1814,16 +1981,25 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public TaggedComponentFactoryFinder getTaggedComponentFactoryFinder()
{
synchronized (this) {
checkShutdownState();
}
return taggedComponentFactoryFinder ;
}
public IdentifiableFactoryFinder getTaggedProfileFactoryFinder()
{
synchronized (this) {
checkShutdownState();
}
return taggedProfileFactoryFinder ;
}
public IdentifiableFactoryFinder getTaggedProfileTemplateFactoryFinder()
{
synchronized (this) {
checkShutdownState();
}
return taggedProfileTemplateFactoryFinder ;
}
@@ -1831,6 +2007,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public ObjectKeyFactory getObjectKeyFactory()
{
synchronized (this) {
checkShutdownState();
}
synchronized (objectKeyFactoryAccessLock) {
return objectKeyFactory ;
}
@@ -1838,6 +2017,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void setObjectKeyFactory( ObjectKeyFactory factory )
{
synchronized (this) {
checkShutdownState();
}
synchronized (objectKeyFactoryAccessLock) {
objectKeyFactory = factory ;
}
@@ -1864,6 +2046,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public LegacyServerSocketManager getLegacyServerSocketManager()
{
synchronized (this) {
checkShutdownState();
}
synchronized (legacyServerSocketManagerAccessLock) {
if (legacyServerSocketManager == null) {
legacyServerSocketManager = new LegacyServerSocketManagerImpl(this);
@@ -1876,6 +2061,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public void setThreadPoolManager(ThreadPoolManager mgr)
{
synchronized (this) {
checkShutdownState();
}
synchronized (threadPoolManagerAccessLock) {
threadpoolMgr = mgr;
}
@@ -1883,9 +2071,13 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public ThreadPoolManager getThreadPoolManager()
{
synchronized (this) {
checkShutdownState();
}
synchronized (threadPoolManagerAccessLock) {
if (threadpoolMgr == null) {
threadpoolMgr = new ThreadPoolManagerImpl( threadGroup );
threadpoolMgr = new ThreadPoolManagerImpl();
orbOwnsThreadPoolManager = true;
}
return threadpoolMgr;
}
@@ -1893,6 +2085,9 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public CopierManager getCopierManager()
{
synchronized (this) {
checkShutdownState();
}
return copierManager ;
}
} // Class ORBImpl

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2012, 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,9 @@ public class ParserTable {
public ParserData[] getParserData()
{
return parserData ;
ParserData[] parserArray = new ParserData[parserData.length];
System.arraycopy(parserData, 0, parserArray, 0, parserData.length);
return parserArray;
}
private ParserTable() {

View File

@@ -1,3 +1,28 @@
/*
* Copyright (c) 2001, 2012, 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.
*/
package com.sun.corba.se.impl.orbutil ;
import java.lang.reflect.Method;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2012, 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
@@ -62,7 +62,7 @@ public class RepositoryId_1_3 {
// legal use of '.' in a Java name.
public static final RepositoryIdCache_1_3 cache = new RepositoryIdCache_1_3();
public static final byte[] IDL_IDENTIFIER_CHARS = {
private static final byte[] IDL_IDENTIFIER_CHARS = {
// 0 1 2 3 4 5 6 7 8 9 a b c d e f
0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 00-0f
@@ -180,7 +180,7 @@ public class RepositoryId_1_3 {
public static final String kRemoteTypeStr = "";
public static final String kRemoteValueRepID = "";
public static final Hashtable kSpecialArrayTypeStrings = new Hashtable();
private static final Hashtable kSpecialArrayTypeStrings = new Hashtable();
static {
kSpecialArrayTypeStrings.put("CORBA.WStringValue", new StringBuffer(java.lang.String.class.getName()));
@@ -189,7 +189,7 @@ public class RepositoryId_1_3 {
}
public static final Hashtable kSpecialCasesRepIDs = new Hashtable();
private static final Hashtable kSpecialCasesRepIDs = new Hashtable();
static {
kSpecialCasesRepIDs.put(java.lang.String.class, kWStringValueRepID);
@@ -197,7 +197,7 @@ public class RepositoryId_1_3 {
kSpecialCasesRepIDs.put(java.rmi.Remote.class, kRemoteValueRepID);
}
public static final Hashtable kSpecialCasesStubValues = new Hashtable();
private static final Hashtable kSpecialCasesStubValues = new Hashtable();
static {
kSpecialCasesStubValues.put(java.lang.String.class, kWStringStubValue);
@@ -209,7 +209,7 @@ public class RepositoryId_1_3 {
}
public static final Hashtable kSpecialCasesVersions = new Hashtable();
private static final Hashtable kSpecialCasesVersions = new Hashtable();
static {
kSpecialCasesVersions.put(java.lang.String.class, kWStringValueHash);
@@ -220,7 +220,7 @@ public class RepositoryId_1_3 {
kSpecialCasesVersions.put(java.rmi.Remote.class, kRemoteValueHash);
}
public static final Hashtable kSpecialCasesClasses = new Hashtable();
private static final Hashtable kSpecialCasesClasses = new Hashtable();
static {
kSpecialCasesClasses.put(kWStringTypeStr, java.lang.String.class);
@@ -232,7 +232,7 @@ public class RepositoryId_1_3 {
//kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class);
}
public static final Hashtable kSpecialCasesArrayPrefix = new Hashtable();
private static final Hashtable kSpecialCasesArrayPrefix = new Hashtable();
static {
kSpecialCasesArrayPrefix.put(java.lang.String.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
@@ -243,7 +243,7 @@ public class RepositoryId_1_3 {
kSpecialCasesArrayPrefix.put(java.rmi.Remote.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
}
public static final Hashtable kSpecialPrimitives = new Hashtable();
private static final Hashtable kSpecialPrimitives = new Hashtable();
static {
kSpecialPrimitives.put("int","long");

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -63,7 +63,7 @@ public class RepositoryId_1_3_1 {
// uniformly, and is safe because that is the only
// legal use of '.' in a Java name.
public static final byte[] IDL_IDENTIFIER_CHARS = {
private static final byte[] IDL_IDENTIFIER_CHARS = {
// 0 1 2 3 4 5 6 7 8 9 a b c d e f
0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 00-0f
@@ -198,7 +198,7 @@ public class RepositoryId_1_3_1 {
public static final String kRemoteTypeStr = "";
public static final String kRemoteValueRepID = "";
public static final Hashtable kSpecialArrayTypeStrings = new Hashtable();
private static final Hashtable kSpecialArrayTypeStrings = new Hashtable();
static {
kSpecialArrayTypeStrings.put("CORBA.WStringValue", new StringBuffer(java.lang.String.class.getName()));
@@ -207,7 +207,7 @@ public class RepositoryId_1_3_1 {
}
public static final Hashtable kSpecialCasesRepIDs = new Hashtable();
private static final Hashtable kSpecialCasesRepIDs = new Hashtable();
static {
kSpecialCasesRepIDs.put(java.lang.String.class, kWStringValueRepID);
@@ -215,7 +215,7 @@ public class RepositoryId_1_3_1 {
kSpecialCasesRepIDs.put(java.rmi.Remote.class, kRemoteValueRepID);
}
public static final Hashtable kSpecialCasesStubValues = new Hashtable();
private static final Hashtable kSpecialCasesStubValues = new Hashtable();
static {
kSpecialCasesStubValues.put(java.lang.String.class, kWStringStubValue);
@@ -227,7 +227,7 @@ public class RepositoryId_1_3_1 {
}
public static final Hashtable kSpecialCasesVersions = new Hashtable();
private static final Hashtable kSpecialCasesVersions = new Hashtable();
static {
kSpecialCasesVersions.put(java.lang.String.class, kWStringValueHash);
@@ -238,7 +238,7 @@ public class RepositoryId_1_3_1 {
kSpecialCasesVersions.put(java.rmi.Remote.class, kRemoteValueHash);
}
public static final Hashtable kSpecialCasesClasses = new Hashtable();
private static final Hashtable kSpecialCasesClasses = new Hashtable();
static {
kSpecialCasesClasses.put(kWStringTypeStr, java.lang.String.class);
@@ -250,7 +250,7 @@ public class RepositoryId_1_3_1 {
//kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class);
}
public static final Hashtable kSpecialCasesArrayPrefix = new Hashtable();
private static final Hashtable kSpecialCasesArrayPrefix = new Hashtable();
static {
kSpecialCasesArrayPrefix.put(java.lang.String.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
@@ -261,7 +261,7 @@ public class RepositoryId_1_3_1 {
kSpecialCasesArrayPrefix.put(java.rmi.Remote.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
}
public static final Hashtable kSpecialPrimitives = new Hashtable();
private static final Hashtable kSpecialPrimitives = new Hashtable();
static {
kSpecialPrimitives.put("int","long");

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,18 @@
package com.sun.corba.se.impl.orbutil.threadpool;
import java.io.IOException;
import java.io.Closeable;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.List;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import com.sun.corba.se.spi.orbutil.threadpool.NoSuchWorkQueueException;
import com.sun.corba.se.spi.orbutil.threadpool.ThreadPool;
import com.sun.corba.se.spi.orbutil.threadpool.Work;
@@ -36,12 +48,27 @@ import com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl;
import com.sun.corba.se.spi.monitoring.MonitoringConstants;
import com.sun.corba.se.spi.monitoring.MonitoredObject;
import com.sun.corba.se.spi.monitoring.MonitoringFactories;
import com.sun.corba.se.spi.orb.ORB;
import com.sun.corba.se.spi.monitoring.LongMonitoredAttributeBase;
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
import com.sun.corba.se.impl.orbutil.ORBConstants;
import com.sun.corba.se.spi.logging.CORBALogDomains;
public class ThreadPoolImpl implements ThreadPool
{
private static int threadCounter = 0; // serial counter useful for debugging
// serial counter useful for debugging
private static AtomicInteger threadCounter = new AtomicInteger(0);
private static final ORBUtilSystemException wrapper =
ORBUtilSystemException.get(CORBALogDomains.RPC_TRANSPORT);
// Any time currentThreadCount and/or availableWorkerThreads is updated
// or accessed this ThreadPool's WorkQueue must be locked. And, it is
// expected that this ThreadPool's WorkQueue is the only object that
// updates and accesses these values directly and indirectly though a
// call to a method in this ThreadPool. If any call to update or access
// those values must synchronized on this ThreadPool's WorkQueue.
private WorkQueue workQueue;
// Stores the number of available worker threads
@@ -65,14 +92,11 @@ public class ThreadPoolImpl implements ThreadPool
// Running count of the work items processed
// Set the value to 1 so that divide by zero is avoided in
// averageWorkCompletionTime()
private long processedCount = 1;
private AtomicLong processedCount = new AtomicLong(1);
// Running aggregate of the time taken in millis to execute work items
// processed by the threads in the threadpool
private long totalTimeTaken = 0;
// Lock for protecting state when required
private Object lock = new Object();
private AtomicLong totalTimeTaken = new AtomicLong(0);
// Name of the ThreadPool
private String name;
@@ -83,6 +107,9 @@ public class ThreadPoolImpl implements ThreadPool
// ThreadGroup in which threads should be created
private ThreadGroup threadGroup;
Object workersLock = new Object();
List<WorkerThread> workers = new ArrayList<>();
/**
* This constructor is used to create an unbounded threadpool
*/
@@ -121,6 +148,30 @@ public class ThreadPoolImpl implements ThreadPool
initializeMonitoring();
}
// Note that this method should not return until AFTER all threads have died.
public void close() throws IOException {
// Copy to avoid concurrent modification problems.
List<WorkerThread> copy = null;
synchronized (workersLock) {
copy = new ArrayList<>(workers);
}
for (WorkerThread wt : copy) {
wt.close();
while (wt.getState() != Thread.State.TERMINATED) {
try {
wt.join();
} catch (InterruptedException exc) {
wrapper.interruptedJoinCallWhileClosingThreadPool(exc, wt, this);
}
}
}
threadGroup = null;
}
// Setup monitoring for this threadpool
private void initializeMonitoring() {
// Get root monitored object
@@ -217,8 +268,8 @@ public class ThreadPoolImpl implements ThreadPool
* or notify waiting threads on the queue for available work
*/
void notifyForAvailableWork(WorkQueue aWorkQueue) {
synchronized (lock) {
if (availableWorkerThreads == 0) {
synchronized (aWorkQueue) {
if (availableWorkerThreads < aWorkQueue.workItemsInQueue()) {
createWorkerThread();
} else {
aWorkQueue.notify();
@@ -227,120 +278,145 @@ public class ThreadPoolImpl implements ThreadPool
}
/**
* To be called from the workqueue to create worker threads when none
* available.
*/
void createWorkerThread() {
WorkerThread thread;
synchronized (lock) {
if (boundedThreadPool) {
if (currentThreadCount < maxWorkerThreads) {
thread = new WorkerThread(threadGroup, getName());
currentThreadCount++;
} else {
// REVIST - Need to create a thread to monitor the
// the state for deadlock i.e. all threads waiting for
// something which can be got from the item in the
// workqueue, but there is no thread available to
// process that work item - DEADLOCK !!
return;
}
} else {
thread = new WorkerThread(threadGroup, getName());
currentThreadCount++;
}
private Thread createWorkerThreadHelper( String name ) {
// Thread creation needs to be in a doPrivileged block
// if there is a non-null security manager for two reasons:
// 1. The creation of a thread in a specific ThreadGroup
// is a privileged operation. Lack of a doPrivileged
// block here causes an AccessControlException
// (see bug 6268145).
// 2. We want to make sure that the permissions associated
// with this thread do NOT include the permissions of
// the current thread that is calling this method.
// This leads to problems in the app server where
// some threads in the ThreadPool randomly get
// bad permissions, leading to unpredictable
// permission errors (see bug 6021011).
//
// A Java thread contains a stack of call frames,
// one for each method called that has not yet returned.
// Each method comes from a particular class. The class
// was loaded by a ClassLoader which has an associated
// CodeSource, and this determines the Permissions
// for all methods in that class. The current
// Permissions for the thread are the intersection of
// all Permissions for the methods on the stack.
// This is part of the Security Context of the thread.
//
// When a thread creates a new thread, the new thread
// inherits the security context of the old thread.
// This is bad in a ThreadPool, because different
// creators of threads may have different security contexts.
// This leads to occasional unpredictable errors when
// a thread is re-used in a different security context.
//
// Avoiding this problem is simple: just do the thread
// creation in a doPrivileged block. This sets the
// inherited security context to that of the code source
// for the ORB code itself, which contains all permissions
// in either Java SE or Java EE.
WorkerThread thread = new WorkerThread(threadGroup, name);
synchronized (workersLock) {
workers.add(thread);
}
// The thread must be set to a daemon thread so the
// VM can exit if the only threads left are PooledThreads
// or other daemons. We don't want to rely on the
// calling thread always being a daemon.
// Catch exceptions since setDaemon can cause a
// security exception to be thrown under netscape
// in the Applet mode
try {
// Note that no exception is possible here since we
// are inside the doPrivileged block.
thread.setDaemon(true);
} catch (Exception e) {
// REVISIT - need to do some logging here
}
wrapper.workerThreadCreated(thread, thread.getContextClassLoader());
thread.start();
return null;
}
/**
* This method will return the minimum number of threads maintained
* by the threadpool.
* To be called from the workqueue to create worker threads when none
* available.
*/
void createWorkerThread() {
final String name = getName();
synchronized (workQueue) {
try {
if (System.getSecurityManager() == null) {
createWorkerThreadHelper(name);
} else {
// If we get here, we need to create a thread.
AccessController.doPrivileged(
new PrivilegedAction() {
public Object run() {
return createWorkerThreadHelper(name);
}
}
);
}
} catch (Throwable t) {
// Decrementing the count of current worker threads.
// But, it will be increased in the finally block.
decrementCurrentNumberOfThreads();
wrapper.workerThreadCreationFailure(t);
} finally {
incrementCurrentNumberOfThreads();
}
}
}
public int minimumNumberOfThreads() {
return minWorkerThreads;
}
/**
* This method will return the maximum number of threads in the
* threadpool at any point in time, for the life of the threadpool
*/
public int maximumNumberOfThreads() {
return maxWorkerThreads;
}
/**
* This method will return the time in milliseconds when idle
* threads in the threadpool are removed.
*/
public long idleTimeoutForThreads() {
return inactivityTimeout;
}
/**
* This method will return the total number of threads currently in the
* threadpool. This method returns a value which is not synchronized.
*/
public int currentNumberOfThreads() {
synchronized (lock) {
synchronized (workQueue) {
return currentThreadCount;
}
}
/**
* This method will return the number of available threads in the
* threadpool which are waiting for work. This method returns a
* value which is not synchronized.
*/
void decrementCurrentNumberOfThreads() {
synchronized (workQueue) {
currentThreadCount--;
}
}
void incrementCurrentNumberOfThreads() {
synchronized (workQueue) {
currentThreadCount++;
}
}
public int numberOfAvailableThreads() {
synchronized (lock) {
synchronized (workQueue) {
return availableWorkerThreads;
}
}
/**
* This method will return the number of busy threads in the threadpool
* This method returns a value which is not synchronized.
*/
public int numberOfBusyThreads() {
synchronized (lock) {
synchronized (workQueue) {
return (currentThreadCount - availableWorkerThreads);
}
}
/**
* This method returns the average elapsed time taken to complete a Work
* item in milliseconds.
*/
public long averageWorkCompletionTime() {
synchronized (lock) {
return (totalTimeTaken / processedCount);
synchronized (workQueue) {
return (totalTimeTaken.get() / processedCount.get());
}
}
/**
* This method returns the number of Work items processed by the threadpool
*/
public long currentProcessedCount() {
synchronized (lock) {
return processedCount;
synchronized (workQueue) {
return processedCount.get();
}
}
@@ -357,15 +433,37 @@ public class ThreadPoolImpl implements ThreadPool
private static synchronized int getUniqueThreadId() {
return ThreadPoolImpl.threadCounter++;
return ThreadPoolImpl.threadCounter.incrementAndGet();
}
/**
* This method will decrement the number of available threads
* in the threadpool which are waiting for work. Called from
* WorkQueueImpl.requestWork()
*/
void decrementNumberOfAvailableThreads() {
synchronized (workQueue) {
availableWorkerThreads--;
}
}
/**
* This method will increment the number of available threads
* in the threadpool which are waiting for work. Called from
* WorkQueueImpl.requestWork()
*/
void incrementNumberOfAvailableThreads() {
synchronized (workQueue) {
availableWorkerThreads++;
}
}
private class WorkerThread extends Thread
private class WorkerThread extends Thread implements Closeable
{
private Work currentWork;
private int threadId = 0; // unique id for the thread
// thread pool this WorkerThread belongs too
private volatile boolean closeCalled = false;
private String threadPoolName;
// name seen by Thread.getName()
private StringBuffer workerThreadName = new StringBuffer();
@@ -377,100 +475,61 @@ public class ThreadPoolImpl implements ThreadPool
setName(composeWorkerThreadName(threadPoolName, "Idle"));
}
public void run() {
while (true) {
try {
synchronized (lock) {
availableWorkerThreads++;
public synchronized void close() {
closeCalled = true;
interrupt();
}
// Get some work to do
currentWork = ((WorkQueueImpl)workQueue).requestWork(inactivityTimeout);
private void resetClassLoader() {
synchronized (lock) {
availableWorkerThreads--;
// It is possible in notifyForAvailableWork that the
// check for availableWorkerThreads = 0 may return
// false, because the availableWorkerThreads has not been
// decremented to zero before the producer thread added
// work to the queue. This may create a deadlock, if the
// executing thread needs information which is in the work
// item queued in the workqueue, but has no thread to work
// on it since none was created because availableWorkerThreads = 0
// returned false.
// The following code will ensure that a thread is always available
// in those situations
if ((availableWorkerThreads == 0) &&
(workQueue.workItemsInQueue() > 0)) {
createWorkerThread();
}
}
// Set the thread name for debugging.
setName(composeWorkerThreadName(threadPoolName,
Integer.toString(this.threadId)));
private void performWork() {
long start = System.currentTimeMillis();
try {
// Do the work
currentWork.doWork();
} catch (Throwable t) {
// Ignore all errors.
;
wrapper.workerThreadDoWorkThrowable(this, t);
}
long elapsedTime = System.currentTimeMillis() - start;
totalTimeTaken.addAndGet(elapsedTime);
processedCount.incrementAndGet();
}
long end = System.currentTimeMillis();
public void run() {
try {
while (!closeCalled) {
try {
currentWork = ((WorkQueueImpl)workQueue).requestWork(
inactivityTimeout);
if (currentWork == null)
continue;
} catch (InterruptedException exc) {
wrapper.workQueueThreadInterrupted( exc, getName(),
Boolean.valueOf(closeCalled));
continue ;
} catch (Throwable t) {
wrapper.workerThreadThrowableFromRequestWork(this, t,
workQueue.getName());
synchronized (lock) {
totalTimeTaken += (end - start);
processedCount++;
}
// set currentWork to null so that the work item can be
// garbage collected
currentWork = null;
setName(composeWorkerThreadName(threadPoolName, "Idle"));
} catch (TimeoutException e) {
// This thread timed out waiting for something to do.
synchronized (lock) {
availableWorkerThreads--;
// This should for both bounded and unbounded case
if (currentThreadCount > minWorkerThreads) {
currentThreadCount--;
// This thread can exit.
return;
} else {
// Go back to waiting on workQueue
continue;
}
}
} catch (InterruptedException ie) {
// InterruptedExceptions are
// caught here. Thus, threads can be forced out of
// requestWork and so they have to reacquire the lock.
// Other options include ignoring or
// letting this thread die.
// Ignoring for now. REVISIT
synchronized (lock) {
availableWorkerThreads--;
}
performWork();
// set currentWork to null so that the work item can be
// garbage collected without waiting for the next work item.
currentWork = null;
resetClassLoader();
}
} catch (Throwable e) {
// Ignore any exceptions that currentWork.process
// accidently lets through, but let Errors pass.
// Add debugging output? REVISIT
synchronized (lock) {
availableWorkerThreads--;
}
// This should not be possible
wrapper.workerThreadCaughtUnexpectedThrowable(this,e);
} finally {
synchronized (workersLock) {
workers.remove(this);
}
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,15 @@
package com.sun.corba.se.impl.orbutil.threadpool;
import java.io.IOException;
import java.security.PrivilegedAction;
import java.security.AccessController;
import java.util.concurrent.atomic.AtomicInteger;
import com.sun.corba.se.spi.orb.ORB;
import com.sun.corba.se.spi.orbutil.threadpool.NoSuchThreadPoolException;
import com.sun.corba.se.spi.orbutil.threadpool.ThreadPool;
import com.sun.corba.se.spi.orbutil.threadpool.ThreadPoolManager;
@@ -33,23 +42,104 @@ import com.sun.corba.se.spi.orbutil.threadpool.ThreadPoolChooser;
import com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl;
import com.sun.corba.se.impl.orbutil.ORBConstants;
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
import com.sun.corba.se.impl.orbutil.ORBConstants;
import com.sun.corba.se.spi.logging.CORBALogDomains;
public class ThreadPoolManagerImpl implements ThreadPoolManager
{
private ThreadPool threadPool;
private ThreadGroup threadGroup;
public ThreadPoolManagerImpl( ThreadGroup tg )
{
// Use unbounded threadpool in J2SE ORB
// ThreadPoolManager from s1as appserver code base can be set in the
// ORB. ThreadPools in the appserver are bounded. In that situation
// the ThreadPool in this ThreadPoolManager will have its threads
// die after the idle timeout.
// XXX Should there be cleanup when ORB.shutdown is called if the
// ORB owns the ThreadPool?
threadPool = new ThreadPoolImpl( tg,
private static final ORBUtilSystemException wrapper =
ORBUtilSystemException.get(CORBALogDomains.RPC_TRANSPORT);
public ThreadPoolManagerImpl() {
threadGroup = getThreadGroup();
threadPool = new ThreadPoolImpl(threadGroup,
ORBConstants.THREADPOOL_DEFAULT_NAME);
}
private static AtomicInteger tgCount = new AtomicInteger();
private ThreadGroup getThreadGroup() {
ThreadGroup tg;
// See bugs 4916766 and 4936203
// We intend to create new threads in a reliable thread group.
// This avoids problems if the application/applet
// creates a thread group, makes JavaIDL calls which create a new
// connection and ReaderThread, and then destroys the thread
// group. If our ReaderThreads were to be part of such destroyed thread
// group then it might get killed and cause other invoking threads
// sharing the same connection to get a non-restartable
// CommunicationFailure. We'd like to avoid that.
//
// Our solution is to create all of our threads in the highest thread
// group that we have access to, given our own security clearance.
//
try {
// try to get a thread group that's as high in the threadgroup
// parent-child hierarchy, as we can get to.
// this will prevent an ORB thread created during applet-init from
// being killed when an applet dies.
tg = AccessController.doPrivileged(
new PrivilegedAction<ThreadGroup>() {
public ThreadGroup run() {
ThreadGroup tg = Thread.currentThread().getThreadGroup();
ThreadGroup ptg = tg;
try {
while (ptg != null) {
tg = ptg;
ptg = tg.getParent();
}
} catch (SecurityException se) {
// Discontinue going higher on a security exception.
}
return new ThreadGroup(tg, "ORB ThreadGroup " + tgCount.getAndIncrement());
}
}
);
} catch (SecurityException e) {
// something wrong, we go back to the original code
tg = Thread.currentThread().getThreadGroup();
}
return tg;
}
public void close() {
try {
threadPool.close();
} catch (IOException exc) {
wrapper.threadPoolCloseError();
}
try {
boolean isDestroyed = threadGroup.isDestroyed();
int numThreads = threadGroup.activeCount();
int numGroups = threadGroup.activeGroupCount();
if (isDestroyed) {
wrapper.threadGroupIsDestroyed(threadGroup);
} else {
if (numThreads > 0)
wrapper.threadGroupHasActiveThreadsInClose(threadGroup, numThreads);
if (numGroups > 0)
wrapper.threadGroupHasSubGroupsInClose(threadGroup, numGroups);
threadGroup.destroy();
}
} catch (IllegalThreadStateException exc) {
wrapper.threadGroupDestroyFailed(exc, threadGroup);
}
threadGroup = null;
}
/**
* This method will return an instance of the threadpool given a threadpoolId,
* that can be used by any component in the app. server.

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, 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
@@ -111,24 +111,23 @@ public class WorkQueueImpl implements WorkQueue
return workqueueMonitoredObject;
}
public void addWork(Work work) {
synchronized (this) {
public synchronized void addWork(Work work) {
workItemsAdded++;
work.setEnqueueTime(System.currentTimeMillis());
theWorkQueue.addLast(work);
((ThreadPoolImpl)workerThreadPool).notifyForAvailableWork(this);
}
}
Work requestWork(long waitTime)
throws TimeoutException, InterruptedException
synchronized Work requestWork(long waitTime) throws TimeoutException, InterruptedException
{
Work workItem;
synchronized (this) {
((ThreadPoolImpl)workerThreadPool).incrementNumberOfAvailableThreads();
if (theWorkQueue.size() != 0) {
workItem = (Work)theWorkQueue.removeFirst();
totalTimeInQueue += System.currentTimeMillis() - workItem.getEnqueueTime();
workItemsDequeued++;
((ThreadPoolImpl)workerThreadPool).decrementNumberOfAvailableThreads();
return workItem;
}
@@ -145,6 +144,7 @@ public class WorkQueueImpl implements WorkQueue
workItem = (Work)theWorkQueue.removeFirst();
totalTimeInQueue += System.currentTimeMillis() - workItem.getEnqueueTime();
workItemsDequeued++;
((ThreadPoolImpl)workerThreadPool).decrementNumberOfAvailableThreads();
return workItem;
}
@@ -152,13 +152,14 @@ public class WorkQueueImpl implements WorkQueue
} while (remainingWaitTime > 0);
((ThreadPoolImpl)workerThreadPool).decrementNumberOfAvailableThreads();
throw new TimeoutException();
} catch (InterruptedException ie) {
((ThreadPoolImpl)workerThreadPool).decrementNumberOfAvailableThreads();
throw ie;
}
}
}
public void setThreadPool(ThreadPool workerThreadPool) {
this.workerThreadPool = workerThreadPool;

View File

@@ -1,3 +1,27 @@
/*
* Copyright (c) 2004, 2012, 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.
*/
package com.sun.corba.se.impl.presentation.rmi ;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2011, 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
@@ -113,6 +113,9 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.ReferenceAddr;
import com.sun.corba.se.impl.transport.CorbaContactInfoListIteratorImpl;
import com.sun.corba.se.impl.util.JDKBridge;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentHashMap;
/**
* ClientDelegate is the RMI client-side subcontract or representation
* It implements RMI delegate as well as our internal ClientRequestDispatcher
@@ -122,6 +125,9 @@ public class CorbaClientRequestDispatcherImpl
implements
ClientRequestDispatcher
{
private ConcurrentMap<ContactInfo, Object> locks =
new ConcurrentHashMap<ContactInfo, Object>();
public OutputObject beginRequest(Object self, String opName,
boolean isOneWay, ContactInfo contactInfo)
{
@@ -148,8 +154,21 @@ public class CorbaClientRequestDispatcherImpl
// This locking is done so that multiple connections are not created
// for the same endpoint
//6929137 - Synchronized on contactInfo to avoid blocking across multiple endpoints
synchronized (contactInfo) {
// 7046238 - Synchronization on a single monitor for contactInfo parameters
// with identical hashCode(), so we lock on same monitor for equal parameters
// (which can refer to equal (in terms of equals()) but not the same objects)
Object lock = locks.get(contactInfo);
if (lock == null) {
Object newLock = new Object();
lock = locks.putIfAbsent(contactInfo, newLock);
if (lock == null) {
lock = newLock;
}
}
synchronized (lock) {
if (contactInfo.isConnectionBased()) {
if (contactInfo.shouldCacheConnection()) {
connection = (CorbaConnection)
@@ -254,7 +273,7 @@ public class CorbaClientRequestDispatcherImpl
registerWaiter(messageMediator);
// Do connection reclaim now
synchronized (contactInfo) {
synchronized (lock) {
if (contactInfo.isConnectionBased()) {
if (contactInfo.shouldCacheConnection()) {
OutboundConnectionCache connectionCache =

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2012, 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
@@ -1666,7 +1666,9 @@ public class CorbaMessageMediatorImpl
((CDRInputObject)messageMediator.getInputObject()).unmarshalHeader();
ORB orb = (ORB)messageMediator.getBroker();
synchronized (orb) {
orb.checkShutdownState();
}
ObjectKey okey = messageMediator.getObjectKey();
if (orb.subcontractDebugFlag) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2012, 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
@@ -52,7 +52,7 @@ public abstract class LocalClientRequestDispatcherBase implements LocalClientReq
// If isNextIsLocalValid.get() == Boolean.TRUE,
// the next call to isLocal should be valid
protected static ThreadLocal isNextCallValid = new ThreadLocal() {
private static final ThreadLocal isNextCallValid = new ThreadLocal() {
protected synchronized Object initialValue() {
return Boolean.TRUE;
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, 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
@@ -69,7 +69,7 @@ public class SelectorImpl
private HashMap listenerThreads;
private Map readerThreads;
private boolean selectorStarted;
private boolean closed;
private volatile boolean closed;
private ORBUtilSystemException wrapper;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2012, 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
@@ -57,7 +57,7 @@ public class RepositoryId {
// uniformly, and is safe because that is the only
// legal use of '.' in a Java name.
public static final byte[] IDL_IDENTIFIER_CHARS = {
private static final byte[] IDL_IDENTIFIER_CHARS = {
// 0 1 2 3 4 5 6 7 8 9 a b c d e f
0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 00-0f
@@ -95,7 +95,7 @@ public class RepositoryId {
private static IdentityHashtable classIDLToRepStr = new IdentityHashtable();
private static IdentityHashtable classSeqToRepStr = new IdentityHashtable();
private static IdentityHashtable repStrToByteArray = new IdentityHashtable();
private static final IdentityHashtable repStrToByteArray = new IdentityHashtable();
private static Hashtable repStrToClass = new Hashtable();
private String repId = null;
@@ -192,7 +192,7 @@ public class RepositoryId {
public static final String kRemoteTypeStr = "";
public static final String kRemoteValueRepID = "";
public static final Hashtable kSpecialArrayTypeStrings = new Hashtable();
private static final Hashtable kSpecialArrayTypeStrings = new Hashtable();
static {
kSpecialArrayTypeStrings.put("CORBA.WStringValue", new StringBuffer(java.lang.String.class.getName()));
@@ -201,7 +201,7 @@ public class RepositoryId {
}
public static final Hashtable kSpecialCasesRepIDs = new Hashtable();
private static final Hashtable kSpecialCasesRepIDs = new Hashtable();
static {
kSpecialCasesRepIDs.put(java.lang.String.class, kWStringValueRepID);
@@ -209,7 +209,7 @@ public class RepositoryId {
kSpecialCasesRepIDs.put(java.rmi.Remote.class, kRemoteValueRepID);
}
public static final Hashtable kSpecialCasesStubValues = new Hashtable();
private static final Hashtable kSpecialCasesStubValues = new Hashtable();
static {
kSpecialCasesStubValues.put(java.lang.String.class, kWStringStubValue);
@@ -221,7 +221,7 @@ public class RepositoryId {
}
public static final Hashtable kSpecialCasesVersions = new Hashtable();
private static final Hashtable kSpecialCasesVersions = new Hashtable();
static {
kSpecialCasesVersions.put(java.lang.String.class, kWStringValueHash);
@@ -232,7 +232,7 @@ public class RepositoryId {
kSpecialCasesVersions.put(java.rmi.Remote.class, kRemoteValueHash);
}
public static final Hashtable kSpecialCasesClasses = new Hashtable();
private static final Hashtable kSpecialCasesClasses = new Hashtable();
static {
kSpecialCasesClasses.put(kWStringTypeStr, java.lang.String.class);
@@ -244,7 +244,7 @@ public class RepositoryId {
//kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class);
}
public static final Hashtable kSpecialCasesArrayPrefix = new Hashtable();
private static final Hashtable kSpecialCasesArrayPrefix = new Hashtable();
static {
kSpecialCasesArrayPrefix.put(java.lang.String.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
@@ -255,7 +255,7 @@ public class RepositoryId {
kSpecialCasesArrayPrefix.put(java.rmi.Remote.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
}
public static final Hashtable kSpecialPrimitives = new Hashtable();
private static final Hashtable kSpecialPrimitives = new Hashtable();
static {
kSpecialPrimitives.put("int","long");

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, 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
@@ -58,7 +58,7 @@ public abstract class CORBALogDomains {
private CORBALogDomains() {}
// Top level log domain for CORBA
public static String TOP_LEVEL_DOMAIN = "javax.enterprise.resource.corba";
public static final String TOP_LEVEL_DOMAIN = "javax.enterprise.resource.corba";
public static final String RPC = "rpc" ;

View File

@@ -1,6 +1,6 @@
;
; Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
; Copyright (c) 2003, 2012, 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
@@ -62,6 +62,7 @@
(IS_LOCAL_REQUIRES_STUB 43 WARNING "Call to StubAdapter.isLocal did not pass a stub")
(REQUEST_REQUIRES_STUB 44 WARNING "Call to StubAdapter.request did not pass a stub")
(BAD_ACTIVATE_TIE_CALL 45 WARNING "Call to StubAdapter.activateTie did not pass a valid Tie")
(IO_EXCEPTION_ON_CLOSE 46 FINE "Useless exception on call to Closeable.close()")
)
(BAD_PARAM
(NULL_PARAM 1 WARNING "Null parameter")
@@ -291,7 +292,31 @@
(JAVA_STREAM_INIT_FAILED 95 WARNING "Java stream initialization failed")
(DUPLICATE_ORB_VERSION_SERVICE_CONTEXT 96 WARNING "An ORBVersionServiceContext was already in the service context list")
(DUPLICATE_SENDING_CONTEXT_SERVICE_CONTEXT 97 WARNING "A SendingContextServiceContext was already in the service context list")
(WORK_QUEUE_THREAD_INTERRUPTED 98 FINE "Worker Thread from thread pool {0} was interrupted: closeCalled is {1}.")
(WORKER_THREAD_CREATED
104 FINE "Worker thread {0} has been created with ClassLoader {1}")
(WORKER_THREAD_THROWABLE_FROM_REQUEST_WORK
109 FINE "Worker thread {0} caught throwable {1} when requesting work from work queue {2}.")
(WORKER_THREAD_NOT_NEEDED
110 FINE "Worker thread {0} will exit; current thread count, {1}, greater than minunum worker threads needed, {2}.")
(WORKER_THREAD_DO_WORK_THROWABLE
111 FINE "Worker thread {0} caught throwable {1} while executing work.")
(WORKER_THREAD_CAUGHT_UNEXPECTED_THROWABLE
112 WARNING "Worker thread {0} caught unexpected throwable {1}.")
(WORKER_THREAD_CREATION_FAILURE
113 SEVERE "Worker thread creation failure; cause {0}.")
(WORKER_THREAD_SET_NAME_FAILURE
114 WARNING "Unable to set worker thread {0} name to {1}; cause {2}.")
(WORK_QUEUE_REQUEST_WORK_NO_WORK_FOUND
116 WARNING "Ignoring unexpected {0} when retrieving of work from work queue, {1}.")
(THREAD_POOL_CLOSE_ERROR 126 WARNING "Error in closing ThreadPool")
(THREAD_GROUP_IS_DESTROYED 127 WARNING "ThreadGroup {0} is already destroyed: can't destroy it")
(THREAD_GROUP_HAS_ACTIVE_THREADS_IN_CLOSE 128 WARNING "ThreadGroup {0} has {1} active threads: destroy may cause exception")
(THREAD_GROUP_HAS_SUB_GROUPS_IN_CLOSE 129 WARNING "ThreadGroup {0} has {1} sub-thread groups: destroy may cause exception")
(THREAD_GROUP_DESTROY_FAILED 130 WARNING "ThreadGroup {0} could not be destroyed")
(INTERRUPTED_JOIN_CALL_WHILE_CLOSING_THREAD_POOL 131 WARNING "Join was interrupted on thread {0} while closing ThreadPool {1}")
)
(MARSHAL
(CHUNK_OVERFLOW 1 WARNING "Data read past end of chunk without closing the chunk")
(UNEXPECTED_EOF 2 WARNING "Grow buffer strategy called underflow handler")

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
*/
package com.sun.corba.se.spi.monitoring;
import java.io.Closeable;
import com.sun.corba.se.spi.orb.ORB;
import com.sun.corba.se.spi.monitoring.MonitoredObject;
import java.util.*;
@@ -39,7 +40,7 @@ import java.util.*;
* @author Hemanth Puttaswamy
* </p>
*/
public interface MonitoringManager {
public interface MonitoringManager extends Closeable {
///////////////////////////////////////
// operations

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2012, 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,4 +40,6 @@ public interface MonitoringManagerFactory {
*/
MonitoringManager createMonitoringManager( String nameOfTheRoot,
String description );
void remove(String nameOfTheRoot);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2012, 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
@@ -171,7 +171,7 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
private static Map staticWrapperMap = new ConcurrentHashMap();
private MonitoringManager monitoringManager;
protected MonitoringManager monitoringManager;
// There is only one instance of the PresentationManager
// that is shared between all ORBs. This is necessary
@@ -226,6 +226,14 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
globalPM.setStubFactoryFactory( true, dynamicStubFactoryFactory ) ;
}
public void destroy() {
wrapper = null;
omgWrapper = null;
typeCodeMap = null;
primitiveTypeCodeConstants = null;
byteBufferPool = null;
}
/** Get the single instance of the PresentationManager
*/
public static PresentationManager getPresentationManager()
@@ -302,6 +310,9 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
// Typecode support: needed in both ORBImpl and ORBSingleton
public TypeCodeImpl get_primitive_tc(int kind)
{
synchronized (this) {
checkShutdownState();
}
try {
return primitiveTypeCodeConstants[kind] ;
} catch (Throwable t) {
@@ -311,15 +322,20 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
public synchronized void setTypeCode(String id, TypeCodeImpl code)
{
checkShutdownState();
typeCodeMap.put(id, code);
}
public synchronized TypeCodeImpl getTypeCode(String id)
{
checkShutdownState();
return (TypeCodeImpl)typeCodeMap.get(id);
}
public MonitoringManager getMonitoringManager( ) {
synchronized (this) {
checkShutdownState();
}
return monitoringManager;
}
@@ -434,6 +450,9 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
*/
public Logger getLogger( String domain )
{
synchronized (this) {
checkShutdownState();
}
ORBData odata = getORBData() ;
// Determine the correct ORBId. There are 3 cases:
@@ -510,6 +529,9 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
// This method must also be inherited by both ORB and ORBSingleton.
public ByteBufferPool getByteBufferPool()
{
synchronized (this) {
checkShutdownState();
}
if (byteBufferPool == null)
byteBufferPool = new ByteBufferPoolImpl(this);

Some files were not shown because too many files have changed in this diff Show More