mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2026-01-06 00:21:41 +01:00
Compare commits
1127 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ae2fc83cf | ||
|
|
6173d9b8b8 | ||
|
|
7d2f00b509 | ||
|
|
6977fcf059 | ||
|
|
7dd1b0083e | ||
|
|
5033b80dae | ||
|
|
ed56d073bf | ||
|
|
dbf4b1d8c3 | ||
|
|
e589dbf67e | ||
|
|
3874ae3370 | ||
|
|
0e1d21ac3d | ||
|
|
5fa380626f | ||
|
|
da51c5b9c3 | ||
|
|
ed71f7957d | ||
|
|
81dc2769c4 | ||
|
|
d186db2030 | ||
|
|
8b3d68fe65 | ||
|
|
8bab80ca2b | ||
|
|
a4ce46a1b1 | ||
|
|
0059f7f0cb | ||
|
|
7159e1b97a | ||
|
|
0616b15714 | ||
|
|
93ffd30adf | ||
|
|
643fc4346f | ||
|
|
44a4e2bc87 | ||
|
|
64ca9ef411 | ||
|
|
dad0f958c5 | ||
|
|
3ea48e5a18 | ||
|
|
859206c880 | ||
|
|
45087fe3fe | ||
|
|
2617c60323 | ||
|
|
2480f55ce9 | ||
|
|
af4b8efc5b | ||
|
|
ebd57a584f | ||
|
|
77386bb764 | ||
|
|
3a48d11696 | ||
|
|
714780e4e1 | ||
|
|
c54f0af3e2 | ||
|
|
5d7352e03b | ||
|
|
ca51865604 | ||
|
|
a487e981af | ||
|
|
99b68847cf | ||
|
|
4fc0258f67 | ||
|
|
60cf8e0966 | ||
|
|
8cc855fbb8 | ||
|
|
add9647ed7 | ||
|
|
b4ce8868b5 | ||
|
|
df9d0ad5d7 | ||
|
|
df7769a808 | ||
|
|
a4bd44b878 | ||
|
|
140ecd5820 | ||
|
|
7b02498583 | ||
|
|
d8d9ba50ea | ||
|
|
bc989dcfb8 | ||
|
|
7342ada9e4 | ||
|
|
056918b327 | ||
|
|
fc0cd82e46 | ||
|
|
e5d5c1aab6 | ||
|
|
01c67399b1 | ||
|
|
7e8240f961 | ||
|
|
1cd315930c | ||
|
|
fbb8e03b88 | ||
|
|
c3e02d7204 | ||
|
|
d64d53d932 | ||
|
|
d6ba5ab1f7 | ||
|
|
be924849d2 | ||
|
|
e67992dad7 | ||
|
|
39c946d2b8 | ||
|
|
3356cd5be7 | ||
|
|
3c77469bb6 | ||
|
|
4ac932b0f7 | ||
|
|
eb04bc3637 | ||
|
|
0bd0f10d2c | ||
|
|
e6ad6af7b2 | ||
|
|
181685b575 | ||
|
|
d72c7a9653 | ||
|
|
eaa8dee857 | ||
|
|
c7c2c8d131 | ||
|
|
ae82a02058 | ||
|
|
c9a2ea98b6 | ||
|
|
135c61b9fe | ||
|
|
d9f2421530 | ||
|
|
239bb4d2cb | ||
|
|
cb126a3818 | ||
|
|
7e120f68e8 | ||
|
|
c62f7c7ec5 | ||
|
|
0a8ed973da | ||
|
|
8cd2aa8c64 | ||
|
|
a4aa79ba87 | ||
|
|
cb7c345a1d | ||
|
|
2144b9acc2 | ||
|
|
b46b43b285 | ||
|
|
d132d74dd0 | ||
|
|
8b4538db5f | ||
|
|
9549e2dce7 | ||
|
|
5d8706c95b | ||
|
|
ecec377dfb | ||
|
|
1024d6cff1 | ||
|
|
75e441bde8 | ||
|
|
04cfde006d | ||
|
|
42e29debd9 | ||
|
|
1320f8414e | ||
|
|
1c123ba7ee | ||
|
|
53342071dd | ||
|
|
2d4322b265 | ||
|
|
da4d3b0482 | ||
|
|
461702e4e6 | ||
|
|
d71c0e6a0b | ||
|
|
d1d2698351 | ||
|
|
f5ed1d3224 | ||
|
|
44d4120f65 | ||
|
|
e86933fff3 | ||
|
|
b2679e3dc4 | ||
|
|
3a4aad2225 | ||
|
|
e4b2c239c4 | ||
|
|
f25ae0ee7e | ||
|
|
36a66bf5ec | ||
|
|
99d320c026 | ||
|
|
18cbe9120e | ||
|
|
9ba9de33df | ||
|
|
4862cbc68f | ||
|
|
df52a32006 | ||
|
|
25f67f3bbe | ||
|
|
617591c8ba | ||
|
|
8053bdbf2d | ||
|
|
6ced2b5d2a | ||
|
|
dd52284e0b | ||
|
|
c88a15e039 | ||
|
|
acdfc13f59 | ||
|
|
848bdbff6e | ||
|
|
7daccf11f8 | ||
|
|
7e92fd9fb2 | ||
|
|
a095fb8923 | ||
|
|
41c256442e | ||
|
|
a497f97e12 | ||
|
|
fafaa2ed64 | ||
|
|
1a159a4c9a | ||
|
|
09f27e54a4 | ||
|
|
09b7dae441 | ||
|
|
660a621b77 | ||
|
|
0407a3cf9e | ||
|
|
d581e4f434 | ||
|
|
181f23cfef | ||
|
|
cdcbbea8cb | ||
|
|
80fdc078e7 | ||
|
|
4dfa884fe5 | ||
|
|
3a681162e4 | ||
|
|
3aae57e052 | ||
|
|
f9f932a9f3 | ||
|
|
67135065d9 | ||
|
|
c420cdefc2 | ||
|
|
3d54748189 | ||
|
|
cd33310431 | ||
|
|
79ed0e75ce | ||
|
|
4295a2eea6 | ||
|
|
7bc8c8a57e | ||
|
|
b2e3b2f545 | ||
|
|
d7ada9bb77 | ||
|
|
60bd27ee73 | ||
|
|
707e6f0318 | ||
|
|
64789c2491 | ||
|
|
bb03754fd1 | ||
|
|
8f61f3fcff | ||
|
|
ef57b6ecfd | ||
|
|
5301c4b90d | ||
|
|
d1ecf9099e | ||
|
|
5a96d19828 | ||
|
|
87e50b0cd1 | ||
|
|
eb71d414e1 | ||
|
|
17b6195bbd | ||
|
|
89dcd572a6 | ||
|
|
14f97bb004 | ||
|
|
b274587600 | ||
|
|
f315d35ad5 | ||
|
|
ccc776c4de | ||
|
|
60e8c4f73e | ||
|
|
9d92c99126 | ||
|
|
215735255a | ||
|
|
f151708489 | ||
|
|
2fa98fdbd7 | ||
|
|
b8683ec199 | ||
|
|
ae511866fd | ||
|
|
76006dc11b | ||
|
|
83fb083bfa | ||
|
|
1524b98ebc | ||
|
|
1b5984baee | ||
|
|
6c96acb83a | ||
|
|
2a6c9e96b3 | ||
|
|
1546b42862 | ||
|
|
22c924061d | ||
|
|
0e15b9fce3 | ||
|
|
be669a7211 | ||
|
|
8b7cdbeb44 | ||
|
|
4f08e82908 | ||
|
|
41fb6ec356 | ||
|
|
b8107f137d | ||
|
|
4c592b0ab5 | ||
|
|
5b6c23c809 | ||
|
|
39ef076af4 | ||
|
|
39a2b6c9ff | ||
|
|
8676006f11 | ||
|
|
28dedbec71 | ||
|
|
a77052796a | ||
|
|
f79c2a901f | ||
|
|
c0b8fe5e03 | ||
|
|
296ddc8e2e | ||
|
|
ce2df719c6 | ||
|
|
aa4bee613c | ||
|
|
085e1ad6e1 | ||
|
|
ddf465f954 | ||
|
|
42b61014b3 | ||
|
|
c3d3f0f262 | ||
|
|
3f811bd634 | ||
|
|
4b08c56f72 | ||
|
|
4472d78cbc | ||
|
|
c661170adb | ||
|
|
ac1e3ac7bc | ||
|
|
9072e150d7 | ||
|
|
628e3faeb4 | ||
|
|
273b1733c0 | ||
|
|
9c9fc5ccc2 | ||
|
|
1d6db6ac20 | ||
|
|
a3d41ab693 | ||
|
|
b489fcb880 | ||
|
|
8d5ed096f0 | ||
|
|
59efb01f6a | ||
|
|
afd2f4fa08 | ||
|
|
16225759ef | ||
|
|
58e30546d1 | ||
|
|
431c033058 | ||
|
|
83b80f473c | ||
|
|
d6009ec771 | ||
|
|
b09bdda512 | ||
|
|
fb4886a3b5 | ||
|
|
9b7bf4d582 | ||
|
|
b64a0fd5a4 | ||
|
|
f37b5faab7 | ||
|
|
e202a05c38 | ||
|
|
d4d5f60edc | ||
|
|
12866a1517 | ||
|
|
1e5846085c | ||
|
|
298e9ecabf | ||
|
|
fba090f3e8 | ||
|
|
61f42f27c5 | ||
|
|
308952f81e | ||
|
|
a1396ef871 | ||
|
|
458c60b276 | ||
|
|
cfd8e545dd | ||
|
|
b3324bf23d | ||
|
|
0a4cc582e7 | ||
|
|
63cb31c203 | ||
|
|
249b1f6c4f | ||
|
|
d7bcf98e99 | ||
|
|
50c896bef9 | ||
|
|
9b7bc21bb0 | ||
|
|
ac9f97939f | ||
|
|
b8b9c35567 | ||
|
|
eb350dece2 | ||
|
|
53b29c21d0 | ||
|
|
b1deb7b1e3 | ||
|
|
c51ac2a369 | ||
|
|
225924d47a | ||
|
|
f685cc171a | ||
|
|
efcecaa50a | ||
|
|
b71960eeee | ||
|
|
f07d7731aa | ||
|
|
d6eb6a5be4 | ||
|
|
faa52adcad | ||
|
|
e39f48eed4 | ||
|
|
ce0125e7f2 | ||
|
|
fb2011ac04 | ||
|
|
c798146bee | ||
|
|
b22ecee555 | ||
|
|
aab01a90d7 | ||
|
|
8954a44a05 | ||
|
|
96bceadcdc | ||
|
|
af760db464 | ||
|
|
4dce0bd6ec | ||
|
|
2c483fba5c | ||
|
|
49e996e3c1 | ||
|
|
2b6cf5554e | ||
|
|
22ae92c324 | ||
|
|
9333ab2399 | ||
|
|
fe482aaef1 | ||
|
|
64f5660146 | ||
|
|
d75356caef | ||
|
|
aa30496d73 | ||
|
|
a62c13ae81 | ||
|
|
705e36bf62 | ||
|
|
50ca3769fa | ||
|
|
3e7e25e084 | ||
|
|
d2ef113186 | ||
|
|
336fbd6d7f | ||
|
|
6f104b3aa2 | ||
|
|
853aa6eaaa | ||
|
|
2c65efd85c | ||
|
|
2ce0024552 | ||
|
|
767a9a4f1a | ||
|
|
b8baad4610 | ||
|
|
39ed27a831 | ||
|
|
efaaa59c32 | ||
|
|
0bfe5485db | ||
|
|
331bfdb1c0 | ||
|
|
e36f1e36eb | ||
|
|
be83322c89 | ||
|
|
38a42096b0 | ||
|
|
37502d4f79 | ||
|
|
3a8d7f818e | ||
|
|
38eb6ee523 | ||
|
|
9b27c6cc6f | ||
|
|
00b0b853c8 | ||
|
|
e5836e6721 | ||
|
|
cbc7f8756a | ||
|
|
35cc8afcf9 | ||
|
|
22929fb78f | ||
|
|
ffc7677859 | ||
|
|
d6aaa2692f | ||
|
|
5b64666e30 | ||
|
|
9e89fb4e97 | ||
|
|
f8b4e1e1bd | ||
|
|
454c892638 | ||
|
|
7a66e4288e | ||
|
|
4ebbe4ca45 | ||
|
|
1e63f773b1 | ||
|
|
2580a79f30 | ||
|
|
74b3f2ef97 | ||
|
|
554e77efb4 | ||
|
|
9c7bfd60b5 | ||
|
|
3dbab834fd | ||
|
|
6bd69199fb | ||
|
|
d2d92cc407 | ||
|
|
1e57e21d50 | ||
|
|
da6aa972d6 | ||
|
|
fdf87ef7b2 | ||
|
|
40775a5ab5 | ||
|
|
1571a4a56f | ||
|
|
704780d250 | ||
|
|
7d22a39cae | ||
|
|
0d92e368ee | ||
|
|
c3401153c8 | ||
|
|
c6d66451cf | ||
|
|
6884edbc25 | ||
|
|
d9b5ccdbd9 | ||
|
|
8a75e5275a | ||
|
|
eee0c8b959 | ||
|
|
c63f0d6e6a | ||
|
|
631d924ad6 | ||
|
|
fbe778aead | ||
|
|
1d8c677377 | ||
|
|
bf00a77f2d | ||
|
|
6a17d9c416 | ||
|
|
d0f3de3b59 | ||
|
|
441155f0d9 | ||
|
|
9cabdbf770 | ||
|
|
564807c643 | ||
|
|
12468f7bcf | ||
|
|
45d07f9520 | ||
|
|
725109cea1 | ||
|
|
cfb1ea458c | ||
|
|
1022ea2299 | ||
|
|
8df28ab0e3 | ||
|
|
67a5640f22 | ||
|
|
4e9ee94a4d | ||
|
|
9b05f554fa | ||
|
|
daa052114f | ||
|
|
1ba350e5eb | ||
|
|
ce8fb6a9cb | ||
|
|
c15f563911 | ||
|
|
3a878bffe5 | ||
|
|
d207ddff59 | ||
|
|
a201a9248c | ||
|
|
7ed3e0a896 | ||
|
|
14d9ac3169 | ||
|
|
42fc60ebfd | ||
|
|
0c660e1f60 | ||
|
|
f6acb9efb0 | ||
|
|
96ee797a21 | ||
|
|
ff78864994 | ||
|
|
0c9bfb6003 | ||
|
|
e4f08bc195 | ||
|
|
4af336814e | ||
|
|
649b50b659 | ||
|
|
1ff2431b71 | ||
|
|
e8bd538cc9 | ||
|
|
bbded477bb | ||
|
|
444dc7067b | ||
|
|
aa1307fc6e | ||
|
|
4bf36a476f | ||
|
|
cd9f7232bb | ||
|
|
b3cbd07d1a | ||
|
|
e1a504b343 | ||
|
|
5e04c64e9e | ||
|
|
134dfead44 | ||
|
|
e79e841636 | ||
|
|
77580cfc93 | ||
|
|
fd66f3bd4c | ||
|
|
edef1c5aef | ||
|
|
c37a3a68ef | ||
|
|
5e71d60833 | ||
|
|
b9a07ccad7 | ||
|
|
982b899b40 | ||
|
|
fa55c66665 | ||
|
|
e1c7683735 | ||
|
|
a490b634df | ||
|
|
daea1b7ef4 | ||
|
|
f589bf7945 | ||
|
|
74d4519ed4 | ||
|
|
4b93eff932 | ||
|
|
9fc2bd47e3 | ||
|
|
add5d46008 | ||
|
|
1fdf430197 | ||
|
|
50a3d5d4a0 | ||
|
|
ec8fa4caa2 | ||
|
|
e17e251af7 | ||
|
|
0af2737f3a | ||
|
|
d849b89a03 | ||
|
|
b269b5a65c | ||
|
|
e79a62412f | ||
|
|
f3d579d254 | ||
|
|
3ac6dde5fa | ||
|
|
6445f22ebc | ||
|
|
9dd9c6f50b | ||
|
|
0ffa1c4042 | ||
|
|
225a3b0eb8 | ||
|
|
c225b71d63 | ||
|
|
7d2a7e7452 | ||
|
|
bbc2ed3f74 | ||
|
|
571e75371e | ||
|
|
08e2ead403 | ||
|
|
98e9ecf9da | ||
|
|
28a13e88e7 | ||
|
|
822884735d | ||
|
|
2ea1ba10a2 | ||
|
|
b4b4ed03ec | ||
|
|
214427fe78 | ||
|
|
8ce4604331 | ||
|
|
3f57abb0ba | ||
|
|
2baca00eeb | ||
|
|
1966035b23 | ||
|
|
1c0385ff6f | ||
|
|
9f9f353cf4 | ||
|
|
6de8a21e10 | ||
|
|
d85b042fca | ||
|
|
4712a60841 | ||
|
|
20771647bb | ||
|
|
02bad20969 | ||
|
|
8742f245de | ||
|
|
da95f5319e | ||
|
|
214842d862 | ||
|
|
bc52d31ebd | ||
|
|
9c061c00c8 | ||
|
|
e870866699 | ||
|
|
39bcf3ff5f | ||
|
|
79abb3e80f | ||
|
|
48e04c75c5 | ||
|
|
d990871881 | ||
|
|
3c15a7d6a1 | ||
|
|
0b7ceb0204 | ||
|
|
0e4ed251b8 | ||
|
|
1e803e2c7d | ||
|
|
752ae0cda8 | ||
|
|
2d526410d4 | ||
|
|
add97e78c6 | ||
|
|
cdc9022728 | ||
|
|
955b2e0370 | ||
|
|
0624da807d | ||
|
|
ad43522016 | ||
|
|
0615bd9a48 | ||
|
|
a10ec19a4d | ||
|
|
769a8dd872 | ||
|
|
d78f92c413 | ||
|
|
39d16839d3 | ||
|
|
55f7d8222a | ||
|
|
1da6aa89d2 | ||
|
|
85df6f646d | ||
|
|
545a471906 | ||
|
|
ea504457e0 | ||
|
|
a6e5f5eb91 | ||
|
|
b705fe7b12 | ||
|
|
70757fa269 | ||
|
|
74e14ce601 | ||
|
|
e924b42b38 | ||
|
|
a594a8dea5 | ||
|
|
72616ad2bc | ||
|
|
2e08a82953 | ||
|
|
39992cab03 | ||
|
|
b6584fa0ab | ||
|
|
1e7137761d | ||
|
|
14a7edc2ad | ||
|
|
1550d01979 | ||
|
|
cdf0f01c92 | ||
|
|
8b789531bf | ||
|
|
790044e161 | ||
|
|
68f9001261 | ||
|
|
478fb788a2 | ||
|
|
c532790517 | ||
|
|
7752677d6c | ||
|
|
2d791621a4 | ||
|
|
f3c22cd1e2 | ||
|
|
ec3cd6e3f0 | ||
|
|
5967ec228d | ||
|
|
84e48aee05 | ||
|
|
c5191a8103 | ||
|
|
3ba822a482 | ||
|
|
42867588ae | ||
|
|
246920e930 | ||
|
|
32ebbc92ec | ||
|
|
014b414926 | ||
|
|
f591ed981d | ||
|
|
9b42254d9a | ||
|
|
98a4c7fec4 | ||
|
|
045f71ec25 | ||
|
|
f8a4e42fb3 | ||
|
|
70586de1c1 | ||
|
|
e94376800f | ||
|
|
981d5fdfcb | ||
|
|
4ba2050f4e | ||
|
|
9e4a795ff5 | ||
|
|
0c5307c12b | ||
|
|
41cc1e2f4a | ||
|
|
8aee53f1b5 | ||
|
|
afc679f6ad | ||
|
|
fbb62aa566 | ||
|
|
2588620965 | ||
|
|
ca93e7004f | ||
|
|
b44a1bd105 | ||
|
|
57d8d8c535 | ||
|
|
d23d2cf6a9 | ||
|
|
ee93235260 | ||
|
|
afac13bfe2 | ||
|
|
c299b2e4c0 | ||
|
|
3ee389a913 | ||
|
|
ee2df8c3c0 | ||
|
|
fb444f04e2 | ||
|
|
be3968f8b4 | ||
|
|
76b7afa4ea | ||
|
|
498a2a778a | ||
|
|
86b4193a54 | ||
|
|
b03add14fc | ||
|
|
189be5a71f | ||
|
|
8980543dc1 | ||
|
|
20289fbffd | ||
|
|
8fbdf5c7f0 | ||
|
|
f5a046aae8 | ||
|
|
8ca7d6b81c | ||
|
|
9c946f5a9c | ||
|
|
7cc55737b6 | ||
|
|
63fd308170 | ||
|
|
603e50f355 | ||
|
|
b281273d71 | ||
|
|
013d469322 | ||
|
|
55c5ae3011 | ||
|
|
afc563751f | ||
|
|
848ef2c6e7 | ||
|
|
ce43c743ff | ||
|
|
35092b1bf3 | ||
|
|
4231c49495 | ||
|
|
8309071a08 | ||
|
|
cf2163334f | ||
|
|
ef791d4adb | ||
|
|
8067fc5d4a | ||
|
|
674e1ca1c7 | ||
|
|
59ea7a14e6 | ||
|
|
b1bd74bb7d | ||
|
|
13069fe969 | ||
|
|
1cdd538ea5 | ||
|
|
23fe7ade81 | ||
|
|
836de5036c | ||
|
|
8ddfb92179 | ||
|
|
55a531c45f | ||
|
|
aff36499e7 | ||
|
|
6e5fbc5669 | ||
|
|
2cd0e300b8 | ||
|
|
ff8174e3e4 | ||
|
|
2c29ae4f3c | ||
|
|
07a295701d | ||
|
|
523d43b1e3 | ||
|
|
421b7e62a6 | ||
|
|
b3583c3d0d | ||
|
|
5384d6be9e | ||
|
|
95a1a60964 | ||
|
|
d2bd33c264 | ||
|
|
f5bac56265 | ||
|
|
2730836d77 | ||
|
|
26f967ece4 | ||
|
|
365010ff3e | ||
|
|
625c4ba907 | ||
|
|
0969410407 | ||
|
|
397abc7260 | ||
|
|
b90f2341f9 | ||
|
|
b362a78fef | ||
|
|
78db31beb6 | ||
|
|
53e6cf8989 | ||
|
|
718a6bf6c2 | ||
|
|
d7169cc13e | ||
|
|
b32aa9d2d5 | ||
|
|
98b2aad842 | ||
|
|
6b9e679958 | ||
|
|
e9c4f04da5 | ||
|
|
a6714f583f | ||
|
|
d0ae7f5633 | ||
|
|
1baf4d94fb | ||
|
|
f181e2fb8f | ||
|
|
0294919402 | ||
|
|
4e0aea2b65 | ||
|
|
e0c099ccb2 | ||
|
|
718b005834 | ||
|
|
79847991ad | ||
|
|
b7d1b4674b | ||
|
|
03f9d08651 | ||
|
|
84ca32b8df | ||
|
|
90841ef428 | ||
|
|
311fc82f63 | ||
|
|
59fbc51787 | ||
|
|
d7a72c75ba | ||
|
|
fcc90d4983 | ||
|
|
b640ef0cf0 | ||
|
|
3ca0fc1853 | ||
|
|
b03b79abd0 | ||
|
|
bce771e0fe | ||
|
|
872a9b9303 | ||
|
|
16efe7ce5c | ||
|
|
f788ac2dbd | ||
|
|
f4b4eae617 | ||
|
|
5e44010f8c | ||
|
|
4b6857d9ba | ||
|
|
86803785e8 | ||
|
|
9e9551fdd8 | ||
|
|
28c94557eb | ||
|
|
c7a512e006 | ||
|
|
0f31511718 | ||
|
|
9d5707e87d | ||
|
|
0d636dcf1c | ||
|
|
08b41f30d8 | ||
|
|
89def18fca | ||
|
|
83a639538d | ||
|
|
94ffffd5cb | ||
|
|
bc7a44e595 | ||
|
|
05fb73163c | ||
|
|
cd3371e702 | ||
|
|
fbf72650b9 | ||
|
|
11bbc5d5bc | ||
|
|
de088dd719 | ||
|
|
07ebbaac23 | ||
|
|
11cc8fa5e6 | ||
|
|
d9989f8e0e | ||
|
|
db3fbf8180 | ||
|
|
1c45f6db9e | ||
|
|
76501ba258 | ||
|
|
80129bc004 | ||
|
|
f00f0ea36c | ||
|
|
43560f0748 | ||
|
|
1832138a31 | ||
|
|
979b63326f | ||
|
|
45ad71b565 | ||
|
|
c90d91d5fc | ||
|
|
f0108fe6f5 | ||
|
|
f9eb9cccb9 | ||
|
|
7f63e3eed1 | ||
|
|
de82fae26f | ||
|
|
902201cf7f | ||
|
|
5e98ce13ab | ||
|
|
a8cfef66b3 | ||
|
|
47f544e802 | ||
|
|
2299cf4c82 | ||
|
|
b23471dfea | ||
|
|
d346ecbbb3 | ||
|
|
e96d855817 | ||
|
|
910804d2fa | ||
|
|
3af63c10ab | ||
|
|
dc37688eb9 | ||
|
|
a682d9348d | ||
|
|
769dc2ec55 | ||
|
|
d70f7c5e50 | ||
|
|
4867065f0c | ||
|
|
cb5a0045e9 | ||
|
|
3921d2c36d | ||
|
|
734c8fdcc0 | ||
|
|
9ed4d2afe1 | ||
|
|
e0caf9f660 | ||
|
|
1144807f1f | ||
|
|
a5da7a1b31 | ||
|
|
577dd2fc6d | ||
|
|
4dff2e9974 | ||
|
|
331eea0db7 | ||
|
|
575b9e1d81 | ||
|
|
2e4e2602d7 | ||
|
|
7880134a10 | ||
|
|
d192004010 | ||
|
|
1ab450b848 | ||
|
|
7100220f9b | ||
|
|
55b13f6d55 | ||
|
|
7df5e956d1 | ||
|
|
e65f42fe5e | ||
|
|
817fbc9a0b | ||
|
|
62180d1385 | ||
|
|
c69aa15d0e | ||
|
|
306f12db9e | ||
|
|
7ac64fa594 | ||
|
|
ded210964b | ||
|
|
bf0670e111 | ||
|
|
a6d309e0bb | ||
|
|
82088e1e2b | ||
|
|
4cf465320c | ||
|
|
65b5c68b97 | ||
|
|
52e3d262a1 | ||
|
|
ce46bf1737 | ||
|
|
7be7d19ba5 | ||
|
|
aa21a39d97 | ||
|
|
e3c7ca0c53 | ||
|
|
0d2b8790d3 | ||
|
|
662f05162a | ||
|
|
2b0e8a56df | ||
|
|
b9760f8836 | ||
|
|
efedb2236a | ||
|
|
0ffd8f54e0 | ||
|
|
ef46184e89 | ||
|
|
a4641686a0 | ||
|
|
4c7ea63262 | ||
|
|
0aba89442c | ||
|
|
2cb284f394 | ||
|
|
ce872b40fb | ||
|
|
f53d569221 | ||
|
|
ea6a45ae32 | ||
|
|
fbca39ee5d | ||
|
|
36b68b66fa | ||
|
|
9dbee5740e | ||
|
|
ba3ab12326 | ||
|
|
7640dd5bee | ||
|
|
218b17b913 | ||
|
|
0fb0f54897 | ||
|
|
b7f1641806 | ||
|
|
dea3e2e152 | ||
|
|
036b7a86a5 | ||
|
|
310f795628 | ||
|
|
6c5a8b341b | ||
|
|
5ef912b870 | ||
|
|
fd65dbfc50 | ||
|
|
f7e31fc6c2 | ||
|
|
e179cdf2fb | ||
|
|
3b975443ec | ||
|
|
f1d3652b00 | ||
|
|
7998ff0c05 | ||
|
|
811a0f0155 | ||
|
|
56ac0fe70e | ||
|
|
92a8efc635 | ||
|
|
f90e336a8f | ||
|
|
bca2254386 | ||
|
|
3d2d72a852 | ||
|
|
949983f6b0 | ||
|
|
c73d500311 | ||
|
|
af2548723c | ||
|
|
899dcb6de0 | ||
|
|
93c9356496 | ||
|
|
3a9f12ff35 | ||
|
|
a5aa8a0943 | ||
|
|
0ecb9e3298 | ||
|
|
45c90a843e | ||
|
|
6fbfeff4e2 | ||
|
|
c7b608b1ed | ||
|
|
2077fb46a1 | ||
|
|
95737d0cbb | ||
|
|
9f20021e7a | ||
|
|
bad3865d4e | ||
|
|
79fbcf5d03 | ||
|
|
28e56b8970 | ||
|
|
9ed55aba81 | ||
|
|
9f5159e694 | ||
|
|
39b38dd6cf | ||
|
|
34668d416b | ||
|
|
6663780cd0 | ||
|
|
8fa6d6114b | ||
|
|
059de12e57 | ||
|
|
d0cc3fc376 | ||
|
|
393c6a7961 | ||
|
|
a252fc3e6c | ||
|
|
729eada18b | ||
|
|
a7ac1a62c9 | ||
|
|
9b7b52281b | ||
|
|
f44a7ee069 | ||
|
|
2abe4f48b7 | ||
|
|
92e93b59c6 | ||
|
|
ac8ea93468 | ||
|
|
43a5a8356f | ||
|
|
8890e99b2c | ||
|
|
68ba7cf2a3 | ||
|
|
34b016cb42 | ||
|
|
cf8bea660b | ||
|
|
08c9310254 | ||
|
|
dc9d72b5b1 | ||
|
|
4da9c57770 | ||
|
|
c1ac5e8862 | ||
|
|
cd74d63c12 | ||
|
|
73825fc885 | ||
|
|
06c0a051da | ||
|
|
5c3276599b | ||
|
|
2d2d444adf | ||
|
|
ade072e46b | ||
|
|
c09fe5cafb | ||
|
|
657e4c62cb | ||
|
|
0b8bc76cef | ||
|
|
96eebc523f | ||
|
|
a239e8e462 | ||
|
|
2d875cdd6f | ||
|
|
2c66a6c3fd | ||
|
|
7d47787007 | ||
|
|
225ef04d34 | ||
|
|
990a6d67a1 | ||
|
|
57cf63def3 | ||
|
|
f4bbd7d192 | ||
|
|
9cf82cab33 | ||
|
|
aaf5561c57 | ||
|
|
e4db025a73 | ||
|
|
5e55abdeff | ||
|
|
2111493f31 | ||
|
|
5b58b51e22 | ||
|
|
c5ccd42ac0 | ||
|
|
ef7b8cbc9e | ||
|
|
2fdbbbae4e | ||
|
|
fdaf5c86b2 | ||
|
|
977ad1ae6a | ||
|
|
60cf6eb1de | ||
|
|
3069fdf9a9 | ||
|
|
abe7f3a325 | ||
|
|
9be3194788 | ||
|
|
1b9e0aa8c7 | ||
|
|
d8dfb1b778 | ||
|
|
1b0d81a994 | ||
|
|
753b8d0fea | ||
|
|
022ee216f4 | ||
|
|
6e78f6cb4b | ||
|
|
9a37a1e776 | ||
|
|
caef089b98 | ||
|
|
183a7b7797 | ||
|
|
6a4b939143 | ||
|
|
34f54b7bb3 | ||
|
|
bb11fa02a6 | ||
|
|
1cef1a3806 | ||
|
|
77b5bbb1b5 | ||
|
|
db3c413268 | ||
|
|
080f83060e | ||
|
|
c66d80c2d5 | ||
|
|
ca3dbff3f8 | ||
|
|
690e6e149c | ||
|
|
63495e2114 | ||
|
|
d950166573 | ||
|
|
624d93d4fa | ||
|
|
9efc3ebc3f | ||
|
|
6d2cb04013 | ||
|
|
2aa1723b39 | ||
|
|
c8f3efcc75 | ||
|
|
41e1560d14 | ||
|
|
5d5bcb4bca | ||
|
|
0930f81131 | ||
|
|
84aedee955 | ||
|
|
7f6ca92673 | ||
|
|
1edc810119 | ||
|
|
3f7bac73fe | ||
|
|
8098787972 | ||
|
|
4b9d7640a7 | ||
|
|
7fe5113fe7 | ||
|
|
0c82e12244 | ||
|
|
ae1cce3a74 | ||
|
|
aff3ad21b8 | ||
|
|
d7850a0df7 | ||
|
|
e96eb944c2 | ||
|
|
150ca9b5b1 | ||
|
|
08d9e03b81 | ||
|
|
fba51e328b | ||
|
|
99d83d8d85 | ||
|
|
6247222cf6 | ||
|
|
6c64bcc393 | ||
|
|
b513e518d2 | ||
|
|
2114fddad9 | ||
|
|
6a0c40f1fe | ||
|
|
38d1512949 | ||
|
|
e3a36e4914 | ||
|
|
a805814fd4 | ||
|
|
a133e18a3b | ||
|
|
72ce2b8c22 | ||
|
|
1e6bf5f9e1 | ||
|
|
7f1dcd2d0f | ||
|
|
98f8b67c3a | ||
|
|
de9921986c | ||
|
|
45d90a7775 | ||
|
|
670922cd27 | ||
|
|
0f3dd95156 | ||
|
|
34fda8a36d | ||
|
|
be6d973a49 | ||
|
|
37fcc133f6 | ||
|
|
0e1661c2f1 | ||
|
|
d486ceec9f | ||
|
|
1456a4c423 | ||
|
|
a4b2fe3b1c | ||
|
|
19a9622303 | ||
|
|
d6c5c969f0 | ||
|
|
e0b5ab6bcb | ||
|
|
28253f9cb3 | ||
|
|
026d5787bb | ||
|
|
f2af16c789 | ||
|
|
0bd861fdb9 | ||
|
|
9f2b02319f | ||
|
|
23ee6aa5f6 | ||
|
|
c12f12ce8e | ||
|
|
c72513c86b | ||
|
|
8f806006bd | ||
|
|
6f001f2e2f | ||
|
|
f2e822b50f | ||
|
|
3756a7daa9 | ||
|
|
92de62f50b | ||
|
|
f5dd0bab3f | ||
|
|
11da6c2e2a | ||
|
|
226ae73a8d | ||
|
|
f92a419833 | ||
|
|
b7ca44871e | ||
|
|
b0942f5a43 | ||
|
|
107837ccd7 | ||
|
|
cd78cc6fdb | ||
|
|
c7e50e8305 | ||
|
|
5530cf1226 | ||
|
|
8a3ced949a | ||
|
|
ec4173f8cc | ||
|
|
6ee7ad5fe7 | ||
|
|
0597c930f1 | ||
|
|
519c627fe5 | ||
|
|
05802c5a7a | ||
|
|
28fff3ad36 | ||
|
|
1a4c564ed2 | ||
|
|
8a49894619 | ||
|
|
3a6039c5be | ||
|
|
8eb6166ca1 | ||
|
|
d13610cef5 | ||
|
|
6a8e4a71ed | ||
|
|
190c5bdf8a | ||
|
|
212be87e66 | ||
|
|
ce65360838 | ||
|
|
04d8c6d439 | ||
|
|
29264f0049 | ||
|
|
a54b1ff70e | ||
|
|
facee61c79 | ||
|
|
500e68f0b1 | ||
|
|
b002fe5992 | ||
|
|
e886514c96 | ||
|
|
634d001c64 | ||
|
|
d56e09153a | ||
|
|
71962ebfb0 | ||
|
|
c736a3d9c7 | ||
|
|
34198dbc4c | ||
|
|
846cfeee6e | ||
|
|
fb2ceb5470 | ||
|
|
737e6157fe | ||
|
|
fc61f2721e | ||
|
|
3b69a96c58 | ||
|
|
a325f5589a | ||
|
|
a3319eba8a | ||
|
|
2929434832 | ||
|
|
51e553fe0e | ||
|
|
ce2883fbbd | ||
|
|
7125621712 | ||
|
|
1f0201f90b | ||
|
|
1b2d47b99b | ||
|
|
8eca7db307 | ||
|
|
77f845359a | ||
|
|
a33a3ae92b | ||
|
|
d7787c25cf | ||
|
|
e66e60f894 | ||
|
|
2801325742 | ||
|
|
91bd86216a | ||
|
|
becf7cffb3 | ||
|
|
0f1f7c3b7f | ||
|
|
5223492f6b | ||
|
|
aff549a4ab | ||
|
|
f11a30cdf8 | ||
|
|
95a3c51ea7 | ||
|
|
daf33b796d | ||
|
|
21a5efbe75 | ||
|
|
1996b05795 | ||
|
|
c9abbe87df | ||
|
|
ba5d36a6d6 | ||
|
|
728414c987 | ||
|
|
ae38e974f0 | ||
|
|
02a9f5a885 | ||
|
|
a96301c84e | ||
|
|
83f6032e22 | ||
|
|
673cb7c129 | ||
|
|
f87e976a33 | ||
|
|
19addb504b | ||
|
|
8808e17f23 | ||
|
|
1d736d2851 | ||
|
|
abc4e4d7d0 | ||
|
|
49d555edee | ||
|
|
19009fcd51 | ||
|
|
bb7d4b2b35 | ||
|
|
b092cb33e6 | ||
|
|
a3c07597f2 | ||
|
|
d7310fb0f7 | ||
|
|
04d90d25e3 | ||
|
|
3072a8ef28 | ||
|
|
c9ac8cc788 | ||
|
|
b36bff7dcd | ||
|
|
7ee29eeb6a | ||
|
|
46e4eafc0c | ||
|
|
dc37d152e7 | ||
|
|
55323320b6 | ||
|
|
22534d46e9 | ||
|
|
e1edb38d9e | ||
|
|
1716bf859b | ||
|
|
23a89dba04 | ||
|
|
132dde52c3 | ||
|
|
b0e98512a7 | ||
|
|
68ff9b2b00 | ||
|
|
35703f67d9 | ||
|
|
5fee6662ef | ||
|
|
2e48a18645 | ||
|
|
7fe1c05c7c | ||
|
|
80a48b15c7 | ||
|
|
2791b0619d | ||
|
|
6cb5b0ee66 | ||
|
|
ba330f23de | ||
|
|
b8117e7869 | ||
|
|
8ab0372f60 | ||
|
|
57069c5967 | ||
|
|
7895bef72f | ||
|
|
438ccadcce | ||
|
|
f8eed77f36 | ||
|
|
fa2cb78a09 | ||
|
|
156e82c164 | ||
|
|
bc38b1c703 | ||
|
|
4728aa064a | ||
|
|
b4148f3379 | ||
|
|
5bed80aab9 | ||
|
|
500a66b0d8 | ||
|
|
2bcf6f798f | ||
|
|
707346f099 | ||
|
|
b95c7e9523 | ||
|
|
784f62993b | ||
|
|
6581804c68 | ||
|
|
3d517c6b50 | ||
|
|
bb7b93499c | ||
|
|
c3c47e6790 | ||
|
|
d5cc4b8c89 | ||
|
|
0c1962f5de | ||
|
|
74210780a0 | ||
|
|
f0b6dc4e4f | ||
|
|
bf106fcab7 | ||
|
|
e51e3b724f | ||
|
|
d3b90b4164 | ||
|
|
9f50973389 | ||
|
|
99a605b4b3 | ||
|
|
eff5854b96 | ||
|
|
75b1007388 | ||
|
|
30c006f23f | ||
|
|
18a0513e0d | ||
|
|
92a8ffe4ab | ||
|
|
af17406ae2 | ||
|
|
d08b7168c3 | ||
|
|
476f58c4af | ||
|
|
a38fe743aa | ||
|
|
d7444b88be | ||
|
|
541f7a7a41 | ||
|
|
1736731b74 | ||
|
|
2d91b17b0a | ||
|
|
c45761e2a8 | ||
|
|
d44a3683b1 | ||
|
|
bcbe3b2577 | ||
|
|
157108fe22 | ||
|
|
837cc6d064 | ||
|
|
caefa97f8c | ||
|
|
b071e2accc | ||
|
|
1c75e97108 | ||
|
|
ccd014ed3f | ||
|
|
cf3105821b | ||
|
|
564c0a977b | ||
|
|
9d92d626e3 | ||
|
|
53ac035768 | ||
|
|
f5561769de | ||
|
|
3fbdd52bdf | ||
|
|
575bf80be6 | ||
|
|
70d7880102 | ||
|
|
7eb8c115ec | ||
|
|
3dde10558a | ||
|
|
05153d7e82 | ||
|
|
38ab95c64b | ||
|
|
3a2b2b4fd8 | ||
|
|
75c23332be | ||
|
|
5fb46fd5a8 | ||
|
|
7dea7787e2 | ||
|
|
9f5d2eb156 | ||
|
|
5d8f395e2b | ||
|
|
11b424e02b | ||
|
|
c7d240fc1a | ||
|
|
2890d62dbb | ||
|
|
3888d500b9 | ||
|
|
882b752caf | ||
|
|
f2f06cfb5d | ||
|
|
2dace6e70f | ||
|
|
8ce591cea8 | ||
|
|
985efdc475 | ||
|
|
98f8ed01aa | ||
|
|
1e52a8c736 | ||
|
|
640336ebe6 | ||
|
|
7dcb52915b | ||
|
|
9c273720d6 | ||
|
|
aa93fd7701 | ||
|
|
6f5c11015d | ||
|
|
a1e7efde4a | ||
|
|
5db54afdea | ||
|
|
ec05f75ccd | ||
|
|
c3da619227 | ||
|
|
c20e1ffd6c | ||
|
|
bd18ff374c | ||
|
|
8d4635befb | ||
|
|
fe88c65a29 | ||
|
|
f34c8ae290 | ||
|
|
3eec4fa41e | ||
|
|
0a47db80ed | ||
|
|
76b5c4503b | ||
|
|
833dfdcbf2 | ||
|
|
97d968d3ff | ||
|
|
6b39e91deb | ||
|
|
16cf90d544 | ||
|
|
0b40058267 | ||
|
|
c218e4488e | ||
|
|
5d45157e24 | ||
|
|
cd7e00cd53 | ||
|
|
53a219bfee | ||
|
|
9b131fbbb8 |
16
.hgtags
16
.hgtags
@@ -78,3 +78,19 @@ c4c8a5bc54f66abc68cd185d9294042121922154 jdk7-b99
|
||||
2548ac036b8fca3326d058d758e6df8355a42469 jdk7-b101
|
||||
88db80c8e49cea352c2900f689600dc410761c1f jdk7-b102
|
||||
64770970865839b0443066370e7d476ef47e90cd jdk7-b103
|
||||
10bc903a228d3a8efdf46fb8c3fcf82a59b88bc5 jdk7-b104
|
||||
1ce7938efb03224ccc8b3cdd7803eb39e889539c jdk7-b105
|
||||
6bdae472f77205046703b685eff2ac4f7a0ecf4e jdk7-b106
|
||||
439de530aac531a360beedba6e2fe51e17292cc0 jdk7-b107
|
||||
044d31b99ef5609389fc771c422e722e5e224228 jdk7-b108
|
||||
e02b4d709e177d08d56130a4bc68061e4bbacc7d jdk7-b109
|
||||
a6442d6bc38a44152e0662688213ce4d2701f42a jdk7-b110
|
||||
69f3edf083477955b5bd2f754252c7504167d8e1 jdk7-b111
|
||||
f960f117f1623629f64203e2b09a92a8f6f14ff5 jdk7-b112
|
||||
1fee41c7ed2b3388970a756a85aa693c0de8407a jdk7-b113
|
||||
750c1ccb2f2d1ddfa95ab6c7f897fdab2f87f7e9 jdk7-b114
|
||||
9cb24917216bc68997154f6e9566c3de62acb2f4 jdk7-b115
|
||||
a4e6aa1f45ad23a6f083ed98d970b5006ea4d292 jdk7-b116
|
||||
228e73f288c543a8c34e2a54227103ae5649e6af jdk7-b117
|
||||
2e876e59938a853934aa738c811b26c452bd9fe8 jdk7-b118
|
||||
4951967a61b4dbbf514828879f57bd1a0d4b420b jdk7-b119
|
||||
|
||||
@@ -78,3 +78,19 @@ b218a53ec7d3d42be61d31d6917a6c5c037b6f56 jdk7-b100
|
||||
4193eaf5f1b82794c6a0fb1a8d11af43d1b1d611 jdk7-b101
|
||||
a136a51f5113da4dad3853b74a8536ab583ab112 jdk7-b102
|
||||
be2aedc4e3b1751c1310f334242ba69e90867f38 jdk7-b103
|
||||
f8be576feefce0c6695f188ef97ec16b73ad9cfd jdk7-b104
|
||||
9f96a4269d7727dad68864eaab795eafce270311 jdk7-b105
|
||||
43096cccf1cee749c2f4e7714ee71f4e9e0f4d7f jdk7-b106
|
||||
7d396ad455c3b2f68b0d7094891c5aba7c757a6e jdk7-b107
|
||||
140fdef4ddf52244013b6157dc542cd9f677bb6f jdk7-b108
|
||||
81dfc728d7bb7e1fff4a4dc6d0f7cea5a3315667 jdk7-b109
|
||||
2a02d4a6955c7c078aee9a604cb3be409800d82c jdk7-b110
|
||||
9702d6fef68e17533ee7fcf5923b11ead3e912ce jdk7-b111
|
||||
b852103caf73da70068473777ae867a457bb3ae1 jdk7-b112
|
||||
c1df968c4527bfab5f97662a89245f15d12d378b jdk7-b113
|
||||
27985a5c6e5268014d25d55886e0ecb96af4763d jdk7-b114
|
||||
e8ebdf41b9c01a26642848f4134f5504e8fb3233 jdk7-b115
|
||||
94e9a1bfba8b8d1fe0bfd43b88629b1f27b02a76 jdk7-b116
|
||||
7220e60b097fa027e922f1aeecdd330f3e37409f jdk7-b117
|
||||
a12a9e78df8a9d534da0b4a244ed68f0de0bd58e jdk7-b118
|
||||
661360bef6ccad6c119f067f5829b207de80c936 jdk7-b119
|
||||
|
||||
16
Makefile
16
Makefile
@@ -558,9 +558,12 @@ endif
|
||||
# rule to test
|
||||
################################################################
|
||||
|
||||
.NOTPARALLEL: test
|
||||
.NOTPARALLEL: test_run
|
||||
|
||||
test: test_clean test_start test_summary
|
||||
test:
|
||||
$(MAKE) test_run
|
||||
|
||||
test_run: test_clean test_start test_summary
|
||||
|
||||
test_start:
|
||||
@$(ECHO) "Tests started at `$(DATE)`"
|
||||
@@ -586,7 +589,7 @@ test_summary: $(OUTPUTDIR)/test_failures.txt
|
||||
# Get failure list from log
|
||||
$(OUTPUTDIR)/test_failures.txt: $(OUTPUTDIR)/test_log.txt
|
||||
@$(RM) $@
|
||||
@( $(EGREP) '^FAILED:' $< || $(ECHO) "" ) > $@
|
||||
@( $(EGREP) '^FAILED:' $< || $(ECHO) "" ) | $(NAWK) 'length>0' > $@
|
||||
|
||||
# Get log file of all tests run
|
||||
JDK_TO_TEST := $(shell \
|
||||
@@ -598,10 +601,11 @@ JDK_TO_TEST := $(shell \
|
||||
$(ECHO) "$(PRODUCT_HOME)"; \
|
||||
fi \
|
||||
)
|
||||
TEST_TARGETS=all
|
||||
$(OUTPUTDIR)/test_log.txt:
|
||||
$(RM) $@
|
||||
( $(CD) test && \
|
||||
$(MAKE) NO_STOPPING=- PRODUCT_HOME=$(JDK_TO_TEST) \
|
||||
( $(CD) test && \
|
||||
$(MAKE) NO_STOPPING=- PRODUCT_HOME=$(JDK_TO_TEST) $(TEST_TARGETS) \
|
||||
) | tee $@
|
||||
|
||||
################################################################
|
||||
@@ -614,7 +618,7 @@ include ./make/jprt.gmk
|
||||
# PHONY
|
||||
################################################################
|
||||
|
||||
.PHONY: all test test_start test_summary test_clean \
|
||||
.PHONY: all test test_run test_start test_summary test_clean \
|
||||
generic_build_repo_series \
|
||||
what clobber insane \
|
||||
dev dev-build dev-sanity dev-clobber \
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
|
||||
SunSolve</a> for patch downloads.
|
||||
</td>
|
||||
<td>Sun Studio 12</td>
|
||||
<td>Sun Studio 12 Update 1 + patches</td>
|
||||
<td>JDK 6u14 FCS </td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -158,7 +158,7 @@
|
||||
See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
|
||||
SunSolve</a> for patch downloads.
|
||||
</td>
|
||||
<td>Sun Studio 12</td>
|
||||
<td>Sun Studio 12 Update 1 + patches</td>
|
||||
<td>JDK 6u14 FCS </td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -168,7 +168,7 @@
|
||||
See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
|
||||
SunSolve</a> for patch downloads.
|
||||
</td>
|
||||
<td>Sun Studio 12</td>
|
||||
<td>Sun Studio 12 Update 1 + patches</td>
|
||||
<td>JDK 6u14 FCS </td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -178,7 +178,7 @@
|
||||
See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
|
||||
SunSolve</a> for patch downloads.
|
||||
</td>
|
||||
<td>Sun Studio 12</td>
|
||||
<td>Sun Studio 12 Update 1 + patches</td>
|
||||
<td>JDK 6u14 FCS </td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -941,21 +941,78 @@
|
||||
<strong><a name="studio">Solaris: Sun Studio</a></strong>
|
||||
<blockquote>
|
||||
At a minimum, the
|
||||
<a href="http://developers.sun.com/sunstudio/index.jsp" target="_blank">
|
||||
Sun Studio 12 Compilers</a>
|
||||
(containing version 5.9 of the C and C++ compilers) is required,
|
||||
with patches from the
|
||||
<a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access" target="_blank">
|
||||
SunSolve web site</a>.
|
||||
<a href="http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.htm" target="_blank">
|
||||
Sun Studio 12 Update 1 Compilers</a>
|
||||
(containing version 5.10 of the C and C++ compilers) is required,
|
||||
including specific patches.
|
||||
<p>
|
||||
The Solaris SPARC patch list is:
|
||||
<ul>
|
||||
<li>
|
||||
118683-05: SunOS 5.10: Patch for profiling libraries and assembler
|
||||
</li>
|
||||
<li>
|
||||
119963-21: SunOS 5.10: Shared library patch for C++
|
||||
</li>
|
||||
<li>
|
||||
120753-08: SunOS 5.10: Microtasking libraries (libmtsk) patch
|
||||
</li>
|
||||
<li>
|
||||
128228-09: Sun Studio 12 Update 1: Patch for Sun C++ Compiler
|
||||
</li>
|
||||
<li>
|
||||
141860-03: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95
|
||||
</li>
|
||||
<li>
|
||||
141861-05: Sun Studio 12 Update 1: Patch for Sun C Compiler
|
||||
</li>
|
||||
<li>
|
||||
142371-01: Sun Studio 12.1 Update 1: Patch for dbx
|
||||
</li>
|
||||
<li>
|
||||
143384-02: Sun Studio 12 Update 1: Patch for debuginfo handling
|
||||
</li>
|
||||
<li>
|
||||
143385-02: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95
|
||||
</li>
|
||||
<li>
|
||||
142369-01: Sun Studio 12.1: Patch for Performance Analyzer Tools
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
The Solaris X86 patch list is:
|
||||
<ul>
|
||||
<li>
|
||||
119961-07: SunOS 5.10_x86, x64, Patch for profiling libraries and assembler
|
||||
</li>
|
||||
<li>
|
||||
119964-21: SunOS 5.10_x86: Shared library patch for C++_x86
|
||||
</li>
|
||||
<li>
|
||||
120754-08: SunOS 5.10_x86: Microtasking libraries (libmtsk) patch
|
||||
</li>
|
||||
<li>
|
||||
141858-06: Sun Studio 12 Update 1_x86: Sun Compiler Common patch for x86 backend
|
||||
</li>
|
||||
<li>
|
||||
128229-09: Sun Studio 12 Update 1_x86: Patch for C++ Compiler
|
||||
</li>
|
||||
<li>
|
||||
142363-05: Sun Studio 12 Update 1_x86: Patch for C Compiler
|
||||
</li>
|
||||
<li>
|
||||
142368-01: Sun Studio 12.1_x86: Patch for Performance Analyzer Tools
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Set
|
||||
<a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>
|
||||
to point to the location of
|
||||
the compiler binaries, and place this location in the <tt>PATH</tt>.
|
||||
<p>
|
||||
The Sun Studio Express compilers at:
|
||||
The Oracle Solaris Studio Express compilers at:
|
||||
<a href="http://developers.sun.com/sunstudio/downloads/express.jsp" target="_blank">
|
||||
Sun Studio Express Download site</a>
|
||||
Oracle Solaris Studio Express Download site</a>
|
||||
are also an option, although these compilers have not
|
||||
been extensively used yet.
|
||||
</blockquote>
|
||||
|
||||
@@ -78,3 +78,18 @@ a56d734a1e970e1a21a8f4feb13053e9a33674c7 jdk7-b100
|
||||
86a239832646a74811695428984b6947c0bd6dc8 jdk7-b101
|
||||
78561a95779090b5106c8d0f1a75360a027ef087 jdk7-b102
|
||||
11e7678c3eb169b77d9a9892fe5e3dfa1d1a0d51 jdk7-b103
|
||||
9607213481d400ac477183191cc080e1bef6f475 jdk7-b104
|
||||
6f21b030092fb61244cc8a0aedf8058f7c022b81 jdk7-b105
|
||||
519daea48888196af76a975a3b31258efa860bad jdk7-b106
|
||||
232adb83eae8375439ccff65b6e205ca0da0510d jdk7-b107
|
||||
8d810527b499a67153365db74421a03c12b46f35 jdk7-b108
|
||||
c3dd858e09b20206459d9e7b0ead99d27ab00eab jdk7-b109
|
||||
0e1f80fda2271f53d4bbb59ec3f301dfbcef6a0a jdk7-b110
|
||||
640fa4d4e2ad4c2d7e4815c955026740d8c52b7a jdk7-b111
|
||||
cc67fdc4fee9a5b25caee4e71b51a8ff24ae7d1a jdk7-b112
|
||||
a89a6c5be9d1a754868d3d359cbf7ad36aa95631 jdk7-b113
|
||||
88fddb73c5c4a4b50c319cbae9380caf5172ab45 jdk7-b114
|
||||
da7561d479e0ddaa4650d8023ac0fc7294e014e3 jdk7-b115
|
||||
98c028de4301106f2285ac0e128a1bb9b4c24f5c jdk7-b116
|
||||
fa502e4834dac2176499cc1f44794d5dc32a11b9 jdk7-b117
|
||||
42e77836fded7c2a3080d27316b96634ea9e33c6 jdk7-b118
|
||||
|
||||
@@ -61,7 +61,6 @@ ABS_OUTPUTDIR = $(call FullPath,$(OUTPUTDIR))
|
||||
CLASSES_DIR = $(BUILD_DIR)/classes
|
||||
GENSRC_DIR = $(BUILD_DIR)/gensrc
|
||||
|
||||
BIN_DIR = $(DIST_DIR)/bin
|
||||
LIB_DIR = $(DIST_DIR)/lib
|
||||
|
||||
#-----
|
||||
|
||||
@@ -34,7 +34,7 @@ com_sun_corba_se_impl_io_java = \
|
||||
com/sun/corba/se/impl/io/ObjectStreamField.java \
|
||||
com/sun/corba/se/impl/io/OptionalDataException.java \
|
||||
com/sun/corba/se/impl/io/ValueHandlerImpl.java \
|
||||
com/sun/corba/se/impl/io/IIOPInputStream.java \
|
||||
com/sun/corba/se/impl/io/IIOPInputStream.java \
|
||||
com/sun/corba/se/impl/io/IIOPOutputStream.java \
|
||||
com/sun/corba/se/impl/io/TypeMismatchException.java \
|
||||
com/sun/corba/se/impl/io/InputStreamHook.java \
|
||||
|
||||
@@ -28,306 +28,10 @@
|
||||
# targeted to Linux. 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
|
||||
|
||||
# Part of INCREMENTAL_BUILD mechanism.
|
||||
# Compiler emits things like: path/file.o: file.h
|
||||
# We want something like: relative_path/file.o relative_path/file.d: file.h
|
||||
CC_DEPEND = -MM
|
||||
CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
|
||||
|
||||
ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(TOPDIR)/src/solaris
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# platform specific include files
|
||||
PLATFORM_INCLUDE_NAME = $(PLATFORM)
|
||||
PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
|
||||
|
||||
# suffix used for make dependencies files.
|
||||
DEPEND_SUFFIX = d
|
||||
# The suffix applied to the library name for FDLIBM
|
||||
FDDLIBM_SUFFIX = a
|
||||
# The suffix applied to scripts (.bat for windows, nothing for unix)
|
||||
SCRIPT_SUFFIX =
|
||||
# CC compiler object code output directive flag value
|
||||
CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
|
||||
CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
|
||||
|
||||
#
|
||||
# Default HPI libraries. Build will build only native, unless
|
||||
# overriden at the make command line. This makes it convenient for
|
||||
# people doing, say, a pthreads port -- they can create a posix
|
||||
# directory here, and say "gnumake HPIS=posix" at the top
|
||||
# level.
|
||||
#
|
||||
HPIS = native
|
||||
|
||||
#
|
||||
# Default optimization
|
||||
#
|
||||
CC_HIGHEST_OPT = -O3
|
||||
CC_HIGHER_OPT = -O3
|
||||
CC_LOWER_OPT = -O2
|
||||
CC_NO_OPT =
|
||||
|
||||
ifeq ($(PRODUCT), java)
|
||||
_OPT = $(CC_HIGHER_OPT)
|
||||
else
|
||||
_OPT = $(CC_LOWER_OPT)
|
||||
CPPFLAGS_DBG += -DLOGGING
|
||||
endif
|
||||
|
||||
# For all platforms, do not omit the frame pointer register usage.
|
||||
# We need this frame pointer to make it easy to walk the stacks.
|
||||
# This should be the default on X86, but ia64 and amd64 may not have this
|
||||
# as the default.
|
||||
CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
|
||||
CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
|
||||
CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
|
||||
CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
|
||||
LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9
|
||||
CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9
|
||||
LDFLAGS_COMMON_sparc += -m32 -mcpu=v9
|
||||
ifeq ($(ZERO_BUILD), true)
|
||||
CFLAGS_REQUIRED = $(ZERO_ARCHFLAG)
|
||||
ifeq ($(ZERO_ENDIANNESS), little)
|
||||
CFLAGS_REQUIRED += -D_LITTLE_ENDIAN
|
||||
endif
|
||||
LDFLAGS_COMMON += $(ZERO_ARCHFLAG)
|
||||
else
|
||||
CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
|
||||
LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH))
|
||||
endif
|
||||
|
||||
# Add in platform specific optimizations for all opt levels
|
||||
CC_HIGHEST_OPT += $(_OPT_$(ARCH))
|
||||
CC_HIGHER_OPT += $(_OPT_$(ARCH))
|
||||
CC_LOWER_OPT += $(_OPT_$(ARCH))
|
||||
|
||||
# If NO_OPTIMIZATIONS is defined in the environment, turn all optimzations off
|
||||
ifdef NO_OPTIMIZATIONS
|
||||
CC_HIGHEST_OPT = $(CC_NO_OPT)
|
||||
CC_HIGHER_OPT = $(CC_NO_OPT)
|
||||
CC_LOWER_OPT = $(CC_NO_OPT)
|
||||
endif
|
||||
|
||||
#
|
||||
# Selection of warning messages
|
||||
#
|
||||
GCC_INHIBIT = -Wno-unused -Wno-parentheses
|
||||
GCC_STYLE =
|
||||
GCC_WARNINGS = -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
|
||||
|
||||
#
|
||||
# Treat compiler warnings as errors, if warnings not allowed
|
||||
#
|
||||
ifeq ($(COMPILER_WARNINGS_FATAL),true)
|
||||
GCC_WARNINGS += -Werror
|
||||
endif
|
||||
|
||||
#
|
||||
# Misc compiler options
|
||||
#
|
||||
ifeq ($(ARCH),ppc)
|
||||
CFLAGS_COMMON = -fsigned-char
|
||||
else # ARCH
|
||||
CFLAGS_COMMON = -fno-strict-aliasing
|
||||
endif # ARCH
|
||||
PIC_CODE_LARGE = -fPIC
|
||||
PIC_CODE_SMALL = -fpic
|
||||
GLOBAL_KPIC = $(PIC_CODE_LARGE)
|
||||
ifeq ($(ARCH), amd64)
|
||||
CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS) -pipe
|
||||
else
|
||||
CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS)
|
||||
endif
|
||||
|
||||
# Linux 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
|
||||
DEBUG_FLAG = -g
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
DEBUG_FLAG = -g1
|
||||
endif
|
||||
endif
|
||||
|
||||
CFLAGS_OPT = $(POPT)
|
||||
CFLAGS_DBG = $(DEBUG_FLAG)
|
||||
CFLAGS_COMMON += $(CFLAGS_REQUIRED)
|
||||
|
||||
CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
|
||||
CXXFLAGS_OPT = $(POPT)
|
||||
CXXFLAGS_DBG = $(DEBUG_FLAG)
|
||||
CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
|
||||
|
||||
# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CFLAGS_DBG += $(CC_LOWER_OPT)
|
||||
CXXFLAGS_DBG += $(CC_LOWER_OPT)
|
||||
endif
|
||||
|
||||
CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
|
||||
|
||||
# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
|
||||
ifneq ($(ARCH),alpha)
|
||||
CPP_ARCH_FLAGS += -D$(ARCH)
|
||||
else
|
||||
CPP_ARCH_FLAGS += -D_$(ARCH)_
|
||||
endif
|
||||
|
||||
CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \
|
||||
-D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
|
||||
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
CPPFLAGS_COMMON += -D_LP64=1
|
||||
endif
|
||||
|
||||
CPPFLAGS_OPT =
|
||||
CPPFLAGS_DBG = -DDEBUG
|
||||
|
||||
ifdef LIBRARY
|
||||
# Libraries need to locate other libraries at runtime, and you can tell
|
||||
# a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
|
||||
# buried inside the .so. The $ORIGIN says to look relative to where
|
||||
# the library itself is and it can be followed with relative paths from
|
||||
# that. By default we always look in $ORIGIN, optionally we add relative
|
||||
# paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
|
||||
# On Linux we add a flag -z origin, not sure if this is necessary, but
|
||||
# doesn't seem to hurt.
|
||||
# The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
|
||||
# Try: 'readelf -d lib*.so' to see these settings in a library.
|
||||
#
|
||||
LDFLAGS_COMMON += -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$ORIGIN
|
||||
LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=-Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$ORIGIN/%)
|
||||
endif
|
||||
|
||||
EXTRA_LIBS += -lc
|
||||
|
||||
LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs
|
||||
LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
|
||||
|
||||
#
|
||||
# -L paths for finding and -ljava
|
||||
#
|
||||
LDFLAGS_OPT = -Xlinker -O1
|
||||
LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
|
||||
LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
|
||||
|
||||
#
|
||||
# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
|
||||
# statically link libgcc but will print a warning with the flag. We don't
|
||||
# want the warning, so check gcc version first.
|
||||
#
|
||||
CC_VER_MAJOR := $(shell $(CC) -dumpversion | $(SED) 's/egcs-//' | $(CUT) -d'.' -f1)
|
||||
ifeq ("$(CC_VER_MAJOR)", "3")
|
||||
OTHER_LDFLAGS += -static-libgcc
|
||||
endif
|
||||
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
# (See Rules.gmk) The gcc 5 compiler might have an option for this?
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
|
||||
#
|
||||
# Post Processing of libraries/executables
|
||||
#
|
||||
ifeq ($(VARIANT), OPT)
|
||||
ifneq ($(NO_STRIP), true)
|
||||
# Debug 'strip -g' leaves local function Elf symbols (better stack traces)
|
||||
POST_STRIP_PROCESS = $(STRIP) -g
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
|
||||
#
|
||||
LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
|
||||
|
||||
#
|
||||
# Support for Quantify.
|
||||
#
|
||||
ifdef QUANTIFY
|
||||
QUANTIFY_CMD = quantify
|
||||
QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
|
||||
LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
|
||||
endif
|
||||
|
||||
#
|
||||
# Path and option to link against the VM, if you have to. Note that
|
||||
# there are libraries that link against only -ljava, but they do get
|
||||
# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
|
||||
# the library itself should not.
|
||||
#
|
||||
VM_NAME = server
|
||||
JVMLIB = -L$(BOOTDIR)/jre/lib/$(LIBARCH)/$(VM_NAME) -ljvm
|
||||
JAVALIB = -L$(BOOTDIR)/jre/lib/$(LIBARCH) -ljava $(JVMLIB)
|
||||
|
||||
#
|
||||
# We want to privatize JVM symbols on Solaris. This is so the user can
|
||||
# write a function called FindClass and this should not override the
|
||||
# FindClass that is inside the JVM. At this point in time we are not
|
||||
# concerned with other JNI libraries because we hope that there will
|
||||
# not be as many clashes there.
|
||||
#
|
||||
PRIVATIZE_JVM_SYMBOLS = false
|
||||
|
||||
USE_PTHREADS = true
|
||||
override ALT_CODESET_KEY = _NL_CTYPE_CODESET_NAME
|
||||
override AWT_RUNPATH =
|
||||
override HAVE_ALTZONE = false
|
||||
override HAVE_FILIOH = false
|
||||
override HAVE_GETHRTIME = false
|
||||
override HAVE_GETHRVTIME = false
|
||||
override HAVE_SIGIGNORE = true
|
||||
override LEX_LIBRARY = -lfl
|
||||
ifeq ($(STATIC_CXX),true)
|
||||
override LIBCXX = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
|
||||
else
|
||||
override LIBCXX = -lstdc++
|
||||
endif
|
||||
override LIBPOSIX4 =
|
||||
override LIBSOCKET =
|
||||
override LIBTHREAD =
|
||||
override MOOT_PRIORITIES = true
|
||||
override NO_INTERRUPTIBLE_IO = true
|
||||
override OPENWIN_HOME = /usr/X11R6
|
||||
ifeq ($(ARCH), amd64)
|
||||
override OPENWIN_LIB = $(OPENWIN_HOME)/lib64
|
||||
else
|
||||
override OPENWIN_LIB = $(OPENWIN_HOME)/lib
|
||||
endif
|
||||
override OTHER_M4FLAGS = -D__GLIBC__ -DGNU_ASSEMBLER
|
||||
override SUN_CMM_SUBDIR =
|
||||
override THREADS_FLAG = native
|
||||
override USE_GNU_M4 = true
|
||||
override USING_GNU_TAR = true
|
||||
override WRITE_LIBVERSION = false
|
||||
|
||||
# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
|
||||
# resulting resolved absolute name of the executable in the environment
|
||||
# variable EXECNAME. That executable name is then used that to locate the
|
||||
# installation area.
|
||||
override USE_EXECNAME = true
|
||||
|
||||
# If your platform has DPS, it will have Type1 fonts too, in which case
|
||||
# it is best to enable DPS support until such time as 2D's rasteriser
|
||||
# can fully handle Type1 fonts in all cases. Default is "yes".
|
||||
# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
|
||||
# DPS (Displayable PostScript) is available on Solaris machines
|
||||
HAVE_DPS = no
|
||||
|
||||
#
|
||||
# Japanese manpages
|
||||
#
|
||||
JA_SOURCE_ENCODING = eucJP
|
||||
JA_TARGET_ENCODINGS = eucJP
|
||||
|
||||
|
||||
@@ -28,16 +28,6 @@
|
||||
# targeted to Solaris. Should not contain any rules.
|
||||
#
|
||||
|
||||
# Warning: the following variables are overridden 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)
|
||||
# LINTFLAGS (set $(OTHER_LINTFLAGS) instead)
|
||||
|
||||
# Get shared JDK settings
|
||||
include $(BUILDDIR)/common/shared/Defs.gmk
|
||||
|
||||
@@ -45,600 +35,3 @@ ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(TOPDIR)/src/solaris
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# platform specific include files
|
||||
PLATFORM_INCLUDE_NAME = $(PLATFORM)
|
||||
PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
|
||||
|
||||
# suffix used for make dependencies files
|
||||
DEPEND_SUFFIX = d
|
||||
# suffix used for lint files
|
||||
LINT_SUFFIX = ln
|
||||
# The suffix applied to the library name for FDLIBM
|
||||
FDDLIBM_SUFFIX = a
|
||||
# The suffix applied to scripts (.bat for windows, nothing for unix)
|
||||
SCRIPT_SUFFIX =
|
||||
# CC compiler object code output directive flag value
|
||||
CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
|
||||
CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
|
||||
|
||||
#
|
||||
# Default HPI libraries. Build will build only native unless
|
||||
# overriden at the make command line. This makes it convenient for
|
||||
# people doing, say, a pthreads port -- they can create a posix
|
||||
# directory here, and say "gnumake HPIS=posix" at the top
|
||||
# level.
|
||||
#
|
||||
HPIS = native
|
||||
|
||||
#
|
||||
# Java default optimization (-x04/-O2) etc. Applies to the VM.
|
||||
#
|
||||
ifeq ($(PRODUCT), java)
|
||||
_OPT = $(CC_HIGHER_OPT)
|
||||
else
|
||||
_OPT = $(CC_LOWER_OPT)
|
||||
CPPFLAGS_DBG += -DLOGGING -DDBINFO
|
||||
endif
|
||||
|
||||
#
|
||||
# If -Xa is in CFLAGS_COMMON it will end up ahead of $(POPT) for the
|
||||
# optimized build, and that ordering of the flags completely freaks
|
||||
# out cc. Hence, -Xa is instead in each CFLAGS variant.
|
||||
#
|
||||
# The more unusual options to the Sun C compiler:
|
||||
# -v Stricter type checking, more error checking
|
||||
# (To turn ALL warnings into fatals, use -errwarn=%all)
|
||||
# -xstrconst Place string literals and constants in read-only area
|
||||
# (means you can't write on your string literals)
|
||||
# -xs Force debug information (stabs) into the .so or a.out
|
||||
# (makes the library/executable debuggable without the
|
||||
# .o files needing to be around, but at a space cost)
|
||||
# -g & -O If you add the -g option to the optimized compiles
|
||||
# you will get better stack retraces, the code is
|
||||
# still optimized. This includes a space cost too.
|
||||
# -xc99=%none Do NOT allow for c99 extensions to be used.
|
||||
# e.g. declarations must precede statements
|
||||
# -xCC Allow the C++ style of comments in C: //
|
||||
# Required with many of the source files.
|
||||
# -mt Assume multi-threaded (important)
|
||||
#
|
||||
|
||||
#
|
||||
# Debug flag for C and C++ compiler
|
||||
#
|
||||
CFLAGS_DEBUG_OPTION=-g
|
||||
CXXFLAGS_DEBUG_OPTION=-g
|
||||
|
||||
# Turn off -g if we are doing tcov build
|
||||
ifdef TCOV_BUILD
|
||||
CFLAGS_DEBUG_OPTION=
|
||||
CXXFLAGS_DEBUG_OPTION=
|
||||
endif
|
||||
|
||||
# FASTDEBUG: Optimize the -g builds, gives us a faster debug java
|
||||
# If true adds -O to the debug compiles. This allows for any assert
|
||||
# tests to remain and debug checking. The resulting code is faster
|
||||
# but less debuggable. Stack traces are still valid, although only
|
||||
# approximate line numbers are given. Printing of local variables
|
||||
# during a debugging session is not possible, but stepping and
|
||||
# printing of global or static variables should be possible.
|
||||
# Performance/size of files should be about the same, maybe smaller.
|
||||
#
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CC_FASTDEBUG_OPT = $(CC_LOWER_OPT)
|
||||
CFLAGS_DEBUG_OPTION = -g $(CC_FASTDEBUG_OPT)
|
||||
CXXFLAGS_DEBUG_OPTION = -g0 $(CC_FASTDEBUG_OPT)
|
||||
endif
|
||||
|
||||
CFLAGS_COMMON = -v -mt -L$(OBJDIR) -xc99=%none
|
||||
CFLAGS_COMMON += -xCC
|
||||
CFLAGS_COMMON += -errshort=tags
|
||||
CFLAGS_OPT = $(POPT)
|
||||
CFLAGS_DBG = $(CFLAGS_DEBUG_OPTION)
|
||||
CFLAGS_COMMON += -Xa $(CFLAGS_REQUIRED)
|
||||
|
||||
# Assume MT behavior all the time (important)
|
||||
CXXFLAGS_COMMON = -mt
|
||||
|
||||
# Assume no C++ exceptions are used
|
||||
CXXFLAGS_COMMON += -features=no%except -DCC_NOEX
|
||||
|
||||
# For C++, these options tell it to assume nothing about locating libraries
|
||||
# either at compile time, or at runtime. Use of these options will likely
|
||||
# require the use of -L and -R options to indicate where libraries will
|
||||
# be found at compile time (-L) and at runtime (-R).
|
||||
# The /usr/lib location comes for free, so no need to specify that one.
|
||||
# Note: C is much simplier and there is no need for these options. This
|
||||
# is mostly needed to avoid dependencies on libraries in the
|
||||
# Compiler install area, also see LIBCXX and LIBM.
|
||||
CXXFLAGS_COMMON += -norunpath -xnolib
|
||||
|
||||
#
|
||||
# Treat compiler warnings as errors, if requested
|
||||
#
|
||||
ifeq ($(COMPILER_WARNINGS_FATAL),true)
|
||||
CFLAGS_COMMON += -errwarn=%all
|
||||
CXXFLAGS_COMMON += -errwarn=%all
|
||||
endif
|
||||
|
||||
CXXFLAGS_OPT = $(POPT)
|
||||
CXXFLAGS_DBG = $(CXXFLAGS_DEBUG_OPTION)
|
||||
CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
|
||||
|
||||
# Add -xstrconst to the library compiles. This forces all string
|
||||
# literals into the read-only data section, which prevents them from
|
||||
# being written to and increases the runtime pages shared on the system.
|
||||
#
|
||||
ifdef LIBRARY
|
||||
CFLAGS_COMMON +=-xstrconst
|
||||
endif
|
||||
|
||||
# Source browser database
|
||||
#
|
||||
# COMPILE_WITH_SB
|
||||
# If defined adds -xsb to compiles and creates a
|
||||
# source browsing database during compilation.
|
||||
#
|
||||
ifdef COMPILE_WITH_SB
|
||||
ifeq ($(LIBRARY), java)
|
||||
CFLAGS_DBG += -xsb
|
||||
endif
|
||||
endif
|
||||
|
||||
# Lint Flags:
|
||||
# -Xa ANSI C plus K&R, favor ANSI rules
|
||||
# -Xarch=XXX Same as 'cc -xarch=XXX'
|
||||
# -fd report on old style func defs
|
||||
# -errchk=structarg report on 64bit struct args by value
|
||||
# -errchk=longptr64 report on 64bit to 32bit issues (ignores casts)
|
||||
# -errchk=parentheses report on suggested use of extra parens
|
||||
# -v suppress unused args
|
||||
# -x suppress unused externs
|
||||
# -u suppress extern func/vars used/defined
|
||||
# -errfmt=simple use one line errors with position info
|
||||
|
||||
LINTFLAGS_COMMON = -Xa
|
||||
LINTFLAGS_COMMON += -fd
|
||||
LINTFLAGS_COMMON += -errchk=structarg,longptr64,parentheses
|
||||
LINTFLAGS_COMMON += -v
|
||||
LINTFLAGS_COMMON += -x
|
||||
LINTFLAGS_COMMON += -u
|
||||
LINTFLAGS_COMMON += -errfmt=simple
|
||||
LINTFLAGS_OPT =
|
||||
LINTFLAGS_DBG =
|
||||
|
||||
# The -W0,-noglobal tells the compiler to NOT generate mangled global
|
||||
# ELF data symbols for file local static data.
|
||||
# This can break fix&continue, but we'd rather do the same compilations
|
||||
# for deliverable bits as we do for non-deliverable bits
|
||||
# Tell the compilers to never generate globalized names, all the time.
|
||||
CFLAGS_COMMON += -W0,-noglobal
|
||||
|
||||
# Arch specific settings (determines type of .o files and instruction set)
|
||||
ifeq ($(ARCH_FAMILY), sparc)
|
||||
ifdef VIS_NEEDED
|
||||
XARCH_VALUE/32=v8plusa
|
||||
XARCH_VALUE/64=v9a
|
||||
else
|
||||
# Someday this should change to improve optimization on UltraSPARC
|
||||
# and abandon the old v8-only machines like the SPARCstation 10.
|
||||
# Indications with Mustang is that alacrity runs do not show a
|
||||
# big improvement using v8plus over v8, but other benchmarks might.
|
||||
XARCH_VALUE/32=v8
|
||||
XARCH_VALUE/64=v9
|
||||
endif
|
||||
endif
|
||||
ifeq ($(ARCH_FAMILY), i586)
|
||||
XARCH_VALUE/64=amd64
|
||||
XARCH_VALUE/32=
|
||||
endif
|
||||
|
||||
# Arch value based on current data model being built
|
||||
XARCH_VALUE=$(XARCH_VALUE/$(ARCH_DATA_MODEL))
|
||||
ifneq ($(XARCH_VALUE), )
|
||||
# The actual compiler -xarch options to use
|
||||
XARCH_OPTION/32 = -xarch=$(XARCH_VALUE/32)
|
||||
XARCH_OPTION/64 = -xarch=$(XARCH_VALUE/64)
|
||||
XARCH_OPTION = $(XARCH_OPTION/$(ARCH_DATA_MODEL))
|
||||
endif
|
||||
|
||||
# If we have a specific -xarch value to use, add it
|
||||
ifdef XARCH_OPTION
|
||||
CFLAGS_COMMON += $(XARCH_OPTION)
|
||||
CXXFLAGS_COMMON += $(XARCH_OPTION)
|
||||
ASFLAGS_COMMON += $(XARCH_OPTION)
|
||||
EXTRA_LIBS += $(XARCH_OPTION)
|
||||
LINTFLAGS_COMMON += -Xarch=$(XARCH_VALUE)
|
||||
endif
|
||||
|
||||
#
|
||||
# uncomment the following to build with PERTURBALOT set
|
||||
#
|
||||
# OTHER_CFLAGS += -DPERTURBALOT
|
||||
#
|
||||
|
||||
CPPFLAGS_COMMON = -D$(ARCH_FAMILY) -D__solaris__ -D_REENTRANT
|
||||
CPPFLAGS_OPT =
|
||||
CPPFLAGS_DBG = -DDEBUG
|
||||
|
||||
ifeq ($(ARCH_FAMILY), i586)
|
||||
# The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
|
||||
# Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
|
||||
# (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
|
||||
# Note: -Dmacro is the same as #define macro 1
|
||||
# -Dmacro= is the same as #define macro
|
||||
#
|
||||
CPPFLAGS_COMMON += -DcpuIntel -D_LITTLE_ENDIAN= -D$(LIBARCH)
|
||||
# Turn off a superfluous compiler error message on Intel
|
||||
CFLAGS_COMMON += -erroff=E_BAD_PRAGMA_PACK_VALUE
|
||||
endif
|
||||
|
||||
# Java memory management is based on memory mapping by default, but a
|
||||
# system only assuming malloc/free can be built by adding -DUSE_MALLOC
|
||||
|
||||
CPPFLAGS_COMMON += -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS
|
||||
CPPFLAGS_OPT += -DTRIMMED
|
||||
|
||||
LDFLAGS_DEFS_OPTION = -z defs
|
||||
LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
|
||||
|
||||
#
|
||||
# -L paths for finding and -ljava
|
||||
#
|
||||
LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
|
||||
LDFLAGS_OPT =
|
||||
LDFLAGS_DBG =
|
||||
|
||||
#
|
||||
# We never really want the incremental linker, ever
|
||||
# The -xildoff option tells Sun's compilers to NOT use incremental linker
|
||||
#
|
||||
LDFLAGS_COMMON += -xildoff
|
||||
|
||||
ifdef LIBRARY
|
||||
# Libraries need to locate other libraries at runtime, and you can tell
|
||||
# a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
|
||||
# buried inside the .so. The $ORIGIN says to look relative to where
|
||||
# the library itself is and it can be followed with relative paths from
|
||||
# that. By default we always look in $ORIGIN, optionally we add relative
|
||||
# paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
|
||||
# The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
|
||||
# Try: 'dump -Lv lib*.so' to see these settings in a library.
|
||||
#
|
||||
LDFLAGS_COMMON += -R\$$ORIGIN
|
||||
LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=-R\$$ORIGIN/%)
|
||||
endif
|
||||
|
||||
EXTRA_LIBS += -lc
|
||||
|
||||
# Postprocessing is done on the images directories only
|
||||
#
|
||||
ifeq ($(VARIANT), OPT)
|
||||
ifeq ($(PARTIAL_GPROF), true)
|
||||
NO_STRIP = true
|
||||
endif
|
||||
ifeq ($(GPROF), true)
|
||||
NO_STRIP = true
|
||||
endif
|
||||
ifneq ($(NO_STRIP), true)
|
||||
# Debug 'strip -x' leaves local function Elf symbols (better stack traces)
|
||||
POST_STRIP_PROCESS = $(STRIP) -x
|
||||
endif
|
||||
endif
|
||||
POST_MCS_PROCESS=$(MCS) -d -a "JDK $(FULL_VERSION)"
|
||||
|
||||
#
|
||||
# Sun C compiler will take -M and pass it on to ld.
|
||||
# Usage: ld $(LD_MAPFILE_FLAG) mapfile *.o
|
||||
#
|
||||
ifeq ($(CC_VERSION),gcc)
|
||||
LD_MAPFILE_FLAG = -Xlinker -M -Xlinker
|
||||
else
|
||||
LD_MAPFILE_FLAG = -M
|
||||
endif
|
||||
|
||||
#
|
||||
# Variables globally settable from the make command line (default
|
||||
# values in brackets):
|
||||
# GPROF (false)
|
||||
# Eg: % gnumake GPROF=true
|
||||
GPROF = false
|
||||
ifeq ($(GPROF), true)
|
||||
CFLAGS_COMMON += -DGPROF -xpg
|
||||
EXTRA_LIBS += -xpg
|
||||
endif
|
||||
|
||||
# PARTIAL_GPROF is to be used ONLY during compilation - it should not
|
||||
# appear during linking of libraries or programs. It also should
|
||||
# prevent linking with -z defs to allow a symbol to remain undefined.
|
||||
#
|
||||
PARTIAL_GPROF = false
|
||||
ifeq ($(PARTIAL_GPROF), true)
|
||||
CFLAGS_GPROF += -xpg
|
||||
LDFLAGS_DEFS_OPTION = -z nodefs
|
||||
endif
|
||||
|
||||
#
|
||||
# For a TCOV build we add in the TCOV_OPTION
|
||||
#
|
||||
ifdef TCOV_BUILD
|
||||
TCOV_OPTION = -xprofile=tcov
|
||||
LDFLAGS_COMMON += $(TCOV_OPTION) -Kpic
|
||||
CFLAGS_COMMON += $(TCOV_OPTION)
|
||||
CXXFLAGS_COMMON += $(TCOV_OPTION)
|
||||
EXTRA_LIBS += $(TCOV_OPTION)
|
||||
LDNOMAP=true
|
||||
endif
|
||||
|
||||
#
|
||||
# Solaris only uses native threads.
|
||||
#
|
||||
THREADS_FLAG= native
|
||||
THREADS_DIR= threads
|
||||
|
||||
#
|
||||
# Support for Quantify.
|
||||
#
|
||||
ifdef QUANTIFY
|
||||
QUANTIFY_CMD = quantify
|
||||
QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
|
||||
LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
|
||||
ifdef LIBRARY
|
||||
CFLAGS_COMMON += -K PIC
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Support for Purify.
|
||||
#
|
||||
ifdef PURIFY
|
||||
PURIFY_CMD = /net/suntools.eng/export/tools/sparc/bin/purify
|
||||
PURIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
|
||||
LINK_PRE_CMD = $(PURIFY_CMD) $(PURIFY_OPTIONS)
|
||||
ifdef LIBRARY
|
||||
CFLAGS_COMMON += -K PIC
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Different "levels" of optimization.
|
||||
#
|
||||
ifeq ($(CC_VERSION),gcc)
|
||||
CC_HIGHEST_OPT = -O3
|
||||
CC_HIGHER_OPT = -O3
|
||||
CC_LOWER_OPT = -O2
|
||||
CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer
|
||||
CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
# (See Rules.gmk) May need to wait for gcc 5?
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
else
|
||||
# Highest could be -xO5, but indications are that -xO5 should be reserved
|
||||
# for a per-file use, on sources with known performance impacts.
|
||||
CC_HIGHEST_OPT = -xO4
|
||||
CC_HIGHER_OPT = -xO4
|
||||
CC_LOWER_OPT = -xO2
|
||||
#
|
||||
# WARNING: Use of _OPT=$(CC_HIGHEST_OPT) 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_OPT += -fns
|
||||
# Do some simplification of floating point arithmetic (not IEEE 754)
|
||||
CC_HIGHEST_OPT += -fsimple
|
||||
# Use single precision floating point with 'float'
|
||||
CC_HIGHEST_OPT += -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_OPT += -xalias_level=basic
|
||||
# Use intrinsic or inline versions for math/std functions
|
||||
# (If you expect perfect errno behavior, do not use this)
|
||||
CC_HIGHEST_OPT += -xbuiltin=%all
|
||||
# Loop data dependency optimizations (need -xO3 or higher)
|
||||
CC_HIGHEST_OPT += -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_OPT += -xrestrict
|
||||
# Inline some library routines
|
||||
# (If you expect perfect errno behavior, do not use this)
|
||||
CC_HIGHEST_OPT += -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_OPT += -xlibmopt
|
||||
ifeq ($(ARCH_FAMILY), sparc)
|
||||
# Assume at most 8byte alignment, raise SIGBUS on error
|
||||
### Presents an ABI issue with customer JNI libs?
|
||||
####CC_HIGHEST_OPT += -xmemalign=8s
|
||||
# Automatic prefetch instructions, explicit prefetch macros
|
||||
CC_HIGHEST_OPT += -xprefetch=auto,explicit
|
||||
# Pick ultra as the chip to optimize to
|
||||
CC_HIGHEST_OPT += -xchip=ultra
|
||||
endif
|
||||
ifeq ($(ARCH), i586)
|
||||
# Pick pentium as the chip to optimize to
|
||||
CC_HIGHEST_OPT += -xchip=pentium
|
||||
endif
|
||||
ifdef LIBRARY
|
||||
# The Solaris CBE (Common Build Environment) requires that the use
|
||||
# of appl registers be disabled when compiling a public library (or
|
||||
# a library that's loaded by a public library) on sparc.
|
||||
CFLAGS_REQUIRED_sparc += -xregs=no%appl
|
||||
CFLAGS_REQUIRED_sparcv9 += -xregs=no%appl
|
||||
endif
|
||||
ifeq ($(shell $(EXPR) $(CC_VER) \> 5.6), 1)
|
||||
# Do NOT use the frame pointer register as a general purpose opt register
|
||||
CFLAGS_REQUIRED_i586 += -xregs=no%frameptr
|
||||
CFLAGS_REQUIRED_amd64 += -xregs=no%frameptr
|
||||
# We MUST allow data alignment of 4 for sparc V8 (32bit)
|
||||
# Presents an ABI issue with customer JNI libs? We must be able to
|
||||
# to handle 4byte aligned objects? (rare occurance, but possible?)
|
||||
CFLAGS_REQUIRED_sparc += -xmemalign=4s
|
||||
endif
|
||||
# Just incase someone trys to use the SOS9 compilers
|
||||
ifeq ($(CC_VER), 5.6)
|
||||
# We MUST allow data alignment of 4 for sparc (sparcv9 is ok at 8s)
|
||||
CFLAGS_REQUIRED_sparc += -xmemalign=4s
|
||||
endif
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
# (See Rules.gmk) The SS11 -xpch=auto* options appear to be broken.
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
endif
|
||||
CC_NO_OPT =
|
||||
|
||||
# If NO_OPTIMIZATIONS is defined in the environment, turn all optimzations off
|
||||
ifdef NO_OPTIMIZATIONS
|
||||
CC_HIGHEST_OPT = $(CC_NO_OPT)
|
||||
CC_HIGHER_OPT = $(CC_NO_OPT)
|
||||
CC_LOWER_OPT = $(CC_NO_OPT)
|
||||
endif
|
||||
|
||||
# Flags required all the time
|
||||
CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
|
||||
|
||||
# Add processor specific options for optimizations
|
||||
CC_HIGHEST_OPT += $(_OPT_$(ARCH))
|
||||
CC_HIGHER_OPT += $(_OPT_$(ARCH))
|
||||
CC_LOWER_OPT += $(_OPT_$(ARCH))
|
||||
|
||||
# Secret compiler optimization options that should be in the above macros
|
||||
# but since they differ in format from C to C++, are added into the C or
|
||||
# C++ specific macros for compiler flags.
|
||||
#
|
||||
# On i586 we need to tell the code generator to ALWAYS use a
|
||||
# frame pointer.
|
||||
ifeq ($(ARCH_FAMILY), i586)
|
||||
# Note that in 5.7, this is done with -xregs=no%frameptr
|
||||
ifeq ($(CC_VER), 5.5)
|
||||
# It's not exactly clear when this optimization kicks in, the
|
||||
# current assumption is -xO4 or greater and for C++ with
|
||||
# the -features=no%except option and -xO4 and greater.
|
||||
# Bottom line is, we ALWAYS want a frame pointer!
|
||||
CXXFLAGS_OPT += -Qoption ube -Z~B
|
||||
CFLAGS_OPT += -Wu,-Z~B
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CXXFLAGS_DBG += -Qoption ube -Z~B
|
||||
CFLAGS_DBG += -Wu,-Z~B
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
#
|
||||
# Optimizer for sparc needs to be told not to do certain things
|
||||
# related to frames or save instructions.
|
||||
ifeq ($(ARCH_FAMILY), sparc)
|
||||
# NOTE: Someday the compilers will provide a high-level option for this.
|
||||
# Use save instructions instead of add instructions
|
||||
# This was an optimization starting in SC5.0 that made it hard for us to
|
||||
# find the "save" instruction (which got turned into an "add")
|
||||
CXXFLAGS_OPT += -Qoption cg -Qrm-s
|
||||
CFLAGS_OPT += -Wc,-Qrm-s
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CXXFLAGS_DBG += -Qoption cg -Qrm-s
|
||||
CFLAGS_DBG += -Wc,-Qrm-s
|
||||
endif
|
||||
#
|
||||
# NOTE: Someday the compilers will provide a high-level option for this.
|
||||
# Don't allow tail call code optimization. Started in SC5.0.
|
||||
# We don't like code of this form:
|
||||
# save
|
||||
# <code>
|
||||
# call foo
|
||||
# restore
|
||||
# because we can't tell if the method will have a stack frame
|
||||
# and register windows or not.
|
||||
CXXFLAGS_OPT += -Qoption cg -Qiselect-T0
|
||||
CFLAGS_OPT += -Wc,-Qiselect-T0
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
CXXFLAGS_DBG += -Qoption cg -Qiselect-T0
|
||||
CFLAGS_DBG += -Wc,-Qiselect-T0
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Path and option to link against the VM, if you have to. Note that
|
||||
# there are libraries that link against only -ljava, but they do get
|
||||
# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
|
||||
# the library itself should not.
|
||||
#
|
||||
VM_NAME = server
|
||||
JVMLIB = -L$(BOOTDIR)/jre/lib/$(LIBARCH)/server -ljvm
|
||||
JAVALIB =
|
||||
|
||||
# Part of INCREMENTAL_BUILD mechanism.
|
||||
# Compiler emits things like: path/file.o: file.h
|
||||
# We want something like: relative_path/file.o relative_path/file.d: file.h
|
||||
# In addition on Solaris, any include file starting with / is deleted,
|
||||
# this gets rid of things like /usr/include files, which never change.
|
||||
CC_DEPEND = -xM1
|
||||
CC_DEPEND_FILTER = $(SED) -e '/:[ ]*[/]/d' -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g' | $(SORT) -u
|
||||
|
||||
# Location of openwin libraries (do we really need this anymore?)
|
||||
OPENWIN_HOME = /usr/openwin
|
||||
OPENWIN_LIB = $(OPENWIN_HOME)/lib$(ISA_DIR)
|
||||
|
||||
# Runtime graphics library search paths...
|
||||
OPENWIN_RUNTIME_LIB = /usr/openwin/lib$(ISA_DIR)
|
||||
AWT_RUNPATH = -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_RUNTIME_LIB)
|
||||
|
||||
# C++ Runtime library (libCrun.so), use instead of -lCrun.
|
||||
# Originally used instead of -lCrun to guarantee use of the system
|
||||
# .so version and not the .a or .so that came with the compilers.
|
||||
# With the newer compilers this could probably change back to -lCrun but
|
||||
# in general this is ok to continue to do.
|
||||
LIBCXX = /usr/lib$(ISA_DIR)/libCrun.so.1
|
||||
|
||||
# Math Library (libm.so), do not use -lm.
|
||||
# There might be two versions of libm.so on the build system:
|
||||
# libm.so.1 and libm.so.2, and we want libm.so.1.
|
||||
# Depending on the Solaris release being used to build with,
|
||||
# /usr/lib/libm.so could point at a libm.so.2, so we are
|
||||
# explicit here so that the libjvm.so you have built will work on an
|
||||
# older Solaris release that might not have libm.so.2.
|
||||
# This is a critical factor in allowing builds on Solaris 10 or newer
|
||||
# to run on Solaris 8 or 9.
|
||||
#
|
||||
# Note: Historically there was also a problem picking up a static version
|
||||
# of libm.a from the compiler area, but that problem has gone away
|
||||
# with the newer compilers. Use of libm.a would cause .so bloat.
|
||||
#
|
||||
LIBM = /usr/lib$(ISA_DIR)/libm.so.1
|
||||
|
||||
# Socket library
|
||||
LIBSOCKET = -lsocket
|
||||
|
||||
# GLOBAL_KPIC: If set means all libraries are PIC, position independent code
|
||||
# EXCEPT for select compiles
|
||||
# If a .o file is compiled non-PIC then it should be forced
|
||||
# into the RW data segment with a mapfile option. This is done
|
||||
# with object files which generated from .s files.
|
||||
# The -ztext enforces that no relocations remain in the text segment
|
||||
# so that it remains purely read-only for optimum system performance.
|
||||
# Some libraries may use a smaller size (13bit -Kpic) on sparc instead of
|
||||
# (32 bit -KPIC) and will override GLOBAL_KPIC appropriately.
|
||||
#
|
||||
PIC_CODE_LARGE = -KPIC
|
||||
PIC_CODE_SMALL = -Kpic
|
||||
ifndef TCOV_BUILD
|
||||
GLOBAL_KPIC = $(PIC_CODE_LARGE)
|
||||
CXXFLAGS_COMMON += $(GLOBAL_KPIC)
|
||||
CFLAGS_COMMON += $(GLOBAL_KPIC)
|
||||
LDFLAGS_COMMON += -ztext
|
||||
endif # TCOV_BUILD
|
||||
|
||||
# If your platform has DPS, it will have Type1 fonts too, in which case
|
||||
# it is best to enable DPS support until such time as 2D's rasteriser
|
||||
# can fully handle Type1 fonts in all cases. Default is "yes".
|
||||
# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
|
||||
# DPS (Displayable PostScript) is available on Solaris machines
|
||||
|
||||
HAVE_DPS = yes
|
||||
|
||||
#
|
||||
# Japanese manpages
|
||||
#
|
||||
JA_SOURCE_ENCODING = eucJP
|
||||
JA_TARGET_ENCODINGS = eucJP UTF-8 PCK
|
||||
|
||||
|
||||
@@ -31,363 +31,7 @@
|
||||
# Get shared JDK settings
|
||||
include $(BUILDDIR)/common/shared/Defs.gmk
|
||||
|
||||
# CC compiler object code output directive flag value
|
||||
CC_OBJECT_OUTPUT_FLAG = -Fo
|
||||
CC_PROGRAM_OUTPUT_FLAG = -Fe
|
||||
|
||||
# The suffix applied to the library name for FDLIBM
|
||||
FDDLIBM_SUFFIX = lib
|
||||
# The suffix applied to scripts (.bat for windows, nothing for unix)
|
||||
SCRIPT_SUFFIX = .bat
|
||||
|
||||
HPIS = windows
|
||||
# LIB_LOCATION, which for windows identifies where .exe files go, may be
|
||||
# set by each GNUmakefile. The default is BINDIR.
|
||||
ifndef LIB_LOCATION
|
||||
LIB_LOCATION = $(BINDIR)
|
||||
endif # LIB_LOCATION
|
||||
|
||||
ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(TOPDIR)/src/windows
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# for backwards compatability, the old "win32" is used here instead of
|
||||
# the more proper "windows"
|
||||
PLATFORM_INCLUDE_NAME = win32
|
||||
PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
|
||||
|
||||
# The following DLL's are considered MS runtime libraries and should
|
||||
# not to be REBASEd, see deploy/make/common/Release.gmk.
|
||||
# msvcrt.dll, msvcrnn.dll [msvcr71 or msvcr80 or msvcr90] : Microsoft runtimes
|
||||
MS_RUNTIME_LIBRARIES = msvcrt.dll
|
||||
MSVCRNN_DLL =
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
ifeq ($(COMPILER_VERSION), VS2003)
|
||||
MSVCRNN_DLL = msvcr71.dll
|
||||
MSVCPNN_DLL = msvcp71.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2005)
|
||||
MSVCRNN_DLL = msvcr80.dll
|
||||
MSVCPNN_DLL = msvcp80.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2008)
|
||||
MSVCRNN_DLL = msvcr90.dll
|
||||
MSVCPNN_DLL = msvcp90.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
MSVCRNN_DLL = msvcr100.dll
|
||||
MSVCPNN_DLL = msvcp100.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
endif
|
||||
|
||||
# C Compiler flag definitions
|
||||
|
||||
#
|
||||
# Default optimization
|
||||
#
|
||||
ifeq ($(CC_VERSION),msvc)
|
||||
# Visual Studio .NET 2003 or VS2003 compiler option definitions:
|
||||
# -O1 Favors reduced size over speed (-Og -Os -Oy -Ob2 -Gs -GF -Gy)
|
||||
# -O2 Favors speed over reduced size (-Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy)
|
||||
# -Ox Full optimization (use -O2) (-Og -Oi -Ot -Oy -Ob2)
|
||||
# (Removed in Visual Studio 2005 or VS2005)
|
||||
# -Ob2 More aggressive inlining
|
||||
# -Og Global optimizations
|
||||
# -Oi Replace some functions with intrinsic or special forms
|
||||
# -Op Improve floating point calculations (disables some optimizations)
|
||||
# (Replaced with -fp:precise in VS2005, /Op is default now)
|
||||
# -Os Favor small code
|
||||
# -Ot Favor faster code
|
||||
# -Oy Frame pointer omission
|
||||
# -GB Optimize for pentium (old VC6 option?)
|
||||
# -G6 VS2003 version of -GB?
|
||||
# -GF Pool strings in read-only memory
|
||||
# -Gf Pool strings in read-write memory (the default)
|
||||
# -Gs Controls stack probess
|
||||
# -GS Adds buffer overflow checks on stacks
|
||||
# (Default in VS2005)
|
||||
# -GX Enables exception handling
|
||||
# (Replaced with /EHsc in VS2005)
|
||||
# -Gy Function level linking only
|
||||
#
|
||||
# NOTE: With VC6, -Ox included -Gs.
|
||||
# NOTE: With VC6, -Ox, -O1, and -O2 used -Ob1, not -Ob2.
|
||||
# NOTE: With VC6, -O1 and -O2 used -Gf, not -GF.
|
||||
#
|
||||
ifeq ($(COMPILER_VERSION), VC6)
|
||||
# VC6 (6.2) msvc compiler (the way Tiger and early Mustang were built)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
GX_OPTION = -GX
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_HIGHEST_OPT = -Ox -Gy -Os -GB
|
||||
CC_HIGHER_OPT = -Ox -Gy -Os -GB
|
||||
CC_LOWER_OPT = -Ox -Gy -Os -GB
|
||||
else
|
||||
CC_HIGHEST_OPT = -Ox -Gy -Op
|
||||
CC_HIGHER_OPT = -Ox -Gy -Op
|
||||
CC_LOWER_OPT = -Ox -Gy -Op
|
||||
endif
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2003)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION = -YX
|
||||
# Also known as VC7 compiler
|
||||
GX_OPTION = -GX
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
# Lowered opt level to try and reduce footprint, dll size especially.
|
||||
# Was: CC_HIGHEST_OPT = -O2 -G6
|
||||
# Was: CC_HIGHER_OPT = -O2
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
else
|
||||
CC_HIGHEST_OPT = -O2 -Op
|
||||
CC_HIGHER_OPT = -O2 -Op
|
||||
CC_LOWER_OPT = -O1 -Op
|
||||
endif
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2005)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
# VS2005 compiler, only with Platform SDK right now?
|
||||
GX_OPTION = -EHsc
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
else
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2008)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
GX_OPTION = -EHsc
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
else
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
GX_OPTION = -EHsc
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
else
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
endif
|
||||
endif
|
||||
CC_NO_OPT = -Od
|
||||
else # CC_VERSION
|
||||
# GCC not supported, but left for historical reference...
|
||||
CC_HIGHEST_OPT = -O3
|
||||
CC_HIGHER_OPT = -O2
|
||||
CC_LOWER_OPT = -O2
|
||||
CC_NO_OPT =
|
||||
endif
|
||||
|
||||
# If NO_OPTIMIZATIONS is defined in the environment, turn all optimzations off
|
||||
ifdef NO_OPTIMIZATIONS
|
||||
CC_HIGHEST_OPT = $(CC_NO_OPT)
|
||||
CC_HIGHER_OPT = $(CC_NO_OPT)
|
||||
CC_LOWER_OPT = $(CC_NO_OPT)
|
||||
endif
|
||||
|
||||
ifeq ($(PRODUCT), java)
|
||||
_OPT = $(CC_HIGHER_OPT)
|
||||
else
|
||||
_OPT = $(CC_LOWER_OPT)
|
||||
endif
|
||||
|
||||
# Select the runtime support library carefully, need to be consistent
|
||||
#
|
||||
# VS2003 compiler option definitions:
|
||||
# -MD Use dynamic multi-threaded runtime library
|
||||
# -MDd Use debug version (don't use, doesn't mix with -MD DLL's)
|
||||
# -MT Use static multi-threaded runtime library (-ML is going away)
|
||||
# -MTd Use static debug version (better than -MDd, no runtime issues)
|
||||
# -D_DEBUG Change use of malloc/free/etc to use special debug ones (-MTd)
|
||||
#
|
||||
# NOTE: We also will use /D _STATIC_CPPLIB so we don't need msvcpnn.dll
|
||||
#
|
||||
ifeq ($(MS_RUNTIME_STATIC),true)
|
||||
MS_RUNTIME_OPTION=-MT
|
||||
else
|
||||
MS_RUNTIME_OPTION=-MD
|
||||
endif
|
||||
# The _DEBUG macro option (changes things like malloc to use debug version)
|
||||
MS_RUNTIME_DEBUG_OPTION=
|
||||
MS_RC_DEBUG_OPTION=
|
||||
# Externally set environment variable can force any build to use the debug vers
|
||||
ifeq ($(MFC_DEBUG), true)
|
||||
ifeq ($(MS_RUNTIME_STATIC),true)
|
||||
MS_RUNTIME_OPTION=-MTd
|
||||
else
|
||||
# This MS debugging flag forces a dependence on the debug
|
||||
# version of the runtime library (MSVCRTD.DLL), as does -MDd.
|
||||
# We cannot re-distribute this debug runtime.
|
||||
MS_RUNTIME_OPTION=-MDd
|
||||
endif
|
||||
MS_RUNTIME_DEBUG_OPTION= -D_DEBUG
|
||||
MS_RC_DEBUG_OPTION= -d _DEBUG
|
||||
endif
|
||||
|
||||
# Always add _STATIC_CPPLIB definition
|
||||
STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB
|
||||
MS_RUNTIME_OPTION += $(STATIC_CPPLIB_OPTION)
|
||||
|
||||
ifeq ($(CC_VERSION),msvc)
|
||||
# VS2003 compiler option definitions:
|
||||
# -Zi Cause *.pdb file to be created, full debug information
|
||||
# -Z7 Full debug inside the .obj, no .pdb
|
||||
# -Zd Basic debug, no local variables? In the .obj
|
||||
# -Zl Don't add runtime library name to obj file?
|
||||
# -Od Turns off optimization and speeds compilation
|
||||
# -YX -Fp/.../foobar.pch Use precompiled headers (try someday?)
|
||||
# -nologo Don't print out startup message
|
||||
# /D _STATIC_CPPLIB
|
||||
# Use static link for the C++ runtime (so msvcpnn.dll not needed)
|
||||
#
|
||||
CFLAGS_COMMON += -Zi -nologo
|
||||
CFLAGS_OPT = $(POPT)
|
||||
CFLAGS_DBG = -Od $(MS_RUNTIME_DEBUG_OPTION)
|
||||
|
||||
# Starting from VS2005 the wchar_t is handled as a built-in C/C++ data type
|
||||
# by default. However, we expect the wchar_t to be a typedef to the
|
||||
# unsigned short data type. The -Zc:wchar_t- option restores the old
|
||||
# behavior (as seen in VS2003) to avoid massive code modifications.
|
||||
# When/if our code will be "C/C++ Standard"-compliant (at least in the area
|
||||
# of handling the wchar_t type), the option won't be necessary.
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CFLAGS_VS2005 += -Zc:wchar_t-
|
||||
else
|
||||
# The 64bit Platform SDK we use (April 2005) doesn't like this option
|
||||
ifneq ($(CC_VER), 14.00.40310.41)
|
||||
CFLAGS_VS2005 += -Zc:wchar_t-
|
||||
endif
|
||||
endif
|
||||
|
||||
# All builds get the same runtime setting
|
||||
CFLAGS_COMMON += $(MS_RUNTIME_OPTION) $(CFLAGS_$(COMPILER_VERSION))
|
||||
|
||||
|
||||
LDEBUG = /debug
|
||||
|
||||
ifeq ($(VTUNE_SUPPORT), true)
|
||||
OTHER_CFLAGS = -Z7 -Ox
|
||||
LDEBUG += /pdb:NONE
|
||||
endif
|
||||
|
||||
# The new Platform SDK and VS2005 has /GS as a default and requires
|
||||
# bufferoverflowU.lib on the link command line, otherwise
|
||||
# we get missing __security_check_cookie externals at link time.
|
||||
BUFFEROVERFLOWLIB = bufferoverflowU.lib
|
||||
# Always add bufferoverflowU.lib to VS2005 link commands (pack uses LDDFLAGS)
|
||||
LFLAGS_VS2005 = $(BUFFEROVERFLOWLIB)
|
||||
|
||||
# LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
|
||||
BASELFLAGS = -nologo /opt:REF /incremental:no
|
||||
LFLAGS = $(BASELFLAGS) $(LDEBUG) $(EXTRA_LFLAGS) $(LFLAGS_$(COMPILER_VERSION))
|
||||
LDDFLAGS += $(LFLAGS_$(COMPILER_VERSION))
|
||||
|
||||
endif
|
||||
|
||||
#
|
||||
# Preprocessor macro definitions
|
||||
#
|
||||
CPPFLAGS_COMMON = -DWIN32 -DIAL -D_LITTLE_ENDIAN
|
||||
ifeq ($(ARCH), amd64)
|
||||
CPPFLAGS_COMMON += -D_AMD64_ -Damd64
|
||||
else
|
||||
CPPFLAGS_COMMON += -DWIN32 -D_X86_ -Dx86
|
||||
endif
|
||||
CPPFLAGS_COMMON += -DWIN32_LEAN_AND_MEAN
|
||||
|
||||
#
|
||||
# Output options (use specific filenames to avoid parallel compile errors)
|
||||
#
|
||||
CFLAGS_COMMON += -Fd$(OBJDIR)/$(basename $(@F)).pdb -Fm$(OBJDIR)/$(basename $(@F)).map
|
||||
|
||||
#
|
||||
# Add warnings and extra on 64bit issues
|
||||
#
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
CFLAGS_COMMON += -Wp64
|
||||
endif
|
||||
CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL)
|
||||
|
||||
#
|
||||
# Treat compiler warnings as errors, if requested
|
||||
#
|
||||
ifeq ($(COMPILER_WARNINGS_FATAL),true)
|
||||
CFLAGS_COMMON += -WX
|
||||
endif
|
||||
|
||||
CPPFLAGS_OPT =
|
||||
CPPFLAGS_DBG = -DDEBUG -DLOGGING
|
||||
|
||||
CXXFLAGS_COMMON = $(CFLAGS_COMMON)
|
||||
CXXFLAGS_OPT = $(CFLAGS_OPT)
|
||||
CXXFLAGS_DBG = $(CFLAGS_DBG)
|
||||
|
||||
ifneq ($(LIBRARY),fdlibm)
|
||||
EXTRA_LIBS += advapi32.lib
|
||||
endif
|
||||
|
||||
#
|
||||
# Path and option to link against the VM, if you have to.
|
||||
#
|
||||
JVMLIB = $(BOOTDIR)/lib/jvm.lib
|
||||
JAVALIB =
|
||||
|
||||
ifeq ($(CC_VERSION), msvc)
|
||||
CC_DEPEND = -FD
|
||||
CC_DEPEND_FILTER =
|
||||
else # CC_VERSION
|
||||
# not supported, but left for historical reference...
|
||||
CC_DEPEND = -MM
|
||||
CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)&!g'
|
||||
endif # CC_VERSION
|
||||
|
||||
LIBRARY_SUFFIX = dll
|
||||
LIB_SUFFIX = lib
|
||||
|
||||
# Settings for the VERSIONINFO tap on windows.
|
||||
VERSIONINFO_RESOURCE = $(TOPDIR)/src/windows/resource/version.rc
|
||||
|
||||
RC_FLAGS = /l 0x409 /r
|
||||
|
||||
ifeq ($(VARIANT), OPT)
|
||||
RC_FLAGS += -d NDEBUG
|
||||
else
|
||||
RC_FLAGS += $(MS_RC_DEBUG_OPTION)
|
||||
endif
|
||||
|
||||
ifndef COPYRIGHT_YEAR
|
||||
COPYRIGHT_YEAR = 2007
|
||||
endif
|
||||
|
||||
RC_FLAGS += -d "JDK_BUILD_ID=$(FULL_VERSION)" \
|
||||
-d "JDK_COMPANY=$(COMPANY_NAME)" \
|
||||
-d "JDK_COMPONENT=$(PRODUCT_NAME) Platform SE binary" \
|
||||
-d "JDK_VER=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)" \
|
||||
-d "JDK_COPYRIGHT=Copyright \xA9 $(COPYRIGHT_YEAR)" \
|
||||
-d "JDK_NAME=$(PRODUCT_NAME) Platform SE $(JDK_MINOR_VERSION) $(JDK_UPDATE_META_TAG)" \
|
||||
-d "JDK_FVER=$(JDK_VERSION)"
|
||||
|
||||
@@ -73,54 +73,10 @@ JDK_LOCALES = ja zh_CN
|
||||
#
|
||||
JRE_NONEXIST_LOCALES = en en_US de_DE es_ES fr_FR it_IT ja_JP ko_KR sv_SE zh
|
||||
|
||||
#
|
||||
# All libraries except libjava and libjvm itself link against libjvm and
|
||||
# libjava, the latter for its exported common utilities. libjava only links
|
||||
# against libjvm. Programs' makefiles take their own responsibility for
|
||||
# adding other libs.
|
||||
#
|
||||
ifdef PACKAGE
|
||||
# put JAVALIB first, but do not lose any platform specific values....
|
||||
LDLIBS_COMMON = $(JAVALIB)
|
||||
endif # PACKAGE
|
||||
|
||||
#
|
||||
# Libraries that must appear ahead of libc.so on the link command line
|
||||
#
|
||||
ifdef PROGRAM
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
LDLIBS_COMMON = -lthread -ldl
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
LDLIBS_COMMON = -ldl
|
||||
endif
|
||||
|
||||
endif # PROGRAM
|
||||
|
||||
LDLIBS_COMMON += $(EXTRA_LIBS)
|
||||
|
||||
#
|
||||
# Default is to build, not import native binaries
|
||||
#
|
||||
ifndef IMPORT_NATIVE_BINARIES
|
||||
IMPORT_NATIVE_BINARIES=false
|
||||
endif
|
||||
# If importing libraries in, no incremental builds
|
||||
ifeq ($(IMPORT_NATIVE_BINARIES),true)
|
||||
INCREMENTAL_BUILD=false
|
||||
endif
|
||||
|
||||
# for generated libraries
|
||||
LIBDIR = $(OUTPUTDIR)/lib
|
||||
ABS_LIBDIR = $(ABS_OUTPUTDIR)/lib
|
||||
# Optional place to save the windows .lib files
|
||||
LIBFILES_DIR = $(OUTPUTDIR)/libfiles
|
||||
# for ext jre files
|
||||
EXTDIR = $(LIBDIR)/ext
|
||||
# for generated include files
|
||||
INCLUDEDIR = $(OUTPUTDIR)/include
|
||||
# for generated class files
|
||||
CLASSBINDIR = $(OUTPUTDIR)/classes
|
||||
DEMOCLASSDIR = $(OUTPUTDIR)/democlasses
|
||||
@@ -131,8 +87,6 @@ BUILDTOOLJARDIR = $(OUTPUTDIR)/btjars
|
||||
ABS_BUILDTOOLJARDIR = $(ABS_OUTPUTDIR)/btjars
|
||||
# for generated java source files
|
||||
GENSRCDIR = $(OUTPUTDIR)/gensrc
|
||||
# for generated C source files (not javah)
|
||||
GENNATIVESRCDIR = $(OUTPUTDIR)/gennativesrc
|
||||
# for imported source files
|
||||
IMPORTSRCDIR = $(OUTPUTDIR)/impsrc
|
||||
# for imported documents
|
||||
@@ -196,19 +150,6 @@ override ABS_TEMPDIR = $(ABS_OUTPUTDIR)/$(UNIQUE_PATH)
|
||||
dummy1:=$(shell $(MKDIR) -p $(TEMPDIR))
|
||||
dummy2:=$(shell $(MKDIR) -p $(TEMP_DISK))
|
||||
|
||||
# OBJDIRNAME is the name of the directory where the object code is to
|
||||
# be placed. It's name depends on whether the data model architecture
|
||||
# is 32-bit or not.
|
||||
ifneq ($(ARCH_DATA_MODEL), 32)
|
||||
OBJDIRNAME = obj$(ARCH_DATA_MODEL)$(OBJDIRNAME_SUFFIX)
|
||||
else
|
||||
OBJDIRNAME = obj$(OBJDIRNAME_SUFFIX)
|
||||
endif
|
||||
OBJDIR = $(TEMPDIR)/$(OBJDIRNAME)
|
||||
|
||||
# CLASSHDRDIR is where the generated C Class Header files go.
|
||||
CLASSHDRDIR = $(TEMPDIR)/CClassHeaders
|
||||
|
||||
#
|
||||
# CLASSDESTDIR can be used to specify the directory where generated classes
|
||||
# are to be placed. The default is CLASSBINDIR.
|
||||
@@ -217,11 +158,6 @@ ifndef CLASSDESTDIR
|
||||
CLASSDESTDIR = $(CLASSBINDIR)
|
||||
endif
|
||||
|
||||
INCLUDES = -I. -I$(CLASSHDRDIR) \
|
||||
$(patsubst %,-I%,$(subst $(CLASSPATH_SEPARATOR), ,$(VPATH.h))) $(OTHER_INCLUDES)
|
||||
OTHER_CPPFLAGS = $(INCLUDES)
|
||||
|
||||
|
||||
#
|
||||
# vpaths. These are the default locations searched for source files.
|
||||
# GNUmakefiles of individual areas often override the default settings.
|
||||
@@ -235,35 +171,6 @@ VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPA
|
||||
VPATH.java = $(VPATH0.java)
|
||||
vpath %.java $(VPATH.java)
|
||||
vpath %.class $(CLASSBINDIR)
|
||||
vpath %.$(OBJECT_SUFFIX) $(OBJDIR)
|
||||
|
||||
#
|
||||
# VPATH.h is used elsewhere to generate include flags. By default,
|
||||
# anyone has access to the include files that the JVM area exports,
|
||||
# namely jni.h, jvm.h, and jni_utils.h, plus their platform-specific
|
||||
# relatives.
|
||||
#
|
||||
ifeq ($(PLATFORM), windows)
|
||||
VPATH.h = $(BOOTDIR)/include;$(BOOTDIR)/include/$(PLATFORM_INCLUDE_NAME)
|
||||
else
|
||||
VPATH.h = $(PLATFORM_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/include$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/javavm/include
|
||||
endif
|
||||
vpath %.h $(VPATH.h)
|
||||
|
||||
#
|
||||
# Used in two ways: helps link against libjava.so. Also if overridden
|
||||
# determines where your shared library is installed.
|
||||
#
|
||||
ifndef LIB_LOCATION
|
||||
LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
|
||||
endif
|
||||
|
||||
#
|
||||
# Java header and stub variables
|
||||
#
|
||||
CLASSHDRS = $(patsubst %,$(CLASSHDRDIR)/%.h,$(subst .,_,$(CLASSES.export)))
|
||||
CLASSSTUBOBJS = classstubs.$(OBJECT_SUFFIX)
|
||||
STUBPREAMBLE = $(INCLUDEDIR)/StubPreamble.h
|
||||
|
||||
#
|
||||
# Classpath seen by javac (different from the one seen by the VM
|
||||
@@ -338,38 +245,9 @@ define OTHERSUBDIRS-loop
|
||||
done
|
||||
endef
|
||||
|
||||
#
|
||||
# Create BYFILE OPT and DBG settings, if CFLAGS_OPT/foobar.o is set then it is
|
||||
# used for this file, otherwise the default settings are used.
|
||||
#
|
||||
CFLAGS_$(VARIANT)/BYFILE = $(CFLAGS_$(VARIANT)/$(@F)) \
|
||||
$(CFLAGS_$(VARIANT)$(CFLAGS_$(VARIANT)/$(@F)))
|
||||
CXXFLAGS_$(VARIANT)/BYFILE = $(CXXFLAGS_$(VARIANT)/$(@F)) \
|
||||
$(CXXFLAGS_$(VARIANT)$(CXXFLAGS_$(VARIANT)/$(@F)))
|
||||
|
||||
#
|
||||
# Tool flags
|
||||
#
|
||||
ASFLAGS = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
|
||||
CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS)
|
||||
CXXFLAGS = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
|
||||
CPPFLAGS = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
|
||||
$(DEFINES) $(OPTIONS:%=-D%)
|
||||
LDFLAGS = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
|
||||
LDLIBS = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
|
||||
LINTFLAGS = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
|
||||
$(OTHER_LINTFLAGS)
|
||||
|
||||
# this should be moved into Defs-<platform>.gmk.....
|
||||
ifeq ($(PLATFORM), windows)
|
||||
VERSION_DEFINES = -DRELEASE="\"$(RELEASE)\""
|
||||
else
|
||||
VERSION_DEFINES = -DRELEASE='"$(RELEASE)"'
|
||||
endif
|
||||
|
||||
# Prevent the use of many default suffix rules we do not need
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .h .obj .cpp .hpp .java .class
|
||||
.SUFFIXES: .java .class
|
||||
|
||||
# Make sure we are all insane
|
||||
ifdef INSANE
|
||||
|
||||
@@ -1,275 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 1995, 2009, 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.
|
||||
#
|
||||
|
||||
#
|
||||
# Generic makefile for building shared libraries.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/make/common/Classes.gmk
|
||||
|
||||
#
|
||||
# It is important to define these *after* including Classes.gmk
|
||||
# in order to override the values defined inthat makefile.
|
||||
#
|
||||
|
||||
ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
|
||||
ACTUAL_LIBRARY_DIR = $(LIB_LOCATION)
|
||||
ACTUAL_LIBRARY = $(ACTUAL_LIBRARY_DIR)/$(ACTUAL_LIBRARY_NAME)
|
||||
|
||||
library:: $(ACTUAL_LIBRARY)
|
||||
|
||||
FILES_o = $(patsubst %.c, %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
|
||||
FILES_o += $(patsubst %.s, %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_s))))
|
||||
FILES_o += $(patsubst %.cpp, %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_cpp))))
|
||||
|
||||
ifeq ($(INCREMENTAL_BUILD),true)
|
||||
FILES_d = $(patsubst %.c, %.$(DEPEND_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
|
||||
FILES_d += $(patsubst %.cpp, %.$(DEPEND_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_cpp))))
|
||||
endif # INCREMENTAL_BUILD
|
||||
|
||||
ifeq ($(PLATFORM),solaris)
|
||||
# List of all lint files, one for each .c file (only for C)
|
||||
FILES_ln = $(patsubst %.c, %.$(LINT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
|
||||
endif
|
||||
|
||||
#
|
||||
# C++ libraries must be linked with CC.
|
||||
#
|
||||
ifdef CPLUSPLUSLIBRARY
|
||||
LINKER=$(LINK.cc)
|
||||
else
|
||||
LINKER=$(LINK.c)
|
||||
endif
|
||||
|
||||
# We either need to import (copy) libraries in, or build them
|
||||
$(ACTUAL_LIBRARY):: $(INIT) $(TEMPDIR) $(LIBDIR) $(BINDIR) $(EXTDIR) classheaders
|
||||
|
||||
#
|
||||
# COMPILE_APPROACH: Different approaches to compile up the native object
|
||||
# files as quickly as possible.
|
||||
# The setting of parallel works best on Unix, batch on Windows.
|
||||
#
|
||||
|
||||
COMPILE_FILES_o = $(OBJDIR)/.files_compiled
|
||||
$(COMPILE_FILES_o): $(FILES_d) $(FILES_o)
|
||||
@$(ECHO) "$<" >> $@
|
||||
clean::
|
||||
$(RM) $(COMPILE_FILES_o)
|
||||
|
||||
#
|
||||
# COMPILE_APPROACH=parallel: Will trigger compilations (just compilations) to
|
||||
# happen in parallel. Greatly decreases Unix build time, even on single CPU
|
||||
# machines, more so on multiple CPU machines. Default is 2 compiles
|
||||
# at a time, but can be adjusted with ALT_PARALLEL_COMPILE_JOBS.
|
||||
# Note that each .d file will also be dependent on it's .o file, see
|
||||
# Rules.gmk.
|
||||
# Note this does not depend on Rules.gmk to work like batch (below)
|
||||
# and this technique doesn't seem to help Windows build time nor does
|
||||
# it work very well, it's possible the Windows Visual Studio compilers
|
||||
# don't work well in a parallel situation, this needs investigation.
|
||||
#
|
||||
|
||||
ifeq ($(COMPILE_APPROACH),parallel)
|
||||
|
||||
.PHONY: library_parallel_compile
|
||||
|
||||
library_parallel_compile:
|
||||
@$(ECHO) "Begin parallel compiles: $(shell $(PWD))"
|
||||
@$(MAKE) -j $(PARALLEL_COMPILE_JOBS) $(COMPILE_FILES_o)
|
||||
@$(ECHO) "Done with parallel compiles: $(shell $(PWD))"
|
||||
|
||||
$(ACTUAL_LIBRARY):: library_parallel_compile
|
||||
|
||||
endif
|
||||
|
||||
#
|
||||
# COMPILE_APPROACH=batch: Will trigger compilations (just compilations) to
|
||||
# happen in batch mode. Greatly decreases Windows build time.
|
||||
# See logic in Rules.gmk for how compiles happen, the $(MAKE) in
|
||||
# library_batch_compile below triggers the actions in Rules.gmk.
|
||||
# Note that each .d file will also be dependent on it's .o file, see
|
||||
# Rules.gmk.
|
||||
#
|
||||
ifeq ($(COMPILE_APPROACH),batch)
|
||||
|
||||
.PHONY: library_batch_compile
|
||||
|
||||
library_batch_compile:
|
||||
@$(ECHO) "Begin BATCH compiles: $(shell $(PWD))"
|
||||
$(MAKE) $(COMPILE_FILES_o)
|
||||
$(MAKE) batch_compile
|
||||
@$(ECHO) "Done with BATCH compiles: $(shell $(PWD))"
|
||||
$(MAKE) COMPILE_APPROACH=normal $(COMPILE_FILES_o)
|
||||
|
||||
$(ACTUAL_LIBRARY):: library_batch_compile
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
||||
#
|
||||
# Library building rules.
|
||||
#
|
||||
|
||||
$(LIBRARY).lib:: $(OBJDIR)
|
||||
|
||||
# build it into $(OBJDIR) so that the other generated files get put
|
||||
# there, then copy just the DLL (and MAP file) to the requested directory.
|
||||
#
|
||||
$(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lcf
|
||||
@$(prep-target)
|
||||
@$(MKDIR) -p $(OBJDIR)
|
||||
$(LINK) -dll -out:$(OBJDIR)/$(@F) \
|
||||
-map:$(OBJDIR)/$(LIBRARY).map \
|
||||
$(LFLAGS) @$(OBJDIR)/$(LIBRARY).lcf \
|
||||
$(OTHER_LCF) $(JAVALIB) $(LDLIBS)
|
||||
$(CP) $(OBJDIR)/$(@F) $@
|
||||
$(CP) $(OBJDIR)/$(LIBRARY).map $(@D)
|
||||
$(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D)
|
||||
|
||||
$(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m)
|
||||
@$(prep-target)
|
||||
@$(MKDIR) -p $(TEMPDIR)
|
||||
@$(ECHO) $(FILES_o) > $@
|
||||
ifndef LOCAL_RESOURCE_FILE
|
||||
@$(ECHO) $(OBJDIR)/$(LIBRARY).res >> $@
|
||||
endif
|
||||
@$(ECHO) Created $@
|
||||
|
||||
RC_FLAGS += /D "JDK_FNAME=$(LIBRARY).dll" \
|
||||
/D "JDK_INTERNAL_NAME=$(LIBRARY)" \
|
||||
/D "JDK_FTYPE=0x2L"
|
||||
|
||||
$(OBJDIR)/$(LIBRARY).res: $(VERSIONINFO_RESOURCE)
|
||||
ifndef LOCAL_RESOURCE_FILE
|
||||
@$(prep-target)
|
||||
$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)
|
||||
endif
|
||||
|
||||
#
|
||||
# Install a .lib file if required.
|
||||
#
|
||||
ifeq ($(INSTALL_DOT_LIB), true)
|
||||
$(ACTUAL_LIBRARY):: $(LIBDIR)/$(LIBRARY).lib
|
||||
|
||||
clean::
|
||||
-$(RM) $(LIBDIR)/$(LIBRARY).lib
|
||||
|
||||
$(LIBDIR)/$(LIBRARY).lib:: $(OBJDIR)/$(LIBRARY).lib
|
||||
$(install-file)
|
||||
|
||||
$(LIBDIR)/$(LIBRARY).dll:: $(OBJDIR)/$(LIBRARY).dll
|
||||
$(install-file)
|
||||
|
||||
endif # INSTALL_DOT_LIB
|
||||
|
||||
else # PLATFORM
|
||||
|
||||
#
|
||||
# On Solaris, use mcs to write the version into the comment section of
|
||||
# the shared library. On other platforms set this to false at the
|
||||
# make command line.
|
||||
#
|
||||
$(ACTUAL_LIBRARY):: $(COMPILE_FILES_o) $(FILES_m) $(FILES_reorder)
|
||||
@$(prep-target)
|
||||
@$(ECHO) "STATS: LIBRARY=$(LIBRARY), PRODUCT=$(PRODUCT), _OPT=$(_OPT)"
|
||||
@$(ECHO) "Rebuilding $@ because of $?"
|
||||
$(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS)
|
||||
ifeq ($(WRITE_LIBVERSION),true)
|
||||
$(MCS) -d -a "$(FULL_VERSION)" $@
|
||||
endif # WRITE_LIBVERSION
|
||||
|
||||
endif # PLATFORM
|
||||
|
||||
#
|
||||
# Cross check all linted files against each other
|
||||
#
|
||||
ifeq ($(PLATFORM),solaris)
|
||||
lint.errors : $(FILES_ln)
|
||||
$(LINT.c) $(FILES_ln) $(LDLIBS)
|
||||
endif
|
||||
|
||||
#
|
||||
# Class libraries with JNI native methods get a include to the package.
|
||||
#
|
||||
ifdef PACKAGE
|
||||
vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)
|
||||
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)
|
||||
OTHER_INCLUDES += -I$(SHARE_SRC)/native/common -I$(PLATFORM_SRC)/native/common
|
||||
OTHER_INCLUDES += -I$(SHARE_SRC)/native/$(PKGDIR) \
|
||||
-I$(PLATFORM_SRC)/native/$(PKGDIR)
|
||||
endif
|
||||
|
||||
#
|
||||
# Clean/clobber rules
|
||||
#
|
||||
clean::
|
||||
$(RM) -r $(ACTUAL_LIBRARY)
|
||||
|
||||
clobber:: clean
|
||||
|
||||
#
|
||||
# INCREMENTAL_BUILD means that this workspace will be built over and over
|
||||
# possibly incrementally. This means tracking the object file dependencies
|
||||
# on include files so that sources get re-compiled when the include files
|
||||
# change. When building from scratch and doing a one time build (like
|
||||
# release engineering or nightly builds) set INCREMENTAL_BUILD=false.
|
||||
#
|
||||
|
||||
ifeq ($(INCREMENTAL_BUILD),true)
|
||||
|
||||
#
|
||||
# Workaround: gnumake sometimes says files is empty when it shouldn't
|
||||
# was: files := $(foreach file, $(wildcard $(OBJDIR)/*.$(DEPEND_SUFFIX)), $(file))
|
||||
#
|
||||
files := $(shell $(LS) $(OBJDIR)/*.$(DEPEND_SUFFIX) 2>/dev/null)
|
||||
|
||||
#
|
||||
# Only include these files if we have any.
|
||||
#
|
||||
ifneq ($(strip $(files)),)
|
||||
|
||||
include $(files)
|
||||
|
||||
endif # files
|
||||
|
||||
endif # INCREMENTAL_BUILD
|
||||
|
||||
#
|
||||
# Default dependencies
|
||||
#
|
||||
|
||||
all: build
|
||||
|
||||
build: library
|
||||
|
||||
debug:
|
||||
$(MAKE) VARIANT=DBG build
|
||||
|
||||
fastdebug:
|
||||
$(MAKE) VARIANT=DBG FASTDEBUG=true build
|
||||
|
||||
.PHONY: all build debug fastdebug
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 1998, 2005, 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 for linking with mapfiles.
|
||||
#
|
||||
# NOTE: Not using a mapfile will expose all your extern functions and
|
||||
# extern data symbols as part of your interface, so unless your
|
||||
# extern names are safe from being mistaken as names from other
|
||||
# libraries, you better use a mapfile, or use a unique naming
|
||||
# convention on all your extern symbols.
|
||||
#
|
||||
# The mapfile will establish versioning by defining the exported interface.
|
||||
#
|
||||
# The mapfile can also force certain .o files or elf sections into the
|
||||
# the different segments of the resulting library/program image.
|
||||
#
|
||||
# The macro FILES_m can contain any number of mapfiles.
|
||||
#
|
||||
|
||||
# Always make sure 'all' is the default rule
|
||||
mapfile_default_rule: all
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
|
||||
ifeq ($(VARIANT), OPT)
|
||||
# OPT build MUST have a mapfile?
|
||||
ifndef FILES_m
|
||||
FILES_m = mapfile-vers
|
||||
endif
|
||||
|
||||
# If we are re-ordering functions in this solaris library, we need to make
|
||||
# sure that -xF is added to the compile lines. This option is critical and
|
||||
# enables the functions to be reordered.
|
||||
ifdef FILES_reorder
|
||||
CFLAGS_OPT += -xF
|
||||
CXXFLAGS_OPT += -xF
|
||||
endif
|
||||
|
||||
INIT += $(TEMPDIR)/mapfile-vers
|
||||
|
||||
$(TEMPDIR)/mapfile-vers : $(FILES_m) $(FILES_reorder)
|
||||
$(prep-target)
|
||||
$(CAT) $(FILES_m) > $@
|
||||
ifdef FILES_reorder
|
||||
$(SED) -e 's=OUTPUTDIR=$(OUTPUTDIR)=' $(FILES_reorder) >> $@
|
||||
endif
|
||||
endif # VARIANT
|
||||
|
||||
ifndef LDNOMAP
|
||||
LDMAPFLAGS_OPT = -M$(TEMPDIR)/mapfile-vers
|
||||
LDMAPFLAGS_DBG = $(FILES_m:%=-M%)
|
||||
endif
|
||||
|
||||
endif # PLATFORM
|
||||
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
|
||||
ifeq ($(VARIANT), OPT)
|
||||
# OPT build MUST have a mapfile?
|
||||
ifndef FILES_m
|
||||
FILES_m = mapfile-vers
|
||||
endif
|
||||
endif # VARIANT
|
||||
|
||||
ifndef LDNOMAP
|
||||
LDMAPFLAGS_OPT = $(FILES_m:%=-Xlinker -version-script=%)
|
||||
LDMAPFLAGS_DBG = $(FILES_m:%=-Xlinker -version-script=%)
|
||||
endif
|
||||
|
||||
endif # PLATFORM
|
||||
|
||||
LDFLAGS_OPT += $(LDMAPFLAGS_OPT)
|
||||
LDFLAGS_DBG += $(LDMAPFLAGS_DBG)
|
||||
|
||||
@@ -34,7 +34,7 @@ rules_default_rule: all
|
||||
#
|
||||
# Directory set up. (Needed by deploy workspace)
|
||||
#
|
||||
$(CLASSDESTDIR) $(CLASSHDRDIR) $(OBJDIR) $(OUTPUTDIR) $(BINDIR) $(LIBDIR) $(LIBDIR)/$(LIBARCH) $(TEMPDIR) $(EXTDIR):
|
||||
$(CLASSDESTDIR) $(OUTPUTDIR) $(TEMPDIR) $(EXTDIR):
|
||||
$(MKDIR) -p $@
|
||||
|
||||
#
|
||||
@@ -163,9 +163,6 @@ $(CLASSDESTDIR)/%.class: $(SHARE_SRC)/classes/%.java
|
||||
# List of class files needed
|
||||
FILES_class = $(FILES_java:%.java=$(CLASSDESTDIR)/%.class)
|
||||
|
||||
# Got to include exported files.
|
||||
FILES_class += $(FILES_export:%.java=$(CLASSDESTDIR)/%.class)
|
||||
|
||||
# Construct list of java sources we need to compile
|
||||
source_list_prime:
|
||||
@$(MKDIR) -p $(TEMPDIR)
|
||||
@@ -214,50 +211,7 @@ endif
|
||||
classes.clean: packages.clean
|
||||
$(RM) $(JAVA_SOURCE_LIST)
|
||||
|
||||
#
|
||||
# C and C++ make dependencies
|
||||
#
|
||||
include $(TOPDIR)/make/common/internal/NativeCompileRules.gmk
|
||||
|
||||
#
|
||||
# Running Javah to generate stuff into CClassHeaders.
|
||||
#
|
||||
|
||||
ifdef FILES_export
|
||||
|
||||
CLASSES.export = $(subst /,.,$(FILES_export:%.java=%))
|
||||
CLASSES.export += $(subst /,.,$(FILES_export2:%.java=%))
|
||||
CLASSES.export += $(subst /,.,$(FILES_export3:%.java=%))
|
||||
CLASSES_export = $(FILES_export:%.java=$(CLASSDESTDIR)/%.class)
|
||||
CLASSES_export += $(FILES_export2:%.java=$(CLASSDESTDIR)/%.class)
|
||||
CLASSES_export += $(FILES_export3:%.java=$(CLASSDESTDIR)/%.class)
|
||||
|
||||
# Fix when deploy workspace makefiles don't depend on this name
|
||||
#CLASSHDR_DOTFILE=$(CLASSHDRDIR)/.classheaders
|
||||
|
||||
CLASSHDR_DOTFILE=$(OBJDIR)/.class.headers.$(ARCH)
|
||||
|
||||
classheaders: classes $(CLASSHDR_DOTFILE)
|
||||
|
||||
$(CLASSHDR_DOTFILE): $(CLASSES_export)
|
||||
$(prep-target)
|
||||
$(JAVAH_CMD) -d $(CLASSHDRDIR)/ \
|
||||
$(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner))
|
||||
@$(java-vm-cleanup)
|
||||
@$(TOUCH) $@
|
||||
|
||||
classheaders.clean:
|
||||
$(RM) -r $(CLASSHDRDIR) $(CLASSHDR_DOTFILE)
|
||||
|
||||
else # FILES_export
|
||||
|
||||
classheaders: classes
|
||||
|
||||
classheaders.clean:
|
||||
|
||||
endif # FILES_export
|
||||
|
||||
clean clobber:: classheaders.clean classes.clean .delete.classlist
|
||||
clean clobber:: classes.clean .delete.classlist
|
||||
|
||||
#
|
||||
# Default dependencies
|
||||
@@ -265,12 +219,11 @@ clean clobber:: classheaders.clean classes.clean .delete.classlist
|
||||
|
||||
all: build
|
||||
|
||||
build: classheaders
|
||||
build: classes
|
||||
|
||||
default: all
|
||||
|
||||
.PHONY: all build clean clobber \
|
||||
.delete.classlist classes .compile.classlist classes.clean \
|
||||
classheaders classheaders.clean \
|
||||
batch_compile
|
||||
|
||||
|
||||
@@ -1,214 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 1995, 2007, 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.
|
||||
#
|
||||
|
||||
#
|
||||
# Native C/C++ Compile Rules
|
||||
#
|
||||
|
||||
#
|
||||
# INCREMENTAL_BUILD: Record the #include file dependencies.
|
||||
#
|
||||
# NOTE: We build make include files with the suffix
|
||||
# $(DEPEND_SUFFIX) on every compilation. These are initially
|
||||
# created as temp files just in case a ^C kills it in the middle.
|
||||
# Compiler is smart enough to handle ^C and not create the .o file, or
|
||||
# is supposed to be that smart, but the .$(DEPEND_SUFFIX) file
|
||||
# creation here isn't.
|
||||
# These .$(DEPEND_SUFFIX) files are included by Library.gmk and
|
||||
# Program.gmk, when they exist (Search for 'make dependencies').
|
||||
#
|
||||
|
||||
ifeq ($(INCREMENTAL_BUILD),true)
|
||||
|
||||
$(OBJDIR)/%.$(DEPEND_SUFFIX): %.c
|
||||
@$(prep-target)
|
||||
@$(ECHO) "Creating $@"
|
||||
@$(RM) $@.temp
|
||||
@$(CC) $(CC_DEPEND) $(CPPFLAGS) $< 2> $(DEV_NULL) | \
|
||||
$(CC_DEPEND_FILTER) > $@.temp
|
||||
@$(MV) $@.temp $@
|
||||
|
||||
$(OBJDIR)/%.$(DEPEND_SUFFIX): %.cpp
|
||||
@$(prep-target)
|
||||
@$(ECHO) "Creating $@"
|
||||
@$(RM) $@.temp
|
||||
@$(CXX) $(CC_DEPEND) $(CPPFLAGS) $(CXXFLAGS) $< 2> $(DEV_NULL) | \
|
||||
$(CC_DEPEND_FILTER) > $@.temp
|
||||
@$(MV) $@.temp $@
|
||||
|
||||
endif # INCREMENTAL_BUILD
|
||||
|
||||
#
|
||||
# C, C++, asm files.
|
||||
#
|
||||
# Normal or parallel compile rule is the same, but batch compiles require
|
||||
# we save up the sources files that use the same compile line so that we
|
||||
# can do one compile line.
|
||||
#
|
||||
|
||||
ifneq ($(COMPILE_APPROACH), batch)
|
||||
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
|
||||
@$(prep-target)
|
||||
$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
|
||||
@$(check-conventions)
|
||||
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
|
||||
@$(prep-target)
|
||||
$(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
|
||||
@$(check-conventions)
|
||||
|
||||
else
|
||||
|
||||
#
|
||||
# Batch compiling might be faster if the compiler was smart about recognizing
|
||||
# optimization opportunities available when all files are being compiled
|
||||
# the same way. Unfortunately this is rare.
|
||||
# Automatic pre-compiled headers (pch) might be a possibility so we
|
||||
# add any auto pch options here.
|
||||
# So we save all the source files that have the same compile line as the
|
||||
# first file. A normal compile pass is made after the batch compile
|
||||
# to catch anything missed.
|
||||
# If the compilers had a -o option that allowed us to direct where to
|
||||
# write the object files to, then we would not need to save the object
|
||||
# file list or move them from the make directory to the build directory.
|
||||
#
|
||||
|
||||
# Source names
|
||||
COMPILE_LIST.c = $(OBJDIR)/.source_names_c
|
||||
COMPILE_LIST.cpp = $(OBJDIR)/.source_names_cpp
|
||||
|
||||
# Object file list
|
||||
COMPILE_OBJ_LIST.c = $(OBJDIR)/.obj_names_c
|
||||
COMPILE_OBJ_LIST.cpp = $(OBJDIR)/.obj_names_cpp
|
||||
|
||||
# The compile line
|
||||
COMPILE_BATCH.c = $(OBJDIR)/.compile_c
|
||||
COMPILE_BATCH.cpp = $(OBJDIR)/.compile_cpp
|
||||
|
||||
# The compile line for the current target
|
||||
THIS_COMPILE_BATCH.c = $(COMPILE_BATCH.c)-$(@F)
|
||||
THIS_COMPILE_BATCH.cpp = $(COMPILE_BATCH.cpp)-$(@F)
|
||||
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
|
||||
@$(prep-target)
|
||||
@$(ECHO) "$(COMPILE.c) $(CFLAGS_GPROF)" > $(THIS_COMPILE_BATCH.c)
|
||||
@if [ ! -s $(COMPILE_BATCH.c) ] ; then \
|
||||
$(CP) $(THIS_COMPILE_BATCH.c) $(COMPILE_BATCH.c) ; \
|
||||
$(ECHO) $< > $(COMPILE_LIST.c); \
|
||||
$(ECHO) $(@F) > $(COMPILE_OBJ_LIST.c); \
|
||||
elif [ "`$(DIFF) -w -b $(THIS_COMPILE_BATCH.c) $(COMPILE_BATCH.c)`" \
|
||||
= "" ] ; then \
|
||||
$(ECHO) $< >> $(COMPILE_LIST.c); \
|
||||
$(ECHO) $(@F) >> $(COMPILE_OBJ_LIST.c); \
|
||||
fi
|
||||
@$(RM) $(THIS_COMPILE_BATCH.c)
|
||||
@$(check-conventions)
|
||||
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
|
||||
@$(prep-target)
|
||||
@$(ECHO) "$(COMPILE.cpp) $(CFLAGS_GPROF)" > $(THIS_COMPILE_BATCH.cpp)
|
||||
@if [ ! -s $(COMPILE_BATCH.cpp) ] ; then \
|
||||
$(CP) $(THIS_COMPILE_BATCH.cpp) $(COMPILE_BATCH.cpp) ; \
|
||||
$(ECHO) $< > $(COMPILE_LIST.cpp); \
|
||||
$(ECHO) $(@F) > $(COMPILE_OBJ_LIST.cpp); \
|
||||
elif [ "`$(DIFF) -w -b $(THIS_COMPILE_BATCH.cpp) $(COMPILE_BATCH.cpp)`"\
|
||||
= "" ] ; then \
|
||||
$(ECHO) $< >> $(COMPILE_LIST.cpp); \
|
||||
$(ECHO) $(@F) >> $(COMPILE_OBJ_LIST.cpp); \
|
||||
fi
|
||||
@$(RM) $(THIS_COMPILE_BATCH.cpp)
|
||||
@$(check-conventions)
|
||||
|
||||
batch_compile: $(FILES_o)
|
||||
@$(ECHO) "Doing batch compilations"
|
||||
@if [ -s $(COMPILE_LIST.c) ] ; then \
|
||||
$(ECHO) "$(COMPILE.c) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
|
||||
`$(CAT) $(COMPILE_LIST.c)`" ; \
|
||||
( $(COMPILE.c) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
|
||||
`$(CAT) $(COMPILE_LIST.c)` && \
|
||||
$(ECHO) "$(MV) `$(CAT) $(COMPILE_OBJ_LIST.c)` $(OBJDIR)" && \
|
||||
$(MV) `$(CAT) $(COMPILE_OBJ_LIST.c)` $(OBJDIR) ) || exit 1 ; \
|
||||
fi
|
||||
@if [ -s $(COMPILE_LIST.cpp) ] ; then \
|
||||
$(ECHO) "$(COMPILE.cpp) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
|
||||
`$(CAT) $(COMPILE_LIST.cpp)`" ; \
|
||||
( $(COMPILE.cpp) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
|
||||
`$(CAT) $(COMPILE_LIST.cpp)` && \
|
||||
$(ECHO) "$(MV) `$(CAT) $(COMPILE_OBJ_LIST.cpp)` $(OBJDIR)" && \
|
||||
$(MV) `$(CAT) $(COMPILE_OBJ_LIST.cpp)` $(OBJDIR) ) || exit 1 ; \
|
||||
fi
|
||||
@$(RM) $(COMPILE_BATCH.c) $(COMPILE_LIST.c) $(COMPILE_OBJ_LIST.c)
|
||||
@$(RM) $(COMPILE_BATCH.cpp) $(COMPILE_LIST.cpp) $(COMPILE_OBJ_LIST.cpp)
|
||||
|
||||
endif
|
||||
|
||||
# newer as does not handle c++ style comments
|
||||
$(OBJDIR)/%.$(OBJECT_SUFFIX): %.s
|
||||
ifneq ($(CC_VERSION), gcc)
|
||||
@$(prep-target)
|
||||
$(COMPILE.s) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
|
||||
else
|
||||
@$(prep-target)
|
||||
$(CPP) -x assembler-with-cpp $< | $(COMPILE.s) -o $@
|
||||
endif
|
||||
@$(check-conventions)
|
||||
|
||||
#
|
||||
# Quick hack for making the compiler generate just the assembly file.
|
||||
# $ gnumake obj/sparc/myfile.s
|
||||
#
|
||||
$(OBJDIR)/%.s: %.c
|
||||
@$(prep-target)
|
||||
$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ -S $<
|
||||
@$(check-conventions)
|
||||
|
||||
# remove the intermediate files from the directories.
|
||||
# (If VARIANT=OPT, this removes all debug and fastdebug files too)
|
||||
clobber clean::
|
||||
$(RM) -r $(OBJDIR)
|
||||
$(RM) -r $(OBJDIR)_*
|
||||
|
||||
#
|
||||
# Lint support
|
||||
# (The 'lint' rule below is an older rule not using the .$(LINT_SUFFIX) files)
|
||||
#
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
$(OBJDIR)/%.$(LINT_SUFFIX): %.c
|
||||
@$(prep-target)
|
||||
$(LINT.c) -dirout=$(OBJDIR) -c $<
|
||||
lint.clean:
|
||||
$(RM) $(OBJDIR)/*.$(LINT_SUFFIX)
|
||||
# Old rule
|
||||
lint: $(FILES_c)
|
||||
ifneq ($(FILES_c),)
|
||||
$(LINT.c) -Ncheck -Nlevel=3 $? $(LDLIBS) > lint.$(ARCH) 2>&1
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: batch_compile
|
||||
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2009, 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.
|
||||
#
|
||||
|
||||
#
|
||||
# GCC Compiler settings
|
||||
#
|
||||
|
||||
COMPILER_NAME=GCC
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
||||
# Settings specific to Windows, pretty stale, hasn't been used
|
||||
CC = $(COMPILER_PATH)gcc
|
||||
CPP = $(COMPILER_PATH)gcc -E
|
||||
CXX = $(COMPILER_PATH)g++
|
||||
CCC = $(COMPILER_PATH)g++
|
||||
LIBEXE = $(COMPILER_PATH)lib
|
||||
LINK = $(COMPILER_PATH)link
|
||||
RC = $(MSDEVTOOLS_PATH)link
|
||||
LINK32 = $(LINK)
|
||||
RSC = $(RC)
|
||||
# unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
|
||||
NMAKE = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_VER = UNKNOWN
|
||||
CC_TYPE = UNKNOWN
|
||||
else
|
||||
CC_VER = UNKNOWN
|
||||
CC_TYPE = UNKNOWN
|
||||
endif
|
||||
_LINK_VER :=$(shell $(LINK) 2>&1 | $(HEAD) -n 1)
|
||||
LINK_VER :=$(call GetVersion,"$(_LINK_VER)")
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
|
||||
# Settings specific to Linux
|
||||
CC = $(COMPILER_PATH)gcc
|
||||
CPP = $(COMPILER_PATH)gcc -E
|
||||
# statically link libstdc++ before C++ ABI is stablized on Linux
|
||||
STATIC_CXX = true
|
||||
ifeq ($(STATIC_CXX),true)
|
||||
# g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
|
||||
# We need to use gcc to statically link the C++ runtime. gcc and g++ use
|
||||
# the same subprocess to compile C++ files, so it is OK to build using gcc.
|
||||
CXX = $(COMPILER_PATH)gcc
|
||||
else
|
||||
CXX = $(COMPILER_PATH)g++
|
||||
endif
|
||||
ifeq ($(ZERO_BUILD), true)
|
||||
# zero
|
||||
REQUIRED_CC_VER = 3.2
|
||||
REQUIRED_GCC_VER = 3.2.*
|
||||
else
|
||||
ifneq ("$(findstring sparc,$(ARCH))", "")
|
||||
# sparc or sparcv9
|
||||
REQUIRED_CC_VER = 4.0
|
||||
else
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
# i586
|
||||
REQUIRED_CC_VER = 3.2
|
||||
else
|
||||
ifeq ($(ARCH), amd64)
|
||||
# amd64
|
||||
REQUIRED_CC_VER = 3.2
|
||||
endif
|
||||
ifeq ($(ARCH), ia64)
|
||||
# ia64
|
||||
REQUIRED_CC_VER = 3.2
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
# Option used to create a shared library
|
||||
SHARED_LIBRARY_FLAG = -shared -mimpure-text
|
||||
SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
|
||||
# Settings specific to Solaris
|
||||
CC = $(COMPILER_PATH)gcc
|
||||
CPP = $(COMPILER_PATH)gcc -E
|
||||
CXX = $(COMPILER_PATH)g++
|
||||
REQUIRED_CC_VER = 3.2
|
||||
|
||||
# Option used to create a shared library
|
||||
SHARED_LIBRARY_FLAG = -G
|
||||
|
||||
endif
|
||||
|
||||
# Get gcc version
|
||||
_CC_VER :=$(shell $(CC) -dumpversion 2>&1 )
|
||||
CC_VER :=$(call GetVersion,"$(_CC_VER)")
|
||||
|
||||
@@ -1,186 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2009, 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.
|
||||
#
|
||||
|
||||
#
|
||||
# MSVC Compiler settings
|
||||
#
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
CC = $(COMPILER_PATH)cl
|
||||
CPP = $(COMPILER_PATH)cl
|
||||
CXX = $(COMPILER_PATH)cl
|
||||
CCC = $(COMPILER_PATH)cl
|
||||
LIBEXE = $(COMPILER_PATH)lib
|
||||
LINK = $(COMPILER_PATH)link
|
||||
RC = $(MSDEVTOOLS_PATH)rc
|
||||
LINK32 = $(LINK)
|
||||
RSC = $(RC)
|
||||
|
||||
# Fill in unknown values
|
||||
COMPILER_NAME=Unknown MSVC Compiler
|
||||
COMPILER_VERSION=
|
||||
REQUIRED_CC_VER=
|
||||
REQUIRED_LINK_VER=
|
||||
|
||||
# unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
|
||||
NMAKE = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
|
||||
|
||||
# Compiler version and type (Always get word after "Version")
|
||||
ifndef CC_VER
|
||||
CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/.*\(Version.*\)/\1/' | $(NAWK) '{print $$2}')
|
||||
export CC_VER
|
||||
endif
|
||||
|
||||
# SDK-64 and MSVC6 put REBASE.EXE in a different places - go figure...
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
ifndef LINK_VER
|
||||
LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
|
||||
export LINK_VER
|
||||
endif
|
||||
CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
|
||||
ifeq ($(CC_MAJORVER), 13)
|
||||
# This should be: CC_VER=13.10.3077 LINK_VER=7.10.3077
|
||||
REQUIRED_CC_VER = 13.10.3077
|
||||
REQUIRED_LINK_VER = 7.10.3077
|
||||
COMPILER_NAME=Visual Studio .NET 2003 Professional C++
|
||||
COMPILER_VERSION=VS2003
|
||||
REBASE = $(COMPILER_PATH)../../Common7/Tools/Bin/rebase
|
||||
MTL = $(COMPILER_PATH)../../Common7/Tools/Bin/midl
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 14)
|
||||
# This should be: CC_VER=14.00.50727.42 LINK_VER=8.00.50727.42
|
||||
REQUIRED_CC_VER = 14.00.50727.42
|
||||
REQUIRED_LINK_VER = 8.00.50727.42
|
||||
COMPILER_NAME=Visual Studio 8
|
||||
COMPILER_VERSION=VS2005
|
||||
REBASE = $(COMPILER_PATH)../../Common8/Tools/Bin/rebase
|
||||
MTL = $(COMPILER_PATH)../../Common8/Tools/Bin/midl
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 15)
|
||||
# This should be: CC_VER=15.00.21022.08 LINK_VER=9.00.21022.08
|
||||
REQUIRED_CC_VER = 15.00.21022.08
|
||||
REQUIRED_LINK_VER = 9.00.21022.08
|
||||
COMPILER_NAME=Visual Studio 9
|
||||
COMPILER_VERSION=VS2008
|
||||
#rebase and midl moved out of Visual Studio into the SDK:
|
||||
REBASE = $(MSDEVTOOLS_PATH)/rebase
|
||||
MTL = $(MSDEVTOOLS_PATH)/midl.exe
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 16)
|
||||
# This should be: CC_VER=16.00.30319.01 LINK_VER=10.00.30319.01
|
||||
REQUIRED_CC_VER = 16.00.30319.01
|
||||
REQUIRED_LINK_VER = 10.00.30319.01
|
||||
COMPILER_NAME=Visual Studio 10
|
||||
COMPILER_VERSION=VS2010
|
||||
#rebase and midl moved out of Visual Studio into the SDK:
|
||||
REBASE = $(MSDEVTOOLS_PATH)/rebase
|
||||
MTL = $(MSDEVTOOLS_PATH)/midl.exe
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
# else ARCH_DATA_MODEL is 64
|
||||
ifndef LINK_VER
|
||||
LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
|
||||
export LINK_VER
|
||||
endif
|
||||
CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
|
||||
CC_MINORVER :=$(call MinorVersion,$(CC_VER))
|
||||
CC_MICROVER :=$(call MicroVersion,$(CC_VER))
|
||||
ifeq ($(ARCH), ia64)
|
||||
REQUIRED_CC_VER = 13.00.9337.7
|
||||
REQUIRED_LINK_VER = 7.00.9337.7
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
REQUIRED_CC_VER = 14.00.40310.41
|
||||
REQUIRED_LINK_VER = 8.00.40310.39
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 13)
|
||||
ifeq ($(ARCH), ia64)
|
||||
# This should be: CC_VER=13.00.9337.7 LINK_VER=7.00.9337.7
|
||||
COMPILER_NAME=Microsoft Platform SDK - November 2001 Edition
|
||||
COMPILER_VERSION=VS2003
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 14)
|
||||
ifeq ($(ARCH), amd64)
|
||||
ifeq ($(CC_MICROVER), 30701)
|
||||
# This should be: CC_VER=14.00.30701 LINK_VER=8.00.30701
|
||||
# WARNING: it says 14, but it is such an early build it doesn't
|
||||
# have all the VS2005 compiler option changes, so treat
|
||||
# this like a VS2003 compiler.
|
||||
COMPILER_NAME=Microsoft Platform SDK - February 2003 Edition
|
||||
COMPILER_VERSION=VS2003
|
||||
else
|
||||
# This should be: CC_VER=14.00.40310.41 LINK_VER=8.00.40310.39
|
||||
COMPILER_NAME=Microsoft Platform SDK - April 2005 Edition (3790.1830)
|
||||
COMPILER_VERSION=VS2005
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 15)
|
||||
# This should be: CC_VER=15.00.21022.8 LINK_VER=9.00.21022.8
|
||||
REQUIRED_CC_VER = 15.00.21022.8
|
||||
REQUIRED_LINK_VER = 9.00.21022.8
|
||||
COMPILER_NAME=Windows SDK 6.1 Visual Studio 9
|
||||
COMPILER_VERSION=VS2008
|
||||
RC = $(MSSDK61)/bin/x64/rc
|
||||
REBASE = $(MSSDK61)/bin/x64/rebase
|
||||
else
|
||||
ifeq ($(CC_MAJORVER), 16)
|
||||
# This should be: CC_VER=16.00.30319.01 LINK_VER=9.00.30319.01
|
||||
REQUIRED_CC_VER = 16.00.30319.01
|
||||
REQUIRED_LINK_VER = 10.00.30319.01
|
||||
COMPILER_NAME=Microsoft Visual Studio 10
|
||||
COMPILER_VERSION=VS2010
|
||||
RC = $(MSSDK7)/bin/x64/rc
|
||||
REBASE = $(MSSDK7)/bin/x64/rebase
|
||||
else
|
||||
# This will cause problems if ALT_COMPILER_PATH is defined to ""
|
||||
# which is a directive to use the PATH.
|
||||
REBASE = $(COMPILER_PATH)../REBASE
|
||||
endif
|
||||
endif
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
ifndef COMPILER_VERSION
|
||||
COMPILER_VERSION := $(error COMPILER_VERSION cannot be empty here)
|
||||
endif
|
||||
# Shared library generation flag
|
||||
SHARED_LIBRARY_FLAG = -LD
|
||||
endif
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2009, 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.
|
||||
#
|
||||
|
||||
#
|
||||
# Sun Studio Compiler settings
|
||||
#
|
||||
|
||||
COMPILER_NAME=Sun Studio
|
||||
|
||||
# Sun Studio Compiler settings specific to Solaris
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
COMPILER_VERSION=SS12
|
||||
REQUIRED_CC_VER=5.9
|
||||
CC = $(COMPILER_PATH)cc
|
||||
CPP = $(COMPILER_PATH)cc -E
|
||||
CXX = $(COMPILER_PATH)CC
|
||||
LINT = $(COMPILER_PATH)lint
|
||||
# Option used to create a shared library
|
||||
SHARED_LIBRARY_FLAG = -G
|
||||
endif
|
||||
|
||||
# Sun Studio Compiler settings specific to Linux
|
||||
ifeq ($(PLATFORM), linux)
|
||||
# This has not been tested
|
||||
COMPILER_VERSION=SS12
|
||||
REQUIRED_CC_VER=5.9
|
||||
CC = $(COMPILER_PATH)cc
|
||||
CPP = $(COMPILER_PATH)cc -E
|
||||
CXX = $(COMPILER_PATH)CC
|
||||
LINT = $(COMPILER_PATH)lint
|
||||
# statically link libstdc++ before C++ ABI is stablized on Linux
|
||||
STATIC_CXX = true
|
||||
ifeq ($(STATIC_CXX),true)
|
||||
# CC always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
|
||||
# We need to use cc to statically link the C++ runtime.
|
||||
CXX = $(COMPILER_PATH)cc
|
||||
else
|
||||
CXX = $(COMPILER_PATH)CC
|
||||
endif
|
||||
# Option used to create a shared library
|
||||
SHARED_LIBRARY_FLAG = -G
|
||||
endif
|
||||
|
||||
# Get compiler version
|
||||
_CC_VER :=$(shell $(CC) -V 2>&1 | $(HEAD) -n 1)
|
||||
CC_VER :=$(call GetVersion,"$(_CC_VER)")
|
||||
|
||||
@@ -42,7 +42,7 @@ else
|
||||
endif
|
||||
|
||||
#
|
||||
# All java tools (javac, javah, and javadoc) run faster with certain java
|
||||
# All java tools (javac and javadoc) run faster with certain java
|
||||
# options, this macro should be used with all these tools.
|
||||
# In particular, the client VM makes these tools run faster when
|
||||
# it's available.
|
||||
@@ -134,21 +134,14 @@ JAVACFLAGS += -encoding ascii
|
||||
JAVACFLAGS += -classpath $(BOOTDIR)/lib/tools.jar
|
||||
JAVACFLAGS += $(OTHER_JAVACFLAGS)
|
||||
|
||||
# Needed for javah
|
||||
JAVAHFLAGS += -classpath $(CLASSBINDIR)
|
||||
|
||||
# Langtools
|
||||
ifdef LANGTOOLS_DIST
|
||||
JAVAC_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javac.jar
|
||||
JAVAH_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javah.jar
|
||||
JAVADOC_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javadoc.jar
|
||||
DOCLETS_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/doclets.jar
|
||||
JAVAC_CMD = $(BOOT_JAVA_CMD) \
|
||||
"-Xbootclasspath/p:$(JAVAC_JAR)" \
|
||||
-jar $(JAVAC_JAR) $(JAVACFLAGS)
|
||||
JAVAH_CMD = $(BOOT_JAVA_CMD) \
|
||||
"-Xbootclasspath/p:$(JAVAH_JAR)$(CLASSPATH_SEPARATOR)$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)" \
|
||||
-jar $(JAVAH_JAR) $(JAVAHFLAGS)
|
||||
JAVADOC_CMD = $(BOOT_JAVA_CMD) \
|
||||
"-Xbootclasspath/p:$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)$(CLASSPATH_SEPARATOR)$(DOCLETS_JAR)" \
|
||||
-jar $(JAVADOC_JAR)
|
||||
@@ -156,8 +149,6 @@ else
|
||||
# If no explicit tools, use boot tools (add VM flags in this case)
|
||||
JAVAC_CMD = $(JAVA_TOOLS_DIR)/javac $(JAVAC_JVM_FLAGS) \
|
||||
$(JAVACFLAGS)
|
||||
JAVAH_CMD = $(JAVA_TOOLS_DIR)/javah \
|
||||
$(JAVAHFLAGS)
|
||||
JAVADOC_CMD = $(JAVA_TOOLS_DIR)/javadoc $(JAVA_TOOLS_FLAGS:%=-J%)
|
||||
endif
|
||||
|
||||
|
||||
@@ -94,14 +94,6 @@ else
|
||||
JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
|
||||
endif
|
||||
|
||||
# COMPILER_PATH: path to where the compiler and tools are installed.
|
||||
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
||||
ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
|
||||
COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
|
||||
else
|
||||
COMPILER_PATH =/usr/bin/
|
||||
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"
|
||||
|
||||
@@ -86,24 +86,6 @@ else
|
||||
JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
|
||||
endif
|
||||
|
||||
# COMPILER_PATH: path to where the compiler and tools are installed.
|
||||
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
||||
ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
|
||||
COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
|
||||
else
|
||||
# Careful here, COMPILER_VERSION may not be defined yet (see Compiler.gmk)
|
||||
# If the place where we keep a set of Sun Studio compilers doesn't exist,
|
||||
# try and use /opt/SUNWspro, the default location for the SS compilers.
|
||||
# (DirExists checks for this path twice, an automount double check)
|
||||
_SUNSTUDIO_SET_ROOT=$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/SUNWspro
|
||||
SUNSTUDIO_SET_ROOT:=$(call DirExists,$(_SUNSTUDIO_SET_ROOT),$(_SUNSTUDIO_SET_ROOT),)
|
||||
ifneq ($(SUNSTUDIO_SET_ROOT),)
|
||||
COMPILER_PATH =$(SUNSTUDIO_SET_ROOT)/$(COMPILER_VERSION)/bin/
|
||||
else
|
||||
COMPILER_PATH =/opt/SUNWspro/bin/
|
||||
endif
|
||||
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"
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
# Level: Default is 3, 0 means none, 4 is the most but may be unreliable
|
||||
# Some makefiles may have set this to 0 to turn off warnings completely,
|
||||
# which also effectively creates a COMPILER_WARNINGS_FATAL=false situation.
|
||||
# Program.gmk may turn this down to 2 (building .exe's).
|
||||
# Windows 64bit platforms are less likely to be warning free.
|
||||
# Historically, Windows 32bit builds should be mostly warning free.
|
||||
ifndef COMPILER_WARNING_LEVEL
|
||||
@@ -74,7 +73,7 @@ override INCREMENTAL_BUILD = false
|
||||
# The ALT values should never really have spaces or use \.
|
||||
# Suspect these environment variables to have spaces and/or \ characters:
|
||||
# SYSTEMROOT, SystemRoot, WINDIR, windir, PROGRAMFILES, ProgramFiles,
|
||||
# MSTOOLS, Mstools, MSSDK, MSSdk, VC71COMNTOOLS,
|
||||
# VC71COMNTOOLS,
|
||||
# MSVCDIR, MSVCDir.
|
||||
# So use $(subst \,/,) on them first adding quotes and placing them in
|
||||
# their own variable assigned with :=, then use FullPath.
|
||||
@@ -201,124 +200,6 @@ ifndef SHORTPROGRAMFILES
|
||||
export SHORTPROGRAMFILES
|
||||
endif
|
||||
|
||||
# Compilers, SDK, and Visual Studio (MSDEV) [32bit is different from 64bit]
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
ifndef SHORTMSVCDIR
|
||||
# Try looking in MSVCDIR or MSVCDir area first (set by vcvars32.bat)
|
||||
ifdef MSVCDIR
|
||||
xMSVCDIR :="$(subst \,/,$(MSVCDIR))"
|
||||
SHORTMSVCDIR :=$(call FullPath,$(xMSVCDIR))
|
||||
else
|
||||
ifdef MSVCDir
|
||||
xMSVCDIR :="$(subst \,/,$(MSVCDir))"
|
||||
SHORTMSVCDIR :=$(call FullPath,$(xMSVCDIR))
|
||||
else
|
||||
ifneq ($(SHORTPROGRAMFILES),)
|
||||
xMSVCDIR :="$(SHORTPROGRAMFILES)/Microsoft Visual Studio .NET 2003/Vc7"
|
||||
SHORTMSVCDIR :=$(call FullPath,$(xMSVCDIR))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifneq ($(subst MSDev98,OLDOLDOLD,$(SHORTMSVCDIR)),$(SHORTMSVCDIR))
|
||||
SHORTMSVCDIR :=
|
||||
endif
|
||||
# If we still don't have it, look for VS100COMNTOOLS, setup by installer?
|
||||
ifeq ($(SHORTMSVCDIR),)
|
||||
ifdef VS100COMNTOOLS # /Common/Tools directory, use ../../Vc
|
||||
xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
|
||||
_vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs100tools),)
|
||||
SHORTMSVCDIR :=$(_vs100tools)/../../Vc
|
||||
endif
|
||||
endif
|
||||
export SHORTMSVCDIR
|
||||
# If we still don't have it, look for VS71COMNTOOLS, setup by installer?
|
||||
ifeq ($(SHORTMSVCDIR),)
|
||||
ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7
|
||||
xVS71COMNTOOLS :="$(subst \,/,$(VS71COMNTOOLS))"
|
||||
_vs71tools :=$(call FullPath,$(xVS71COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs71tools),)
|
||||
SHORTMSVCDIR :=$(_vs71tools)/../../Vc7
|
||||
endif
|
||||
endif
|
||||
export SHORTMSVCDIR
|
||||
endif
|
||||
ifneq ($(SHORTMSVCDIR),)
|
||||
SHORTCOMPILERBIN :=$(SHORTMSVCDIR)/Bin
|
||||
SHORTPSDK :=$(SHORTMSVCDIR)/PlatformSDK
|
||||
export SHORTCOMPILERBIN
|
||||
export SHORTPSDK
|
||||
endif
|
||||
endif
|
||||
|
||||
# The Microsoft Platform SDK installed by itself
|
||||
ifneq ($(SHORTPROGRAMFILES),)
|
||||
ifndef SHORTPSDK
|
||||
xPSDK :="$(SHORTPROGRAMFILES)/Microsoft Platform SDK"
|
||||
SHORTPSDK :=$(call FullPath,$(xPSDK))
|
||||
ifeq ($(SHORTPSDK),)
|
||||
xPSDK :="$(SHORTPROGRAMFILES)/Microsoft SDK"
|
||||
SHORTPSDK :=$(call FullPath,$(xMSSDK))
|
||||
endif
|
||||
export SHORTPSDK
|
||||
endif
|
||||
endif
|
||||
|
||||
# If no SDK found yet, look in other places
|
||||
ifndef SHORTPSDK
|
||||
ifdef MSSDK
|
||||
xMSSDK :="$(subst \,/,$(MSSDK))"
|
||||
SHORTPSDK :=$(call FullPath,$(xMSSDK))
|
||||
else
|
||||
ifdef MSSdk
|
||||
xMSSDK :="$(subst \,/,$(MSSdk))"
|
||||
SHORTPSDK :=$(call FullPath,$(xMSSDK))
|
||||
endif
|
||||
endif
|
||||
export SHORTPSDK
|
||||
endif
|
||||
|
||||
# Compilers for 64bit are from SDK
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
ifndef SHORTCOMPILERBIN
|
||||
ifdef VS100COMNTOOLS # /Common7/Tools directory, use ../../Vc
|
||||
xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
|
||||
_vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs100tools),)
|
||||
SHORTCOMPILERBIN :=$(_vs100tools)/../../Vc/bin/amd64
|
||||
xMSSDK70 :="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/"
|
||||
MSSDK7 :=$(call FullPath,$(xMSSDK70))
|
||||
export MSSDK7
|
||||
else
|
||||
xMSSDK61 :="C:/Program Files/Microsoft SDKs/Windows/v6.1/"
|
||||
MSSDK61 :=$(call FullPath,$(xMSSDK61))
|
||||
xVS2008 :="C:/Program Files (x86)/Microsoft Visual Studio 9.0/"
|
||||
_vs2008 :=$(call FullPath,$(xVS2008))
|
||||
ifneq ($(_vs2008),)
|
||||
ifeq ($(ARCH), ia64)
|
||||
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/x86_ia64
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/$(ARCH)
|
||||
endif
|
||||
else
|
||||
ifneq ($(SHORTPSDK),)
|
||||
ifeq ($(ARCH), ia64)
|
||||
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64/x86/$(ARCH)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
export SHORTCOMPILERBIN
|
||||
endif
|
||||
endif
|
||||
|
||||
# Location on system where jdk installs might be
|
||||
ifneq ($(SHORTPROGRAMFILES),)
|
||||
USRJDKINSTANCES_PATH =$(SHORTPROGRAMFILES)/Java
|
||||
@@ -356,55 +237,6 @@ ifndef JDK_DEVTOOLS_DIR
|
||||
export JDK_DEVTOOLS_DIR
|
||||
endif
|
||||
|
||||
# COMPILER_PATH: path to where the compiler and tools are installed.
|
||||
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
||||
ifndef COMPILER_PATH
|
||||
ifdef ALT_COMPILER_PATH
|
||||
xALT_COMPILER_PATH :="$(subst \,/,$(ALT_COMPILER_PATH))"
|
||||
fxALT_COMPILER_PATH :=$(call FullPath,$(xALT_COMPILER_PATH))
|
||||
COMPILER_PATH :=$(call PrefixPath,$(fxALT_COMPILER_PATH))
|
||||
else
|
||||
COMPILER_PATH :=$(call PrefixPath,$(SHORTCOMPILERBIN))
|
||||
endif
|
||||
COMPILER_PATH :=$(call AltCheckSpaces,COMPILER_PATH)
|
||||
export COMPILER_PATH
|
||||
endif
|
||||
|
||||
# MSDEVTOOLS_PATH: path to where the additional MS Compiler tools are.
|
||||
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
||||
ifndef MSDEVTOOLS_PATH
|
||||
ifdef ALT_MSDEVTOOLS_PATH
|
||||
xALT_MSDEVTOOLS_PATH :="$(subst \,/,$(ALT_MSDEVTOOLS_PATH))"
|
||||
fxALT_MSDEVTOOLS_PATH :=$(call FullPath,$(xALT_MSDEVTOOLS_PATH))
|
||||
MSDEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_MSDEVTOOLS_PATH))
|
||||
else
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
ifdef MSTOOLS
|
||||
xMSTOOLS :="$(subst \,/,$(MSTOOLS))"
|
||||
_ms_tools :=$(call FullPath,$(xMSTOOLS))
|
||||
else
|
||||
ifdef Mstools
|
||||
xMSTOOLS :="$(subst \,/,$(Mstools))"
|
||||
_ms_tools :=$(call FullPath,$(xMSTOOLS))
|
||||
else
|
||||
_ms_tools :=
|
||||
endif
|
||||
endif
|
||||
ifneq ($(_ms_tools),)
|
||||
_ms_tools_bin :=$(_ms_tools)/Bin
|
||||
else
|
||||
# Assumes compiler bin is .../Bin/win64/x86/AMD64, rc.exe is 3 levels up
|
||||
_ms_tools_bin :=$(SHORTCOMPILERBIN)/../../..
|
||||
endif
|
||||
else
|
||||
_ms_tools_bin :=$(SHORTCOMPILERBIN)
|
||||
endif
|
||||
MSDEVTOOLS_PATH :=$(call PrefixPath,$(_ms_tools_bin))
|
||||
endif
|
||||
MSDEVTOOLS_PATH:=$(call AltCheckSpaces,MSDEVTOOLS_PATH)
|
||||
export MSDEVTOOLS_PATH
|
||||
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.
|
||||
ifndef DEVTOOLS_PATH
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
# Get shared system utilities macros defined
|
||||
include $(BUILDDIR)/common/shared/Defs-utils.gmk
|
||||
|
||||
# Assumes ARCH, PLATFORM, ARCH_VM_SUBDIR, etc. have been defined.
|
||||
# Assumes ARCH, PLATFORM, etc. have been defined.
|
||||
|
||||
# Simple pwd path
|
||||
define PwdPath
|
||||
@@ -157,7 +157,6 @@ endef
|
||||
_check_values:=\
|
||||
$(call CheckValue,ARCH,),\
|
||||
$(call CheckValue,ARCH_DATA_MODEL,),\
|
||||
$(call CheckValue,ARCH_VM_SUBDIR,),\
|
||||
$(call CheckValue,VARIANT,),\
|
||||
$(call CheckValue,PLATFORM,)
|
||||
|
||||
@@ -194,21 +193,15 @@ endif
|
||||
# can be OPT or DBG, default is OPT
|
||||
# Determine the extra pattern to add to the release name for debug/fastdebug.
|
||||
# Determine the JDK_IMPORT_VARIANT, so we get the right VM files copied over.
|
||||
# Determine suffix for obj directory or OBJDIR, for .o files.
|
||||
# (by keeping .o files separate, just .o files, they don't clobber each
|
||||
# other, however, the library files will clobber each other).
|
||||
#
|
||||
ifeq ($(VARIANT), DBG)
|
||||
BUILD_VARIANT_RELEASE=-debug
|
||||
OBJDIRNAME_SUFFIX=_g
|
||||
else
|
||||
BUILD_VARIANT_RELEASE=
|
||||
OBJDIRNAME_SUFFIX=
|
||||
endif
|
||||
ifeq ($(FASTDEBUG), true)
|
||||
VARIANT=DBG
|
||||
BUILD_VARIANT_RELEASE=-fastdebug
|
||||
OBJDIRNAME_SUFFIX=_gO
|
||||
_JDK_IMPORT_VARIANT=/fastdebug
|
||||
endif
|
||||
|
||||
@@ -330,6 +323,4 @@ BINDIR = $(OUTPUTDIR)/bin$(ISA_DIR)
|
||||
# Absolute path to output directory
|
||||
ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR))
|
||||
|
||||
# Get shared compiler settings
|
||||
include $(BUILDDIR)/common/shared/Compiler.gmk
|
||||
|
||||
|
||||
@@ -58,19 +58,10 @@ PLATFORM_SHARED=done
|
||||
# ARCH sparc, sparcv9, i586, amd64, or ia64
|
||||
# ARCH_FAMILY sparc or i586
|
||||
# ARCHPROP sparc or x86
|
||||
# ARCH_VM_SUBDIR jre/bin, jre/lib/sparc, etc.
|
||||
# LIBARCH sparc, sparcv9, i386, amd64, or ia64
|
||||
# DEV_NULL destination of /dev/null, NUL or /dev/NULL
|
||||
# CLASSPATH_SEPARATOR separator in classpath, ; or :
|
||||
# LIB_PREFIX dynamic or static library prefix, lib or empty
|
||||
# LIB_SUFFIX static library file suffix, .lib or .a?
|
||||
# LIBRARY_SUFFIX dynamic library file suffix, .dll or .so
|
||||
# OBJECT_SUFFIX object file suffix, .o or .obj
|
||||
# EXE_SUFFIX executable file suffix, .exe or empty
|
||||
# BUNDLE_FILE_SUFFIX suffix for bundles: .tar or .tar.gz
|
||||
# ISA_DIR solaris only: /sparcv9 or /amd64
|
||||
# LIBARCH32 solaris only: sparc or i386
|
||||
# LIBARCH64 solaris only: sparcv9 or amd64
|
||||
# REQUIRED_WINDOWS_NAME windows only: basic name of windows
|
||||
# REQUIRED_WINDOWS_VERSION windows only: specific version of windows
|
||||
# USING_CYGWIN windows only: true or false
|
||||
@@ -129,7 +120,6 @@ ifeq ($(SYSTEM_UNAME), SunOS)
|
||||
# Need to maintain the jre/lib/i386 location for 32-bit Intel
|
||||
ifeq ($(ARCH), i586)
|
||||
ARCH_FAMILY = $(ARCH)
|
||||
LIBARCH = i386
|
||||
# Value of Java os.arch property
|
||||
ARCHPROP = x86
|
||||
else
|
||||
@@ -138,17 +128,8 @@ ifeq ($(SYSTEM_UNAME), SunOS)
|
||||
else
|
||||
ARCH_FAMILY = sparc
|
||||
endif
|
||||
LIBARCH = $(ARCH)
|
||||
# Value of Java os.arch property
|
||||
ARCHPROP = $(LIBARCH)
|
||||
endif
|
||||
# The two LIBARCH names
|
||||
ifeq ($(ARCH_FAMILY), sparc)
|
||||
LIBARCH32 = sparc
|
||||
LIBARCH64 = sparcv9
|
||||
else
|
||||
LIBARCH32 = i386
|
||||
LIBARCH64 = amd64
|
||||
ARCHPROP = $(ARCH)
|
||||
endif
|
||||
# Suffix for file bundles used in previous release
|
||||
BUNDLE_FILE_SUFFIX=.tar
|
||||
@@ -218,16 +199,12 @@ ifeq ($(SYSTEM_UNAME), Linux)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Need to maintain the jre/lib/i386 location for 32-bit Intel
|
||||
ifeq ($(ARCH), i586)
|
||||
LIBARCH = i386
|
||||
ARCHPROP = i386
|
||||
else
|
||||
LIBARCH = $(ARCH)
|
||||
ARCHPROP = $(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
|
||||
@@ -303,9 +280,7 @@ ifeq ($(PLATFORM), windows)
|
||||
endif
|
||||
endif
|
||||
export ARCH_DATA_MODEL
|
||||
# LIBARCH is used to preserve the jre/lib/i386 directory name for 32-bit intel
|
||||
ARCH=i586
|
||||
LIBARCH=i386
|
||||
# Value of Java os.arch property
|
||||
ARCHPROP=x86
|
||||
REQUIRED_WINDOWS_NAME=Windows Professional 2000
|
||||
@@ -323,9 +298,8 @@ ifeq ($(PLATFORM), windows)
|
||||
ARCH=ia64
|
||||
endif
|
||||
endif
|
||||
LIBARCH=$(ARCH)
|
||||
# Value of Java os.arch property
|
||||
ARCHPROP=$(LIBARCH)
|
||||
ARCHPROP=$(ARCH)
|
||||
endif
|
||||
ARCH_FAMILY = $(ARCH)
|
||||
# Where is unwanted output to be delivered?
|
||||
@@ -337,14 +311,6 @@ ifeq ($(PLATFORM), windows)
|
||||
export DEV_NULL
|
||||
# Classpath separator
|
||||
CLASSPATH_SEPARATOR = ;
|
||||
# The suffix used for object file (.o for unix .obj for windows)
|
||||
OBJECT_SUFFIX = obj
|
||||
# The suffix applied to executables (.exe for windows, nothing for solaris)
|
||||
EXE_SUFFIX = .exe
|
||||
# The prefix applied to library files (lib for solaris, nothing for windows)
|
||||
LIB_PREFIX=
|
||||
LIBRARY_SUFFIX = dll
|
||||
LIB_SUFFIX = lib
|
||||
# User name determination (set _USER)
|
||||
ifndef USER
|
||||
ifdef USERNAME
|
||||
@@ -359,8 +325,6 @@ ifeq ($(PLATFORM), windows)
|
||||
else
|
||||
_USER:=$(USER)
|
||||
endif
|
||||
# Location of client/server directories
|
||||
ARCH_VM_SUBDIR=jre/bin
|
||||
# Suffix for file bundles used in previous release
|
||||
BUNDLE_FILE_SUFFIX=.tar
|
||||
# Minimum disk space needed as determined by running 'du -sk' on
|
||||
@@ -430,16 +394,6 @@ ifneq ($(PLATFORM), windows)
|
||||
export DEV_NULL
|
||||
# Character used between entries in classpath
|
||||
CLASSPATH_SEPARATOR = :
|
||||
# suffix used for object file (.o for unix .obj for windows)
|
||||
OBJECT_SUFFIX = o
|
||||
# The suffix applied to runtime libraries
|
||||
LIBRARY_SUFFIX = so
|
||||
# The suffix applied to link libraries
|
||||
LIB_SUFFIX = so
|
||||
# The suffix applied to executables (.exe for windows, nothing for solaris)
|
||||
EXE_SUFFIX =
|
||||
# The prefix applied to library files (lib for solaris, nothing for windows)
|
||||
LIB_PREFIX = lib
|
||||
# User name determination (set _USER)
|
||||
ifndef USER
|
||||
ifdef LOGNAME
|
||||
@@ -450,8 +404,6 @@ ifneq ($(PLATFORM), windows)
|
||||
else
|
||||
_USER:=$(USER)
|
||||
endif
|
||||
# Location of client/server directories
|
||||
ARCH_VM_SUBDIR=jre/lib/$(LIBARCH)
|
||||
endif
|
||||
|
||||
# If blanks in the username, use the first 4 words and pack them together
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2006, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2006, 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
|
||||
@@ -24,29 +24,13 @@
|
||||
#
|
||||
|
||||
# Properties for jprt
|
||||
jprt.tools.default.release=jdk1.7.0
|
||||
|
||||
# Specific platform list
|
||||
jprt.build.platforms=\
|
||||
solaris_sparc_5.10,\
|
||||
solaris_sparcv9_5.10,\
|
||||
solaris_i586_5.10,\
|
||||
solaris_x64_5.10,\
|
||||
linux_i586_2.6,\
|
||||
linux_x64_2.6,\
|
||||
windows_i586_5.0,\
|
||||
windows_x64_5.2
|
||||
# Use whatever release that the submitted job requests
|
||||
jprt.tools.default.release=${jprt.submit.release}
|
||||
|
||||
# The different build flavors we want
|
||||
# The different build flavors we want, we override here so we just get these 2
|
||||
jprt.build.flavors=product,fastdebug
|
||||
|
||||
# Explicitly designate what the 32bit match is for the 64bit build
|
||||
jprt.solaris_sparcv9.build.platform.match32=solaris_sparc_5.10
|
||||
jprt.solaris_sparcv9_5.10.build.platform.match32=solaris_sparc_5.10
|
||||
jprt.solaris_x64.build.platform.match32=solaris_i586_5.10
|
||||
jprt.solaris_x64_5.10.build.platform.match32=solaris_i586_5.10
|
||||
|
||||
# Directories needed to build
|
||||
jprt.bundle.src.dirs=make src
|
||||
jprt.bundle.exclude.src.dirs=build dist
|
||||
# Directories to be excluded from the source bundles
|
||||
jprt.bundle.exclude.src.dirs=build dist webrev
|
||||
|
||||
|
||||
@@ -32,12 +32,6 @@ PACKAGE = com.sun.tools.corba.se.idl
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
# This program must contain a manifest that defines the execution level
|
||||
# needed to follow standard Vista User Access Control Guidelines
|
||||
# This must be set before Program.gmk is included
|
||||
#
|
||||
BUILD_MANIFEST=true
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
|
||||
@@ -74,6 +74,7 @@ import com.sun.corba.se.spi.ior.iiop.IIOPProfileTemplate;
|
||||
import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
|
||||
import com.sun.corba.se.spi.orb.ORB;
|
||||
import com.sun.corba.se.spi.protocol.CorbaMessageMediator;
|
||||
import com.sun.corba.se.spi.protocol.RetryType;
|
||||
import com.sun.corba.se.spi.transport.CorbaContactInfo;
|
||||
import com.sun.corba.se.spi.transport.CorbaContactInfoList;
|
||||
import com.sun.corba.se.spi.transport.CorbaContactInfoListIterator;
|
||||
@@ -110,7 +111,7 @@ public final class ClientRequestInfoImpl
|
||||
|
||||
// The current retry request status. True if this request is being
|
||||
// retried and this info object is to be reused, or false otherwise.
|
||||
private boolean retryRequest;
|
||||
private RetryType retryRequest;
|
||||
|
||||
// The number of times this info object has been (re)used. This is
|
||||
// incremented every time a request is retried, and decremented every
|
||||
@@ -163,7 +164,8 @@ public final class ClientRequestInfoImpl
|
||||
|
||||
// Please keep these in the same order that they're declared above.
|
||||
|
||||
retryRequest = false;
|
||||
// 6763340
|
||||
retryRequest = RetryType.NONE;
|
||||
|
||||
// Do not reset entryCount because we need to know when to pop this
|
||||
// from the stack.
|
||||
@@ -824,14 +826,15 @@ public final class ClientRequestInfoImpl
|
||||
/**
|
||||
* Set or reset the retry request flag.
|
||||
*/
|
||||
void setRetryRequest( boolean retryRequest ) {
|
||||
void setRetryRequest( RetryType retryRequest ) {
|
||||
this.retryRequest = retryRequest;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the current retry request status.
|
||||
*/
|
||||
boolean getRetryRequest() {
|
||||
RetryType getRetryRequest() {
|
||||
// 6763340
|
||||
return this.retryRequest;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,6 +70,7 @@ import com.sun.corba.se.spi.orbutil.closure.ClosureFactory;
|
||||
import com.sun.corba.se.spi.protocol.CorbaMessageMediator;
|
||||
import com.sun.corba.se.spi.protocol.ForwardException;
|
||||
import com.sun.corba.se.spi.protocol.PIHandler;
|
||||
import com.sun.corba.se.spi.protocol.RetryType;
|
||||
import com.sun.corba.se.spi.logging.CORBALogDomains;
|
||||
|
||||
import com.sun.corba.se.impl.logging.InterceptorsSystemException;
|
||||
@@ -372,9 +373,24 @@ public class PIHandlerImpl implements PIHandler
|
||||
}
|
||||
}
|
||||
|
||||
public Exception invokeClientPIEndingPoint(
|
||||
int replyStatus, Exception exception )
|
||||
{
|
||||
// Needed when an error forces a retry AFTER initiateClientPIRequest
|
||||
// but BEFORE invokeClientPIStartingPoint.
|
||||
public Exception makeCompletedClientRequest( int replyStatus,
|
||||
Exception exception ) {
|
||||
|
||||
// 6763340
|
||||
return handleClientPIEndingPoint( replyStatus, exception, false ) ;
|
||||
}
|
||||
|
||||
public Exception invokeClientPIEndingPoint( int replyStatus,
|
||||
Exception exception ) {
|
||||
|
||||
// 6763340
|
||||
return handleClientPIEndingPoint( replyStatus, exception, true ) ;
|
||||
}
|
||||
|
||||
public Exception handleClientPIEndingPoint(
|
||||
int replyStatus, Exception exception, boolean invokeEndingPoint ) {
|
||||
if( !hasClientInterceptors ) return exception;
|
||||
if( !isClientPIEnabledForThisThread() ) return exception;
|
||||
|
||||
@@ -388,24 +404,31 @@ public class PIHandlerImpl implements PIHandler
|
||||
ClientRequestInfoImpl info = peekClientRequestInfoImplStack();
|
||||
info.setReplyStatus( piReplyStatus );
|
||||
info.setException( exception );
|
||||
interceptorInvoker.invokeClientInterceptorEndingPoint( info );
|
||||
piReplyStatus = info.getReplyStatus();
|
||||
|
||||
if (invokeEndingPoint) {
|
||||
// 6763340
|
||||
interceptorInvoker.invokeClientInterceptorEndingPoint( info );
|
||||
piReplyStatus = info.getReplyStatus();
|
||||
}
|
||||
|
||||
// Check reply status:
|
||||
if( (piReplyStatus == LOCATION_FORWARD.value) ||
|
||||
(piReplyStatus == TRANSPORT_RETRY.value) )
|
||||
{
|
||||
(piReplyStatus == TRANSPORT_RETRY.value) ) {
|
||||
// If this is a forward or a retry, reset and reuse
|
||||
// info object:
|
||||
info.reset();
|
||||
info.setRetryRequest( true );
|
||||
|
||||
// fix for 6763340:
|
||||
if (invokeEndingPoint) {
|
||||
info.setRetryRequest( RetryType.AFTER_RESPONSE ) ;
|
||||
} else {
|
||||
info.setRetryRequest( RetryType.BEFORE_RESPONSE ) ;
|
||||
}
|
||||
|
||||
// ... and return a RemarshalException so the orb internals know
|
||||
exception = new RemarshalException();
|
||||
}
|
||||
else if( (piReplyStatus == SYSTEM_EXCEPTION.value) ||
|
||||
(piReplyStatus == USER_EXCEPTION.value) )
|
||||
{
|
||||
} else if( (piReplyStatus == SYSTEM_EXCEPTION.value) ||
|
||||
(piReplyStatus == USER_EXCEPTION.value) ) {
|
||||
exception = info.getException();
|
||||
}
|
||||
|
||||
@@ -421,18 +444,21 @@ public class PIHandlerImpl implements PIHandler
|
||||
RequestInfoStack infoStack =
|
||||
(RequestInfoStack)threadLocalClientRequestInfoStack.get();
|
||||
ClientRequestInfoImpl info = null;
|
||||
if( !infoStack.empty() ) info =
|
||||
(ClientRequestInfoImpl)infoStack.peek();
|
||||
|
||||
if( !diiRequest && (info != null) && info.isDIIInitiate() ) {
|
||||
if (!infoStack.empty() ) {
|
||||
info = (ClientRequestInfoImpl)infoStack.peek();
|
||||
}
|
||||
|
||||
if (!diiRequest && (info != null) && info.isDIIInitiate() ) {
|
||||
// In RequestImpl.doInvocation we already called
|
||||
// initiateClientPIRequest( true ), so ignore this initiate.
|
||||
info.setDIIInitiate( false );
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// If there is no info object or if we are not retrying a request,
|
||||
// push a new ClientRequestInfoImpl on the stack:
|
||||
if( (info == null) || !info.getRetryRequest() ) {
|
||||
|
||||
// 6763340: don't push unless this is not a retry
|
||||
if( (info == null) || !info.getRetryRequest().isRetry() ) {
|
||||
info = new ClientRequestInfoImpl( orb );
|
||||
infoStack.push( info );
|
||||
printPush();
|
||||
@@ -442,9 +468,15 @@ public class PIHandlerImpl implements PIHandler
|
||||
// Reset the retry request flag so that recursive calls will
|
||||
// push a new info object, and bump up entry count so we know
|
||||
// when to pop this info object:
|
||||
info.setRetryRequest( false );
|
||||
info.setRetryRequest( RetryType.NONE );
|
||||
info.incrementEntryCount();
|
||||
|
||||
// KMC 6763340: I don't know why this wasn't set earlier,
|
||||
// but we do not want a retry to pick up the previous
|
||||
// reply status, so clear it here. Most likely a new
|
||||
// info was pushed before, so that this was not a problem.
|
||||
info.setReplyStatus( RequestInfoImpl.UNINITIALIZED ) ;
|
||||
|
||||
// If this is a DII request, make sure we ignore the next initiate.
|
||||
if( diiRequest ) {
|
||||
info.setDIIInitiate( true );
|
||||
@@ -457,25 +489,34 @@ public class PIHandlerImpl implements PIHandler
|
||||
if( !isClientPIEnabledForThisThread() ) return;
|
||||
|
||||
ClientRequestInfoImpl info = peekClientRequestInfoImplStack();
|
||||
RetryType rt = info.getRetryRequest() ;
|
||||
|
||||
// If the replyStatus has not yet been set, this is an indication
|
||||
// that the ORB threw an exception before we had a chance to
|
||||
// invoke the client interceptor ending points.
|
||||
//
|
||||
// _REVISIT_ We cannot handle any exceptions or ForwardRequests
|
||||
// flagged by the ending points here because there is no way
|
||||
// to gracefully handle this in any of the calling code.
|
||||
// This is a rare corner case, so we will ignore this for now.
|
||||
short replyStatus = info.getReplyStatus();
|
||||
if( replyStatus == info.UNINITIALIZED ) {
|
||||
invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION,
|
||||
wrapper.unknownRequestInvoke(
|
||||
CompletionStatus.COMPLETED_MAYBE ) ) ;
|
||||
// fix for 6763340
|
||||
if (!rt.equals( RetryType.BEFORE_RESPONSE )) {
|
||||
|
||||
// If the replyStatus has not yet been set, this is an indication
|
||||
// that the ORB threw an exception before we had a chance to
|
||||
// invoke the client interceptor ending points.
|
||||
//
|
||||
// _REVISIT_ We cannot handle any exceptions or ForwardRequests
|
||||
// flagged by the ending points here because there is no way
|
||||
// to gracefully handle this in any of the calling code.
|
||||
// This is a rare corner case, so we will ignore this for now.
|
||||
short replyStatus = info.getReplyStatus();
|
||||
if (replyStatus == info.UNINITIALIZED ) {
|
||||
invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION,
|
||||
wrapper.unknownRequestInvoke(
|
||||
CompletionStatus.COMPLETED_MAYBE ) ) ;
|
||||
}
|
||||
}
|
||||
|
||||
// Decrement entry count, and if it is zero, pop it from the stack.
|
||||
info.decrementEntryCount();
|
||||
if( info.getEntryCount() == 0 ) {
|
||||
|
||||
// fix for 6763340, and probably other cases (non-recursive retry)
|
||||
if (info.getEntryCount() == 0 && !info.getRetryRequest().isRetry()) {
|
||||
// RequestInfoStack<ClientRequestInfoImpl> infoStack =
|
||||
// threadLocalClientRequestInfoStack.get();
|
||||
RequestInfoStack infoStack =
|
||||
(RequestInfoStack)threadLocalClientRequestInfoStack.get();
|
||||
infoStack.pop();
|
||||
|
||||
@@ -107,6 +107,11 @@ public class PINoOpHandlerImpl implements PIHandler
|
||||
return null;
|
||||
}
|
||||
|
||||
public Exception makeCompletedClientRequest(
|
||||
int replyStatus, Exception exception ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void initiateClientPIRequest( boolean diiRequest ) {
|
||||
}
|
||||
|
||||
|
||||
@@ -187,7 +187,8 @@ public abstract class RequestInfoImpl
|
||||
startingPointCall = 0;
|
||||
intermediatePointCall = 0;
|
||||
endingPointCall = 0;
|
||||
replyStatus = UNINITIALIZED;
|
||||
// 6763340
|
||||
setReplyStatus( UNINITIALIZED ) ;
|
||||
currentExecutionPoint = EXECUTION_POINT_STARTING;
|
||||
alreadyExecuted = false;
|
||||
connection = null;
|
||||
|
||||
@@ -1012,7 +1012,11 @@ public class IIOPInputStream
|
||||
* else,
|
||||
* Handle it as a serializable class.
|
||||
*/
|
||||
if (currentClassDesc.isExternalizable()) {
|
||||
if (Enum.class.isAssignableFrom( clz )) {
|
||||
int ordinal = orbStream.read_long() ;
|
||||
String value = (String)orbStream.read_value( String.class ) ;
|
||||
return Enum.valueOf( clz, value ) ;
|
||||
} else if (currentClassDesc.isExternalizable()) {
|
||||
try {
|
||||
currentObject = (currentClass == null) ?
|
||||
null : currentClassDesc.newInstance();
|
||||
@@ -2553,8 +2557,8 @@ public class IIOPInputStream
|
||||
bridge.putObject( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetObjectField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
ObjectUtility.compactObjectToString( v )) ;
|
||||
o.toString(),
|
||||
v.toString() ) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2566,7 +2570,7 @@ public class IIOPInputStream
|
||||
bridge.putBoolean( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetBooleanField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
o.toString(),
|
||||
new Boolean(v) ) ;
|
||||
}
|
||||
}
|
||||
@@ -2579,7 +2583,7 @@ public class IIOPInputStream
|
||||
bridge.putByte( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetByteField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
o.toString(),
|
||||
new Byte(v) ) ;
|
||||
}
|
||||
}
|
||||
@@ -2592,7 +2596,7 @@ public class IIOPInputStream
|
||||
bridge.putChar( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetCharField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
o.toString(),
|
||||
new Character(v) ) ;
|
||||
}
|
||||
}
|
||||
@@ -2605,7 +2609,7 @@ public class IIOPInputStream
|
||||
bridge.putShort( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetShortField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
o.toString(),
|
||||
new Short(v) ) ;
|
||||
}
|
||||
}
|
||||
@@ -2618,7 +2622,7 @@ public class IIOPInputStream
|
||||
bridge.putInt( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetIntField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
o.toString(),
|
||||
new Integer(v) ) ;
|
||||
}
|
||||
}
|
||||
@@ -2631,7 +2635,7 @@ public class IIOPInputStream
|
||||
bridge.putLong( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetLongField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
o.toString(),
|
||||
new Long(v) ) ;
|
||||
}
|
||||
}
|
||||
@@ -2644,7 +2648,7 @@ public class IIOPInputStream
|
||||
bridge.putFloat( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetFloatField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
o.toString(),
|
||||
new Float(v) ) ;
|
||||
}
|
||||
}
|
||||
@@ -2657,7 +2661,7 @@ public class IIOPInputStream
|
||||
bridge.putDouble( o, key, v ) ;
|
||||
} catch (Exception e) {
|
||||
throw utilWrapper.errorSetDoubleField( e, fieldName,
|
||||
ObjectUtility.compactObjectToString( o ),
|
||||
o.toString(),
|
||||
new Double(v) ) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 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
|
||||
@@ -32,32 +32,22 @@
|
||||
package com.sun.corba.se.impl.io;
|
||||
|
||||
import javax.rmi.CORBA.Util;
|
||||
import javax.rmi.PortableRemoteObject;
|
||||
|
||||
import java.util.Hashtable;
|
||||
import java.util.Stack;
|
||||
import java.io.IOException;
|
||||
import java.util.EmptyStackException;
|
||||
|
||||
import com.sun.corba.se.impl.util.Utility;
|
||||
import com.sun.corba.se.impl.io.IIOPInputStream;
|
||||
import com.sun.corba.se.impl.io.IIOPOutputStream;
|
||||
import com.sun.corba.se.impl.util.RepositoryId;
|
||||
import com.sun.corba.se.impl.util.Utility;
|
||||
|
||||
import org.omg.CORBA.TCKind;
|
||||
|
||||
import org.omg.CORBA.MARSHAL;
|
||||
import org.omg.CORBA.BAD_PARAM;
|
||||
import org.omg.CORBA.CompletionStatus;
|
||||
import org.omg.CORBA.portable.IndirectionException;
|
||||
import com.sun.org.omg.SendingContext.CodeBase;
|
||||
import com.sun.org.omg.SendingContext.CodeBaseHelper;
|
||||
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
|
||||
import com.sun.corba.se.impl.io.IIOPInputStream.ActiveRecursionManager;
|
||||
import java.security.PrivilegedExceptionAction;
|
||||
|
||||
import com.sun.corba.se.spi.logging.CORBALogDomains;
|
||||
import com.sun.corba.se.impl.logging.OMGSystemException;
|
||||
@@ -809,65 +799,163 @@ public class ValueHandlerImpl implements javax.rmi.CORBA.ValueHandlerMultiFormat
|
||||
return "com.sun.corba.se.impl.io.IIOPOutputStream";
|
||||
}
|
||||
|
||||
private com.sun.corba.se.impl.io.IIOPOutputStream createOutputStream() {
|
||||
return (com.sun.corba.se.impl.io.IIOPOutputStream)AccessController.doPrivileged(
|
||||
new StreamFactory(getOutputStreamClassName()));
|
||||
private IIOPOutputStream createOutputStream() {
|
||||
final String name = getOutputStreamClassName();
|
||||
try {
|
||||
IIOPOutputStream stream = createOutputStreamBuiltIn(name);
|
||||
if (stream != null) {
|
||||
return stream;
|
||||
}
|
||||
return createCustom(IIOPOutputStream.class, name);
|
||||
} catch (Throwable t) {
|
||||
// Throw exception under the carpet.
|
||||
InternalError ie = new InternalError(
|
||||
"Error loading " + name
|
||||
);
|
||||
ie.initCause(t);
|
||||
throw ie;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a built in implementation with priveleges.
|
||||
* Returning null indicates a non-built is specified.
|
||||
*/
|
||||
private IIOPOutputStream createOutputStreamBuiltIn(
|
||||
final String name
|
||||
) throws Throwable {
|
||||
try {
|
||||
return AccessController.doPrivileged(
|
||||
new PrivilegedExceptionAction<IIOPOutputStream>() {
|
||||
public IIOPOutputStream run() throws IOException {
|
||||
return createOutputStreamBuiltInNoPriv(name);
|
||||
}
|
||||
}
|
||||
);
|
||||
} catch (java.security.PrivilegedActionException exc) {
|
||||
throw exc.getCause();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returning null indicates a non-built is specified.
|
||||
*/
|
||||
private IIOPOutputStream createOutputStreamBuiltInNoPriv(
|
||||
final String name
|
||||
) throws IOException {
|
||||
return
|
||||
name.equals(
|
||||
IIOPOutputStream
|
||||
.class.getName()
|
||||
) ?
|
||||
new IIOPOutputStream() :
|
||||
|
||||
name.equals(
|
||||
com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3
|
||||
.class.getName()
|
||||
) ?
|
||||
new com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3() :
|
||||
|
||||
name.equals(
|
||||
com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3_1
|
||||
.class.getName()
|
||||
) ?
|
||||
new com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3_1() :
|
||||
|
||||
null;
|
||||
}
|
||||
|
||||
protected String getInputStreamClassName() {
|
||||
return "com.sun.corba.se.impl.io.IIOPInputStream";
|
||||
}
|
||||
|
||||
private com.sun.corba.se.impl.io.IIOPInputStream createInputStream() {
|
||||
return (com.sun.corba.se.impl.io.IIOPInputStream)AccessController.doPrivileged(
|
||||
new StreamFactory(getInputStreamClassName()));
|
||||
private IIOPInputStream createInputStream() {
|
||||
final String name = getInputStreamClassName();
|
||||
try {
|
||||
IIOPInputStream stream = createInputStreamBuiltIn(name);
|
||||
if (stream != null) {
|
||||
return stream;
|
||||
}
|
||||
return createCustom(IIOPInputStream.class, name);
|
||||
} catch (Throwable t) {
|
||||
// Throw exception under the carpet.
|
||||
InternalError ie = new InternalError(
|
||||
"Error loading " + name
|
||||
);
|
||||
ie.initCause(t);
|
||||
throw ie;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a class of the given name using the system ClassLoader
|
||||
* as part of a PrivilegedAction.
|
||||
*
|
||||
* It's private final so hopefully people can't grab it outside of
|
||||
* this class.
|
||||
*
|
||||
* If you're worried that someone could subclass ValueHandlerImpl,
|
||||
* install his own streams, and snoop what's on the wire:
|
||||
* Someone can do that only if he's allowed to use the feature
|
||||
* of installing his own javax.rmi.CORBA.Util delegate (via a
|
||||
* JVM property or orb.properties file, read the first time the
|
||||
* Util class is used). If he can do that, he can snoop
|
||||
* anything on the wire, anyway, without abusing the
|
||||
* StreamFactory class.
|
||||
* Construct a built in implementation with priveleges.
|
||||
* Returning null indicates a non-built is specified.
|
||||
*/
|
||||
private static final class StreamFactory implements PrivilegedAction {
|
||||
private String className;
|
||||
private IIOPInputStream createInputStreamBuiltIn(
|
||||
final String name
|
||||
) throws Throwable {
|
||||
try {
|
||||
return AccessController.doPrivileged(
|
||||
new PrivilegedExceptionAction<IIOPInputStream>() {
|
||||
public IIOPInputStream run() throws IOException {
|
||||
return createInputStreamBuiltInNoPriv(name);
|
||||
}
|
||||
}
|
||||
);
|
||||
} catch (java.security.PrivilegedActionException exc) {
|
||||
throw exc.getCause();
|
||||
}
|
||||
}
|
||||
|
||||
public StreamFactory (String _className) {
|
||||
className = _className;
|
||||
}
|
||||
/**
|
||||
* Returning null indicates a non-built is specified.
|
||||
*/
|
||||
private IIOPInputStream createInputStreamBuiltInNoPriv(
|
||||
final String name
|
||||
) throws IOException {
|
||||
return
|
||||
name.equals(
|
||||
IIOPInputStream
|
||||
.class.getName()
|
||||
) ?
|
||||
new IIOPInputStream() :
|
||||
|
||||
public Object run() {
|
||||
try {
|
||||
// Note: We must use the system ClassLoader here
|
||||
// since we want to load classes outside of the
|
||||
// core JDK when running J2EE Pure ORB and
|
||||
// talking to Kestrel.
|
||||
name.equals(
|
||||
com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3
|
||||
.class.getName()
|
||||
) ?
|
||||
new com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3() :
|
||||
|
||||
name.equals(
|
||||
com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3_1
|
||||
.class.getName()
|
||||
) ?
|
||||
new com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3_1() :
|
||||
|
||||
null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a custom implementation without privileges.
|
||||
*/
|
||||
private <T> T createCustom(
|
||||
final Class<T> type, final String className
|
||||
) throws Throwable {
|
||||
// Note: We use the thread context or system ClassLoader here
|
||||
// since we want to load classes outside of the
|
||||
// core JDK when running J2EE Pure ORB and
|
||||
// talking to Kestrel.
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
if (cl == null)
|
||||
cl = ClassLoader.getSystemClassLoader();
|
||||
|
||||
Class streamClass = cl.loadClass(className);
|
||||
Class<?> clazz = cl.loadClass(className);
|
||||
Class<? extends T> streamClass = clazz.asSubclass(type);
|
||||
|
||||
// Since the ClassLoader should cache the class, this isn't
|
||||
// as expensive as it looks.
|
||||
return streamClass.newInstance();
|
||||
|
||||
} catch(Throwable t) {
|
||||
InternalError ie = new InternalError( "Error loading " + className ) ;
|
||||
ie.initCause( t ) ;
|
||||
throw ie ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1672,6 +1672,7 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
|
||||
{
|
||||
StackImpl invocationInfoStack =
|
||||
(StackImpl)clientInvocationInfoStack.get();
|
||||
int entryCount = -1;
|
||||
ClientInvocationInfo clientInvocationInfo = null;
|
||||
if (!invocationInfoStack.empty()) {
|
||||
clientInvocationInfo =
|
||||
@@ -1680,8 +1681,12 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
|
||||
throw wrapper.invocationInfoStackEmpty() ;
|
||||
}
|
||||
clientInvocationInfo.decrementEntryCount();
|
||||
entryCount = clientInvocationInfo.getEntryCount();
|
||||
if (clientInvocationInfo.getEntryCount() == 0) {
|
||||
invocationInfoStack.pop();
|
||||
// 6763340: don't pop if this is a retry!
|
||||
if (!clientInvocationInfo.isRetryInvocation()) {
|
||||
invocationInfoStack.pop();
|
||||
}
|
||||
finishedDispatch();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 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
|
||||
@@ -110,7 +110,7 @@ public class PrefixParserAction extends ParserActionBase {
|
||||
throw wrapper.couldNotSetArray( thr,
|
||||
getPropertyName(), new Integer(ctr),
|
||||
componentType, new Integer(size),
|
||||
ObjectUtility.compactObjectToString( obj )) ;
|
||||
obj.toString() ) ;
|
||||
}
|
||||
ctr++ ;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 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
|
||||
@@ -50,103 +50,8 @@ import java.math.BigInteger ;
|
||||
import java.math.BigDecimal ;
|
||||
|
||||
public final class ObjectUtility {
|
||||
private boolean useToString ;
|
||||
private boolean isIndenting ;
|
||||
private int initialLevel ;
|
||||
private int increment ;
|
||||
private ClassMap classToPrinter = new ClassMap() ;
|
||||
private ObjectUtility() {}
|
||||
|
||||
private static ObjectUtility standard = new ObjectUtility( false, true,
|
||||
0, 4 ) ;
|
||||
private static ObjectUtility compact = new ObjectUtility( true, false,
|
||||
0, 4 ) ;
|
||||
|
||||
private ObjectUtility( boolean useToString, boolean isIndenting,
|
||||
int initialLevel, int increment )
|
||||
{
|
||||
this.useToString = useToString ;
|
||||
this.isIndenting = isIndenting ;
|
||||
this.initialLevel = initialLevel ;
|
||||
this.increment = increment ;
|
||||
classToPrinter.put( Properties.class, propertiesPrinter ) ;
|
||||
classToPrinter.put( Collection.class, collectionPrinter ) ;
|
||||
classToPrinter.put( Map.class, mapPrinter ) ;
|
||||
}
|
||||
|
||||
/** Construct an Utility instance with the desired objectToString
|
||||
* behavior.
|
||||
*/
|
||||
public static ObjectUtility make( boolean useToString, boolean isIndenting,
|
||||
int initialLevel, int increment )
|
||||
{
|
||||
return new ObjectUtility( useToString, isIndenting, initialLevel,
|
||||
increment ) ;
|
||||
}
|
||||
|
||||
/** Construct an Utility instance with the desired objectToString
|
||||
* behavior.
|
||||
*/
|
||||
public static ObjectUtility make( boolean useToString, boolean isIndenting )
|
||||
{
|
||||
return new ObjectUtility( useToString, isIndenting, 0, 4 ) ;
|
||||
}
|
||||
|
||||
/** Get the standard Utility object that supports objectToString with
|
||||
* indented display and no use of toString() methods.
|
||||
*/
|
||||
public static ObjectUtility make()
|
||||
{
|
||||
return standard ;
|
||||
}
|
||||
|
||||
/** A convenience method that gives the default behavior: use indenting
|
||||
* to display the object's structure and do not use built-in toString
|
||||
* methods.
|
||||
*/
|
||||
public static String defaultObjectToString( java.lang.Object object )
|
||||
{
|
||||
return standard.objectToString( object ) ;
|
||||
}
|
||||
|
||||
public static String compactObjectToString( java.lang.Object object )
|
||||
{
|
||||
return compact.objectToString( object ) ;
|
||||
}
|
||||
|
||||
/** objectToString handles display of arbitrary objects. It correctly
|
||||
* handles objects whose elements form an arbitrary graph. It uses
|
||||
* reflection to display the contents of any kind of object.
|
||||
* An object's toString() method may optionally be used, but the default
|
||||
* is to ignore all toString() methods except for those defined for
|
||||
* primitive types, primitive type wrappers, and strings.
|
||||
*/
|
||||
public String objectToString(java.lang.Object obj)
|
||||
{
|
||||
IdentityHashMap printed = new IdentityHashMap() ;
|
||||
ObjectWriter result = ObjectWriter.make( isIndenting, initialLevel,
|
||||
increment ) ;
|
||||
objectToStringHelper( printed, result, obj ) ;
|
||||
return result.toString() ;
|
||||
}
|
||||
|
||||
// Perform a deep structural equality comparison of the two objects.
|
||||
// This handles all arrays, maps, and sets specially, otherwise
|
||||
// it just calls the object's equals() method.
|
||||
public static boolean equals( java.lang.Object obj1, java.lang.Object obj2 )
|
||||
{
|
||||
// Set of pairs of objects that have been (or are being) considered for
|
||||
// equality. Such pairs are presumed to be equals. If they are not,
|
||||
// this will be detected eventually and the equals method will return
|
||||
// false.
|
||||
Set considered = new HashSet() ;
|
||||
|
||||
// Map that gives the corresponding component of obj2 for a component
|
||||
// of obj1. This is used to check for the same aliasing and use of
|
||||
// equal objects in both objects.
|
||||
Map counterpart = new IdentityHashMap() ;
|
||||
|
||||
return equalsHelper( counterpart, considered, obj1, obj2 ) ;
|
||||
}
|
||||
|
||||
/** If arr1 and arr2 are both arrays of the same component type,
|
||||
* return an array of that component type that consists of the
|
||||
@@ -179,544 +84,4 @@ public final class ObjectUtility {
|
||||
return result ;
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
// Implementation
|
||||
//===========================================================================
|
||||
|
||||
private void objectToStringHelper( IdentityHashMap printed,
|
||||
ObjectWriter result, java.lang.Object obj)
|
||||
{
|
||||
if (obj==null) {
|
||||
result.append( "null" ) ;
|
||||
result.endElement() ;
|
||||
} else {
|
||||
Class cls = obj.getClass() ;
|
||||
result.startObject( obj ) ;
|
||||
|
||||
if (printed.keySet().contains( obj )) {
|
||||
result.endObject( "*VISITED*" ) ;
|
||||
} else {
|
||||
printed.put( obj, null ) ;
|
||||
|
||||
if (mustUseToString(cls)) {
|
||||
result.endObject( obj.toString() ) ;
|
||||
} else {
|
||||
// First, handle any classes that have special printer
|
||||
// methods defined. This is useful when the class
|
||||
// overrides toString with something that
|
||||
// is not sufficiently detailed.
|
||||
ObjectPrinter printer = (ObjectPrinter)(classToPrinter.get(
|
||||
cls )) ;
|
||||
if (printer != null) {
|
||||
printer.print( printed, result, obj ) ;
|
||||
result.endObject() ;
|
||||
} else {
|
||||
Class compClass = cls.getComponentType() ;
|
||||
|
||||
if (compClass == null)
|
||||
// handleObject always calls endObject
|
||||
handleObject( printed, result, obj ) ;
|
||||
else {
|
||||
handleArray( printed, result, obj ) ;
|
||||
result.endObject() ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static interface ObjectPrinter {
|
||||
void print( IdentityHashMap printed, ObjectWriter buff,
|
||||
java.lang.Object obj ) ;
|
||||
}
|
||||
|
||||
private ObjectPrinter propertiesPrinter = new ObjectPrinter() {
|
||||
public void print( IdentityHashMap printed, ObjectWriter buff,
|
||||
java.lang.Object obj )
|
||||
{
|
||||
if (!(obj instanceof Properties))
|
||||
throw new Error() ;
|
||||
|
||||
Properties props = (Properties)obj ;
|
||||
Enumeration keys = props.propertyNames() ;
|
||||
while (keys.hasMoreElements()) {
|
||||
String key = (String)(keys.nextElement()) ;
|
||||
String value = props.getProperty( key ) ;
|
||||
buff.startElement() ;
|
||||
buff.append( key ) ;
|
||||
buff.append( "=" ) ;
|
||||
buff.append( value ) ;
|
||||
buff.endElement() ;
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
||||
private ObjectPrinter collectionPrinter = new ObjectPrinter() {
|
||||
public void print( IdentityHashMap printed, ObjectWriter buff,
|
||||
java.lang.Object obj )
|
||||
{
|
||||
if (!(obj instanceof Collection))
|
||||
throw new Error() ;
|
||||
|
||||
Collection coll = (Collection)obj ;
|
||||
Iterator iter = coll.iterator() ;
|
||||
while (iter.hasNext()) {
|
||||
java.lang.Object element = iter.next() ;
|
||||
buff.startElement() ;
|
||||
objectToStringHelper( printed, buff, element ) ;
|
||||
buff.endElement() ;
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
||||
private ObjectPrinter mapPrinter = new ObjectPrinter() {
|
||||
public void print( IdentityHashMap printed, ObjectWriter buff,
|
||||
java.lang.Object obj )
|
||||
{
|
||||
if (!(obj instanceof Map))
|
||||
throw new Error() ;
|
||||
|
||||
Map map = (Map)obj ;
|
||||
Iterator iter = map.entrySet().iterator() ;
|
||||
while (iter.hasNext()) {
|
||||
Entry entry = (Entry)(iter.next()) ;
|
||||
buff.startElement() ;
|
||||
objectToStringHelper( printed, buff, entry.getKey() ) ;
|
||||
buff.append( "=>" ) ;
|
||||
objectToStringHelper( printed, buff, entry.getValue() ) ;
|
||||
buff.endElement() ;
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
||||
private static class ClassMap {
|
||||
ArrayList data ;
|
||||
|
||||
public ClassMap()
|
||||
{
|
||||
data = new ArrayList() ;
|
||||
}
|
||||
|
||||
/** Return the first element of the ClassMap that is assignable to cls.
|
||||
* The order is determined by the order in which the put method was
|
||||
* called. Returns null if there is no match.
|
||||
*/
|
||||
public java.lang.Object get( Class cls )
|
||||
{
|
||||
Iterator iter = data.iterator() ;
|
||||
while (iter.hasNext()) {
|
||||
java.lang.Object[] arr = (java.lang.Object[])(iter.next()) ;
|
||||
Class key = (Class)(arr[0]) ;
|
||||
if (key.isAssignableFrom( cls ))
|
||||
return arr[1] ;
|
||||
}
|
||||
|
||||
return null ;
|
||||
}
|
||||
|
||||
/** Add obj to the map with key cls. Note that order matters,
|
||||
* as the first match is returned.
|
||||
*/
|
||||
public void put( Class cls, java.lang.Object obj )
|
||||
{
|
||||
java.lang.Object[] pair = { cls, obj } ;
|
||||
data.add( pair ) ;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean mustUseToString( Class cls )
|
||||
{
|
||||
// These probably never occur
|
||||
if (cls.isPrimitive())
|
||||
return true ;
|
||||
|
||||
// We must use toString for all primitive wrappers, since
|
||||
// otherwise the code recurses endlessly (access value field
|
||||
// inside Integer, returns another Integer through reflection).
|
||||
if ((cls == Integer.class) ||
|
||||
(cls == BigInteger.class) ||
|
||||
(cls == BigDecimal.class) ||
|
||||
(cls == String.class) ||
|
||||
(cls == StringBuffer.class) ||
|
||||
(cls == Long.class) ||
|
||||
(cls == Short.class) ||
|
||||
(cls == Byte.class) ||
|
||||
(cls == Character.class) ||
|
||||
(cls == Float.class) ||
|
||||
(cls == Double.class) ||
|
||||
(cls == Boolean.class))
|
||||
return true ;
|
||||
|
||||
if (useToString) {
|
||||
try {
|
||||
cls.getDeclaredMethod( "toString", (Class[])null ) ;
|
||||
return true ;
|
||||
} catch (Exception exc) {
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
|
||||
return false ;
|
||||
}
|
||||
|
||||
private void handleObject( IdentityHashMap printed, ObjectWriter result,
|
||||
java.lang.Object obj )
|
||||
{
|
||||
Class cls = obj.getClass() ;
|
||||
|
||||
try {
|
||||
Field[] fields;
|
||||
SecurityManager security = System.getSecurityManager();
|
||||
if (security != null && !Modifier.isPublic(cls.getModifiers())) {
|
||||
fields = new Field[0];
|
||||
} else {
|
||||
fields = cls.getDeclaredFields();
|
||||
}
|
||||
|
||||
for (int ctr=0; ctr<fields.length; ctr++ ) {
|
||||
final Field fld = fields[ctr] ;
|
||||
int modifiers = fld.getModifiers() ;
|
||||
|
||||
// Do not display field if it is static, since these fields
|
||||
// are always the same for every instances. This could
|
||||
// be made configurable, but I don't think it is
|
||||
// useful to do so.
|
||||
if (!Modifier.isStatic( modifiers )) {
|
||||
if (security != null) {
|
||||
if (!Modifier.isPublic(modifiers))
|
||||
continue;
|
||||
}
|
||||
result.startElement() ;
|
||||
result.append( fld.getName() ) ;
|
||||
result.append( ":" ) ;
|
||||
|
||||
try {
|
||||
// Make sure that we can read the field if it is
|
||||
// not public
|
||||
AccessController.doPrivileged( new PrivilegedAction() {
|
||||
public Object run() {
|
||||
fld.setAccessible( true ) ;
|
||||
return null ;
|
||||
}
|
||||
} ) ;
|
||||
|
||||
java.lang.Object value = fld.get( obj ) ;
|
||||
objectToStringHelper( printed, result, value ) ;
|
||||
} catch (Exception exc2) {
|
||||
result.append( "???" ) ;
|
||||
}
|
||||
|
||||
result.endElement() ;
|
||||
}
|
||||
}
|
||||
|
||||
result.endObject() ;
|
||||
} catch (Exception exc2) {
|
||||
result.endObject( obj.toString() ) ;
|
||||
}
|
||||
}
|
||||
|
||||
private void handleArray( IdentityHashMap printed, ObjectWriter result,
|
||||
java.lang.Object obj )
|
||||
{
|
||||
Class compClass = obj.getClass().getComponentType() ;
|
||||
if (compClass == boolean.class) {
|
||||
boolean[] arr = (boolean[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
result.append( arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
} else if (compClass == byte.class) {
|
||||
byte[] arr = (byte[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
result.append( arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
} else if (compClass == short.class) {
|
||||
short[] arr = (short[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
result.append( arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
} else if (compClass == int.class) {
|
||||
int[] arr = (int[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
result.append( arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
} else if (compClass == long.class) {
|
||||
long[] arr = (long[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
result.append( arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
} else if (compClass == char.class) {
|
||||
char[] arr = (char[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
result.append( arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
} else if (compClass == float.class) {
|
||||
float[] arr = (float[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
result.append( arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
} else if (compClass == double.class) {
|
||||
double[] arr = (double[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
result.append( arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
} else { // array of object
|
||||
java.lang.Object[] arr = (java.lang.Object[])obj ;
|
||||
for (int ctr=0; ctr<arr.length; ctr++) {
|
||||
result.startElement() ;
|
||||
objectToStringHelper( printed, result, arr[ctr] ) ;
|
||||
result.endElement() ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class Pair
|
||||
{
|
||||
private java.lang.Object obj1 ;
|
||||
private java.lang.Object obj2 ;
|
||||
|
||||
Pair( java.lang.Object obj1, java.lang.Object obj2 )
|
||||
{
|
||||
this.obj1 = obj1 ;
|
||||
this.obj2 = obj2 ;
|
||||
}
|
||||
|
||||
public boolean equals( java.lang.Object obj )
|
||||
{
|
||||
if (!(obj instanceof Pair))
|
||||
return false ;
|
||||
|
||||
Pair other = (Pair)obj ;
|
||||
return other.obj1 == obj1 && other.obj2 == obj2 ;
|
||||
}
|
||||
|
||||
public int hashCode()
|
||||
{
|
||||
return System.identityHashCode( obj1 ) ^
|
||||
System.identityHashCode( obj2 ) ;
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean equalsHelper( Map counterpart, Set considered,
|
||||
java.lang.Object obj1, java.lang.Object obj2 )
|
||||
{
|
||||
if ((obj1 == null) || (obj2 == null))
|
||||
return obj1 == obj2 ;
|
||||
|
||||
java.lang.Object other2 = counterpart.get( obj1 ) ;
|
||||
if (other2 == null) {
|
||||
other2 = obj2 ;
|
||||
counterpart.put( obj1, other2 ) ;
|
||||
}
|
||||
|
||||
if (obj1 == other2)
|
||||
return true ;
|
||||
|
||||
if (obj2 != other2)
|
||||
return false ;
|
||||
|
||||
Pair pair = new Pair( obj1, obj2 ) ;
|
||||
if (considered.contains( pair ))
|
||||
return true ;
|
||||
else
|
||||
considered.add( pair ) ;
|
||||
|
||||
if (obj1 instanceof java.lang.Object[] &&
|
||||
obj2 instanceof java.lang.Object[])
|
||||
return equalArrays( counterpart, considered,
|
||||
(java.lang.Object[])obj1, (java.lang.Object[])obj2 ) ;
|
||||
else if (obj1 instanceof Map && obj2 instanceof Map)
|
||||
return equalMaps( counterpart, considered,
|
||||
(Map)obj1, (Map)obj2 ) ;
|
||||
else if (obj1 instanceof Set && obj2 instanceof Set)
|
||||
return equalSets( counterpart, considered,
|
||||
(Set)obj1, (Set)obj2 ) ;
|
||||
else if (obj1 instanceof List && obj2 instanceof List)
|
||||
return equalLists( counterpart, considered,
|
||||
(List)obj1, (List)obj2 ) ;
|
||||
else if (obj1 instanceof boolean[] && obj2 instanceof boolean[])
|
||||
return Arrays.equals( (boolean[])obj1, (boolean[])obj2 ) ;
|
||||
else if (obj1 instanceof byte[] && obj2 instanceof byte[])
|
||||
return Arrays.equals( (byte[])obj1, (byte[])obj2 ) ;
|
||||
else if (obj1 instanceof char[] && obj2 instanceof char[])
|
||||
return Arrays.equals( (char[])obj1, (char[])obj2 ) ;
|
||||
else if (obj1 instanceof double[] && obj2 instanceof double[])
|
||||
return Arrays.equals( (double[])obj1, (double[])obj2 ) ;
|
||||
else if (obj1 instanceof float[] && obj2 instanceof float[])
|
||||
return Arrays.equals( (float[])obj1, (float[])obj2 ) ;
|
||||
else if (obj1 instanceof int[] && obj2 instanceof int[])
|
||||
return Arrays.equals( (int[])obj1, (int[])obj2 ) ;
|
||||
else if (obj1 instanceof long[] && obj2 instanceof long[])
|
||||
return Arrays.equals( (long[])obj1, (long[])obj2 ) ;
|
||||
else {
|
||||
Class cls = obj1.getClass() ;
|
||||
if (cls != obj2.getClass())
|
||||
return obj1.equals( obj2 ) ;
|
||||
else
|
||||
return equalsObject( counterpart, considered, cls, obj1, obj2 ) ;
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean equalsObject( Map counterpart, Set considered,
|
||||
Class cls, java.lang.Object obj1, java.lang.Object obj2 )
|
||||
{
|
||||
Class objectClass = java.lang.Object.class ;
|
||||
if (cls == objectClass)
|
||||
return true ;
|
||||
|
||||
Class[] equalsTypes = { objectClass } ;
|
||||
try {
|
||||
Method equalsMethod = cls.getDeclaredMethod( "equals",
|
||||
equalsTypes ) ;
|
||||
return obj1.equals( obj2 ) ;
|
||||
} catch (Exception exc) {
|
||||
if (equalsObjectFields( counterpart, considered,
|
||||
cls, obj1, obj2 ))
|
||||
return equalsObject( counterpart, considered,
|
||||
cls.getSuperclass(), obj1, obj2 ) ;
|
||||
else
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean equalsObjectFields( Map counterpart, Set considered,
|
||||
Class cls, java.lang.Object obj1, java.lang.Object obj2 )
|
||||
{
|
||||
Field[] fields = cls.getDeclaredFields() ;
|
||||
for (int ctr=0; ctr<fields.length; ctr++) {
|
||||
try {
|
||||
final Field field = fields[ctr] ;
|
||||
// Ignore static fields
|
||||
if (!Modifier.isStatic( field.getModifiers())) {
|
||||
AccessController.doPrivileged(new PrivilegedAction() {
|
||||
public Object run() {
|
||||
field.setAccessible( true ) ;
|
||||
return null ;
|
||||
}
|
||||
} ) ;
|
||||
|
||||
java.lang.Object value1 = field.get( obj1 ) ;
|
||||
java.lang.Object value2 = field.get( obj2 ) ;
|
||||
if (!equalsHelper( counterpart, considered, value1,
|
||||
value2 ))
|
||||
return false ;
|
||||
}
|
||||
} catch (IllegalAccessException exc) {
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
private static boolean equalArrays( Map counterpart, Set considered,
|
||||
java.lang.Object[] arr1, java.lang.Object[] arr2 )
|
||||
{
|
||||
int len = arr1.length ;
|
||||
if (len != arr2.length)
|
||||
return false ;
|
||||
|
||||
for (int ctr = 0; ctr<len; ctr++ )
|
||||
if (!equalsHelper( counterpart, considered, arr1[ctr], arr2[ctr] ))
|
||||
return false ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
private static boolean equalMaps( Map counterpart, Set considered,
|
||||
Map map1, Map map2 )
|
||||
{
|
||||
if (map2.size() != map1.size())
|
||||
return false;
|
||||
|
||||
try {
|
||||
Iterator i = map1.entrySet().iterator();
|
||||
while (i.hasNext()) {
|
||||
Entry e = (Entry) i.next();
|
||||
java.lang.Object key = e.getKey();
|
||||
java.lang.Object value = e.getValue();
|
||||
if (value == null) {
|
||||
if (!(map2.get(key)==null && map2.containsKey(key)))
|
||||
return false;
|
||||
} else {
|
||||
if (!equalsHelper( counterpart, considered,
|
||||
value, map2.get(key)))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} catch(ClassCastException unused) {
|
||||
return false;
|
||||
} catch(NullPointerException unused) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Obviously this is an inefficient quadratic algorithm.
|
||||
// This is taken pretty directly from AbstractSet and AbstractCollection
|
||||
// in the JDK.
|
||||
// For HashSet, an O(n) (with a good hash function) algorithm
|
||||
// is possible, and likewise TreeSet, since it is
|
||||
// ordered, is O(n). But this is not worth the effort here.
|
||||
// Note that the inner loop uses equals, not equalsHelper.
|
||||
// This is needed because of the searching behavior of this test.
|
||||
// However, note that this will NOT correctly handle sets that
|
||||
// contain themselves as members, or that have members that reference
|
||||
// themselves. These cases will cause infinite regress!
|
||||
private static boolean equalSets( Map counterpart, Set considered,
|
||||
Set set1, Set set2 )
|
||||
{
|
||||
if (set1.size() != set2.size())
|
||||
return false ;
|
||||
|
||||
Iterator e1 = set1.iterator() ;
|
||||
while (e1.hasNext()) {
|
||||
java.lang.Object obj1 = e1.next() ;
|
||||
|
||||
boolean found = false ;
|
||||
Iterator e2 = set2.iterator() ;
|
||||
while (e2.hasNext() && !found) {
|
||||
java.lang.Object obj2 = e2.next() ;
|
||||
found = equals( obj1, obj2 ) ;
|
||||
}
|
||||
|
||||
if (!found)
|
||||
return false ;
|
||||
}
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
private static boolean equalLists( Map counterpart, Set considered,
|
||||
List list1, List list2 )
|
||||
{
|
||||
ListIterator e1 = list1.listIterator();
|
||||
ListIterator e2 = list2.listIterator();
|
||||
while(e1.hasNext() && e2.hasNext()) {
|
||||
java.lang.Object o1 = e1.next();
|
||||
java.lang.Object o2 = e2.next();
|
||||
if (!(o1==null ? o2==null : equalsHelper(
|
||||
counterpart, considered, o1, o2)))
|
||||
return false;
|
||||
}
|
||||
return !(e1.hasNext() || e2.hasNext());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,6 +185,7 @@ public class CorbaClientRequestDispatcherImpl
|
||||
if(getContactInfoListIterator(orb).hasNext()) {
|
||||
contactInfo = (ContactInfo)
|
||||
getContactInfoListIterator(orb).next();
|
||||
unregisterWaiter(orb);
|
||||
return beginRequest(self, opName,
|
||||
isOneWay, contactInfo);
|
||||
} else {
|
||||
@@ -292,10 +293,22 @@ public class CorbaClientRequestDispatcherImpl
|
||||
// ContactInfoList outside of subcontract.
|
||||
// Want to move that update to here.
|
||||
if (getContactInfoListIterator(orb).hasNext()) {
|
||||
contactInfo = (ContactInfo)
|
||||
getContactInfoListIterator(orb).next();
|
||||
contactInfo = (ContactInfo)getContactInfoListIterator(orb).next();
|
||||
if (orb.subcontractDebugFlag) {
|
||||
dprint( "RemarshalException: hasNext true\ncontact info " + contactInfo );
|
||||
}
|
||||
|
||||
// Fix for 6763340: Complete the first attempt before starting another.
|
||||
orb.getPIHandler().makeCompletedClientRequest(
|
||||
ReplyMessage.LOCATION_FORWARD, null ) ;
|
||||
unregisterWaiter(orb);
|
||||
orb.getPIHandler().cleanupClientPIRequest() ;
|
||||
|
||||
return beginRequest(self, opName, isOneWay, contactInfo);
|
||||
} else {
|
||||
if (orb.subcontractDebugFlag) {
|
||||
dprint( "RemarshalException: hasNext false" );
|
||||
}
|
||||
ORBUtilSystemException wrapper =
|
||||
ORBUtilSystemException.get(orb,
|
||||
CORBALogDomains.RPC_PROTOCOL);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 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
|
||||
@@ -33,14 +33,7 @@ import java.nio.channels.SelectableChannel;
|
||||
import java.nio.channels.SelectionKey;
|
||||
import java.nio.channels.ServerSocketChannel;
|
||||
import java.nio.channels.SocketChannel;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import org.omg.CORBA.CompletionStatus;
|
||||
import org.omg.CORBA.INTERNAL;
|
||||
|
||||
import com.sun.corba.se.pept.broker.Broker;
|
||||
import com.sun.corba.se.pept.encoding.InputObject;
|
||||
@@ -61,18 +54,12 @@ import com.sun.corba.se.spi.ior.iiop.IIOPFactories;
|
||||
import com.sun.corba.se.spi.ior.iiop.IIOPProfileTemplate ;
|
||||
import com.sun.corba.se.spi.ior.iiop.GIOPVersion ;
|
||||
import com.sun.corba.se.spi.ior.iiop.AlternateIIOPAddressComponent;
|
||||
import com.sun.corba.se.spi.legacy.connection.LegacyServerSocketEndPointInfo;
|
||||
import com.sun.corba.se.spi.logging.CORBALogDomains;
|
||||
import com.sun.corba.se.spi.monitoring.LongMonitoredAttributeBase;
|
||||
import com.sun.corba.se.spi.monitoring.MonitoringConstants;
|
||||
import com.sun.corba.se.spi.monitoring.MonitoringFactories;
|
||||
import com.sun.corba.se.spi.monitoring.MonitoredObject;
|
||||
import com.sun.corba.se.spi.orb.ORB;
|
||||
import com.sun.corba.se.spi.orbutil.threadpool.Work;
|
||||
import com.sun.corba.se.spi.protocol.CorbaMessageMediator;
|
||||
import com.sun.corba.se.spi.transport.CorbaAcceptor;
|
||||
import com.sun.corba.se.spi.transport.CorbaConnection;
|
||||
import com.sun.corba.se.spi.transport.CorbaContactInfo;
|
||||
import com.sun.corba.se.spi.transport.SocketInfo;
|
||||
import com.sun.corba.se.spi.transport.SocketOrChannelAcceptor;
|
||||
|
||||
@@ -82,7 +69,6 @@ import com.sun.corba.se.impl.logging.ORBUtilSystemException;
|
||||
import com.sun.corba.se.impl.oa.poa.Policies; // REVISIT impl/poa specific
|
||||
import com.sun.corba.se.impl.orbutil.ORBConstants;
|
||||
import com.sun.corba.se.impl.orbutil.ORBUtility;
|
||||
import com.sun.corba.se.impl.ior.iiop.JavaSerializationComponent;
|
||||
|
||||
// BEGIN Legacy support.
|
||||
import com.sun.corba.se.spi.legacy.connection.LegacyServerSocketEndPointInfo;
|
||||
@@ -442,12 +428,7 @@ public class SocketOrChannelAcceptorImpl
|
||||
dprint(".doWork->: " + this);
|
||||
}
|
||||
if (selectionKey.isAcceptable()) {
|
||||
AccessController.doPrivileged(new PrivilegedAction() {
|
||||
public java.lang.Object run() {
|
||||
accept();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (orb.transportDebugFlag) {
|
||||
dprint(".doWork: ! selectionKey.isAcceptable: " + this);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 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
|
||||
@@ -25,6 +25,7 @@
|
||||
package com.sun.corba.se.spi.orb ;
|
||||
|
||||
import java.util.StringTokenizer ;
|
||||
import java.util.Arrays ;
|
||||
|
||||
import java.lang.reflect.Array ;
|
||||
|
||||
@@ -446,7 +447,7 @@ public abstract class OperationFactory {
|
||||
public String toString() {
|
||||
return "sequenceAction(separator=\"" + sep +
|
||||
"\",actions=" +
|
||||
ObjectUtility.compactObjectToString(actions) + ")" ;
|
||||
Arrays.toString(actions) + ")" ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -533,7 +534,7 @@ public abstract class OperationFactory {
|
||||
|
||||
public String toString() {
|
||||
return "mapSequenceAction(" +
|
||||
ObjectUtility.compactObjectToString(op) + ")" ;
|
||||
Arrays.toString(op) + ")" ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 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
|
||||
@@ -125,7 +125,7 @@ public abstract class ParserImplBase {
|
||||
// Since exc wraps the actual exception, use exc.getCause()
|
||||
// instead of exc.
|
||||
throw wrapper.errorSettingField( exc.getCause(), name,
|
||||
ObjectUtility.compactObjectToString(value) ) ;
|
||||
value.toString() ) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -141,6 +141,27 @@ public interface PIHandler {
|
||||
Exception invokeClientPIEndingPoint(
|
||||
int replyStatus, Exception exception ) ;
|
||||
|
||||
/**
|
||||
* Called when a retry is needed after initiateClientPIRequest but
|
||||
* before invokeClientPIRequest. In this case, we need to properly
|
||||
* balance initiateClientPIRequest/cleanupClientPIRequest calls,
|
||||
* but WITHOUT extraneous calls to invokeClientPIEndingPoint
|
||||
* (see bug 6763340).
|
||||
*
|
||||
* @param replyStatus One of the constants in iiop.messages.ReplyMessage
|
||||
* indicating which reply status to set.
|
||||
* @param exception The exception before ending interception points have
|
||||
* been invoked, or null if no exception at the moment.
|
||||
* @return The exception to be thrown, after having gone through
|
||||
* all ending points, or null if there is no exception to be
|
||||
* thrown. Note that this exception can be either the same or
|
||||
* different from the exception set using setClientPIException.
|
||||
* There are four possible return types: null (no exception),
|
||||
* SystemException, UserException, or RemarshalException.
|
||||
*/
|
||||
Exception makeCompletedClientRequest(
|
||||
int replyStatus, Exception exception ) ;
|
||||
|
||||
/**
|
||||
* Invoked when a request is about to be created. Must be called before
|
||||
* any of the setClientPI* methods so that a new info object can be
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright (c) 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.
|
||||
*/
|
||||
|
||||
package com.sun.corba.se.spi.protocol ;
|
||||
|
||||
// Introduce more information about WHY we are re-trying a request
|
||||
// so we can properly handle the two cases:
|
||||
// - BEFORE_RESPONSE means that the retry is caused by
|
||||
// something that happened BEFORE the message was sent: either
|
||||
// an exception from the SocketFactory, or one from the
|
||||
// Client side send_request interceptor point.
|
||||
// - AFTER_RESPONSE means that the retry is a result either of the
|
||||
// request sent to the server (from the response), or from the
|
||||
// Client side receive_xxx interceptor point.
|
||||
public enum RetryType {
|
||||
NONE( false ),
|
||||
BEFORE_RESPONSE( true ),
|
||||
AFTER_RESPONSE( true ) ;
|
||||
|
||||
private final boolean isRetry ;
|
||||
|
||||
RetryType( boolean isRetry ) {
|
||||
this.isRetry = isRetry ;
|
||||
}
|
||||
|
||||
public boolean isRetry() {
|
||||
return this.isRetry ;
|
||||
}
|
||||
} ;
|
||||
|
||||
@@ -109,3 +109,25 @@ ad1977f08c4d69162a0775fe3f9576b9fd521d10 hs19-b03
|
||||
c5cadf1a07717955cf60dbaec16e35b529fd2cb0 jdk7-b102
|
||||
cb4250ef73b21de6c487ea14e2b0b99eed67b4b6 jdk7-b103
|
||||
e55900b5c1b865cac17e18abc639c7dc50de7fd8 hs19-b04
|
||||
b4acf10eb134fe930802c97e36db65e7ccb544b5 jdk7-b104
|
||||
6709c14587c2cc6faca208767335afeb01e33de5 jdk7-b105
|
||||
1b81ca701fa5fc30adc4cfdaa4bdd153df5e6c86 jdk7-b106
|
||||
cc3fdfeb54b049f18edcf3463e6ab051d0b7b609 hs19-b05
|
||||
688a538aa65412178286ae2a6b0c00b6711e121b hs19-b06
|
||||
bf496cbe9b74dda5975a1559da7ecfdd313e509e jdk7-b107
|
||||
0000000000000000000000000000000000000000 hs19-b06
|
||||
6c43216df13513a0f96532aa06f213066c49e27b hs19-b06
|
||||
e44a93947ccbfce712b51725f313163606f15486 jdk7-b108
|
||||
cc4bb3022b3144dc5db0805b9ef6c7eff2aa3b81 jdk7-b109
|
||||
2f25f2b8de2700a1822463b1bd3d02b5e218018f jdk7-b110
|
||||
07b042e13dde4f3479ba9ec55120fcd5e8623323 jdk7-b111
|
||||
5511edd5d719f3fc9fdd04879482026a3d2c8652 jdk7-b112
|
||||
beef35b96b81129c375d572357fb9548d9020db1 jdk7-b113
|
||||
68d6141ea19de3a9ba98ef753f0da41a61f736a0 jdk7-b114
|
||||
5511edd5d719f3fc9fdd04879482026a3d2c8652 hs20-b01
|
||||
bdbc48857210a509b3c50a3291ecb9dd6a72e016 jdk7-b115
|
||||
96b3f2a7add0b445b8aa421f6823cff5a2e2fe03 jdk7-b116
|
||||
52f19c724d9634af79044a2e0defbe4a5f1adbda hs20-b02
|
||||
806d0c037e6bbb88dac0699673f4ba55ee8c02da jdk7-b117
|
||||
698b7b727e12de44139d8cca6ab9a494ead13253 jdk7-b118
|
||||
3ef7426b4deac5dcfd4afb35cabe9ab3d666df91 hs20-b02
|
||||
|
||||
@@ -253,7 +253,11 @@ static bool read_lib_info(struct ps_prochandle* ph) {
|
||||
if (nwords > 5 && find_lib(ph, word[5]) == false) {
|
||||
intptr_t base;
|
||||
lib_info* lib;
|
||||
#ifdef _LP64
|
||||
sscanf(word[0], "%lx", &base);
|
||||
#else
|
||||
sscanf(word[0], "%x", &base);
|
||||
#endif
|
||||
if ((lib = add_lib_info(ph, word[5], (uintptr_t)base)) == NULL)
|
||||
continue; // ignore, add_lib_info prints error
|
||||
|
||||
|
||||
@@ -1037,7 +1037,7 @@ public class CommandProcessor {
|
||||
public void prologue(Address start, Address end) {
|
||||
}
|
||||
public void visit(CodeBlob blob) {
|
||||
fout.println(gen.genHTML(blob.instructionsBegin()));
|
||||
fout.println(gen.genHTML(blob.contentBegin()));
|
||||
}
|
||||
public void epilogue() {
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 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
|
||||
@@ -54,7 +54,7 @@ public class Runtime1 {
|
||||
|
||||
/** FIXME: consider making argument "type-safe" in Java port */
|
||||
public Address entryFor(int id) {
|
||||
return blobFor(id).instructionsBegin();
|
||||
return blobFor(id).codeBegin();
|
||||
}
|
||||
|
||||
/** FIXME: consider making argument "type-safe" in Java port */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 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
|
||||
@@ -39,7 +39,8 @@ public class CodeBlob extends VMObject {
|
||||
private static CIntegerField sizeField;
|
||||
private static CIntegerField headerSizeField;
|
||||
private static CIntegerField relocationSizeField;
|
||||
private static CIntegerField instructionsOffsetField;
|
||||
private static CIntegerField contentOffsetField;
|
||||
private static CIntegerField codeOffsetField;
|
||||
private static CIntegerField frameCompleteOffsetField;
|
||||
private static CIntegerField dataOffsetField;
|
||||
private static CIntegerField frameSizeField;
|
||||
@@ -68,7 +69,8 @@ public class CodeBlob extends VMObject {
|
||||
headerSizeField = type.getCIntegerField("_header_size");
|
||||
relocationSizeField = type.getCIntegerField("_relocation_size");
|
||||
frameCompleteOffsetField = type.getCIntegerField("_frame_complete_offset");
|
||||
instructionsOffsetField = type.getCIntegerField("_instructions_offset");
|
||||
contentOffsetField = type.getCIntegerField("_content_offset");
|
||||
codeOffsetField = type.getCIntegerField("_code_offset");
|
||||
dataOffsetField = type.getCIntegerField("_data_offset");
|
||||
frameSizeField = type.getCIntegerField("_frame_size");
|
||||
oopMapsField = type.getAddressField("_oop_maps");
|
||||
@@ -111,11 +113,19 @@ public class CodeBlob extends VMObject {
|
||||
// public RelocInfo relocationBegin();
|
||||
// public RelocInfo relocationEnd();
|
||||
|
||||
public Address instructionsBegin() {
|
||||
return headerBegin().addOffsetTo(instructionsOffsetField.getValue(addr));
|
||||
public Address contentBegin() {
|
||||
return headerBegin().addOffsetTo(contentOffsetField.getValue(addr));
|
||||
}
|
||||
|
||||
public Address instructionsEnd() {
|
||||
public Address contentEnd() {
|
||||
return headerBegin().addOffsetTo(dataOffsetField.getValue(addr));
|
||||
}
|
||||
|
||||
public Address codeBegin() {
|
||||
return headerBegin().addOffsetTo(contentOffsetField.getValue(addr));
|
||||
}
|
||||
|
||||
public Address codeEnd() {
|
||||
return headerBegin().addOffsetTo(dataOffsetField.getValue(addr));
|
||||
}
|
||||
|
||||
@@ -128,24 +138,27 @@ public class CodeBlob extends VMObject {
|
||||
}
|
||||
|
||||
// Offsets
|
||||
public int getRelocationOffset() { return (int) headerSizeField.getValue(addr); }
|
||||
public int getInstructionsOffset() { return (int) instructionsOffsetField.getValue(addr); }
|
||||
public int getDataOffset() { return (int) dataOffsetField.getValue(addr); }
|
||||
public int getRelocationOffset() { return (int) headerSizeField .getValue(addr); }
|
||||
public int getContentOffset() { return (int) contentOffsetField.getValue(addr); }
|
||||
public int getCodeOffset() { return (int) codeOffsetField .getValue(addr); }
|
||||
public int getDataOffset() { return (int) dataOffsetField .getValue(addr); }
|
||||
|
||||
// Sizes
|
||||
public int getSize() { return (int) sizeField.getValue(addr); }
|
||||
public int getHeaderSize() { return (int) headerSizeField.getValue(addr); }
|
||||
public int getSize() { return (int) sizeField .getValue(addr); }
|
||||
public int getHeaderSize() { return (int) headerSizeField.getValue(addr); }
|
||||
// FIXME: add getRelocationSize()
|
||||
public int getInstructionsSize() { return (int) instructionsEnd().minus(instructionsBegin()); }
|
||||
public int getDataSize() { return (int) dataEnd().minus(dataBegin()); }
|
||||
public int getContentSize() { return (int) contentEnd().minus(contentBegin()); }
|
||||
public int getCodeSize() { return (int) codeEnd() .minus(codeBegin()); }
|
||||
public int getDataSize() { return (int) dataEnd() .minus(dataBegin()); }
|
||||
|
||||
// Containment
|
||||
public boolean blobContains(Address addr) { return headerBegin().lessThanOrEqual(addr) && dataEnd().greaterThan(addr); }
|
||||
public boolean blobContains(Address addr) { return headerBegin() .lessThanOrEqual(addr) && dataEnd() .greaterThan(addr); }
|
||||
// FIXME: add relocationContains
|
||||
public boolean instructionsContains(Address addr) { return instructionsBegin().lessThanOrEqual(addr) && instructionsEnd().greaterThan(addr); }
|
||||
public boolean dataContains(Address addr) { return dataBegin().lessThanOrEqual(addr) && dataEnd().greaterThan(addr); }
|
||||
public boolean contains(Address addr) { return instructionsContains(addr); }
|
||||
public boolean isFrameCompleteAt(Address a) { return instructionsContains(a) && a.minus(instructionsBegin()) >= frameCompleteOffsetField.getValue(addr); }
|
||||
public boolean contentContains(Address addr) { return contentBegin().lessThanOrEqual(addr) && contentEnd().greaterThan(addr); }
|
||||
public boolean codeContains(Address addr) { return codeBegin() .lessThanOrEqual(addr) && codeEnd() .greaterThan(addr); }
|
||||
public boolean dataContains(Address addr) { return dataBegin() .lessThanOrEqual(addr) && dataEnd() .greaterThan(addr); }
|
||||
public boolean contains(Address addr) { return contentContains(addr); }
|
||||
public boolean isFrameCompleteAt(Address a) { return codeContains(a) && a.minus(codeBegin()) >= frameCompleteOffsetField.getValue(addr); }
|
||||
|
||||
// Reclamation support (really only used by the nmethods, but in order to get asserts to work
|
||||
// in the CodeCache they are defined virtual here)
|
||||
@@ -168,7 +181,7 @@ public class CodeBlob extends VMObject {
|
||||
if (Assert.ASSERTS_ENABLED) {
|
||||
Assert.that(getOopMaps() != null, "nope");
|
||||
}
|
||||
return getOopMaps().findMapAtOffset(pc.minus(instructionsBegin()), debugging);
|
||||
return getOopMaps().findMapAtOffset(pc.minus(codeBegin()), debugging);
|
||||
}
|
||||
|
||||
// virtual void preserve_callee_argument_oops(frame fr, const RegisterMap* reg_map, void f(oop*)) { ShouldNotReachHere(); }
|
||||
@@ -200,7 +213,8 @@ public class CodeBlob extends VMObject {
|
||||
}
|
||||
|
||||
protected void printComponentsOn(PrintStream tty) {
|
||||
tty.println(" instructions: [" + instructionsBegin() + ", " + instructionsEnd() + "), " +
|
||||
tty.println(" content: [" + contentBegin() + ", " + contentEnd() + "), " +
|
||||
" code: [" + codeBegin() + ", " + codeEnd() + "), " +
|
||||
" data: [" + dataBegin() + ", " + dataEnd() + "), " +
|
||||
" frame size: " + getFrameSize());
|
||||
}
|
||||
|
||||
@@ -134,10 +134,10 @@ public class NMethod extends CodeBlob {
|
||||
public boolean isOSRMethod() { return getEntryBCI() != VM.getVM().getInvocationEntryBCI(); }
|
||||
|
||||
/** Boundaries for different parts */
|
||||
public Address constantsBegin() { return instructionsBegin(); }
|
||||
public Address constantsBegin() { return contentBegin(); }
|
||||
public Address constantsEnd() { return getEntryPoint(); }
|
||||
public Address codeBegin() { return getEntryPoint(); }
|
||||
public Address codeEnd() { return headerBegin().addOffsetTo(getStubOffset()); }
|
||||
public Address instsBegin() { return codeBegin(); }
|
||||
public Address instsEnd() { return headerBegin().addOffsetTo(getStubOffset()); }
|
||||
public Address exceptionBegin() { return headerBegin().addOffsetTo(getExceptionOffset()); }
|
||||
public Address deoptBegin() { return headerBegin().addOffsetTo(getDeoptOffset()); }
|
||||
public Address stubBegin() { return headerBegin().addOffsetTo(getStubOffset()); }
|
||||
@@ -156,7 +156,7 @@ public class NMethod extends CodeBlob {
|
||||
public Address nulChkTableEnd() { return headerBegin().addOffsetTo(getNMethodEndOffset()); }
|
||||
|
||||
public int constantsSize() { return (int) constantsEnd() .minus(constantsBegin()); }
|
||||
public int codeSize() { return (int) codeEnd() .minus(codeBegin()); }
|
||||
public int instsSize() { return (int) instsEnd() .minus(instsBegin()); }
|
||||
public int stubSize() { return (int) stubEnd() .minus(stubBegin()); }
|
||||
public int oopsSize() { return (int) oopsEnd() .minus(oopsBegin()); }
|
||||
public int scopesDataSize() { return (int) scopesDataEnd() .minus(scopesDataBegin()); }
|
||||
@@ -169,7 +169,7 @@ public class NMethod extends CodeBlob {
|
||||
public int totalSize() {
|
||||
return
|
||||
constantsSize() +
|
||||
codeSize() +
|
||||
instsSize() +
|
||||
stubSize() +
|
||||
scopesDataSize() +
|
||||
scopesPCsSize() +
|
||||
@@ -179,7 +179,7 @@ public class NMethod extends CodeBlob {
|
||||
}
|
||||
|
||||
public boolean constantsContains (Address addr) { return constantsBegin() .lessThanOrEqual(addr) && constantsEnd() .greaterThan(addr); }
|
||||
public boolean codeContains (Address addr) { return codeBegin() .lessThanOrEqual(addr) && codeEnd() .greaterThan(addr); }
|
||||
public boolean instsContains (Address addr) { return instsBegin() .lessThanOrEqual(addr) && instsEnd() .greaterThan(addr); }
|
||||
public boolean stubContains (Address addr) { return stubBegin() .lessThanOrEqual(addr) && stubEnd() .greaterThan(addr); }
|
||||
public boolean oopsContains (Address addr) { return oopsBegin() .lessThanOrEqual(addr) && oopsEnd() .greaterThan(addr); }
|
||||
public boolean scopesDataContains (Address addr) { return scopesDataBegin() .lessThanOrEqual(addr) && scopesDataEnd() .greaterThan(addr); }
|
||||
@@ -353,7 +353,8 @@ public class NMethod extends CodeBlob {
|
||||
|
||||
protected void printComponentsOn(PrintStream tty) {
|
||||
// FIXME: add relocation information
|
||||
tty.println(" instructions: [" + instructionsBegin() + ", " + instructionsEnd() + "), " +
|
||||
tty.println(" content: [" + contentBegin() + ", " + contentEnd() + "), " +
|
||||
" code: [" + codeBegin() + ", " + codeEnd() + "), " +
|
||||
" data: [" + dataBegin() + ", " + dataEnd() + "), " +
|
||||
" oops: [" + oopsBegin() + ", " + oopsEnd() + "), " +
|
||||
" frame size: " + getFrameSize());
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 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
|
||||
@@ -75,7 +75,7 @@ public class PCDesc extends VMObject {
|
||||
}
|
||||
|
||||
public Address getRealPC(NMethod code) {
|
||||
return code.instructionsBegin().addOffsetTo(getPCOffset());
|
||||
return code.codeBegin().addOffsetTo(getPCOffset());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 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
|
||||
@@ -188,7 +188,7 @@ public class BytecodeLoadConstant extends BytecodeWithCPIndex {
|
||||
} else {
|
||||
throw new RuntimeException("should not reach here");
|
||||
}
|
||||
} else if (ctag.isMethodHandle() || ctag.isMethodType()) {
|
||||
} else if (ctag.isMethodHandle()) {
|
||||
Oop x = getCachedConstant();
|
||||
int refidx = cpool.getMethodHandleIndexAt(cpIndex);
|
||||
int refkind = cpool.getMethodHandleRefKindAt(cpIndex);
|
||||
|
||||
@@ -53,11 +53,19 @@ public class ConstantPool extends Oop implements ClassConstants {
|
||||
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
|
||||
Type type = db.lookupType("constantPoolOopDesc");
|
||||
tags = new OopField(type.getOopField("_tags"), 0);
|
||||
operands = new OopField(type.getOopField("_operands"), 0);
|
||||
cache = new OopField(type.getOopField("_cache"), 0);
|
||||
poolHolder = new OopField(type.getOopField("_pool_holder"), 0);
|
||||
length = new CIntField(type.getCIntegerField("_length"), 0);
|
||||
headerSize = type.getSize();
|
||||
elementSize = 0;
|
||||
// fetch constants:
|
||||
MULTI_OPERAND_COUNT_OFFSET = db.lookupIntConstant("constantPoolOopDesc::_multi_operand_count_offset").intValue();
|
||||
MULTI_OPERAND_BASE_OFFSET = db.lookupIntConstant("constantPoolOopDesc::_multi_operand_base_offset").intValue();
|
||||
INDY_BSM_OFFSET = db.lookupIntConstant("constantPoolOopDesc::_indy_bsm_offset").intValue();
|
||||
INDY_NT_OFFSET = db.lookupIntConstant("constantPoolOopDesc::_indy_nt_offset").intValue();
|
||||
INDY_ARGC_OFFSET = db.lookupIntConstant("constantPoolOopDesc::_indy_argc_offset").intValue();
|
||||
INDY_ARGV_OFFSET = db.lookupIntConstant("constantPoolOopDesc::_indy_argv_offset").intValue();
|
||||
}
|
||||
|
||||
ConstantPool(OopHandle handle, ObjectHeap heap) {
|
||||
@@ -67,6 +75,7 @@ public class ConstantPool extends Oop implements ClassConstants {
|
||||
public boolean isConstantPool() { return true; }
|
||||
|
||||
private static OopField tags;
|
||||
private static OopField operands;
|
||||
private static OopField cache;
|
||||
private static OopField poolHolder;
|
||||
private static CIntField length; // number of elements in oop
|
||||
@@ -74,7 +83,15 @@ public class ConstantPool extends Oop implements ClassConstants {
|
||||
private static long headerSize;
|
||||
private static long elementSize;
|
||||
|
||||
private static int MULTI_OPERAND_COUNT_OFFSET;
|
||||
private static int MULTI_OPERAND_BASE_OFFSET;
|
||||
private static int INDY_BSM_OFFSET;
|
||||
private static int INDY_NT_OFFSET;
|
||||
private static int INDY_ARGC_OFFSET;
|
||||
private static int INDY_ARGV_OFFSET;
|
||||
|
||||
public TypeArray getTags() { return (TypeArray) tags.getValue(this); }
|
||||
public TypeArray getOperands() { return (TypeArray) operands.getValue(this); }
|
||||
public ConstantPoolCache getCache() { return (ConstantPoolCache) cache.getValue(this); }
|
||||
public Klass getPoolHolder() { return (Klass) poolHolder.getValue(this); }
|
||||
public int getLength() { return (int)length.getValue(this); }
|
||||
@@ -278,6 +295,25 @@ public class ConstantPool extends Oop implements ClassConstants {
|
||||
return res;
|
||||
}
|
||||
|
||||
/** Lookup for multi-operand (InvokeDynamic) entries. */
|
||||
public int[] getMultiOperandsAt(int i) {
|
||||
if (Assert.ASSERTS_ENABLED) {
|
||||
Assert.that(getTagAt(i).isInvokeDynamic(), "Corrupted constant pool");
|
||||
}
|
||||
int pos = this.getIntAt(i);
|
||||
int countPos = pos + MULTI_OPERAND_COUNT_OFFSET; // == pos-1
|
||||
int basePos = pos + MULTI_OPERAND_BASE_OFFSET; // == pos
|
||||
if (countPos < 0) return null; // safety first
|
||||
TypeArray operands = getOperands();
|
||||
if (operands == null) return null; // safety first
|
||||
int length = operands.getIntAt(countPos);
|
||||
int[] values = new int[length];
|
||||
for (int j = 0; j < length; j++) {
|
||||
values[j] = operands.getIntAt(basePos+j);
|
||||
}
|
||||
return values;
|
||||
}
|
||||
|
||||
final private static String[] nameForTag = new String[] {
|
||||
};
|
||||
|
||||
@@ -522,15 +558,20 @@ public class ConstantPool extends Oop implements ClassConstants {
|
||||
|
||||
case JVM_CONSTANT_InvokeDynamic: {
|
||||
dos.writeByte(cpConstType);
|
||||
int value = getIntAt(ci);
|
||||
short bootstrapMethodIndex = (short) extractLowShortFromInt(value);
|
||||
short nameAndTypeIndex = (short) extractHighShortFromInt(value);
|
||||
dos.writeShort(bootstrapMethodIndex);
|
||||
dos.writeShort(nameAndTypeIndex);
|
||||
int[] values = getMultiOperandsAt(ci);
|
||||
for (int vn = 0; vn < values.length; vn++) {
|
||||
dos.writeShort(values[vn]);
|
||||
}
|
||||
int bootstrapMethodIndex = values[INDY_BSM_OFFSET];
|
||||
int nameAndTypeIndex = values[INDY_NT_OFFSET];
|
||||
int argumentCount = values[INDY_ARGC_OFFSET];
|
||||
assert(INDY_ARGV_OFFSET + argumentCount == values.length);
|
||||
if (DEBUG) debugMessage("CP[" + ci + "] = indy BSM = " + bootstrapMethodIndex
|
||||
+ ", N&T = " + nameAndTypeIndex);
|
||||
+ ", N&T = " + nameAndTypeIndex
|
||||
+ ", argc = " + argumentCount);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
throw new InternalError("unknown tag: " + cpConstType);
|
||||
} // switch
|
||||
|
||||
@@ -42,7 +42,8 @@ public interface ClassConstants
|
||||
public static final int JVM_CONSTANT_NameAndType = 12;
|
||||
public static final int JVM_CONSTANT_MethodHandle = 15;
|
||||
public static final int JVM_CONSTANT_MethodType = 16;
|
||||
public static final int JVM_CONSTANT_InvokeDynamic = 17;
|
||||
public static final int JVM_CONSTANT_InvokeDynamicTrans = 17; // only occurs in old class files
|
||||
public static final int JVM_CONSTANT_InvokeDynamic = 18;
|
||||
|
||||
// JVM_CONSTANT_MethodHandle subtypes
|
||||
public static final int JVM_REF_getField = 1;
|
||||
|
||||
@@ -303,12 +303,12 @@ public class ClassWriter implements /* imports */ ClassConstants
|
||||
case JVM_CONSTANT_MethodHandle: {
|
||||
dos.writeByte(cpConstType);
|
||||
int value = cpool.getIntAt(ci);
|
||||
short bootstrapMethodIndex = (short) extractLowShortFromInt(value);
|
||||
short nameAndTypeIndex = (short) extractHighShortFromInt(value);
|
||||
dos.writeShort(bootstrapMethodIndex);
|
||||
dos.writeShort(nameAndTypeIndex);
|
||||
if (DEBUG) debugMessage("CP[" + ci + "] = indy BSM = " +
|
||||
bootstrapMethodIndex + ", N&T = " + nameAndTypeIndex);
|
||||
byte refKind = (byte) extractLowShortFromInt(value);
|
||||
short memberIndex = (short) extractHighShortFromInt(value);
|
||||
dos.writeByte(refKind);
|
||||
dos.writeShort(memberIndex);
|
||||
if (DEBUG) debugMessage("CP[" + ci + "] = MH kind = " +
|
||||
refKind + ", mem = " + memberIndex);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -323,10 +323,11 @@ public class ClassWriter implements /* imports */ ClassConstants
|
||||
|
||||
case JVM_CONSTANT_InvokeDynamic: {
|
||||
dos.writeByte(cpConstType);
|
||||
int value = cpool.getIntAt(ci);
|
||||
short refIndex = (short) value;
|
||||
dos.writeShort(refIndex);
|
||||
if (DEBUG) debugMessage("CP[" + ci + "] = MT index = " + refIndex);
|
||||
int[] values = cpool.getMultiOperandsAt(ci);
|
||||
for (int vn = 0; vn < values.length; vn++) {
|
||||
dos.writeShort(values[vn]);
|
||||
}
|
||||
if (DEBUG) debugMessage("CP[" + ci + "] = INDY indexes = " + Arrays.toString(values));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 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
|
||||
@@ -190,11 +190,11 @@ public class FindInCodeCachePanel extends SAPanel {
|
||||
|
||||
private void reportResult(StringBuffer result, CodeBlob blob) {
|
||||
result.append("<a href='blob:");
|
||||
result.append(blob.instructionsBegin().toString());
|
||||
result.append(blob.contentBegin().toString());
|
||||
result.append("'>");
|
||||
result.append(blob.getName());
|
||||
result.append("@");
|
||||
result.append(blob.instructionsBegin());
|
||||
result.append(blob.contentBegin());
|
||||
result.append("</a><br>");
|
||||
}
|
||||
|
||||
|
||||
@@ -460,6 +460,18 @@ public class HTMLGenerator implements /* imports */ ClassConstants {
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
private String genListOfShort(int[] values) {
|
||||
Formatter buf = new Formatter(genHTML);
|
||||
buf.append('[');
|
||||
for (int i = 0; i < values.length; i++) {
|
||||
if (i > 0) buf.append(' ');
|
||||
buf.append('#');
|
||||
buf.append(Integer.toString(values[i]));
|
||||
}
|
||||
buf.append(']');
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
protected String genHTMLTableForConstantPool(ConstantPool cpool) {
|
||||
Formatter buf = new Formatter(genHTML);
|
||||
buf.beginTable(1);
|
||||
@@ -584,7 +596,7 @@ public class HTMLGenerator implements /* imports */ ClassConstants {
|
||||
|
||||
case JVM_CONSTANT_InvokeDynamic:
|
||||
buf.cell("JVM_CONSTANT_InvokeDynamic");
|
||||
buf.cell(genLowHighShort(cpool.getIntAt(index)));
|
||||
buf.cell(genListOfShort(cpool.getMultiOperandsAt(index)));
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -1415,13 +1427,13 @@ public class HTMLGenerator implements /* imports */ ClassConstants {
|
||||
buf.append(genMethodAndKlassLink(nmethod.getMethod()));
|
||||
|
||||
buf.h3("Compiled Code");
|
||||
sun.jvm.hotspot.debugger.Address codeBegin = nmethod.codeBegin();
|
||||
sun.jvm.hotspot.debugger.Address codeEnd = nmethod.codeEnd();
|
||||
final int codeSize = (int)codeEnd.minus(codeBegin);
|
||||
final long startPc = addressToLong(codeBegin);
|
||||
final byte[] code = new byte[codeSize];
|
||||
sun.jvm.hotspot.debugger.Address instsBegin = nmethod.instsBegin();
|
||||
sun.jvm.hotspot.debugger.Address instsEnd = nmethod.instsEnd();
|
||||
final int instsSize = nmethod.instsSize();
|
||||
final long startPc = addressToLong(instsBegin);
|
||||
final byte[] code = new byte[instsSize];
|
||||
for (int i=0; i < code.length; i++)
|
||||
code[i] = codeBegin.getJByteAt(i);
|
||||
code[i] = instsBegin.getJByteAt(i);
|
||||
|
||||
final long verifiedEntryPoint = addressToLong(nmethod.getVerifiedEntryPoint());
|
||||
final long entryPoint = addressToLong(nmethod.getEntryPoint());
|
||||
@@ -1499,8 +1511,8 @@ public class HTMLGenerator implements /* imports */ ClassConstants {
|
||||
buf.h3("CodeBlob");
|
||||
|
||||
buf.h3("Compiled Code");
|
||||
final sun.jvm.hotspot.debugger.Address codeBegin = blob.instructionsBegin();
|
||||
final int codeSize = blob.getInstructionsSize();
|
||||
final sun.jvm.hotspot.debugger.Address codeBegin = blob.codeBegin();
|
||||
final int codeSize = blob.getCodeSize();
|
||||
final long startPc = addressToLong(codeBegin);
|
||||
final byte[] code = new byte[codeSize];
|
||||
for (int i=0; i < code.length; i++)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 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
|
||||
@@ -40,7 +40,8 @@ public class ConstantTag {
|
||||
private static int JVM_CONSTANT_NameAndType = 12;
|
||||
private static int JVM_CONSTANT_MethodHandle = 15; // JSR 292
|
||||
private static int JVM_CONSTANT_MethodType = 16; // JSR 292
|
||||
private static int JVM_CONSTANT_InvokeDynamic = 17; // JSR 292
|
||||
// static int JVM_CONSTANT_InvokeDynamicTrans = 17; // JSR 292, only occurs in old class files
|
||||
private static int JVM_CONSTANT_InvokeDynamic = 18; // JSR 292
|
||||
private static int JVM_CONSTANT_Invalid = 0; // For bad value initialization
|
||||
private static int JVM_CONSTANT_UnresolvedClass = 100; // Temporary tag until actual use
|
||||
private static int JVM_CONSTANT_ClassIndex = 101; // Temporary tag while constructing constant pool
|
||||
|
||||
@@ -96,15 +96,15 @@ public class PointerFinder {
|
||||
if (Assert.ASSERTS_ENABLED) {
|
||||
Assert.that(loc.blob != null, "Should have found CodeBlob");
|
||||
}
|
||||
loc.inBlobInstructions = loc.blob.instructionsContains(a);
|
||||
loc.inBlobData = loc.blob.dataContains(a);
|
||||
loc.inBlobCode = loc.blob.codeContains(a);
|
||||
loc.inBlobData = loc.blob.dataContains(a);
|
||||
|
||||
if (loc.blob.isNMethod()) {
|
||||
NMethod nm = (NMethod) loc.blob;
|
||||
loc.inBlobOops = nm.oopsContains(a);
|
||||
}
|
||||
|
||||
loc.inBlobUnknownLocation = (!(loc.inBlobInstructions ||
|
||||
loc.inBlobUnknownLocation = (!(loc.inBlobCode ||
|
||||
loc.inBlobData ||
|
||||
loc.inBlobOops));
|
||||
return loc;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 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
|
||||
@@ -65,7 +65,7 @@ public class PointerLocation {
|
||||
InterpreterCodelet interpreterCodelet;
|
||||
CodeBlob blob;
|
||||
// FIXME: add more detail about CodeBlob
|
||||
boolean inBlobInstructions;
|
||||
boolean inBlobCode;
|
||||
boolean inBlobData;
|
||||
boolean inBlobOops;
|
||||
boolean inBlobUnknownLocation;
|
||||
@@ -142,8 +142,8 @@ public class PointerLocation {
|
||||
return blob;
|
||||
}
|
||||
|
||||
public boolean isInBlobInstructions() {
|
||||
return inBlobInstructions;
|
||||
public boolean isInBlobCode() {
|
||||
return inBlobCode;
|
||||
}
|
||||
|
||||
public boolean isInBlobData() {
|
||||
@@ -233,8 +233,8 @@ public class PointerLocation {
|
||||
} else if (isInCodeCache()) {
|
||||
CodeBlob b = getCodeBlob();
|
||||
tty.print("In ");
|
||||
if (isInBlobInstructions()) {
|
||||
tty.print("instructions");
|
||||
if (isInBlobCode()) {
|
||||
tty.print("code");
|
||||
} else if (isInBlobData()) {
|
||||
tty.print("data");
|
||||
} else if (isInBlobOops()) {
|
||||
|
||||
@@ -85,14 +85,21 @@ C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1
|
||||
C2_VM_TARGETS=product fastdebug optimized jvmg
|
||||
KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
|
||||
ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
|
||||
SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
|
||||
|
||||
# JDK directory list
|
||||
JDK_DIRS=bin include jre lib demo
|
||||
|
||||
all: all_product all_fastdebug
|
||||
ifndef BUILD_CLIENT_ONLY
|
||||
all_product: product product1 productkernel docs export_product
|
||||
all_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
|
||||
all_debug: jvmg jvmg1 jvmgkernel docs export_debug
|
||||
else
|
||||
all_product: product1 docs export_product
|
||||
all_fastdebug: fastdebug1 docs export_fastdebug
|
||||
all_debug: jvmg1 docs export_debug
|
||||
endif
|
||||
all_optimized: optimized optimized1 optimizedkernel docs export_optimized
|
||||
|
||||
allzero: all_productzero all_fastdebugzero
|
||||
@@ -101,6 +108,12 @@ all_fastdebugzero: fastdebugzero docs export_fastdebug
|
||||
all_debugzero: jvmgzero docs export_debug
|
||||
all_optimizedzero: optimizedzero docs export_optimized
|
||||
|
||||
allshark: all_productshark all_fastdebugshark
|
||||
all_productshark: productshark docs export_product
|
||||
all_fastdebugshark: fastdebugshark docs export_fastdebug
|
||||
all_debugshark: jvmgshark docs export_debug
|
||||
all_optimizedshark: optimizedshark docs export_optimized
|
||||
|
||||
# Do everything
|
||||
world: all create_jdk
|
||||
|
||||
@@ -131,6 +144,10 @@ $(ZERO_VM_TARGETS):
|
||||
$(CD) $(GAMMADIR)/make; \
|
||||
$(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT)
|
||||
|
||||
$(SHARK_VM_TARGETS):
|
||||
$(CD) $(GAMMADIR)/make; \
|
||||
$(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT)
|
||||
|
||||
# Build compiler1 (client) rule, different for platforms
|
||||
generic_build1:
|
||||
$(MKDIR) -p $(OUTPUTDIR)
|
||||
@@ -197,6 +214,12 @@ generic_buildzero:
|
||||
$(MAKE) -f $(ABS_OS_MAKEFILE) \
|
||||
$(MAKE_ARGS) $(VM_TARGET)
|
||||
|
||||
generic_buildshark:
|
||||
$(MKDIR) -p $(OUTPUTDIR)
|
||||
$(CD) $(OUTPUTDIR); \
|
||||
$(MAKE) -f $(ABS_OS_MAKEFILE) \
|
||||
$(MAKE_ARGS) $(VM_TARGET)
|
||||
|
||||
# Export file rule
|
||||
generic_export: $(EXPORT_LIST)
|
||||
export_product:
|
||||
@@ -228,15 +251,22 @@ C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1
|
||||
C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2
|
||||
KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel
|
||||
ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero
|
||||
SHARK_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark
|
||||
C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
|
||||
C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
|
||||
KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
|
||||
ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
|
||||
SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
|
||||
|
||||
# Misc files and generated files need to come from C1 or C2 area
|
||||
ifeq ($(ZERO_BUILD), true)
|
||||
ifeq ($(SHARK_BUILD), true)
|
||||
MISC_DIR=$(SHARK_DIR)
|
||||
GEN_DIR=$(SHARK_BASE_DIR)/generated
|
||||
else
|
||||
MISC_DIR=$(ZERO_DIR)
|
||||
GEN_DIR=$(ZERO_BASE_DIR)/generated
|
||||
endif
|
||||
else
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
MISC_DIR=$(C1_DIR)
|
||||
@@ -290,11 +320,20 @@ endif
|
||||
# Shared Library
|
||||
ifneq ($(OSNAME),windows)
|
||||
ifeq ($(ZERO_BUILD), true)
|
||||
ifeq ($(SHARK_BUILD), true)
|
||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(SHARK_DIR)/%.so
|
||||
$(install-file)
|
||||
$(EXPORT_SERVER_DIR)/%.so: $(SHARK_DIR)/%.so
|
||||
$(install-file)
|
||||
else
|
||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(ZERO_DIR)/%.so
|
||||
$(install-file)
|
||||
$(EXPORT_SERVER_DIR)/%.so: $(ZERO_DIR)/%.so
|
||||
$(install-file)
|
||||
endif
|
||||
else
|
||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C1_DIR)/%.so
|
||||
$(install-file)
|
||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so
|
||||
$(install-file)
|
||||
$(EXPORT_CLIENT_DIR)/%.so: $(C1_DIR)/%.so
|
||||
@@ -348,6 +387,7 @@ clean_build:
|
||||
$(RM) -r $(C2_DIR)
|
||||
$(RM) -r $(KERNEL_DIR)
|
||||
$(RM) -r $(ZERO_DIR)
|
||||
$(RM) -r $(SHARK_DIR)
|
||||
clean_export:
|
||||
$(RM) -r $(EXPORT_PATH)
|
||||
clean_jdk:
|
||||
|
||||
@@ -192,13 +192,16 @@ ifneq ($(OSNAME),windows)
|
||||
|
||||
# Use uname output for SRCARCH, but deal with platform differences. If ARCH
|
||||
# is not explicitly listed below, it is treated as x86.
|
||||
SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 zero,$(ARCH)))
|
||||
SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH)))
|
||||
ARCH/ = x86
|
||||
ARCH/sparc = sparc
|
||||
ARCH/sparc64= sparc
|
||||
ARCH/ia64 = ia64
|
||||
ARCH/amd64 = x86
|
||||
ARCH/x86_64 = x86
|
||||
ARCH/ppc64 = ppc
|
||||
ARCH/ppc = ppc
|
||||
ARCH/arm = arm
|
||||
ARCH/zero = zero
|
||||
|
||||
# BUILDARCH is usually the same as SRCARCH, except for sparcv9
|
||||
@@ -223,6 +226,9 @@ ifneq ($(OSNAME),windows)
|
||||
LIBARCH/sparc = sparc
|
||||
LIBARCH/sparcv9 = sparcv9
|
||||
LIBARCH/ia64 = ia64
|
||||
LIBARCH/ppc64 = ppc
|
||||
LIBARCH/ppc = ppc
|
||||
LIBARCH/arm = arm
|
||||
LIBARCH/zero = $(ZERO_LIBARCH)
|
||||
|
||||
LP64_ARCH = sparcv9 amd64 ia64 zero
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
# Don't put quotes (fail windows build).
|
||||
HOTSPOT_VM_COPYRIGHT=Copyright 2010
|
||||
|
||||
HS_MAJOR_VER=19
|
||||
HS_MAJOR_VER=20
|
||||
HS_MINOR_VER=0
|
||||
HS_BUILD_NUMBER=05
|
||||
HS_BUILD_NUMBER=03
|
||||
|
||||
JDK_MAJOR_VER=1
|
||||
JDK_MINOR_VER=7
|
||||
|
||||
@@ -47,6 +47,8 @@ jprt.sync.push=false
|
||||
# Define the Solaris platforms we want for the various releases
|
||||
|
||||
jprt.my.solaris.sparc.jdk7=solaris_sparc_5.10
|
||||
jprt.my.solaris.sparc.jdk7b107=solaris_sparc_5.10
|
||||
jprt.my.solaris.sparc.jdk7temp=solaris_sparc_5.10
|
||||
jprt.my.solaris.sparc.jdk6=solaris_sparc_5.8
|
||||
jprt.my.solaris.sparc.jdk6perf=solaris_sparc_5.8
|
||||
jprt.my.solaris.sparc.jdk6u10=solaris_sparc_5.8
|
||||
@@ -56,6 +58,8 @@ jprt.my.solaris.sparc.jdk6u20=solaris_sparc_5.8
|
||||
jprt.my.solaris.sparc=${jprt.my.solaris.sparc.${jprt.tools.default.release}}
|
||||
|
||||
jprt.my.solaris.sparcv9.jdk7=solaris_sparcv9_5.10
|
||||
jprt.my.solaris.sparcv9.jdk7b107=solaris_sparcv9_5.10
|
||||
jprt.my.solaris.sparcv9.jdk7temp=solaris_sparcv9_5.10
|
||||
jprt.my.solaris.sparcv9.jdk6=solaris_sparcv9_5.8
|
||||
jprt.my.solaris.sparcv9.jdk6perf=solaris_sparcv9_5.8
|
||||
jprt.my.solaris.sparcv9.jdk6u10=solaris_sparcv9_5.8
|
||||
@@ -65,6 +69,8 @@ jprt.my.solaris.sparcv9.jdk6u20=solaris_sparcv9_5.8
|
||||
jprt.my.solaris.sparcv9=${jprt.my.solaris.sparcv9.${jprt.tools.default.release}}
|
||||
|
||||
jprt.my.solaris.i586.jdk7=solaris_i586_5.10
|
||||
jprt.my.solaris.i586.jdk7b107=solaris_i586_5.10
|
||||
jprt.my.solaris.i586.jdk7temp=solaris_i586_5.10
|
||||
jprt.my.solaris.i586.jdk6=solaris_i586_5.8
|
||||
jprt.my.solaris.i586.jdk6perf=solaris_i586_5.8
|
||||
jprt.my.solaris.i586.jdk6u10=solaris_i586_5.8
|
||||
@@ -74,6 +80,8 @@ jprt.my.solaris.i586.jdk6u20=solaris_i586_5.8
|
||||
jprt.my.solaris.i586=${jprt.my.solaris.i586.${jprt.tools.default.release}}
|
||||
|
||||
jprt.my.solaris.x64.jdk7=solaris_x64_5.10
|
||||
jprt.my.solaris.x64.jdk7b107=solaris_x64_5.10
|
||||
jprt.my.solaris.x64.jdk7temp=solaris_x64_5.10
|
||||
jprt.my.solaris.x64.jdk6=solaris_x64_5.10
|
||||
jprt.my.solaris.x64.jdk6perf=solaris_x64_5.10
|
||||
jprt.my.solaris.x64.jdk6u10=solaris_x64_5.10
|
||||
@@ -83,6 +91,8 @@ jprt.my.solaris.x64.jdk6u20=solaris_x64_5.10
|
||||
jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
|
||||
|
||||
jprt.my.linux.i586.jdk7=linux_i586_2.6
|
||||
jprt.my.linux.i586.jdk7b107=linux_i586_2.6
|
||||
jprt.my.linux.i586.jdk7temp=linux_i586_2.6
|
||||
jprt.my.linux.i586.jdk6=linux_i586_2.4
|
||||
jprt.my.linux.i586.jdk6perf=linux_i586_2.4
|
||||
jprt.my.linux.i586.jdk6u10=linux_i586_2.4
|
||||
@@ -92,6 +102,8 @@ jprt.my.linux.i586.jdk6u20=linux_i586_2.4
|
||||
jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}}
|
||||
|
||||
jprt.my.linux.x64.jdk7=linux_x64_2.6
|
||||
jprt.my.linux.x64.jdk7b107=linux_x64_2.6
|
||||
jprt.my.linux.x64.jdk7temp=linux_x64_2.6
|
||||
jprt.my.linux.x64.jdk6=linux_x64_2.4
|
||||
jprt.my.linux.x64.jdk6perf=linux_x64_2.4
|
||||
jprt.my.linux.x64.jdk6u10=linux_x64_2.4
|
||||
@@ -100,7 +112,9 @@ jprt.my.linux.x64.jdk6u18=linux_x64_2.4
|
||||
jprt.my.linux.x64.jdk6u20=linux_x64_2.4
|
||||
jprt.my.linux.x64=${jprt.my.linux.x64.${jprt.tools.default.release}}
|
||||
|
||||
jprt.my.windows.i586.jdk7=windows_i586_5.0
|
||||
jprt.my.windows.i586.jdk7=windows_i586_5.1
|
||||
jprt.my.windows.i586.jdk7b107=windows_i586_5.0
|
||||
jprt.my.windows.i586.jdk7temp=windows_i586_5.0
|
||||
jprt.my.windows.i586.jdk6=windows_i586_5.0
|
||||
jprt.my.windows.i586.jdk6perf=windows_i586_5.0
|
||||
jprt.my.windows.i586.jdk6u10=windows_i586_5.0
|
||||
@@ -110,6 +124,8 @@ jprt.my.windows.i586.jdk6u20=windows_i586_5.0
|
||||
jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}}
|
||||
|
||||
jprt.my.windows.x64.jdk7=windows_x64_5.2
|
||||
jprt.my.windows.x64.jdk7b107=windows_x64_5.2
|
||||
jprt.my.windows.x64.jdk7temp=windows_x64_5.2
|
||||
jprt.my.windows.x64.jdk6=windows_x64_5.2
|
||||
jprt.my.windows.x64.jdk6perf=windows_x64_5.2
|
||||
jprt.my.windows.x64.jdk6u10=windows_x64_5.2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
# 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
|
||||
@@ -19,7 +19,7 @@
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
# This makefile creates a build tree and lights off a build.
|
||||
@@ -45,13 +45,13 @@
|
||||
#
|
||||
# make REMOTE="rsh -l me myotherlinuxbox"
|
||||
|
||||
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
|
||||
# JDI binding on SA produces two binaries:
|
||||
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
|
||||
# JDI binding on SA produces two binaries:
|
||||
# 1. sa-jdi.jar - This is build before building libjvm[_g].so
|
||||
# Please refer to ./makefiles/sa.make
|
||||
# 2. libsa[_g].so - Native library for SA - This is built after
|
||||
# libjsig[_g].so (signal interposition library)
|
||||
# Please refer to ./makefiles/vm.make
|
||||
# Please refer to ./makefiles/vm.make
|
||||
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
|
||||
|
||||
ifeq ($(GAMMADIR),)
|
||||
@@ -61,10 +61,10 @@ include $(GAMMADIR)/make/defs.make
|
||||
endif
|
||||
include $(GAMMADIR)/make/$(OSNAME)/makefiles/rules.make
|
||||
|
||||
ifndef LP64
|
||||
ifndef CC_INTERP
|
||||
FORCE_TIERED=1
|
||||
endif
|
||||
ifndef FORCE_TIERED
|
||||
FORCE_TIERED=1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef LP64
|
||||
@@ -168,6 +168,13 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
|
||||
# profiledzero zero <os>_<arch>_zero/profiled
|
||||
# productzero zero <os>_<arch>_zero/product
|
||||
#
|
||||
# debugshark shark <os>_<arch>_shark/debug
|
||||
# fastdebugshark shark <os>_<arch>_shark/fastdebug
|
||||
# jvmgshark shark <os>_<arch>_shark/jvmg
|
||||
# optimizedshark shark <os>_<arch>_shark/optimized
|
||||
# profiledshark shark <os>_<arch>_shark/profiled
|
||||
# productshark shark <os>_<arch>_shark/product
|
||||
#
|
||||
# What you get with each target:
|
||||
#
|
||||
# debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher
|
||||
@@ -191,12 +198,14 @@ SUBDIRS_C2 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS))
|
||||
SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
|
||||
SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
|
||||
SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
|
||||
SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
|
||||
|
||||
TARGETS_C2 = $(TARGETS)
|
||||
TARGETS_C1 = $(addsuffix 1,$(TARGETS))
|
||||
TARGETS_TIERED = $(addsuffix tiered,$(TARGETS))
|
||||
TARGETS_CORE = $(addsuffix core,$(TARGETS))
|
||||
TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
|
||||
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
||||
|
||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
|
||||
@@ -213,6 +222,7 @@ all:
|
||||
@echo " $(TARGETS_C1)"
|
||||
@echo " $(TARGETS_CORE)"
|
||||
@echo " $(TARGETS_ZERO)"
|
||||
@echo " $(TARGETS_SHARK)"
|
||||
|
||||
checks: check_os_version check_j2se_version
|
||||
|
||||
@@ -246,7 +256,7 @@ $(SUBDIRS_TIERED): $(BUILDTREE_MAKE)
|
||||
$(BUILDTREE) VARIANT=tiered
|
||||
|
||||
$(SUBDIRS_C2): $(BUILDTREE_MAKE)
|
||||
ifdef FORCE_TIERED
|
||||
ifeq ($(FORCE_TIERED),1)
|
||||
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
||||
$(BUILDTREE) VARIANT=tiered FORCE_TIERED=1
|
||||
else
|
||||
@@ -266,6 +276,10 @@ $(SUBDIRS_ZERO): $(BUILDTREE_MAKE) platform_zero
|
||||
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
||||
$(BUILDTREE) VARIANT=zero VARIANTARCH=$(VARIANTARCH)
|
||||
|
||||
$(SUBDIRS_SHARK): $(BUILDTREE_MAKE) platform_zero
|
||||
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
||||
$(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
|
||||
|
||||
platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
|
||||
$(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
|
||||
|
||||
@@ -306,11 +320,19 @@ ifdef INSTALL
|
||||
cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install
|
||||
endif
|
||||
|
||||
$(TARGETS_SHARK): $(SUBDIRS_SHARK)
|
||||
cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS)
|
||||
cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma
|
||||
ifdef INSTALL
|
||||
cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
|
||||
endif
|
||||
|
||||
# Just build the tree, and nothing else:
|
||||
tree: $(SUBDIRS_C2)
|
||||
tree1: $(SUBDIRS_C1)
|
||||
treecore: $(SUBDIRS_CORE)
|
||||
treezero: $(SUBDIRS_ZERO)
|
||||
treeshark: $(SUBDIRS_SHARK)
|
||||
|
||||
# Doc target. This is the same for all build options.
|
||||
# Hence create a docs directory beside ...$(ARCH)_[...]
|
||||
@@ -327,20 +349,22 @@ core: jvmgcore productcore
|
||||
|
||||
zero: jvmgzero productzero
|
||||
|
||||
shark: jvmgshark productshark
|
||||
|
||||
clean_docs:
|
||||
rm -rf $(SUBDIR_DOCS)
|
||||
|
||||
clean_compiler1 clean_compiler2 clean_core clean_zero:
|
||||
clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark:
|
||||
rm -rf $(OSNAME)_$(BUILDARCH)_$(subst clean_,,$@)
|
||||
|
||||
clean: clean_compiler2 clean_compiler1 clean_core clean_zero clean_docs
|
||||
clean: clean_compiler2 clean_compiler1 clean_core clean_zero clean_shark clean_docs
|
||||
|
||||
include $(GAMMADIR)/make/$(OSNAME)/makefiles/cscope.make
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO)
|
||||
.PHONY: tree tree1 treecore treezero
|
||||
.PHONY: all compiler1 compiler2 core zero
|
||||
.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero docs clean_docs
|
||||
.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK)
|
||||
.PHONY: tree tree1 treecore treezero treeshark
|
||||
.PHONY: all compiler1 compiler2 core zero shark
|
||||
.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
|
||||
.PHONY: checks check_os_version check_j2se_version
|
||||
|
||||
@@ -15,5 +15,6 @@ fix_lines() {
|
||||
' F2=$2
|
||||
mv $1+ $1
|
||||
}
|
||||
[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \
|
||||
fix_lines $2/$1 $3/$1
|
||||
[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \
|
||||
( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
nm --defined-only $* | awk '
|
||||
# If we're cross compiling use that path for nm
|
||||
if [ "$ALT_COMPILER_PATH" != "" ]; then
|
||||
NM=$ALT_COMPILER_PATH/nm
|
||||
else
|
||||
NM=nm
|
||||
fi
|
||||
|
||||
$NM --defined-only $* | awk '
|
||||
{ if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";" }
|
||||
'
|
||||
|
||||
@@ -339,12 +339,16 @@ JAVA_FLAG/64 = -d64
|
||||
WRONG_DATA_MODE_MSG = \
|
||||
echo "JAVA_HOME must point to $(DATA_MODE)bit JDK."
|
||||
|
||||
CROSS_COMPILING_MSG = \
|
||||
echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
|
||||
|
||||
test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
|
||||
@echo Creating $@ ...
|
||||
$(QUIETLY) ( \
|
||||
echo '#!/bin/sh'; \
|
||||
$(BUILDTREE_COMMENT); \
|
||||
echo '. ./env.sh'; \
|
||||
echo "if [ \"$(CROSS_COMPILE_ARCH)\" != \"\" ]; then { $(CROSS_COMPILING_MSG); exit 0; }; fi"; \
|
||||
echo "if [ -z \$$JAVA_HOME ]; then { $(NO_JAVA_HOME_MSG); exit 0; }; fi"; \
|
||||
echo "if ! \$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion 2>&1 > /dev/null"; \
|
||||
echo "then"; \
|
||||
|
||||
@@ -98,6 +98,22 @@ ifeq ($(ARCH), i686)
|
||||
HS_ARCH = x86
|
||||
endif
|
||||
|
||||
# ARM
|
||||
ifeq ($(ARCH), arm)
|
||||
ARCH_DATA_MODEL = 32
|
||||
PLATFORM = linux-arm
|
||||
VM_PLATFORM = linux_arm
|
||||
HS_ARCH = arm
|
||||
endif
|
||||
|
||||
# PPC
|
||||
ifeq ($(ARCH), ppc)
|
||||
ARCH_DATA_MODEL = 32
|
||||
PLATFORM = linux-ppc
|
||||
VM_PLATFORM = linux_ppc
|
||||
HS_ARCH = ppc
|
||||
endif
|
||||
|
||||
JDK_INCLUDE_SUBDIR=linux
|
||||
|
||||
# FIXUP: The subdirectory for a debug build is NOT the same on all platforms
|
||||
@@ -107,22 +123,32 @@ EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
|
||||
|
||||
# client and server subdirectories have symbolic links to ../libjsig.so
|
||||
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.so
|
||||
|
||||
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||
|
||||
ifndef BUILD_CLIENT_ONLY
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so
|
||||
endif
|
||||
|
||||
ifneq ($(ZERO_BUILD), true)
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.so
|
||||
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so
|
||||
EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||
else
|
||||
ifeq ($(ARCH),ia64)
|
||||
else
|
||||
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so
|
||||
EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Serviceability Binaries
|
||||
# No SA Support for PPC, IA64, ARM or zero
|
||||
ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so \
|
||||
$(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||
ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so \
|
||||
$(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||
ADD_SA_BINARIES/ppc =
|
||||
ADD_SA_BINARIES/ia64 =
|
||||
ADD_SA_BINARIES/arm =
|
||||
ADD_SA_BINARIES/zero =
|
||||
|
||||
EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
# 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
|
||||
@@ -25,8 +25,14 @@
|
||||
#------------------------------------------------------------------------
|
||||
# CC, CPP & AS
|
||||
|
||||
ifdef ALT_COMPILER_PATH
|
||||
CPP = $(ALT_COMPILER_PATH)/g++
|
||||
CC = $(ALT_COMPILER_PATH)/gcc
|
||||
else
|
||||
CPP = g++
|
||||
CC = gcc
|
||||
endif
|
||||
|
||||
AS = $(CC) -c
|
||||
|
||||
# -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only
|
||||
@@ -55,6 +61,9 @@ VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO))
|
||||
ifeq ($(ZERO_BUILD), true)
|
||||
CFLAGS += $(LIBFFI_CFLAGS)
|
||||
endif
|
||||
ifeq ($(SHARK_BUILD), true)
|
||||
CFLAGS += $(LLVM_CFLAGS)
|
||||
endif
|
||||
CFLAGS += $(VM_PICFLAG)
|
||||
CFLAGS += -fno-rtti
|
||||
CFLAGS += -fno-exceptions
|
||||
@@ -67,18 +76,31 @@ ARCHFLAG/amd64 = -m64
|
||||
ARCHFLAG/ia64 =
|
||||
ARCHFLAG/sparc = -m32 -mcpu=v9
|
||||
ARCHFLAG/sparcv9 = -m64 -mcpu=v9
|
||||
ARCHFLAG/arm = -fsigned-char
|
||||
ARCHFLAG/zero = $(ZERO_ARCHFLAG)
|
||||
ifndef E500V2
|
||||
ARCHFLAG/ppc = -mcpu=powerpc
|
||||
endif
|
||||
|
||||
CFLAGS += $(ARCHFLAG)
|
||||
AOUT_FLAGS += $(ARCHFLAG)
|
||||
LFLAGS += $(ARCHFLAG)
|
||||
ASFLAGS += $(ARCHFLAG)
|
||||
|
||||
ifdef E500V2
|
||||
CFLAGS += -DE500V2
|
||||
endif
|
||||
|
||||
# Use C++ Interpreter
|
||||
ifdef CC_INTERP
|
||||
CFLAGS += -DCC_INTERP
|
||||
endif
|
||||
|
||||
# Build for embedded targets
|
||||
ifdef JAVASE_EMBEDDED
|
||||
CFLAGS += -DJAVASE_EMBEDDED
|
||||
endif
|
||||
|
||||
# Keep temporary files (.ii, .s)
|
||||
ifdef NEED_ASM
|
||||
CFLAGS += -save-temps
|
||||
@@ -171,6 +193,8 @@ AOUT_FLAGS += -export-dynamic
|
||||
# Note: The Itanium gcc compiler crashes when using -gstabs.
|
||||
DEBUG_CFLAGS/ia64 = -g
|
||||
DEBUG_CFLAGS/amd64 = -g
|
||||
DEBUG_CFLAGS/arm = -g
|
||||
DEBUG_CFLAGS/ppc = -g
|
||||
DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
|
||||
ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
|
||||
DEBUG_CFLAGS += -gstabs
|
||||
@@ -181,3 +205,15 @@ ifeq ($(DEBUG_BINARIES), true)
|
||||
DEBUG_CFLAGS = -g
|
||||
CFLAGS += $(DEBUG_CFLAGS)
|
||||
endif
|
||||
|
||||
# If we are building HEADLESS, pass on to VM
|
||||
# so it can set the java.awt.headless property
|
||||
ifdef HEADLESS
|
||||
CFLAGS += -DHEADLESS
|
||||
endif
|
||||
|
||||
# We are building Embedded for a small device
|
||||
# favor code space over speed
|
||||
ifdef MINIMIZE_RAM_USAGE
|
||||
CFLAGS += -DMINIMIZE_RAM_USAGE
|
||||
endif
|
||||
|
||||
@@ -46,7 +46,11 @@ VERSION = optimized
|
||||
|
||||
# use -g to strip library as -x will discard its symbol table; -x is fine for
|
||||
# executables.
|
||||
STRIP = strip
|
||||
ifdef CROSS_COMPILE_ARCH
|
||||
STRIP = $(ALT_COMPILER_PATH)/strip
|
||||
else
|
||||
STRIP = strip
|
||||
endif
|
||||
STRIP_LIBJVM = $(STRIP) -g $@ || exit 1;
|
||||
STRIP_AOUT = $(STRIP) -x $@ || exit 1;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2003, 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
|
||||
@@ -48,6 +48,9 @@ MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
|
||||
AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
|
||||
AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
|
||||
|
||||
AGENT_FILES1_LIST := $(GENERATED)/agent1.classes.list
|
||||
AGENT_FILES2_LIST := $(GENERATED)/agent2.classes.list
|
||||
|
||||
SA_CLASSDIR = $(GENERATED)/saclasses
|
||||
|
||||
SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
|
||||
@@ -55,10 +58,13 @@ SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VE
|
||||
SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties
|
||||
|
||||
# if $(AGENT_DIR) does not exist, we don't build SA
|
||||
# also, we don't build SA on Itanium or zero.
|
||||
# also, we don't build SA on Itanium, PowerPC, ARM or zero.
|
||||
|
||||
all:
|
||||
if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" -a "$(SRCARCH)" != "zero" ] ; then \
|
||||
if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \
|
||||
-a "$(SRCARCH)" != "arm" \
|
||||
-a "$(SRCARCH)" != "ppc" \
|
||||
-a "$(SRCARCH)" != "zero" ] ; then \
|
||||
$(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
|
||||
fi
|
||||
|
||||
@@ -76,10 +82,24 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
|
||||
$(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
|
||||
mkdir -p $(SA_CLASSDIR); \
|
||||
fi
|
||||
|
||||
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1)
|
||||
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2)
|
||||
|
||||
|
||||
# Note: When indented, make tries to execute the '$(shell' comment.
|
||||
# In some environments, cmd processors have limited line length.
|
||||
# To prevent the javac invocation in the next block from using
|
||||
# a very long cmd line, we use javac's @file-list option. We
|
||||
# generate the file lists using make's built-in 'foreach' control
|
||||
# flow which also avoids cmd processor line length issues. Since
|
||||
# the 'foreach' is done as part of make's macro expansion phase,
|
||||
# the initialization of the lists is also done in the same phase
|
||||
# using '$(shell rm ...' instead of using the more traditional
|
||||
# 'rm ...' rule.
|
||||
$(shell rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST))
|
||||
$(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
|
||||
$(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
|
||||
|
||||
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
|
||||
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
|
||||
|
||||
$(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||
$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
|
||||
$(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
|
||||
@@ -98,3 +118,4 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
|
||||
clean:
|
||||
rm -rf $(SA_CLASSDIR)
|
||||
rm -rf $(GENERATED)/sa-jdi.jar
|
||||
rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
|
||||
|
||||
@@ -53,10 +53,10 @@ ifeq ($(DEBUG_BINARIES), true)
|
||||
endif
|
||||
|
||||
# if $(AGENT_DIR) does not exist, we don't build SA
|
||||
# also, we don't build SA on Itanium or zero.
|
||||
# also, we don't build SA on Itanium, PPC, ARM or zero.
|
||||
|
||||
checkAndBuildSA:
|
||||
$(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" -a "$(SRCARCH)" != "zero" ] ; then \
|
||||
$(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" -a "$(SRCARCH)" != "arm" -a "$(SRCARCH)" != "ppc" -a "$(SRCARCH)" != "zero" ] ; then \
|
||||
$(MAKE) -f vm.make $(LIBSAPROC); \
|
||||
fi
|
||||
|
||||
|
||||
32
hotspot/make/linux/makefiles/shark.make
Normal file
32
hotspot/make/linux/makefiles/shark.make
Normal file
@@ -0,0 +1,32 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright 2008, 2010 Red Hat, Inc.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
|
||||
# Sets make macros for making Shark version of VM
|
||||
|
||||
TYPE = SHARK
|
||||
|
||||
VM_SUBDIR = server
|
||||
|
||||
CFLAGS += -DSHARK
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
# 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
|
||||
@@ -75,6 +75,7 @@ Include_DBs/COMPILER1 = $(Include_DBs/CORE) $(VM)/includeDB_compiler1
|
||||
Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2
|
||||
Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2
|
||||
Include_DBs/ZERO = $(Include_DBs/CORE) $(VM)/includeDB_zero
|
||||
Include_DBs/SHARK = $(Include_DBs/ZERO) $(VM)/includeDB_shark
|
||||
Include_DBs = $(Include_DBs/$(TYPE))
|
||||
|
||||
Cached_plat = $(GENERATED)/platform.current
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
# 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
|
||||
@@ -98,6 +98,7 @@ CFLAGS += $(CFLAGS/NOEX)
|
||||
|
||||
# Extra flags from gnumake's invocation or environment
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
LFLAGS += $(EXTRA_CFLAGS)
|
||||
|
||||
LIBS += -lm -ldl -lpthread
|
||||
|
||||
@@ -136,10 +137,14 @@ mapfile_reorder : mapfile $(REORDERFILE)
|
||||
vm.def: $(Res_Files) $(Obj_Files)
|
||||
sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@
|
||||
|
||||
ifeq ($(ZERO_LIBARCH), ppc64)
|
||||
ifeq ($(SHARK_BUILD), true)
|
||||
STATIC_CXX = false
|
||||
else
|
||||
STATIC_CXX = true
|
||||
ifeq ($(ZERO_LIBARCH), ppc64)
|
||||
STATIC_CXX = false
|
||||
else
|
||||
STATIC_CXX = true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(LINK_INTO),AOUT)
|
||||
@@ -167,6 +172,10 @@ endif
|
||||
ifeq ($(ZERO_BUILD), true)
|
||||
LIBS_VM += $(LIBFFI_LIBS)
|
||||
endif
|
||||
ifeq ($(SHARK_BUILD), true)
|
||||
LFLAGS_VM += $(LLVM_LDFLAGS)
|
||||
LIBS_VM += $(LLVM_LIBS)
|
||||
endif
|
||||
|
||||
LINK_VM = $(LINK_LIB.c)
|
||||
|
||||
@@ -210,15 +219,17 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
|
||||
$(LINK_LIB.CC/POST_HOOK) \
|
||||
rm -f $@.1; ln -s $@ $@.1; \
|
||||
[ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
|
||||
if [ -x /usr/sbin/selinuxenabled ] ; then \
|
||||
/usr/sbin/selinuxenabled; \
|
||||
if [ $$? = 0 ] ; then \
|
||||
/usr/bin/chcon -t textrel_shlib_t $@; \
|
||||
if [ $$? != 0 ]; then \
|
||||
echo "ERROR: Cannot chcon $@"; \
|
||||
fi \
|
||||
fi \
|
||||
fi \
|
||||
if [ \"$(CROSS_COMPILE_ARCH)\" = \"\" ] ; then \
|
||||
if [ -x /usr/sbin/selinuxenabled ] ; then \
|
||||
/usr/sbin/selinuxenabled; \
|
||||
if [ $$? = 0 ] ; then \
|
||||
/usr/bin/chcon -t textrel_shlib_t $@; \
|
||||
if [ $$? != 0 ]; then \
|
||||
echo "ERROR: Cannot chcon $@"; \
|
||||
fi \
|
||||
fi \
|
||||
fi \
|
||||
fi \
|
||||
}
|
||||
|
||||
DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1998, 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
|
||||
@@ -19,7 +19,7 @@
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
# This makefile creates a build tree and lights off a build.
|
||||
@@ -36,13 +36,13 @@
|
||||
# or BOOTDIR has to be set. We do *not* search javac, javah, rmic etc.
|
||||
# from the PATH.
|
||||
|
||||
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
|
||||
# JDI binding on SA produces two binaries:
|
||||
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
|
||||
# JDI binding on SA produces two binaries:
|
||||
# 1. sa-jdi.jar - This is build before building libjvm[_g].so
|
||||
# Please refer to ./makefiles/sa.make
|
||||
# 2. libsaproc[_g].so - Native library for SA - This is built after
|
||||
# libjsig[_g].so (signal interposition library)
|
||||
# Please refer to ./makefiles/vm.make
|
||||
# Please refer to ./makefiles/vm.make
|
||||
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
|
||||
|
||||
ifeq ($(GAMMADIR),)
|
||||
@@ -52,10 +52,10 @@ include $(GAMMADIR)/make/defs.make
|
||||
endif
|
||||
include $(GAMMADIR)/make/$(OSNAME)/makefiles/rules.make
|
||||
|
||||
ifndef LP64
|
||||
ifndef CC_INTERP
|
||||
FORCE_TIERED=1
|
||||
endif
|
||||
ifndef FORCE_TIERED
|
||||
FORCE_TIERED=1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef LP64
|
||||
@@ -212,7 +212,7 @@ $(SUBDIRS_TIERED): $(BUILDTREE_MAKE)
|
||||
$(BUILDTREE) VARIANT=tiered
|
||||
|
||||
$(SUBDIRS_C2): $(BUILDTREE_MAKE)
|
||||
ifdef FORCE_TIERED
|
||||
ifeq ($(FORCE_TIERED),1)
|
||||
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
||||
$(BUILDTREE) VARIANT=tiered FORCE_TIERED=1
|
||||
else
|
||||
|
||||
@@ -15,5 +15,6 @@ fix_lines() {
|
||||
' F2=$2
|
||||
mv $1+ $1
|
||||
}
|
||||
[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \
|
||||
fix_lines $2/$1 $3/$1
|
||||
[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \
|
||||
( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
|
||||
|
||||
@@ -35,7 +35,8 @@ ifeq ("${Platform_compiler}", "sparcWorks")
|
||||
|
||||
# Temporary until SS10 C++ compiler is fixed
|
||||
OPT_CFLAGS/generateOptoStub.o = -xO2
|
||||
|
||||
# Temporary util SS12u1 C++ compiler is fixed
|
||||
OPT_CFLAGS/c1_LinearScan.o = -xO2
|
||||
else
|
||||
|
||||
ifeq ("${Platform_compiler}", "gcc")
|
||||
|
||||
@@ -70,20 +70,24 @@ EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
|
||||
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.so
|
||||
|
||||
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||
ifneq ($(BUILD_CLIENT_ONLY),true)
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.so
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.so
|
||||
endif
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.so
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.so
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.so
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.so
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.so
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.so
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.so
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.so
|
||||
ifneq ($(BUILD_CLIENT_ONLY), true)
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.so
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.so
|
||||
endif
|
||||
endif
|
||||
|
||||
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so
|
||||
|
||||
@@ -165,7 +165,7 @@ $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
|
||||
$(DTRACE.o): $(DTRACE).d $(JVMOFFS).h $(JVMOFFS)Index.h $(DTraced_Files)
|
||||
@echo Compiling $(DTRACE).d
|
||||
|
||||
$(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -G -o $@ -s $(DTRACE).d \
|
||||
$(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -G -xlazyload -o $@ -s $(DTRACE).d \
|
||||
$(DTraced_Files) ||\
|
||||
STATUS=$$?;\
|
||||
if [ x"$$STATUS" = x"1" -a \
|
||||
|
||||
@@ -18,7 +18,6 @@ text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: compilationPolicy.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: compileBroker.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: fprofiler.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: genCollectedHeap.o;
|
||||
text: .text%__1cTAssertIsPermClosure2t6M_v_: genCollectedHeap.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: generateOopMap.o;
|
||||
text: .text%__1cNCellTypeStateLmake_bottom6F_0_: generateOopMap.o;
|
||||
text: .text%__1cNCellTypeStateImake_any6Fi_0_: generateOopMap.o;
|
||||
@@ -34,23 +33,15 @@ text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: jvmtiTagMap.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: management.o;
|
||||
text: .text%__1cJTimeStamp2t6M_v_: management.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: markSweep.o;
|
||||
text: .text%__1cJMarkSweepSMarkAndPushClosure2t6M_v_: markSweep.o;
|
||||
text: .text%__1cJMarkSweepRFollowRootClosure2t6M_v_: markSweep.o;
|
||||
text: .text%__1cJMarkSweepSFollowStackClosure2t6M_v_: markSweep.o;
|
||||
text: .text%__1cJMarkSweepOIsAliveClosure2t6M_v_: markSweep.o;
|
||||
text: .text%__1cJMarkSweepQKeepAliveClosure2t6M_v_: markSweep.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: memoryService.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: oopMap.o;
|
||||
text: .text%__1cQDoNothingClosure2t6M_v_: oopMap.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: parGCAllocBuffer.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: psMarkSweep.o;
|
||||
text: .text%__1cTPSAlwaysTrueClosure2t6M_v_: psMarkSweep.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: psScavenge.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: relocInfo.o;
|
||||
text: .text%__1cQRelocationHolder2t6M_v_: relocInfo.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: runtimeService.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: sharedHeap.o;
|
||||
text: .text%__1cTAssertIsPermClosure2t6M_v_: sharedHeap.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: vmStructs.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: vm_version.o;
|
||||
text: .text%__1cTAbstract_VM_VersionKvm_release6F_pkc_;
|
||||
@@ -94,7 +85,6 @@ text: .text%__1cCosXnon_memory_address_word6F_pc_;
|
||||
text: .text%__1cCosHSolarisOlibthread_init6F_v_;
|
||||
text: .text%__1cRlwp_priocntl_init6F_i_: os_solaris.o;
|
||||
text: .text%__1cNpriocntl_stub6FinGidtype_lipc_l_: os_solaris.o;
|
||||
text: .text%__1cOresolve_symbol6Fpkc_pC_: os_solaris.o;
|
||||
text: .text%__1cCosHSolarisQsignal_sets_init6F_v_;
|
||||
text: .text%__1cCosHSolarisPinit_signal_mem6F_v_;
|
||||
text: .text%__1cCosHSolarisXinstall_signal_handlers6F_v_;
|
||||
@@ -107,7 +97,6 @@ text: .text%__1cSThreadLocalStorageEinit6F_v_;
|
||||
text: .text%__1cSThreadLocalStorageHpd_init6F_v_;
|
||||
text: .text%__1cCosbDallocate_thread_local_storage6F_i_;
|
||||
text: .text%__1cSThreadLocalStoragebCgenerate_code_for_get_thread6F_v_;
|
||||
text: .text%__1cRAllocateTLSOffset6F_v_: threadLS_solaris_x86.o;
|
||||
text: .text%__1cPvm_init_globals6F_v_;
|
||||
text: .text%__1cScheck_ThreadShadow6F_v_;
|
||||
text: .text%__1cNeventlog_init6F_v_;
|
||||
@@ -119,17 +108,8 @@ text: .text%__1cPperfMemory_init6F_v_;
|
||||
text: .text%__1cKPerfMemoryKinitialize6F_v_;
|
||||
text: .text%__1cCosZvm_allocation_granularity6F_i_;
|
||||
text: .text%__1cKPerfMemoryUcreate_memory_region6FI_v_;
|
||||
text: .text%__1cUcreate_shared_memory6FI_pc_: perfMemory_solaris.o;
|
||||
text: .text%__1cSmmap_create_shared6FI_pc_: perfMemory_solaris.o;
|
||||
text: .text%__1cCosScurrent_process_id6F_i_;
|
||||
text: .text%__1cNget_user_name6Fl_pc_: perfMemory_solaris.o;
|
||||
text: .text%__1cQget_user_tmp_dir6Fpkc_pc_: perfMemory_solaris.o;
|
||||
text: .text%__1cCosSget_temp_directory6F_pkc_;
|
||||
text: .text%__1cWget_sharedmem_filename6Fpkci_pc_: perfMemory_solaris.o;
|
||||
text: .text%__1cbBcleanup_sharedmem_resources6Fpkc_v_: perfMemory_solaris.o;
|
||||
text: .text%lstat: perfMemory_solaris.o;
|
||||
text: .text%__1cPfilename_to_pid6Fpkc_l_: perfMemory_solaris.o;
|
||||
text: .text%__1cbAcreate_sharedmem_resources6Fpkc1I_i_: perfMemory_solaris.o;
|
||||
text: .text%__1cGThread2t6M_v_;
|
||||
text: .text%__1cFArena2t6M_v_;
|
||||
text: .text%__1cFChunk2n6FII_pv_;
|
||||
@@ -161,7 +141,6 @@ text: .text%__1cCosRinitialize_thread6F_v_;
|
||||
text: .text%__1cNReservedSpaceUpage_align_size_down6FI_I_;
|
||||
text: .text%__1cCosHSolarisVinit_thread_fpu_state6F_v_;
|
||||
text: .text%__1cOJNIHandleBlockOallocate_block6FpnGThread__p0_;
|
||||
text: .text%__1cQcreate_os_thread6FpnGThread_I_pnIOSThread__: os_solaris.o;
|
||||
text: .text%__1cIOSThread2t6MpFpv_i1_v_;
|
||||
text: .text%__1cIOSThreadNpd_initialize6M_v_;
|
||||
text: .text%__1cCosHSolarisPhotspot_sigmask6FpnGThread__v_;
|
||||
@@ -186,7 +165,6 @@ text: .text%__1cNThreadServiceEinit6F_v_;
|
||||
text: .text%__1cPPerfDataManagerTcreate_long_counter6FnJCounterNS_pkcnIPerfDataFUnits_xpnGThread__pnPPerfLongCounter__;
|
||||
text: .text%__1cORuntimeServiceEinit6F_v_;
|
||||
text: .text%__1cTClassLoadingServiceEinit6F_v_;
|
||||
text: .text%__1cKvtune_init6F_v_;
|
||||
text: .text%__1cObytecodes_init6F_v_;
|
||||
text: .text%__1cJBytecodesKinitialize6F_v_;
|
||||
text: .text%__1cJBytecodesNpd_initialize6F_v_;
|
||||
@@ -200,7 +178,6 @@ text: .text%__1cKHandleMark2T6M_v_;
|
||||
text: .text%__1cLClassLoaderbBsetup_bootstrap_search_path6F_v_;
|
||||
text: .text%__1cCosGstrdup6Fpkc_pc_;
|
||||
text: .text%__1cCosEstat6FpkcpnEstat__i_;
|
||||
text: .text%stat: os_solaris.o;
|
||||
text: .text%JVM_RawMonitorCreate;
|
||||
text: .text%JVM_NativePath;
|
||||
text: .text%JVM_RawMonitorEnter;
|
||||
@@ -216,7 +193,6 @@ text: .text%__1cNReservedSpace2t6MI_v_;
|
||||
text: .text%__1cMVirtualSpaceQuncommitted_size6kM_I_;
|
||||
text: .text%__1cMVirtualSpaceNreserved_size6kM_I_;
|
||||
text: .text%__1cMVirtualSpaceOcommitted_size6kM_I_;
|
||||
text: .text%__1cSalign_to_page_size6FI_I_: heap.o;
|
||||
text: .text%__1cICodeHeapFclear6M_v_;
|
||||
text: .text%__1cICodeHeapTmark_segmap_as_free6MII_v_;
|
||||
text: .text%__1cNMemoryServiceZadd_code_heap_memory_pool6FpnICodeHeap__v_;
|
||||
@@ -244,9 +220,7 @@ text: .text%__1cKMemoryPoolYrecord_peak_memory_usage6M_v_;
|
||||
text: .text%__1cMCodeHeapPoolQget_memory_usage6M_nLMemoryUsage__;
|
||||
text: .text%__1cMCodeHeapPoolNused_in_bytes6M_I_: memoryPool.o;
|
||||
text: .text%__1cICodeHeapSallocated_capacity6kM_I_;
|
||||
text: .text%__1cKMemoryPoolImax_size6kM_I_: memoryPool.o;
|
||||
text: .text%__1cXresource_allocate_bytes6FI_pc_;
|
||||
text: .text%__1cKCodeBuffer2t6MpCi_v_;
|
||||
text: .text%__1cRAbstractAssembler2t6MpnKCodeBuffer__v_;
|
||||
text: .text%__1cYVM_Version_StubGeneratorTgenerate_getPsrInfo6M_pC_: vm_version_x86.o;
|
||||
text: .text%__1cMStubCodeMark2t6MpnRStubCodeGenerator_pkc4_v_;
|
||||
@@ -269,10 +243,8 @@ text: .text%__1cJAssemblerDret6Mi_v_;
|
||||
text: .text%__1cMStubCodeMark2T6M_v_;
|
||||
text: .text%__1cRAbstractAssemblerFflush6M_v_;
|
||||
text: .text%__1cRStubCodeGeneratorLstub_epilog6MpnMStubCodeDesc__v_;
|
||||
text: .text%__1cFVTuneNregister_stub6FpkcpC3_v_;
|
||||
text: .text%__1cFForteNregister_stub6FpkcpC3_v_;
|
||||
text: .text%__1cKVM_VersionWget_processor_features6F_v_;
|
||||
text: .text%__1cVcheck_for_sse_support6F_v_: os_solaris_x86.o;
|
||||
text: .text%jio_snprintf;
|
||||
text: .text%jio_vsnprintf;
|
||||
text: .text%__1cPlocal_vsnprintf6FpcIpkcpv_i_;
|
||||
@@ -651,7 +623,6 @@ text: .text%__1cZInterpreterMacroAssemblerWprofile_switch_default6MpnMRegisterIm
|
||||
text: .text%__1cNTemplateTableMlookupswitch6F_v_;
|
||||
text: .text%__1cNTemplateTableH_return6FnITosState__v_;
|
||||
text: .text%__1cNTemplateTableJgetstatic6Fi_v_;
|
||||
text: .text%__1cNTemplateTableXresolve_cache_and_index6FipnMRegisterImpl_2_v_;
|
||||
text: .text%__1cJAssemblerHfistp_d6MnHAddress__v_;
|
||||
text: .text%__1cNTemplateTableJputstatic6Fi_v_;
|
||||
text: .text%__1cOMacroAssemblerLstore_check6MpnMRegisterImpl_nHAddress__v_;
|
||||
@@ -735,7 +706,6 @@ text: .text%__1cbBBlockOffsetArrayContigSpaceQalloc_block_work6MpnIHeapWord_2_v_
|
||||
text: .text%__1cLsymbolKlassMcreate_klass6FpnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cLsymbolKlassSallocate_permanent6kMrnLKlassHandle_ipnGThread__pv_: symbolKlass.o;
|
||||
text: .text%__1cLsymbolKlassOset_alloc_size6MI_v_: symbolKlass.o;
|
||||
text: .text%__1cKoopFactoryKnew_symbol6FpkcipnGThread__pnNsymbolOopDesc__;
|
||||
text: .text%__1cLSymbolTableGlookup6FpkcipnGThread__pnNsymbolOopDesc__;
|
||||
text: .text%__1cJHashtableLhash_symbol6Fpkci_I_: symbolTable.o;
|
||||
text: .text%__1cLSymbolTableGlookup6MipkciI_pnNsymbolOopDesc__;
|
||||
@@ -806,7 +776,6 @@ text: .text%__1cQSystemDictionaryRload_shared_class6FnMsymbolHandle_nGHandle_pnG
|
||||
text: .text%__1cQSystemDictionaryRfind_shared_class6FnMsymbolHandle__pnMklassOopDesc__;
|
||||
text: .text%__1cQSystemDictionaryRload_shared_class6FnTinstanceKlassHandle_nGHandle_pnGThread__1_;
|
||||
text: .text%__1cLClassLoaderOload_classfile6FnMsymbolHandle_pnGThread__nTinstanceKlassHandle__;
|
||||
text: .text%__1cFVTuneQstart_class_load6F_v_;
|
||||
text: .text%__1cJEventMark2t6MpkcE_v_: classLoader.o;
|
||||
text: .text%__1cSThreadProfilerMark2t6Mn0AGRegion__v_;
|
||||
text: .text%__1cMstringStream2t6MI_v_;
|
||||
@@ -854,7 +823,6 @@ text: .text%__1cPClassFileParserYparse_checked_exceptions6MpHInSconstantPoolHand
|
||||
text: .text%__1cPClassFileStreamHskip_u26MipnGThread__v_;
|
||||
text: .text%__1cSconstMethodOopDescbEchecked_exceptions_length_addr6kM_pH_;
|
||||
text: .text%__1cSconstMethodOopDescYchecked_exceptions_start6kM_pnXCheckedExceptionElement__;
|
||||
text: .text%__1cXcopy_u2_with_conversion6FpH0i_v_: classFileParser.o;
|
||||
text: .text%__1cPClassFileParserbDcompute_transitive_interfaces6MnTinstanceKlassHandle_nOobjArrayHandle_pnGThread__2_;
|
||||
text: .text%__1cPClassFileParserMsort_methods6MnOobjArrayHandle_111pnGThread__nPtypeArrayHandle__;
|
||||
text: .text%method_compare: methodOop.o;
|
||||
@@ -862,9 +830,6 @@ text: .text%__1cLklassVtableQget_num_mirandas6FpnMklassOopDesc_pnPobjArrayOopDes
|
||||
text: .text%__1cLklassVtableMget_mirandas6FpnNGrowableArray4CpnNmethodOopDesc___pnMklassOopDesc_pnPobjArrayOopDesc_8_v_;
|
||||
text: .text%__1cLklassItableTcompute_itable_size6FnOobjArrayHandle__i_;
|
||||
text: .text%__1cUvisit_all_interfaces6FpnPobjArrayOopDesc_pnXInterfaceVisiterClosure__v_;
|
||||
text: .text%__1cPClassFileParserUcompute_oop_map_size6MnTinstanceKlassHandle_ii_i_;
|
||||
text: .text%__1cKoopFactoryRnew_instanceKlass6FiiiinNReferenceType_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cSinstanceKlassKlassXallocate_instance_klass6MiiiinNReferenceType_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cNinstanceKlassSallocate_permanent6kMrnLKlassHandle_ipnGThread__pv_: instanceKlass.o;
|
||||
text: .text%__1cNinstanceKlassOset_alloc_size6MI_v_: instanceKlass.o;
|
||||
text: .text%__1cNinstanceKlassQinit_implementor6M_v_;
|
||||
@@ -878,7 +843,6 @@ text: .text%__1cNinstanceKlassYcompute_secondary_supers6MipnGThread__pnPobjArray
|
||||
text: .text%__1cLklassItableZsetup_itable_offset_table6FnTinstanceKlassHandle__v_;
|
||||
text: .text%__1cFKlassKsuperklass6kM_pnNinstanceKlass__;
|
||||
text: .text%__1cPClassFileParserVset_precomputed_flags6MnTinstanceKlassHandle__v_;
|
||||
text: .text%__1cFKlassNlookup_method6kMpnNsymbolOopDesc_2_pnNmethodOopDesc__;
|
||||
text: .text%__1cNinstanceKlassWuncached_lookup_method6kMpnNsymbolOopDesc_2_pnNmethodOopDesc__;
|
||||
text: .text%__1cNinstanceKlassLfind_method6kMpnNsymbolOopDesc_2_pnNmethodOopDesc__;
|
||||
text: .text%__1cNinstanceKlassLfind_method6FpnPobjArrayOopDesc_pnNsymbolOopDesc_4_pnNmethodOopDesc__;
|
||||
@@ -893,7 +857,6 @@ text: .text%__1cQPackageHashtableMcompute_hash6Mpkci_I_: classLoader.o;
|
||||
text: .text%__1cQPackageHashtableJget_entry6MiIpkcI_pnLPackageInfo__: classLoader.o;
|
||||
text: .text%__1cMstringStream2T6M_v_;
|
||||
text: .text%__1cSThreadProfilerMark2T6M_v_;
|
||||
text: .text%__1cFVTuneOend_class_load6F_v_;
|
||||
text: .text%__1cQSystemDictionaryVdefine_instance_class6FnTinstanceKlassHandle_pnGThread__v_;
|
||||
text: .text%__1cVLoaderConstraintTableWfind_loader_constraint6MnMsymbolHandle_nGHandle__ppnVLoaderConstraintEntry__;
|
||||
text: .text%__1cQSystemDictionaryQadd_to_hierarchy6FnTinstanceKlassHandle_pnGThread__v_;
|
||||
@@ -970,8 +933,6 @@ text: .text%__1cbBjava_lang_ref_SoftReferenceJset_clock6Fx_v_;
|
||||
text: .text%__1cQjni_handles_init6F_v_;
|
||||
text: .text%__1cKJNIHandlesKinitialize6F_v_;
|
||||
text: .text%__1cOvmStructs_init6F_v_;
|
||||
text: .text%__1cIFrameMapEinit6F_v_;
|
||||
text: .text%__1cIRuntime1Kinitialize6F_v_;
|
||||
text: .text%__1cIRuntime1Ninitialize_pd6F_v_;
|
||||
text: .text%__1cNSharedRuntimeTgenerate_deopt_blob6F_v_;
|
||||
text: .text%__1cJOopMapSet2t6M_v_;
|
||||
@@ -996,7 +957,6 @@ text: .text%__1cJOopMapSetJheap_size6kM_i_;
|
||||
text: .text%__1cGOopMapJheap_size6kM_i_;
|
||||
text: .text%__1cJOopMapSetHcopy_to6MpC_v_;
|
||||
text: .text%__1cGOopMapHcopy_to6MpC_v_;
|
||||
text: .text%__1cIRuntime1Rgenerate_blob_for6Fn0AGStubID__v_;
|
||||
text: .text%__1cLOopRecorder2t6MpnFArena__v_;
|
||||
text: .text%__1cIRuntime1Iname_for6Fn0AGStubID__pkc_;
|
||||
text: .text%__1cLRuntimeStub2n6FII_pv_;
|
||||
@@ -1004,7 +964,6 @@ text: .text%__1cNStubAssemblerHcall_RT6MpnMRegisterImpl_2pC2_i_;
|
||||
text: .text%__1cNStubAssemblerHcall_RT6MpnMRegisterImpl_2pCi_i_;
|
||||
text: .text%__1cJStubFrame2T6M_v_;
|
||||
text: .text%__1cOMacroAssemblerLtlab_refill6MrnFLabel_22_v_;
|
||||
text: .text%__1cLlog2_intptr6Fi_i_: assembler_x86.o;
|
||||
text: .text%__1cOMacroAssemblerNeden_allocate6MpnMRegisterImpl_2i2rnFLabel__v_;
|
||||
text: .text%__1cOMacroAssemblerLverify_tlab6M_v_;
|
||||
text: .text%__1cOMacroAssemblerNtlab_allocate6MpnMRegisterImpl_2i22rnFLabel__v_;
|
||||
@@ -1033,7 +992,6 @@ text: .text%__1cPICStubInterfaceRcode_size_to_size6kMi_i_: icBuffer.o;
|
||||
text: .text%__1cPICStubInterfaceKinitialize6MpnEStub_i_v_: icBuffer.o;
|
||||
text: .text%__1cTcompilerOracle_init6F_v_;
|
||||
text: .text%__1cOCompilerOraclePparse_from_file6F_v_;
|
||||
text: .text%__1cHcc_file6F_pkc_: compilerOracle.o;
|
||||
text: .text%__1cWcompilationPolicy_init6F_v_;
|
||||
text: .text%__1cNinstanceKlassGvtable6kM_pnLklassVtable__;
|
||||
text: .text%__1cNinstanceKlassKjava_super6kM_pnMklassOopDesc__: instanceKlass.o;
|
||||
@@ -1076,18 +1034,14 @@ text: .text%__1cNinstanceKlassKlink_class6MpnGThread__v_;
|
||||
text: .text%__1cNinstanceKlassNrewrite_class6MpnGThread__v_;
|
||||
text: .text%__1cIRewriterHrewrite6FnTinstanceKlassHandle_pnGThread__v_;
|
||||
text: .text%__1cYconstantPoolCacheOopDescKinitialize6MrnIintArray__v_;
|
||||
text: .text%__1cWConstantPoolCacheEntryRset_initial_state6Mi_v_;
|
||||
text: .text%__1cTAbstractInterpreterLmethod_kind6FnMmethodHandle__n0AKMethodKind__;
|
||||
text: .text%__1cMNativeLookupTbase_library_lookup6Fpkc22_pC_;
|
||||
text: .text%__1cMNativeLookupNpure_jni_name6FnMmethodHandle__pc_;
|
||||
text: .text%__1cMoutputStreamFprint6MpkcE_v_;
|
||||
text: .text%__1cNmethodOopDescKklass_name6kM_pnNsymbolOopDesc__;
|
||||
text: .text%__1cOmangle_name_on6FpnMoutputStream_pnNsymbolOopDesc__v_: nativeLookup.o;
|
||||
text: .text%__1cOmangle_name_on6FpnMoutputStream_pnNsymbolOopDesc_ii_v_: nativeLookup.o;
|
||||
text: .text%__1cMoutputStreamDput6Mc_v_;
|
||||
text: .text%__1cCosYprint_jni_name_prefix_on6FpnMoutputStream_i_v_;
|
||||
text: .text%__1cCosYprint_jni_name_suffix_on6FpnMoutputStream_i_v_;
|
||||
text: .text%__1cVlookup_special_native6Fpc_pC_: nativeLookup.o;
|
||||
text: .text%__1cbEinitialize_converter_functions6F_v_;
|
||||
text: .text%__1cIUniverseWupdate_heap_info_at_gc6F_v_;
|
||||
text: .text%__1cQGenCollectedHeapIcapacity6kM_I_;
|
||||
@@ -1137,7 +1091,6 @@ text: .text%__1cCosMstart_thread6FpnGThread__v_;
|
||||
text: .text%__1cCosPpd_start_thread6FpnGThread__v_;
|
||||
text: .text%__1cCosTset_native_priority6FpnGThread_i_nIOSReturn__;
|
||||
text: .text%__1cQset_lwp_priority6Fiii_i_;
|
||||
text: .text%__1cVscale_to_lwp_priority6Fiii_i_: os_solaris.o;
|
||||
text: .text%__1cIVMThreadDrun6M_v_;
|
||||
text: .text%__1cIVMThreadEloop6M_v_;
|
||||
text: .text%__1cQVMOperationQdDueueLremove_next6M_pnMVM_Operation__;
|
||||
@@ -1154,7 +1107,6 @@ text: .text%__1cNinstanceKlassRclass_initializer6M_pnNmethodOopDesc__;
|
||||
text: .text%__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_;
|
||||
text: .text%__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_;
|
||||
text: .text%__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_;
|
||||
text: .text%__1cRruntime_type_from6FpnJJavaValue__nJBasicType__: javaCalls.o;
|
||||
text: .text%__1cTAbstractInterpreterbFsize_top_interpreter_activation6FpnNmethodOopDesc__i_;
|
||||
text: .text%__1cPJavaCallWrapper2t6MnMmethodHandle_nGHandle_pnJJavaValue_pnGThread__v_;
|
||||
text: .text%__1cRJavaCallArgumentsKparameters6M_pi_;
|
||||
@@ -1192,7 +1144,6 @@ text: .text%__1cXSignatureHandlerLibraryLset_handler6FpnKCodeBuffer__pC_;
|
||||
text: .text%__1cXSignatureHandlerLibraryOpd_set_handler6FpC_v_;
|
||||
text: .text%jni_RegisterNatives: jni.o;
|
||||
text: .text%__1cPjava_lang_ClassLas_klassOop6FpnHoopDesc__pnMklassOopDesc__;
|
||||
text: .text%__1cLSymbolTableFprobe6Fpkci_pnNsymbolOopDesc__;
|
||||
text: .text%__1cPJavaCallWrapper2T6M_v_;
|
||||
text: .text%__1cOJNIHandleBlockNrelease_block6Fp0pnGThread__v_;
|
||||
text: .text%__1cNinstanceKlassbJset_initialization_state_and_notify6Mn0AKClassState_pnGThread__v_;
|
||||
@@ -1206,7 +1157,6 @@ text: .text%__1cPFieldAccessInfoDset6MnLKlassHandle_nMsymbolHandle_iinJBasicType
|
||||
text: .text%__1cWConstantPoolCacheEntryOset_bytecode_26MnJBytecodesECode__v_;
|
||||
text: .text%__1cSInterpreterRuntimeE_new6FpnKJavaThread_pnTconstantPoolOopDesc_i_v_;
|
||||
text: .text%__1cMLinkResolverVresolve_invokespecial6FrnICallInfo_nSconstantPoolHandle_ipnGThread__v_;
|
||||
text: .text%__1cWConstantPoolCacheEntryPbytecode_number6FnJBytecodesECode__i_: cpCacheOop.o;
|
||||
text: .text%__1cNSignatureInfoJdo_object6Mii_v_: bytecode.o;
|
||||
text: .text%__1cNSignatureInfoHdo_long6M_v_: bytecode.o;
|
||||
text: .text%JVM_CurrentTimeMillis;
|
||||
@@ -1225,8 +1175,6 @@ text: .text%__1cQjava_lang_StringbBcreate_tenured_from_unicode6FpHipnGThread__nG
|
||||
text: .text%__1cKoopFactoryXnew_permanent_charArray6FipnGThread__pnQtypeArrayOopDesc__;
|
||||
text: .text%__1cJJavaCallsMcall_special6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_533pnGThread__v_;
|
||||
text: .text%__1cNmethodOopDescIbci_from6kMpC_i_;
|
||||
text: .text%__1cPBytecode_invokeJsignature6kM_pnNsymbolOopDesc__;
|
||||
text: .text%__1cPBytecode_invokeFindex6kM_i_;
|
||||
text: .text%__1cNmethodOopDescIbcp_from6kMi_pC_;
|
||||
text: .text%__1cFframebGinterpreter_callee_receiver_addr6MnMsymbolHandle__ppnHoopDesc__;
|
||||
text: .text%__1cMLinkResolverVresolve_invokevirtual6FrnICallInfo_nGHandle_nSconstantPoolHandle_ipnGThread__v_;
|
||||
@@ -1258,7 +1206,6 @@ text: .text%jni_GetStringUTFChars: jni.o;
|
||||
text: .text%__1cQjava_lang_StringOas_utf8_string6FpnHoopDesc__pc_;
|
||||
text: .text%__1cHUNICODEHas_utf86FpHi_pc_;
|
||||
text: .text%__1cHUNICODELutf8_length6FpHi_i_;
|
||||
text: .text%__1cKutf8_write6FpCH_0_: utf8.o;
|
||||
text: .text%JVM_FindPrimitiveClass;
|
||||
text: .text%__1cJname2type6Fpkc_nJBasicType__;
|
||||
text: .text%jni_ReleaseStringUTFChars;
|
||||
@@ -1300,7 +1247,6 @@ text: .text%__1cKJavaThreadRthread_main_inner6M_v_;
|
||||
text: .text%__1cMthread_entry6FpnKJavaThread_pnGThread__v_: jvm.o;
|
||||
text: .text%__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_;
|
||||
text: .text%__1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_;
|
||||
text: .text%__1cIBytecodeIset_code6MnJBytecodesECode__v_;
|
||||
text: .text%__1cNFingerprinterHdo_long6M_v_: dump.o;
|
||||
text: .text%JVM_MonitorWait;
|
||||
text: .text%__1cQjava_lang_ThreadRget_thread_status6FpnHoopDesc__n0AMThreadStatus__;
|
||||
@@ -1314,23 +1260,19 @@ text: .text%__1cNmethodOopDescKjmethod_id6M_pnK_jmethodID__;
|
||||
text: .text%jni_NewStringUTF: jni.o;
|
||||
text: .text%jni_CallObjectMethod: jni.o;
|
||||
text: .text%__1cRSignatureIterator2t6MpnGThread_pnNsymbolOopDesc__v_;
|
||||
text: .text%__1cUjni_invoke_nonstatic6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_: jni.o;
|
||||
text: .text%__1cXJNI_ArgumentPusherVaArgHiterate6MX_v_: jni.o;
|
||||
text: .text%__1cXJNI_ArgumentPusherVaArgKget_object6M_v_: jni.o;
|
||||
text: .text%jni_ExceptionOccurred: jni.o;
|
||||
text: .text%__1cbAjni_check_async_exceptions6FpnKJavaThread__v_: jni.o;
|
||||
text: .text%jni_DeleteLocalRef: jni.o;
|
||||
text: .text%__1cOJNIHandleBlockRrebuild_free_list6M_v_;
|
||||
text: .text%jni_EnsureLocalCapacity;
|
||||
text: .text%jni_GetStaticMethodID: jni.o;
|
||||
text: .text%jni_CallStaticObjectMethodV: jni.o;
|
||||
text: .text%__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_: jni.o;
|
||||
text: .text%__1cMLinkResolverbHlookup_instance_method_in_klasses6FrnMmethodHandle_nLKlassHandle_nMsymbolHandle_4pnGThread__v_;
|
||||
text: .text%jni_ExceptionCheck: jni.o;
|
||||
text: .text%jni_NewString: jni.o;
|
||||
text: .text%__1cQjava_lang_StringXcreate_oop_from_unicode6FpHipnGThread__pnHoopDesc__;
|
||||
text: .text%JVM_InitProperties;
|
||||
text: .text%__1cMset_property6FnGHandle_pkc2pnGThread__v_: jvm.o;
|
||||
text: .text%__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_533pnGThread__v_;
|
||||
text: .text%__1cYNoJvmtiVMObjectAllocMark2t6M_v_;
|
||||
text: .text%__1cYNoJvmtiVMObjectAllocMark2T6M_v_;
|
||||
@@ -1394,7 +1336,6 @@ text: .text%__1cRLowMemoryDetectorbLdetect_low_memory_for_collected_pools6F_v_:
|
||||
text: .text%jni_GetStringUTFLength: jni.o;
|
||||
text: .text%__1cQjava_lang_StringLutf8_length6FpnHoopDesc__i_;
|
||||
text: .text%jni_GetStringLength: jni.o;
|
||||
text: .text%__1cQjava_lang_StringGlength6FpnHoopDesc__i_;
|
||||
text: .text%jni_GetStringUTFRegion: jni.o;
|
||||
text: .text%__1cQjava_lang_StringOas_utf8_string6FpnHoopDesc_ii_pc_;
|
||||
text: .text%JVM_FindClassFromClassLoader;
|
||||
@@ -1445,13 +1386,9 @@ text: .text%Unsafe_FreeMemory;
|
||||
text: .text%__1cNSignatureInfoIdo_float6M_v_: bytecode.o;
|
||||
text: .text%__1cFJNIidEfind6Mi_p0_;
|
||||
text: .text%jni_NewObjectV: jni.o;
|
||||
text: .text%__1cMalloc_object6FpnH_jclass_pnGThread__pnPinstanceOopDesc__: jni.o;
|
||||
text: .text%jni_GetStringRegion: jni.o;
|
||||
text: .text%__1cQjava_lang_StringGoffset6FpnHoopDesc__i_;
|
||||
text: .text%__1cQjava_lang_StringFvalue6FpnHoopDesc__pnQtypeArrayOopDesc__;
|
||||
text: .text%jni_GetObjectField: jni.o;
|
||||
text: .text%jni_GetStringCritical: jni.o;
|
||||
text: .text%__1cJGC_lockerNlock_critical6FpnKJavaThread__v_: jni.o;
|
||||
text: .text%jni_ReleaseStringCritical: jni.o;
|
||||
text: .text%JVM_LoadLibrary;
|
||||
text: .text%JVM_FindLibraryEntry;
|
||||
@@ -1496,10 +1433,7 @@ text: .text%__1cNobjArrayKlassIallocate6MipnGThread__pnPobjArrayOopDesc__;
|
||||
text: .text%jni_SetObjectArrayElement: jni.o;
|
||||
text: .text%jni_GetObjectArrayElement: jni.o;
|
||||
text: .text%__1cQSimpleCompPolicyXmethod_invocation_event6MnMmethodHandle_pnGThread__v_;
|
||||
text: .text%__1cRCompilationPolicybIreset_counter_for_invocation_event6MnMmethodHandle__v_;
|
||||
text: .text%__1cRInvocationCounterJset_carry6M_v_;
|
||||
text: .text%__1cNCompileBrokerOcompile_method6FnMmethodHandle_i1ipkcpnGThread__pnHnmethod__;
|
||||
text: .text%__1cQSimpleCompPolicyRcompilation_level6MnMmethodHandle_i_i_;
|
||||
text: .text%__1cNobjArrayKlassKcopy_array6MpnMarrayOopDesc_i2iipnGThread__v_;
|
||||
text: .text%__1cLJvmtiExportQenter_live_phase6F_v_;
|
||||
text: .text%__1cLJvmtiExportTpost_vm_initialized6F_v_;
|
||||
@@ -1512,7 +1446,6 @@ text: .text%__1cJJavaCallsMcall_special6FpnJJavaValue_nGHandle_nLKlassHandle_nMs
|
||||
text: .text%__1cCosOsignal_init_pd6F_v_;
|
||||
text: .text%__1cQjava_lang_ThreadKset_daemon6FpnHoopDesc__v_;
|
||||
text: .text%__1cICompiler2t6M_v_;
|
||||
text: .text%__1cNCompileBrokerVinit_compiler_threads6Fi_v_;
|
||||
text: .text%__1cQCompilerCounters2t6MpkcipnGThread__v_;
|
||||
text: .text%__1cNCompileBrokerUmake_compiler_thread6FpkcpnMCompileQdDueue_pnQCompilerCounters_pnGThread__pnOCompilerThread__;
|
||||
text: .text%__1cOCompilerThread2t6MpnMCompileQdDueue_pnQCompilerCounters__v_;
|
||||
@@ -1570,10 +1503,7 @@ text: .text%__1cTjava_lang_ThrowableTfill_in_stack_trace6FnGHandle_pnGThread__v_
|
||||
text: .text%__1cTjava_lang_ThrowableNset_backtrace6FpnHoopDesc_2_v_;
|
||||
text: .text%__1cTjava_lang_ThrowableQclear_stacktrace6FpnHoopDesc__v_;
|
||||
text: .text%__1cVPreserveExceptionMark2T6M_v_;
|
||||
text: .text%__1cKExceptionsG_throw6FpnGThread_pkcinGHandle__v_;
|
||||
text: .text%__1cSInterpreterRuntimeXthrow_pending_exception6FpnKJavaThread__v_;
|
||||
text: .text%__1cNSharedRuntimebKexception_handler_for_return_address6FpC_1_;
|
||||
text: .text%__1cNSharedRuntimebOraw_exception_handler_for_return_address6FpC_1_;
|
||||
text: .text%__1cSInterpreterRuntimebFexception_handler_for_exception6FpnKJavaThread_pnHoopDesc__pC_;
|
||||
text: .text%__1cNmethodOopDescbEfast_exception_handler_bci_for6MnLKlassHandle_ipnGThread__i_;
|
||||
text: .text%__1cSInterpreterRuntimePset_bcp_and_mdp6FpCpnKJavaThread__v_;
|
||||
@@ -1588,7 +1518,6 @@ text: .text%__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_;
|
||||
text: .text%__1cNCompileBrokerVpush_jni_handle_block6F_v_;
|
||||
text: .text%__1cPciObjectFactory2t6MpnFArena_i_v_;
|
||||
text: .text%__1cPciObjectFactoryTinit_shared_objects6M_v_;
|
||||
text: .text%__1cIciSymbol2t6MnMsymbolHandle__v_;
|
||||
text: .text%__1cIciObject2t6MnGHandle__v_;
|
||||
text: .text%__1cPciObjectFactoryEfind6MpnHoopDesc_pnNGrowableArray4CpnIciObject____i_;
|
||||
text: .text%__1cPciObjectFactoryNinit_ident_of6MpnIciObject__v_;
|
||||
@@ -1675,14 +1604,12 @@ text: .text%__1cOGenerateOopMapYrewrite_refval_conflicts6M_v_;
|
||||
text: .text%__1cOGenerateOopMapNreport_result6M_v_;
|
||||
text: .text%__1cLCompilationJbuild_hir6M_v_;
|
||||
text: .text%__1cCIR2t6MpnLCompilation_pnIciMethod_i_v_;
|
||||
text: .text%__1cJValueTypeKinitialize6F_v_;
|
||||
text: .text%__1cMciNullObjectEmake6F_p0_;
|
||||
text: .text%__1cMGraphBuilderKinitialize6F_v_;
|
||||
text: .text%__1cJXHandlers2t6MpnIciMethod__v_;
|
||||
text: .text%__1cIciMethodJload_code6M_v_;
|
||||
text: .text%__1cHIRScopeLbuild_graph6MpnLCompilation_i_pnKBlockBegin__;
|
||||
text: .text%__1cQBlockListBuilderLset_leaders6M_v_;
|
||||
text: .text%__1cKValueStack2t6MpnHIRScope_ii_v_;
|
||||
text: .text%__1cMGraphBuilderPpush_root_scope6MpnHIRScope_pnJBlockList_pnKBlockBegin__v_;
|
||||
text: .text%__1cMGraphBuilderJScopeDataJset_scope6MpnHIRScope__v_;
|
||||
text: .text%__1cIValueMap2t6M_v_;
|
||||
@@ -1690,7 +1617,6 @@ text: .text%__1cMGraphBuilderJScopeDataQadd_to_work_list6MpnKBlockBegin__v_;
|
||||
text: .text%__1cNResourceArrayGexpand6MIiri_v_;
|
||||
text: .text%__1cMGraphBuilderJScopeDataVremove_from_work_list6M_pnKBlockBegin__;
|
||||
text: .text%__1cIValueMapIkill_all6M_v_;
|
||||
text: .text%__1cKValueStackEcopy6M_p0_;
|
||||
text: .text%__1cGValuesIpush_all6Mpk0_v_: c1_ValueStack.o;
|
||||
text: .text%__1cMGraphBuilderbBiterate_bytecodes_for_block6Mi_pnIBlockEnd__;
|
||||
text: .text%__1cMGraphBuilderJScopeDataIblock_at6Mi_pnKBlockBegin__;
|
||||
@@ -1709,8 +1635,6 @@ text: .text%__1cHciFieldPinitialize_from6MpnPfieldDescriptor__v_;
|
||||
text: .text%__1cMas_ValueType6FnJBasicType__pnJValueType__;
|
||||
text: .text%__1cMLinkResolverXresolve_klass_no_update6FrnLKlassHandle_nSconstantPoolHandle_ipnGThread__v_;
|
||||
text: .text%__1cTconstantPoolOopDescbCklass_ref_at_if_loaded_check6FnSconstantPoolHandle_ipnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cMGraphBuilderKlock_stack6M_pnKValueStack__;
|
||||
text: .text%__1cKValueStackKcopy_locks6M_p0_;
|
||||
text: .text%__1cJLoadFieldFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerMdo_LoadField6MpnJLoadField__v_;
|
||||
text: .text%__1cJLoadFieldEhash6kM_i_: c1_Instruction.o;
|
||||
@@ -1738,7 +1662,6 @@ text: .text%__1cMGraphBuilderNmethod_return6MpnLInstruction__v_;
|
||||
text: .text%__1cGReturnFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerJdo_Return6MpnGReturn__v_;
|
||||
text: .text%__1cGReturnJas_Return6M_p0_: c1_GraphBuilder.o;
|
||||
text: .text%__1cKValueStackMcaller_state6kM_p0_;
|
||||
text: .text%__1cQSystemDictionarybOfind_constrained_instance_or_array_klass6FnMsymbolHandle_nGHandle_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cMGraphBuilderHif_same6MpnJValueType_nLInstructionJCondition__v_;
|
||||
text: .text%__1cNCanonicalizerNdo_StoreField6MpnKStoreField__v_;
|
||||
@@ -1781,24 +1704,17 @@ text: .text%__1cTNullCheckEliminatorLiterate_one6MpnKBlockBegin__v_;
|
||||
text: .text%__1cGBitMapIset_from6M0_v_;
|
||||
text: .text%__1cQNullCheckVisitorNdo_BlockBegin6MpnKBlockBegin__v_;
|
||||
text: .text%__1cQNullCheckVisitorHdo_Base6MpnEBase__v_;
|
||||
text: .text%__1cKStateSplitPinput_values_do6MpFppnLInstruction__v_v_: c1_Canonicalizer.o;
|
||||
text: .text%__1cQNullCheckVisitorHdo_Goto6MpnEGoto__v_;
|
||||
text: .text%__1cTNullCheckEliminatorIdo_value6FppnLInstruction__v_;
|
||||
text: .text%__1cFLocalPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cFLocalFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorIdo_Local6MpnFLocal__v_;
|
||||
text: .text%__1cLAccessFieldPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorMdo_LoadField6MpnJLoadField__v_;
|
||||
text: .text%__1cTNullCheckEliminatorShandle_AccessField6MpnLAccessField__v_;
|
||||
text: .text%__1cCIfPinput_values_do6MpFppnLInstruction__v_v_: c1_Canonicalizer.o;
|
||||
text: .text%__1cIConstantPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorLdo_Constant6MpnIConstant__v_;
|
||||
text: .text%__1cQNullCheckVisitorFdo_If6MpnCIf__v_;
|
||||
text: .text%__1cQNullCheckVisitorPdo_ArithmeticOp6MpnMArithmeticOp__v_;
|
||||
text: .text%__1cQNullCheckVisitorOdo_LoadIndexed6MpnLLoadIndexed__v_;
|
||||
text: .text%__1cTNullCheckEliminatorShandle_LoadIndexed6MpnLLoadIndexed__v_;
|
||||
text: .text%__1cQNullCheckVisitorNdo_StoreField6MpnKStoreField__v_;
|
||||
text: .text%__1cGReturnPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorJdo_Return6MpnGReturn__v_;
|
||||
text: .text%__1cGBitMapQset_intersection6M0_v_;
|
||||
text: .text%__1cLInstructionJas_Invoke6M_pnGInvoke__: c1_Canonicalizer.o;
|
||||
@@ -1811,11 +1727,7 @@ text: .text%__1cKStateSplitFscope6kM_pnHIRScope__;
|
||||
text: .text%__1cIBlockEndOsubstitute_sux6MpnKBlockBegin_2_v_;
|
||||
text: .text%__1cCIRMcompute_code6M_v_;
|
||||
text: .text%__1cJBlockListJblocks_do6MpFpnKBlockBegin__v_v_;
|
||||
text: .text%__1cQUseCountComputerXbasic_compute_use_count6FpnKBlockBegin__v_: c1_IR.o;
|
||||
text: .text%__1cQUseCountComputerQupdate_use_count6FppnLInstruction__v_: c1_IR.o;
|
||||
text: .text%__1cFLocalIas_Local6M_p0_: c1_GraphBuilder.o;
|
||||
text: .text%__1cKStateSplitPstate_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cKValueStackJvalues_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cLCompilationIemit_lir6M_v_;
|
||||
text: .text%__1cLInstructionGas_Phi6M_pnDPhi__: c1_Canonicalizer.o;
|
||||
text: .text%__1cMas_BasicType6FpnJValueType__nJBasicType__;
|
||||
@@ -1888,14 +1800,11 @@ text: .text%__1cLOopRecorderIoop_size6M_i_;
|
||||
text: .text%__1cYDebugInformationRecorderIpcs_size6M_i_;
|
||||
text: .text%__1cYDebugInformationRecorderJdata_size6M_i_;
|
||||
text: .text%__1cHnmethod2n6FIi_pv_;
|
||||
text: .text%__1cHnmFlagsFclear6M_v_;
|
||||
text: .text%__1cYDebugInformationRecorderHcopy_to6MpnHnmethod__v_;
|
||||
text: .text%__1cLOopRecorderHcopy_to6MpnICodeBlob__v_;
|
||||
text: .text%__1cIUniverseMnon_oop_word6F_pv_;
|
||||
text: .text%__1cHnmethodQcopy_scopes_data6MpCi_v_;
|
||||
text: .text%__1cGPcDesc2t6Miii_v_;
|
||||
text: .text%__1cJCodeCacheGcommit6FpnICodeBlob__v_;
|
||||
text: .text%__1cFVTuneOcreate_nmethod6FpnHnmethod__v_;
|
||||
text: .text%__1cWImplicitExceptionTableHcopy_to6MpnHnmethod__v_;
|
||||
text: .text%__1cKNativeJumpbEcheck_verified_entry_alignment6FpC1_v_;
|
||||
text: .text%__1cFciEnvKcompile_id6M_I_;
|
||||
@@ -1938,8 +1847,6 @@ text: .text%__1cNCanonicalizerOdo_NewInstance6MpnLNewInstance__v_;
|
||||
text: .text%__1cKValueStackMclear_locals6M_v_;
|
||||
text: .text%__1cMGraphBuilderIstack_op6MnJBytecodesECode__v_;
|
||||
text: .text%__1cMGraphBuilderGinvoke6MnJBytecodesECode__v_;
|
||||
text: .text%__1cFciEnvTget_method_by_index6MpnPciInstanceKlass_inJBytecodesECode__pnIciMethod__;
|
||||
text: .text%__1cFciEnvYget_method_by_index_impl6MpnPciInstanceKlass_inJBytecodesECode__pnIciMethod__;
|
||||
text: .text%__1cFciEnvbTget_instance_klass_for_declared_method_holder6FpnHciKlass__pnPciInstanceKlass__;
|
||||
text: .text%__1cPciObjectFactoryTget_unloaded_method6MpnPciInstanceKlass_pnIciSymbol_4_pnIciMethod__;
|
||||
text: .text%__1cIciMethod2t6MpnPciInstanceKlass_pnIciSymbol_4_v_;
|
||||
@@ -1951,18 +1858,13 @@ text: .text%__1cKValueStackNpop_arguments6Mi_pnGValues__;
|
||||
text: .text%__1cGInvokeFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerJdo_Invoke6MpnGInvoke__v_;
|
||||
text: .text%__1cGInvokeJas_Invoke6M_p0_: c1_Instruction.o;
|
||||
text: .text%__1cFThrowFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerIdo_Throw6MpnFThrow__v_;
|
||||
text: .text%__1cFThrowIas_Throw6M_p0_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorOdo_NewInstance6MpnLNewInstance__v_;
|
||||
text: .text%__1cTNullCheckEliminatorShandle_NewInstance6MpnLNewInstance__v_;
|
||||
text: .text%__1cGInvokePinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorJdo_Invoke6MpnGInvoke__v_;
|
||||
text: .text%__1cTNullCheckEliminatorNhandle_Invoke6MpnGInvoke__v_;
|
||||
text: .text%__1cFThrowPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorIdo_Throw6MpnFThrow__v_;
|
||||
text: .text%__1cLInstructionGnegate6Fn0AJCondition__1_;
|
||||
text: .text%__1cFThrowPstate_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cIVoidTypeLas_VoidType6M_p0_: c1_ValueType.o;
|
||||
text: .text%__1cLNewInstanceKexact_type6kM_pnGciType__;
|
||||
text: .text%__1cLNewInstanceOas_NewInstance6M_p0_: c1_Instruction.o;
|
||||
@@ -1975,7 +1877,6 @@ text: .text%__1cPNewInstanceStubEinfo6kM_pnMCodeEmitInfo__: c1_CodeStubs_x86.o;
|
||||
text: .text%__1cNLIR_AssemblerJemit_call6MpnOLIR_OpJavaCall__v_;
|
||||
text: .text%__1cNLIR_AssemblerKalign_call6MnILIR_Code__v_;
|
||||
text: .text%__1cICodeStubEinfo6kM_pnMCodeEmitInfo__: c1_CodeStubs_x86.o;
|
||||
text: .text%__1cNLIR_AssemblerEcall6MpCnJrelocInfoJrelocType_pnMCodeEmitInfo__v_;
|
||||
text: .text%__1cbBopt_virtual_call_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cYinternal_word_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cJrelocInfoKset_format6Mi_v_;
|
||||
@@ -2021,9 +1922,6 @@ text: .text%__1cMGraphBuilderUclear_inline_bailout6M_v_;
|
||||
text: .text%__1cMGraphBuilderWrecursive_inline_level6kMpnIciMethod__i_;
|
||||
text: .text%__1cPciObjectFactoryMvm_symbol_at6Fi_pnIciSymbol__;
|
||||
text: .text%__1cNCanonicalizerMdo_NullCheck6MpnJNullCheck__v_;
|
||||
text: .text%__1cKValueStackKpush_scope6MpnHIRScope__p0_;
|
||||
text: .text%__1cHIRScopeXcompute_lock_stack_size6M_v_;
|
||||
text: .text%__1cMGraphBuilderJScopeDataRcaller_stack_size6kM_i_;
|
||||
text: .text%__1cMGraphBuilderJScopeDataLnum_returns6M_i_;
|
||||
text: .text%__1cMGraphBuilderJScopeDataXset_inline_cleanup_info6MpnKBlockBegin_pnLInstruction_pnKValueStack__v_;
|
||||
text: .text%__1cMGraphBuilderJScopeDataQincr_num_returns6M_v_;
|
||||
@@ -2033,12 +1931,8 @@ text: .text%__1cFciEnvVnotice_inlined_method6MpnIciMethod__v_;
|
||||
text: .text%__1cMLinkResolverbCresolve_special_call_or_null6FnLKlassHandle_nMsymbolHandle_21_nMmethodHandle__;
|
||||
text: .text%__1cMGraphBuilderOinline_bailout6Mpkc_v_;
|
||||
text: .text%__1cLInstructionEprev6MpnKBlockBegin__p0_;
|
||||
text: .text%__1cKBlockBeginPblock_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cIConstantPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cIBlockEndPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cQNullCheckVisitorMdo_NullCheck6MpnJNullCheck__v_;
|
||||
text: .text%__1cTNullCheckEliminatorQhandle_NullCheck6MpnJNullCheck__v_;
|
||||
text: .text%__1cHIRScopeNtop_scope_bci6kM_i_;
|
||||
text: .text%__1cNSharedRuntimeQfind_callee_info6FpnKJavaThread_rnJBytecodesECode_rnICallInfo_pnGThread__nGHandle__;
|
||||
text: .text%__1cGPcDescHreal_pc6kMpknHnmethod__pC_;
|
||||
text: .text%__1cLPcDescCacheLadd_pc_desc6MpnGPcDesc__v_;
|
||||
@@ -2055,14 +1949,11 @@ text: .text%__1cKNativeCallXset_destination_mt_safe6MpC_v_;
|
||||
text: .text%__1cNmethodOopDescTverified_code_entry6M_pC_;
|
||||
text: .text%jni_GetByteArrayRegion: jni.o;
|
||||
text: .text%JVM_DefineClassWithSource;
|
||||
text: .text%__1cXjvm_define_class_common6FpnHJNIEnv__pkcpnI_jobject_pkWi53pnGThread__pnH_jclass__: jvm.o;
|
||||
text: .text%__1cQSystemDictionaryTresolve_from_stream6FnMsymbolHandle_nGHandle_2pnPClassFileStream_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cPClassFileParserbDverify_legal_method_signature6MnMsymbolHandle_1pnGThread__i_;
|
||||
text: .text%__1cPClassFileParserXverify_legal_class_name6MnMsymbolHandle_pnGThread__v_;
|
||||
text: .text%__1cQSystemDictionarybAvalidate_protection_domain6FnTinstanceKlassHandle_nGHandle_2pnGThread__v_;
|
||||
text: .text%__1cKDictionaryVadd_protection_domain6MiInTinstanceKlassHandle_nGHandle_2pnGThread__v_;
|
||||
text: .text%__1cPDictionaryEntryVadd_protection_domain6MpnHoopDesc__v_;
|
||||
text: .text%__1cUverify_byte_codes_fn6F_pv_: verifier.o;
|
||||
text: .text%JVM_GetClassCPEntriesCount;
|
||||
text: .text%JVM_GetClassCPTypes;
|
||||
text: .text%JVM_GetClassNameUTF;
|
||||
@@ -2124,7 +2015,6 @@ text: .text%__1cIOSThread2T6M_v_;
|
||||
text: .text%__1cIOSThreadKpd_destroy6M_v_;
|
||||
text: .text%jni_DestroyJavaVM;
|
||||
text: .text%jni_AttachCurrentThread;
|
||||
text: .text%attach_current_thread: jni.o;
|
||||
text: .text%__1cKJavaThreadVinvoke_shutdown_hooks6M_v_;
|
||||
text: .text%__1cLbefore_exit6FpnKJavaThread__v_;
|
||||
text: .text%__1cNWatcherThreadEstop6F_v_;
|
||||
@@ -2139,7 +2029,6 @@ text: .text%__1cCosXterminate_signal_thread6F_v_;
|
||||
text: .text%__1cCosNsigexitnum_pd6F_i_;
|
||||
text: .text%__1cCosNsignal_notify6Fi_v_;
|
||||
text: .text%__1cQprint_statistics6F_v_;
|
||||
text: .text%__1cFVTuneEexit6F_v_;
|
||||
text: .text%__1cIVMThreadXwait_for_vm_thread_exit6F_v_;
|
||||
text: .text%__1cUSafepointSynchronizeFbegin6F_v_;
|
||||
text: .text%__1cORuntimeServiceWrecord_safepoint_begin6F_v_;
|
||||
@@ -2158,7 +2047,6 @@ text: .text%__1cQSystemDictionaryRnumber_of_classes6F_i_;
|
||||
text: .text%__1cQSystemDictionaryStry_get_next_class6F_pnMklassOopDesc__;
|
||||
text: .text%__1cKDictionaryStry_get_next_class6M_pnMklassOopDesc__;
|
||||
text: .text%__1cNinstanceKlassKmethods_do6MpFpnNmethodOopDesc__v_v_;
|
||||
text: .text%__1cONMethodSweeperFsweep6F_v_;
|
||||
text: .text%__1cNCompileBrokerQset_should_block6F_v_;
|
||||
text: .text%__1cHVM_ExitbJwait_for_threads_in_native_to_block6F_i_;
|
||||
text: .text%__1cIVMThreadHdestroy6F_v_;
|
||||
@@ -2171,8 +2059,6 @@ text: .text%__1cPPerfDataManagerHdestroy6F_v_;
|
||||
text: .text%__1cIPerfData2T6M_v_;
|
||||
text: .text%__1cKPerfMemoryHdestroy6F_v_;
|
||||
text: .text%__1cKPerfMemoryUdelete_memory_region6F_v_;
|
||||
text: .text%__1cUdelete_shared_memory6FpcI_v_: perfMemory_solaris.o;
|
||||
text: .text%__1cLremove_file6Fpkc_v_: perfMemory_solaris.o;
|
||||
text: .text%__1cMostream_exit6F_v_;
|
||||
text: .text%__SLIP.DELETER__C: ostream.o;
|
||||
text: .text%JVM_Halt;
|
||||
@@ -2206,14 +2092,10 @@ text: .text%jni_IsAssignableFrom: jni.o;
|
||||
text: .text%__1cOGenerateOopMapGdo_ldc6Mii_v_;
|
||||
text: .text%__1cQComputeCallStackIdo_array6Mii_v_: generateOopMap.o;
|
||||
text: .text%__1cMGraphBuilderNload_constant6M_v_;
|
||||
text: .text%__1cQciBytecodeStreamSget_constant_index6kM_i_;
|
||||
text: .text%__1cFciEnvVget_constant_by_index6MpnPciInstanceKlass_i_nKciConstant__;
|
||||
text: .text%__1cFciEnvbAget_constant_by_index_impl6MpnPciInstanceKlass_i_nKciConstant__;
|
||||
text: .text%__1cMLinkResolverbBresolve_static_call_or_null6FnLKlassHandle_nMsymbolHandle_21_nMmethodHandle__;
|
||||
text: .text%__1cJValueTypeLas_VoidType6M_pnIVoidType__: c1_Canonicalizer.o;
|
||||
text: .text%__1cWstatic_call_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cRComputeEntryStackIdo_array6Mii_v_: generateOopMap.o;
|
||||
text: .text%__1cEIfOpPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cEIfOpFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorHdo_IfOp6MpnEIfOp__v_;
|
||||
text: .text%__1cOGenerateOopMapMdo_checkcast6M_v_;
|
||||
@@ -2223,12 +2105,10 @@ text: .text%__1cNCanonicalizerNdo_InstanceOf6MpnKInstanceOf__v_;
|
||||
text: .text%__1cKInstanceOfNas_InstanceOf6M_p0_: c1_GraphBuilder.o;
|
||||
text: .text%__1cMGraphBuilderKcheck_cast6Mi_v_;
|
||||
text: .text%__1cNCanonicalizerMdo_CheckCast6MpnJCheckCast__v_;
|
||||
text: .text%__1cJTypeCheckPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorNdo_InstanceOf6MpnKInstanceOf__v_;
|
||||
text: .text%__1cQNullCheckVisitorMdo_CheckCast6MpnJCheckCast__v_;
|
||||
text: .text%__1cTSimpleExceptionStubFvisit6MpnQLIR_OpVisitState__v_: c1_CodeStubs_x86.o;
|
||||
text: .text%__1cNLIR_AssemblerQemit_opTypeCheck6MpnPLIR_OpTypeCheck__v_;
|
||||
text: .text%__1cIciObjectIencoding6M_pnI_jobject__;
|
||||
text: .text%__1cTSimpleExceptionStubEinfo6kM_pnMCodeEmitInfo__: c1_CodeStubs_x86.o;
|
||||
text: .text%__1cTSimpleExceptionStubJemit_code6MpnNLIR_Assembler__v_;
|
||||
text: .text%__1cJLoadFieldMas_LoadField6M_p0_: c1_Instruction.o;
|
||||
@@ -2266,8 +2146,6 @@ text: .text%__1cHConvertEname6kM_pkc_: c1_GraphBuilder.o;
|
||||
text: .text%__1cMGraphBuilderNstore_indexed6MnJBasicType__v_;
|
||||
text: .text%__1cIValueMapKkill_array6MpnJValueType__v_;
|
||||
text: .text%__1cNCanonicalizerPdo_StoreIndexed6MpnMStoreIndexed__v_;
|
||||
text: .text%__1cLAccessFieldPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cHConvertPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorKdo_LogicOp6MpnHLogicOp__v_;
|
||||
text: .text%__1cQNullCheckVisitorKdo_Convert6MpnHConvert__v_;
|
||||
text: .text%__1cQNullCheckVisitorPdo_StoreIndexed6MpnMStoreIndexed__v_;
|
||||
@@ -2294,10 +2172,8 @@ text: .text%__1cMGraphBuilderOnew_type_array6M_v_;
|
||||
text: .text%__1cMNewTypeArrayFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerPdo_NewTypeArray6MpnMNewTypeArray__v_;
|
||||
text: .text%__1cNCanonicalizerMdo_Intrinsic6MpnJIntrinsic__v_;
|
||||
text: .text%__1cLAccessArrayPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorOdo_ArrayLength6MpnLArrayLength__v_;
|
||||
text: .text%__1cTNullCheckEliminatorShandle_ArrayLength6MpnLArrayLength__v_;
|
||||
text: .text%__1cINewArrayPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorPdo_NewTypeArray6MpnMNewTypeArray__v_;
|
||||
text: .text%__1cTNullCheckEliminatorPhandle_NewArray6MpnINewArray__v_;
|
||||
text: .text%__1cQNullCheckVisitorMdo_Intrinsic6MpnJIntrinsic__v_;
|
||||
@@ -2309,7 +2185,6 @@ text: .text%__1cMNewTypeArrayKexact_type6kM_pnGciType__;
|
||||
text: .text%__1cLArrayLengthOas_ArrayLength6M_p0_: c1_GraphBuilder.o;
|
||||
text: .text%__1cILIR_ListUunsigned_shift_right6MpnLLIR_OprDesc_222_v_;
|
||||
text: .text%__1cQNewTypeArrayStubFvisit6MpnQLIR_OpVisitState__v_: c1_CodeStubs_x86.o;
|
||||
text: .text%__1cNLIR_AssemblerHic_call6MpCpnMCodeEmitInfo__v_;
|
||||
text: .text%__1cXvirtual_call_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cNLIR_AssemblerQemit_alloc_array6MpnQLIR_OpAllocArray__v_;
|
||||
text: .text%__1cNLIR_AssemblerSarray_element_size6kMnJBasicType__nHAddressLScaleFactor__;
|
||||
@@ -2335,8 +2210,6 @@ text: .text%__1cRInlineCacheBufferLnew_ic_stub6F_pnGICStub__;
|
||||
text: .text%JVM_NewArray;
|
||||
text: .text%__1cKReflectionRreflect_new_array6FpnHoopDesc_ipnGThread__pnMarrayOopDesc__;
|
||||
text: .text%__1cSInterpreterRuntimeOmultianewarray6FpnKJavaThread_pi_v_;
|
||||
text: .text%__1cNinstanceKlassSlookup_osr_nmethod6kMkpnNmethodOopDesc_i_pnHnmethod__;
|
||||
text: .text%__1cQSimpleCompPolicyYmethod_back_branch_event6MnMmethodHandle_iipnGThread__v_;
|
||||
text: .text%__1cMGraphBuilderQnew_object_array6M_v_;
|
||||
text: .text%__1cONewObjectArrayFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerRdo_NewObjectArray6MpnONewObjectArray__v_;
|
||||
@@ -2349,7 +2222,6 @@ text: .text%__1cHShiftOpEhash6kM_i_: c1_GraphBuilder.o;
|
||||
text: .text%__1cHShiftOpEname6kM_pkc_: c1_GraphBuilder.o;
|
||||
text: .text%__1cLLoadIndexedOas_LoadIndexed6M_p0_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorRdo_NewObjectArray6MpnONewObjectArray__v_;
|
||||
text: .text%__1cDOp2Pinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorKdo_ShiftOp6MpnHShiftOp__v_;
|
||||
text: .text%__1cHciKlassMaccess_flags6M_i_;
|
||||
text: .text%__1cPciObjArrayKlassEmake6FpnHciKlass__p0_;
|
||||
@@ -2413,7 +2285,6 @@ text: .text%__1cQDefNewGenerationTallocate_from_space6MI_pnIHeapWord__;
|
||||
text: .text%__1cPVM_GC_OperationZacquire_pending_list_lock6M_v_;
|
||||
text: .text%__1cQinstanceRefKlassZacquire_pending_list_lock6FpnJBasicLock__v_;
|
||||
text: .text%__1cbAVM_GenCollectForAllocationEdoit6M_v_;
|
||||
text: .text%__1cPGCMemoryManagerIgc_begin6M_v_;
|
||||
text: .text%__1cKManagementJtimestamp6F_x_;
|
||||
text: .text%__1cTContiguousSpacePoolQget_memory_usage6M_nLMemoryUsage__;
|
||||
text: .text%__1cTContiguousSpacePoolNused_in_bytes6M_I_: memoryPool.o;
|
||||
@@ -2441,11 +2312,7 @@ text: .text%__1cKSharedHeapbAchange_strong_roots_parity6M_v_;
|
||||
text: .text%__1cPFastScanClosureGdo_oop6MppnHoopDesc__v_: defNewGeneration.o;
|
||||
text: .text%__1cKJNIHandlesHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cOJNIHandleBlockHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cHThreadsHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cKJavaThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cGThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cKHandleAreaHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cNchunk_oops_do6FpnKOopClosure_pnFChunk_pc_I_: handles.o;
|
||||
text: .text%__1cFframeVinterpreter_frame_bci6kM_i_;
|
||||
text: .text%__1cFframebDinterpreter_frame_monitor_end6kM_pnPBasicObjectLock__;
|
||||
text: .text%__1cFframebFinterpreter_frame_monitor_begin6kM_pnPBasicObjectLock__;
|
||||
@@ -2483,7 +2350,6 @@ text: .text%__1cQComputeCallStackHdo_long6M_v_: generateOopMap.o;
|
||||
text: .text%__1cOGenerateOopMapOdo_monitorexit6Mi_v_;
|
||||
text: .text%__1cOGenerateOopMapLmonitor_pop6M_nNCellTypeState__;
|
||||
text: .text%__1cRComputeEntryStackHdo_long6M_v_: generateOopMap.o;
|
||||
text: .text%__1cIVMThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cQVMOperationQdDueueHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cQVMOperationQdDueueNqueue_oops_do6MipnKOopClosure__v_;
|
||||
text: .text%__1cSObjectSynchronizerHoops_do6FpnKOopClosure__v_;
|
||||
@@ -2584,7 +2450,6 @@ text: .text%__1cUGenGCEpilogueClosureNdo_generation6MpnKGeneration__v_: genColle
|
||||
text: .text%__1cRTenuredGenerationPupdate_counters6M_v_;
|
||||
text: .text%__1cUCompactingPermGenGenPupdate_counters6M_v_;
|
||||
text: .text%__1cXTraceMemoryManagerStats2T6M_v_;
|
||||
text: .text%__1cPGCMemoryManagerGgc_end6M_v_;
|
||||
text: .text%__1cRLowMemoryDetectorWdetect_after_gc_memory6FpnKMemoryPool__v_;
|
||||
text: .text%__1cNJvmtiGCMarker2T6M_v_;
|
||||
text: .text%__1cPVM_GC_OperationNdoit_epilogue6M_v_;
|
||||
@@ -2597,7 +2462,6 @@ text: .text%jni_PopLocalFrame: jni.o;
|
||||
text: .text%__1cMGraphBuilderJnegate_op6MpnJValueType__v_;
|
||||
text: .text%__1cINegateOpFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerLdo_NegateOp6MpnINegateOp__v_;
|
||||
text: .text%__1cINegateOpPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorLdo_NegateOp6MpnINegateOp__v_;
|
||||
text: .text%__1cILIR_ListLstore_check6MpnLLIR_OprDesc_2222pnMCodeEmitInfo__v_;
|
||||
text: .text%__1cXArrayStoreExceptionStub2t6MpnMCodeEmitInfo__v_;
|
||||
@@ -2637,7 +2501,6 @@ text: .text%__1cYjava_lang_reflect_MethodLreturn_type6FpnHoopDesc__2_;
|
||||
text: .text%JVM_IsInterrupted;
|
||||
text: .text%__1cTresource_free_bytes6FpcI_v_;
|
||||
text: .text%__1cRComputeEntryStackHdo_bool6M_v_: generateOopMap.o;
|
||||
text: .text%__1cMArithmeticOpKlock_stack6kM_pnKValueStack__: c1_Instruction.o;
|
||||
text: .text%__1cJAssemblerGfist_s6MnHAddress__v_;
|
||||
text: .text%__1cNLIR_AssemblerJreset_FPU6M_v_;
|
||||
text: .text%__1cNLIR_AssemblerIemit_op36MpnHLIR_Op3__v_;
|
||||
@@ -2659,7 +2522,6 @@ text: .text%__1cUBytecode_tableswitchOdest_offset_at6kMi_i_;
|
||||
text: .text%__1cMGraphBuilderMtable_switch6M_v_;
|
||||
text: .text%__1cLTableSwitchFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerOdo_TableSwitch6MpnLTableSwitch__v_;
|
||||
text: .text%__1cGSwitchPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorOdo_TableSwitch6MpnLTableSwitch__v_;
|
||||
text: .text%__1cWstatic_call_RelocationLstatic_stub6M_pC_;
|
||||
text: .text%__1cSCompiledStaticCallMset_to_clean6M_v_;
|
||||
@@ -2672,7 +2534,6 @@ text: .text%__1cNFingerprinterHdo_byte6M_v_: dump.o;
|
||||
text: .text%Unsafe_SetMemory;
|
||||
text: .text%__1cNSharedRuntimeElrem6Fxx_x_;
|
||||
text: .text%Unsafe_DefineClass1;
|
||||
text: .text%__1cSUnsafe_DefineClass6FpnHJNIEnv__pnI_jstring_pnL_jbyteArray_iipnI_jobject_7_pnH_jclass__: unsafe.o;
|
||||
text: .text%JVM_DefineClass;
|
||||
text: .text%__1cVLoaderConstraintTableYextend_loader_constraint6MpnVLoaderConstraintEntry_nGHandle_pnMklassOopDesc__v_;
|
||||
text: .text%__1cVLoaderConstraintTablebHensure_loader_constraint_capacity6MpnVLoaderConstraintEntry_i_v_;
|
||||
@@ -2680,7 +2541,6 @@ text: .text%__1cIRuntime1Tprimitive_arraycopy6FpnIHeapWord_2i_v_;
|
||||
text: .text%__1cRComputeEntryStackHdo_char6M_v_: generateOopMap.o;
|
||||
text: .text%jni_NewDirectByteBuffer;
|
||||
text: .text%lookupDirectBufferClasses: jni.o;
|
||||
text: .text%__1cJlookupOne6FpnHJNIEnv__pkcpnGThread__pnH_jclass__: jni.o;
|
||||
text: .text%__1cHJNIEnv_JNewObject6MpnH_jclass_pnK_jmethodID_E_pnI_jobject__: jni.o;
|
||||
text: .text%jni_GetDoubleArrayRegion: jni.o;
|
||||
text: .text%__1cNSignatureInfoJdo_double6M_v_: bytecode.o;
|
||||
@@ -2701,7 +2561,6 @@ text: .text%JVM_GetCPFieldModifiers;
|
||||
text: .text%__1cPClassFileParserUverify_constantvalue6MiinSconstantPoolHandle_pnGThread__v_;
|
||||
text: .text%JVM_MonitorNotify;
|
||||
text: .text%__1cSObjectSynchronizerGnotify6FnGHandle_pnGThread__v_;
|
||||
text: .text%__1cKValueStackElock6MpnHIRScope_pnLInstruction__i_;
|
||||
text: .text%__1cKValueStackGunlock6M_i_;
|
||||
text: .text%__1cQMonitorEnterStubFvisit6MpnQLIR_OpVisitState__v_: c1_CodeStubs_x86.o;
|
||||
text: .text%__1cNLIR_AssemblerJemit_lock6MpnKLIR_OpLock__v_;
|
||||
@@ -2726,8 +2585,6 @@ text: .text%__1cbCOneContigSpaceCardGenerationLused_region6kM_nJMemRegion__;
|
||||
text: .text%__1cMGenMarkSweepPallocate_stacks6F_v_;
|
||||
text: .text%__1cQGenCollectedHeapOgather_scratch6MpnKGeneration_I_pnMScratchBlock__;
|
||||
text: .text%__1cQDefNewGenerationScontribute_scratch6MrpnMScratchBlock_pnKGeneration_I_v_;
|
||||
text: .text%__1cRsort_scratch_list6FrpnMScratchBlock__v_: genCollectedHeap.o;
|
||||
text: .text%__1cVremoveSmallestScratch6FppnMScratchBlock__1_: genCollectedHeap.o;
|
||||
text: .text%__1cJMarkSweepRFollowRootClosureGdo_oop6MppnHoopDesc__v_: markSweep.o;
|
||||
text: .text%__1cParrayKlassKlassToop_follow_contents6MpnHoopDesc__v_;
|
||||
text: .text%__1cLklassVtableToop_follow_contents6M_v_;
|
||||
@@ -2784,12 +2641,6 @@ text: .text%__1cbCOneContigSpaceCardGenerationWfirst_compaction_space6kM_pnQComp
|
||||
text: .text%__1cMGenMarkSweepRmark_sweep_phase36Fi_v_;
|
||||
text: .text%__1cUCompactingPermGenGenTpre_adjust_pointers6M_v_;
|
||||
text: .text%__1cJMarkSweepUAdjustPointerClosureGdo_oop6MppnHoopDesc__v_: markSweep.o;
|
||||
text: .text%__1cJCodeCacheHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cKBufferBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cSDeoptimizationBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cLRuntimeStubHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cNSafepointBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cHnmethodHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cJHashtableHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cJMarkSweepMadjust_marks6F_v_;
|
||||
text: .text%__1cYGenAdjustPointersClosureNdo_generation6MpnKGeneration__v_: genMarkSweep.o;
|
||||
@@ -2840,7 +2691,6 @@ text: .text%Unsafe_CompareAndSwapObject;
|
||||
text: .text%__1cMLinkResolverbEvtable_index_of_miranda_method6FnLKlassHandle_nMsymbolHandle_2pnGThread__i_;
|
||||
text: .text%__1cLklassVtableQindex_of_miranda6MpnNsymbolOopDesc_2_i_;
|
||||
text: .text%__1cRPrivilegedElementHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cFframeRoops_code_blob_do6MpnKOopClosure_pknLRegisterMap__v_;
|
||||
text: .text%__1cMOopMapStream2t6MpnGOopMap_i_v_;
|
||||
text: .text%__1cQComputeCallStackIdo_float6M_v_: generateOopMap.o;
|
||||
text: .text%jni_DeleteWeakGlobalRef: jni.o;
|
||||
@@ -2849,7 +2699,6 @@ text: .text%JVM_IsSameClassPackage;
|
||||
text: .text%__1cNCanonicalizerPdo_MonitorEnter6MpnMMonitorEnter__v_;
|
||||
text: .text%__1cLMonitorExitFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerOdo_MonitorExit6MpnLMonitorExit__v_;
|
||||
text: .text%__1cNAccessMonitorPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorPdo_MonitorEnter6MpnMMonitorEnter__v_;
|
||||
text: .text%__1cTNullCheckEliminatorUhandle_AccessMonitor6MpnNAccessMonitor__v_;
|
||||
text: .text%__1cQNullCheckVisitorOdo_MonitorExit6MpnLMonitorExit__v_;
|
||||
@@ -2867,7 +2716,6 @@ text: .text%Unsafe_AllocateInstance;
|
||||
text: .text%jni_AllocObject: jni.o;
|
||||
text: .text%__1cQinstanceRefKlassUoop_oop_iterate_nv_m6MpnHoopDesc_pnQFilteringClosure_nJMemRegion__i_;
|
||||
text: .text%__1cNCanonicalizerMset_constant6Mi_v_: c1_Canonicalizer.o;
|
||||
text: .text%__1cJTypeCheckPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cNLIR_AssemblerMcheck_icache6M_i_;
|
||||
text: .text%__1cNLIR_AssemblerZjobject2reg_with_patching6MpnMRegisterImpl_pnMCodeEmitInfo__v_;
|
||||
text: .text%__1cIRuntime1Mnew_instance6FpnKJavaThread_pnMklassOopDesc__v_;
|
||||
@@ -2878,7 +2726,6 @@ text: .text%__1cNFloatConstantQas_FloatConstant6M_p0_: c1_Canonicalizer.o;
|
||||
text: .text%__1cJFloatTypeMas_FloatType6M_p0_: c1_Canonicalizer.o;
|
||||
text: .text%__1cRAbstractAssemblerGa_long6Mi_v_;
|
||||
text: .text%__1cNObjectMonitorGnotify6MpnGThread__v_;
|
||||
text: .text%__1cINewArrayPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cIRuntime1Mmonitorenter6FpnKJavaThread_pnHoopDesc_pnPBasicObjectLock__v_;
|
||||
text: .text%__1cIRuntime1Lmonitorexit6FpnKJavaThread_pnPBasicObjectLock__v_;
|
||||
text: .text%__1cNVM_DeoptimizeEdoit6M_v_;
|
||||
@@ -2887,14 +2734,8 @@ text: .text%__1cHThreadsbFdeoptimized_wrt_marked_nmethods6F_v_;
|
||||
text: .text%__1cKJavaThreadbFdeoptimized_wrt_marked_nmethods6M_v_;
|
||||
text: .text%__1cJCodeCachebGmake_marked_nmethods_not_entrant6F_v_;
|
||||
text: .text%__1cJCodeCacheNalive_nmethod6FpnICodeBlob__pnHnmethod__;
|
||||
text: .text%__1cHnmethodbAmake_not_entrant_or_zombie6Mi_v_;
|
||||
text: .text%__1cKNativeJumpUpatch_verified_entry6FpC11_v_;
|
||||
text: .text%__1cHnmethodVmark_as_seen_on_stack6M_v_;
|
||||
text: .text%__1cHThreadsLnmethods_do6F_v_;
|
||||
text: .text%__1cKJavaThreadLnmethods_do6M_v_;
|
||||
text: .text%__1cGThreadLnmethods_do6M_v_;
|
||||
text: .text%__1cFframeLnmethods_do6M_v_;
|
||||
text: .text%__1cFframeVnmethods_code_blob_do6M_v_;
|
||||
text: .text%__1cONMethodSweeperPprocess_nmethod6FpnHnmethod__v_;
|
||||
text: .text%__1cHnmethodVcleanup_inline_caches6M_v_;
|
||||
text: .text%__1cKCompiledIC2t6MpnKRelocation__v_;
|
||||
@@ -2902,14 +2743,9 @@ text: .text%JVM_HoldsLock;
|
||||
text: .text%__1cTMaskFillerForNativeIpass_int6M_v_: oopMapCache.o;
|
||||
text: .text%__1cNSharedRuntimeDf2l6Ff_x_;
|
||||
text: .text%__1cMGraphBuilderKcompare_op6MpnJValueType_nJBytecodesECode__v_;
|
||||
text: .text%__1cJCompareOpFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerMdo_CompareOp6MpnJCompareOp__v_;
|
||||
text: .text%__1cJCompareOpEhash6kM_i_: c1_Instruction.o;
|
||||
text: .text%__1cJCompareOpEname6kM_pkc_: c1_Instruction.o;
|
||||
text: .text%__1cJCompareOpMas_CompareOp6M_p0_: c1_Instruction.o;
|
||||
text: .text%__1cHnmethodSflush_dependencies6MpnRBoolObjectClosure__v_;
|
||||
text: .text%__1cNinstanceKlassYremove_dependent_nmethod6MpnHnmethod__v_;
|
||||
text: .text%__1cFVTuneOdelete_nmethod6FpnHnmethod__v_;
|
||||
text: .text%__1cQPlaceholderEntryHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cHnmethodFflush6M_v_;
|
||||
text: .text%__1cICodeBlobFflush6M_v_;
|
||||
@@ -2951,9 +2787,7 @@ text: .text%__1cNCanonicalizerPdo_UnsafeGetRaw6MpnMUnsafeGetRaw__v_;
|
||||
text: .text%__1cMGraphBuilderNlookup_switch6M_v_;
|
||||
text: .text%__1cMLookupSwitchFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerPdo_LookupSwitch6MpnMLookupSwitch__v_;
|
||||
text: .text%__1cMUnsafePutRawPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorPdo_UnsafePutRaw6MpnMUnsafePutRaw__v_;
|
||||
text: .text%__1cLUnsafeRawOpPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorPdo_UnsafeGetRaw6MpnMUnsafeGetRaw__v_;
|
||||
text: .text%__1cQNullCheckVisitorPdo_LookupSwitch6MpnMLookupSwitch__v_;
|
||||
text: .text%__1cNSharedRuntimeEldiv6Fxx_x_;
|
||||
|
||||
@@ -135,7 +135,6 @@ text: .text%__1cNThreadServiceEinit6F_v_;
|
||||
text: .text%__1cPPerfDataManagerTcreate_long_counter6FnJCounterNS_pkcnIPerfDataFUnits_xpnGThread__pnPPerfLongCounter__;
|
||||
text: .text%__1cORuntimeServiceEinit6F_v_;
|
||||
text: .text%__1cTClassLoadingServiceEinit6F_v_;
|
||||
text: .text%__1cKvtune_init6F_v_;
|
||||
text: .text%__1cObytecodes_init6F_v_;
|
||||
text: .text%__1cJBytecodesKinitialize6F_v_;
|
||||
text: .text%__1cJBytecodesNpd_initialize6F_v_;
|
||||
@@ -181,9 +180,7 @@ text: .text%__1cKMemoryPoolYrecord_peak_memory_usage6M_v_;
|
||||
text: .text%__1cMCodeHeapPoolQget_memory_usage6M_nLMemoryUsage__;
|
||||
text: .text%__1cMCodeHeapPoolNused_in_bytes6M_I_: memoryPool.o;
|
||||
text: .text%__1cICodeHeapSallocated_capacity6kM_I_;
|
||||
text: .text%__1cKMemoryPoolImax_size6kM_I_: memoryPool.o;
|
||||
text: .text%__1cXresource_allocate_bytes6FI_pc_;
|
||||
text: .text%__1cKCodeBuffer2t6MpCi_v_;
|
||||
text: .text%__1cRAbstractAssembler2t6MpnKCodeBuffer__v_;
|
||||
text: .text%__1cTICacheStubGeneratorVgenerate_icache_flush6MppFpCii_i_v_;
|
||||
text: .text%__1cMStubCodeMark2t6MpnRStubCodeGenerator_pkc4_v_;
|
||||
@@ -194,7 +191,6 @@ text: .text%__1cMStubCodeMark2T6M_v_;
|
||||
text: .text%__1cRAbstractAssemblerFflush6M_v_;
|
||||
text: .text%__1cOAbstractICacheQinvalidate_range6FpCi_v_;
|
||||
text: .text%__1cRStubCodeGeneratorLstub_epilog6MpnMStubCodeDesc__v_;
|
||||
text: .text%__1cFVTuneNregister_stub6FpkcpC3_v_;
|
||||
text: .text%__1cFForteNregister_stub6FpkcpC3_v_;
|
||||
text: .text%__1cPVM_Version_init6F_v_;
|
||||
text: .text%jio_snprintf;
|
||||
@@ -314,10 +310,8 @@ text: .text%__1cLReadClosureGdo_ptr6MppnIHeapWord__v_: restore.o;
|
||||
text: .text%__1cLReadClosureGdo_ptr6Mppv_v_: restore.o;
|
||||
text: .text%__1cLReadClosureJdo_size_t6MpI_v_: restore.o;
|
||||
text: .text%__1cLReadClosureGdo_oop6MppnHoopDesc__v_: restore.o;
|
||||
text: .text%__1cJCodeCacheHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cICodeHeapLfirst_block6kM_pnJHeapBlock__;
|
||||
text: .text%__1cICodeHeapJnext_free6kMpnJHeapBlock__pv_;
|
||||
text: .text%__1cKBufferBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cICodeHeapLblock_start6kMpv_pnJHeapBlock__;
|
||||
text: .text%__1cICodeHeapKfind_start6kMpv_1_;
|
||||
text: .text%__1cICodeHeapKnext_block6kMpnJHeapBlock__2_;
|
||||
@@ -334,7 +328,6 @@ text: .text%__1cbCAbstractInterpreterGenerator2t6MpnJStubQdDueue__v_;
|
||||
text: .text%__1cbCAbstractInterpreterGeneratorMgenerate_all6M_v_;
|
||||
text: .text%__1cJStubQdDueueHrequest6Mi_pnEStub__;
|
||||
text: .text%__1cJStubQdDueueGcommit6Mi_v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerbAget_cache_and_index_at_bcp6MpnMRegisterImpl_2i_v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerZget_2_byte_integer_at_bcp6MipnMRegisterImpl_2n0ALsignedOrNot_n0AKsetCCOrNot__v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerNdispatch_next6MnITosState_i_v_;
|
||||
text: .text%__1cOMacroAssemblerKverify_FPU6Mipkc_v_;
|
||||
@@ -357,7 +350,6 @@ text: .text%__1cZInterpreterMacroAssemblerNunlock_object6MpnMRegisterImpl__v_;
|
||||
text: .text%__1cQRelocationHolderEplus6kMi_0_;
|
||||
text: .text%__1cOMacroAssemblerMcall_VM_leaf6MpnMRegisterImpl_pC222_v_;
|
||||
text: .text%__1cOMacroAssemblerNset_vm_result6MpnMRegisterImpl__v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerSsuper_call_VM_leaf6MpnMRegisterImpl_pC2_v_;
|
||||
text: .text%__1cOMacroAssemblerRcall_VM_leaf_base6MpnMRegisterImpl_pCi_v_;
|
||||
text: .text%__1cbCAbstractInterpreterGeneratorVgenerate_method_entry6MnTAbstractInterpreterKMethodKind__pC_;
|
||||
text: .text%__1cUInterpreterGeneratorVgenerate_counter_incr6MpnFLabel_22_v_;
|
||||
@@ -513,7 +505,6 @@ text: .text%__1cZInterpreterMacroAssemblerWprofile_switch_default6MpnMRegisterIm
|
||||
text: .text%__1cNTemplateTableMlookupswitch6F_v_;
|
||||
text: .text%__1cNTemplateTableH_return6FnITosState__v_;
|
||||
text: .text%__1cNTemplateTableJgetstatic6Fi_v_;
|
||||
text: .text%__1cNTemplateTableXresolve_cache_and_index6FipnMRegisterImpl_2_v_;
|
||||
text: .text%__1cNTemplateTableJputstatic6Fi_v_;
|
||||
text: .text%__1cNTemplateTableIgetfield6Fi_v_;
|
||||
text: .text%__1cOMacroAssemblerKnull_check6MpnMRegisterImpl_i_v_;
|
||||
@@ -521,7 +512,6 @@ text: .text%__1cNTemplateTableIputfield6Fi_v_;
|
||||
text: .text%__1cNTemplateTableNinvokevirtual6Fi_v_;
|
||||
text: .text%__1cNTemplateTableTinvokevfinal_helper6FpnMRegisterImpl_2_v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerSprofile_final_call6MpnMRegisterImpl__v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerUprofile_virtual_call6MpnMRegisterImpl_2_v_;
|
||||
text: .text%__1cNTemplateTableUgenerate_vtable_call6FpnMRegisterImpl_22_v_;
|
||||
text: .text%__1cNTemplateTableNinvokespecial6Fi_v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerMprofile_call6MpnMRegisterImpl__v_;
|
||||
@@ -629,8 +619,6 @@ text: .text%__1cQjni_handles_init6F_v_;
|
||||
text: .text%__1cOvmStructs_init6F_v_;
|
||||
text: .text%__1cMRegisterImplEname6kM_pkc_;
|
||||
text: .text%__1cRFloatRegisterImplEname6kM_pkc_;
|
||||
text: .text%__1cIFrameMapEinit6F_v_;
|
||||
text: .text%__1cIRuntime1Kinitialize6F_v_;
|
||||
text: .text%__1cIRuntime1Ninitialize_pd6F_v_;
|
||||
text: .text%__1cNSharedRuntimeTgenerate_deopt_blob6F_v_;
|
||||
text: .text%__1cOMacroAssemblerZtotal_frame_size_in_bytes6Mi_i_;
|
||||
@@ -689,7 +677,6 @@ text: .text%__1cEUTF8Sconvert_to_unicode6FpkcpHi_v_;
|
||||
text: .text%__1cNinstanceKlassRallocate_instance6MpnGThread__pnPinstanceOopDesc__;
|
||||
text: .text%__1cTjava_lang_ThrowableLset_message6FpnHoopDesc_2_v_;
|
||||
text: .text%__1cMNativeLookupTbase_library_lookup6Fpkc22_pC_;
|
||||
text: .text%__1cKoopFactoryKnew_symbol6FpkcipnGThread__pnNsymbolOopDesc__;
|
||||
text: .text%__1cLSymbolTableGlookup6FpkcipnGThread__pnNsymbolOopDesc__;
|
||||
text: .text%__1cNinstanceKlassWuncached_lookup_method6kMpnNsymbolOopDesc_2_pnNmethodOopDesc__;
|
||||
text: .text%__1cMstringStream2t6MI_v_;
|
||||
@@ -788,8 +775,6 @@ text: .text%__1cXSignatureHandlerLibraryOpd_set_handler6FpC_v_;
|
||||
text: .text%__1cNmethodOopDescVset_signature_handler6MpC_v_;
|
||||
text: .text%jni_RegisterNatives: jni.o;
|
||||
text: .text%__1cPjava_lang_ClassLas_klassOop6FpnHoopDesc__pnMklassOopDesc__;
|
||||
text: .text%__1cLSymbolTableFprobe6Fpkci_pnNsymbolOopDesc__;
|
||||
text: .text%__1cFKlassNlookup_method6kMpnNsymbolOopDesc_2_pnNmethodOopDesc__;
|
||||
text: .text%__1cOJNIHandleBlockNrelease_block6Fp0pnGThread__v_;
|
||||
text: .text%__1cSObjectSynchronizerJnotifyall6FnGHandle_pnGThread__v_;
|
||||
text: .text%__1cSInterpreterRuntimeJanewarray6FpnKJavaThread_pnTconstantPoolOopDesc_ii_v_;
|
||||
@@ -829,7 +814,6 @@ text: .text%__1cbBcreate_initial_thread_group6FpnGThread__nGHandle__: thread.o;
|
||||
text: .text%__1cJJavaCallsMcall_special6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_;
|
||||
text: .text%__1cJJavaCallsMcall_special6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_533pnGThread__v_;
|
||||
text: .text%__1cNmethodOopDescIbci_from6kMpC_i_;
|
||||
text: .text%__1cPBytecode_invokeJsignature6kM_pnNsymbolOopDesc__;
|
||||
text: .text%__1cNmethodOopDescIbcp_from6kMi_pC_;
|
||||
text: .text%__1cFframebGinterpreter_callee_receiver_addr6MnMsymbolHandle__ppnHoopDesc__;
|
||||
text: .text%__1cRSignatureIteratorSiterate_parameters6M_v_;
|
||||
@@ -983,7 +967,6 @@ text: .text%jni_GetStringUTFLength: jni.o;
|
||||
text: .text%__1cQjava_lang_StringLutf8_length6FpnHoopDesc__i_;
|
||||
text: .text%__1cHUNICODELutf8_length6FpHi_i_;
|
||||
text: .text%jni_GetStringLength: jni.o;
|
||||
text: .text%__1cQjava_lang_StringGlength6FpnHoopDesc__i_;
|
||||
text: .text%jni_GetStringUTFRegion: jni.o;
|
||||
text: .text%__1cQjava_lang_StringOas_utf8_string6FpnHoopDesc_ii_pc_;
|
||||
text: .text%JVM_FindClassFromClassLoader;
|
||||
@@ -1022,7 +1005,6 @@ text: .text%__1cbDjava_lang_reflect_ConstructorEslot6FpnHoopDesc__i_;
|
||||
text: .text%__1cbIjava_lang_reflect_AccessibleObjectIoverride6FpnHoopDesc__C_;
|
||||
text: .text%__1cbDjava_lang_reflect_ConstructorPparameter_types6FpnHoopDesc__2_;
|
||||
text: .text%__1cLClassLoaderOload_classfile6FnMsymbolHandle_pnGThread__nTinstanceKlassHandle__;
|
||||
text: .text%__1cFVTuneQstart_class_load6F_v_;
|
||||
text: .text%__1cJEventMark2t6MpkcE_v_: classLoader.o;
|
||||
text: .text%__1cSThreadProfilerMark2t6Mn0AGRegion__v_;
|
||||
text: .text%__1cRClassPathZipEntryLopen_stream6Mpkc_pnPClassFileStream__;
|
||||
@@ -1060,8 +1042,6 @@ text: .text%__1cPClassFileParserMsort_methods6MnOobjArrayHandle_111pnGThread__nP
|
||||
text: .text%method_compare: methodOop.o;
|
||||
text: .text%__1cLklassItableTcompute_itable_size6FnOobjArrayHandle__i_;
|
||||
text: .text%__1cUvisit_all_interfaces6FpnPobjArrayOopDesc_pnXInterfaceVisiterClosure__v_;
|
||||
text: .text%__1cKoopFactoryRnew_instanceKlass6FiiiinNReferenceType_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cSinstanceKlassKlassXallocate_instance_klass6MiiiinNReferenceType_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cNinstanceKlassSallocate_permanent6kMrnLKlassHandle_ipnGThread__pv_: instanceKlass.o;
|
||||
text: .text%__1cNinstanceKlassOset_alloc_size6MI_v_: instanceKlass.o;
|
||||
text: .text%__1cNinstanceKlassQinit_implementor6M_v_;
|
||||
@@ -1077,7 +1057,6 @@ text: .text%__1cPClassFileParserVset_precomputed_flags6MnTinstanceKlassHandle__v
|
||||
text: .text%__1cPClassFileParserbCcheck_super_interface_access6FnTinstanceKlassHandle_pnGThread__v_;
|
||||
text: .text%__1cPClassFileParserbBcheck_final_method_override6FnTinstanceKlassHandle_pnGThread__v_;
|
||||
text: .text%__1cSThreadProfilerMark2T6M_v_;
|
||||
text: .text%__1cFVTuneOend_class_load6F_v_;
|
||||
text: .text%__1cIRewriterHrewrite6FnTinstanceKlassHandle_pnGThread__v_;
|
||||
text: .text%__1cYconstantPoolCacheOopDescKinitialize6MrnIintArray__v_;
|
||||
text: .text%JVM_MaxMemory;
|
||||
@@ -1091,15 +1070,11 @@ text: .text%Unsafe_FreeMemory;
|
||||
text: .text%__1cNSignatureInfoIdo_float6M_v_: bytecode.o;
|
||||
text: .text%jni_NewObjectV: jni.o;
|
||||
text: .text%jni_GetStringRegion: jni.o;
|
||||
text: .text%__1cQjava_lang_StringGoffset6FpnHoopDesc__i_;
|
||||
text: .text%__1cQjava_lang_StringFvalue6FpnHoopDesc__pnQtypeArrayOopDesc__;
|
||||
text: .text%jni_GetObjectField: jni.o;
|
||||
text: .text%jni_GetStringCritical: jni.o;
|
||||
text: .text%jni_ReleaseStringCritical: jni.o;
|
||||
text: .text%__1cQSimpleCompPolicyXmethod_invocation_event6MnMmethodHandle_pnGThread__v_;
|
||||
text: .text%__1cRInvocationCounterJset_carry6M_v_;
|
||||
text: .text%__1cNCompileBrokerOcompile_method6FnMmethodHandle_i1ipkcpnGThread__pnHnmethod__;
|
||||
text: .text%__1cQSimpleCompPolicyRcompilation_level6MnMmethodHandle_i_i_;
|
||||
text: .text%__1cNinstanceKlassUfind_interface_field6kMpnNsymbolOopDesc_2pnPfieldDescriptor__pnMklassOopDesc__;
|
||||
text: .text%JVM_LoadLibrary;
|
||||
text: .text%JVM_FindLibraryEntry;
|
||||
@@ -1153,7 +1128,6 @@ text: .text%__1cJJavaCallsMcall_special6FpnJJavaValue_nGHandle_nLKlassHandle_nMs
|
||||
text: .text%__1cCosOsignal_init_pd6F_v_;
|
||||
text: .text%__1cQjava_lang_ThreadKset_daemon6FpnHoopDesc__v_;
|
||||
text: .text%__1cICompiler2t6M_v_;
|
||||
text: .text%__1cNCompileBrokerVinit_compiler_threads6Fi_v_;
|
||||
text: .text%__1cQCompilerCounters2t6MpkcipnGThread__v_;
|
||||
text: .text%__1cNCompileBrokerUmake_compiler_thread6FpkcpnMCompileQdDueue_pnQCompilerCounters_pnGThread__pnOCompilerThread__;
|
||||
text: .text%__1cTsignal_thread_entry6FpnKJavaThread_pnGThread__v_: os.o;
|
||||
@@ -1188,7 +1162,6 @@ text: .text%__1cRLowMemoryDetectorbGlow_memory_detector_thread_entry6FpnKJavaThr
|
||||
text: .text%__1cKPerfStringKset_string6Mpkc_v_;
|
||||
text: .text%__1cPciObjectFactory2t6MpnFArena_i_v_;
|
||||
text: .text%__1cPciObjectFactoryTinit_shared_objects6M_v_;
|
||||
text: .text%__1cIciSymbol2t6MnMsymbolHandle__v_;
|
||||
text: .text%__1cIciObject2t6MnGHandle__v_;
|
||||
text: .text%__1cIciObjectJset_ident6MI_v_;
|
||||
text: .text%__1cGciType2t6MnJBasicType__v_;
|
||||
@@ -1267,7 +1240,6 @@ text: .text%__1cOGenerateOopMapYrewrite_refval_conflicts6M_v_;
|
||||
text: .text%__1cOGenerateOopMapNreport_result6M_v_;
|
||||
text: .text%__1cLCompilationJbuild_hir6M_v_;
|
||||
text: .text%__1cCIR2t6MpnLCompilation_pnIciMethod_i_v_;
|
||||
text: .text%__1cJValueTypeKinitialize6F_v_;
|
||||
text: .text%__1cMciNullObjectEmake6F_p0_;
|
||||
text: .text%__1cMGraphBuilderKinitialize6F_v_;
|
||||
text: .text%__1cJXHandlers2t6MpnIciMethod__v_;
|
||||
@@ -1275,13 +1247,11 @@ text: .text%__1cIciMethodJload_code6M_v_;
|
||||
text: .text%__1cLCompilationTdebug_info_recorder6kM_pnYDebugInformationRecorder__;
|
||||
text: .text%__1cHIRScopeLbuild_graph6MpnLCompilation_i_pnKBlockBegin__;
|
||||
text: .text%__1cQBlockListBuilderLset_leaders6M_v_;
|
||||
text: .text%__1cKValueStack2t6MpnHIRScope_ii_v_;
|
||||
text: .text%__1cLciSignatureHtype_at6kMi_pnGciType__;
|
||||
text: .text%__1cMas_ValueType6FnJBasicType__pnJValueType__;
|
||||
text: .text%__1cIValueMap2t6M_v_;
|
||||
text: .text%__1cNResourceArrayGexpand6MIiri_v_;
|
||||
text: .text%__1cIValueMapIkill_all6M_v_;
|
||||
text: .text%__1cKValueStackEcopy6M_p0_;
|
||||
text: .text%__1cMGraphBuilderbBiterate_bytecodes_for_block6Mi_pnIBlockEnd__;
|
||||
text: .text%__1cMGraphBuilderJScopeDataIblock_at6Mi_pnKBlockBegin__;
|
||||
text: .text%__1cMGraphBuilderKload_local6MpnJValueType_i_v_;
|
||||
@@ -1322,7 +1292,6 @@ text: .text%__1cPciInstanceKlassLfield_cache6M_pnTciConstantPoolCache__;
|
||||
text: .text%__1cHciField2t6MpnPciInstanceKlass_i_v_;
|
||||
text: .text%__1cHciFieldPinitialize_from6MpnPfieldDescriptor__v_;
|
||||
text: .text%__1cTconstantPoolOopDescbCklass_ref_at_if_loaded_check6FnSconstantPoolHandle_ipnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cKValueStackKcopy_locks6M_p0_;
|
||||
text: .text%__1cJLoadFieldFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerMdo_LoadField6MpnJLoadField__v_;
|
||||
text: .text%__1cJLoadFieldEhash6kM_i_: c1_Instruction.o;
|
||||
@@ -1365,27 +1334,18 @@ text: .text%__1cTNullCheckEliminatorLiterate_one6MpnKBlockBegin__v_;
|
||||
text: .text%__1cGBitMapIset_from6M0_v_;
|
||||
text: .text%__1cQNullCheckVisitorNdo_BlockBegin6MpnKBlockBegin__v_;
|
||||
text: .text%__1cQNullCheckVisitorHdo_Base6MpnEBase__v_;
|
||||
text: .text%__1cKStateSplitPinput_values_do6MpFppnLInstruction__v_v_: c1_Canonicalizer.o;
|
||||
text: .text%__1cEGotoFvisit6MpnSInstructionVisitor__v_: c1_Canonicalizer.o;
|
||||
text: .text%__1cQNullCheckVisitorHdo_Goto6MpnEGoto__v_;
|
||||
text: .text%__1cCIfPinput_values_do6MpFppnLInstruction__v_v_: c1_Canonicalizer.o;
|
||||
text: .text%__1cTNullCheckEliminatorIdo_value6FppnLInstruction__v_;
|
||||
text: .text%__1cFLocalPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cFLocalFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorIdo_Local6MpnFLocal__v_;
|
||||
text: .text%__1cQNullCheckVisitorFdo_If6MpnCIf__v_;
|
||||
text: .text%__1cGReturnPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cIConstantPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorLdo_Constant6MpnIConstant__v_;
|
||||
text: .text%__1cQNullCheckVisitorJdo_Return6MpnGReturn__v_;
|
||||
text: .text%__1cJTypeCheckPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorNdo_InstanceOf6MpnKInstanceOf__v_;
|
||||
text: .text%__1cQNullCheckVisitorMdo_CheckCast6MpnJCheckCast__v_;
|
||||
text: .text%__1cLAccessFieldPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorMdo_LoadField6MpnJLoadField__v_;
|
||||
text: .text%__1cTNullCheckEliminatorShandle_AccessField6MpnLAccessField__v_;
|
||||
text: .text%__1cQNullCheckVisitorPdo_ArithmeticOp6MpnMArithmeticOp__v_;
|
||||
text: .text%__1cLAccessArrayPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorOdo_ArrayLength6MpnLArrayLength__v_;
|
||||
text: .text%__1cTNullCheckEliminatorShandle_ArrayLength6MpnLArrayLength__v_;
|
||||
text: .text%__1cQNullCheckVisitorOdo_LoadIndexed6MpnLLoadIndexed__v_;
|
||||
@@ -1403,16 +1363,12 @@ text: .text%__1cIBlockEndOsubstitute_sux6MpnKBlockBegin_2_v_;
|
||||
text: .text%__1cCIRMcompute_code6M_v_;
|
||||
text: .text%__1cLInstructionGnegate6Fn0AJCondition__1_;
|
||||
text: .text%__1cJBlockListJblocks_do6MpFpnKBlockBegin__v_v_;
|
||||
text: .text%__1cQUseCountComputerQupdate_use_count6FppnLInstruction__v_: c1_IR.o;
|
||||
text: .text%__1cKStateSplitPstate_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cKValueStackJvalues_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cFLocalIas_Local6M_p0_: c1_GraphBuilder.o;
|
||||
text: .text%__1cLCompilationIemit_lir6M_v_;
|
||||
text: .text%__1cLInstructionGas_Phi6M_pnDPhi__: c1_Canonicalizer.o;
|
||||
text: .text%__1cMas_BasicType6FpnJValueType__nJBasicType__;
|
||||
text: .text%__1cJValueTypeRas_ObjectConstant6M_pnOObjectConstant__: c1_Canonicalizer.o;
|
||||
text: .text%__1cLLIR_OprFactKvalue_type6FpnJValueType__pnLLIR_OprDesc__;
|
||||
text: .text%__1cKValueStackMcaller_state6kM_p0_;
|
||||
text: .text%__1cJArrayTypeMas_ArrayType6M_p0_: c1_ValueType.o;
|
||||
text: .text%__1cILIR_ListKshift_left6MpnLLIR_OprDesc_222_v_;
|
||||
text: .text%__1cJValueTypeLas_VoidType6M_pnIVoidType__: c1_Canonicalizer.o;
|
||||
@@ -1442,7 +1398,6 @@ text: .text%__1cNLIR_AssemblerNemit_opBranch6MpnMLIR_OpBranch__v_;
|
||||
text: .text%__1cNLIR_AssemblerKemit_delay6MpnLLIR_OpDelay__v_;
|
||||
text: .text%__1cNLIR_AssemblerLcode_offset6kM_i_;
|
||||
text: .text%__1cNLIR_AssemblerQemit_opTypeCheck6MpnPLIR_OpTypeCheck__v_;
|
||||
text: .text%__1cIciObjectIencoding6M_pnI_jobject__;
|
||||
text: .text%__1cOoop_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cNLIR_AssemblerEload6MpnMRegisterImpl_i2nJBasicType_pnMCodeEmitInfo__i_;
|
||||
text: .text%__1cNLIR_AssemblerIemit_op16MpnHLIR_Op1__v_;
|
||||
@@ -1477,7 +1432,6 @@ text: .text%__1cYDebugInformationRecorderJdata_size6M_i_;
|
||||
text: .text%__1cNRelocIteratorTadvance_over_prefix6M_v_;
|
||||
text: .text%__1cOoop_RelocationLunpack_data6M_v_;
|
||||
text: .text%__1cYDebugInformationRecorderHcopy_to6MpnHnmethod__v_;
|
||||
text: .text%__1cLOopRecorderHcopy_to6MpnICodeBlob__v_;
|
||||
text: .text%__1cIUniverseMnon_oop_word6F_pv_;
|
||||
text: .text%__1cCosXnon_memory_address_word6F_pc_;
|
||||
text: .text%__1cHnmethodQcopy_scopes_data6MpCi_v_;
|
||||
@@ -1487,7 +1441,6 @@ text: .text%__1cODataRelocationJset_value6MpC_v_: relocInfo.o;
|
||||
text: .text%__1cOoop_RelocationGoffset6M_i_: relocInfo.o;
|
||||
text: .text%__1cKRelocationRpd_set_data_value6MpCi_v_;
|
||||
text: .text%__1cJCodeCacheGcommit6FpnICodeBlob__v_;
|
||||
text: .text%__1cFVTuneOcreate_nmethod6FpnHnmethod__v_;
|
||||
text: .text%__1cWImplicitExceptionTableHcopy_to6MpnHnmethod__v_;
|
||||
text: .text%__1cLCompilation2T6M_v_;
|
||||
text: .text%__1cFArena2T6M_v_;
|
||||
@@ -1512,7 +1465,6 @@ text: .text%__1cTjava_lang_ThrowableTfill_in_stack_trace6FnGHandle_pnGThread__v_
|
||||
text: .text%__1cVPreserveExceptionMark2T6M_v_;
|
||||
text: .text%__1cSInterpreterRuntimeXthrow_pending_exception6FpnKJavaThread__v_;
|
||||
text: .text%__1cSThreadLocalStorageGthread6F_pnGThread__: assembler_sparc.o;
|
||||
text: .text%__1cNSharedRuntimebKexception_handler_for_return_address6FpC_1_;
|
||||
text: .text%__1cSInterpreterRuntimebFexception_handler_for_exception6FpnKJavaThread_pnHoopDesc__pC_;
|
||||
text: .text%__1cNmethodOopDescbEfast_exception_handler_bci_for6MnLKlassHandle_ipnGThread__i_;
|
||||
text: .text%__1cFframeZinterpreter_frame_set_bcp6MpC_v_;
|
||||
@@ -1530,8 +1482,6 @@ text: .text%__1cPciInstanceKlassYprotection_domain_handle6M_pnI_jobject__;
|
||||
text: .text%__1cLNewInstanceFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerOdo_NewInstance6MpnLNewInstance__v_;
|
||||
text: .text%__1cMGraphBuilderGinvoke6MnJBytecodesECode__v_;
|
||||
text: .text%__1cFciEnvTget_method_by_index6MpnPciInstanceKlass_inJBytecodesECode__pnIciMethod__;
|
||||
text: .text%__1cFciEnvYget_method_by_index_impl6MpnPciInstanceKlass_inJBytecodesECode__pnIciMethod__;
|
||||
text: .text%__1cPciObjectFactoryTget_unloaded_method6MpnPciInstanceKlass_pnIciSymbol_4_pnIciMethod__;
|
||||
text: .text%__1cIciMethod2t6MpnPciInstanceKlass_pnIciSymbol_4_v_;
|
||||
text: .text%__1cNciMethodKlassEmake6F_p0_;
|
||||
@@ -1542,16 +1492,11 @@ text: .text%__1cKValueStackNpop_arguments6Mi_pnGValues__;
|
||||
text: .text%__1cGInvokeFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerJdo_Invoke6MpnGInvoke__v_;
|
||||
text: .text%__1cGInvokeJas_Invoke6M_p0_: c1_Instruction.o;
|
||||
text: .text%__1cFThrowFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerIdo_Throw6MpnFThrow__v_;
|
||||
text: .text%__1cFThrowIas_Throw6M_p0_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorOdo_NewInstance6MpnLNewInstance__v_;
|
||||
text: .text%__1cGInvokePinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorJdo_Invoke6MpnGInvoke__v_;
|
||||
text: .text%__1cTNullCheckEliminatorNhandle_Invoke6MpnGInvoke__v_;
|
||||
text: .text%__1cFThrowPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorIdo_Throw6MpnFThrow__v_;
|
||||
text: .text%__1cFThrowPstate_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cIVoidTypeLas_VoidType6M_p0_: c1_ValueType.o;
|
||||
text: .text%__1cLNewInstanceKexact_type6kM_pnGciType__;
|
||||
text: .text%__1cLNewInstanceOas_NewInstance6M_p0_: c1_Instruction.o;
|
||||
@@ -1562,7 +1507,6 @@ text: .text%__1cPNewInstanceStubEinfo6kM_pnMCodeEmitInfo__: c1_CodeStubs_sparc.o
|
||||
text: .text%__1cNLIR_AssemblerJemit_call6MpnOLIR_OpJavaCall__v_;
|
||||
text: .text%__1cNLIR_AssemblerKalign_call6MnILIR_Code__v_;
|
||||
text: .text%__1cICodeStubEinfo6kM_pnMCodeEmitInfo__: c1_CodeStubs_sparc.o;
|
||||
text: .text%__1cNLIR_AssemblerEcall6MpCnJrelocInfoJrelocType_pnMCodeEmitInfo__v_;
|
||||
text: .text%__1cbBopt_virtual_call_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cYinternal_word_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cMPatchingStubJemit_code6MpnNLIR_Assembler__v_;
|
||||
@@ -1586,8 +1530,6 @@ text: .text%__1cFciEnvNlookup_method6MpnNinstanceKlass_2pnNsymbolOopDesc_4nJByte
|
||||
text: .text%__1cMLinkResolverbCresolve_virtual_call_or_null6FnLKlassHandle_1nMsymbolHandle_21_nMmethodHandle__;
|
||||
text: .text%__1cPciObjectFactoryMvm_symbol_at6Fi_pnIciSymbol__;
|
||||
text: .text%__1cNCanonicalizerMdo_NullCheck6MpnJNullCheck__v_;
|
||||
text: .text%__1cKValueStackKpush_scope6MpnHIRScope__p0_;
|
||||
text: .text%__1cHIRScopeXcompute_lock_stack_size6M_v_;
|
||||
text: .text%__1cMGraphBuilderJScopeDataLnum_returns6M_i_;
|
||||
text: .text%__1cNCanonicalizerHdo_Goto6MpnEGoto__v_;
|
||||
text: .text%__1cMGraphBuilderJScopeDataQincr_num_returns6M_v_;
|
||||
@@ -1596,10 +1538,7 @@ text: .text%__1cLCompilationVnotice_inlined_method6MpnIciMethod__v_;
|
||||
text: .text%__1cFciEnvVnotice_inlined_method6MpnIciMethod__v_;
|
||||
text: .text%__1cMLinkResolverbCresolve_special_call_or_null6FnLKlassHandle_nMsymbolHandle_21_nMmethodHandle__;
|
||||
text: .text%__1cLInstructionEprev6MpnKBlockBegin__p0_;
|
||||
text: .text%__1cIConstantPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cIBlockEndPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cQNullCheckVisitorMdo_NullCheck6MpnJNullCheck__v_;
|
||||
text: .text%__1cHIRScopeNtop_scope_bci6kM_i_;
|
||||
text: .text%__1cIFrameMapQmake_new_address6kMi_nHAddress__;
|
||||
text: .text%__1cNLIR_AssemblerFstore6MpnMRegisterImpl_2inJBasicType_pnMCodeEmitInfo__v_;
|
||||
text: .text%__1cNLIR_AssemblerJstack2reg6MpnLLIR_OprDesc_2nJBasicType__v_;
|
||||
@@ -1610,7 +1549,6 @@ text: .text%__1cXNativeSignatureIteratorIdo_float6M_v_: interpreterRT_sparc.o;
|
||||
text: .text%JVM_IsNaN;
|
||||
text: .text%__1cXNativeSignatureIteratorJdo_double6M_v_: interpreterRT_sparc.o;
|
||||
text: .text%__1cSInterpreterRuntimeZSignatureHandlerGeneratorLpass_double6M_v_;
|
||||
text: .text%__1cEIfOpPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cEIfOpFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cQNullCheckVisitorHdo_IfOp6MpnEIfOp__v_;
|
||||
text: .text%__1cOGenerateOopMapIcopy_cts6MpnNCellTypeState_2_i_;
|
||||
@@ -1642,8 +1580,6 @@ text: .text%__1cHLogicOpEhash6kM_i_: c1_Instruction.o;
|
||||
text: .text%__1cHLogicOpEname6kM_pkc_: c1_Instruction.o;
|
||||
text: .text%__1cMLinkResolverbBresolve_static_call_or_null6FnLKlassHandle_nMsymbolHandle_21_nMmethodHandle__;
|
||||
text: .text%__1cQNullCheckVisitorNdo_StoreField6MpnKStoreField__v_;
|
||||
text: .text%__1cINewArrayPinput_values_do6MpFppnLInstruction__v_v_: c1_Instruction.o;
|
||||
text: .text%__1cHConvertPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorKdo_Convert6MpnHConvert__v_;
|
||||
text: .text%__1cQNullCheckVisitorPdo_NewTypeArray6MpnMNewTypeArray__v_;
|
||||
text: .text%__1cJLoadFieldMas_LoadField6M_p0_: c1_Instruction.o;
|
||||
@@ -1665,7 +1601,6 @@ text: .text%__1cRC1_MacroAssemblerPallocate_object6MpnMRegisterImpl_222ii2rnFLab
|
||||
text: .text%__1cNLIR_AssemblerOmembar_release6M_v_;
|
||||
text: .text%__1cNLIR_AssemblerGmembar6M_v_;
|
||||
text: .text%__1cNLIR_AssemblerOmembar_acquire6M_v_;
|
||||
text: .text%__1cNLIR_AssemblerHic_call6MpCpnMCodeEmitInfo__v_;
|
||||
text: .text%__1cNLIR_AssemblerCpc6kM_pC_;
|
||||
text: .text%__1cXvirtual_call_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cNLIR_AssemblerIlogic_op6MnILIR_Code_pnLLIR_OprDesc_33_v_;
|
||||
@@ -1675,7 +1610,6 @@ text: .text%__1cXvirtual_call_RelocationLunpack_data6M_v_;
|
||||
text: .text%__1cNinstanceKlassVadd_dependent_nmethod6MpnHnmethod__v_;
|
||||
text: .text%__1cGPcDescHreal_pc6kMpknHnmethod__pC_;
|
||||
text: .text%__1cNSharedRuntimeXfind_callee_info_helper6FpnKJavaThread_rnMvframeStream_rnJBytecodesECode_rnICallInfo_pnGThread__nGHandle__;
|
||||
text: .text%__1cPBytecode_invokeFindex6kM_i_;
|
||||
text: .text%__1cLRegisterMapIpd_clear6M_v_;
|
||||
text: .text%__1cPBytecode_invokeNstatic_target6MpnGThread__nMmethodHandle__;
|
||||
text: .text%__1cMLinkResolverOresolve_method6FrnMmethodHandle_rnLKlassHandle_nSconstantPoolHandle_ipnGThread__v_;
|
||||
@@ -1690,8 +1624,6 @@ text: .text%__1cKNativeCallXset_destination_mt_safe6MpC_v_;
|
||||
text: .text%__1cNmethodOopDescTverified_code_entry6M_pC_;
|
||||
text: .text%__1cOGenerateOopMapGdo_ldc6Mii_v_;
|
||||
text: .text%__1cMGraphBuilderNload_constant6M_v_;
|
||||
text: .text%__1cFciEnvVget_constant_by_index6MpnPciInstanceKlass_i_nKciConstant__;
|
||||
text: .text%__1cFciEnvbAget_constant_by_index_impl6MpnPciInstanceKlass_i_nKciConstant__;
|
||||
text: .text%__1cWstatic_call_RelocationEtype6M_nJrelocInfoJrelocType__: relocInfo.o;
|
||||
text: .text%__1cKExceptionsL_throw_args6FpnGThread_pkcinMsymbolHandle_5pnRJavaCallArguments__v_;
|
||||
text: .text%__1cMPeriodicTaskOreal_time_tick6FI_v_;
|
||||
@@ -1700,7 +1632,6 @@ text: .text%jni_GetArrayLength: jni.o;
|
||||
text: .text%JVM_Read;
|
||||
text: .text%jni_GetByteArrayRegion: jni.o;
|
||||
text: .text%JVM_DefineClassWithSource;
|
||||
text: .text%__1cQSystemDictionaryTresolve_from_stream6FnMsymbolHandle_nGHandle_2pnPClassFileStream_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cPClassFileParserbDverify_legal_method_signature6MnMsymbolHandle_1pnGThread__i_;
|
||||
text: .text%__1cPClassFileParserXverify_legal_class_name6MnMsymbolHandle_pnGThread__v_;
|
||||
text: .text%__1cQSystemDictionarybAvalidate_protection_domain6FnTinstanceKlassHandle_nGHandle_2pnGThread__v_;
|
||||
@@ -1780,7 +1711,6 @@ text: .text%__1cUJvmtiEventControllerIvm_death6F_v_;
|
||||
text: .text%__1cCosXterminate_signal_thread6F_v_;
|
||||
text: .text%__1cCosNsigexitnum_pd6F_i_;
|
||||
text: .text%__1cCosNsignal_notify6Fi_v_;
|
||||
text: .text%__1cFVTuneEexit6F_v_;
|
||||
text: .text%__1cIVMThreadXwait_for_vm_thread_exit6F_v_;
|
||||
text: .text%__1cUSafepointSynchronizeFbegin6F_v_;
|
||||
text: .text%__1cORuntimeServiceWrecord_safepoint_begin6F_v_;
|
||||
@@ -1795,7 +1725,6 @@ text: .text%__1cQSystemDictionaryRnumber_of_classes6F_i_;
|
||||
text: .text%__1cQSystemDictionaryStry_get_next_class6F_pnMklassOopDesc__;
|
||||
text: .text%__1cKDictionaryStry_get_next_class6M_pnMklassOopDesc__;
|
||||
text: .text%__1cNinstanceKlassKmethods_do6MpFpnNmethodOopDesc__v_v_;
|
||||
text: .text%__1cONMethodSweeperFsweep6F_v_;
|
||||
text: .text%__1cNCompileBrokerQset_should_block6F_v_;
|
||||
text: .text%__1cHVM_ExitbJwait_for_threads_in_native_to_block6F_i_;
|
||||
text: .text%__1cIVMThreadHdestroy6F_v_;
|
||||
@@ -1839,7 +1768,6 @@ text: .text%__1cMGraphBuilderNstore_indexed6MnJBasicType__v_;
|
||||
text: .text%__1cIValueMapKkill_array6MpnJValueType__v_;
|
||||
text: .text%__1cNCanonicalizerPdo_StoreIndexed6MpnMStoreIndexed__v_;
|
||||
text: .text%__1cQNullCheckVisitorPdo_StoreIndexed6MpnMStoreIndexed__v_;
|
||||
text: .text%__1cKValueStackElock6MpnHIRScope_pnLInstruction__i_;
|
||||
text: .text%__1cKValueStackGunlock6M_i_;
|
||||
text: .text%__1cQMonitorEnterStubFvisit6MpnQLIR_OpVisitState__v_: c1_CodeStubs_sparc.o;
|
||||
text: .text%__1cNLIR_AssemblerJemit_lock6MpnKLIR_OpLock__v_;
|
||||
@@ -1859,7 +1787,6 @@ text: .text%__1cTconstantPoolOopDescbCverify_constant_pool_resolve6FnSconstantPo
|
||||
text: .text%__1cNCanonicalizerMdo_Intrinsic6MpnJIntrinsic__v_;
|
||||
text: .text%__1cMas_ValueType6FnKciConstant__pnJValueType__;
|
||||
text: .text%__1cQNullCheckVisitorMdo_Intrinsic6MpnJIntrinsic__v_;
|
||||
text: .text%__1cDOp2Pinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorKdo_ShiftOp6MpnHShiftOp__v_;
|
||||
text: .text%__1cILIR_ListLshift_right6MpnLLIR_OprDesc_222_v_;
|
||||
text: .text%__1cMNewTypeArrayKexact_type6kM_pnGciType__;
|
||||
@@ -1876,7 +1803,6 @@ text: .text%__1cYciExceptionHandlerStreamEnext6M_v_: c1_IR.o;
|
||||
text: .text%__1cLInstructionGmirror6Fn0AJCondition__1_;
|
||||
text: .text%__1cKBlockBeginVadd_exception_handler6Mp0_v_;
|
||||
text: .text%__1cIciObjectEhash6M_i_;
|
||||
text: .text%__1cLAccessFieldPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cFChunk2n6FII_pv_;
|
||||
text: .text%jni_CallStaticVoidMethodV: jni.o;
|
||||
text: .text%JVM_GetLastErrorString;
|
||||
@@ -1899,8 +1825,6 @@ text: .text%__1cWCountInterfacesClosureEdoit6MpnMklassOopDesc_i_v_: klassVtable.
|
||||
text: .text%__1cPfieldDescriptorRint_initial_value6kM_i_;
|
||||
text: .text%__1cSSetupItableClosureEdoit6MpnMklassOopDesc_i_v_: klassVtable.o;
|
||||
text: .text%__1cSInterpreterRuntimeOmultianewarray6FpnKJavaThread_pi_v_;
|
||||
text: .text%__1cNinstanceKlassSlookup_osr_nmethod6kMkpnNmethodOopDesc_i_pnHnmethod__;
|
||||
text: .text%__1cQSimpleCompPolicyYmethod_back_branch_event6MnMmethodHandle_iipnGThread__v_;
|
||||
text: .text%__1cMGraphBuilderQnew_object_array6M_v_;
|
||||
text: .text%__1cONewObjectArrayFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerRdo_NewObjectArray6MpnONewObjectArray__v_;
|
||||
@@ -1919,7 +1843,6 @@ text: .text%__1cUBytecode_tableswitchOdest_offset_at6kMi_i_;
|
||||
text: .text%__1cMGraphBuilderMtable_switch6M_v_;
|
||||
text: .text%__1cLTableSwitchFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerOdo_TableSwitch6MpnLTableSwitch__v_;
|
||||
text: .text%__1cGSwitchPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorOdo_TableSwitch6MpnLTableSwitch__v_;
|
||||
text: .text%__1cSCompiledStaticCallNcompute_entry6FnMmethodHandle_rnOStaticCallInfo__v_;
|
||||
text: .text%__1cSCompiledStaticCallDset6MrknOStaticCallInfo__v_;
|
||||
@@ -1972,7 +1895,6 @@ text: .text%jni_GetStaticObjectField: jni.o;
|
||||
text: .text%__1cXJNI_ArgumentPusherVaArgIget_long6M_v_: jni.o;
|
||||
text: .text%__1cINegateOpFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerLdo_NegateOp6MpnINegateOp__v_;
|
||||
text: .text%__1cINegateOpPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorLdo_NegateOp6MpnINegateOp__v_;
|
||||
text: .text%__1cILIR_ListLstore_check6MpnLLIR_OprDesc_2222pnMCodeEmitInfo__v_;
|
||||
text: .text%__1cXArrayStoreExceptionStub2t6MpnMCodeEmitInfo__v_;
|
||||
@@ -2008,13 +1930,11 @@ text: .text%__1cYjava_lang_reflect_MethodEslot6FpnHoopDesc__i_;
|
||||
text: .text%__1cYjava_lang_reflect_MethodPparameter_types6FpnHoopDesc__2_;
|
||||
text: .text%__1cYjava_lang_reflect_MethodLreturn_type6FpnHoopDesc__2_;
|
||||
text: .text%JVM_IsInterrupted;
|
||||
text: .text%__1cMArithmeticOpKlock_stack6kM_pnKValueStack__: c1_Instruction.o;
|
||||
text: .text%__1cNLIR_AssemblerIemit_op36MpnHLIR_Op3__v_;
|
||||
text: .text%__1cNLIR_AssemblerbCadd_debug_info_for_div0_here6MpnMCodeEmitInfo__v_;
|
||||
text: .text%__1cNDivByZeroStubEinfo6kM_pnMCodeEmitInfo__: c1_CodeStubs_sparc.o;
|
||||
text: .text%__1cNDivByZeroStubJemit_code6MpnNLIR_Assembler__v_;
|
||||
text: .text%__1cIFrameMapLnr2floatreg6Fi_pnRFloatRegisterImpl__;
|
||||
text: .text%__1cRCompilationPolicybIreset_counter_for_invocation_event6MnMmethodHandle__v_;
|
||||
text: .text%Unsafe_EnsureClassInitialized;
|
||||
text: .text%__1cPClassFileParserYparse_checked_exceptions6MpHInSconstantPoolHandle_pnGThread__1_;
|
||||
text: .text%__1cPClassFileStreamHskip_u26MipnGThread__v_;
|
||||
@@ -2070,7 +1990,6 @@ text: .text%jni_NewIntArray: jni.o;
|
||||
text: .text%__1cKGenerationInext_gen6kM_p0_;
|
||||
text: .text%__1cQinstanceRefKlassZacquire_pending_list_lock6FpnJBasicLock__v_;
|
||||
text: .text%__1cbAVM_GenCollectForAllocationEdoit6M_v_;
|
||||
text: .text%__1cPGCMemoryManagerIgc_begin6M_v_;
|
||||
text: .text%__1cKManagementJtimestamp6F_x_;
|
||||
text: .text%__1cTContiguousSpacePoolQget_memory_usage6M_nLMemoryUsage__;
|
||||
text: .text%__1cTContiguousSpacePoolNused_in_bytes6M_I_: memoryPool.o;
|
||||
@@ -2094,8 +2013,6 @@ text: .text%__1cKSharedHeapbAchange_strong_roots_parity6M_v_;
|
||||
text: .text%__1cPFastScanClosureGdo_oop6MppnHoopDesc__v_: defNewGeneration.o;
|
||||
text: .text%__1cPContiguousSpaceIallocate6MI_pnIHeapWord__;
|
||||
text: .text%__1cKJNIHandlesHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cHThreadsHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cKJavaThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cOJNIHandleBlockHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cKHandleAreaHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cFframeVinterpreter_frame_bci6kM_i_;
|
||||
@@ -2124,8 +2041,6 @@ text: .text%__1cTMaskFillerForNative2t6MnMmethodHandle_pIi_v_: oopMapCache.o;
|
||||
text: .text%__1cTMaskFillerForNativeLpass_object6M_v_: oopMapCache.o;
|
||||
text: .text%__1cTMaskFillerForNativeJpass_long6M_v_: oopMapCache.o;
|
||||
text: .text%__1cRComputeEntryStackHdo_long6M_v_: generateOopMap.o;
|
||||
text: .text%__1cIVMThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cGThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cSObjectSynchronizerHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cMFlatProfilerHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cKManagementHoops_do6FpnKOopClosure__v_;
|
||||
@@ -2221,7 +2136,6 @@ text: .text%__1cUGenGCEpilogueClosureNdo_generation6MpnKGeneration__v_: genColle
|
||||
text: .text%__1cRTenuredGenerationPupdate_counters6M_v_;
|
||||
text: .text%__1cUCompactingPermGenGenPupdate_counters6M_v_;
|
||||
text: .text%__1cXTraceMemoryManagerStats2T6M_v_;
|
||||
text: .text%__1cPGCMemoryManagerGgc_end6M_v_;
|
||||
text: .text%__1cRLowMemoryDetectorWdetect_after_gc_memory6FpnKMemoryPool__v_;
|
||||
text: .text%__1cNJvmtiGCMarker2T6M_v_;
|
||||
text: .text%__1cPVM_GC_OperationNdoit_epilogue6M_v_;
|
||||
@@ -2232,7 +2146,6 @@ text: .text%__1cLklassVtableQindex_of_miranda6MpnNsymbolOopDesc_2_i_;
|
||||
text: .text%__1cNCanonicalizerPdo_MonitorEnter6MpnMMonitorEnter__v_;
|
||||
text: .text%__1cLMonitorExitFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerOdo_MonitorExit6MpnLMonitorExit__v_;
|
||||
text: .text%__1cNAccessMonitorPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorPdo_MonitorEnter6MpnMMonitorEnter__v_;
|
||||
text: .text%__1cQNullCheckVisitorOdo_MonitorExit6MpnLMonitorExit__v_;
|
||||
text: .text%__1cMLongConstantPas_LongConstant6M_p0_: c1_Canonicalizer.o;
|
||||
@@ -2246,10 +2159,7 @@ text: .text%__1cRComputeEntryStackIdo_short6M_v_: generateOopMap.o;
|
||||
text: .text%Unsafe_AllocateInstance;
|
||||
text: .text%jni_AllocObject: jni.o;
|
||||
text: .text%__1cNCanonicalizerMset_constant6Mi_v_: c1_Canonicalizer.o;
|
||||
text: .text%__1cJTypeCheckPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cIBytecodeIset_code6MnJBytecodesECode__v_;
|
||||
text: .text%__1cQComputeCallStackIdo_float6M_v_: generateOopMap.o;
|
||||
text: .text%__1cFframeRoops_code_blob_do6MpnKOopClosure_pknLRegisterMap__v_;
|
||||
text: .text%__1cMOopMapStreamJfind_next6M_v_;
|
||||
text: .text%__1cQinstanceRefKlassSoop_oop_iterate_nv6MpnHoopDesc_pnQFilteringClosure__i_;
|
||||
text: .text%__1cQinstanceRefKlassUoop_oop_iterate_nv_m6MpnHoopDesc_pnQFilteringClosure_nJMemRegion__i_;
|
||||
@@ -2284,7 +2194,6 @@ text: .text%__1cLsymbolKlassToop_follow_contents6MpnHoopDesc__v_;
|
||||
text: .text%__1cQinstanceRefKlassToop_follow_contents6MpnHoopDesc__v_;
|
||||
text: .text%__1cQconstMethodKlassToop_follow_contents6MpnHoopDesc__v_;
|
||||
text: .text%__1cFJNIidHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cHnmethodHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cQSystemDictionaryValways_strong_oops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cKDictionaryYalways_strong_classes_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cVLoaderConstraintTableYalways_strong_classes_do6MpnKOopClosure__v_;
|
||||
@@ -2341,9 +2250,6 @@ text: .text%__1cVcompiledICHolderKlassOklass_oop_size6kM_i_: compiledICHolderKla
|
||||
text: .text%__1cJHashtableHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cQSystemDictionaryYalways_strong_classes_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cQSystemDictionaryPplaceholders_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cSDeoptimizationBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cLRuntimeStubHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cNSafepointBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cJMarkSweepMadjust_marks6F_v_;
|
||||
text: .text%__1cYGenAdjustPointersClosureNdo_generation6MpnKGeneration__v_: genMarkSweep.o;
|
||||
text: .text%__1cKGenerationPadjust_pointers6M_v_;
|
||||
@@ -2379,32 +2285,24 @@ text: .text%__1cIRuntime1Onew_type_array6FpnKJavaThread_pnMklassOopDesc_i_v_;
|
||||
text: .text%__1cVcompiledICHolderKlassRoop_oop_iterate_m6MpnHoopDesc_pnKOopClosure_nJMemRegion__i_;
|
||||
text: .text%__1cNObjectMonitorGnotify6MpnGThread__v_;
|
||||
text: .text%__1cOMacroAssemblerEmult6MpnMRegisterImpl_22_v_;
|
||||
text: .text%__1cINewArrayPother_values_do6MpFppnLInstruction__v_v_;
|
||||
text: .text%__1cJValueTypeLas_LongType6M_pnILongType__: c1_Canonicalizer.o;
|
||||
text: .text%__1cNVM_DeoptimizeEdoit6M_v_;
|
||||
text: .text%__1cODeoptimizationVdeoptimize_dependents6F_i_;
|
||||
text: .text%__1cHThreadsbFdeoptimized_wrt_marked_nmethods6F_v_;
|
||||
text: .text%__1cKJavaThreadbFdeoptimized_wrt_marked_nmethods6M_v_;
|
||||
text: .text%__1cJCodeCachebGmake_marked_nmethods_not_entrant6F_v_;
|
||||
text: .text%__1cHnmethodbAmake_not_entrant_or_zombie6Mi_v_;
|
||||
text: .text%__1cKNativeJumpUpatch_verified_entry6FpC11_v_;
|
||||
text: .text%signalHandler;
|
||||
text: .text%JVM_handle_solaris_signal;
|
||||
text: .text%JVM_HoldsLock;
|
||||
text: .text%__1cQinstanceRefKlassSallocate_permanent6kMrnLKlassHandle_ipnGThread__pv_: instanceRefKlass.o;
|
||||
text: .text%__1cJCodeCacheFfirst6F_pnICodeBlob__;
|
||||
text: .text%__1cHThreadsLnmethods_do6F_v_;
|
||||
text: .text%__1cFframeLnmethods_do6M_v_;
|
||||
text: .text%__1cJCodeCacheEnext6FpnICodeBlob__2_;
|
||||
text: .text%__1cONewObjectArrayKexact_type6kM_pnGciType__;
|
||||
text: .text%__1cPciObjArrayKlassNelement_klass6M_pnHciKlass__;
|
||||
text: .text%__1cIRuntime1Noop_arraycopy6FpnIHeapWord_2i_v_;
|
||||
text: .text%__1cMGraphBuilderKcompare_op6MpnJValueType_nJBytecodesECode__v_;
|
||||
text: .text%__1cJCompareOpFvisit6MpnSInstructionVisitor__v_: c1_Instruction.o;
|
||||
text: .text%__1cNCanonicalizerMdo_CompareOp6MpnJCompareOp__v_;
|
||||
text: .text%__1cJCompareOpEhash6kM_i_: c1_Instruction.o;
|
||||
text: .text%__1cJCompareOpEname6kM_pkc_: c1_Instruction.o;
|
||||
text: .text%__1cJCompareOpMas_CompareOp6M_p0_: c1_Instruction.o;
|
||||
text: .text%__1cJValueTypeOas_IntConstant6M_pnLIntConstant__: c1_Canonicalizer.o;
|
||||
text: .text%__1cHIntTypeKas_IntType6M_p0_: c1_Canonicalizer.o;
|
||||
text: .text%__1cNSharedRuntimeDf2l6Ff_x_;
|
||||
@@ -2422,7 +2320,6 @@ text: .text%__1cRComputeEntryStackIdo_float6M_v_: generateOopMap.o;
|
||||
text: .text%__1cTMaskFillerForNativeIpass_int6M_v_: oopMapCache.o;
|
||||
text: .text%__1cHnmethodSflush_dependencies6MpnRBoolObjectClosure__v_;
|
||||
text: .text%__1cNinstanceKlassYremove_dependent_nmethod6MpnHnmethod__v_;
|
||||
text: .text%__1cFVTuneOdelete_nmethod6FpnHnmethod__v_;
|
||||
text: .text%__1cLCardTableRSFclear6MnJMemRegion__v_: cardTableRS.o;
|
||||
text: .text%__1cRCardTableModRefBSFclear6MnJMemRegion__v_;
|
||||
text: .text%__1cHnmethodFflush6M_v_;
|
||||
@@ -2445,9 +2342,7 @@ text: .text%__1cNCanonicalizerPdo_UnsafeGetRaw6MpnMUnsafeGetRaw__v_;
|
||||
text: .text%__1cMGraphBuilderNlookup_switch6M_v_;
|
||||
text: .text%__1cMLookupSwitchFvisit6MpnSInstructionVisitor__v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cNCanonicalizerPdo_LookupSwitch6MpnMLookupSwitch__v_;
|
||||
text: .text%__1cMUnsafePutRawPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorPdo_UnsafePutRaw6MpnMUnsafePutRaw__v_;
|
||||
text: .text%__1cLUnsafeRawOpPinput_values_do6MpFppnLInstruction__v_v_: c1_GraphBuilder.o;
|
||||
text: .text%__1cQNullCheckVisitorPdo_UnsafeGetRaw6MpnMUnsafeGetRaw__v_;
|
||||
text: .text%__1cQNullCheckVisitorPdo_LookupSwitch6MpnMLookupSwitch__v_;
|
||||
text: .text%__1cIRuntime1Mnew_instance6FpnKJavaThread_pnMklassOopDesc__v_;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,6 @@ text = LOAD ?RXO;
|
||||
|
||||
text: .text%__1cCosOjavaTimeMillis6F_x_;
|
||||
text: .text%__1cQIndexSetIteratorQadvance_and_next6M_I_;
|
||||
text: .text%__1cNinstanceKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cNinstanceKlassToop_adjust_pointers6MpnHoopDesc__i_;
|
||||
text: .text%__1cNinstanceKlassToop_follow_contents6MpnHoopDesc__v_;
|
||||
text: .text%__1cOtypeArrayKlassToop_adjust_pointers6MpnHoopDesc__i_;
|
||||
@@ -33,7 +32,6 @@ text: .text%__1cETypeFuhash6Fkpk0_i_;
|
||||
text: .text%__1cQIndexSetIteratorEnext6M_I_: chaitin.o;
|
||||
text: .text%__1cENodeIout_grow6MI_v_;
|
||||
text: .text%__1cOloadConI13NodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cNobjArrayKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cENodeHadd_req6Mp0_v_;
|
||||
text: .text%__1cJMarkSweepUAdjustPointerClosureGdo_oop6MppnHoopDesc__v_: markSweep.o;
|
||||
text: .text%__1cNobjArrayKlassToop_follow_contents6MpnHoopDesc__v_;
|
||||
@@ -45,7 +43,6 @@ text: .text%__1cHPhiNodeGOpcode6kM_i_;
|
||||
text: .text%__1cKbranchNodeNis_block_proj6kM_pknENode__: ad_sparc_misc.o;
|
||||
text: .text%__1cIProjNodeGOpcode6kM_i_;
|
||||
text: .text%__1cETypeIhashcons6M_pk0_;
|
||||
text: .text%__1cOPhaseIdealLoopUbuild_loop_late_post6MpnENode_pk0_v_;
|
||||
text: .text%__1cMPhaseChaitinTinterfere_with_live6MIpnIIndexSet__v_;
|
||||
text: .text%__1cWNode_Backward_IteratorEnext6M_pnENode__;
|
||||
text: .text%__1cNIdealLoopTreeJis_member6kMpk0_i_;
|
||||
@@ -154,7 +151,6 @@ text: .text%__1cETypeFxmeet6kMpk0_2_;
|
||||
text: .text%__1cILRG_ListGextend6MII_v_;
|
||||
text: .text%__1cJVectorSet2F6kMI_i_;
|
||||
text: .text%__1cENodeQIdeal_DU_postCCP6MpnIPhaseCCP__p0_;
|
||||
text: .text%__1cOtypeArrayKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cIProjNodeEhash6kM_I_;
|
||||
text: .text%__1cIAddINodeGOpcode6kM_i_;
|
||||
text: .text%__1cIIndexSet2t6Mp0_v_;
|
||||
@@ -168,7 +164,6 @@ text: .text%__1cICmpPNodeGOpcode6kM_i_;
|
||||
text: .text%__1cKNode_ArrayGremove6MI_v_;
|
||||
text: .text%__1cHPhiNodeEhash6kM_I_;
|
||||
text: .text%__1cLSymbolTableGlookup6FpkcipnGThread__pnNsymbolOopDesc__;
|
||||
text: .text%__1cKoopFactoryKnew_symbol6FpkcipnGThread__pnNsymbolOopDesc__;
|
||||
text: .text%__1cKmethodOperJnum_edges6kM_I_: ad_sparc.o;
|
||||
text: .text%__1cJStartNodeLbottom_type6kM_pknEType__;
|
||||
text: .text%__1cHTypeIntFxmeet6kMpknEType__3_;
|
||||
@@ -502,7 +497,6 @@ text: .text%__1cNObjectMonitorFenter6MpnGThread__v_;
|
||||
text: .text%__1cENodeKreplace_by6Mp0_v_;
|
||||
text: .text%__1cSObjectSynchronizerJslow_exit6FpnHoopDesc_pnJBasicLock_pnGThread__v_;
|
||||
text: .text%__1cMMergeMemNodePiteration_setup6Mpk0_v_;
|
||||
text: .text%__1cFKlassNlookup_method6kMpnNsymbolOopDesc_2_pnNmethodOopDesc__;
|
||||
text: .text%__1cKDictionaryEfind6MiInMsymbolHandle_nGHandle_2pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cRMachSpillCopyNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cKRegionNodeIIdentity6MpnOPhaseTransform__pnENode__;
|
||||
@@ -605,7 +599,6 @@ text: .text%__1cMTypeKlassPtrEhash6kM_i_;
|
||||
text: .text%__1cMCallLeafNodeGOpcode6kM_i_;
|
||||
text: .text%__1cSCallLeafDirectNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cHPhiNodeEmake6FpnENode_2pknEType_pknHTypePtr__p0_;
|
||||
text: .text%__1cIAddPNodeQmach_bottom_type6FpknIMachNode__pknEType__;
|
||||
text: .text%__1cOcompU_iRegNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cJiRegLOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cNflagsRegPOperKin_RegMask6kMi_pknHRegMask__;
|
||||
@@ -640,7 +633,6 @@ text: .text%__1cJStartNodeGOpcode6kM_i_;
|
||||
text: .text%__1cQregF_to_stkINodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cENodeDcmp6kMrk0_I_;
|
||||
text: .text%__1cHTypeIntFxdual6kM_pknEType__;
|
||||
text: .text%__1cIciObjectIencoding6M_pnI_jobject__;
|
||||
text: .text%__1cMmerge_region6FpnKRegionNode_pnIPhaseGVN__pnENode__: cfgnode.o;
|
||||
text: .text%__1cJAssemblerOpatched_branch6Fiii_i_;
|
||||
text: .text%__1cJAssemblerSbranch_destination6Fii_i_;
|
||||
@@ -738,10 +730,7 @@ text: .text%__1cMLinkResolverOresolve_invoke6FrnICallInfo_nGHandle_nSconstantPoo
|
||||
text: .text%__1cIBoolNodeJideal_reg6kM_I_: subnode.o;
|
||||
text: .text%__1cHCmpNodeJideal_reg6kM_I_: classes.o;
|
||||
text: .text%__1cRloadConP_pollNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cETypeFwiden6kMpk0_2_: type.o;
|
||||
text: .text%__1cLstoreI0NodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cFciEnvTget_method_by_index6MpnPciInstanceKlass_inJBytecodesECode__pnIciMethod__;
|
||||
text: .text%__1cFciEnvYget_method_by_index_impl6MpnPciInstanceKlass_inJBytecodesECode__pnIciMethod__;
|
||||
text: .text%__1cMloadConPNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cFciEnvNlookup_method6MpnNinstanceKlass_2pnNsymbolOopDesc_4nJBytecodesECode__pnNmethodOopDesc__;
|
||||
text: .text%__1cKDictionaryKfind_class6MiInMsymbolHandle_nGHandle__pnMklassOopDesc__;
|
||||
@@ -755,7 +744,6 @@ text: .text%__1cSInterpreterRuntimeMmonitorenter6FpnKJavaThread_pnPBasicObjectLo
|
||||
text: .text%__1cSInterpreterRuntimePresolve_get_put6FpnKJavaThread_nJBytecodesECode__v_;
|
||||
text: .text%__1cQsubI_reg_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cXmembar_acquire_lockNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cQaddP_reg_regNodeLbottom_type6kM_pknEType__: ad_sparc_misc.o;
|
||||
text: .text%__1cPCountedLoopNodeGOpcode6kM_i_;
|
||||
text: .text%__1cSInterpreterRuntimeLmonitorexit6FpnKJavaThread_pnPBasicObjectLock__v_;
|
||||
text: .text%__1cIAndLNodeGOpcode6kM_i_;
|
||||
@@ -826,7 +814,6 @@ text: .text%__1cURethrowExceptionNodeNis_block_proj6kM_pknENode__: ad_sparc_misc
|
||||
text: .text%__1cQSystemDictionarybOfind_constrained_instance_or_array_klass6FnMsymbolHandle_nGHandle_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cQsubI_reg_regNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cJloadBNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cIciSymbol2t6MnMsymbolHandle__v_;
|
||||
text: .text%__1cQaddP_reg_regNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cKmethodOperGmethod6kM_i_: ad_sparc.o;
|
||||
text: .text%__1cFKlassIsubklass6kM_p0_;
|
||||
@@ -946,7 +933,6 @@ text: .text%__1cIGraphKitOreplace_in_map6MpnENode_2_v_;
|
||||
text: .text%__1cNinstanceKlassLfind_method6kMpnNsymbolOopDesc_2_pnNmethodOopDesc__;
|
||||
text: .text%__1cHCompileKTracePhase2T6M_v_;
|
||||
text: .text%__1cMPhaseChaitinLclone_projs6MpnFBlock_IpnENode_4rI_i_;
|
||||
text: .text%__1cNinstanceKlassSlookup_osr_nmethod6kMkpnNmethodOopDesc_i_pnHnmethod__;
|
||||
text: .text%__1cIJVMState2t6MpnIciMethod_p0_v_;
|
||||
text: .text%__1cIHaltNode2t6MpnENode_2_v_;
|
||||
text: .text%__1cLOptoRuntimeSuncommon_trap_Type6F_pknITypeFunc__;
|
||||
@@ -954,7 +940,6 @@ text: .text%__1cJloadLNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cSsafePoint_pollNodePoper_input_base6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cINodeHashJhash_find6MpknENode__p1_;
|
||||
text: .text%__1cQmulL_reg_regNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cSaddP_reg_imm13NodeLbottom_type6kM_pknEType__: ad_sparc_misc.o;
|
||||
text: .text%__1cOMethodLivenessKBasicBlock2t6Mp0ii_v_;
|
||||
text: .text%__1cOMethodLivenessKBasicBlockQcompute_gen_kill6MpnIciMethod__v_;
|
||||
text: .text%__1cOGenerateOopMapFppush6MpnNCellTypeState__v_;
|
||||
@@ -987,7 +972,6 @@ text: .text%__1cFParseHdo_call6M_v_;
|
||||
text: .text%__1cNloadConP0NodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cHMulNodeFValue6kMpnOPhaseTransform__pknEType__;
|
||||
text: .text%__1cMPhaseIterGVNJtransform6MpnENode__2_;
|
||||
text: .text%__1cHTypeIntFwiden6kMpknEType__3_;
|
||||
text: .text%__1cSsafePoint_pollNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cJloadSNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cKarrayKlassLobject_size6kMi_i_;
|
||||
@@ -1019,7 +1003,6 @@ text: .text%__1cIBoolNodeHsize_of6kM_I_;
|
||||
text: .text%__1cSobjArrayKlassKlassIoop_size6kMpnHoopDesc__i_: objArrayKlassKlass.o;
|
||||
text: .text%__1cPcompP_iRegPNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cJloadPNodeOmemory_operand6kM_pknIMachOper__;
|
||||
text: .text%__1cPBytecode_invokeJsignature6kM_pnNsymbolOopDesc__;
|
||||
text: .text%__1cFframebGinterpreter_callee_receiver_addr6MnMsymbolHandle__ppnHoopDesc__;
|
||||
text: .text%__1cNSignatureInfoGdo_int6M_v_: bytecode.o;
|
||||
text: .text%__1cOstackSlotLOperKin_RegMask6kMi_pknHRegMask__;
|
||||
@@ -1038,9 +1021,7 @@ text: .text%__1cMloadConINodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cGIfNodeHsize_of6kM_I_: classes.o;
|
||||
text: .text%__1cPconvL2I_regNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cIimmLOperJconstantL6kM_x_: ad_sparc_clone.o;
|
||||
text: .text%__1cTStackWalkCompPolicyRcompilation_level6MnMmethodHandle_i_i_;
|
||||
text: .text%jni_GetByteArrayRegion: jni.o;
|
||||
text: .text%__1cIGraphKitTset_all_memory_call6MpnENode__v_;
|
||||
text: .text%__1cSHighResTimeSamplerLtake_sample6M_x_: statSampler.o;
|
||||
text: .text%__1cHCompileFstart6kM_pnJStartNode__;
|
||||
text: .text%__1cPStatSamplerTaskEtask6M_v_: statSampler.o;
|
||||
@@ -1082,7 +1063,6 @@ text: .text%__1cXinitialize_static_field6FpnPfieldDescriptor_pnGThread__v_: clas
|
||||
text: .text%__1cURethrowExceptionNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cOJNIHandleBlockOallocate_block6FpnGThread__p0_;
|
||||
text: .text%__1cNSignatureInfoHdo_bool6M_v_: bytecode.o;
|
||||
text: .text%__1cKBufferBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cSandI_reg_imm13NodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cIAddINodeIadd_ring6kMpknEType_3_3_;
|
||||
text: .text%__1cLTypeInstPtrQcast_to_ptr_type6kMnHTypePtrDPTR__pknEType__;
|
||||
@@ -1095,7 +1075,6 @@ text: .text%__1cPorI_reg_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cLRethrowNodeGOpcode6kM_i_;
|
||||
text: .text%__1cJloadSNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cICodeHeapIcapacity6kM_I_;
|
||||
text: .text%__1cKMemoryPoolImax_size6kM_I_: memoryPool.o;
|
||||
text: .text%__1cMCodeHeapPoolNused_in_bytes6M_I_: memoryPool.o;
|
||||
text: .text%__1cPcmpFastLockNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cMCodeHeapPoolQget_memory_usage6M_nLMemoryUsage__;
|
||||
@@ -1136,7 +1115,6 @@ text: .text%__1cJloadSNodePoper_input_base6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cIJumpDataKcell_count6M_i_: ciMethodData.o;
|
||||
text: .text%__1cObranchConPNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cITypeFuncFxdual6kM_pknEType__;
|
||||
text: .text%__1cQjava_lang_StringGlength6FpnHoopDesc__i_;
|
||||
text: .text%__1cFStateM_sub_Op_CmpI6MpknENode__v_;
|
||||
text: .text%__1cJcmpOpOperFccode6kM_i_: ad_sparc_clone.o;
|
||||
text: .text%__1cGciType2t6MnLKlassHandle__v_;
|
||||
@@ -1200,7 +1178,6 @@ text: .text%__1cQmulL_reg_regNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cLstoreP0NodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cLRethrowNodeKmatch_edge6kMI_I_;
|
||||
text: .text%__1cFTypeFEhash6kM_i_;
|
||||
text: .text%__1cHnmethodHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cFStateM_sub_Op_AddI6MpknENode__v_;
|
||||
text: .text%__1cOParseGeneratorIgenerate6MpnIJVMState__2_;
|
||||
text: .text%__1cFParseQcreate_entry_map6M_pnNSafePointNode__;
|
||||
@@ -1213,17 +1190,13 @@ text: .text%__1cFParsePdo_method_entry6M_v_;
|
||||
text: .text%__1cNCallGeneratorKfor_inline6FpnIciMethod_f_p0_;
|
||||
text: .text%__1cbGJvmtiVMObjectAllocEventCollector2t6M_v_;
|
||||
text: .text%__1cbGJvmtiVMObjectAllocEventCollector2T6M_v_;
|
||||
text: .text%__1cQconstMethodKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cRciVirtualCallDataOtranslate_from6MpnLProfileData__v_;
|
||||
text: .text%jni_IsSameObject: jni.o;
|
||||
text: .text%__1cMloadConINodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cNbranchConNodeJlabel_set6MrnFLabel_I_v_;
|
||||
text: .text%__1cNbranchConNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cQandL_reg_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cLmethodKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cLsymbolKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cIciObjectFklass6M_pnHciKlass__;
|
||||
text: .text%__1cLSymbolTableFprobe6Fpkci_pnNsymbolOopDesc__;
|
||||
text: .text%__1cPThreadLocalNodeGOpcode6kM_i_;
|
||||
text: .text%__1cZPhaseConservativeCoalesceKupdate_ifg6MIIpnIIndexSet_2_v_;
|
||||
text: .text%__1cZPhaseConservativeCoalesceMunion_helper6MpnENode_2II222pnFBlock_I_v_;
|
||||
@@ -1244,7 +1217,6 @@ text: .text%__1cRshrP_reg_imm5NodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cQandI_reg_regNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cIciMethodbBinterpreter_call_site_count6Mi_i_;
|
||||
text: .text%__1cGBitMapIset_from6M0_v_;
|
||||
text: .text%__1cNCompileBrokerOcompile_method6FnMmethodHandle_i1ipkcpnGThread__pnHnmethod__;
|
||||
text: .text%__1cTconstantPoolOopDescbDresolve_string_constants_impl6FnSconstantPoolHandle_pnGThread__v_;
|
||||
text: .text%__1cHSubNodeIIdentity6MpnOPhaseTransform__pnENode__;
|
||||
text: .text%__1cFChunk2n6FII_pv_;
|
||||
@@ -1278,7 +1250,6 @@ text: .text%__1cNCatchProjNodeDcmp6kMrknENode__I_;
|
||||
text: .text%__1cKTypeOopPtrEhash6kM_i_;
|
||||
text: .text%__1cIMinINodeGOpcode6kM_i_;
|
||||
text: .text%__1cMURShiftINodeIIdentity6MpnOPhaseTransform__pnENode__;
|
||||
text: .text%__1cFframeRoops_code_blob_do6MpnKOopClosure_pknLRegisterMap__v_;
|
||||
text: .text%__1cKTypeRawPtrFxmeet6kMpknEType__3_;
|
||||
text: .text%JVM_GetMethodIxModifiers;
|
||||
text: .text%__1cIMulLNodeLbottom_type6kM_pknEType__: classes.o;
|
||||
@@ -1325,7 +1296,6 @@ text: .text%__1cSconvI2D_helperNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cPClassFileStreamHskip_u26MipnGThread__v_;
|
||||
text: .text%__1cUcompI_iReg_imm13NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cOMacroAssemblerNverify_thread6M_v_;
|
||||
text: .text%__1cIGraphKitZset_results_for_java_call6MpnMCallJavaNode__pnENode__;
|
||||
text: .text%__1cSbranchCon_longNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cHnmethodVcleanup_inline_caches6M_v_;
|
||||
text: .text%__1cTciConstantPoolCacheGinsert6Mipv_v_;
|
||||
@@ -1356,12 +1326,9 @@ text: .text%__1cKoopFactoryTnew_system_objArray6FipnGThread__pnPobjArrayOopDesc_
|
||||
text: .text%__1cbDcatch_cleanup_find_cloned_def6FpnFBlock_pnENode_1rnLBlock_Array_i_3_: lcm.o;
|
||||
text: .text%__1cQxorI_reg_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cKstoreLNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cFciEnvVget_constant_by_index6MpnPciInstanceKlass_i_nKciConstant__;
|
||||
text: .text%__1cFciEnvbAget_constant_by_index_impl6MpnPciInstanceKlass_i_nKciConstant__;
|
||||
text: .text%__1cOClearArrayNodeKmatch_edge6kMI_I_;
|
||||
text: .text%__1cPconvL2I_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cJloadSNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cKJavaThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cSFixupMirrorClosureJdo_object6MpnHoopDesc__v_: universe.o;
|
||||
text: .text%__1cFStateP_sub_Op_LShiftI6MpknENode__v_;
|
||||
text: .text%__1cQandL_reg_regNodeLout_RegMask6kM_rknHRegMask__;
|
||||
@@ -1387,7 +1354,6 @@ text: .text%__1cOAbstractICacheQinvalidate_range6FpCi_v_;
|
||||
text: .text%__1cKstorePNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cIMaxINodeGOpcode6kM_i_;
|
||||
text: .text%__1cTDirectCallGeneratorIgenerate6MpnIJVMState__2_;
|
||||
text: .text%__1cNCallGeneratorPfor_direct_call6FpnIciMethod__p0_;
|
||||
text: .text%__1cMWarmCallInfoLalways_cold6F_p0_;
|
||||
text: .text%__1cIimmDOperJconstantD6kM_d_: ad_sparc_clone.o;
|
||||
text: .text%__1cIPhaseIFGEinit6MI_v_;
|
||||
@@ -1512,7 +1478,6 @@ text: .text%__1cPciObjectFactoryMvm_symbol_at6Fi_pnIciSymbol__;
|
||||
text: .text%__1cKDictionaryJadd_klass6MnMsymbolHandle_nGHandle_nLKlassHandle__v_;
|
||||
text: .text%__1cVshrL_reg_imm6_L2INodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cZCallDynamicJavaDirectNodePoper_input_base6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cIGraphKitTcreate_and_xform_if6MpnENode_2ff_pnGIfNode__: graphKit.o;
|
||||
text: .text%__1cWImplicitExceptionTableGappend6MII_v_;
|
||||
text: .text%__1cRMachNullCheckNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cLProfileDataPpost_initialize6MpnOBytecodeStream_pnRmethodDataOopDesc__v_: ciMethodData.o;
|
||||
@@ -1534,14 +1499,12 @@ text: .text%__1cFKlassMset_subklass6MpnMklassOopDesc__v_;
|
||||
text: .text%__1cOGenerateOopMapLmerge_state6Fp0ipi_v_;
|
||||
text: .text%__1cMTypeKlassPtrFxdual6kM_pknEType__;
|
||||
text: .text%__1cQSystemDictionaryVdefine_instance_class6FnTinstanceKlassHandle_pnGThread__v_;
|
||||
text: .text%__1cSinstanceKlassKlassXallocate_instance_klass6MiiiinNReferenceType_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cPClassFileParserbBcheck_final_method_override6FnTinstanceKlassHandle_pnGThread__v_;
|
||||
text: .text%__1cJCodeCachebKnumber_of_nmethods_with_dependencies6F_i_;
|
||||
text: .text%__1cNinstanceKlassQinit_implementor6M_v_;
|
||||
text: .text%__1cPClassFileStream2t6MpCipc_v_;
|
||||
text: .text%__1cNinstanceKlassSprocess_interfaces6MpnGThread__v_;
|
||||
text: .text%__1cNinstanceKlassYcompute_secondary_supers6MipnGThread__pnPobjArrayOopDesc__;
|
||||
text: .text%__1cKoopFactoryRnew_instanceKlass6FiiiinNReferenceType_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cNinstanceKlassWdo_local_static_fields6MpFpnPfieldDescriptor_pnGThread__v4_v_;
|
||||
text: .text%__1cPClassFileParserMsort_methods6MnOobjArrayHandle_111pnGThread__nPtypeArrayHandle__;
|
||||
text: .text%__1cFKlassKsuperklass6kM_pnNinstanceKlass__;
|
||||
@@ -1561,22 +1524,17 @@ text: .text%__1cISubINodeJideal_reg6kM_I_: classes.o;
|
||||
text: .text%__1cNinstanceKlassOset_alloc_size6MI_v_: instanceKlass.o;
|
||||
text: .text%__1cNinstanceKlassSallocate_permanent6kMrnLKlassHandle_ipnGThread__pv_: instanceKlass.o;
|
||||
text: .text%__1cHMemNodeHsize_of6kM_I_;
|
||||
text: .text%__1cFVTuneQstart_class_load6F_v_;
|
||||
text: .text%__1cSThreadProfilerMark2T6M_v_;
|
||||
text: .text%__1cFVTuneOend_class_load6F_v_;
|
||||
text: .text%__1cLClassLoaderOload_classfile6FnMsymbolHandle_pnGThread__nTinstanceKlassHandle__;
|
||||
text: .text%__1cJEventMark2t6MpkcE_v_: classLoader.o;
|
||||
text: .text%__1cSThreadProfilerMark2t6Mn0AGRegion__v_;
|
||||
text: .text%__1cQSystemDictionaryRload_shared_class6FnTinstanceKlassHandle_nGHandle_pnGThread__1_;
|
||||
text: .text%__1cKklassKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cPClassFileParserbKparse_classfile_sourcefile_attribute6MnSconstantPoolHandle_nTinstanceKlassHandle_pnGThread__v_;
|
||||
text: .text%__1cQmodI_reg_regNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cLRShiftINodeLbottom_type6kM_pknEType__: classes.o;
|
||||
text: .text%__1cKCMoveINodeGOpcode6kM_i_;
|
||||
text: .text%__1cLLShiftLNodeGOpcode6kM_i_;
|
||||
text: .text%__1cYcompareAndSwapL_boolNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cSinstanceKlassKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cNinstanceKlassScopy_static_fields6MpnSPSPromotionManager__v_;
|
||||
text: .text%__1cMtlsLoadPNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cFStateQ_sub_Op_URShiftI6MpknENode__v_;
|
||||
text: .text%__1cKcmpOpUOperGnegate6M_v_: ad_sparc_clone.o;
|
||||
@@ -1626,7 +1584,6 @@ text: .text%__1cTOopMapForCacheEntryZfill_stackmap_for_opcodes6MpnOBytecodeStrea
|
||||
text: .text%__1cSaddL_reg_imm13NodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cQshrL_reg_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cKstoreLNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cNSharedRuntimebKexception_handler_for_return_address6FpC_1_;
|
||||
text: .text%__1cILoopNodeHsize_of6kM_I_: classes.o;
|
||||
text: .text%__1cHMatcherLfind_shared6MpnENode__v_;
|
||||
text: .text%__1cJStartNodeHsize_of6kM_I_;
|
||||
@@ -1643,8 +1600,6 @@ text: .text%__1cRcompL_reg_conNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cMLinkResolverbHlookup_instance_method_in_klasses6FrnMmethodHandle_nLKlassHandle_nMsymbolHandle_4pnGThread__v_;
|
||||
text: .text%__1cMnegF_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cNSharedRuntimebWnative_method_throw_unsatisfied_link_error_entry6F_pC_;
|
||||
text: .text%__1cTStackWalkCompPolicyYmethod_back_branch_event6MnMmethodHandle_iipnGThread__v_;
|
||||
text: .text%__1cRCompilationPolicybJreset_counter_for_back_branch_event6MnMmethodHandle__v_;
|
||||
text: .text%__1cOMethodLivenessQcompute_liveness6M_v_;
|
||||
text: .text%__1cOMethodLiveness2t6MpnFArena_pnIciMethod__v_;
|
||||
text: .text%__1cOMethodLivenessNinit_gen_kill6M_v_;
|
||||
@@ -1654,7 +1609,6 @@ text: .text%__1cIGraphKitHopt_iff6MpnENode_2_2_;
|
||||
text: .text%__1cLRShiftINodeIIdentity6MpnOPhaseTransform__pnENode__;
|
||||
text: .text%__1cJTimeStampGupdate6M_v_;
|
||||
text: .text%__1cRmethodDataOopDescKmileage_of6FpnNmethodOopDesc__i_;
|
||||
text: .text%__1cWconstantPoolCacheKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cMloadConDNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cFParseQarray_addressing6MnJBasicType_ippknEType__pnENode__;
|
||||
text: .text%__1cNloadConP0NodeLout_RegMask6kM_rknHRegMask__;
|
||||
@@ -1673,7 +1627,6 @@ text: .text%__1cWstatic_call_RelocationEtype6M_nJrelocInfoJrelocType__: relocInf
|
||||
text: .text%__1cNflagsRegLOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cYciExceptionHandlerStreamPcount_remaining6M_i_;
|
||||
text: .text%__1cFParseXcatch_inline_exceptions6MpnNSafePointNode__v_;
|
||||
text: .text%__1cRconstantPoolKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cNobjArrayKlassKcopy_array6MpnMarrayOopDesc_i2iipnGThread__v_;
|
||||
text: .text%__1cKcmpOpUOperNgreater_equal6kM_i_: ad_sparc_clone.o;
|
||||
text: .text%JVM_GetFieldIxModifiers;
|
||||
@@ -1698,7 +1651,6 @@ text: .text%__1cKo0RegPOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cIregDOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cNmethodOopDescTverified_code_entry6M_pC_;
|
||||
text: .text%__1cNSharedRuntimeXfind_callee_info_helper6FpnKJavaThread_rnMvframeStream_rnJBytecodesECode_rnICallInfo_pnGThread__nGHandle__;
|
||||
text: .text%__1cPBytecode_invokeFindex6kM_i_;
|
||||
text: .text%__1cLRethrowNodeFValue6kMpnOPhaseTransform__pknEType__;
|
||||
text: .text%__1cSPSKeepAliveClosureGdo_oop6MppnHoopDesc__v_: psScavenge.o;
|
||||
text: .text%__1cFParseFBlockRsuccessor_for_bci6Mi_p1_;
|
||||
@@ -1736,7 +1688,6 @@ text: .text%__1cJCodeCacheMfind_nmethod6Fpv_pnHnmethod__;
|
||||
text: .text%__1cOPhaseIdealLoopMdominated_by6MpnENode_2_v_;
|
||||
text: .text%__1cQshlI_reg_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cFParseNthrow_to_exit6MpnNSafePointNode__v_;
|
||||
text: .text%__1cQinstanceRefKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cVConstantOopWriteValueIwrite_on6MpnUDebugInfoWriteStream__v_;
|
||||
text: .text%__1cJVectorSetGslamin6Mrk0_v_;
|
||||
text: .text%JVM_Clone;
|
||||
@@ -1772,7 +1723,6 @@ text: .text%__1cXmembar_release_lockNodeIadr_type6kM_pknHTypePtr__;
|
||||
text: .text%__1cJNode_ListEyank6MpnENode__v_;
|
||||
text: .text%__1cMPhaseChaitinISimplify6M_v_;
|
||||
text: .text%__1cNIdealLoopTreeIset_nest6MI_i_;
|
||||
text: .text%__1cSCallLeafDirectNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cIMulLNodeImul_ring6kMpknEType_3_3_;
|
||||
text: .text%__1cMStartOSRNodeGOpcode6kM_i_;
|
||||
text: .text%__1cSCallLeafDirectNodeLout_RegMask6kM_rknHRegMask__;
|
||||
@@ -1792,7 +1742,6 @@ text: .text%__1cSMemBarVolatileNodeGOpcode6kM_i_;
|
||||
text: .text%__1cLstoreB0NodeOmemory_operand6kM_pknIMachOper__;
|
||||
text: .text%__1cRshrI_reg_imm5NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cQjava_lang_StringOas_utf8_string6FpnHoopDesc__pc_;
|
||||
text: .text%__1cRcmpFastUnlockNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cNSafePointNodeLpop_monitor6M_v_;
|
||||
text: .text%__1cMPhaseChaitinVfind_base_for_derived6MppnENode_2rI_2_;
|
||||
text: .text%__1cLOptoRuntimebAcomplete_monitor_exit_Type6F_pknITypeFunc__;
|
||||
@@ -1824,8 +1773,6 @@ text: .text%__1cOGenerateOopMapGdo_ldc6Mii_v_;
|
||||
text: .text%__1cJCMoveNodeLis_cmove_id6FpnOPhaseTransform_pnENode_44pnIBoolNode__4_;
|
||||
text: .text%__1cKTypeAryPtrQcast_to_ptr_type6kMnHTypePtrDPTR__pknEType__;
|
||||
text: .text%__1cOPhaseIdealLoopKDominators6M_v_;
|
||||
text: .text%__1cOPhaseIdealLoopPbuild_loop_late6MrnJVectorSet_rnJNode_List_rnKNode_Stack_pk0_v_;
|
||||
text: .text%__1cOPhaseIdealLoopQbuild_loop_early6MrnJVectorSet_rnJNode_List_rnKNode_Stack_pk0_v_;
|
||||
text: .text%jni_NewGlobalRef: jni.o;
|
||||
text: .text%__1cTciConstantPoolCache2t6MpnFArena_i_v_;
|
||||
text: .text%__1cIAndINodeJideal_reg6kM_I_: classes.o;
|
||||
@@ -1981,10 +1928,8 @@ text: .text%__1cFciEnvKcompile_id6M_I_;
|
||||
text: .text%__1cPmethodDataKlassIallocate6MnMmethodHandle_pnGThread__pnRmethodDataOopDesc__;
|
||||
text: .text%__1cKoopFactoryOnew_methodData6FnMmethodHandle_pnGThread__pnRmethodDataOopDesc__;
|
||||
text: .text%__1cIAndLNodeJideal_reg6kM_I_: classes.o;
|
||||
text: .text%__1cKCodeBuffer2t6MpCi_v_;
|
||||
text: .text%__1cVshrL_reg_imm6_L2INodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cLConvL2INodeIIdentity6MpnOPhaseTransform__pnENode__;
|
||||
text: .text%__1cIciMethodRinstructions_size6M_i_;
|
||||
text: .text%__1cSmulI_reg_imm13NodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cCosXthread_local_storage_at6Fi_pv_;
|
||||
text: .text%__1cMindIndexOperNconstant_disp6kM_i_: ad_sparc.o;
|
||||
@@ -2013,7 +1958,6 @@ text: .text%__1cLOpaque2NodeLbottom_type6kM_pknEType__: connode.o;
|
||||
text: .text%__1cSconvI2D_helperNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cUPSGenerationCountersKupdate_all6M_v_: psGenerationCounters.o;
|
||||
text: .text%__1cQComputeCallStackHdo_long6M_v_: generateOopMap.o;
|
||||
text: .text%__1cKTypeOopPtrSmake_from_constant6FpnIciObject__pk0_;
|
||||
text: .text%__1cQregP_to_stkPNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cOGenerateOopMapHppstore6MpnNCellTypeState_i_v_;
|
||||
text: .text%__1cJTimeStampSticks_since_update6kM_x_;
|
||||
@@ -2038,7 +1982,6 @@ text: .text%__1cIXorINodeGadd_id6kM_pknEType__: classes.o;
|
||||
text: .text%__1cFStateM_sub_Op_AndI6MpknENode__v_;
|
||||
text: .text%__1cVshrL_reg_imm6_L2INodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cKcmpOpFOperJnum_edges6kM_I_: ad_sparc_clone.o;
|
||||
text: .text%__1cLRuntimeStubHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cTmembar_volatileNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cJloadFNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cFStateL_sub_Op_OrI6MpknENode__v_;
|
||||
@@ -2066,7 +2009,6 @@ text: .text%__1cJttyLockerbCbreak_tty_lock_for_safepoint6Fi_v_;
|
||||
text: .text%__1cSmembar_acquireNodeIadr_type6kM_pknHTypePtr__;
|
||||
text: .text%__1cPorI_reg_regNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cIPhaseCFGOinsert_goto_at6MII_v_;
|
||||
text: .text%__1cITypeLongFwiden6kMpknEType__3_;
|
||||
text: .text%__1cSThreadLocalStoragePget_thread_slow6F_pnGThread__;
|
||||
text: .text%__1cPCallRuntimeNodeGOpcode6kM_i_;
|
||||
text: .text%__1cJcmpOpOperNgreater_equal6kM_i_: ad_sparc_clone.o;
|
||||
@@ -2097,7 +2039,6 @@ text: .text%__1cSTailCalljmpIndNodePoper_input_base6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cKstoreLNodeOmemory_operand6kM_pknIMachOper__;
|
||||
text: .text%__1cGIfNodeMdominated_by6MpnENode_pnMPhaseIterGVN__v_;
|
||||
text: .text%__1cOcompiledVFrame2t6MpknFframe_pknLRegisterMap_pnKJavaThread_pnJScopeDesc__v_;
|
||||
text: .text%__1cJScopeDesc2t6MpknHnmethod_i_v_;
|
||||
text: .text%__1cQshlI_reg_regNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cOGenerateOopMapJdo_astore6Mi_v_;
|
||||
text: .text%__1cbFunnecessary_membar_volatileNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
@@ -2127,7 +2068,6 @@ text: .text%__1cLBoxLockNode2t6Mi_v_;
|
||||
text: .text%__1cPconvF2D_regNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cLOptoRuntimebBcomplete_monitor_enter_Type6F_pknITypeFunc__;
|
||||
text: .text%__1cIGraphKitLshared_lock6MpnENode__pnMFastLockNode__;
|
||||
text: .text%__1cPcmpFastLockNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cNloadConP0NodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cRorI_reg_imm13NodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cKcmpOpUOperEless6kM_i_: ad_sparc_clone.o;
|
||||
@@ -2135,7 +2075,6 @@ text: .text%__1cQaddF_reg_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cRLowMemoryDetectorWdetect_after_gc_memory6FpnKMemoryPool__v_;
|
||||
text: .text%lwp_mutex_init: os_solaris.o;
|
||||
text: .text%__1cRsubI_zero_regNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cFframeLnmethods_do6M_v_;
|
||||
text: .text%__1cQjava_lang_ThreadGthread6FpnHoopDesc__pnKJavaThread__;
|
||||
text: .text%__1cQnotemp_iRegIOperEtype6kM_pknEType__: ad_sparc.o;
|
||||
text: .text%__1cITemplateIbytecode6kM_nJBytecodesECode__;
|
||||
@@ -2178,7 +2117,6 @@ text: .text%__1cKManagementJtimestamp6F_x_;
|
||||
text: .text%__1cIPSOldGenPupdate_counters6M_v_;
|
||||
text: .text%__1cQshrI_reg_regNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cFForteNregister_stub6FpkcpC3_v_;
|
||||
text: .text%__1cFVTuneNregister_stub6FpkcpC3_v_;
|
||||
text: .text%__1cNinstanceKlassbFlookup_method_in_all_interfaces6kMpnNsymbolOopDesc_2_pnNmethodOopDesc__;
|
||||
text: .text%__1cTloadL_unalignedNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cJloadLNodeOmemory_operand6kM_pknIMachOper__;
|
||||
@@ -2249,11 +2187,9 @@ text: .text%__1cSmembar_acquireNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cYDebugInformationRecorderHcopy_to6MpnHnmethod__v_;
|
||||
text: .text%__1cVExceptionHandlerTableHcopy_to6MpnHnmethod__v_;
|
||||
text: .text%__1cJCodeCacheGcommit6FpnICodeBlob__v_;
|
||||
text: .text%__1cFVTuneOcreate_nmethod6FpnHnmethod__v_;
|
||||
text: .text%__1cHnmethodQcopy_scopes_data6MpCi_v_;
|
||||
text: .text%__1cFciEnvVnum_inlined_bytecodes6kM_i_;
|
||||
text: .text%__1cWImplicitExceptionTableHcopy_to6MpnHnmethod__v_;
|
||||
text: .text%__1cLOopRecorderHcopy_to6MpnICodeBlob__v_;
|
||||
text: .text%__1cIciMethodRbuild_method_data6M_v_;
|
||||
text: .text%__1cHCompileIOptimize6M_v_;
|
||||
text: .text%__1cHCompileLFinish_Warm6M_v_;
|
||||
@@ -2365,7 +2301,6 @@ text: .text%__1cQmulF_reg_regNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cQxorI_reg_regNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cWCallLeafNoFPDirectNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cLcmpD_ccNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cWCallLeafNoFPDirectNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cJloadINodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cbBopt_virtual_call_RelocationLstatic_stub6M_pC_;
|
||||
text: .text%__1cNTemplateTableDdef6FnJBytecodesECode_inITosState_3pFi_vi_v_;
|
||||
@@ -2392,8 +2327,6 @@ text: .text%__1cSandI_reg_imm13NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cIimmLOperJnum_edges6kM_I_: ad_sparc_clone.o;
|
||||
text: .text%__1cFParseOmerge_new_path6Mi_v_;
|
||||
text: .text%__1cQregP_to_stkPNodeLbottom_type6kM_pknEType__: ad_sparc_misc.o;
|
||||
text: .text%__1cQjava_lang_StringGoffset6FpnHoopDesc__i_;
|
||||
text: .text%__1cQjava_lang_StringFvalue6FpnHoopDesc__pnQtypeArrayOopDesc__;
|
||||
text: .text%__1cQjava_lang_StringScreate_from_symbol6FnMsymbolHandle_pnGThread__nGHandle__;
|
||||
text: .text%__1cSmembar_releaseNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%jni_NewByteArray: jni.o;
|
||||
@@ -2402,7 +2335,6 @@ text: .text%__1cJJavaCallsMcall_special6FpnJJavaValue_nGHandle_nLKlassHandle_nMs
|
||||
text: .text%__1cQSystemDictionarybAvalidate_protection_domain6FnTinstanceKlassHandle_nGHandle_2pnGThread__v_;
|
||||
text: .text%__1cKDictionaryVadd_protection_domain6MiInTinstanceKlassHandle_nGHandle_2pnGThread__v_;
|
||||
text: .text%__1cFParseLdo_newarray6MnJBasicType__v_;
|
||||
text: .text%__1cPmethodDataKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cNmethodOopDescKklass_name6kM_pnNsymbolOopDesc__;
|
||||
text: .text%__1cSconvI2D_helperNodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cLstoreP0NodeLout_RegMask6kM_rknHRegMask__;
|
||||
@@ -2454,7 +2386,6 @@ text: .text%__1cJScopeDescGsender6kM_p0_;
|
||||
text: .text%__1cSxorI_reg_imm13NodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cOcompiledVFrameGsender6kM_pnGvframe__;
|
||||
text: .text%__1cZInterpreterMacroAssemblerDpop6MnITosState__v_;
|
||||
text: .text%__1cGThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cQPlaceholderTableHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cXJvmtiCurrentBreakpointsHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cNMemoryServiceHoops_do6FpnKOopClosure__v_;
|
||||
@@ -2462,7 +2393,6 @@ text: .text%__1cNThreadServiceHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cKJNIHandlesHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cQSystemDictionaryRpreloaded_oops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cLJvmtiExportHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cIVMThreadHoops_do6MpnKOopClosure__v_;
|
||||
text: .text%__1cKJNIHandlesMweak_oops_do6FpnRBoolObjectClosure_pnKOopClosure__v_;
|
||||
text: .text%__1cSObjectSynchronizerHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cMFlatProfilerHoops_do6FpnKOopClosure__v_;
|
||||
@@ -2510,8 +2440,6 @@ text: .text%__1cMTypeKlassPtrFxmeet6kMpknEType__3_;
|
||||
text: .text%__1cKPSYoungGenPupdate_counters6M_v_;
|
||||
text: .text%__1cWThreadLocalAllocBufferbFaccumulate_statistics_before_gc6F_v_;
|
||||
text: .text%__1cWThreadLocalAllocBufferQresize_all_tlabs6F_v_;
|
||||
text: .text%__1cPGCMemoryManagerIgc_begin6M_v_;
|
||||
text: .text%__1cPGCMemoryManagerGgc_end6M_v_;
|
||||
text: .text%__1cRLowMemoryDetectorRdetect_low_memory6F_v_;
|
||||
text: .text%__1cNMemoryServiceStrack_memory_usage6F_v_;
|
||||
text: .text%__1cbAPSGCAdaptivePolicyCountersPupdate_counters6M_v_;
|
||||
@@ -2527,7 +2455,6 @@ text: .text%__1cORuntimeServicebDrecord_safepoint_synchronized6F_v_;
|
||||
text: .text%__1cQaddF_reg_regNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cUSafepointSynchronizeFbegin6F_v_;
|
||||
text: .text%__1cKarrayKlassTallocate_arrayArray6MiipnGThread__pnPobjArrayOopDesc__;
|
||||
text: .text%__1cONMethodSweeperFsweep6F_v_;
|
||||
text: .text%__1cCosbAmake_polling_page_readable6F_v_;
|
||||
text: .text%__1cUSafepointSynchronizeDend6F_v_;
|
||||
text: .text%__1cOcmovII_immNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
@@ -2539,7 +2466,6 @@ text: .text%JVM_GetCallerClass;
|
||||
text: .text%__1cNSignatureInfoHdo_byte6M_v_: bytecode.o;
|
||||
text: .text%__1cOcmovPP_regNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cKstoreBNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cSobjArrayKlassKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cLstoreC0NodePoper_input_base6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cTloadL_unalignedNodePoper_input_base6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cICmpFNodeGOpcode6kM_i_;
|
||||
@@ -2551,7 +2477,6 @@ text: .text%jni_IsAssignableFrom: jni.o;
|
||||
text: .text%jni_GetFieldID: jni.o;
|
||||
text: .text%__1cJLoadPNodeMstore_Opcode6kM_i_: classes.o;
|
||||
text: .text%__1cLstoreB0NodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerbAget_cache_and_index_at_bcp6MpnMRegisterImpl_2i_v_;
|
||||
text: .text%__1cHTypeAryFxdual6kM_pknEType__;
|
||||
text: .text%__1cMtlsLoadPNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cIVMThreadHexecute6FpnMVM_Operation__v_;
|
||||
@@ -2626,9 +2551,7 @@ text: .text%__1cJloadSNodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cRloadConP_pollNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cNObjectMonitorHRecycle6M_v_;
|
||||
text: .text%__1cNSharedRuntimeSfind_callee_method6FpnKJavaThread_pnGThread__nMmethodHandle__;
|
||||
text: .text%__1cMloadConLNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cJloadDNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cQSystemDictionaryTresolve_from_stream6FnMsymbolHandle_nGHandle_2pnPClassFileStream_pnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cQstkI_to_regFNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cQregP_to_stkPNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cZInterpreterMacroAssemblerFpop_i6MpnMRegisterImpl__v_;
|
||||
@@ -2636,7 +2559,6 @@ text: .text%__1cIMaxINodeGadd_id6kM_pknEType__: classes.o;
|
||||
text: .text%__1cNSharedRuntimeTreresolve_call_site6FpnKJavaThread_pnGThread__nMmethodHandle__;
|
||||
text: .text%__1cYcompareAndSwapL_boolNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cNSCMemProjNodeJideal_reg6kM_I_: classes.o;
|
||||
text: .text%__1cYcompareAndSwapL_boolNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cIProjNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cIPSOldGenMmax_gen_size6M_I_: psOldGen.o;
|
||||
text: .text%__1cKExceptionsK_throw_msg6FpnGThread_pkcipnNsymbolOopDesc_4_v_;
|
||||
@@ -2855,7 +2777,6 @@ text: .text%__1cOstackSlotPOperEtype6kM_pknEType__: ad_sparc.o;
|
||||
text: .text%jni_GetMethodID: jni.o;
|
||||
text: .text%__1cQshlL_reg_regNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cIMulINodeJideal_reg6kM_I_: classes.o;
|
||||
text: .text%__1cNminI_eRegNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cRshlI_reg_imm5NodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%__1cOloadConL13NodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cNObjectMonitorGnotify6MpnGThread__v_;
|
||||
@@ -2877,7 +2798,6 @@ text: .text%__1cQcmovI_reg_ltNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cNloadConL0NodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cKo1RegPOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cSsubL_reg_reg_1NodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cIBytecodeIset_code6MnJBytecodesECode__v_;
|
||||
text: .text%__1cQshrL_reg_regNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cRsarL_reg_imm6NodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cJloadFNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
@@ -2948,7 +2868,6 @@ text: .text%__1cFStateM_sub_Op_SubL6MpknENode__v_;
|
||||
text: .text%__1cKCompiledICMstub_address6kM_pC_;
|
||||
text: .text%__1cJvmSymbolsOsignature_type6FpnNsymbolOopDesc__nJBasicType__;
|
||||
text: .text%__1cQsubL_reg_regNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cQmodI_reg_regNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cISubDNodeGOpcode6kM_i_;
|
||||
text: .text%__1cQmodI_reg_regNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cPfieldDescriptorLannotations6kM_pnQtypeArrayOopDesc__;
|
||||
@@ -2986,7 +2905,6 @@ text: .text%__1cRtestI_reg_immNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cJMemRegionMintersection6kMk0_0_;
|
||||
text: .text%__1cKJavaThread2t6MpFp0pnGThread__vI_v_;
|
||||
text: .text%__1cKJavaThreadDrun6M_v_;
|
||||
text: .text%__1cNSafepointBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cPjava_lang_ClassOprimitive_type6FpnHoopDesc__nJBasicType__;
|
||||
text: .text%JVM_IsArrayClass;
|
||||
text: .text%jni_CallStaticVoidMethod: jni.o;
|
||||
@@ -3017,14 +2935,12 @@ text: .text%__1cXNativeSignatureIteratorGdo_int6M_v_: interpreterRT_sparc.o;
|
||||
text: .text%__1cINodeHashEgrow6M_v_;
|
||||
text: .text%__1cOGenerateOopMapPdo_monitorenter6Mi_v_;
|
||||
text: .text%__1cOcmovPP_regNodeLbottom_type6kM_pknEType__: ad_sparc_misc.o;
|
||||
text: .text%__1cMloadConDNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cIMaxINodeIadd_ring6kMpknEType_3_3_;
|
||||
text: .text%__1cJloadSNodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%__1cOGenerateOopMapLcompute_map6MpnGThread__v_;
|
||||
text: .text%__1cLConvF2DNodeLbottom_type6kM_pknEType__: classes.o;
|
||||
text: .text%JVM_Open;
|
||||
text: .text%__1cRInvocationCounterFreset6M_v_;
|
||||
text: .text%__1cRCompilationPolicybIreset_counter_for_invocation_event6MnMmethodHandle__v_;
|
||||
text: .text%__1cOGenerateOopMap2t6MnMmethodHandle__v_;
|
||||
text: .text%__1cOGenerateOopMapRdo_interpretation6M_v_;
|
||||
text: .text%__1cIRetTableRcompute_ret_table6MnMmethodHandle__v_;
|
||||
@@ -3144,7 +3060,6 @@ text: .text%__1cLstoreF0NodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cIMinINodeIadd_ring6kMpknEType_3_3_;
|
||||
text: .text%JVM_GetInheritedAccessControlContext;
|
||||
text: .text%__1cPPerfDataManagerWcreate_string_constant6FnJCounterNS_pkc3pnGThread__pnSPerfStringConstant__;
|
||||
text: .text%__1cNmaxI_eRegNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%JVM_NativePath;
|
||||
text: .text%__1cOMacroAssemblerNflush_windows6M_v_;
|
||||
text: .text%__1cSsubD_regD_regDNodeIpipeline6kM_pknIPipeline__;
|
||||
@@ -3157,13 +3072,11 @@ text: .text%__1cVinline_cache_regPOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cKstorePNodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%__1cQObjectStartArrayFreset6M_v_;
|
||||
text: .text%__1cPconvI2D_memNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cHThreadsHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cQaddD_reg_regNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cLConvF2INodeGOpcode6kM_i_;
|
||||
text: .text%__1cVCallRuntimeDirectNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cJHashtableGunlink6MpnRBoolObjectClosure__v_;
|
||||
text: .text%__1cIPSOldGenPadjust_pointers6M_v_;
|
||||
text: .text%__1cVCallRuntimeDirectNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cOcmovPI_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cIPSOldGenHcompact6M_v_;
|
||||
text: .text%__1cMtlsLoadPNodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
@@ -3177,7 +3090,6 @@ text: .text%__1cOcmovLL_regNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%jni_GetStaticMethodID: jni.o;
|
||||
text: .text%__1cZInterpreterMacroAssemblerUupdate_mdp_by_offset6MipnMRegisterImpl__v_;
|
||||
text: .text%__1cRtestI_reg_immNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cHnmethodbAmake_not_entrant_or_zombie6Mi_v_;
|
||||
text: .text%__1cPconvF2D_regNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cOPhaseIdealLoopKdo_peeling6MpnNIdealLoopTree_rnJNode_List__v_;
|
||||
text: .text%__1cOcmovLL_regNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
@@ -3290,7 +3202,6 @@ text: .text%__1cINegDNodeLbottom_type6kM_pknEType__: classes.o;
|
||||
text: .text%__1cLConvI2FNodeFValue6kMpnOPhaseTransform__pknEType__;
|
||||
text: .text%__1cOcmovLL_regNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cRorI_reg_imm13NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cTloadL_unalignedNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cTloadL_unalignedNodeOmemory_operand6kM_pknIMachOper__;
|
||||
text: .text%__1cKloadUBNodeOmemory_operand6kM_pknIMachOper__;
|
||||
text: .text%__1cXconvI2D_regDHi_regDNodeIpipeline6kM_pknIPipeline__;
|
||||
@@ -3371,7 +3282,6 @@ text: .text%__1cYjava_lang_reflect_MethodEslot6FpnHoopDesc__i_;
|
||||
text: .text%__1cYjava_lang_reflect_MethodFclazz6FpnHoopDesc__2_;
|
||||
text: .text%__1cYinternal_word_RelocationGtarget6M_pC_;
|
||||
text: .text%__1cJStubQdDueueKremove_all6M_v_;
|
||||
text: .text%__1cMloadConFNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cPconvI2D_memNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cPorL_reg_regNodeMideal_Opcode6kM_i_: ad_sparc_misc.o;
|
||||
text: .text%__1cZInterpreterMacroAssemblerLindex_check6MpnMRegisterImpl_2i22_v_;
|
||||
@@ -3405,12 +3315,10 @@ text: .text%__1cSInterpreterRuntimeQcreate_exception6FpnKJavaThread_pc3_v_;
|
||||
text: .text%__1cQComputeCallStackIdo_array6Mii_v_: generateOopMap.o;
|
||||
text: .text%__1cKPSYoungGenKprecompact6M_v_;
|
||||
text: .text%__1cXjava_lang_reflect_FieldEslot6FpnHoopDesc__i_;
|
||||
text: .text%__1cSconvD2I_helperNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cMnegF_regNodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cHThreadsLgc_prologue6F_v_;
|
||||
text: .text%__1cHThreadsLgc_epilogue6F_v_;
|
||||
text: .text%__1cPconvI2L_regNodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%__1cPconvD2I_regNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cJJavaCallsLcall_static6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4nGHandle_pnGThread__v_;
|
||||
text: .text%__1cUParallelScavengeHeapHcollect6MnHGCCauseFCause__v_;
|
||||
text: .text%__1cRCardTableModRefBSFclear6MnJMemRegion__v_;
|
||||
@@ -3449,10 +3357,6 @@ text: .text%__1cKPSYoungGenHcompact6M_v_;
|
||||
text: .text%JVM_GetSystemPackage;
|
||||
text: .text%__1cPfieldDescriptorTfloat_initial_value6kM_f_;
|
||||
text: .text%__1cKPSYoungGenPadjust_pointers6M_v_;
|
||||
text: .text%__1cQUncommonTrapBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cSDeoptimizationBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cNExceptionBlobHoops_do6MpnKOopClosure__v_: codeBlob.o;
|
||||
text: .text%__1cJCodeCacheHoops_do6FpnKOopClosure__v_;
|
||||
text: .text%__1cJCodeCacheLgc_prologue6F_v_;
|
||||
text: .text%__1cJCodeCacheLgc_epilogue6F_v_;
|
||||
text: .text%__1cIXorINodeIadd_ring6kMpknEType_3_3_;
|
||||
@@ -3508,16 +3412,13 @@ text: .text%__1cSstring_compareNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%jni_GetEnv;
|
||||
text: .text%__1cJloadDNodeOmemory_operand6kM_pknIMachOper__;
|
||||
text: .text%__1cQstkI_to_regINodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cSstring_compareNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cXNativeSignatureIteratorHdo_bool6M_v_: interpreterRT_sparc.o;
|
||||
text: .text%Unsafe_GetNativeByte;
|
||||
text: .text%JVM_NanoTime;
|
||||
text: .text%__1cCosNjavaTimeNanos6F_x_;
|
||||
text: .text%__1cOMacroAssemblerOrestore_thread6MkpnMRegisterImpl__v_;
|
||||
text: .text%__1cVcompiledICHolderKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cQandL_reg_regNodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%__1cIimmFOperJnum_edges6kM_I_: ad_sparc_clone.o;
|
||||
text: .text%__1cHThreadsLnmethods_do6F_v_;
|
||||
text: .text%__1cKcmpOpFOperGnegate6M_v_: ad_sparc_clone.o;
|
||||
text: .text%__1cICodeBlobFflush6M_v_;
|
||||
text: .text%__1cFParseMdo_anewarray6M_v_;
|
||||
@@ -3537,8 +3438,6 @@ text: .text%__1cHnmethodSflush_dependencies6MpnRBoolObjectClosure__v_;
|
||||
text: .text%__1cKo2RegPOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cQregI_to_stkINodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cbCAbstractInterpreterGeneratorVgenerate_method_entry6MnTAbstractInterpreterKMethodKind__pC_;
|
||||
text: .text%__1cParrayKlassKlassRoop_copy_contents6MpnSPSPromotionManager_pnHoopDesc__v_;
|
||||
text: .text%__1cFVTuneOdelete_nmethod6FpnHnmethod__v_;
|
||||
text: .text%__1cWloadConI_x43300000NodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cFParseQdo_monitor_enter6M_v_;
|
||||
text: .text%__1cPorL_reg_regNodeIpipeline6kM_pknIPipeline__;
|
||||
@@ -3547,13 +3446,11 @@ text: .text%JVM_FindPrimitiveClass;
|
||||
text: .text%__1cVMoveL2D_stack_regNodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cNTemplateTableEiop26Fn0AJOperation__v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerMdispatch_via6MnITosState_ppC_v_;
|
||||
text: .text%__1cSmodL_reg_imm13NodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cRshrI_reg_imm5NodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%__1cJJavaCallsLcall_static6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnGThread__v_;
|
||||
text: .text%__1cSsubL_reg_reg_2NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cUmulL_reg_imm13_1NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cIDivDNodeFValue6kMpnOPhaseTransform__pknEType__;
|
||||
text: .text%__1cPconvI2F_regNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cNinstanceKlassUfind_interface_field6kMpnNsymbolOopDesc_2pnPfieldDescriptor__pnMklassOopDesc__;
|
||||
text: .text%__1cOstackSlotFOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cUdivL_reg_imm13_1NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
@@ -3561,7 +3458,6 @@ text: .text%__1cRSignatureIteratorHiterate6M_v_;
|
||||
text: .text%__1cOcmovLL_regNodeHtwo_adr6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cJname2type6Fpkc_nJBasicType__;
|
||||
text: .text%__1cSmulL_reg_imm13NodeIpipeline6kM_pknIPipeline__;
|
||||
text: .text%__1cPBytecode_invokeLresult_type6kMpnGThread__nJBasicType__;
|
||||
text: .text%__1cOloadConL13NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cKcmpOpFOperHgreater6kM_i_: ad_sparc_clone.o;
|
||||
text: .text%__1cIDivDNodeJideal_reg6kM_I_: classes.o;
|
||||
@@ -3589,7 +3485,6 @@ text: .text%__1cNTemplateTableQfast_accessfield6FnITosState__v_;
|
||||
text: .text%__1cKCompiledICSset_to_megamorphic6MpnICallInfo_nJBytecodesECode_pnGThread__v_;
|
||||
text: .text%Unsafe_StaticFieldOffset;
|
||||
text: .text%__1cQmulI_reg_regNodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cNTemplateTableXresolve_cache_and_index6FipnMRegisterImpl_2_v_;
|
||||
text: .text%__1cQaddI_reg_regNodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cOcmovLI_regNodeHtwo_adr6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%JVM_GetClassContext;
|
||||
@@ -3725,7 +3620,6 @@ text: .text%__1cQmulD_reg_regNodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%Unsafe_AllocateMemory;
|
||||
text: .text%__1cSandL_reg_imm13NodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%JVM_GetLastErrorString;
|
||||
text: .text%__1cQmodL_reg_regNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cNTemplateTableElop26Fn0AJOperation__v_;
|
||||
text: .text%__1cQjava_lang_ThreadKset_daemon6FpnHoopDesc__v_;
|
||||
text: .text%__1cNTemplateTableEfop26Fn0AJOperation__v_;
|
||||
@@ -3738,7 +3632,6 @@ text: .text%__1cNTemplateTableGlstore6Fi_v_;
|
||||
text: .text%__1cLConvF2INodeFValue6kMpnOPhaseTransform__pknEType__;
|
||||
text: .text%__1cIciMethod2t6MpnPciInstanceKlass_pnIciSymbol_4_v_;
|
||||
text: .text%__1cRcompL_reg_regNodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cLconvI2BNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cLConvD2FNodeFValue6kMpnOPhaseTransform__pknEType__;
|
||||
text: .text%__1cSconvD2I_helperNodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cRsubI_zero_regNodeHsize_of6kM_I_: ad_sparc_misc.o;
|
||||
@@ -3775,7 +3668,6 @@ text: .text%__1cOMacroAssemblerMcall_VM_leaf6MpnMRegisterImpl_pC22_v_;
|
||||
text: .text%__1cOMacroAssemblerMcall_VM_leaf6MpnMRegisterImpl_pC2_v_;
|
||||
text: .text%__1cTjava_lang_ThrowableLset_message6FpnHoopDesc_2_v_;
|
||||
text: .text%__1cOGenerateOopMapTret_jump_targets_do6MpnOBytecodeStream_pFp0ipi_vi4_v_;
|
||||
text: .text%__1cPconvI2D_regNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%Unsafe_SetMemory;
|
||||
text: .text%__1cKstfSSFNodeErule6kM_I_: ad_sparc_misc.o;
|
||||
text: .text%__1cZInterpreterMacroAssemblerOthrow_if_not_x6MnJAssemblerJCondition_pCpnMRegisterImpl__v_;
|
||||
@@ -3798,7 +3690,6 @@ text: .text%__1cRMachSpillCopyNodeHsize_of6kM_I_: ad_sparc.o;
|
||||
text: .text%__1cQCompilerCounters2t6MpkcipnGThread__v_;
|
||||
text: .text%__1cOGenerateOopMapRdo_multianewarray6Mii_v_;
|
||||
text: .text%__1cNCompileBrokerUcompiler_thread_loop6F_v_;
|
||||
text: .text%__1cbFpartialSubtypeCheck_vs_zeroNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%jni_CallStaticObjectMethodV: jni.o;
|
||||
text: .text%__1cNTemplateTableMfast_xaccess6FnITosState__v_;
|
||||
text: .text%__1cJMemRegionFminus6kMk0_0_;
|
||||
@@ -3857,13 +3748,10 @@ text: .text%__1cLstoreF0NodeLout_RegMask6kM_rknHRegMask__;
|
||||
text: .text%__1cZInterpreterMacroAssemblerWprofile_switch_default6MpnMRegisterImpl__v_;
|
||||
text: .text%__1cTAbstract_VM_VersionOvm_info_string6F_pkc_;
|
||||
text: .text%__1cJStubQdDueue2t6MpnNStubInterface_ipnFMutex_pkc_v_;
|
||||
text: .text%__1cSconvF2I_helperNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cHThreadsbFdeoptimized_wrt_marked_nmethods6F_v_;
|
||||
text: .text%__1cbAconvL2D_reg_slow_fxtofNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cOstackSlotFOperEdisp6kMpnNPhaseRegAlloc_pknENode_i_i_: ad_sparc.o;
|
||||
text: .text%__1cOstackSlotFOperEbase6kMpnNPhaseRegAlloc_pknENode_i_i_: ad_sparc.o;
|
||||
text: .text%__1cOstackSlotFOperFindex6kMpnNPhaseRegAlloc_pknENode_i_i_: ad_sparc.o;
|
||||
text: .text%__1cPconvF2I_regNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cNTemplateTableGlconst6Fi_v_;
|
||||
text: .text%__1cLstoreC0NodeEsize6kMpnNPhaseRegAlloc__I_;
|
||||
text: .text%__1cMPeriodicTaskGenroll6M_v_;
|
||||
@@ -3913,7 +3801,6 @@ text: .text%__1cLMoveF2INodeFValue6kMpnOPhaseTransform__pknEType__;
|
||||
text: .text%__1cLOptoRuntimeIl2f_Type6F_pknITypeFunc__;
|
||||
text: .text%__1cOMacroAssemblerUcalc_mem_param_words6MpnMRegisterImpl_2_v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerLprofile_ret6MnITosState_pnMRegisterImpl_3_v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerUprofile_virtual_call6MpnMRegisterImpl_2_v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerMprofile_call6MpnMRegisterImpl__v_;
|
||||
text: .text%__1cLklassVtableQindex_of_miranda6MpnNsymbolOopDesc_2_i_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerSupdate_mdp_for_ret6MnITosState_pnMRegisterImpl__v_;
|
||||
@@ -4001,16 +3888,13 @@ text: .text%__1cSThreadLocalStorageHpd_init6F_v_;
|
||||
text: .text%__1cVMoveF2I_stack_regNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cVMoveL2D_stack_regNodeEemit6kMrnKCodeBuffer_pnNPhaseRegAlloc__v_;
|
||||
text: .text%__1cWinvocationCounter_init6F_v_;
|
||||
text: .text%__1cKTypeOopPtrEmake6FnHTypePtrDPTR_i_pk0_;
|
||||
text: .text%__1cKTypeOopPtrFxdual6kM_pknEType__;
|
||||
text: .text%__1cFParseMjump_if_join6MpnENode_2_2_;
|
||||
text: .text%__1cSinstanceKlassKlassMcreate_klass6FpnGThread__pnMklassOopDesc__;
|
||||
text: .text%__1cSinstanceKlassKlassSallocate_permanent6kMrnLKlassHandle_ipnGThread__pv_: instanceKlassKlass.o;
|
||||
text: .text%__1cLconvP2BNodeGExpand6MpnFState_rnJNode_List__pnIMachNode__;
|
||||
text: .text%__1cETypeRInitialize_shared6FpnHCompile__v_;
|
||||
text: .text%__1cQinstanceRefKlassZupdate_nonstatic_oop_maps6FpnMklassOopDesc__v_;
|
||||
text: .text%__1cVInterfaceSupport_init6F_v_;
|
||||
text: .text%__1cZInterpreterMacroAssemblerSsuper_call_VM_leaf6MpnMRegisterImpl_pC2_v_;
|
||||
text: .text%__1cPGenerationSizerQinitialize_flags6M_v_: parallelScavengeHeap.o;
|
||||
text: .text%__1cZInterpreterMacroAssemblerPdispatch_normal6MnITosState__v_;
|
||||
text: .text%__1cJTimeStampMmilliseconds6kM_x_;
|
||||
@@ -4103,11 +3987,9 @@ text: .text%__1cLmethodKlassOset_alloc_size6MI_v_: methodKlass.o;
|
||||
text: .text%__1cQvtableStubs_init6F_v_;
|
||||
text: .text%__1cKi0RegPOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cKg1RegPOperKin_RegMask6kMi_pknHRegMask__;
|
||||
text: .text%__1cFVTuneEexit6F_v_;
|
||||
text: .text%__1cLmethodKlassSallocate_permanent6kMrnLKlassHandle_ipnGThread__pv_: methodKlass.o;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: methodLiveness.o;
|
||||
text: .text%__1cMMutableSpaceOobject_iterate6MpnNObjectClosure__v_;
|
||||
text: .text%__1cKvtune_init6F_v_;
|
||||
text: .text%__1cKmutex_init6F_v_;
|
||||
text: .text%__1cQaccessFlags_init6F_v_;
|
||||
text: .text%__1cOMacroAssemblerMcall_VM_leaf6MpnMRegisterImpl_pC222_v_;
|
||||
@@ -4440,7 +4322,6 @@ text: .text%__1cNTemplateTableLtableswitch6F_v_;
|
||||
text: .text%__1cNTemplateTableMlookupswitch6F_v_;
|
||||
text: .text%__1cNTemplateTableRfast_linearswitch6F_v_;
|
||||
text: .text%__1cNTemplateTableRfast_binaryswitch6F_v_;
|
||||
text: .text%__1cNCompileBrokerVinit_compiler_threads6Fi_v_;
|
||||
text: .text%__1cJPSPermGen2t6MnNReservedSpace_IIIIpkci_v_;
|
||||
text: .text%__1cNCompileBrokerQset_should_block6F_v_;
|
||||
text: .text%__1cU__STATIC_CONSTRUCTOR6F_v_: compileBroker.o;
|
||||
|
||||
4207
hotspot/make/solaris/makefiles/reorder_TIERED_sparcv9
Normal file
4207
hotspot/make/solaris/makefiles/reorder_TIERED_sparcv9
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2003, 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
|
||||
@@ -44,6 +44,9 @@ MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
|
||||
AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
|
||||
AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
|
||||
|
||||
AGENT_FILES1_LIST := $(GENERATED)/agent1.classes.list
|
||||
AGENT_FILES2_LIST := $(GENERATED)/agent2.classes.list
|
||||
|
||||
SA_CLASSDIR = $(GENERATED)/saclasses
|
||||
|
||||
SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
|
||||
@@ -70,8 +73,23 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
|
||||
$(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
|
||||
mkdir -p $(SA_CLASSDIR); \
|
||||
fi
|
||||
$(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1)
|
||||
$(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2)
|
||||
|
||||
# Note: When indented, make tries to execute the '$(shell' comment.
|
||||
# In some environments, cmd processors have limited line length.
|
||||
# To prevent the javac invocation in the next block from using
|
||||
# a very long cmd line, we use javac's @file-list option. We
|
||||
# generate the file lists using make's built-in 'foreach' control
|
||||
# flow which also avoids cmd processor line length issues. Since
|
||||
# the 'foreach' is done as part of make's macro expansion phase,
|
||||
# the initialization of the lists is also done in the same phase
|
||||
# using '$(shell rm ...' instead of using the more traditional
|
||||
# 'rm ...' rule.
|
||||
$(shell rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST))
|
||||
$(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
|
||||
$(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
|
||||
|
||||
$(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
|
||||
$(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
|
||||
|
||||
$(QUIETLY) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||
$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
|
||||
@@ -88,3 +106,4 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
|
||||
clean:
|
||||
rm -rf $(SA_CLASSDIR)
|
||||
rm -rf $(GENERATED)/sa-jdi.jar
|
||||
rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
|
||||
|
||||
@@ -51,9 +51,9 @@ ifeq ($(JRE_RELEASE_VER),1.6.0)
|
||||
VALIDATED_COMPILER_REVS := 5.8
|
||||
VALIDATED_C_COMPILER_REVS := 5.8
|
||||
else
|
||||
# Validated compilers for JDK7 are SS12 (5.9) or SS12 update 1 (5.10)
|
||||
VALIDATED_COMPILER_REVS := 5.9 5.10
|
||||
VALIDATED_C_COMPILER_REVS := 5.9 5.10
|
||||
# Validated compiler for JDK7 is SS12 update 1 + patches (5.10)
|
||||
VALIDATED_COMPILER_REVS := 5.10
|
||||
VALIDATED_C_COMPILER_REVS := 5.10
|
||||
endif
|
||||
|
||||
# Warning messages about not using the above validated versions
|
||||
@@ -145,11 +145,20 @@ OPT_CFLAGS/SLOWER=-xO3
|
||||
OPT_CFLAGS/O2=-xO2
|
||||
OPT_CFLAGS/NOOPT=-xO1
|
||||
|
||||
#################################################
|
||||
# Begin current (>=5.9) Forte compiler options #
|
||||
#################################################
|
||||
|
||||
ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
|
||||
ifeq ($(Platform_arch), x86)
|
||||
OPT_CFLAGS/NO_TAIL_CALL_OPT = -Wu,-O~yz
|
||||
OPT_CCFLAGS/NO_TAIL_CALL_OPT = -Qoption ube -O~yz
|
||||
OPT_CFLAGS/stubGenerator_x86_32.o = $(OPT_CFLAGS) -xspace
|
||||
OPT_CFLAGS/stubGenerator_x86_64.o = $(OPT_CFLAGS) -xspace
|
||||
endif # Platform_arch == x86
|
||||
ifeq ("${Platform_arch}", "sparc")
|
||||
OPT_CFLAGS/stubGenerator_sparc.o = $(OPT_CFLAGS) -xspace
|
||||
endif
|
||||
endif # COMPILER_REV_NUMERIC >= 509
|
||||
|
||||
#################################################
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright %YEARS% Oracle and/or its affiliates. All rights reserved.
|
||||
Copyright (c) %YEARS%, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright %YEARS% Oracle and/or its affiliates. All rights reserved.
|
||||
Copyright (c) %YEARS%, 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright %YEARS% Oracle and/or its affiliates. All rights reserved.
|
||||
Copyright (c) %YEARS%, 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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1998, 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
|
||||
@@ -19,7 +19,7 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
# Note: this makefile is invoked both from build.bat and from the J2SE
|
||||
@@ -72,9 +72,9 @@ BUILDARCH=ia64
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if "$(BUILDARCH)" != "amd64"
|
||||
!if "$(BUILDARCH)" != "ia64"
|
||||
!ifndef CC_INTERP
|
||||
!ifndef FORCE_TIERED
|
||||
FORCE_TIERED=1
|
||||
!endif
|
||||
!endif
|
||||
@@ -102,7 +102,7 @@ VARIANT_TEXT=Core
|
||||
!if "$(Variant)" == "compiler1"
|
||||
VARIANT_TEXT=Client
|
||||
!elseif "$(Variant)" == "compiler2"
|
||||
!ifdef FORCE_TIERED
|
||||
!if "$(FORCE_TIERED)" == "1"
|
||||
VARIANT_TEXT=Server
|
||||
realVariant=tiered
|
||||
!else
|
||||
@@ -135,7 +135,7 @@ VARIANT_TEXT=Kernel
|
||||
# We can have update versions like "01a", but Windows requires
|
||||
# we use only integers in the file version field. So:
|
||||
# JDK_UPDATE_VER = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
|
||||
#
|
||||
#
|
||||
JDK_UPDATE_VER=0
|
||||
JDK_BUILD_NUMBER=0
|
||||
|
||||
@@ -148,7 +148,7 @@ HS_FILEDESC=$(HOTSPOT_VM_DISTRO) $(ARCH_TEXT) $(VARIANT_TEXT) VM
|
||||
# 1.6.0_01a-b02 will be 6.0.11.2
|
||||
#
|
||||
# JDK_* variables are defined in make/hotspot_version or on command line
|
||||
#
|
||||
#
|
||||
JDK_VER=$(JDK_MINOR_VER),$(JDK_MICRO_VER),$(JDK_UPDATE_VER),$(JDK_BUILD_NUMBER)
|
||||
JDK_DOTVER=$(JDK_MINOR_VER).$(JDK_MICRO_VER).$(JDK_UPDATE_VER).$(JDK_BUILD_NUMBER)
|
||||
!if "$(JRE_RELEASE_VERSION)" == ""
|
||||
@@ -162,7 +162,7 @@ JDK_MKTG_VERSION=$(JDK_MINOR_VER).$(JDK_MICRO_VER)
|
||||
|
||||
# Hotspot Express VM FileVersion:
|
||||
# 10.0-b<yz> will have DLL version 10.0.0.yz (need 4 numbers).
|
||||
#
|
||||
#
|
||||
# HS_* variables are defined in make/hotspot_version
|
||||
#
|
||||
HS_VER=$(HS_MAJOR_VER),$(HS_MINOR_VER),0,$(HS_BUILD_NUMBER)
|
||||
@@ -182,7 +182,7 @@ HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
|
||||
|
||||
|
||||
# We don't support SA on ia64, and we can't
|
||||
# build it if we are using a version of Vis Studio
|
||||
# build it if we are using a version of Vis Studio
|
||||
# older than .Net 2003.
|
||||
# SA_INCLUDE and SA_LIB are hold-overs from a previous
|
||||
# implementation in which we could build SA using
|
||||
|
||||
@@ -626,7 +626,7 @@ void MacroAssembler::jmp(Register r1, int offset, const char* file, int line ) {
|
||||
}
|
||||
|
||||
// This code sequence is relocatable to any address, even on LP64.
|
||||
void MacroAssembler::jumpl(AddressLiteral& addrlit, Register temp, Register d, int offset, const char* file, int line) {
|
||||
void MacroAssembler::jumpl(const AddressLiteral& addrlit, Register temp, Register d, int offset, const char* file, int line) {
|
||||
assert_not_delayed();
|
||||
// Force fixed length sethi because NativeJump and NativeFarCall don't handle
|
||||
// variable length instruction streams.
|
||||
@@ -672,7 +672,7 @@ void MacroAssembler::jumpl(AddressLiteral& addrlit, Register temp, Register d, i
|
||||
}
|
||||
}
|
||||
|
||||
void MacroAssembler::jump(AddressLiteral& addrlit, Register temp, int offset, const char* file, int line) {
|
||||
void MacroAssembler::jump(const AddressLiteral& addrlit, Register temp, int offset, const char* file, int line) {
|
||||
jumpl(addrlit, temp, G0, offset, file, line);
|
||||
}
|
||||
|
||||
@@ -3094,11 +3094,10 @@ void MacroAssembler::check_klass_subtype_slow_path(Register sub_klass,
|
||||
void MacroAssembler::check_method_handle_type(Register mtype_reg, Register mh_reg,
|
||||
Register temp_reg,
|
||||
Label& wrong_method_type) {
|
||||
if (UseCompressedOops) unimplemented("coop"); // field accesses must decode
|
||||
assert_different_registers(mtype_reg, mh_reg, temp_reg);
|
||||
// compare method type against that of the receiver
|
||||
RegisterOrConstant mhtype_offset = delayed_value(java_dyn_MethodHandle::type_offset_in_bytes, temp_reg);
|
||||
ld_ptr(mh_reg, mhtype_offset, temp_reg);
|
||||
load_heap_oop(mh_reg, mhtype_offset, temp_reg);
|
||||
cmp(temp_reg, mtype_reg);
|
||||
br(Assembler::notEqual, false, Assembler::pn, wrong_method_type);
|
||||
delayed()->nop();
|
||||
@@ -3112,16 +3111,15 @@ void MacroAssembler::check_method_handle_type(Register mtype_reg, Register mh_re
|
||||
void MacroAssembler::load_method_handle_vmslots(Register vmslots_reg, Register mh_reg,
|
||||
Register temp_reg) {
|
||||
assert_different_registers(vmslots_reg, mh_reg, temp_reg);
|
||||
if (UseCompressedOops) unimplemented("coop"); // field accesses must decode
|
||||
// load mh.type.form.vmslots
|
||||
if (java_dyn_MethodHandle::vmslots_offset_in_bytes() != 0) {
|
||||
// hoist vmslots into every mh to avoid dependent load chain
|
||||
ld( Address(mh_reg, delayed_value(java_dyn_MethodHandle::vmslots_offset_in_bytes, temp_reg)), vmslots_reg);
|
||||
ld( Address(mh_reg, delayed_value(java_dyn_MethodHandle::vmslots_offset_in_bytes, temp_reg)), vmslots_reg);
|
||||
} else {
|
||||
Register temp2_reg = vmslots_reg;
|
||||
ld_ptr(Address(mh_reg, delayed_value(java_dyn_MethodHandle::type_offset_in_bytes, temp_reg)), temp2_reg);
|
||||
ld_ptr(Address(temp2_reg, delayed_value(java_dyn_MethodType::form_offset_in_bytes, temp_reg)), temp2_reg);
|
||||
ld( Address(temp2_reg, delayed_value(java_dyn_MethodTypeForm::vmslots_offset_in_bytes, temp_reg)), vmslots_reg);
|
||||
load_heap_oop(Address(mh_reg, delayed_value(java_dyn_MethodHandle::type_offset_in_bytes, temp_reg)), temp2_reg);
|
||||
load_heap_oop(Address(temp2_reg, delayed_value(java_dyn_MethodType::form_offset_in_bytes, temp_reg)), temp2_reg);
|
||||
ld( Address(temp2_reg, delayed_value(java_dyn_MethodTypeForm::vmslots_offset_in_bytes, temp_reg)), vmslots_reg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3130,9 +3128,8 @@ void MacroAssembler::jump_to_method_handle_entry(Register mh_reg, Register temp_
|
||||
assert(mh_reg == G3_method_handle, "caller must put MH object in G3");
|
||||
assert_different_registers(mh_reg, temp_reg);
|
||||
|
||||
if (UseCompressedOops) unimplemented("coop"); // field accesses must decode
|
||||
|
||||
// pick out the interpreted side of the handler
|
||||
// NOTE: vmentry is not an oop!
|
||||
ld_ptr(mh_reg, delayed_value(java_dyn_MethodHandle::vmentry_offset_in_bytes, temp_reg), temp_reg);
|
||||
|
||||
// off we go...
|
||||
@@ -4192,7 +4189,7 @@ static void check_index(int ind) {
|
||||
|
||||
static void generate_satb_log_enqueue(bool with_frame) {
|
||||
BufferBlob* bb = BufferBlob::create("enqueue_with_frame", EnqueueCodeSize);
|
||||
CodeBuffer buf(bb->instructions_begin(), bb->instructions_size());
|
||||
CodeBuffer buf(bb);
|
||||
MacroAssembler masm(&buf);
|
||||
address start = masm.pc();
|
||||
Register pre_val;
|
||||
@@ -4421,7 +4418,7 @@ static u_char* dirty_card_log_enqueue_end = 0;
|
||||
// This gets to assume that o0 contains the object address.
|
||||
static void generate_dirty_card_log_enqueue(jbyte* byte_map_base) {
|
||||
BufferBlob* bb = BufferBlob::create("dirty_card_enqueue", EnqueueCodeSize*2);
|
||||
CodeBuffer buf(bb->instructions_begin(), bb->instructions_size());
|
||||
CodeBuffer buf(bb);
|
||||
MacroAssembler masm(&buf);
|
||||
address start = masm.pc();
|
||||
|
||||
@@ -4653,6 +4650,11 @@ void MacroAssembler::load_heap_oop(Register s1, int simm13a, Register d) {
|
||||
}
|
||||
}
|
||||
|
||||
void MacroAssembler::load_heap_oop(Register s1, RegisterOrConstant s2, Register d) {
|
||||
if (s2.is_constant()) load_heap_oop(s1, s2.as_constant(), d);
|
||||
else load_heap_oop(s1, s2.as_register(), d);
|
||||
}
|
||||
|
||||
void MacroAssembler::store_heap_oop(Register d, Register s1, Register s2) {
|
||||
if (UseCompressedOops) {
|
||||
assert(s1 != d && s2 != d, "not enough registers");
|
||||
|
||||
@@ -825,6 +825,12 @@ class Assembler : public AbstractAssembler {
|
||||
// test if -4096 <= x <= 4095
|
||||
static bool is_simm13(int x) { return is_simm(x, 13); }
|
||||
|
||||
// test if label is in simm16 range in words (wdisp16).
|
||||
bool is_in_wdisp16_range(Label& L) {
|
||||
intptr_t d = intptr_t(pc()) - intptr_t(target(L));
|
||||
return is_simm(d, 18);
|
||||
}
|
||||
|
||||
enum ASIs { // page 72, v9
|
||||
ASI_PRIMARY = 0x80,
|
||||
ASI_PRIMARY_LITTLE = 0x88
|
||||
@@ -1120,7 +1126,7 @@ public:
|
||||
inline void add(Register s1, int simm13a, Register d, relocInfo::relocType rtype = relocInfo::none);
|
||||
inline void add(Register s1, int simm13a, Register d, RelocationHolder const& rspec);
|
||||
inline void add(Register s1, RegisterOrConstant s2, Register d, int offset = 0);
|
||||
inline void add(const Address& a, Register d, int offset = 0) { add( a.base(), a.disp() + offset, d, a.rspec(offset)); }
|
||||
inline void add(const Address& a, Register d, int offset = 0);
|
||||
|
||||
void addcc( Register s1, Register s2, Register d ) { emit_long( op(arith_op) | rd(d) | op3(add_op3 | cc_bit_op3) | rs1(s1) | rs2(s2) ); }
|
||||
void addcc( Register s1, int simm13a, Register d ) { emit_long( op(arith_op) | rd(d) | op3(add_op3 | cc_bit_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
|
||||
@@ -1974,12 +1980,12 @@ public:
|
||||
|
||||
// address pseudos: make these names unlike instruction names to avoid confusion
|
||||
inline intptr_t load_pc_address( Register reg, int bytes_to_skip );
|
||||
inline void load_contents(AddressLiteral& addrlit, Register d, int offset = 0);
|
||||
inline void load_ptr_contents(AddressLiteral& addrlit, Register d, int offset = 0);
|
||||
inline void store_contents(Register s, AddressLiteral& addrlit, Register temp, int offset = 0);
|
||||
inline void store_ptr_contents(Register s, AddressLiteral& addrlit, Register temp, int offset = 0);
|
||||
inline void jumpl_to(AddressLiteral& addrlit, Register temp, Register d, int offset = 0);
|
||||
inline void jump_to(AddressLiteral& addrlit, Register temp, int offset = 0);
|
||||
inline void load_contents(const AddressLiteral& addrlit, Register d, int offset = 0);
|
||||
inline void load_ptr_contents(const AddressLiteral& addrlit, Register d, int offset = 0);
|
||||
inline void store_contents(Register s, const AddressLiteral& addrlit, Register temp, int offset = 0);
|
||||
inline void store_ptr_contents(Register s, const AddressLiteral& addrlit, Register temp, int offset = 0);
|
||||
inline void jumpl_to(const AddressLiteral& addrlit, Register temp, Register d, int offset = 0);
|
||||
inline void jump_to(const AddressLiteral& addrlit, Register temp, int offset = 0);
|
||||
inline void jump_indirect_to(Address& a, Register temp, int ld_offset = 0, int jmp_offset = 0);
|
||||
|
||||
// ring buffer traceable jumps
|
||||
@@ -1987,8 +1993,8 @@ public:
|
||||
void jmp2( Register r1, Register r2, const char* file, int line );
|
||||
void jmp ( Register r1, int offset, const char* file, int line );
|
||||
|
||||
void jumpl(AddressLiteral& addrlit, Register temp, Register d, int offset, const char* file, int line);
|
||||
void jump (AddressLiteral& addrlit, Register temp, int offset, const char* file, int line);
|
||||
void jumpl(const AddressLiteral& addrlit, Register temp, Register d, int offset, const char* file, int line);
|
||||
void jump (const AddressLiteral& addrlit, Register temp, int offset, const char* file, int line);
|
||||
|
||||
|
||||
// argument pseudos:
|
||||
@@ -2103,6 +2109,7 @@ public:
|
||||
void load_heap_oop(const Address& s, Register d);
|
||||
void load_heap_oop(Register s1, Register s2, Register d);
|
||||
void load_heap_oop(Register s1, int simm13a, Register d);
|
||||
void load_heap_oop(Register s1, RegisterOrConstant s2, Register d);
|
||||
void store_heap_oop(Register d, Register s1, Register s2);
|
||||
void store_heap_oop(Register d, Register s1, int simm13a);
|
||||
void store_heap_oop(Register d, const Address& a, int offset = 0);
|
||||
@@ -2225,7 +2232,7 @@ public:
|
||||
void stop(const char* msg); // prints msg, dumps registers and stops execution
|
||||
void warn(const char* msg); // prints msg, but don't stop
|
||||
void untested(const char* what = "");
|
||||
void unimplemented(const char* what = "") { char* b = new char[1024]; sprintf(b, "unimplemented: %s", what); stop(b); }
|
||||
void unimplemented(const char* what = "") { char* b = new char[1024]; jio_snprintf(b, 1024, "unimplemented: %s", what); stop(b); }
|
||||
void should_not_reach_here() { stop("should not reach here"); }
|
||||
void print_CPU_state();
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 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
|
||||
@@ -206,6 +206,11 @@ inline void Assembler::ld( Register s1, RegisterOrConstant s2, Register d) { ld
|
||||
inline void Assembler::ldd( Register s1, RegisterOrConstant s2, Register d) { ldd( Address(s1, s2), d); }
|
||||
|
||||
// form effective addresses this way:
|
||||
inline void Assembler::add(const Address& a, Register d, int offset) {
|
||||
if (a.has_index()) add(a.base(), a.index(), d);
|
||||
else { add(a.base(), a.disp() + offset, d, a.rspec(offset)); offset = 0; }
|
||||
if (offset != 0) add(d, offset, d);
|
||||
}
|
||||
inline void Assembler::add(Register s1, RegisterOrConstant s2, Register d, int offset) {
|
||||
if (s2.is_register()) add(s1, s2.as_register(), d);
|
||||
else { add(s1, s2.as_constant() + offset, d); offset = 0; }
|
||||
@@ -650,28 +655,28 @@ inline intptr_t MacroAssembler::load_pc_address( Register reg, int bytes_to_skip
|
||||
}
|
||||
|
||||
|
||||
inline void MacroAssembler::load_contents(AddressLiteral& addrlit, Register d, int offset) {
|
||||
inline void MacroAssembler::load_contents(const AddressLiteral& addrlit, Register d, int offset) {
|
||||
assert_not_delayed();
|
||||
sethi(addrlit, d);
|
||||
ld(d, addrlit.low10() + offset, d);
|
||||
}
|
||||
|
||||
|
||||
inline void MacroAssembler::load_ptr_contents(AddressLiteral& addrlit, Register d, int offset) {
|
||||
inline void MacroAssembler::load_ptr_contents(const AddressLiteral& addrlit, Register d, int offset) {
|
||||
assert_not_delayed();
|
||||
sethi(addrlit, d);
|
||||
ld_ptr(d, addrlit.low10() + offset, d);
|
||||
}
|
||||
|
||||
|
||||
inline void MacroAssembler::store_contents(Register s, AddressLiteral& addrlit, Register temp, int offset) {
|
||||
inline void MacroAssembler::store_contents(Register s, const AddressLiteral& addrlit, Register temp, int offset) {
|
||||
assert_not_delayed();
|
||||
sethi(addrlit, temp);
|
||||
st(s, temp, addrlit.low10() + offset);
|
||||
}
|
||||
|
||||
|
||||
inline void MacroAssembler::store_ptr_contents(Register s, AddressLiteral& addrlit, Register temp, int offset) {
|
||||
inline void MacroAssembler::store_ptr_contents(Register s, const AddressLiteral& addrlit, Register temp, int offset) {
|
||||
assert_not_delayed();
|
||||
sethi(addrlit, temp);
|
||||
st_ptr(s, temp, addrlit.low10() + offset);
|
||||
@@ -679,7 +684,7 @@ inline void MacroAssembler::store_ptr_contents(Register s, AddressLiteral& addrl
|
||||
|
||||
|
||||
// This code sequence is relocatable to any address, even on LP64.
|
||||
inline void MacroAssembler::jumpl_to(AddressLiteral& addrlit, Register temp, Register d, int offset) {
|
||||
inline void MacroAssembler::jumpl_to(const AddressLiteral& addrlit, Register temp, Register d, int offset) {
|
||||
assert_not_delayed();
|
||||
// Force fixed length sethi because NativeJump and NativeFarCall don't handle
|
||||
// variable length instruction streams.
|
||||
@@ -688,7 +693,7 @@ inline void MacroAssembler::jumpl_to(AddressLiteral& addrlit, Register temp, Reg
|
||||
}
|
||||
|
||||
|
||||
inline void MacroAssembler::jump_to(AddressLiteral& addrlit, Register temp, int offset) {
|
||||
inline void MacroAssembler::jump_to(const AddressLiteral& addrlit, Register temp, int offset) {
|
||||
jumpl_to(addrlit, temp, G0, offset);
|
||||
}
|
||||
|
||||
|
||||
@@ -236,19 +236,19 @@ inline jint BytecodeInterpreter::VMintRem(jint op1, jint op2) {
|
||||
}
|
||||
|
||||
inline jint BytecodeInterpreter::VMintShl(jint op1, jint op2) {
|
||||
return op1 << op2;
|
||||
return op1 << (op2 & 0x1f);
|
||||
}
|
||||
|
||||
inline jint BytecodeInterpreter::VMintShr(jint op1, jint op2) {
|
||||
return op1 >> op2; // QQ op2 & 0x1f??
|
||||
return op1 >> (op2 & 0x1f);
|
||||
}
|
||||
|
||||
inline jint BytecodeInterpreter::VMintSub(jint op1, jint op2) {
|
||||
return op1 - op2;
|
||||
}
|
||||
|
||||
inline jint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
|
||||
return ((juint) op1) >> op2; // QQ op2 & 0x1f??
|
||||
inline juint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
|
||||
return ((juint) op1) >> (op2 & 0x1f);
|
||||
}
|
||||
|
||||
inline jint BytecodeInterpreter::VMintXor(jint op1, jint op2) {
|
||||
|
||||
@@ -32,6 +32,7 @@ RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index,
|
||||
: _throw_index_out_of_bounds_exception(throw_index_out_of_bounds_exception)
|
||||
, _index(index)
|
||||
{
|
||||
assert(info != NULL, "must have info");
|
||||
_info = new CodeEmitInfo(info);
|
||||
}
|
||||
|
||||
@@ -57,13 +58,12 @@ void RangeCheckStub::emit_code(LIR_Assembler* ce) {
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef TIERED
|
||||
|
||||
void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
|
||||
__ bind(_entry);
|
||||
__ set(_bci, G4);
|
||||
__ call(Runtime1::entry_for(Runtime1::counter_overflow_id), relocInfo::runtime_call_type);
|
||||
__ delayed()->nop();
|
||||
__ delayed()->mov_or_nop(_method->as_register(), G5);
|
||||
ce->add_call_info_here(_info);
|
||||
ce->verify_oop_map(_info);
|
||||
|
||||
@@ -71,7 +71,6 @@ void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
|
||||
__ delayed()->nop();
|
||||
}
|
||||
|
||||
#endif // TIERED
|
||||
|
||||
void DivByZeroStub::emit_code(LIR_Assembler* ce) {
|
||||
if (_offset != -1) {
|
||||
@@ -426,8 +425,13 @@ void G1PreBarrierStub::emit_code(LIR_Assembler* ce) {
|
||||
Register pre_val_reg = pre_val()->as_register();
|
||||
|
||||
ce->mem2reg(addr(), pre_val(), T_OBJECT, patch_code(), info(), false);
|
||||
__ br_on_reg_cond(Assembler::rc_z, /*annul*/false, Assembler::pt,
|
||||
pre_val_reg, _continuation);
|
||||
if (__ is_in_wdisp16_range(_continuation)) {
|
||||
__ br_on_reg_cond(Assembler::rc_z, /*annul*/false, Assembler::pt,
|
||||
pre_val_reg, _continuation);
|
||||
} else {
|
||||
__ cmp(pre_val_reg, G0);
|
||||
__ brx(Assembler::equal, false, Assembler::pn, _continuation);
|
||||
}
|
||||
__ delayed()->nop();
|
||||
|
||||
__ call(Runtime1::entry_for(Runtime1::Runtime1::g1_pre_barrier_slow_id));
|
||||
@@ -453,8 +457,13 @@ void G1PostBarrierStub::emit_code(LIR_Assembler* ce) {
|
||||
assert(new_val()->is_register(), "Precondition.");
|
||||
Register addr_reg = addr()->as_pointer_register();
|
||||
Register new_val_reg = new_val()->as_register();
|
||||
__ br_on_reg_cond(Assembler::rc_z, /*annul*/false, Assembler::pt,
|
||||
new_val_reg, _continuation);
|
||||
if (__ is_in_wdisp16_range(_continuation)) {
|
||||
__ br_on_reg_cond(Assembler::rc_z, /*annul*/false, Assembler::pt,
|
||||
new_val_reg, _continuation);
|
||||
} else {
|
||||
__ cmp(new_val_reg, G0);
|
||||
__ brx(Assembler::equal, false, Assembler::pn, _continuation);
|
||||
}
|
||||
__ delayed()->nop();
|
||||
|
||||
__ call(Runtime1::entry_for(Runtime1::Runtime1::g1_post_barrier_slow_id));
|
||||
|
||||
@@ -73,6 +73,7 @@ FloatRegister FrameMap::_fpu_regs [FrameMap::nof_fpu_regs];
|
||||
// some useful constant RInfo's:
|
||||
LIR_Opr FrameMap::in_long_opr;
|
||||
LIR_Opr FrameMap::out_long_opr;
|
||||
LIR_Opr FrameMap::g1_long_single_opr;
|
||||
|
||||
LIR_Opr FrameMap::F0_opr;
|
||||
LIR_Opr FrameMap::F0_double_opr;
|
||||
@@ -238,6 +239,7 @@ void FrameMap::initialize() {
|
||||
|
||||
in_long_opr = as_long_opr(I0);
|
||||
out_long_opr = as_long_opr(O0);
|
||||
g1_long_single_opr = as_long_single_opr(G1);
|
||||
|
||||
G0_opr = as_opr(G0);
|
||||
G1_opr = as_opr(G1);
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
|
||||
static LIR_Opr in_long_opr;
|
||||
static LIR_Opr out_long_opr;
|
||||
static LIR_Opr g1_long_single_opr;
|
||||
|
||||
static LIR_Opr F0_opr;
|
||||
static LIR_Opr F0_double_opr;
|
||||
@@ -113,18 +114,25 @@
|
||||
private:
|
||||
static FloatRegister _fpu_regs [nof_fpu_regs];
|
||||
|
||||
static LIR_Opr as_long_single_opr(Register r) {
|
||||
return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r));
|
||||
}
|
||||
static LIR_Opr as_long_pair_opr(Register r) {
|
||||
return LIR_OprFact::double_cpu(cpu_reg2rnr(r->successor()), cpu_reg2rnr(r));
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
#ifdef _LP64
|
||||
static LIR_Opr as_long_opr(Register r) {
|
||||
return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r));
|
||||
return as_long_single_opr(r);
|
||||
}
|
||||
static LIR_Opr as_pointer_opr(Register r) {
|
||||
return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r));
|
||||
return as_long_single_opr(r);
|
||||
}
|
||||
#else
|
||||
static LIR_Opr as_long_opr(Register r) {
|
||||
return LIR_OprFact::double_cpu(cpu_reg2rnr(r->successor()), cpu_reg2rnr(r));
|
||||
return as_long_pair_opr(r);
|
||||
}
|
||||
static LIR_Opr as_pointer_opr(Register r) {
|
||||
return as_opr(r);
|
||||
|
||||
@@ -420,7 +420,8 @@ int LIR_Assembler::emit_unwind_handler() {
|
||||
}
|
||||
|
||||
if (compilation()->env()->dtrace_method_probes()) {
|
||||
jobject2reg(method()->constant_encoding(), O0);
|
||||
__ mov(G2_thread, O0);
|
||||
jobject2reg(method()->constant_encoding(), O1);
|
||||
__ call(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit), relocInfo::runtime_call_type);
|
||||
__ delayed()->nop();
|
||||
}
|
||||
@@ -1625,13 +1626,18 @@ void LIR_Assembler::reg2mem(LIR_Opr from_reg, LIR_Opr dest, BasicType type,
|
||||
|
||||
void LIR_Assembler::return_op(LIR_Opr result) {
|
||||
// the poll may need a register so just pick one that isn't the return register
|
||||
#ifdef TIERED
|
||||
#if defined(TIERED) && !defined(_LP64)
|
||||
if (result->type_field() == LIR_OprDesc::long_type) {
|
||||
// Must move the result to G1
|
||||
// Must leave proper result in O0,O1 and G1 (TIERED only)
|
||||
__ sllx(I0, 32, G1); // Shift bits into high G1
|
||||
__ srl (I1, 0, I1); // Zero extend O1 (harmless?)
|
||||
__ or3 (I1, G1, G1); // OR 64 bits into G1
|
||||
#ifdef ASSERT
|
||||
// mangle it so any problems will show up
|
||||
__ set(0xdeadbeef, I0);
|
||||
__ set(0xdeadbeef, I1);
|
||||
#endif
|
||||
}
|
||||
#endif // TIERED
|
||||
__ set((intptr_t)os::get_polling_page(), L0);
|
||||
@@ -2424,6 +2430,192 @@ void LIR_Assembler::emit_alloc_array(LIR_OpAllocArray* op) {
|
||||
}
|
||||
|
||||
|
||||
void LIR_Assembler::type_profile_helper(Register mdo, int mdo_offset_bias,
|
||||
ciMethodData *md, ciProfileData *data,
|
||||
Register recv, Register tmp1, Label* update_done) {
|
||||
uint i;
|
||||
for (i = 0; i < VirtualCallData::row_limit(); i++) {
|
||||
Label next_test;
|
||||
// See if the receiver is receiver[n].
|
||||
Address receiver_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
__ ld_ptr(receiver_addr, tmp1);
|
||||
__ verify_oop(tmp1);
|
||||
__ cmp(recv, tmp1);
|
||||
__ brx(Assembler::notEqual, false, Assembler::pt, next_test);
|
||||
__ delayed()->nop();
|
||||
Address data_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_count_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
__ ld_ptr(data_addr, tmp1);
|
||||
__ add(tmp1, DataLayout::counter_increment, tmp1);
|
||||
__ st_ptr(tmp1, data_addr);
|
||||
__ ba(false, *update_done);
|
||||
__ delayed()->nop();
|
||||
__ bind(next_test);
|
||||
}
|
||||
|
||||
// Didn't find receiver; find next empty slot and fill it in
|
||||
for (i = 0; i < VirtualCallData::row_limit(); i++) {
|
||||
Label next_test;
|
||||
Address recv_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
load(recv_addr, tmp1, T_OBJECT);
|
||||
__ br_notnull(tmp1, false, Assembler::pt, next_test);
|
||||
__ delayed()->nop();
|
||||
__ st_ptr(recv, recv_addr);
|
||||
__ set(DataLayout::counter_increment, tmp1);
|
||||
__ st_ptr(tmp1, mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_count_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
__ ba(false, *update_done);
|
||||
__ delayed()->nop();
|
||||
__ bind(next_test);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LIR_Assembler::setup_md_access(ciMethod* method, int bci,
|
||||
ciMethodData*& md, ciProfileData*& data, int& mdo_offset_bias) {
|
||||
md = method->method_data();
|
||||
if (md == NULL) {
|
||||
bailout("out of memory building methodDataOop");
|
||||
return;
|
||||
}
|
||||
data = md->bci_to_data(bci);
|
||||
assert(data != NULL, "need data for checkcast");
|
||||
assert(data->is_ReceiverTypeData(), "need ReceiverTypeData for type check");
|
||||
if (!Assembler::is_simm13(md->byte_offset_of_slot(data, DataLayout::header_offset()) + data->size_in_bytes())) {
|
||||
// The offset is large so bias the mdo by the base of the slot so
|
||||
// that the ld can use simm13s to reference the slots of the data
|
||||
mdo_offset_bias = md->byte_offset_of_slot(data, DataLayout::header_offset());
|
||||
}
|
||||
}
|
||||
|
||||
void LIR_Assembler::emit_typecheck_helper(LIR_OpTypeCheck *op, Label* success, Label* failure, Label* obj_is_null) {
|
||||
// we always need a stub for the failure case.
|
||||
CodeStub* stub = op->stub();
|
||||
Register obj = op->object()->as_register();
|
||||
Register k_RInfo = op->tmp1()->as_register();
|
||||
Register klass_RInfo = op->tmp2()->as_register();
|
||||
Register dst = op->result_opr()->as_register();
|
||||
Register Rtmp1 = op->tmp3()->as_register();
|
||||
ciKlass* k = op->klass();
|
||||
|
||||
|
||||
if (obj == k_RInfo) {
|
||||
k_RInfo = klass_RInfo;
|
||||
klass_RInfo = obj;
|
||||
}
|
||||
|
||||
ciMethodData* md;
|
||||
ciProfileData* data;
|
||||
int mdo_offset_bias = 0;
|
||||
if (op->should_profile()) {
|
||||
ciMethod* method = op->profiled_method();
|
||||
assert(method != NULL, "Should have method");
|
||||
setup_md_access(method, op->profiled_bci(), md, data, mdo_offset_bias);
|
||||
|
||||
Label not_null;
|
||||
__ br_notnull(obj, false, Assembler::pn, not_null);
|
||||
__ delayed()->nop();
|
||||
Register mdo = k_RInfo;
|
||||
Register data_val = Rtmp1;
|
||||
jobject2reg(md->constant_encoding(), mdo);
|
||||
if (mdo_offset_bias > 0) {
|
||||
__ set(mdo_offset_bias, data_val);
|
||||
__ add(mdo, data_val, mdo);
|
||||
}
|
||||
Address flags_addr(mdo, md->byte_offset_of_slot(data, DataLayout::flags_offset()) - mdo_offset_bias);
|
||||
__ ldub(flags_addr, data_val);
|
||||
__ or3(data_val, BitData::null_seen_byte_constant(), data_val);
|
||||
__ stb(data_val, flags_addr);
|
||||
__ ba(false, *obj_is_null);
|
||||
__ delayed()->nop();
|
||||
__ bind(not_null);
|
||||
} else {
|
||||
__ br_null(obj, false, Assembler::pn, *obj_is_null);
|
||||
__ delayed()->nop();
|
||||
}
|
||||
|
||||
Label profile_cast_failure, profile_cast_success;
|
||||
Label *failure_target = op->should_profile() ? &profile_cast_failure : failure;
|
||||
Label *success_target = op->should_profile() ? &profile_cast_success : success;
|
||||
|
||||
// patching may screw with our temporaries on sparc,
|
||||
// so let's do it before loading the class
|
||||
if (k->is_loaded()) {
|
||||
jobject2reg(k->constant_encoding(), k_RInfo);
|
||||
} else {
|
||||
jobject2reg_with_patching(k_RInfo, op->info_for_patch());
|
||||
}
|
||||
assert(obj != k_RInfo, "must be different");
|
||||
|
||||
// get object class
|
||||
// not a safepoint as obj null check happens earlier
|
||||
load(obj, oopDesc::klass_offset_in_bytes(), klass_RInfo, T_OBJECT, NULL);
|
||||
if (op->fast_check()) {
|
||||
assert_different_registers(klass_RInfo, k_RInfo);
|
||||
__ cmp(k_RInfo, klass_RInfo);
|
||||
__ brx(Assembler::notEqual, false, Assembler::pt, *failure_target);
|
||||
__ delayed()->nop();
|
||||
} else {
|
||||
bool need_slow_path = true;
|
||||
if (k->is_loaded()) {
|
||||
if (k->super_check_offset() != sizeof(oopDesc) + Klass::secondary_super_cache_offset_in_bytes())
|
||||
need_slow_path = false;
|
||||
// perform the fast part of the checking logic
|
||||
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, noreg,
|
||||
(need_slow_path ? success_target : NULL),
|
||||
failure_target, NULL,
|
||||
RegisterOrConstant(k->super_check_offset()));
|
||||
} else {
|
||||
// perform the fast part of the checking logic
|
||||
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, O7, success_target,
|
||||
failure_target, NULL);
|
||||
}
|
||||
if (need_slow_path) {
|
||||
// call out-of-line instance of __ check_klass_subtype_slow_path(...):
|
||||
assert(klass_RInfo == G3 && k_RInfo == G1, "incorrect call setup");
|
||||
__ call(Runtime1::entry_for(Runtime1::slow_subtype_check_id), relocInfo::runtime_call_type);
|
||||
__ delayed()->nop();
|
||||
__ cmp(G3, 0);
|
||||
__ br(Assembler::equal, false, Assembler::pn, *failure_target);
|
||||
__ delayed()->nop();
|
||||
// Fall through to success case
|
||||
}
|
||||
}
|
||||
|
||||
if (op->should_profile()) {
|
||||
Register mdo = klass_RInfo, recv = k_RInfo, tmp1 = Rtmp1;
|
||||
assert_different_registers(obj, mdo, recv, tmp1);
|
||||
__ bind(profile_cast_success);
|
||||
jobject2reg(md->constant_encoding(), mdo);
|
||||
if (mdo_offset_bias > 0) {
|
||||
__ set(mdo_offset_bias, tmp1);
|
||||
__ add(mdo, tmp1, mdo);
|
||||
}
|
||||
load(Address(obj, oopDesc::klass_offset_in_bytes()), recv, T_OBJECT);
|
||||
type_profile_helper(mdo, mdo_offset_bias, md, data, recv, tmp1, success);
|
||||
// Jump over the failure case
|
||||
__ ba(false, *success);
|
||||
__ delayed()->nop();
|
||||
// Cast failure case
|
||||
__ bind(profile_cast_failure);
|
||||
jobject2reg(md->constant_encoding(), mdo);
|
||||
if (mdo_offset_bias > 0) {
|
||||
__ set(mdo_offset_bias, tmp1);
|
||||
__ add(mdo, tmp1, mdo);
|
||||
}
|
||||
Address data_addr(mdo, md->byte_offset_of_slot(data, CounterData::count_offset()) - mdo_offset_bias);
|
||||
__ ld_ptr(data_addr, tmp1);
|
||||
__ sub(tmp1, DataLayout::counter_increment, tmp1);
|
||||
__ st_ptr(tmp1, data_addr);
|
||||
__ ba(false, *failure);
|
||||
__ delayed()->nop();
|
||||
}
|
||||
__ ba(false, *success);
|
||||
__ delayed()->nop();
|
||||
}
|
||||
|
||||
void LIR_Assembler::emit_opTypeCheck(LIR_OpTypeCheck* op) {
|
||||
LIR_Code code = op->code();
|
||||
if (code == lir_store_check) {
|
||||
@@ -2434,193 +2626,106 @@ void LIR_Assembler::emit_opTypeCheck(LIR_OpTypeCheck* op) {
|
||||
Register Rtmp1 = op->tmp3()->as_register();
|
||||
|
||||
__ verify_oop(value);
|
||||
|
||||
CodeStub* stub = op->stub();
|
||||
Label done;
|
||||
__ cmp(value, 0);
|
||||
__ br(Assembler::equal, false, Assembler::pn, done);
|
||||
__ delayed()->nop();
|
||||
// check if it needs to be profiled
|
||||
ciMethodData* md;
|
||||
ciProfileData* data;
|
||||
int mdo_offset_bias = 0;
|
||||
if (op->should_profile()) {
|
||||
ciMethod* method = op->profiled_method();
|
||||
assert(method != NULL, "Should have method");
|
||||
setup_md_access(method, op->profiled_bci(), md, data, mdo_offset_bias);
|
||||
}
|
||||
Label profile_cast_success, profile_cast_failure, done;
|
||||
Label *success_target = op->should_profile() ? &profile_cast_success : &done;
|
||||
Label *failure_target = op->should_profile() ? &profile_cast_failure : stub->entry();
|
||||
|
||||
if (op->should_profile()) {
|
||||
Label not_null;
|
||||
__ br_notnull(value, false, Assembler::pn, not_null);
|
||||
__ delayed()->nop();
|
||||
Register mdo = k_RInfo;
|
||||
Register data_val = Rtmp1;
|
||||
jobject2reg(md->constant_encoding(), mdo);
|
||||
if (mdo_offset_bias > 0) {
|
||||
__ set(mdo_offset_bias, data_val);
|
||||
__ add(mdo, data_val, mdo);
|
||||
}
|
||||
Address flags_addr(mdo, md->byte_offset_of_slot(data, DataLayout::flags_offset()) - mdo_offset_bias);
|
||||
__ ldub(flags_addr, data_val);
|
||||
__ or3(data_val, BitData::null_seen_byte_constant(), data_val);
|
||||
__ stb(data_val, flags_addr);
|
||||
__ ba(false, done);
|
||||
__ delayed()->nop();
|
||||
__ bind(not_null);
|
||||
} else {
|
||||
__ br_null(value, false, Assembler::pn, done);
|
||||
__ delayed()->nop();
|
||||
}
|
||||
load(array, oopDesc::klass_offset_in_bytes(), k_RInfo, T_OBJECT, op->info_for_exception());
|
||||
load(value, oopDesc::klass_offset_in_bytes(), klass_RInfo, T_OBJECT, NULL);
|
||||
|
||||
// get instance klass
|
||||
load(k_RInfo, objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc), k_RInfo, T_OBJECT, NULL);
|
||||
// perform the fast part of the checking logic
|
||||
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, O7, &done, stub->entry(), NULL);
|
||||
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, O7, success_target, failure_target, NULL);
|
||||
|
||||
// call out-of-line instance of __ check_klass_subtype_slow_path(...):
|
||||
assert(klass_RInfo == G3 && k_RInfo == G1, "incorrect call setup");
|
||||
__ call(Runtime1::entry_for(Runtime1::slow_subtype_check_id), relocInfo::runtime_call_type);
|
||||
__ delayed()->nop();
|
||||
__ cmp(G3, 0);
|
||||
__ br(Assembler::equal, false, Assembler::pn, *stub->entry());
|
||||
__ br(Assembler::equal, false, Assembler::pn, *failure_target);
|
||||
__ delayed()->nop();
|
||||
__ bind(done);
|
||||
} else if (op->code() == lir_checkcast) {
|
||||
// we always need a stub for the failure case.
|
||||
CodeStub* stub = op->stub();
|
||||
Register obj = op->object()->as_register();
|
||||
Register k_RInfo = op->tmp1()->as_register();
|
||||
Register klass_RInfo = op->tmp2()->as_register();
|
||||
Register dst = op->result_opr()->as_register();
|
||||
Register Rtmp1 = op->tmp3()->as_register();
|
||||
ciKlass* k = op->klass();
|
||||
// fall through to the success case
|
||||
|
||||
if (obj == k_RInfo) {
|
||||
k_RInfo = klass_RInfo;
|
||||
klass_RInfo = obj;
|
||||
}
|
||||
if (op->profiled_method() != NULL) {
|
||||
ciMethod* method = op->profiled_method();
|
||||
int bci = op->profiled_bci();
|
||||
|
||||
// We need two temporaries to perform this operation on SPARC,
|
||||
// so to keep things simple we perform a redundant test here
|
||||
Label profile_done;
|
||||
__ cmp(obj, 0);
|
||||
__ br(Assembler::notEqual, false, Assembler::pn, profile_done);
|
||||
__ delayed()->nop();
|
||||
// Object is null; update methodDataOop
|
||||
ciMethodData* md = method->method_data();
|
||||
if (md == NULL) {
|
||||
bailout("out of memory building methodDataOop");
|
||||
return;
|
||||
}
|
||||
ciProfileData* data = md->bci_to_data(bci);
|
||||
assert(data != NULL, "need data for checkcast");
|
||||
assert(data->is_BitData(), "need BitData for checkcast");
|
||||
Register mdo = k_RInfo;
|
||||
Register data_val = Rtmp1;
|
||||
if (op->should_profile()) {
|
||||
Register mdo = klass_RInfo, recv = k_RInfo, tmp1 = Rtmp1;
|
||||
assert_different_registers(value, mdo, recv, tmp1);
|
||||
__ bind(profile_cast_success);
|
||||
jobject2reg(md->constant_encoding(), mdo);
|
||||
|
||||
int mdo_offset_bias = 0;
|
||||
if (!Assembler::is_simm13(md->byte_offset_of_slot(data, DataLayout::header_offset()) + data->size_in_bytes())) {
|
||||
// The offset is large so bias the mdo by the base of the slot so
|
||||
// that the ld can use simm13s to reference the slots of the data
|
||||
mdo_offset_bias = md->byte_offset_of_slot(data, DataLayout::header_offset());
|
||||
__ set(mdo_offset_bias, data_val);
|
||||
__ add(mdo, data_val, mdo);
|
||||
if (mdo_offset_bias > 0) {
|
||||
__ set(mdo_offset_bias, tmp1);
|
||||
__ add(mdo, tmp1, mdo);
|
||||
}
|
||||
|
||||
|
||||
Address flags_addr(mdo, md->byte_offset_of_slot(data, DataLayout::flags_offset()) - mdo_offset_bias);
|
||||
__ ldub(flags_addr, data_val);
|
||||
__ or3(data_val, BitData::null_seen_byte_constant(), data_val);
|
||||
__ stb(data_val, flags_addr);
|
||||
__ bind(profile_done);
|
||||
}
|
||||
|
||||
Label done;
|
||||
// patching may screw with our temporaries on sparc,
|
||||
// so let's do it before loading the class
|
||||
if (k->is_loaded()) {
|
||||
jobject2reg(k->constant_encoding(), k_RInfo);
|
||||
} else {
|
||||
jobject2reg_with_patching(k_RInfo, op->info_for_patch());
|
||||
}
|
||||
assert(obj != k_RInfo, "must be different");
|
||||
__ cmp(obj, 0);
|
||||
__ br(Assembler::equal, false, Assembler::pn, done);
|
||||
__ delayed()->nop();
|
||||
|
||||
// get object class
|
||||
// not a safepoint as obj null check happens earlier
|
||||
load(obj, oopDesc::klass_offset_in_bytes(), klass_RInfo, T_OBJECT, NULL);
|
||||
if (op->fast_check()) {
|
||||
assert_different_registers(klass_RInfo, k_RInfo);
|
||||
__ cmp(k_RInfo, klass_RInfo);
|
||||
__ br(Assembler::notEqual, false, Assembler::pt, *stub->entry());
|
||||
load(Address(value, oopDesc::klass_offset_in_bytes()), recv, T_OBJECT);
|
||||
type_profile_helper(mdo, mdo_offset_bias, md, data, recv, tmp1, &done);
|
||||
__ ba(false, done);
|
||||
__ delayed()->nop();
|
||||
__ bind(done);
|
||||
} else {
|
||||
bool need_slow_path = true;
|
||||
if (k->is_loaded()) {
|
||||
if (k->super_check_offset() != sizeof(oopDesc) + Klass::secondary_super_cache_offset_in_bytes())
|
||||
need_slow_path = false;
|
||||
// perform the fast part of the checking logic
|
||||
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, noreg,
|
||||
(need_slow_path ? &done : NULL),
|
||||
stub->entry(), NULL,
|
||||
RegisterOrConstant(k->super_check_offset()));
|
||||
} else {
|
||||
// perform the fast part of the checking logic
|
||||
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, O7,
|
||||
&done, stub->entry(), NULL);
|
||||
// Cast failure case
|
||||
__ bind(profile_cast_failure);
|
||||
jobject2reg(md->constant_encoding(), mdo);
|
||||
if (mdo_offset_bias > 0) {
|
||||
__ set(mdo_offset_bias, tmp1);
|
||||
__ add(mdo, tmp1, mdo);
|
||||
}
|
||||
if (need_slow_path) {
|
||||
// call out-of-line instance of __ check_klass_subtype_slow_path(...):
|
||||
assert(klass_RInfo == G3 && k_RInfo == G1, "incorrect call setup");
|
||||
__ call(Runtime1::entry_for(Runtime1::slow_subtype_check_id), relocInfo::runtime_call_type);
|
||||
__ delayed()->nop();
|
||||
__ cmp(G3, 0);
|
||||
__ br(Assembler::equal, false, Assembler::pn, *stub->entry());
|
||||
__ delayed()->nop();
|
||||
}
|
||||
__ bind(done);
|
||||
Address data_addr(mdo, md->byte_offset_of_slot(data, CounterData::count_offset()) - mdo_offset_bias);
|
||||
__ ld_ptr(data_addr, tmp1);
|
||||
__ sub(tmp1, DataLayout::counter_increment, tmp1);
|
||||
__ st_ptr(tmp1, data_addr);
|
||||
__ ba(false, *stub->entry());
|
||||
__ delayed()->nop();
|
||||
}
|
||||
__ bind(done);
|
||||
} else if (code == lir_checkcast) {
|
||||
Register obj = op->object()->as_register();
|
||||
Register dst = op->result_opr()->as_register();
|
||||
Label success;
|
||||
emit_typecheck_helper(op, &success, op->stub()->entry(), &success);
|
||||
__ bind(success);
|
||||
__ mov(obj, dst);
|
||||
} else if (code == lir_instanceof) {
|
||||
Register obj = op->object()->as_register();
|
||||
Register k_RInfo = op->tmp1()->as_register();
|
||||
Register klass_RInfo = op->tmp2()->as_register();
|
||||
Register dst = op->result_opr()->as_register();
|
||||
Register Rtmp1 = op->tmp3()->as_register();
|
||||
ciKlass* k = op->klass();
|
||||
|
||||
Label done;
|
||||
if (obj == k_RInfo) {
|
||||
k_RInfo = klass_RInfo;
|
||||
klass_RInfo = obj;
|
||||
}
|
||||
// patching may screw with our temporaries on sparc,
|
||||
// so let's do it before loading the class
|
||||
if (k->is_loaded()) {
|
||||
jobject2reg(k->constant_encoding(), k_RInfo);
|
||||
} else {
|
||||
jobject2reg_with_patching(k_RInfo, op->info_for_patch());
|
||||
}
|
||||
assert(obj != k_RInfo, "must be different");
|
||||
__ cmp(obj, 0);
|
||||
__ br(Assembler::equal, true, Assembler::pn, done);
|
||||
__ delayed()->set(0, dst);
|
||||
|
||||
// get object class
|
||||
// not a safepoint as obj null check happens earlier
|
||||
load(obj, oopDesc::klass_offset_in_bytes(), klass_RInfo, T_OBJECT, NULL);
|
||||
if (op->fast_check()) {
|
||||
__ cmp(k_RInfo, klass_RInfo);
|
||||
__ br(Assembler::equal, true, Assembler::pt, done);
|
||||
__ delayed()->set(1, dst);
|
||||
__ set(0, dst);
|
||||
__ bind(done);
|
||||
} else {
|
||||
bool need_slow_path = true;
|
||||
if (k->is_loaded()) {
|
||||
if (k->super_check_offset() != sizeof(oopDesc) + Klass::secondary_super_cache_offset_in_bytes())
|
||||
need_slow_path = false;
|
||||
// perform the fast part of the checking logic
|
||||
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, O7, noreg,
|
||||
(need_slow_path ? &done : NULL),
|
||||
(need_slow_path ? &done : NULL), NULL,
|
||||
RegisterOrConstant(k->super_check_offset()),
|
||||
dst);
|
||||
} else {
|
||||
assert(dst != klass_RInfo && dst != k_RInfo, "need 3 registers");
|
||||
// perform the fast part of the checking logic
|
||||
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, O7, dst,
|
||||
&done, &done, NULL,
|
||||
RegisterOrConstant(-1),
|
||||
dst);
|
||||
}
|
||||
if (need_slow_path) {
|
||||
// call out-of-line instance of __ check_klass_subtype_slow_path(...):
|
||||
assert(klass_RInfo == G3 && k_RInfo == G1, "incorrect call setup");
|
||||
__ call(Runtime1::entry_for(Runtime1::slow_subtype_check_id), relocInfo::runtime_call_type);
|
||||
__ delayed()->nop();
|
||||
__ mov(G3, dst);
|
||||
}
|
||||
__ bind(done);
|
||||
}
|
||||
Label success, failure, done;
|
||||
emit_typecheck_helper(op, &success, &failure, &failure);
|
||||
__ bind(failure);
|
||||
__ set(0, dst);
|
||||
__ ba(false, done);
|
||||
__ delayed()->nop();
|
||||
__ bind(success);
|
||||
__ set(1, dst);
|
||||
__ bind(done);
|
||||
} else {
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
@@ -2776,9 +2881,14 @@ void LIR_Assembler::emit_profile_call(LIR_OpProfileCall* op) {
|
||||
ciProfileData* data = md->bci_to_data(bci);
|
||||
assert(data->is_CounterData(), "need CounterData for calls");
|
||||
assert(op->mdo()->is_single_cpu(), "mdo must be allocated");
|
||||
assert(op->tmp1()->is_single_cpu(), "tmp1 must be allocated");
|
||||
Register mdo = op->mdo()->as_register();
|
||||
#ifdef _LP64
|
||||
assert(op->tmp1()->is_double_cpu(), "tmp1 must be allocated");
|
||||
Register tmp1 = op->tmp1()->as_register_lo();
|
||||
#else
|
||||
assert(op->tmp1()->is_single_cpu(), "tmp1 must be allocated");
|
||||
Register tmp1 = op->tmp1()->as_register();
|
||||
#endif
|
||||
jobject2reg(md->constant_encoding(), mdo);
|
||||
int mdo_offset_bias = 0;
|
||||
if (!Assembler::is_simm13(md->byte_offset_of_slot(data, CounterData::count_offset()) +
|
||||
@@ -2795,13 +2905,13 @@ void LIR_Assembler::emit_profile_call(LIR_OpProfileCall* op) {
|
||||
// Perform additional virtual call profiling for invokevirtual and
|
||||
// invokeinterface bytecodes
|
||||
if ((bc == Bytecodes::_invokevirtual || bc == Bytecodes::_invokeinterface) &&
|
||||
Tier1ProfileVirtualCalls) {
|
||||
C1ProfileVirtualCalls) {
|
||||
assert(op->recv()->is_single_cpu(), "recv must be allocated");
|
||||
Register recv = op->recv()->as_register();
|
||||
assert_different_registers(mdo, tmp1, recv);
|
||||
assert(data->is_VirtualCallData(), "need VirtualCallData for virtual calls");
|
||||
ciKlass* known_klass = op->known_holder();
|
||||
if (Tier1OptimizeVirtualCallProfiling && known_klass != NULL) {
|
||||
if (C1OptimizeVirtualCallProfiling && known_klass != NULL) {
|
||||
// We know the type that will be seen at this call site; we can
|
||||
// statically update the methodDataOop rather than needing to do
|
||||
// dynamic tests on the receiver type
|
||||
@@ -2816,9 +2926,9 @@ void LIR_Assembler::emit_profile_call(LIR_OpProfileCall* op) {
|
||||
Address data_addr(mdo, md->byte_offset_of_slot(data,
|
||||
VirtualCallData::receiver_count_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
__ lduw(data_addr, tmp1);
|
||||
__ ld_ptr(data_addr, tmp1);
|
||||
__ add(tmp1, DataLayout::counter_increment, tmp1);
|
||||
__ stw(tmp1, data_addr);
|
||||
__ st_ptr(tmp1, data_addr);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -2837,70 +2947,32 @@ void LIR_Assembler::emit_profile_call(LIR_OpProfileCall* op) {
|
||||
__ st_ptr(tmp1, recv_addr);
|
||||
Address data_addr(mdo, md->byte_offset_of_slot(data, VirtualCallData::receiver_count_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
__ lduw(data_addr, tmp1);
|
||||
__ ld_ptr(data_addr, tmp1);
|
||||
__ add(tmp1, DataLayout::counter_increment, tmp1);
|
||||
__ stw(tmp1, data_addr);
|
||||
__ st_ptr(tmp1, data_addr);
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
load(Address(recv, oopDesc::klass_offset_in_bytes()), recv, T_OBJECT);
|
||||
Label update_done;
|
||||
uint i;
|
||||
for (i = 0; i < VirtualCallData::row_limit(); i++) {
|
||||
Label next_test;
|
||||
// See if the receiver is receiver[n].
|
||||
Address receiver_addr(mdo, md->byte_offset_of_slot(data, VirtualCallData::receiver_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
__ ld_ptr(receiver_addr, tmp1);
|
||||
__ verify_oop(tmp1);
|
||||
__ cmp(recv, tmp1);
|
||||
__ brx(Assembler::notEqual, false, Assembler::pt, next_test);
|
||||
__ delayed()->nop();
|
||||
Address data_addr(mdo, md->byte_offset_of_slot(data, VirtualCallData::receiver_count_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
__ lduw(data_addr, tmp1);
|
||||
__ add(tmp1, DataLayout::counter_increment, tmp1);
|
||||
__ stw(tmp1, data_addr);
|
||||
__ br(Assembler::always, false, Assembler::pt, update_done);
|
||||
__ delayed()->nop();
|
||||
__ bind(next_test);
|
||||
}
|
||||
|
||||
// Didn't find receiver; find next empty slot and fill it in
|
||||
for (i = 0; i < VirtualCallData::row_limit(); i++) {
|
||||
Label next_test;
|
||||
Address recv_addr(mdo, md->byte_offset_of_slot(data, VirtualCallData::receiver_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
load(recv_addr, tmp1, T_OBJECT);
|
||||
__ tst(tmp1);
|
||||
__ brx(Assembler::notEqual, false, Assembler::pt, next_test);
|
||||
__ delayed()->nop();
|
||||
__ st_ptr(recv, recv_addr);
|
||||
__ set(DataLayout::counter_increment, tmp1);
|
||||
__ st_ptr(tmp1, mdo, md->byte_offset_of_slot(data, VirtualCallData::receiver_count_offset(i)) -
|
||||
mdo_offset_bias);
|
||||
__ br(Assembler::always, false, Assembler::pt, update_done);
|
||||
__ delayed()->nop();
|
||||
__ bind(next_test);
|
||||
}
|
||||
type_profile_helper(mdo, mdo_offset_bias, md, data, recv, tmp1, &update_done);
|
||||
// Receiver did not match any saved receiver and there is no empty row for it.
|
||||
// Increment total counter to indicate polymorphic case.
|
||||
__ lduw(counter_addr, tmp1);
|
||||
__ ld_ptr(counter_addr, tmp1);
|
||||
__ add(tmp1, DataLayout::counter_increment, tmp1);
|
||||
__ stw(tmp1, counter_addr);
|
||||
__ st_ptr(tmp1, counter_addr);
|
||||
|
||||
__ bind(update_done);
|
||||
}
|
||||
} else {
|
||||
// Static call
|
||||
__ lduw(counter_addr, tmp1);
|
||||
__ ld_ptr(counter_addr, tmp1);
|
||||
__ add(tmp1, DataLayout::counter_increment, tmp1);
|
||||
__ stw(tmp1, counter_addr);
|
||||
__ st_ptr(tmp1, counter_addr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LIR_Assembler::align_backward_branch_target() {
|
||||
__ align(OptoLoopAlignment);
|
||||
}
|
||||
@@ -3093,31 +3165,36 @@ void LIR_Assembler::membar_release() {
|
||||
// no-op on TSO
|
||||
}
|
||||
|
||||
// Macro to Pack two sequential registers containing 32 bit values
|
||||
// Pack two sequential registers containing 32 bit values
|
||||
// into a single 64 bit register.
|
||||
// rs and rs->successor() are packed into rd
|
||||
// rd and rs may be the same register.
|
||||
// Note: rs and rs->successor() are destroyed.
|
||||
void LIR_Assembler::pack64( Register rs, Register rd ) {
|
||||
// src and src->successor() are packed into dst
|
||||
// src and dst may be the same register.
|
||||
// Note: src is destroyed
|
||||
void LIR_Assembler::pack64(LIR_Opr src, LIR_Opr dst) {
|
||||
Register rs = src->as_register();
|
||||
Register rd = dst->as_register_lo();
|
||||
__ sllx(rs, 32, rs);
|
||||
__ srl(rs->successor(), 0, rs->successor());
|
||||
__ or3(rs, rs->successor(), rd);
|
||||
}
|
||||
|
||||
// Macro to unpack a 64 bit value in a register into
|
||||
// Unpack a 64 bit value in a register into
|
||||
// two sequential registers.
|
||||
// rd is unpacked into rd and rd->successor()
|
||||
void LIR_Assembler::unpack64( Register rd ) {
|
||||
__ mov(rd, rd->successor());
|
||||
__ srax(rd, 32, rd);
|
||||
__ sra(rd->successor(), 0, rd->successor());
|
||||
// src is unpacked into dst and dst->successor()
|
||||
void LIR_Assembler::unpack64(LIR_Opr src, LIR_Opr dst) {
|
||||
Register rs = src->as_register_lo();
|
||||
Register rd = dst->as_register_hi();
|
||||
assert_different_registers(rs, rd, rd->successor());
|
||||
__ srlx(rs, 32, rd);
|
||||
__ srl (rs, 0, rd->successor());
|
||||
}
|
||||
|
||||
|
||||
void LIR_Assembler::leal(LIR_Opr addr_opr, LIR_Opr dest) {
|
||||
LIR_Address* addr = addr_opr->as_address_ptr();
|
||||
assert(addr->index()->is_illegal() && addr->scale() == LIR_Address::times_1 && Assembler::is_simm13(addr->disp()), "can't handle complex addresses yet");
|
||||
__ add(addr->base()->as_register(), addr->disp(), dest->as_register());
|
||||
|
||||
__ add(addr->base()->as_pointer_register(), addr->disp(), dest->as_pointer_register());
|
||||
}
|
||||
|
||||
|
||||
@@ -3188,11 +3265,36 @@ void LIR_Assembler::peephole(LIR_List* lir) {
|
||||
tty->cr();
|
||||
}
|
||||
#endif
|
||||
continue;
|
||||
} else {
|
||||
LIR_Op* delay_op = new LIR_OpDelay(new LIR_Op0(lir_nop), op->as_OpJavaCall()->info());
|
||||
inst->insert_before(i + 1, delay_op);
|
||||
i++;
|
||||
}
|
||||
|
||||
LIR_Op* delay_op = new LIR_OpDelay(new LIR_Op0(lir_nop), op->as_OpJavaCall()->info());
|
||||
inst->insert_before(i + 1, delay_op);
|
||||
#if defined(TIERED) && !defined(_LP64)
|
||||
// fixup the return value from G1 to O0/O1 for long returns.
|
||||
// It's done here instead of in LIRGenerator because there's
|
||||
// such a mismatch between the single reg and double reg
|
||||
// calling convention.
|
||||
LIR_OpJavaCall* callop = op->as_OpJavaCall();
|
||||
if (callop->result_opr() == FrameMap::out_long_opr) {
|
||||
LIR_OpJavaCall* call;
|
||||
LIR_OprList* arguments = new LIR_OprList(callop->arguments()->length());
|
||||
for (int a = 0; a < arguments->length(); a++) {
|
||||
arguments[a] = callop->arguments()[a];
|
||||
}
|
||||
if (op->code() == lir_virtual_call) {
|
||||
call = new LIR_OpJavaCall(op->code(), callop->method(), callop->receiver(), FrameMap::g1_long_single_opr,
|
||||
callop->vtable_offset(), arguments, callop->info());
|
||||
} else {
|
||||
call = new LIR_OpJavaCall(op->code(), callop->method(), callop->receiver(), FrameMap::g1_long_single_opr,
|
||||
callop->addr(), arguments, callop->info());
|
||||
}
|
||||
inst->at_put(i - 1, call);
|
||||
inst->insert_before(i + 1, new LIR_Op1(lir_unpack64, FrameMap::g1_long_single_opr, callop->result_opr(),
|
||||
T_LONG, lir_patch_none, NULL));
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 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
|
||||
@@ -71,9 +71,16 @@
|
||||
|
||||
static bool is_single_instruction(LIR_Op* op);
|
||||
|
||||
// Record the type of the receiver in ReceiverTypeData
|
||||
void type_profile_helper(Register mdo, int mdo_offset_bias,
|
||||
ciMethodData *md, ciProfileData *data,
|
||||
Register recv, Register tmp1, Label* update_done);
|
||||
// Setup pointers to MDO, MDO slot, also compute offset bias to access the slot.
|
||||
void setup_md_access(ciMethod* method, int bci,
|
||||
ciMethodData*& md, ciProfileData*& data, int& mdo_offset_bias);
|
||||
public:
|
||||
void pack64( Register rs, Register rd );
|
||||
void unpack64( Register rd );
|
||||
void pack64(LIR_Opr src, LIR_Opr dst);
|
||||
void unpack64(LIR_Opr src, LIR_Opr dst);
|
||||
|
||||
enum {
|
||||
#ifdef _LP64
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user