Compare commits

...

949 Commits

Author SHA1 Message Date
J. Duke
b2903fd326 Merge 2017-07-05 20:26:30 +02:00
J. Duke
261e581cd9 Merge 2017-07-05 20:26:27 +02:00
J. Duke
023dbbc04b Merge 2017-07-05 20:26:24 +02:00
J. Duke
70f9dfb132 Merge 2017-07-05 20:26:22 +02:00
J. Duke
8dc15792ee Merge 2017-07-05 20:26:19 +02:00
J. Duke
caefe717f8 Merge 2017-07-05 20:26:16 +02:00
J. Duke
aed87eaff6 Merge 2017-07-05 20:26:13 +02:00
J. Duke
c431f7a6b1 Merge 2017-07-05 20:26:10 +02:00
J. Duke
31e290742b Added tag jdk9-b57 for changeset ddb95d8f169b 2017-07-05 20:26:01 +02:00
J. Duke
3e1c88b819 Merge 2017-07-05 20:26:01 +02:00
J. Duke
1ad3c7ae74 Merge 2017-07-05 20:25:58 +02:00
J. Duke
fe59557108 Merge 2017-07-05 20:25:54 +02:00
J. Duke
137a9a119a Merge 2017-07-05 20:25:50 +02:00
J. Duke
0e8a5b234a Merge 2017-07-05 20:25:46 +02:00
J. Duke
3bcc879376 Merge 2017-07-05 20:25:42 +02:00
J. Duke
a8e20f1dca Merge 2017-07-05 20:25:40 +02:00
J. Duke
05ed1aa77a Merge 2017-07-05 20:25:32 +02:00
J. Duke
00ad516e40 Added tag jdk9-b56 for changeset 47544495db2d 2017-07-05 20:25:16 +02:00
J. Duke
3251eb7210 Merge 2017-07-05 20:25:16 +02:00
J. Duke
115e316353 Merge 2017-07-05 20:25:13 +02:00
J. Duke
5806bf4280 Merge 2017-07-05 20:25:08 +02:00
J. Duke
e85df58da2 Merge 2017-07-05 20:25:05 +02:00
J. Duke
65b4e3982c Merge 2017-07-05 20:25:01 +02:00
J. Duke
5627dc241c Merge 2017-07-05 20:24:57 +02:00
J. Duke
78b4374ba1 Merge 2017-07-05 20:24:54 +02:00
J. Duke
65dc46dbe6 Merge 2017-07-05 20:24:44 +02:00
J. Duke
0198eb6feb Added tag jdk9-b55 for changeset c97e2d1bad97 2017-07-05 20:24:26 +02:00
J. Duke
63923c6c41 Merge 2017-07-05 20:24:25 +02:00
J. Duke
c29d281415 Merge 2017-07-05 20:24:21 +02:00
J. Duke
c9aa90a5d4 Merge 2017-07-05 20:24:16 +02:00
J. Duke
a0da185e1d Merge 2017-07-05 20:24:12 +02:00
J. Duke
9b90a460ac Merge 2017-07-05 20:24:08 +02:00
J. Duke
eb357a5d8d Merge 2017-07-05 20:24:03 +02:00
J. Duke
3e289e5c32 Merge 2017-07-05 20:24:00 +02:00
J. Duke
b402c8b5dd Merge 2017-07-05 20:23:52 +02:00
J. Duke
ef1189e300 Added tag jdk9-b54 for changeset 82cd31c5d6ca 2017-07-05 20:23:32 +02:00
J. Duke
cd16fed9b8 Merge 2017-07-05 20:23:32 +02:00
J. Duke
416f47be04 Merge 2017-07-05 20:23:28 +02:00
J. Duke
1a9060a7b6 Merge 2017-07-05 20:23:23 +02:00
J. Duke
0fff7bc455 Merge 2017-07-05 20:23:19 +02:00
J. Duke
3a2ef184e9 Merge 2017-07-05 20:23:16 +02:00
J. Duke
095a2e5b05 Merge 2017-07-05 20:23:10 +02:00
J. Duke
f72191ed2c Merge 2017-07-05 20:23:07 +02:00
J. Duke
ba13c1c9c9 Merge 2017-07-05 20:22:50 +02:00
J. Duke
7bb362569a Added tag jdk9-b53 for changeset 874d76e4699d 2017-07-05 20:22:23 +02:00
J. Duke
44cc65ae49 Merge 2017-07-05 20:22:22 +02:00
J. Duke
83209b6314 Merge 2017-07-05 20:22:17 +02:00
J. Duke
fc9be779d8 Merge 2017-07-05 20:22:09 +02:00
J. Duke
31ac9e0332 Merge 2017-07-05 20:22:03 +02:00
J. Duke
e4e7b03945 Merge 2017-07-05 20:21:57 +02:00
J. Duke
c5fd2d7fab Merge 2017-07-05 20:21:51 +02:00
J. Duke
180d323cea Merge 2017-07-05 20:21:44 +02:00
J. Duke
adfdf89511 Merge 2017-07-05 20:21:34 +02:00
J. Duke
3d64465495 Added tag jdk9-b52 for changeset d6224d602145 2017-07-05 20:21:14 +02:00
J. Duke
f3a755b2ab Merge 2017-07-05 20:21:13 +02:00
J. Duke
29c3545e2e Merge 2017-07-05 20:21:08 +02:00
J. Duke
61245c16cf Merge 2017-07-05 20:21:01 +02:00
J. Duke
c07225a5d7 Merge 2017-07-05 20:20:55 +02:00
J. Duke
2ee38500b9 Merge 2017-07-05 20:20:49 +02:00
J. Duke
90f2e4148c Merge 2017-07-05 20:20:43 +02:00
J. Duke
712a00c48d Merge 2017-07-05 20:20:37 +02:00
J. Duke
9ea6d496cf Merge 2017-07-05 20:20:17 +02:00
J. Duke
6ea721380c Added tag jdk9-b51 for changeset 6efe265424e3 2017-07-05 20:19:46 +02:00
J. Duke
7081b471c4 Merge 2017-07-05 20:19:45 +02:00
J. Duke
dc345a08a6 Merge 2017-07-05 20:19:40 +02:00
J. Duke
3c916a14ac Merge 2017-07-05 20:19:33 +02:00
J. Duke
2ffb8a598b Merge 2017-07-05 20:19:27 +02:00
J. Duke
2a4ff36888 Merge 2017-07-05 20:19:22 +02:00
J. Duke
787b2ba946 Merge 2017-07-05 20:19:16 +02:00
J. Duke
96d022661e Merge 2017-07-05 20:19:12 +02:00
J. Duke
e7d0218faf Merge 2017-07-05 20:19:04 +02:00
J. Duke
f6fd594f98 Added tag jdk9-b50 for changeset 1550b2f6b63d 2017-07-05 20:18:44 +02:00
J. Duke
b1d6b18b33 Merge 2017-07-05 20:18:43 +02:00
J. Duke
c842b05b7a Merge 2017-07-05 20:18:38 +02:00
J. Duke
0a8da5ffb0 Merge 2017-07-05 20:18:32 +02:00
J. Duke
53abd2c412 Merge 2017-07-05 20:18:26 +02:00
J. Duke
0184c716f1 Merge 2017-07-05 20:18:19 +02:00
J. Duke
b18bb30fd8 Merge 2017-07-05 20:18:12 +02:00
J. Duke
2e445fa6b1 Merge 2017-07-05 20:18:07 +02:00
J. Duke
e685a2ba2d Merge 2017-07-05 20:17:56 +02:00
J. Duke
7c6c248530 Added tag jdk9-b49 for changeset 5b8db585a33c 2017-07-05 20:17:34 +02:00
Lana Steuck
14345587a4 Merge 2015-04-03 15:14:06 -07:00
Erik Joelsson
b26b2b8c68 8076531: Switch default compiler on Windows to VS2013
Reviewed-by: tbell
2015-04-03 08:45:08 -07:00
David Katleman
a0058605f3 Added tag jdk9-b57 for changeset ac0dca163b36 2015-04-02 10:02:50 -07:00
David Katleman
d3b0080d69 Added tag jdk9-b57 for changeset 155062c00bfa 2015-04-02 10:02:49 -07:00
David Katleman
1487d5a121 Added tag jdk9-b57 for changeset eb6ff6f9d1ca 2015-04-02 10:02:46 -07:00
David Katleman
7bc95894c8 Added tag jdk9-b57 for changeset c75ff9ed0b4e 2015-04-02 10:02:45 -07:00
David Katleman
770d079643 Added tag jdk9-b57 for changeset 75819e4f737b 2015-04-02 10:02:44 -07:00
David Katleman
1bec618a5d Added tag jdk9-b57 for changeset f9a0bf777d40 2015-04-02 10:02:42 -07:00
David Katleman
79a33f826e Added tag jdk9-b57 for changeset 82711ddae051 2015-04-02 10:02:42 -07:00
David Katleman
88b3106e09 Added tag jdk9-b57 for changeset 4ada9ce756d0 2015-04-02 10:02:41 -07:00
Lana Steuck
fded3474ec Merge 2015-04-01 12:30:25 -07:00
Lana Steuck
a4d244c874 Merge 2015-04-01 12:30:13 -07:00
Lana Steuck
5c98bd203c Merge 2015-04-01 12:30:00 -07:00
Lana Steuck
fda073f8b4 Merge 2015-04-01 12:29:49 -07:00
Lana Steuck
1b4394af50 Merge 2015-04-01 12:29:46 -07:00
Lana Steuck
9594898538 Merge 2015-04-01 12:29:22 -07:00
David Katleman
9d2db271f4 Added tag jdk9-b56 for changeset 8151437996be 2015-03-26 13:09:11 -07:00
David Katleman
b2c4d81ad5 Added tag jdk9-b56 for changeset 17efac395638 2015-03-26 13:09:10 -07:00
David Katleman
3578b418df Added tag jdk9-b56 for changeset 54be38d2d0d1 2015-03-26 13:09:06 -07:00
David Katleman
7d0185af79 Added tag jdk9-b56 for changeset 7de5812088f9 2015-03-26 13:09:05 -07:00
David Katleman
67c161ff52 Added tag jdk9-b56 for changeset 7da9d7e237a0 2015-03-26 13:09:05 -07:00
David Katleman
880e15f490 Added tag jdk9-b56 for changeset e484d3735f41 2015-03-26 13:09:03 -07:00
David Katleman
9a5eb9be15 Added tag jdk9-b56 for changeset 4c4bce4b3b00 2015-03-26 13:09:02 -07:00
David Katleman
45fcc77443 Added tag jdk9-b56 for changeset b118fc95090f 2015-03-26 13:09:01 -07:00
Hannes Wallnöfer
268d8ef7a6 8075927: toNumber(String) accepts illegal characters
Reviewed-by: attila, sundar
2015-03-25 14:41:47 +01:00
Sergey Lugovoy
540bb21731 8075240: Output of some tests contains platform specific line break
Reviewed-by: sundar
2015-03-25 14:39:39 +03:00
Paul Sandoz
b220e6cb1d 8075307: Pipeline calculating inconsistent flag state for parallel stateful ops
Reviewed-by: smarks
2015-03-25 10:50:08 +00:00
Athijegannathan Sundararajan
de784d82f1 8012190: Global scope should be initialized lazily
Reviewed-by: lagergren, hannesw, attila
2015-03-25 14:36:22 +05:30
Masayoshi Okutsu
78c0bdbda5 8075173: DateFormat in german locale returns wrong value for month march
Reviewed-by: naoto, peytoia
2015-03-25 17:59:59 +09:00
Andrei Eremeev
22d4785f1d 8049238: Implement classfile tests for Signature attribute
Reviewed-by: jjg, shurailine, anazarov
2015-03-25 10:29:14 +03:00
Amy Lu
b2805ba95a 8075692: jaxp/test/Makefile reference of win32 directory no longer valid
Reviewed-by: joehw
2015-03-24 21:11:48 -07:00
Jason Uh
6a2c954d63 8074531: Remove javax.security.cert.X509Certificate usage in internal networking packages
Reviewed-by: mullan
2015-03-24 11:31:04 -07:00
Chris Hegarty
82dd135b5f 8075824: Add default[Read|Write]Object to java.util.Date
Reviewed-by: alanb, rriggs
2015-03-24 14:48:11 +00:00
Athijegannathan Sundararajan
0803c08355 8074410: Startup time: Port shell.js to Java
Reviewed-by: lagergren, hannesw
2015-03-24 13:59:31 +05:30
Lev Priima
2b63b5d1d7 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction
Reviewed-by: dholmes
2015-03-24 03:46:57 -04:00
Alejandro Murillo
8972c391cb Merge 2015-03-23 14:00:55 -07:00
Alejandro Murillo
6029b480b7 Merge 2015-03-23 11:44:42 -07:00
Alejandro Murillo
7ce244a2eb Merge 2015-03-23 11:44:41 -07:00
Alejandro Murillo
04284faf5c Merge 2015-03-23 11:44:40 -07:00
Joe Darcy
07cd371738 8075670: Remove intermittent keyword from some tests
Reviewed-by: alanb
2015-03-23 09:45:32 -07:00
Roger Riggs
149272bbdb Merge 2015-03-23 10:58:27 -04:00
Roger Riggs
a056457b52 8067796: (process) Process.waitFor(timeout, unit) doesn't throw NPE if timeout is less than, or equal to zero when unit == null
Implement checking for NPE in Process implementation before other conditions

Reviewed-by: martin, chegar
2015-03-23 10:13:32 -04:00
Roger Riggs
c92b8a33a6 8073220: A typo in the documentation for class ProcessBuilder
Correct reference to be OutputStream

Reviewed-by: martin, alanb
2015-03-23 09:53:08 -04:00
Roger Riggs
7cb7ae5914 8071480: (process spec) ProcessBuilder.start spec linked to the wrong checkRead and checkWrite methods
Disambiguate with links to checkRead(String) and checkWrite(String)

Reviewed-by: alanb, martin
2015-03-23 09:52:42 -04:00
Paul Sandoz
497fe8d068 8075560: Typo in Javadoc for java.util.Optional.equals()
Reviewed-by: alanb
2015-03-23 14:20:39 +01:00
James Laskey
bc29dd414c 8075623: Temporary patch to get fx imports working interim
Reviewed-by: lagergren
2015-03-23 09:04:59 -03:00
Dmitry Samersoff
7e09df43e6 8075569: jmap test fails due to "ERROR: java.nio.file.NoSuchFileException: 2906081d-06bc-4738-a7e8-f37b8bf13658.lck"
Lock file is deleted while we are setting modified time

Reviewed-by: alanb
2015-03-23 02:29:47 -07:00
Zaiyao Liu
35c411ea7e 8048618: Tests for PKCS12 write operations
Reviewed-by: weijun
2015-03-23 15:37:03 +08:00
Weijun Wang
3fbfa7ee89 8074935: jdk8 keytool doesn't validate pem files for RFC 1421 correctness, as jdk7 did
Reviewed-by: mullan
2015-03-23 08:51:51 +08:00
Joe Darcy
ed05aef3fc 8075567: Mark intermittently failuring security-libs tests
Reviewed-by: mullan
2015-03-22 10:27:22 -07:00
Brian Burkhalter
1eb4f850a6 8075655: NIO test generation scripts have incorrect path to Spp.java
Correct the path to Spp.java

Reviewed-by: rriggs
2015-03-20 15:25:07 -07:00
Andrew Haley
f82562e36e 8075443: AARCH64: Missed L2I optimizations in C2
Use iRegIOrL2I for input operands whenever it makes sense.

Reviewed-by: kvn
2015-03-20 17:39:29 +00:00
Brian Burkhalter
d7419560c2 8075362: j.u.Properties.load() methods have misaligned @throws clauses
Add spaces to align the @throws clauses, and rename Basic.java test and its @summary clause.

Reviewed-by: rriggs
2015-03-20 10:37:03 -07:00
Rob McKenna
89c87896e2 8075039: (sctp) com/sun/nio/sctp/SctpMultiChannel/SendFailed.java fails on Solaris only
Reviewed-by: chegar
2015-03-20 17:07:15 +00:00
Mikael Vidstedt
49dec12116 8074839: Resolve disabled warnings for libunpack and the unpack200 binary
Reviewed-by: dholmes, ksrini
2015-03-20 10:02:44 -07:00
Joe Darcy
28114420db 8075573: Add jdk_other and jdk_svc to jdk tier 2 test definition
Reviewed-by: mchung
2015-03-20 10:00:30 -07:00
Athijegannathan Sundararajan
2d6a39e2e5 8075604: jjs exits even when non-daemon threads are still active
Reviewed-by: attila, jlaskey
2015-03-20 20:04:18 +05:30
Sergey Lugovoy
b7d77b1297 8068306: Tests for AST presentation Nashorn Parser API
8068304: Tests for Diagnostic listener for Nashorn Parser API
8068303: Create tests for Nashorn Parser API for create Tree from some different source and parameters

Reviewed-by: sundar, lagergren
2015-03-20 13:19:47 +03:00
Artem Smotrakov
636ae484e4 8048147: Privilege tests with JAAS Subject.doAs
Reviewed-by: weijun
2015-03-20 16:01:59 +08:00
Joe Darcy
2596979bfe 8075565: Define @intermittent jtreg keyword and mark intermittently failing jdk tests
Reviewed-by: lancea
2015-03-19 18:38:26 -07:00
Lana Steuck
daea6d9ee6 Merge 2015-03-19 16:14:23 -07:00
Lana Steuck
1dae45d60e Merge 2015-03-19 16:13:54 -07:00
Lana Steuck
ff8f51808e Merge 2015-03-19 16:13:40 -07:00
Lana Steuck
c88afadada Merge 2015-03-19 16:13:07 -07:00
Lana Steuck
3d5c107f5f Merge 2015-03-19 16:11:51 -07:00
Alejandro Murillo
1b547035a8 Merge 2015-03-19 15:00:51 -07:00
Alejandro Murillo
b83414f119 Merge 2015-03-19 15:00:51 -07:00
Alejandro Murillo
a86fc734a7 Merge 2015-03-19 15:00:50 -07:00
Joe Darcy
bd11f63b04 8075544: Add tiered testing definitions to the jdk repo
Reviewed-by: alanb
2015-03-19 13:18:49 -07:00
David Katleman
7f20824dda Added tag jdk9-b55 for changeset 6fae74f3f890 2015-03-19 12:59:27 -07:00
David Katleman
1df4a8aa4c Added tag jdk9-b55 for changeset 94880c5f1226 2015-03-19 12:59:26 -07:00
David Katleman
74ec9dddfb Added tag jdk9-b55 for changeset 3fa4537eefef 2015-03-19 12:59:23 -07:00
David Katleman
a275baa0f1 Added tag jdk9-b55 for changeset 58a0852cabd5 2015-03-19 12:59:22 -07:00
David Katleman
b080fe28b7 Added tag jdk9-b55 for changeset 0331c66492b3 2015-03-19 12:59:21 -07:00
David Katleman
c44b9df4a5 Added tag jdk9-b55 for changeset 73b85977a990 2015-03-19 12:59:19 -07:00
David Katleman
8406d7ff8e Added tag jdk9-b55 for changeset 18da5010f46a 2015-03-19 12:59:19 -07:00
David Katleman
2953ddaf4f Added tag jdk9-b55 for changeset 5d1b73337681 2015-03-19 12:59:17 -07:00
Zoltan Majo
379e3d6fb6 Merge 2015-03-19 18:01:39 +01:00
Maurizio Cimadamore
c399e03fe2 8075509: List.map should return itself if list is unchanged
Fix List.map to match semantics of old Type.map

Reviewed-by: jlahoda
2015-03-19 16:23:21 +00:00
Volker Simonis
4d20e7cb9b 8075515: AIX: cleanup xlc options and use -bernotok to detect missing symbols at build time
Reviewed-by: erikj
2015-03-19 15:28:22 +01:00
Maurizio Cimadamore
24c51e1e1b 8048838: type inference performance regression
Reduce redundant bounds before attempting to do pairwise lub computation during bound incorporation.

Reviewed-by: vromero
2015-03-19 11:40:47 +00:00
Maurizio Cimadamore
582a4ebd92 8074100: Turn Type.Mapping into a true visitor
Replace Type.Mapping with a true visitor in Types

Reviewed-by: jlahoda, vromero
2015-03-19 11:40:07 +00:00
Maurizio Cimadamore
c03dd06d9a 8074381: java.lang.AssertionError during compiling
Add extra functional interface check to prevent crash during code generation

Reviewed-by: vromero
2015-03-19 11:39:36 +00:00
Erik Joelsson
da29001018 8075495: Update jtreg bin location in configure
Reviewed-by: alanb
2015-03-19 12:10:56 +01:00
Athijegannathan Sundararajan
5feb701fc3 8006996: Add a pretty printer that prints script source in nice form
Reviewed-by: lagergren, hannesw
2015-03-19 15:13:01 +05:30
Athijegannathan Sundararajan
898bf9b590 8075454: Anonymous functions have internal names exposed via parser API
Reviewed-by: hannesw, lagergren
2015-03-18 23:14:12 +05:30
Athijegannathan Sundararajan
f75ee76af6 8075448: nashorn parser API returns init variable tree object of a for loop after for loop statement tree object
Reviewed-by: lagergren, hannesw, attila
2015-03-18 21:54:58 +05:30
Volker Simonis
40728fc162 8071687: AIX port of "8039173: Propagate errors from Diagnostic Commands as exceptions in the attach framework"
Reviewed-by: sla
2015-03-18 09:13:11 +01:00
Naoto Sato
ca08065c34 8074350: Support ISO 4217 "Current funds codes" table (A.2)
8074351: Support for currencies with the 4 digits (or more) minor unit

Reviewed-by: okutsu
2015-03-17 16:04:26 -07:00
Phil Race
f15d56a3a6 Merge 2015-03-17 14:20:45 -07:00
Staffan Larsen
94cafa6c0e 8075056: Remove Version.java.template from jconsole
Reviewed-by: egahlin, iris, ihse, alanb, erikj, mchung
2015-03-17 20:45:23 +01:00
Phil Race
9dbd9dd373 Merge 2015-03-17 12:30:53 -07:00
Phil Race
aa23356b13 Merge 2015-03-17 12:30:37 -07:00
Xueming Shen
f3a2e4480d 8074678: JCK test java_util/regex/MatchResult/index.html starts failing after JDK-8071479
To add non-match sanity check

Reviewed-by: psandoz
2015-03-17 09:54:36 -07:00
Magnus Ihse Bursie
cdeddbfbca 8075176: DISABLED_WARNINGS caused C++ compiler flags to get lost
Reviewed-by: erikj, tbell
2015-03-17 16:01:27 +01:00
Magnus Ihse Bursie
17cc06c77c 8075176: DISABLED_WARNINGS caused C++ compiler flags to get lost
Reviewed-by: erikj, tbell
2015-03-17 16:01:05 +01:00
Andrew Haley
2fc2ef9a39 8075045: AARCH64: Stack banging should use store rather than load
Change stack bangs to use a store rather than a load

Reviewed-by: dholmes
2015-03-17 14:03:05 +00:00
Erik Joelsson
207dec2e01 8075236: Change layout of gcov .gcno files in symbols image
Reviewed-by: ihse, tbell
2015-03-17 14:16:30 +01:00
Alejandro Murillo
d898b500d9 Merge 2015-03-16 14:27:36 -07:00
Alejandro Murillo
f0349a463b Merge 2015-03-16 14:27:33 -07:00
Alejandro Murillo
e193e0c6a3 Merge 2015-03-16 14:27:32 -07:00
Brian Burkhalter
7d1b3d7277 8075222: RandomAccessFile.getChannel changed to non-final in error
Reinstate 'final' RandomAccessFile.getChannel() declaration.

Reviewed-by: alanb
2015-03-16 13:49:00 -07:00
Attila Szegedi
74e2514b51 8075223: revert multithreaded deoptimizing compilation livelock prevention
Reviewed-by: hannesw, sundar
2015-03-16 18:13:38 +01:00
Paul Sandoz
7618752fd9 8075230: Optimized count operations incorrectly declare the stream shape
Reviewed-by: chegar
2015-03-16 17:44:34 +01:00
Marcus Lagergren
999ce35e84 8066217: ArrayBuffer constructor was erroneous with zero args
Reviewed-by: sundar, hannesw
2015-03-16 16:17:19 +01:00
Alexander Stepanov
765a1e4435 8028266: Tidy warnings cleanup for packages java.security/javax.security
Some tidy warnings in docs were fixed

Reviewed-by: mullan, wetmore
2015-03-16 19:09:13 +04:00
Athijegannathan Sundararajan
cf37646b3f 8075207: Nashorn parser API returns StatementTree objects in out of order
Reviewed-by: lagergren, forax, hannesw
2015-03-16 17:01:47 +05:30
Weijun Wang
d5d207d635 8074836: Resolve disabled warnings for libosxkrb5
8074835: Resolve disabled warnings for libj2gss

Reviewed-by: erikj
2015-03-16 18:08:01 +08:00
Attila Szegedi
4c6eb2b310 8075090: Add tests for the basic failure of try/finally compilation
Reviewed-by: hannesw, lagergren
2015-03-16 11:00:07 +01:00
Amy Lu
b8770ac035 8075111: Mark testFlatMappingClose (from CollectorsTest) as serialization hostile
Reviewed-by: psandoz
2015-03-16 10:24:16 +01:00
Aggelos Biboudis
cb566c6ce5 8067969: Optimize Stream.count for SIZED Streams
Reviewed-by: psandoz, chegar
2015-03-16 10:19:49 +01:00
Katja Kantserova
20be94ae55 8073794: jdk/test/com/sun/jdi/BadHandshakeTest.java should retry if tcp port is taken
Reviewed-by: jbachorik
2015-03-16 09:32:34 +01:00
Jamil Nimeh
2349ff99bc 6996366: convert MacAlg to an enum
Reviewed-by: xuelei
2015-03-14 09:38:52 -07:00
Igor Ignatyev
f51a895f42 Merge 2015-03-14 16:13:48 +00:00
Zoltan Majo
41b79b9ad4 8074869: C2 code generator can replace -0.0f with +0.0f on Linux
Instead of 'fpclass', use cast float->int and double->long to check if value is +0.0f and +0.0d, respectively.

Reviewed-by: kvn, simonis, dlong
2015-03-14 11:21:04 +01:00
Brian Burkhalter
6290291b27 8075110: (prefs) CodePointZeroPrefsTest fails on certain platforms
Contrain test to the Linux and Solaris OS families

Reviewed-by: darcy
2015-03-13 15:03:42 -07:00
Brian Burkhalter
17f8ee8cf0 8073214: javadoc of Properties methods should specify NullPointerExceptions
Add test for null parameter and corresponding throws clause to load() methods

Reviewed-by: darcy
2015-03-13 14:54:40 -07:00
Coleen Phillimore
34a23fb48a Merge 2015-03-13 20:44:57 +00:00
Joe Darcy
fe068291e1 8075035: Turn on doclint checking of modules in the langtools repo
Reviewed-by: ihse
2015-03-13 13:41:29 -07:00
Coleen Phillimore
cd6b38c449 8074717: Merge interp_masm files for x86 _32 and _64
Merge interp_masm_x86 files into one.

Reviewed-by: sspitsyn, hseigel, mockner
2015-03-13 15:16:07 -04:00
Coleen Phillimore
57f3125882 Merge 2015-03-13 18:59:41 +00:00
Igor Ignatyev
140bf2be86 8073607: add trace events for inlining
Reviewed-by: kvn, fzhinkin, mgronlun
2015-03-13 21:53:13 +03:00
Joe Darcy
1382affe60 8075160: Add javadoc to serialver class
Reviewed-by: lancea
2015-03-13 11:34:37 -07:00
Hannes Wallnöfer
10b38fe9ae 8075006: Threads spinning infinitely in WeakHashMap.get running test262parallel
Reviewed-by: lagergren, attila
2015-03-13 18:40:07 +01:00
Coleen Phillimore
7b384c6958 8061205: MetadataOnStackMark only needs to walk code cache during class redefinition
Only do full metadata walk during class redefinition and only walk handles during class unloading.

Reviewed-by: sspitsyn, stefank
2015-03-13 12:40:39 -04:00
Jamil Nimeh
a55dd41fc7 8074064: OCSPResponse.SingleResponse objects do not parse singleExtensions
Reviewed-by: mullan, vinnie
2015-03-13 09:32:54 -07:00
Daniel D. Daugherty
03e307c40a Merge 2015-03-13 09:28:10 -07:00
Daniel D. Daugherty
6029190551 Merge 2015-03-13 09:18:28 -07:00
Daniel D. Daugherty
8e167a30dd Merge 2015-03-13 09:14:54 -07:00
Magnus Ihse Bursie
71ad1eca20 8075054: Mixed case Windows path break native dependency checks
Reviewed-by: erikj
2015-03-13 14:00:36 +01:00
Frank Yuan
827d9d3928 8061293: Update javax/xml tests to remove references of jre dir
Reviewed-by: lancea, mkos
2015-03-13 15:50:39 +03:00
Andrew Haley
dbb33fd997 Merge 2015-03-13 12:44:58 +00:00
Andrew Haley
bb8dc09453 8074723: AARCH64: Stray pop in C1 LIR_Assembler::emit_profile_type
Remove stray POP instruction

Reviewed-by: dholmes
2015-03-13 12:44:28 +00:00
Staffan Larsen
9e2660699e 8074812: More specific error message when the .java_pid well-known file is not secure
Reviewed-by: jbachorik, martin
2015-03-13 08:35:51 +01:00
Srikanth Adayapalam
f1f1f0f7e1 8074148: Attr.visitBinary flags error at wrong position
Reviewed-by: vromero
2015-03-13 10:25:46 +05:30
Srikanth Adayapalam
c4ebb7f3c0 8071847: java.lang.NullPointerException at com.sun.tools.javac.code.Types.elemtype(Types.java:1870)
Class file reader should recover from malformed class files that contain methods incorrectly flagged as variable arity methods.

Reviewed-by: jlahoda
2015-03-13 13:15:24 +05:30
Lana Steuck
504c9ba234 Merge 2015-03-12 21:15:18 -07:00
Lana Steuck
8845a548d1 Merge 2015-03-12 21:14:33 -07:00
Lana Steuck
74c0fd2529 Merge 2015-03-12 21:14:04 -07:00
Lana Steuck
2a97ea7349 Merge 2015-03-12 21:13:52 -07:00
Lana Steuck
0b72ef6fe9 Merge 2015-03-12 21:13:42 -07:00
Lana Steuck
46faba89e1 Merge 2015-03-12 21:12:51 -07:00
Alejandro Murillo
d9955b1c00 Merge 2015-03-12 19:51:36 -07:00
Alejandro Murillo
e40d67ac75 Merge 2015-03-12 19:51:35 -07:00
Vladimir Kozlov
2632925f9f Merge 2015-03-12 15:51:12 -07:00
Vladimir Kozlov
dd00a53420 Merge 2015-03-12 15:50:50 -07:00
David Katleman
78a6776477 Added tag jdk9-b54 for changeset 6270182c91f4 2015-03-12 13:35:18 -07:00
David Katleman
0d3f0c8441 Added tag jdk9-b54 for changeset a7151c380dac 2015-03-12 13:35:17 -07:00
David Katleman
77675b1d3a Added tag jdk9-b54 for changeset 690957fb0862 2015-03-12 13:35:13 -07:00
David Katleman
e1c8c1b50e Added tag jdk9-b54 for changeset a7d29ced6960 2015-03-12 13:35:07 -07:00
David Katleman
77a06f9bd5 Added tag jdk9-b54 for changeset 38c57ec3fc77 2015-03-12 13:35:06 -07:00
David Katleman
dfe48249b5 Added tag jdk9-b54 for changeset 2bf25ac4195f 2015-03-12 13:35:04 -07:00
David Katleman
5ae619afe2 Added tag jdk9-b54 for changeset 192e02fd9242 2015-03-12 13:35:03 -07:00
David Katleman
fce0c144ed Added tag jdk9-b54 for changeset 04b3a5821c0d 2015-03-12 13:35:02 -07:00
Joe Darcy
6a5b63f190 8072734: Turn on doclint checking in the build of modules in the jdk repo
Reviewed-by: erikj
2015-03-12 12:30:36 -07:00
Igor Ignatyev
cc89bac7ab 8074980: add WhiteBox API to get a flag value for a method
Reviewed-by: kvn, fzhinkin
2015-03-12 19:11:25 +03:00
Igor Ignatyev
b78d23ed01 8073860: [TESTBUG] compiler/whitebox/DeoptimizeFramesTest fails with exit code 1
Reviewed-by: kvn, roland
2015-03-12 19:12:52 +03:00
Igor Ignatyev
8a235045ca 8074980: add WhiteBox API to get a flag value for a method
Reviewed-by: kvn, fzhinkin
2015-03-12 19:11:17 +03:00
Jesper Wilhelmsson
122a0de7fb Merge 2015-03-12 16:10:58 +01:00
Erik Joelsson
ff31cfd5ce 8074988: Reduce boilerplate in Setup* macro definitions
Reviewed-by: tbell, ihse
2015-03-12 12:13:53 +01:00
Erik Joelsson
e755ea9a60 8074988: Reduce boilerplate in Setup* macro definitions
Reviewed-by: tbell, ihse
2015-03-12 12:13:23 +01:00
Srikanth Adayapalam
60841ee270 8050021: Improper "duplicate case label" error
Reviewed-by: jlahoda
2015-03-12 10:24:07 +05:30
Bhavesh Patel
6b21a5a5ff 8074521: Generate iframe instead of frame and frameset for index.html page
Reviewed-by: jjg, ksrini
2015-03-11 23:53:38 -07:00
Bhavesh Patel
7b6148280a 8072461: Table's field width in "Use" page generated by javadoc with '-s' is unbalanced
Reviewed-by: jjg
2015-03-11 21:57:59 -07:00
Jan Lahoda
fad1792bc4 8071851: Provide filtering of doclint checking based on packages
Introducing -Xdoclint/package:<packages> doclint option to enable/disable checking of specified packages.

Reviewed-by: jjg, darcy
2015-03-11 22:24:05 +01:00
Attila Szegedi
7e24bd1435 8073706: Livelock in CompiledFunction.getValidOptimisticInvocation
Reviewed-by: hannesw, lagergren
2015-03-11 17:52:23 +01:00
Attila Szegedi
7cd70cfbde 8074661: Forward port AbstractJSObject.getDefaultValue(JSObject, Class)
Reviewed-by: hannesw, sundar
2015-03-11 17:47:28 +01:00
Phil Race
cac7e38c8d Merge 2015-03-11 08:30:40 -07:00
Phil Race
4dcb210aab Merge 2015-03-11 08:30:21 -07:00
Phil Race
9cfe6a95d0 8074910: hgforest.sh needs an option to bring over a smaller set of extra repos
Reviewed-by: erikj, chegar
2015-03-11 08:25:55 -07:00
Alexander Zvegintsev
465abe9cfd 8074921: OS X build broken by reference to XToolkit
Reviewed-by: alexsch, serb
2015-03-11 16:48:43 +03:00
Staffan Larsen
4e1348cb7b 8074948: javadoc typo in DiagnosticCommandMBean.java: {code instead of {@code
Reviewed-by: jbachorik
2015-03-11 14:28:35 +01:00
Jaroslav Bachorik
4195de8dec 8074041: sun/management/jmxremote/startstop/JMXStartStopTest.java fails with InvocationTargetException
Reviewed-by: sla, ykantser
2015-03-11 15:32:17 +01:00
Athijegannathan Sundararajan
984eae0ebf 8074972: Unused imports, a missing javadoc and a build warning
Reviewed-by: hannesw, lagergren
2015-03-11 16:58:04 +05:30
Andreas Lundblad
7cd4395fe2 8071966: Bootcycle images build fails on Windows32/64
Added drive letter normalization in option decoding.

Reviewed-by: jlahoda
2015-03-11 12:25:37 +01:00
Hannes Wallnöfer
235fd3be93 8074693: Different instances of same function use same allocator map
Reviewed-by: attila, lagergren
2015-03-11 11:08:22 +01:00
Attila Szegedi
ea529d1354 8074484: More agressive value discarding
Reviewed-by: hannesw, lagergren
2015-03-11 11:03:21 +01:00
Athijegannathan Sundararajan
e383c777af 8074939: Add few sample scripts to demo nashorn parser API
Reviewed-by: attila, hannesw
2015-03-11 14:30:40 +05:30
Staffan Larsen
e8b15600ac 8074841: Resolve disabled warnings for the JVMTI demo compiledMethodLoad
8074842: Resolve disabled warnings for the JVMTI demo waiters

Reviewed-by: alanb, ihse, dsamersoff
2015-03-11 08:09:35 +01:00
Masayoshi Okutsu
6a297b5c2b 8074791: Long-form date format incorrect month string for Finnish locale
Reviewed-by: naoto
2015-03-11 14:33:14 +09:00
Xue-Lei Andrew Fan
665dc6f627 8072385: Only the first DNSName entry is checked for endpoint identification
Reviewed-by: weijun, jnimeh
2015-03-11 04:52:39 +00:00
Chris Plummer
984cf4c9b5 8069111: Investigate NMT detail tracking support for 32bit ARM
Fix native stack walking issues arm arm32. Disable on thumb2. Removed support for NMT without NMT detail.

Reviewed-by: dholmes, bdelsart
2015-03-10 19:56:19 -07:00
Thomas Stufe
33690bd090 8074552: SafeFetch32 and SafeFetchN do not work in error handling
Reviewed-by: dholmes, goetz
2015-03-12 19:34:50 -04:00
Dmitry Dmitriev
cc658928be 8073990: Deprecated "UseVectoredExceptions" VM options still defined in several globals files
Reviewed-by: dholmes, stuefe, simonis
2015-03-11 18:49:22 -04:00
Mikael Vidstedt
2b6f0b511f 6313046: Remove unused frame::native_param_addr code
Removed dead code in frame

Reviewed-by: dholmes, cjplummer, dsamersoff
2015-03-11 12:00:26 -07:00
Markus Grönlund
fc9ab8f530 8074905: Exclude aarch64 from Visual Studio projectcreator.make
Reviewed-by: ctornqvi, sla, minqi
2015-03-11 09:11:33 +01:00
Chris Plummer
defff58acd 8069111: Investigate NMT detail tracking support for 32bit ARM
Fix native stack walking issues arm arm32. Disable on thumb2. Removed support for NMT without NMT detail.

Reviewed-by: dholmes, bdelsart
2015-03-10 19:56:18 -07:00
Severin Gehwolf
e14531956d 8074312: Enable hotspot builds on 4.x Linux kernels
Add "4" to list of allowable versions

Reviewed-by: dholmes, mikael
2015-03-10 21:20:10 -04:00
Igor Ignatyev
5a48602086 Merge 2015-03-10 21:58:55 +00:00
Alexander Kulyakhtin
d24e1db13a 8072754: com/sun/jdi/NativeInstanceFilter.java requires adjustments to work with module boundaries
The tests uses sun.misc.Version to check if the JVM version is greater than a certain version. For the JDK 9 the condition is always true and the usage of sun.misc.Version thus can be eliminated.

Reviewed-by: alanb, sla
2015-03-11 00:45:02 +03:00
Martin Buchholz
0d022c42c9 8074579: Use more efficient and readable way of checking PKZIP signatures
Reviewed-by: sherman
2015-03-10 14:23:03 -07:00
Alejandro Murillo
c127ccdba8 Merge 2015-03-10 14:09:19 -07:00
Jaroslav Bachorik
533ff2194f Merge 2015-03-10 19:43:45 +00:00
Jaroslav Bachorik
996a61cf68 8049696: com/sun/jdi/RunToExit fails with "ConnectException: Connection refused"
Reviewed-by: sla
2015-03-10 20:25:48 +01:00
Nakul Natu
741e72173c 8066436: Minimize can cause window to disappear on osx
Reviewed-by: serb, azvegint
2015-03-10 21:48:37 +03:00
Hannes Wallnöfer
86fefb1f46 8074687: Add tests for JSON parsing of numeric keys
Reviewed-by: sundar, attila
2015-03-10 18:23:43 +01:00
Mikael Vidstedt
017611edae 8074726: Update source and target version used when compiling hotspot class files
Use BOOT_JDK_SOURCETARGET from top level, or fall back to -source 8 -target 8

Reviewed-by: dholmes, sla
2015-03-10 09:42:23 -07:00
Erik Joelsson
09dbe042bf 8073021: add native code coverage target into makefiles
Reviewed-by: ihse, tbell, iignatyev
2015-03-10 14:36:56 +01:00
Alexander Zvegintsev
8bc60ff868 8056151: Switching to GTK L&F on-the-fly leads to X Window System error RenderBadPicture
Reviewed-by: alexsch, serb
2015-03-10 15:39:26 +03:00
Christian Tornqvist
06a745fd7e 8069124: runtime/NMT/MallocSiteHashOverflow.java failing in nightlies
Reviewed-by: coleenp, gtriantafill, dholmes
2015-03-10 04:53:58 -07:00
Jaroslav Bachorik
1c5857f8dd 6712222: Race condition in java/lang/management/ThreadMXBean/AllThreadIds.java
Reviewed-by: dholmes, dfuchs
2015-03-10 09:37:56 +01:00
Max Ockner
ca4b73ad27 8013393: Merge template interpreter files for x86 _32 and _64
The 32 and 64 bit versions of templateTable_x86 have been merged.

Reviewed-by: twisti, jrose, coleenp
2015-03-09 13:39:24 -04:00
Phil Race
6cd9e14e45 Merge 2015-03-09 09:49:31 -07:00
Phil Race
85ed8fabb5 Merge 2015-03-09 09:49:22 -07:00
Sangheon Kim
1a4c355bbc 8073654: Marking statistics should use size_t
Change data type from int to size_t to avoid overflows

Reviewed-by: jwilhelm, drwhite, tschatzl
2015-03-09 09:30:16 -07:00
Sergey Bylokhov
71bacd69b0 4849595: Erroneous javadoc for TableColumn.addPropertyChangeListener
Reviewed-by: azvegint, alexsch
2015-03-09 08:53:34 -07:00
Magnus Ihse Bursie
d0ff6ad565 8074690: Fix for JDK-8074429 was not complete
Reviewed-by: alanb, erikj
2015-03-09 16:18:33 +01:00
Athijegannathan Sundararajan
0ed9eb856c 8074671: Nashorn Parser API
Reviewed-by: darcy, forax, attila, hannesw
2015-03-09 20:14:10 +05:30
Erik Helin
80e6b007d0 Merge 2015-03-09 11:37:59 +00:00
Hannes Wallnöfer
d6aef89288 8074556: Functions should not share allocator maps
Reviewed-by: lagergren, sundar
2015-03-09 11:34:48 +01:00
Magnus Ihse Bursie
84afe48e4f 8074096: Disable (most) native warnings in JDK on a per-library basis
Reviewed-by: erikj, tbell
2015-03-09 10:39:50 +01:00
Magnus Ihse Bursie
06b2c14db0 8074096: Disable (most) native warnings in JDK on a per-library basis
Reviewed-by: erikj, tbell
2015-03-09 10:39:16 +01:00
Kumar Srinivasan
64c0d97630 8074373: NMT is not enabled if NMT option is specified after class path specifiers
Reviewed-by: dholmes
2015-03-07 15:21:36 -08:00
Xueming Shen
011b337a51 8074406: DateTimeFormatter.appendZoneOrOffsetId() fails to resolve a ZoneOffset for OffsetDateTime
To support resolve OffsetDateTime from DTF.appendZoneOrOffset()

Reviewed-by: rriggs
2015-03-07 10:11:03 -08:00
Gerald Thornbrugh
808f9cab05 8071501: perfMemory_solaris.cpp failing to compile with "Error: dd_fd is not a member of DIR."
Force all Solaris builds to use the same version of the DIR structure.

Reviewed-by: dcubed, dholmes, kvn
2015-03-06 17:19:08 -08:00
Brian Burkhalter
f9a9e68c05 8074460: Always print seeds used in [Splittable]Random instances in java.math tests
Create a utility class which creates a pseudorandom number generator (PRNG) and retains the seed. Use this class in java.math tests which use a PRNG. Always print the seed value before the PRNG is used.

Reviewed-by: darcy
2015-03-06 16:00:58 -08:00
Mandy Chung
78dff0df24 8074430: Move policytool to jdk.policytool module
Reviewed-by: alanb, weijun, erikj, ihse
2015-03-06 11:00:42 -08:00
Mandy Chung
a1ffcbec36 8074430: Move policytool to jdk.policytool module
Reviewed-by: alanb, weijun, erikj, ihse
2015-03-06 09:11:42 -08:00
Mandy Chung
04e7f3d871 8074429: Move jar, jarsigner tool to jdk.jartool module
Reviewed-by: alanb, weijun, erikj, ihse
2015-03-06 09:11:22 -08:00
Mandy Chung
014ea775ad 8074429: Move jar, jarsigner tool to jdk.jartool module
Reviewed-by: alanb, weijun, erikj, ihse
2015-03-06 09:07:32 -08:00
Mandy Chung
2ae75ccaa1 8074428: Move pack200, unpack200, libpack200 to jdk.pack200
Reviewed-by: alanb, weijun, erikj, ihse
2015-03-06 09:02:26 -08:00
Mandy Chung
392dc6864e 8074428: Move pack200, unpack200, libpack200 to jdk.pack200
Reviewed-by: alanb, weijun, erikj, ihse
2015-03-06 09:02:09 -08:00
Daniel D. Daugherty
38b93bbbcb Merge 2015-03-06 08:47:51 -08:00
Daniel D. Daugherty
451a89fd97 Merge 2015-03-06 08:43:02 -08:00
Axel Siebenborn
1a8c911881 8074561: Wrong volatile qualifier for field ClassLoaderDataGraphKlassIteratorAtomic::_next_klass
Reviewed-by: mgerdin, stefank
2015-03-06 16:47:46 +01:00
Thomas Stuefe
d0d14d12ca 8074543: Missing symbol "objArrayOopDesc::obj_at" when buiding with CPP Interpreter
Reviewed-by: stefank
2015-03-09 08:22:34 +01:00
Jesper Wilhelmsson
5b71ef55a7 Merge 2015-03-09 01:58:59 +01:00
Andrey Zakharov
179f7eb9ff 8051984: @ignore should be placed after @test
As ignore reason has been fixed (by adding @requires) @ignore removed

Reviewed-by: kbarrett, brutisso
2015-03-06 16:12:54 +01:00
Hannes Wallnöfer
e1ac257862 8074545: Undefined object values in object literals with spill properties
Reviewed-by: lagergren, attila
2015-03-06 15:26:51 +01:00
Magnus Ihse Bursie
d0650dcdae 8074554: Create custom hook for running after AC_OUTPUT
Reviewed-by: erikj
2015-03-06 14:53:00 +01:00
Anton Nashatyrev
2bb8334014 8072900: Mouse events are captured by the wrong menu in OS X
Reviewed-by: serb, alexp
2015-03-06 16:38:54 +03:00
Alejandro Murillo
90a9d497fa Merge 2015-03-06 04:58:53 -08:00
Alejandro Murillo
cf1f3d308b Merge 2015-03-06 04:58:52 -08:00
Alejandro Murillo
b5eaf480f9 Merge 2015-03-06 04:58:52 -08:00
Ivan Gerasimov
b035ca7348 8073692: (cs) Inconsistent docs for CharsetDecoder.replaceWith and CharsetEncoder.replaceWith
Reviewed-by: martin
2015-03-06 13:30:49 +03:00
Maurizio Cimadamore
a981871194 8074306: NULLCHK is emitted as Object.getClass
8074501: Javac fix for 8073432 is missing right test BugIDs

Correct test bugIds

Reviewed-by: jjg
2015-03-06 10:30:44 +00:00
Attila Szegedi
e776a10ce3 8074487: Static analysis of IfNode should consider terminating branches
Reviewed-by: hannesw, lagergren
2015-03-06 10:18:47 +01:00
Attila Szegedi
2972cb3840 8074491: run-nasgen in ant doesn't see the right Nashorn classes
Reviewed-by: hannesw, lagergren
2015-03-06 09:59:07 +01:00
Staffan Friberg
67fddc10a6 8031538: G1 eden usage is sometimes higher than target eden (printed Eden size)
When recalculating the number of target eden size, correctly consider the amount of existing eden regions in the target calculation.

Reviewed-by: tschatzl
2015-03-06 09:07:33 +01:00
Zoltan Majo
78b1c29418 Merge 2015-03-06 08:53:22 +01:00
Joe Wang
a953097a89 8049378: Examine references to ${java.home}/lib in JAXP
Reviewed-by: lancea, alanb
2015-03-05 17:18:19 -08:00
Zaiyao Liu
02614afbd1 8044193: Need to add known answer tests for AES cipher
Added more tests for AES cipher using known test vectors.

Reviewed-by: valeriep
2015-03-06 00:49:38 +00:00
Lana Steuck
e9a801f0ef Merge 2015-03-05 15:24:15 -08:00
Lana Steuck
3ac6a66232 Merge 2015-03-05 15:23:22 -08:00
Lana Steuck
5411c3c53b Merge 2015-03-05 15:22:39 -08:00
Lana Steuck
3b60a5c6e0 Merge 2015-03-05 15:21:35 -08:00
Lana Steuck
8ad860b267 Merge 2015-03-05 15:21:11 -08:00
David Katleman
c01b1f87de Added tag jdk9-b53 for changeset 1582f6df75ee 2015-03-05 11:26:22 -08:00
David Katleman
afc563fcc9 Added tag jdk9-b53 for changeset 569659e4dc38 2015-03-05 11:26:21 -08:00
David Katleman
52d8d1433e Added tag jdk9-b53 for changeset 4bb4756ceb9c 2015-03-05 11:26:17 -08:00
David Katleman
64adac1a81 Added tag jdk9-b53 for changeset eccafe6808d1 2015-03-05 11:26:16 -08:00
David Katleman
2caa965d42 Added tag jdk9-b53 for changeset 6be67f434046 2015-03-05 11:26:16 -08:00
David Katleman
f552a16a7d Added tag jdk9-b53 for changeset 92bf22ed0621 2015-03-05 11:26:13 -08:00
David Katleman
e3a2a22af9 Added tag jdk9-b53 for changeset 9bbd69ad1f34 2015-03-05 11:26:13 -08:00
David Katleman
e747097c26 Added tag jdk9-b53 for changeset 6cf7b027c792 2015-03-05 11:26:12 -08:00
Chris Hegarty
9e0c46f629 8005226: java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java fails intermittently
Reviewed-by: rriggs, smarks
2015-03-05 17:04:47 +00:00
Jesper Wilhelmsson
3ea0bee55c Merge 2015-03-05 17:27:16 +01:00
David Lindholm
8fe1e48f0c 8073545: Use shorter and more descriptive names for GC worker threads
Reviewed-by: ehelin, jwilhelm
2015-03-05 16:43:26 +01:00
Aleksey Shipilev
89cc77c8cb 8073432: Object.getClass() throws stackless NPE, due to C2 intrinsic
Javac should generate NPE checks using Objects.requireNonNull if -target >= 7

Reviewed-by: jlahoda
2015-03-05 15:03:07 +00:00
Attila Szegedi
4a3782b060 8035712: Restore some of the RuntimeCallSite specializations
Reviewed-by: hannesw, lagergren
2015-03-05 15:43:43 +01:00
Shanliang Jiang
b7c2d1b8fe 8073148: "The server has decided to close this client connection" repeated continuously
Reviewed-by: jbachorik
2015-03-05 14:54:07 +01:00
Maurizio Cimadamore
1114c26925 8073645: Add lambda-based lazy eval versions of Assert.check methods
Enhance Assert so that lazy string computation can occurr where needed; enhance static roding rule checkers to make sure the right version of the method is called.

Reviewed-by: jlahoda
2015-03-05 13:10:49 +00:00
Dmitry Samersoff
b4061375cc 8030708: warnings from b119 for jdk/src/share/back: JNI exception pending
Added some more checks for pending exception

Reviewed-by: dholmes, sspitsyn
2015-03-05 05:06:00 -08:00
Staffan Larsen
c4df8e24bc 8058470: [jconsole] VM Summary Tab is blank for JDK9's jconsole
Reviewed-by: erikj
2015-03-05 11:39:15 +01:00
Chris Hegarty
0ade1fd974 8068260: java/io/Serializable/clearHandleTable/ClearHandleTable.java timed out
Reviewed-by: rriggs, smarks
2015-03-05 09:38:45 +00:00
Erik Joelsson
8c34ca1072 8074395: Random build failures in javadoc on Solaris
Reviewed-by: tbell
2015-03-05 10:29:36 +01:00
Yuri Nesterenko
0803af98c7 8074092: Newly introduced unnecessary dependencies on internal API in client regtests
Reviewed-by: serb, azvegint
2015-03-05 11:07:48 +03:00
Martin Buchholz
f825d1ff35 8074577: Modernize Unsafe internal javadoc
Use modern javadoc style

Reviewed-by: jrose
2015-03-04 17:35:40 -08:00
Alejandro Murillo
f245610f7f Merge 2015-03-10 14:20:06 -07:00
Alejandro Murillo
8b283998c2 Merge 2015-03-10 14:09:19 -07:00
Joe Darcy
8db87d223f 8074870: Really add javax/xml/jaxp/testng/validation to othervm.dirs in TEST.ROOT
Reviewed-by: rriggs
2015-03-10 13:55:47 -07:00
Roger Riggs
367a429ff4 8058464: (process spec) ProcessBuilder.redirectXXX throws unspecified NPE
Add a class level spec for null arguments throwing NPE in ProcessBuilder

Reviewed-by: martin, alanb
2015-03-10 16:44:45 -04:00
Amy Lu
71d53d5bb7 8074674: Doclint regression in java/util/regex/Matcher.java
Reviewed-by: psandoz
2015-03-10 13:30:21 +01:00
Joe Darcy
f54b0ebdc2 8074788: Javadoc typo in PKCS8EncodedKeySpec
Reviewed-by: xuelei
2015-03-09 18:16:52 -07:00
Joe Darcy
24bf7ba966 8074714: Add javax/xml/jaxp/testng/validation to othervm.dirs in TEST.ROOT
Reviewed-by: lancea
2015-03-09 17:37:34 -07:00
Jason Uh
47e85e2963 8073430: Deprecate security APIs that have been superseded
Reviewed-by: mullan, weijun
2015-03-09 17:21:07 -07:00
Mark Sheppard
6e61892373 8065078: NetworkInterface.getNetworkInterfaces() triggers intermittent test failures
Reviewed-by: chegar
2015-03-09 18:48:40 +00:00
Brian Burkhalter
bd61d670c3 8073445: (fs) FileSystem.getPathMatcher(...) should check syntax component without regard to case
Change String equals() to equalsIgnoreCase() where needed.

Reviewed-by: alanb
2015-03-04 15:05:41 -08:00
Dmitry Dmitriev
9fae485dab 8073861: Unused VM Options in JDK9 HotSpot
Reviewed-by: dholmes, lfoltan
2015-03-04 16:35:58 -05:00
Stuart Marks
d01c5811df 8073923: Files.lines() documentation needs clarification
Reviewed-by: darcy, alanb
2015-03-04 13:22:45 -08:00
Steven Loomis
a6d31e225e 8074048: ccache 1.3.10 still not detected properly
Fix configure to detect ccache 1.3.10 properly

Reviewed-by: erikj
2015-03-04 09:45:12 -08:00
Roman Kennke
08af89e08e 8072436: Refactor X11FontManager
Factor fontconfig related code out of X11FontManager into its own superclass FcFontManager.

Reviewed-by: prr, serb
2015-03-04 15:42:02 +01:00
Ivan Gerasimov
2264f58af9 8074067: (bf) Re-examine java.base/share/native/libjava/Bits.c
Reviewed-by: alanb, martin
2015-03-04 13:44:18 +03:00
Erik Joelsson
eb8ced8051 8074091: Remove dead code from merge mistake in JavaCompilation.gmk
Reviewed-by: ihse
2015-03-04 11:00:04 +01:00
Magnus Ihse Bursie
70e66b384a 8074099: Even with toolchain type clang, OBJC is set to gcc
Reviewed-by: erikj, ddehaven
2015-03-04 10:47:36 +01:00
Zaiyao Liu
fae048d0e2 8048610: Implement regression test for bug fix of 4686632 in JCE
Reviewed-by: weijun
2015-03-04 16:26:49 +08:00
Zaiyao Liu
7b95618234 8050371: More MessageDigest tests
Reviewed-by: xuelei
2015-03-04 08:10:23 +00:00
Amanda Jiang
a1f3c2d2fe 8048360: Test signed jar files
Reviewed-by: weijun
2015-03-04 10:12:25 +08:00
Kim Barrett
0401cdb946 8074319: barrier_set_cast defined via friend injection
Changed the in-class definition to a friend declaration and move the definition to namespace scope

Reviewed-by: jwilhelm, simonis
2015-03-04 02:23:38 +01:00
Jason Uh
33505a8b52 8054037: Improve tracing for java.security.debug=certpath
8055207: keystore and truststore debug output could be much better

Reviewed-by: mullan, coffeys, jnimeh
2015-03-03 14:16:49 -08:00
Kevin Walls
e616017fc8 8073688: Infinite loop reading types during jmap attach
Reviewed-by: dsamersoff, sla
2015-03-03 19:42:09 +00:00
Erik Osterlund
c2a4574760 7143664: Clean up OrderAccess implementations and usage
Clarify and correct the abstract model for memory barriers provided by the orderAccess class. Refactor the implementations using template specialization to allow the bulk of the code to be shared, with platform specific customizations applied as needed.

Reviewed-by: acorn, dcubed, dholmes, dlong, goetz, kbarrett, sgehwolf
2015-03-03 19:20:26 -05:00
Markus Grönlund
8c5e105bac 8073042: jcmd hangs until another jcmd is executed (which, in turn also hangs)
Reviewed-by: jbachorik, dsamersoff, farvidsson
2015-03-03 20:17:07 +01:00
Phil Race
aa51e477d4 Merge 2015-03-03 10:39:40 -08:00
Jesper Wilhelmsson
25c5065b89 Merge 2015-03-03 19:21:45 +01:00
Andrew Haley
45d5073b91 8074349: AARCH64: C2 generates poor code for some byte and character stores
Use iRegIorL2I as src input for char and byte stores.

Reviewed-by: kvn
2015-03-03 17:56:33 +00:00
Sergey Bylokhov
8def2a3e45 8073420: JFrame.EXIT_ON_CLOSE can be removed in favour of WindowConstants.EXIT_ON_CLOSE
Reviewed-by: art, azvegint, alexsch
2015-03-03 20:23:34 +03:00
Phil Race
9f78b4347e Merge 2015-03-03 08:49:13 -08:00
Phil Race
b21e31424b Merge 2015-03-03 08:48:21 -08:00
Prasanta Sadhukhan
3ca192f3b3 8039345: Strange behaviour of per-pixel translucency on linux
Reviewed-by: prr, azvegint
2015-03-03 17:50:01 +03:00
Alejandro Murillo
1b7e7fdf70 Merge 2015-03-03 06:23:50 -08:00
Alejandro Murillo
94ddb7fc72 Merge 2015-03-03 06:23:49 -08:00
Paul Sandoz
0405de7fca 8071479: Stream and lambdafication improvements to j.u.regex.Matcher
Reviewed-by: smarks, briangoetz, sherman
2015-03-03 12:30:48 +01:00
Roland Westrelin
2c277304d8 8073957: assert(ary_src != 0) failed: not an array or instance?
ArrayCopyNode going dead needs better validation of inputs

Reviewed-by: kvn, vlivanov
2015-03-03 12:30:07 +01:00
Ivan Gerasimov
68b3fe02ad 8074066: Useless code in share/native/libjava/VM.c
Reviewed-by: mchung
2015-03-03 10:30:44 +03:00
Vladimir Kozlov
adfbe70e01 Merge 2015-03-02 17:36:56 -08:00
Daniel D. Daugherty
12cd46edc9 8072439: fix for 8047720 may need more work
Cleanup PeriodTask_lock usage. Also reviewed by varming@gmail.com.

Co-authored-by: Carsten Varming <varming@gmail.com>
Reviewed-by: dholmes, dcubed, mgronlun, coleenp
2015-03-02 16:31:25 -08:00
Joe Darcy
de2f72a351 8074126: Correct @see cross-refs to the JLS in java.lang[.annotation]
Reviewed-by: lancea
2015-03-02 16:06:58 -08:00
Vladimir Kozlov
97b9b51906 Merge 2015-03-02 15:15:15 -08:00
Vladimir Kozlov
0364ea227d Merge 2015-03-02 15:15:02 -08:00
Brent Christian
8dd500f340 8073596: Add jdk.management.cmm in boot.modules that needs sun.management.spi be exported to it
Reviewed-by: alanb, erikj, ihse, mchung
2015-03-02 13:37:30 -08:00
Brent Christian
29259d17a8 8073596: Add jdk.management.cmm in boot.modules that needs sun.management.spi be exported to it
Reviewed-by: alanb, erikj, ihse, mchung
2015-03-02 13:35:57 -08:00
Andrew Dinn
539384a8d2 8074119: [AARCH64] stage repo misses fixes from several Hotspot changes
Add shared code changes from 8059606, 8069230, 8068976, 8068977, 8072911 and 8071805

Reviewed-by: aph, kvn
2015-03-02 10:31:52 -08:00
Vladimir Ivanov
361f1ae295 Merge 2015-03-02 18:12:06 +00:00
Vladimir Kozlov
6fd49139e8 Merge 2015-03-02 10:09:33 -08:00
Vladimir Kozlov
2c553427a9 Merge 2015-03-02 10:09:03 -08:00
Vladimir Kozlov
f2ca39b031 Merge 2015-03-02 10:08:47 -08:00
Tobias Hartmann
2b2dec1ea4 Merge 2015-03-02 15:20:38 +00:00
Vladimir Ivanov
879d7b32a3 Merge 2015-03-02 07:20:09 -08:00
Vladimir Ivanov
b4b2912109 Merge 2015-03-02 07:20:09 -08:00
Jesper Wilhelmsson
8107130954 8071335: gc/TestSmallHeap.java throw OOM
To avoid OOME, do not run with -Xcomp

Reviewed-by: brutisso, tschatzl
2015-03-02 16:19:59 +01:00
Thomas Schatzl
77fc522153 Merge 2015-03-03 13:25:23 +00:00
Thomas Schatzl
2d22f2780c 8073466: Remove buffer retaining functionality and clean up in ParGCAllocBuffer
Reviewed-by: jmasa, kbarrett
2015-03-03 12:38:42 +01:00
David Lindholm
a827cdfa10 8073464: GC workers do not have thread names
Reviewed-by: brutisso, tschatzl
2015-03-03 12:19:35 +01:00
Tobias Hartmann
e5f039dbfb Merge 2015-03-02 15:11:55 +00:00
Daniel Fuchs
9b5f69fa24 8074032: Instant.ofEpochMilli(millis).toEpochMilli() can throw arithmetic overflow in toEpochMilli()
Instant.toEpochMilli() now takes into account the sign of the 'seconds' field.

Reviewed-by: rriggs, scolebourne
2015-03-02 14:46:10 +01:00
Prasanta Sadhukhan
307da40f99 8048782: OpenJDK: PiscesCache : xmax/ymax rounding up can cause RasterFormatException
Reviewed-by: prr, flar
2015-03-02 16:34:44 +03:00
Attila Szegedi
b5aaccb15f 8074031: Canonicalize is-a-JS-string tests
Reviewed-by: hannesw, lagergren
2015-03-02 14:33:55 +01:00
Christian Tornqvist
b520218d57 Merge 2015-03-02 05:32:14 -08:00
Christian Tornqvist
6465239986 Merge 2015-03-02 05:32:01 -08:00
Tobias Hartmann
9e655cb7ea Merge 2015-03-02 13:28:06 +00:00
Erik Joelsson
6de0c1df26 8074072: Race condition in build since JDK-8072842 can cause failed builds on Solaris
Reviewed-by: ihse
2015-03-02 14:18:05 +01:00
Erik Joelsson
28a8022f82 8074072: Race condition in build since JDK-8072842 can cause failed builds on Solaris
Reviewed-by: ihse
2015-03-02 14:18:01 +01:00
Magnus Ihse Bursie
f02b21927b 8074055: Improvements in compare.sh from build-infra
Reviewed-by: erikj
2015-03-02 13:45:05 +01:00
Tobias Hartmann
b4420f1516 8006960: hotspot, "impossible" assertion failure
Escape state of allocated object should be always adjusted after it was passed to a method.

Reviewed-by: kvn
2015-03-02 13:40:40 +01:00
Tobias Hartmann
3f42ccd0ff 8073956: Escape analysis dump misses args information
Fixed output of PrintEscapeAnalysis.

Reviewed-by: kvn
2015-03-02 13:16:07 +01:00
Igor Ignatyev
450835d136 Merge 2015-03-02 11:15:09 +00:00
Ivan Gerasimov
fee38a671f 8055915: (ch) FileDispatcherImpl.truncate0 should use SetFileInformationByHandle [win]
Reviewed-by: alanb
2015-03-02 11:07:47 +03:00
Srikanth Adayapalam
105275fb87 8071453: Allow interface methods to be private
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Reviewed-by: mcimadamore
2015-03-02 10:41:08 +05:30
Masayoshi Okutsu
e088a6e1ef 8072602: Unpredictable timezone on Windows when OS's timezone is not found in tzmappings
Reviewed-by: peytoia
2015-03-02 11:48:08 +09:00
Claes Redestad
c8e99e3610 8073497: Lazy conversion of ZipEntry time
Reviewed-by: sherman, plevart
2015-02-28 13:17:13 +01:00
Weijun Wang
2bcc0c7789 8074018: Named extension not recognized in keytool -ext honored after 8073182
Reviewed-by: mullan
2015-02-28 10:47:07 +08:00
Kim Barrett
40d3986051 8069016: Add BarrierSet downcast support
Add FakeRttiSupport utility and use to provide barrier_set_cast.

Reviewed-by: jmasa, sangheki
2015-02-27 19:52:48 -05:00
Brian Burkhalter
03088bb6e6 8071599: (so) Socket adapter sendUrgentData throws IllegalBlockingMode when channel configured non-blocking
Remove restriction to blocking case

Reviewed-by: alanb, chegar
2015-02-27 14:36:03 -08:00
Maurizio Cimadamore
7b2bf7805a 8073842: Invalid method reference when referencing a method on a wildcard type
Method rteference lookup logic doesn't skip type-variables as required by javac.

Reviewed-by: jlahoda
2015-02-27 18:20:33 +00:00
Chris Hegarty
43f188234a 8074043: java.util.Arrays setAll and parallelSetAll subrange note
Reviewed-by: smarks
2015-02-27 18:12:07 +00:00
Harold Seigel
01ed1c9ea6 8073908: Replace hotspot/testlibrary use of sun.management with public API
Use java.lang API's instead of sun.management API's.

Reviewed-by: sla, iignatyev, gtriantafill, mchung
2015-02-27 12:48:06 -05:00
Erik Joelsson
a88048005f 8073965: Bring compare.sh up to date with JDK 9
Reviewed-by: tbell, ihse
2015-02-27 17:27:11 +01:00
Alejandro Murillo
bcb3fde88f Merge 2015-02-27 07:34:27 -08:00
Alejandro Murillo
e7f35f99b5 Merge 2015-02-27 07:34:26 -08:00
Roger Riggs
9b8b669510 8044051: Test jdk/lambda/vm/InterfaceAccessFlagsTest.java gets IOException during compilation
Create the gen-separate directory in the current directory to improve robustness

Reviewed-by: darcy
2015-02-27 10:09:06 -05:00
Vladimir Ivanov
284a867adc 8073644: Assertion in LambdaFormEditor.bindArgumentType is too strict
Reviewed-by: psandoz
2015-02-27 18:03:21 +03:00
Hannes Wallnöfer
74c88b0515 8073707: const re-assignment should not reported as a early error
Reviewed-by: sundar, attila
2015-02-27 14:33:47 +01:00
Athijegannathan Sundararajan
ffd434caa1 8074021: Indirect eval fails when used as an element of an array or as a property of an object
Reviewed-by: attila, hannesw
2015-02-27 18:03:18 +05:30
Aleksey Shipilev
ee906c96d7 8073550: java* tools: replace obj.getClass hacks with Assert.checkNonNull or Objects.requireNonNull
Replace getClass() with approapriate NPE checks

Reviewed-by: jjg
2015-02-27 11:51:53 +00:00
Chris Hegarty
dc378de91b 8074022: Serialization should issue a freeze action after reconstituting a graph that contains objects with final fields
Reviewed-by: dholmes, plevart, psandoz
2015-02-27 11:45:07 +00:00
Magnus Ihse Bursie
f6875fea5b 8072842: Add support for building native JTReg tests
Reviewed-by: erikj, sla
2015-02-27 11:56:57 +01:00
Magnus Ihse Bursie
90a23fca14 8072842: Add support for building native JTReg tests
Reviewed-by: erikj, sla
2015-02-27 11:56:42 +01:00
Magnus Ihse Bursie
0624f19e6e 8072842: Add support for building native JTReg tests
Reviewed-by: erikj, sla
2015-02-27 11:56:34 +01:00
Paul Sandoz
95b2455d16 8071600: Add a flat-mapping collector
Reviewed-by: smarks, chegar, briangoetz
2015-02-27 09:58:25 +01:00
Filipp Zhinkin
dbf67b8e69 8073154: NULL-pointer dereferencing in LIR_OpProfileType::print_instr
Reviewed-by: iveresov
2015-02-27 11:41:42 +03:00
Lana Steuck
47613833a3 Merge 2015-02-26 20:19:29 -08:00
Lana Steuck
992a3bfb85 Merge 2015-02-26 20:18:40 -08:00
Lana Steuck
171f832de9 Merge 2015-02-26 20:17:34 -08:00
Lana Steuck
69035f0846 Merge 2015-02-26 20:17:21 -08:00
Lana Steuck
8d0e82310d Merge 2015-02-26 20:17:06 -08:00
Lana Steuck
f8e7c24ceb Merge 2015-02-26 20:16:58 -08:00
Lana Steuck
5580a8a920 Merge 2015-02-26 20:16:43 -08:00
Joe Darcy
8efc09a66a 8073952: Spec of j.l.r.Method.toString/toGenericString need to be clarified
Reviewed-by: lancea
2015-02-26 18:02:49 -08:00
David Katleman
084063f0b6 Added tag jdk9-b52 for changeset 1a9a6f8f71f6 2015-02-26 15:58:18 -08:00
David Katleman
976db392e3 Added tag jdk9-b52 for changeset ff6339407acb 2015-02-26 15:58:16 -08:00
David Katleman
10b846cb84 Added tag jdk9-b52 for changeset 8a11fed0d1a0 2015-02-26 15:58:06 -08:00
David Katleman
3b2f3289af Added tag jdk9-b52 for changeset 65feae01b278 2015-02-26 15:57:49 -08:00
David Katleman
f6d69c281e Added tag jdk9-b52 for changeset 991394bd2448 2015-02-26 15:57:44 -08:00
David Katleman
435bd0a792 Added tag jdk9-b52 for changeset d638088414a8 2015-02-26 15:57:41 -08:00
David Katleman
46d656c5c4 Added tag jdk9-b52 for changeset cda0ffc99002 2015-02-26 15:57:37 -08:00
David Katleman
c161f3553b Added tag jdk9-b52 for changeset e42a1d291fde 2015-02-26 15:57:35 -08:00
Lev Priima
ff45a0b5b0 8073354: TimSortStackSize2.java: test cleanup: make test run with single argument
Reviewed-by: dholmes
2015-02-26 18:50:02 -05:00
Xueming Shen
7f950ef63d 8073924: Update test/java/nio/charset/Charset/NIOCharsetAvailability.java to work with module system
To use module's runtime filesystem to iterate the class files

Reviewed-by: alanb
2015-02-26 14:40:43 -08:00
Sergey Bylokhov
104db62eca 4958064: JPGWriter does not throw UnsupportedException when canWriteSequence retuns false
Reviewed-by: prr, bae
2015-02-27 01:06:39 +03:00
Jesper Wilhelmsson
1426bc9dc1 8073883: serviceability/dcmd/gc/RunGCTest.java should not run with -XX:+ExplicitGCInvokesConcurrent
Don't run test with -XX:+ExplicitGCInvokesConcurrent

Reviewed-by: mgerdin
2015-02-26 21:00:03 +01:00
Vladimir Kozlov
239370b736 Merge 2015-02-26 10:56:54 -08:00
Vladimir Kozlov
7e75bdc891 Merge 2015-02-26 10:56:26 -08:00
Vladimir Kozlov
2c25f6b054 Merge 2015-02-26 10:56:01 -08:00
Jesper Wilhelmsson
b22466d59d Merge 2015-02-26 19:32:03 +01:00
Vinnie Ryan
a929976abd 8073955: Update java.security.debug help text to reflect recent enhancements for debugging
Reviewed-by: mullan
2015-02-26 16:29:49 +00:00
Andrey Zakharov
fd9d670156 8073950: Quarantine failing test: gc/TestSoftReferencesBehaviorOnOOME.java due to JDK-8073669
Quarantine gc/TestSoftReferencesBehaviorOnOOME.java

Reviewed-by: mgerdin, tschatzl
2015-02-26 17:02:48 +01:00
Dmitry Dmitriev
26261a9600 8069291: [TESTBUG] runtime/threads/Fibonacci: OutOfMemoryError: unable to create native thread
Reviewed-by: dholmes, ctornqvi
2015-02-26 06:11:56 -08:00
Stefan Sarne
fab80a0ca3 8073718: [TESTBUG] Cleanup test output and skip creating mini dumps
Reviewed-by: sla, ctornqvi
2015-02-26 06:11:40 -08:00
Sergey Bylokhov
b15e27a0b2 8073795: JMenuBar looks bad under retina
Reviewed-by: alexsch, azvegint
2015-02-26 16:41:39 +03:00
Sean Coffey
79240eab9b 8071447: IBM1166 Locale Request for Kazakh characters
Reviewed-by: sherman
2015-02-26 09:36:30 +00:00
Weijun Wang
c12ac1b4cc 8073853: KeyToolTest.java has too many too long lines
Reviewed-by: mullan
2015-02-26 08:08:52 +08:00
Mandy Chung
8c3edc1d57 8073361: Missing doPrivileged in com.sun.xml.internal.bind.v2.ClassFactory
Reviewed-by: mullan, mkos
2015-02-25 14:51:12 -08:00
Gilles Duboscq
42c543abd9 8041628: Javadoc cross-compilation problem
Reviewed-by: jjg
2015-02-25 14:35:39 -08:00
Phil Race
f2de6b3408 8073699: Memory leak in jdk/src/java/desktop/share/native/libjavajpeg/imageioJPEG.c
Reviewed-by: bae, serb
2015-02-25 13:45:09 -08:00
Xueming Shen
ece4e20848 8073893: Enable charsets build system to configure euc_tw into java.base module/sun.nio.cs
To enable charsets build system to configure euc_tw into java.base module/sun.nio.cs

Reviewed-by: alanb, mchung
2015-02-25 13:04:31 -08:00
Mark Sheppard
c90f8b8839 8046901: Check jdk/src/solaris/native/sun/nio for Parfait flagged uninitialized memory
Reviewed-by: rriggs, alanb
2015-02-25 19:36:29 +00:00
Daniel Fuchs
fc084beb84 8072645: java.util.logging should use java.time to get more precise time stamps
J.u.logging uses j.t.Instant to store LogRecord time stamps. XMLFormatter format is updated to allow for a new optional <nanos> element containing a nano second adjustment. SimpleFormatter passes a ZonedDateTime object to String.format. LogRecord getMillis/setMillis are deprecated, replaced by getInstant/setInstant.

Co-authored-by: Peter Levart <peter.levart@gmail.com>
Reviewed-by: scolebourne, plevart, rriggs
2015-02-25 18:41:07 +01:00
Mark Sheppard
0f708456b2 8055204: Memory leak in jdk/src/windows/native/java/lang/java_props_md.c
Reviewed-by: rriggs
2015-02-25 17:24:13 +00:00
Mark Sheppard
dcdbd32603 8046893: JNI exception pending in jdk/src/solaris/native/java/net: ExtendedOptionsImpl.c, PlainDatagramSocketImpl.c
Reviewed-by: alanb, chegar
2015-02-25 17:05:56 +00:00
Kumar Srinivasan
8749a5a08c 8066185: VM crashed with SIGSEGV VirtualMemoryTracker::add_reserved_region
Reviewed-by: coleenp, dholmes
2015-02-25 06:21:55 -08:00
Magnus Ihse Bursie
43e3412689 8073864: Configure must handle invalid elements on INCLUDE/LIB for visualstudio
Reviewed-by: erikj
2015-02-25 14:50:07 +01:00
Magnus Ihse Bursie
b3005d5d3c 8073862: BASIC_FIXUP_EXECUTABLE should not fail on empty path
Reviewed-by: erikj
2015-02-25 14:48:41 +01:00
Joel Borggrén-Franck
cdf8c27ddb 8014678: Spurious AccessControlException thrown in java.lang.Class.getEnclosingMethod()
Reviewed-by: ahgross, mchung, psandoz
2015-02-25 14:30:02 +01:00
Sean Coffey
6d78b91ac9 7178362: Socket impls should ignore unsupported proxy types rather than throwing
Reviewed-by: chegar
2015-02-25 11:44:53 +00:00
Roland Westrelin
25a0458907 8073796: assert(check_obj_alignment(result)) failed: address not aligned: ..
Arrays.copyOf intrinsic can deoptimize with uninitialized new array

Reviewed-by: kvn
2015-02-25 12:33:43 +01:00
Zoltan Majo
b5f763492e Merge 2015-02-28 12:33:50 +00:00
Stefan Anzinger
292cc73546 8073670: TypeF::eq and TypeD::eq do not handle NaNs correctly
Change TypeF:eq and TypeD:eq to compare NaN values using a bitwise comparison.

Reviewed-by: kvn
2015-02-27 13:21:05 +01:00
Sergey Bylokhov
a8da73929a 8043393: NullPointerException and no event received when clipboard data flavor changes
Reviewed-by: ant, azvegint
2015-02-25 14:01:27 +03:00
Weijun Wang
b505d5ad05 8073182: keytool may generate duplicate extensions
Reviewed-by: mullan
2015-02-25 18:30:29 +08:00
Weijun Wang
ed25ae3aeb 8073181: keytool -ext honored not working correctly
Reviewed-by: mullan
2015-02-25 18:30:07 +08:00
Ingemar Aberg
3bc3440bb6 8073231: Add convenient way of adding custom configure options to jprt
Reviewed-by: erikj, tbell
2015-02-25 11:04:14 +01:00
Roland Westrelin
3a627c0d83 8073792: assert((get_length_if_constant(phase) == -1) == !ary_src->size()->is_con()) failed: inconsistent
Assert in array copy code broken when array size becomes known during igvn

Reviewed-by: kvn, vlivanov
2015-02-25 10:44:38 +01:00
Serguei Spitsyn
a3c0889315 8046246: the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
Add new test java/lang/instrument/ManyMethodsBenchmarkAgent.java

Reviewed-by: coleenp, dcubed
2015-02-25 01:02:04 -08:00
Serguei Spitsyn
942d1f7f32 8046246: the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
Optimize the adjust_method_entries functions by using the orig_method_idnum() function

Reviewed-by: coleenp, dcubed
2015-02-25 00:30:54 -08:00
Igor Veresov
14cf940405 8073735: compiler/loopopts/CountedLoopProblem.java got OOME
Ignore OOM in the test

Reviewed-by: kvn
2015-02-24 23:31:00 -08:00
Dean Long
aa21fdd0c0 8072383: resolve conflicts between open and closed ports
Refactor close to remove references to closed ports

Reviewed-by: kvn, simonis, dholmes
2015-02-24 17:23:53 -05:00
Mandy Chung
f2313d073e 8073696: Remove unused imports in java.corba, java.jaxws, jdk.httpserver
Reviewed-by: alanb, chegar
2015-02-24 12:45:56 -08:00
Daniel Fuchs
2390a77789 8073394: Clock.systemUTC() should return a constant
Clock.systemUTC() now returns SystemClock.UTC

Reviewed-by: scolebourne, rriggs, plevart, lancea
2015-02-24 21:51:45 +01:00
Mandy Chung
1f3b999b98 8073696: Remove unused imports in java.corba, java.jaxws, jdk.httpserver
Reviewed-by: alanb, chegar
2015-02-24 12:45:47 -08:00
Mandy Chung
92a410c125 8073696: Remove unused imports in java.corba, java.jaxws, jdk.httpserver
Reviewed-by: alanb, chegar
2015-02-24 12:45:34 -08:00
Alejandro Murillo
8af70656ce Merge 2015-02-24 10:52:02 -08:00
Vladimir Ivanov
24be5c951c Merge 2015-02-24 17:14:29 +00:00
Ivan Gerasimov
f3c4924379 8073779: StackOverflowError called StackOverflowException in javadoc
Reviewed-by: martin
2015-02-24 19:50:17 +03:00
Vladimir Ivanov
dad72d8a2b Merge 2015-02-24 07:39:22 -08:00
Vladimir Ivanov
2f8e4bb472 Merge 2015-02-24 07:38:43 -08:00
Jan Lahoda
681758e0fa 8067886: Inaccessible nested classes can be incorrectly imported
Check type accessibility at the point of import when importing the type using type-import-on-demand.

Reviewed-by: mcimadamore, jfranck
2015-02-24 16:11:59 +01:00
Roland Westrelin
f4f9769cd2 8073184: Compile of java.lang.Integer::getChars fails with LoopLimitCheck = false after 8054478
CastII that guards counted loops confuses range check elimination with LoopLimitCheck off

Reviewed-by: kvn, iveresov
2015-02-24 15:23:05 +01:00
Sergei Kovalev
3d215c0b63 8067822: test/testlibrary_tests/RandomGeneratorTest.java failed on Assert Unexpected random number sequence for mode: NO_SEED
On embedded platforms we have a message in std error. We should not take into account the message. Therefore only std out should be used fo verification.

Reviewed-by: iignatyev, kvn
2015-02-24 15:42:26 +03:00
Sergei Kovalev
7fdd3ff35d 8067162: [TESTBUG] runtime/SharedArchiveFile tests fail on compact profiles
Modified TEST.groups file to exclude two tests from execution on compact profiles.

Reviewed-by: mseledtsov, dholmes, iignatyev
2015-02-24 16:08:25 +03:00
Staffan Larsen
93d09edf06 8073713: javadoc warnings in serviceability code
Reviewed-by: mgronlun, alanb, sspitsyn
2015-02-24 10:56:48 +01:00
Jeremy Manson
d1225ad485 6588467: Add isDaemon() and getPriority() to ThreadInfo
Reviewed-by: mchung, sla, dholmes, martin
2015-02-24 09:46:29 +01:00
Jason Uh
33dd267f40 8072663: Remove the sun.security.acl package which is not used in the JDK
Reviewed-by: mullan, alanb, mchung
2015-02-23 11:42:54 -08:00
Jason Uh
91722e7903 8072663: Remove the sun.security.acl package which is not used in the JDK
Reviewed-by: mullan, alanb, mchung
2015-02-23 11:42:16 -08:00
Jason Uh
9a2cc32b19 8072663: Remove the sun.security.acl package which is not used in the JDK
Reviewed-by: mullan, alanb, mchung
2015-02-23 11:40:48 -08:00
Phil Race
9ec44e8c16 Merge 2015-02-23 10:47:32 -08:00
Phil Race
b71fe70e46 Merge 2015-02-23 10:47:09 -08:00
Mandy Chung
638c2d5f82 8062750: Separate SNMP messages from sun.management.resources.agent
Reviewed-by: alanb, dfuchs, erikj
2015-02-23 08:46:07 -08:00
Chris Hegarty
f71f63f2f2 8073667: URL should not use service loader to lookup the jar protocol handler
Reviewed-by: alanb
2015-02-23 17:22:56 +00:00
Chris Hegarty
4db8117dec 8064924: Update java.net.URL to work with modules
Reviewed-by: alanb, plevart, psandoz
2015-02-23 15:51:47 +00:00
Chris Hegarty
b7d0702188 8064924: Update java.net.URL to work with modules
Reviewed-by: alanb, plevart, psandoz
2015-02-23 15:48:20 +00:00
Maurizio Cimadamore
110a99f0dd 8071291: Compiler crashes trying to cast UnionType to IntersectionClassType
Compiler tests for .isCompound but then cast to a more specific Type subclass, resulting in CCE

Reviewed-by: vromero, jlahoda
2015-02-23 13:02:37 +00:00
Christian Tornqvist
88609236a3 Merge 2015-02-23 05:01:33 -08:00
Christian Tornqvist
07a6ab00bc Merge 2015-02-23 05:01:11 -08:00
Erik Joelsson
414de033e0 8073498: Enhance GensrcProperties.gmk to allow an alternative source root
Reviewed-by: tbell, mchung, ihse
2015-02-23 11:37:36 +01:00
Erik Joelsson
938840c853 8073498: Enhance GensrcProperties.gmk to allow an alternative source root
Reviewed-by: tbell, mchung, ihse
2015-02-23 11:37:14 +01:00
Tobias Hartmann
37cfc9fb6d 8073257: compiler/codecache/stress/RandomAllocationTest.java + fastdebug + -XX:+LogCompilation, "allocating without ResourceMark"
Added two missing ResourceMarks to 'NMethodSweeper::log_sweep'.

Reviewed-by: kvn, iignatyev
2015-02-23 10:38:26 +01:00
Volker Simonis
3f7a17902e 8073624: Fix waring "converting to non-pointer type 'bool' from NULL" in arraycopynode.cpp
Reviewed-by: roland
2015-02-23 10:32:17 +01:00
Tobias Hartmann
ccaded21d2 8072774: bigapps/Weblogic+medrec/nowarnings fails due to CodeHeap 'profiled nmethods' exhaustion
Store profiled code in the non-profiled code heap (and vice versa) if the code cache is really full.

Reviewed-by: kvn, iveresov
2015-02-23 08:48:19 +01:00
Tobias Hartmann
58338525b4 8072774: bigapps/Weblogic+medrec/nowarnings fails due to CodeHeap 'profiled nmethods' exhaustion
Store profiled code in the non-profiled code heap (and vice versa) if the code cache is really full.

Reviewed-by: kvn, iveresov
2015-02-23 07:55:37 +01:00
Claes Redestad
16989e7b17 8068790: ZipEntry/JarEntry.setCreation/LastAccessTime(null) don't throw NPE as specified
Reviewed-by: coffeys, sherman
2015-02-21 13:46:24 +01:00
Dan Smith
13490088bf 8039214: Inference should not map capture variables to their upper bounds
Update to Types.containsType; related adjustment to most-specific test

Reviewed-by: mcimadamore, vromero
2015-02-20 17:05:13 -07:00
Alejandro Murillo
d85d8b1ade Merge 2015-02-20 14:14:09 -08:00
Alejandro Murillo
908ae8461b Merge 2015-02-20 14:14:08 -08:00
Mandy Chung
31717ccf1c 8073374: Re-examine jdk.xml.ws dependency on java.xml.ws SOAPNamespaceConstants
Reviewed-by: lancea, mkos
2015-02-20 09:15:59 -08:00
Attila Szegedi
d76b6c183d 8073560: Update BuildNashorn.gmk to require source/target 8 for jdk9 build
Reviewed-by: sundar
2015-02-20 17:18:47 +01:00
Aleksey Shipilev
e0e6ce31fd 8073479: Replace obj.getClass hacks with Objects.requireNonNull
Reviewed-by: dfuchs, plevart, vlivanov
2015-02-20 18:32:10 +03:00
Attila Szegedi
0a6d13699b 8072426: Can't compare Java objects to strings or numbers
Reviewed-by: hannesw, lagergren, sundar
2015-02-20 15:47:28 +01:00
Lana Steuck
35130d616e Merge 2015-02-19 16:38:54 -08:00
Lana Steuck
86292086b7 Merge 2015-02-19 16:38:11 -08:00
Lana Steuck
685b728f55 Merge 2015-02-19 16:37:05 -08:00
Lana Steuck
e041f4aadd Merge 2015-02-19 16:36:35 -08:00
Lana Steuck
5b67af846e Merge 2015-02-19 16:35:58 -08:00
David Katleman
5672ca6e68 Added tag jdk9-b51 for changeset db20db37be55 2015-02-19 11:24:08 -08:00
David Katleman
82735606dd Added tag jdk9-b51 for changeset bf992bd35aad 2015-02-19 11:24:07 -08:00
David Katleman
42d9f7489a Added tag jdk9-b51 for changeset 0584b09d5a1d 2015-02-19 11:24:03 -08:00
David Katleman
c3e738b069 Added tag jdk9-b51 for changeset 2815ad059e8d 2015-02-19 11:24:01 -08:00
David Katleman
523249ec57 Added tag jdk9-b51 for changeset c7d0c39dd761 2015-02-19 11:24:00 -08:00
David Katleman
cb126fc539 Added tag jdk9-b51 for changeset 5fb718119516 2015-02-19 11:23:58 -08:00
David Katleman
0efeaabb0a Added tag jdk9-b51 for changeset 1ede1e98cd63 2015-02-19 11:23:57 -08:00
David Katleman
0fafef8147 Added tag jdk9-b51 for changeset 5d0c07a90e82 2015-02-19 11:23:55 -08:00
Vladimir Ivanov
93f9344ff4 Merge 2015-02-19 11:12:59 -08:00
Sergey Bylokhov
8929d90866 8072665: SoundLibraries.gmk and SoundDefs.h: remove isSigned8() dead code
Reviewed-by: erikj, ihse, alexsch
2015-02-19 18:47:55 +03:00
Alexey Ivanov
14fc538ce9 8056915: Focus lost in applet when browser window is minimized and restored
Reviewed-by: ant, dtitov, dcherepanov
2015-02-19 12:50:32 +00:00
Jesper Wilhelmsson
5c18821ea5 Merge 2015-02-19 12:56:50 +01:00
Christian Tornqvist
f5ef1f7ce6 Merge 2015-02-18 19:28:08 -08:00
Christian Tornqvist
b92cbf650b Merge 2015-02-18 19:27:49 -08:00
David Holmes
2a2e56342c 8072055: Argument checking for SE Embedded and ARM should be moved out of arguments.cpp
Reviewed-by: bdelsart, dlong, hseigel, coleenp
2015-02-18 22:19:47 -05:00
Mandy Chung
db4c181844 8072656: test/java/lang/reflect/Proxy/ClassRestrictions.java assumes app class loader be URLClassLoader
Reviewed-by: lancea, alanb
2015-02-18 18:14:41 -08:00
Vicente Romero
7bf016c7b1 8068489: remove unnecessary complexity in Flow and Bits, after JDK-8064857
Reviewed-by: mcimadamore, jjg
2015-02-18 17:07:06 -08:00
Vivi An
7b27235df4 8069268: JComponent.AccessibleJComponent.addPropertyListeners adds exponential listeners
Reviewed-by: ptbrunet, serb
2015-02-18 11:15:24 -08:00
Roland Westrelin
88848bd9e8 6912521: System.arraycopy works slower than the simple loop for little lengths
Convert small array copies to series of loads and stores

Reviewed-by: kvn, vlivanov
2015-02-18 18:14:07 +01:00
Dmitrij Pochepko
c71eca0cbf 8068461: compiler/codecache/jmx/UsageThresholdIncreasedTest.java failed: java.lang.RuntimeException: Usage threshold was hit: 1 times for CodeHeap 'non-nmethods'
Added filter for invalid testcase

Reviewed-by: kvn, iignatyev
2015-02-19 23:47:01 +03:00
Mandy Chung
3bbf6fb281 8073373: Remove redundant imports from sun/applet/AppletProps.java
Reviewed-by: serb
2015-02-18 08:59:55 -08:00
Alejandro Murillo
a68e87751a Merge 2015-02-18 09:14:48 -08:00
Jaroslav Bachorik
41d784d98e 8071657: JDI ObjectReferenceImpl.invokeMethod() validation fails for virtual invocations of method with declaring type being an interface
Reviewed-by: sspitsyn, sla
2015-02-18 17:50:41 +01:00
Pavel Punegov
55df61e264 8067012: Don't create MDO for constant getters
Add check if the method is constant getter

Reviewed-by: kvn, iveresov
2015-02-18 16:59:56 +03:00
Sergey Bylokhov
86506d6858 8068412: [macosx] Initialization of Cocoa hangs if CoreAudio was initialized before
Reviewed-by: azvegint, prr
2015-02-18 16:59:51 +03:00
Pavel Punegov
f8c9e34966 8067157: Closed compiler tests should not be in hotspot/test/TEST.groups
Replace closed/compiler tests with sanity/ExecuteInternalVMTests.java to keep the hotspot_compiler_closed group

Reviewed-by: kvn, zmajo
2015-02-18 16:19:48 +03:00
Igor Ignatyev
0596217df6 8073499: quarantine compiler/tiered/LevelTransitionTest
Reviewed-by: kvn
2015-02-19 23:49:22 +03:00
Dmitry Samersoff
eaa8d1e0f3 8072395: sun/tools/jmap/heapconfig/LingeredAppTest.java and sun/tools/jmap/heapconfig/JMapHeapConfigTest.java fail due to LingeredApp ERROR: java.io.IOException: Lock is too old. Aborting
Remove lock age check

Reviewed-by: sla, dholmes, kevinw
2015-02-18 03:45:06 -08:00
Dmitry Samersoff
7168bf102d 8072835: sun/tools/jmap/heapconfig/JMapHeapConfigTest.java Key MaxHeapSize doesnt match
Make sure that maxheapsize is set explicitly in command line

Reviewed-by: sla, ykantser
2015-02-18 03:16:48 -08:00
Erik Joelsson
cf0e1e5323 8072904: building jdk9 with jdk9 boot jdk can cause failure or incorrect results
Reviewed-by: dholmes, dlong
2015-02-18 11:25:34 +01:00
Erik Joelsson
6d4ea4d7da 8073328: Incremental build of gensrc broken
Reviewed-by: alanb, tbell, dfuchs, sherman
2015-02-18 11:18:00 +01:00
Stefan Karlsson
2e888853a1 8073387: Move VerifyOopClosures out from genOopClosures.hpp
Reviewed-by: brutisso, mgerdin, coleenp
2015-02-18 08:57:29 +01:00
Igor Veresov
f96ca50eca Merge 2015-02-17 21:46:39 +00:00
Brian Burkhalter
3004d4881c 8073347: javadoc of Formattable messed up by JDK-8019857
Change sample code formatting to the currently blessed idiom.

Reviewed-by: martin
2015-02-17 12:02:38 -08:00
David Dehaven
d747007634 Merge 2015-02-17 11:50:06 -08:00
David Dehaven
64fce0cc80 Merge 2015-02-17 11:50:02 -08:00
David Dehaven
c627fa5807 Merge 2015-02-17 11:44:51 -08:00
David Dehaven
8e08670d9a Merge 2015-02-17 11:44:44 -08:00
Igor Veresov
783f2be52f 8072753: Nondeterministic wrong answer on arithmetic
Check for overflow when inverting the loop during the counted loop conversion

Reviewed-by: kvn
2015-02-17 11:00:18 -08:00
David Chase
46fa321d63 8069412: Locks need better debug-printing support
Added better debug-printing support and enhanced LogCompilation tool

Reviewed-by: kvn, roland, dholmes
2015-02-17 13:54:53 -05:00
Jason Uh
f7f4ab9df6 8042967: Add variant of DSA Signature algorithms that do not ASN.1 encode the signature bytes
Reviewed-by: mullan
2015-02-17 10:48:24 -08:00
Harold Seigel
ce4261471b 8068687: Remove meta-index support and cleanup hotspot code for rt.jar etc in non-modular jdk image
Remove the meta-index code and rt.jar code and comments

Reviewed-by: mchung, gtriantafill
2015-02-17 13:19:23 -05:00
Brian Burkhalter
2b1139db7c 8073207: javadoc typos in java.nio.channels.Pipe
Correct the verbiage as suggested.

Reviewed-by: alanb
2015-02-17 09:18:27 -08:00
Anton Nashatyrev
05a0c3b3eb 8072069: Toolkit.getScreenInsets() doesn't update if insets change
Reviewed-by: serb, azvegint
2015-02-17 19:56:15 +03:00
Erik Joelsson
d2719e8bdf 8072950: api/xinclude/Harold/harold-97.html\#harold-97, api/xinclude/Harold/harold-67.html\#harold-67 fails on solaris with build port-stage-aarch64
Reviewed-by: tbell
2015-02-17 16:53:41 +01:00
Jan Lahoda
0a57971dd9 8067445: New modular image-based file manager skips boot classes
Taking "sun.boot.class.path" system property into account when constructing bootclasspath for modular images.

Reviewed-by: jjg, mcimadamore
2015-02-17 15:39:05 +01:00
Staffan Larsen
f9c63b42ed 8025636: Hide lambda proxy frames in stacktraces
Reviewed-by: jrose, forax, jfranck, vlivanov
2015-02-17 10:09:26 +01:00
Lev Priima
a1d6f0cbcd 8073124: Tune test and document TimSort runs length stack size increase
Reviewed-by: dholmes
2015-02-16 19:16:50 -05:00
Rob McKenna
0ad8cc755b 8067846: (sctp) InternalError when receiving SendFailedNotification
Reviewed-by: chegar
2015-02-16 22:57:17 +00:00
Xueming Shen
1eb1419d72 8073152: Update Standard/ExtendedCharsets to work with module system
To reorganize the standard and extendec charset configuration during build time

Reviewed-by: alanb
2015-02-16 14:53:59 -08:00
Jesper Wilhelmsson
d7f5fccbc6 Merge 2015-02-16 21:24:39 +01:00
Alan Bateman
8104906db2 8068680: Move java.transaction to the ext class loader
Reviewed-by: lancea, mchung
2015-02-16 18:30:16 +00:00
Sergey Bylokhov
aa024f2afc 8039269: images/cursors should not be in ${java.home}/lib
Reviewed-by: mchung, alanb, erikj
2015-02-16 20:02:08 +03:00
Sergey Bylokhov
18975e3676 8039269: images/cursors should not be in ${java.home}/lib
Reviewed-by: mchung, alanb, erikj
2015-02-16 20:01:17 +03:00
Alejandro Murillo
5621c4a866 Merge 2015-02-16 08:47:40 -08:00
Alejandro Murillo
b56016b4fb Merge 2015-02-16 08:47:39 -08:00
Sangheon Kim
14916eab46 8073115: assert(_covered_region.contains(p)) needs better error messages
Changed to print out related values

Reviewed-by: jwilhelm, brutisso, stefank
2015-02-16 08:38:23 -08:00
Anton Nashatyrev
f149b6e2fd 8072676: [macosx] Jtree icon painted over label when scrollbars present in window
Reviewed-by: serb, alexsch
2015-02-16 19:10:05 +03:00
Srikanth Adayapalam
31b752c691 8073201: Incorrect @bug annotation in checkin for JDK-8069545
Reviewed-by: mcimadamore
2015-02-16 19:14:18 +05:30
Goetz Lindenmaier
a7edf52a02 8073315: Enable gcc -Wtype-limits and fix upcoming issues
Relevant fixes in blockOffsetTable.cpp, os_linux.cpp, parCardTableModRefBS.cpp.

Reviewed-by: jwilhelm, kbarrett, simonis
2015-02-16 14:07:36 +01:00
Maurizio Cimadamore
b91b333053 8071241: Investigate alternate strategy for type-checking operators
Separat operator lookup logic from overload resolution.

Reviewed-by: jjg, jlahoda, sadayapalam
2015-02-16 12:24:25 +00:00
Erik Joelsson
7208abd71e 8073166: Unable to successfully build the merge of jdk9/hs with jdk9/dev
Reviewed-by: alanb
2015-02-16 12:25:56 +01:00
Jaroslav Bachorik
9f4631e772 8072908: com/sun/management/OperatingSystemMXBean/TestTotalSwap.sh fails on OS X with exit code 2
Reviewed-by: dholmes, sla
2015-02-16 10:53:49 +01:00
Mario Torre
2400d1a6ee 8072905: Fix copyright year for test from JDK-8071705
Test was pushed with wrong copyright year

Reviewed-by: alexsch
2015-02-16 10:34:52 +01:00
Mark Sheppard
b5a98a12fe 8068682: Deprivilege/move java.corba to the ext class loader
Reviewed-by: alanb, mchung
2015-02-16 00:12:13 +00:00
Mark Sheppard
c717b07bc5 8068682: Deprivilege/move java.corba to the ext class loader
Reviewed-by: alanb, mchung
2015-02-16 00:10:42 +00:00
Prasanta Sadhukhan
f4fa68a2a7 8072678: Wrong exception messages in java.awt.color.ICC_ColorSpace
Reviewed-by: prr, serb
2015-02-14 21:05:41 +03:00
Chris Plummer
9604a593ee 8073167: Undo change to -retain argument in hotspot/test/Makefile
-retain:all changed back to -retain:fail,error

Reviewed-by: stefank
2015-02-14 08:53:57 -08:00
Christian Tornqvist
a72a716adf Merge 2015-02-14 00:03:48 +00:00
Christian Tornqvist
cdb714aeb5 Merge 2015-02-13 15:05:30 -08:00
Eric McCorkle
b014a7728f 8066725: javac produces classfiles it cannot read
Revert behavioral changes from 8029012 and 8065132

Reviewed-by: jfranck
2015-02-13 17:00:45 -05:00
Jiangli Zhou
9c5033338c Merge 2015-02-13 20:33:25 +00:00
Anthony Scarpino
ad70e04133 8022313: sun/security/pkcs11/rsa/TestKeyPairGenerator.java failed in aurora
Reviewed-by: mullan
2015-02-13 10:44:53 -08:00
Volker Simonis
137f134743 8072770: [TESTBUG] Some Introspector tests fail with a Java heap bigger than 4GB
Reviewed-by: serb
2015-02-13 19:14:44 +01:00
Daniel D. Daugherty
a9e28164eb 8061553: Contended Locking fast enter bucket
JEP-143/JDK-8061553 Contended Locking fast enter bucket

Co-authored-by: Dave Dice <dave.dice@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Reviewed-by: dholmes, acorn
2015-02-13 10:01:42 -08:00
Stefan Karlsson
4913ad5d7d 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Christian Tornqvist
700da67504 Merge 2015-02-13 05:17:57 -08:00
Christian Tornqvist
094674666c Merge 2015-02-13 05:17:41 -08:00
Katja Kantserova
3d3f6553c0 8073132: Eliminate ProcessTools.getProcessId dependency on sun.management.VMManagement
Reviewed-by: jbachorik, dfuchs, mchung
2015-02-13 13:17:13 +01:00
Thomas Stuefe
0d2c28e3b8 8072935: Fix missing newline at end of file after 8067447
Reviewed-by: dholmes, dlong
2015-02-13 06:23:48 -05:00
Paul Sandoz
a12ad15110 8069325: Pattern.splitAsStream does not return input if it is empty and there is no match
Reviewed-by: sherman
2015-02-13 11:13:30 +01:00
Paul Sandoz
4b2af9acf9 8071670: java.util.Optional: please add a way to specify if-else behavior
Reviewed-by: dfuchs, lowasser
2015-02-13 11:13:27 +01:00
Weijun Wang
3cb54779b0 8071338: Move policytool from JRE to JDK
Reviewed-by: alanb, erikj, ihse, mchung
2015-02-13 11:03:57 +08:00
Weijun Wang
351ed3d735 8071338: Move policytool from JRE to JDK
Reviewed-by: alanb, erikj, ihse, mchung
2015-02-13 11:03:13 +08:00
Jesper Wilhelmsson
0212ed173a Merge 2015-02-13 01:41:06 +01:00
Lana Steuck
25db70d299 Merge 2015-02-12 16:39:35 -08:00
Lana Steuck
06fb272637 Merge 2015-02-12 16:39:22 -08:00
Lana Steuck
86ab634dc1 Merge 2015-02-12 16:38:39 -08:00
Lana Steuck
9b5b4b60c3 Merge 2015-02-12 16:37:08 -08:00
Lana Steuck
b34ea60691 Merge 2015-02-12 16:36:53 -08:00
Lana Steuck
2bb41d2f62 Merge 2015-02-12 16:36:30 -08:00
David Katleman
a8f03a25b5 Added tag jdk9-b50 for changeset 51d0ef4e53e6 2015-02-12 16:23:30 -08:00
David Katleman
e8917c4867 Added tag jdk9-b50 for changeset 1ba2a6b0fd9f 2015-02-12 16:23:29 -08:00
David Katleman
036d9d38e7 Added tag jdk9-b50 for changeset d0f9f129c1f4 2015-02-12 16:23:25 -08:00
David Katleman
e4b28ccb36 Added tag jdk9-b50 for changeset f9362d750e69 2015-02-12 16:23:24 -08:00
David Katleman
8f6c7438b0 Added tag jdk9-b50 for changeset f8317f53f898 2015-02-12 16:23:24 -08:00
David Katleman
1a19291ca8 Added tag jdk9-b50 for changeset 70a5f7d7a66a 2015-02-12 16:23:21 -08:00
David Katleman
126debe100 Added tag jdk9-b50 for changeset 674362e1d111 2015-02-12 16:23:21 -08:00
David Katleman
e63e1780a0 Added tag jdk9-b50 for changeset 67486ff44b55 2015-02-12 16:23:20 -08:00
Kumar Srinivasan
0bbdf59743 8071836: javadoc fails as javadoc resource bundle not visible to com.sun.tools.javac.util.JavacMessages
Reviewed-by: jjg, mchung
2015-02-12 15:00:37 -08:00
Abhijit Saha
0236698692 Merge 2015-02-12 14:56:30 -08:00
Vladimir Ivanov
a1b368700b Merge 2015-02-12 13:55:54 -08:00
Vladimir Ivanov
75a181784a Merge 2015-02-12 13:55:05 -08:00
Brian Burkhalter
68ef8f6035 8068373: (prefs) FileSystemPreferences writes \0 to XML storage, causing loss of all preferences
Disallow entries whose key or value contains the null control character '\u0000' from being stored in the preferences node.

Reviewed-by: psandoz, rriggs
2015-02-12 12:56:48 -08:00
Joe Darcy
55f8f159ca 8075034: Bad javadoc tags in javax.xml.crypto.dsig
Reviewed-by: mullan
2015-03-12 09:39:48 -07:00
Magnus Ihse Bursie
e7472cc455 8074796: Disabling warnings on clang triggers compiler bug for libunpack
Reviewed-by: erikj
2015-03-12 16:25:24 +01:00
Erik Joelsson
acb7e7eccd 8074988: Reduce boilerplate in Setup* macro definitions
Reviewed-by: tbell, ihse
2015-03-12 12:13:48 +01:00
Mandy Chung
d7388dd061 8074993: policytool launcher missing
Reviewed-by: weijun
2015-03-11 08:33:12 -07:00
Jaroslav Bachorik
36e2265a17 Merge 2015-02-12 17:28:58 +00:00
Roger Riggs
5d4cdb23e5 8072034: (process) ProcessBuilder.start and Runtime.exec UnsupportedOperationException editorial cleanup
Reviewed-by: alanb
2015-02-12 12:06:36 -05:00
Jaroslav Bachorik
2c4a9ce20b 8072932: Test fails with java.security.AccessControlException: access denied ("java.security.SecurityPermission" "getDomainCombiner")
Reviewed-by: mullan
2015-02-12 17:01:10 +01:00
Attila Szegedi
8d084dc298 8072596: Arrays.asList results in ClassCastException with a JS array
Reviewed-by: lagergren, sundar
2015-02-12 16:43:33 +01:00
Lev Priima
892b06056c 8072909: TimSort fails with ArrayIndexOutOfBoundsException on worst case long arrays
Reviewed-by: rriggs, dholmes
2015-02-12 10:34:35 -05:00
Aleksei Efimov
d2cbbd335a 8071585: Update JAX-WS RI integration to latest version (2.2.11-b150127.1410)
Reviewed-by: alanb
2015-02-12 17:12:57 +03:00
Katja Kantserova
c7a16db145 8072856: Eliminate ProcessTools.getProcessId dependency on sun.management.VMManagement
Reviewed-by: jbachorik, dfuchs, mchung
2015-02-12 10:28:14 +01:00
Jaroslav Bachorik
103110ad85 8069286: Unexpected count of notification in LowMemoryTest
Reviewed-by: mchung
2015-02-12 08:33:47 +01:00
Srikanth Adayapalam
cb2a21c5a5 8069545: javac shouldn't check nested stuck lambdas during overload resolution
Nested lambdas should not be considered while overload resolution is in progress

Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: mcimadamore
2015-02-12 10:16:19 +05:30
Brian Burkhalter
14b8722c45 8066842: java.math.BigDecimal.divide(BigDecimal, RoundingMode) produces incorrect result
Replace divWord() with non-truncating alternatives

Reviewed-by: psandoz, darcy
2015-02-11 17:20:39 -08:00
Vivi An
b4ad645936 8068518: IllegalArgumentException in JTree.AccessibleJTree
Reviewed-by: alexsch, ptbrunet
2015-02-11 16:22:29 -08:00
Chris Plummer
0b5dffb337 8054888: Runtime: Add Diagnostic Command that prints the class hierarchy
Added the VM.class_hierarhcy DCMD

Reviewed-by: stefank, miauno
2015-02-11 15:22:43 -08:00
Daniel Fuchs
654c893170 8072482: Cleanup: In jvm.cpp and other shared files declaration of 64bits constants should use the CONST64/UCONST64 macros instead of the LL suffix
Reviewed-by: dholmes, coleenp
2015-02-11 17:41:55 +01:00
Marcus Larsson
20bfd4cf7c 8066566: Refactor ParNewGeneration to contain ParNewTracer
Reviewed-by: ehelin, kbarrett
2015-02-11 14:47:21 +01:00
Steve Sides
11ef4537fa 8044394: javadoc for BasicOptionPaneUI.addMessageComponents() has typo and grammar errors
Fix typos in javadoc of BasicOptionPaneUI.addMessageComponents()

Reviewed-by: alexsch, serb
2015-02-11 15:10:33 +03:00
Magnus Ihse Bursie
95c2f1d577 8072132: Filter out additional files when stripping
Reviewed-by: erikj, tbell
2015-02-11 09:20:29 +01:00
Magnus Ihse Bursie
a9b617a74b 8072732: Regression in configure due to JDK-8069057
Reviewed-by: erikj, tbell
2015-02-11 09:18:49 +01:00
Mario Torre
9c38d96e2e 8071705: Java application menu misbehaves when running multiple screen stacked vertically
JMenu miscalculates the position of the Popup origin when on multiple monitors stacked vertically

Reviewed-by: alexsch
2015-02-11 07:54:39 +01:00
Tom Benson
2c63608419 8065093: Remove unused variable/output argument
Remove total_reserved from GenCollectedHeap::initialize and ::allocate

Reviewed-by: tschatzl, kbarrett
2015-02-10 17:41:19 -05:00
Paul Sandoz
03d00d97a5 Merge 2015-02-10 22:22:36 +00:00
Tom Benson
89d88a42c4 8072056: Remove unnecessary header file #include
TenuredGeneration.cpp needlessly includes parGCAllocBuffer.hpp

Reviewed-by: tschatzl, kbarrett, jprovino
2015-02-10 15:44:42 -05:00
Paul Sandoz
c002e71565 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
2015-02-10 21:32:05 +01:00
Coleen Phillimore
8df6ac1794 8068451: Kitchensink fails with assert(_size >= sz) failed: Negative size
Need ThreadCritical lock around chunk pool cleaning and copying for snapshot

Reviewed-by: lfoltan, gtriantafill, hseigel
2015-02-10 15:10:47 -05:00
Alejandro Murillo
bdb9bc84c3 Merge 2015-02-10 10:09:31 -08:00
Paul Sandoz
cc1c11c366 Merge 2015-02-10 16:53:00 +00:00
Stefan Karlsson
c132a5a0a5 8072910: Move the g1EvacFailure.hpp implementation to g1EvacFailure.cpp
Reviewed-by: jwilhelm, tschatzl
2015-02-10 17:16:17 +01:00
Marcus Larsson
71cfff7df1 8066771: Refactor VM GC operations caused by allocation failure
Reviewed-by: brutisso, jmasa
2015-02-13 10:31:52 +01:00
Marcus Larsson
7727fe0044 8072621: Clean up around VM_GC_Operations
Reviewed-by: brutisso, jmasa
2015-02-13 09:48:49 +01:00
Harold Seigel
811df313ff 8072694: Need errno info when CDS archive creation fails
Add errno output to error message when CDS archive creation fails

Reviewed-by: dholmes, lfoltan
2015-02-10 09:25:00 -05:00
Paul Sandoz
a1d993e9ce 8068975: Remove deprecated methods on sun.misc.Unsafe and clean up native implementation
Reviewed-by: dholmes, kvn, vlivanov
2015-02-10 14:10:43 +01:00
Paul Sandoz
736e4a1146 8068975: Remove deprecated methods on sun.misc.Unsafe and clean up native implementation
Reviewed-by: dholmes, kvn, vlivanov
2015-02-10 14:10:32 +01:00
Erik Joelsson
24bc773808 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
Reviewed-by: ihse
2015-02-10 12:25:44 +01:00
Sergey Lugovoy
d1c194480f 8069182: Nightly test results are empty for targets test262/markdown/testjfx
Reviewed-by: sundar, lagergren
2015-02-10 13:10:07 +03:00
Johannes Scheerer
b856eeaa98 8072611: (process) ProcessBuilder redirecting output to file should work with long file names (win)
Reviewed-by: rriggs, simonis
2015-02-10 10:44:38 +01:00
Shaun Spiller
9807a1372d 8064562: (doc) errors in java.io.PushbackInputStream API documentation
Update the documentation as suggested to reflect reality.

Reviewed-by: lancea, rriggs
2015-02-11 07:40:43 -08:00
Erik Joelsson
28d199d088 8072834: jrt-fs.jar missing META-INF/services/java.nio.file.spi.FileSystemProvider
Reviewed-by: ihse
2015-02-11 09:59:30 +01:00
Rob McKenna
4c95aedcd9 8065553: Failed Java web start via IPv6 (Java7u71 or later)
Reviewed-by: xuelei
2015-02-10 23:32:48 +00:00
Joe Darcy
42d24e8ed5 8072843: Typo in the description of the j.l.r.Executable.getAnnotatedReceiverType
Reviewed-by: lancea
2015-02-10 11:34:13 -08:00
Alejandro Murillo
805200fc3e Merge 2015-02-10 10:09:33 -08:00
Amy Lu
3bf803f0c9 8069255: Suppress deprecation warnings in jdk.rmic module (jdk repo)
Reviewed-by: rriggs
2015-02-10 12:28:02 -05:00
Paul Sandoz
7c67f47c4d 8050819: Please add java.util.Stream.ofNullable(T object)
Reviewed-by: alanb, smarks
2015-02-10 11:18:51 +01:00
Athijegannathan Sundararajan
31d47aea0f 8068587: ScriptEngineFactory.getParameter() should specify NPE for a null key
Reviewed-by: alanb, lagergren
2015-02-10 14:44:33 +05:30
Joe Darcy
127d4e1aec 8069277: Doclint regression in java/security/KeyStore.java
Reviewed-by: weijun
2015-02-09 17:49:26 -08:00
Joe Darcy
0d5c151c94 8041395: Doclint regression in java.net.SocketOption
Reviewed-by: lancea
2015-02-09 15:33:56 -08:00
Florian Weimer
5c35079895 8069072: GHASH performance improvement
Eliminate allocations and vectorize

Reviewed-by: mullan, ascarpino
2015-02-09 13:32:42 -08:00
Xueming Shen
81f4c6102a 8030179: java/nio/Buffer/Chars.java, testcases seems all pass but jtreg/testng failed with java.lang.AssertionError
Fix the surrogate corner case in SingleByte charset encoder

Reviewed-by: psandoz, alanb
2015-02-09 11:37:56 -08:00
David Dehaven
8737b37ffc Merge 2015-02-09 09:52:48 -08:00
David Dehaven
cbd516739c Merge 2015-02-09 09:52:45 -08:00
Jesper Wilhelmsson
832b4db215 8072688: Description of flag ExplicitGCInvokesConcurrent should mention G1 as well
Changed to a more generic description.

Reviewed-by: mgerdin, tschatzl
2015-02-09 17:38:42 +01:00
Roland Westrelin
01716f18f3 8071821: Assert failed in UnexpectedDeoptimizationTest.java
Assert fires in case of concurrent initialization of ciInstanceKlass::_has_injected_fields

Reviewed-by: kvn
2015-02-09 13:45:59 +01:00
Roland Westrelin
e6ac3ca09e 8072016: Array copy may cause infinite cycle of deoptimization/compilation
Infinite deoptimization/recompilation cycles in case of arraycopy with tightly coupled allocation

Reviewed-by: kvn, vlivanov
2015-02-09 15:10:58 +01:00
Athijegannathan Sundararajan
13a7f3810a 8072752: Add regression tests for 8071678 and 8071594
Reviewed-by: hannesw, attila
2015-02-09 14:40:56 +05:30
Sergei Kovalev
f387f55093 8071811: gc/arguments/TestG1ConcRefinementThreads.java failed on Exception: java.lang.RuntimeException: Actual G1ConcRefinementThreads(0) is not equal to expected value(23)
Reviewed-by: jwilhelm, iignatyev
2015-02-09 09:51:12 +03:00
Mandy Chung
c8528fd410 8057645: Deprivilege JAX-WS, JAXB, JAF to extension class loader
Reviewed-by: alanb, dfuchs, lancea, mkos
2015-02-06 15:42:07 -08:00
Roger Riggs
8d8f34b9a6 8067800: Unexpected DateTimeException in the java.time.chrono.HijrahChronology.isLeapYear
Check the year range consistently with other Hijrah date years

Reviewed-by: lancea, scolebourne
2015-02-06 17:29:11 -05:00
Andrew Haley
182a191e07 8071947: AARCH64: frame::safe_for_sender() computes incorrect sender_sp value for interpreted frames
Apply the fix for 8068655 to the AArch64 sources.

Reviewed-by: kvn
2015-02-06 10:36:46 -08:00
Andrew Haley
978182d229 8072698: Add AArch64 support to hsdis
Reviewed-by: kvn
2015-02-06 10:21:46 -08:00
Andrew Haley
f60dba6c5f 8072053: AARCH64: remove src/java.base/unix/native/libjli/aarch64/jvm.cfg
Reviewed-by: kvn
2015-02-06 10:14:59 -08:00
Sergey Bylokhov
67c555e053 8063066: Some look and feels ignores the JSlider.PaintTrack property
Reviewed-by: ant, azvegint, alexsch
2015-02-06 19:49:20 +03:00
Brian Burkhalter
980fb58833 8072495: (fs) Path.relativize() gives incorrect result for empty path on Windows
Correct handling of empty path in Windows version of relativize()

Reviewed-by: alanb, dfuchs
2015-02-06 08:05:44 -08:00
Mikael Gerdin
685f6eb32e 8072693: [BACKOUT] GCCause should distinguish jcmd GC.run from System.gc()
Reviewed-by: jwilhelm, tschatzl
2015-02-06 16:24:25 +01:00
Athijegannathan Sundararajan
2f101d122b 8071989: NashornScriptEngine returns javax.script.ScriptContext instance with insonsistent get/remove methods behavior for undefined attributes
Reviewed-by: attila, lagergren
2015-02-06 19:28:26 +05:30
Roland Westrelin
a967f754a2 8071999: SA's buildreplayjars fail with exception
Support default methods when dumping classes in SA

Reviewed-by: vlivanov, kvn, dsamersoff
2015-02-06 13:50:44 +01:00
Magnus Ihse Bursie
283b6c7fbc 8071767: Improve names and dependencies for image targets
Co-authored-by: Ingemar Aberg <ingemar.aberg@oracle.com>
Reviewed-by: ihse, erikj, dholmes
2015-02-06 12:46:59 +01:00
Magnus Ihse Bursie
8450ccc371 8072106: Properly handle dependencies for deleted header files
Reviewed-by: erikj
2015-02-06 12:37:31 +01:00
Erik Joelsson
c9bf298a67 8071329: Stop exporting INCLUDE and LIB when building on windows
Reviewed-by: ihse
2015-02-06 09:57:28 +01:00
Erik Joelsson
c0277e17c9 8071329: Stop exporting INCLUDE and LIB when building on windows
Reviewed-by: ihse
2015-02-06 09:56:30 +01:00
Weijun Wang
ee2ba7946a 8072615: test/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java wrong on Windows
Reviewed-by: xuelei
2015-02-06 11:38:29 +08:00
Lana Steuck
c45c18ee1a Merge 2015-02-05 15:45:17 -08:00
Lana Steuck
3a5a821349 Merge 2015-02-05 15:44:57 -08:00
Lana Steuck
4cc06ec416 Merge 2015-02-05 15:44:19 -08:00
Lana Steuck
77709e9fba Merge 2015-02-05 15:43:20 -08:00
Lana Steuck
d0aae9c2a0 Merge 2015-02-05 15:42:09 -08:00
Lana Steuck
348b90c794 Merge 2015-02-05 15:41:43 -08:00
Alejandro Murillo
b49ef0ce12 Merge 2015-02-05 14:57:53 -08:00
Alejandro Murillo
7d4ea26916 Merge 2015-02-05 14:57:52 -08:00
Andrew Haley
86e7982c2c 8072483: AARCH64: aarch64.ad uses the wrong operand class for some operations
Use iReg<X>NoSp registers operands where required.

Reviewed-by: kvn, adinn, enevill
2015-02-05 11:47:33 -08:00
David Katleman
125aff9d19 Added tag jdk9-b49 for changeset bdc353778a28 2015-02-05 11:43:38 -08:00
David Katleman
a52924200a Added tag jdk9-b49 for changeset ac59fe6cd98f 2015-02-05 11:43:37 -08:00
David Katleman
0ea4df7b6c Added tag jdk9-b49 for changeset 6e8154707178 2015-02-05 11:43:33 -08:00
David Katleman
5d5585acd9 Added tag jdk9-b49 for changeset abeda3261f92 2015-02-05 11:43:32 -08:00
David Katleman
6680f97794 Added tag jdk9-b49 for changeset f9e5640d832e 2015-02-05 11:43:32 -08:00
David Katleman
00fa5a044f Added tag jdk9-b49 for changeset 08067f67dde0 2015-02-05 11:43:29 -08:00
David Katleman
e58a6b0ce9 Added tag jdk9-b49 for changeset 6a22230c068f 2015-02-05 11:43:29 -08:00
David Katleman
5184f0183b Added tag jdk9-b49 for changeset dd613dc718a1 2015-02-05 11:43:28 -08:00
Maurizio Cimadamore
dbe88a2ef1 8072445: tools/javac/lambda/MethodReference55.java fails across platforms
Remove copyright from test header

Reviewed-by: jlahoda
2015-02-05 18:51:09 +00:00
Hannes Wallnöfer
3f9c2f13ee 8072626: Test for JDK-8068872 fails in tip
Reviewed-by: lagergren, jlaskey
2015-02-05 16:26:36 +01:00
Erik Joelsson
b81e35ebff 8072107: New dependency introduced by deploy.dll and awt.dll (msvcp100.dll)
Reviewed-by: ihse
2015-02-05 14:55:30 +01:00
Hannes Wallnöfer
0e498bf1aa 8068872: Nashorn JSON.parse drops numeric keys
Reviewed-by: attila, lagergren
2015-02-05 14:47:28 +01:00
Hannes Wallnöfer
d4e6353375 8062141: Various performance issues parsing JSON
Reviewed-by: lagergren, attila
2015-02-05 14:42:14 +01:00
Athijegannathan Sundararajan
2d266be7f6 8072595: nashorn should not use obj.getClass() for null checks
Reviewed-by: hannesw, attila
2015-02-05 19:08:00 +05:30
Staffan Larsen
4ce8ee0253 8072458: jdk/test/Makefile references (to be removed) win32 directory in jtreg
Reviewed-by: alanb
2015-02-05 13:00:26 +01:00
Staffan Larsen
80a1d2bba8 8072456: @since tags missing from TimeUnit
Reviewed-by: alanb, martin
2015-02-05 12:59:01 +01:00
Aleksei Efimov
61473e39ce 8072042: (tz) Support tzdata2015a
Reviewed-by: coffeys, okutsu
2015-02-05 14:48:57 +03:00
Jesper Wilhelmsson
ad23789419 Merge 2015-02-05 12:23:29 +01:00
Shanliang Jiang
fa9a534731 8065213: Specify and implement PlatformMBeanProvider for looking for all platform MBeans
Reviewed-by: dfuchs, mchung, jbachorik
2015-02-05 12:13:45 +01:00
Weijun Wang
d63bf0c50a 8071643: sun.security.krb5.KrbApReq.authenticate() is not thread safe
Reviewed-by: mullan
2015-02-05 11:42:39 +08:00
Christian Tornqvist
f95f9bd5d1 Merge 2015-02-04 18:23:09 -08:00
Christian Tornqvist
edbc932bc7 Merge 2015-02-04 18:22:46 -08:00
Alexander Harlap
3e2dcfd880 8067460: G1: TestResourceManagementFlagWithCommercialBuild.java failed on embedded platform
Added extension point to detect unsupported options

Reviewed-by: dholmes, bdelsart
2015-02-04 13:14:27 -05:00
Daniel Fuchs
13c456e099 8072450: 9-dev build failed on elinux-i586 and rlinux-i586
Added LL suffix to constant declaration

Reviewed-by: dholmes, coleenp, sla
2015-02-04 17:12:03 +01:00
Joseph Provino
00d9c7a2d1 8071805: BarrierSet::Other is not used and should be removed
Remove all occurences of BarrierSet::Other because the barrier set kind is never set to Other.

Reviewed-by: tschatzl, kbarrett
2015-02-04 10:18:28 -05:00
Yasumasa Suenaga
3e6220b1ab 8068589: GCCause should distinguish jcmd GC.run from System.gc()
GCCause which is caused by GC.run diagnostic command should be different from System.gc() .

Reviewed-by: sla, tamao
2015-02-04 22:21:08 +09:00
Mandy Chung
e0a39dc574 8069551: Move java.security.acl from compact3 to java.base
Reviewed-by: alanb, mullan, wetmore
2015-02-03 14:09:25 -08:00
Mandy Chung
37a1a74efd 8069551: Move java.security.acl from compact3 to java.base
Reviewed-by: alanb, mullan, wetmore
2015-02-03 14:09:20 -08:00
Mandy Chung
778c94c9f3 8069551: Move java.security.acl from compact3 to java.base
Reviewed-by: alanb, mullan, wetmore
2015-02-03 14:08:55 -08:00
Roger Riggs
ddb472a4dc 8068278: ArrayIndexOutOfBoundsException instead of DateTimeException in j.t.chrono.JapaneseChronology.eraOf()
Corrected era range check

Reviewed-by: mchung, lancea
2015-02-03 14:39:57 -05:00
Kumar Srinivasan
bb5e8afcf2 8068033: JNI exception pending in jdk/src/share/bin/java.c
Reviewed-by: mchung, serb
2015-02-03 09:49:27 -08:00
Alejandro Murillo
004b407992 Merge 2015-02-03 08:45:07 -08:00
Jaroslav Bachorik
d9fe0af048 8066708: JMXStartStopTest fails to connect to port 38112
Reviewed-by: smarks, dsamersoff, olagneau
2015-02-03 16:46:05 +01:00
Stefan Johansson
dc5a35154d 8069034: gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java nightly failure
When checking for humongous objects to reclaim, we dirty cards that might belong to freed regions. Fixed by checking the region before dirtying.

Reviewed-by: tschatzl, brutisso
2015-02-03 15:50:06 +01:00
Mikael Auno
a0057ef650 8072405: [TESTBUG] DCMD tests needs at least compact3 profile
Reviewed-by: jbachorik, sla
2015-02-03 12:49:33 +01:00
Mikael Auno
5ae2ec81e7 8072403: [TESTBUG] HeapDumpTest and HeapDumpAllTest fails to find jhat in non-JDK runs
Reviewed-by: jbachorik, sla
2015-02-03 12:49:13 +01:00
Mikael Auno
eb67830333 8072401: [TESTBUG] Some of the newly added DCMD tests fail due to lack of -XX:+UsePerfData
Reviewed-by: jbachorik, sla
2015-02-03 12:26:40 +01:00
Joe Darcy
4f6e5d902d 8072371: Add two failing svc tests to the problem list
Reviewed-by: lancea
2015-02-02 16:35:10 -08:00
Frederic Parain
2cbdd33aed Merge 2015-02-02 21:19:39 +00:00
Jan Lahoda
3aff88ae3b 8072054: Cannot build langtools if checked-out in a directory ending with \"com\"
Making sure a proper package name is used when generating Properties classes

Reviewed-by: mcimadamore
2015-02-02 21:53:36 +01:00
Joe Darcy
887b823a0d 8072135: Add javax/xml/ws/8046817/GenerateEnumSchema.java to the problem list
Reviewed-by: rriggs
2015-02-02 12:35:18 -08:00
Ed Nevill
db7a37cee0 8072129: [AARCH64] missing fix for 8066900
Add 8066900 fix to arm64 code.

Reviewed-by: kvn
2015-02-02 11:29:37 -08:00
Alexander Zvegintsev
47d0ae0d36 8072088: [PIT] NPE in DnD tests apparently because of the fix to JDK-8061636
Reviewed-by: ant, prr, serb
2015-02-02 21:38:19 +03:00
Sergey Bylokhov
3cd8a07dc7 8062738: Test java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug fails in Windows
Reviewed-by: azvegint, ant
2015-02-05 16:16:46 +03:00
Sergey Bylokhov
d32000a710 4952954: abort flag is not cleared for every write operation for JPEG ImageWriter
Reviewed-by: bae, prr
2015-02-05 14:20:05 +03:00
Phil Race
9ea6ddb851 8072433: copy/paste duplicated tests in some condition statements
Reviewed-by: bae, serb
2015-02-04 10:29:51 -08:00
Phil Race
a75613049b 6243376: JPEGImageWriter corrupts color for non-JFIF images with differing sample factor
Reviewed-by: bae, serb
2015-02-04 10:28:40 -08:00
Phil Race
cec84ed1f2 8072116: [Solaris] : Fix for 8071710 needs to be updated for build dependency checking
Reviewed-by: ihse
2015-02-03 09:28:21 -08:00
Dmitry Markov
5a65a2cc13 8064934: Incorrect Exception message from java.awt.Desktop.open()
Reviewed-by: azvegint, serb
2015-02-03 11:51:30 +04:00
Jiangli Zhou
63b331bba7 Merge 2015-02-02 13:10:27 -05:00
Frederic Parain
788217a445 8068655: frame::safe_for_sender() computes incorrect sender_sp value for interpreted frames
Reviewed-by: dcubed, coleenp, bdelsart
2015-02-02 18:20:14 +01:00
Sergey Bylokhov
afa1e6d670 8015085: [macosx] Label shortening via " ... " broken when String contains combining diaeresis
Reviewed-by: alexsch, azvegint
2015-02-02 18:21:24 +03:00
Srikanth Adayapalam
74f6de6859 8069265: ClassCastException when compiled with JDK 9b08+, JDK8 compiles OK
Alternate fix for 8015499 to eliminate extra checkcast (by working around a limitation in Types#asSuper) without the side effect that results in 8069265

Reviewed-by: mcimadamore, jjg
2015-02-02 18:52:16 +05:30
Paul Sandoz
c007f0f7d4 8072030: Race condition in ThenComposeExceptionTest.java
Reviewed-by: chegar
2015-02-02 14:21:32 +01:00
Paul Sandoz
dd21d2c4db 8050820: Please add java.util.Optional.stream() to convert Optional<T> to Stream<T>
Reviewed-by: alundblad, forax, chegar, jrose
2015-02-02 14:19:12 +01:00
Paul Sandoz
3b9021981f 8059324: orElseThrow has different signatures for OptionalPrimitive and Optional<T>
Reviewed-by: lancea, chegar
2015-02-02 14:19:00 +01:00
Paul Sandoz
8aae81b484 8048689: Clarify documentation on BaseStream.spliterator
Reviewed-by: lancea, chegar
2015-02-02 14:18:54 +01:00
Jesper Wilhelmsson
9cc24cf76e Merge 2015-02-02 13:57:38 +01:00
Thomas Schatzl
ba4a04aa05 8069760: When iterating over a card, G1 often iterates over much more references than are contained in the card
Properly bound the iteration work for objArray-oops.

Reviewed-by: mgerdin, kbarrett
2015-02-02 10:38:39 +01:00
Alexander Kulyakthin
5eb21ad94f 8071464: Clear up SVC jdk/test/* JRE layout dependencies other than those on tools.jar
Reviewed-by: sla
2015-02-02 09:37:53 +01:00
Dean Long
8a65f6962b Merge 2015-01-31 02:42:15 -05:00
Frank Yuan
1b0daecb26 8051710: Convert JAXP function tests: javax.xml.jaxp14.* to jtreg (testng) tests
Reviewed-by: lancea, joehw
2015-01-30 19:10:29 -08:00
Jiangli Zhou
dc9bb3c201 8071962: The SA code needs to be updated to support Symbol lookup from the shared archive
Support shared symbols lookup.

Reviewed-by: minqi, sspitsyn, dsamersoff, iklam
2015-01-30 20:31:05 -05:00
Frank Yuan
ffe5a2e589 8051709: Convert JAXP function tests: javax.xml.datatype to jtreg (testng) tests
Reviewed-by: lancea
2015-01-30 17:07:53 -08:00
Alejandro Murillo
e9c6fa1317 Merge 2015-01-30 16:56:08 -08:00
Alejandro Murillo
e9af52deeb Merge 2015-01-30 16:56:05 -08:00
Alejandro Murillo
93cc7a9273 Merge 2015-01-30 16:56:03 -08:00
Sonali Goel
b523cb6aaa 8071629: Write new test to test -j switch
Reviewed-by: jjg
2015-01-30 14:59:47 -08:00
Roger Riggs
24a3c49404 8068284: Missing @throws in DateTimeFormatterBuilder.appendOffset
8068285: Missing @throws in DateTimeFormatterBuilder.appendInstant
8062803: 'principal' should be 'principle' in java.time package description
8062796: java.time.format.DateTimeFormatter error in API doc example

Reviewed-by: lancea, mchung
2015-01-30 16:13:57 -05:00
Roger Riggs
0854df7b86 8055330: (process spec) ProcessBuilder.start and Runtime.exec should throw UnsupportedOperationException on platforms that don't support
Clarify optional behavior and the exception thrown when not supported

Reviewed-by: dfuchs, martin
2015-01-30 16:13:04 -05:00
Brian Burkhalter
2a8d5c46e1 6880737: (fs) FileLock constructors don't throw NPE if the channel argument is null
Throw IllegalArgumentException if the channel parameter is null

Reviewed-by: alanb
2015-01-30 12:56:12 -08:00
Mikael Auno
2f12527848 8071908: Port internal Diagnostic Command tests and test framework to jtreg
Reviewed-by: jbachorik, egahlin, ykantser, mtobiass
2015-01-30 20:00:57 +01:00
Mikael Auno
353ca5002c 8071909: Port testlibrary improvments in jdk/test to hotspot/test as required for DCMD test port
Reviewed-by: jbachorik, egahlin, ykantser, mtobiass
2015-01-30 20:20:11 +01:00
Yumin Qi
07acd9a05e Merge 2015-01-30 10:52:25 -08:00
Brian Burkhalter
c2fe1ca470 8067669: Documentation for methods in Number incomplete regarding too large values
Remove statments about rounding and truncation from the *Valud() methods

Reviewed-by: rriggs, darcy, alundblad
2015-01-30 10:23:45 -08:00
Roland Westrelin
43bcdf4017 8071533: assert(n0->is_Call()) failed: expect a call here
Remove_dead_region() call missing from ArrayCopyNode::Ideal()

Reviewed-by: kvn, vlivanov
2015-01-30 15:23:41 +01:00
Pavel Chistyakov
fb0bdf6a4b 8068003: compiler/whitebox/DeoptimizeFramesTest.java fails: compilation 48 can't be available
Disabled DeoptimizeALot for test runs

Reviewed-by: kvn
2015-01-30 20:45:18 +03:00
Zoltan Majo
a25fe37e17 8072398: assert fails in L1RGenerator::increment_event_counter_impl
Change scaling code to allow scaling with 0.0; change set_tiered_flags() to treat CompileThresholdScaling==0.0 in a special way.

Reviewed-by: kvn, iveresov
2015-02-06 18:16:55 +01:00
Attila Szegedi
73d940848b 8072000: New compiler warning after JDK-8067139
Reviewed-by: hannesw, sundar
2015-01-30 15:03:56 +01:00
Goetz Lindenmaier
d4d8ef4585 8071996: split_if accesses NULL region of ConstraintCast
Reviewed-by: kvn
2015-01-30 12:53:56 +01:00
Albert Noll
18ccddbb82 Merge 2015-02-03 09:56:21 +00:00
Albert Noll
c5bb133c68 8068440: Test6857159.java times out
Replace shell script with Java-only code

Reviewed-by: kvn, iignatyev
2015-02-03 10:30:16 +01:00
Dean Long
0682d29b8f 8069030: support new PTRACE_GETREGSET
Use PTRACE_GETREGSET if other options are not available

Reviewed-by: sla, dholmes
2015-02-02 23:26:33 -05:00
Tobias Hartmann
2b99947be1 Merge 2015-02-02 14:35:24 +00:00
Tobias Hartmann
87ac24f1e2 8071995: compiler/codecache/jmx/InitialAndMaxUsageTest.java fails with large pages
Disable large page usage for test.

Reviewed-by: kvn
2015-02-02 15:19:24 +01:00
Dean Long
5b196d9525 Merge 2015-01-31 02:42:13 -05:00
Vladimir Kozlov
1e85e321f9 8071534: assert(!failing()) failed: Must not have pending failure. Reason is: out of memory
Add missing C->failing() check after Connection graph construction.

Reviewed-by: iveresov
2015-01-30 10:27:50 -08:00
Albert Noll
8a42e92446 Merge 2015-01-30 15:36:29 +00:00
Albert Noll
5e8a30526d Merge 2015-01-30 14:35:37 +00:00
Albert Noll
a32f9adb0f 8071906: Quarantine OverloadCompileQueueTest until the reason for timeout is known
Quarantine OverloadCompileQueueTest until the reason for timeout is known

Reviewed-by: kvn
2015-01-30 15:20:45 +01:00
Tobias Hartmann
7d34206cdb Merge 2015-01-30 13:31:54 +00:00
Shobhit Gupta
7c658a7610 8068301: [TEST_BUG] Test javax/swing/JColorChooser/Test4177735.java fails with ArrayIndexOutOfBoundsException with GTKL&F
Reviewed-by: alexsch, azvegint
2015-01-30 13:27:33 +03:00
Zoltan Majo
883d349e17 8071818: Incorrect addressing mode used for ldf in SPARC assembler
Update MacroAssembler::ldf to select addressing mode depending on Address parameter.

Reviewed-by: kvn, dlong
2015-01-30 10:40:08 +01:00
Katja Kantserova
8563f899e6 8071784: serviceability/attach/AttachWithStalePidFile.java should be quarantined
Reviewed-by: sla, jbachorik
2015-01-30 09:32:23 +01:00
Katja Kantserova
45a6ed8315 8068613: Wrong number of objects pending finalization start
Repeat until expected result, instead of fail after sleep()

Reviewed-by: sla
2015-01-30 09:31:18 +01:00
Jaroslav Bachorik
2989b5405d 8071641: java/lang/management/ThreadMXBean/SynchronizationStatistics.java intermittently failed with NPE
Reviewed-by: sjiang, dfuchs
2015-01-30 22:01:32 +01:00
Christian Tornqvist
62166e9f59 8071584: [TESTBUG] runtime/Unsafe/AllocateMemory.java crashed on OOM during compilation
Reviewed-by: dholmes, gtriantafill, jprovino
2015-01-29 14:50:43 -08:00
Coleen Phillimore
d57245dcbb 8049632: JDK 1.8.0 b132 :Linux x64 : Crash in ClassFileParser::copy_localvariable_table(..)
Use resource allocated hashtable for local variable table checking

Reviewed-by: kamg, sspitsyn
2015-01-29 14:37:14 -05:00
Vladimir Ivanov
55d14bca62 8071788: BlockInliningWrapper.asType() is broken
Reviewed-by: jrose
2015-01-29 10:29:49 -08:00
Vladimir Ivanov
676ea83240 8071787: Don't block inlining when DONT_INLINE_THRESHOLD=0
Reviewed-by: jrose
2015-01-29 10:29:43 -08:00
Vladimir Ivanov
bfc5193fe7 8069591: Customize LambdaForms which are invoked using MH.invoke/invokeExact
Reviewed-by: jrose, plevart, forax
2015-01-29 10:27:30 -08:00
Vladimir Ivanov
06305c456b 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
2015-01-29 10:27:30 -08:00
Vladimir Ivanov
efd80ec6af 8068915: uncommon trap w/ Reason_speculate_class_check causes performance regression due to continuous deoptimizations
Reviewed-by: kvn, roland, jrose
2015-01-29 10:26:02 -08:00
Vladimir Ivanov
7227e9ba53 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
2015-01-29 10:25:59 -08:00
Zoltan Majo
49282c3927 8071654: disassembler handles embedded OOPs not uniformly
Remove (currently dead) code that prints oops within disassembled instructions.

Reviewed-by: kvn, thartmann, roland
2015-01-29 19:16:47 +01:00
Phil Race
8717474863 8071710: [solaris] libfontmanager should be linked against headless awt library
Reviewed-by: ihse, erikj
2015-01-29 09:34:05 -08:00
Serguei Spitsyn
8be0bb5458 8008678: JSR 292: constant pool reconstitution must support pseudo strings
Keep orig idx from pseudo-string to UTF8, use 2nd lsb CPSlot to mark pseudo-string.

Reviewed-by: coleenp, jrose
2015-01-29 03:11:01 -08:00
Shobhit Gupta
8dd67e7459 8068292: [TEST_BUG] Test javax/swing/JLayer/6824395/bug6824395.java fails with -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Reviewed-by: alexsch, azvegint
2015-01-29 14:03:23 +03:00
Kim Barrett
1a1ddd0d4b 8068942: Improve validation of -XX:G1ConfidencePercent value
Validate during argument processing and simplify usage by assuming validated.

Reviewed-by: jmasa, tschatzl
2015-01-29 00:08:38 -05:00
Claes Redestad
155c09ca6b 8069273: Decrease Hot Card Cache Lock contention
Reviewed-by: tschatzl, mgerdin
2015-01-29 15:05:25 +01:00
Yumin Qi
3f9b8313e3 Merge 2015-01-29 03:54:45 +00:00
Yumin Qi
49d48d3c4a Merge 2015-01-29 03:54:44 +00:00
Yumin Qi
14006687ea Merge 2015-01-29 01:13:14 +00:00
Yumin Qi
d843d8fd70 Merge 2015-01-29 01:13:14 +00:00
Daniel Fuchs
967c448681 8068730: Increase the precision of the implementation of java.time.Clock.systemUTC()
Changes the implementation of java.time.Clock.systemUTC() to take advantage of the maximum resolution of the underlying native clock on which System.currentTimeMillis() is based.

Reviewed-by: dholmes, rriggs, scolebourne, sla
2015-01-28 17:52:48 +01:00
Daniel Fuchs
b5f5424c83 8068730: Increase the precision of the implementation of java.time.Clock.systemUTC()
Changes the implementation of java.time.Clock.systemUTC() to take advantage of the maximum resolution of the underlying native clock on which System.currentTimeMillis() is based.

Reviewed-by: dholmes, rriggs, scolebourne, sla
2015-01-28 17:48:59 +01:00
David Dehaven
8a1e007ca8 Merge 2015-01-28 08:14:18 -08:00
David Dehaven
c0190983ad Merge 2015-01-28 08:14:14 -08:00
Katja Kantserova
f6d01b3697 8071545: Tests are still excluded while the appropriate bug has been fixed
Reviewed-by: sspitsyn, sla
2015-01-28 09:27:49 +01:00
Katja Kantserova
04d8bf6c33 8071582: com/sun/jdi/GetLocalVariables4Test.sh should be quarantined
Reviewed-by: sspitsyn, sla
2015-01-28 09:23:41 +01:00
Tobias Hartmann
ad9c86bc97 8064940: JMH javac performance regressions on solaris-sparcv9 in 9-b34
Aligning code heap sizes to large page size if supported.

Reviewed-by: kvn, anoll
2015-01-28 07:55:27 +01:00
Yumin Qi
7feb08a6b4 Merge 2015-01-27 20:03:45 -08:00
Yumin Qi
3bbda04f98 Merge 2015-01-27 20:02:35 -08:00
Andrew Haley
610bd6ba34 8071688: AARCH64: SIGSEGV in MethodData::next_data(ProfileData*)
Apply the fix for 8039975 to the AArch64 sources.

Reviewed-by: kvn, roland
2015-01-27 20:49:11 +01:00
Dean Long
fb0b5b0159 Merge 2015-01-27 13:58:55 -05:00
Joseph Provino
3bd08574dc 8064947: Clean up BarrierSet ctor/dtor
Make abstract base call contructors protected and require a "kind" argument.

Reviewed-by: jmasa, jwilhelm
2015-01-27 13:50:31 -05:00
David Dehaven
ce3df66ec2 Merge 2015-01-27 09:32:45 -08:00
David Dehaven
b80c23b28f Merge 2015-01-27 09:32:37 -08:00
Christian Tornqvist
fa47cc3e21 8071530: Update OS detection code to reflect Windows 10 version change
Reviewed-by: sla, mgronlun
2015-01-27 05:51:00 -08:00
Alejandro Murillo
7f85449292 Merge 2015-01-26 17:00:39 -08:00
Alejandro Murillo
71a6555ee3 Merge 2015-01-26 17:00:39 -08:00
Alejandro Murillo
a7ed773b2d Merge 2015-01-26 17:00:38 -08:00
Serguei Spitsyn
4326ee324a 8068162: jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Adjust Unsafe methods in the itable/vtable if Unsafe is redefined

Reviewed-by: coleenp, dcubed
2015-01-26 15:51:28 -08:00
Serguei Spitsyn
3de0140a88 8068162: jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Enable the test: java/lang/instrument/IsModifiableClassAgent.java

Reviewed-by: coleenp, dcubed
2015-01-26 15:46:47 -08:00
Ed Nevill
9682ac5e3a 8071563: AARCH64 staging fail to build
Fixed build problem after merge 8064457 changes.

Reviewed-by: kvn, goetz
2015-01-26 09:50:48 -08:00
Pavel Chistyakov
fb6e6379b0 8069125: compiler/codecache/stress tests timeout in nightlies
Added timeout between one of test threads iterations, adjusted hole test execution time

Reviewed-by: kvn
2015-01-26 19:01:50 +03:00
Pavel Chistyakov
28c5919585 8066998: [TESTBUG] compiler/whitebox/ForceNMethodSweepTest.java : sweep shouldn't increase usage
Disable background compilation

Reviewed-by: kvn
2015-01-26 18:59:09 +03:00
Sergey Bylokhov
deeb4faa80 8069015: Re-examine Solaris/Linux java.desktop dependency on java.logging
Reviewed-by: azvegint, ant
2015-01-26 16:32:47 +03:00
Katja Kantserova
1d41a44b78 8071324: com/sun/jdi/ConnectedVMs.java should be quarantined
Reviewed-by: sla
2015-01-26 13:50:53 +01:00
Zoltan Majo
1da8218179 8071312: compiler/arguments/CheckCompileThresholdScaling.java fails
Change the way VM handles CompileThresholdScaling==0, update test

Reviewed-by: kvn, drchase, fzhinkin
2015-01-26 10:43:42 +01:00
Alexander Zvegintsev
cfe8daa596 8071483: Possible case-folding collision for color/Color subdirectories of jdk/test/java/awt/
Reviewed-by: rriggs, serb
2015-01-26 12:37:20 +03:00
Erik Helin
be4035c60a 8030646: track collection set membership in one place
Reviewed-by: tschatzl, jwilhelm
2015-01-26 10:32:35 +01:00
Mattias Tobiasson
04474d85c1 8044419: TEST_BUG: com/sun/jdi/JdbReadTwiceTest.sh fails when run under root
Reviewed-by: dsamersoff, sla
2015-01-26 08:52:46 +01:00
Phil Race
fda56d3c54 8064833: [macosx] Native font lookup uses family+style, not full name/postscript name
Reviewed-by: bae, serb
2015-01-25 15:53:46 -08:00
Dean Long
b7eaaba943 8031064: build_vm_def.sh not working correctly for new build cross compile
Move nm and awk code into vm.make

Reviewed-by: dsamersoff, dholmes
2015-01-23 22:39:24 -05:00
Alexander Kulyakthin
167de7ae02 8067945: SVC jdk/test/* should be cleaned from JRE layout dependency
Reviewed-by: sla
2015-01-23 14:20:52 +01:00
Sergey Bylokhov
d34b9b430c 7185221: [macosx] Regtest should not throw exception if a suitable display mode found
Reviewed-by: azvegint, ant
2015-01-23 13:47:46 +03:00
Igor Veresov
82cedcaad3 Merge 2015-01-22 21:02:24 +00:00
Igor Veresov
903cbcb4df 8071302: assert(!_reg_node[reg_lo] || edge_from_to(_reg_node[reg_lo], def)) failed: after block local
Add merge nodes to node to block mapping

Reviewed-by: kvn, vlivanov
2015-01-22 11:25:23 -08:00
Mikhail Cherkasov
00949632cd 8065709: Deadlock in awt/logging apparently introduced by 8019623
Reviewed-by: ant, serb
2015-01-22 17:42:17 +04:00
Nils Eliasson
a43e328b4a 8069035: compiler/oracle/CheckCompileCommandOption.java nightly failure
Fixed whitespace handling and added test cases

Reviewed-by: kvn, anoll, zmajo
2015-01-22 11:23:13 +01:00
Nils Eliasson
01ec695002 8069389: CompilerOracle prefix wildcarding is broken for long strings
Replace strcpy with memmove

Reviewed-by: kvn
2015-01-22 11:05:14 +01:00
Tobias Hartmann
21e2e5ffc0 8069580: String intrinsic related cleanups
Small cleanup of string intrinsic related code.

Reviewed-by: kvn, roland
2015-01-22 09:07:41 +01:00
Andrew Haley
b6546c2b92 8069593: Changes to JavaThread::_thread_state must use acquire and release
Reviewed-by: kvn, dlong
2015-01-21 14:38:48 -08:00
David Dehaven
de2c792b35 Merge 2015-01-21 12:00:07 -08:00
David Dehaven
c185d7e8d4 Merge 2015-01-21 12:00:04 -08:00
Sergey Bylokhov
c604e674ee 7056797: The test failed automatically,because throw a ArrayIndexOutOfBoundsException
Reviewed-by: azvegint, alexsch
2015-01-21 18:04:49 +03:00
Sergey Bylokhov
dedd4de23f 6459798: JDesktopPane,JFileChooser violate encapsulation by returning internal Dimensions
Reviewed-by: azvegint, alexsch
2015-01-21 17:54:35 +03:00
Katja Kantserova
8e93b53e3e 8069296: java/lang/management/MemoryMXBean/LowMemoryTest.java should be quarantined
Reviewed-by: sla
2015-01-21 15:06:31 +01:00
Vladimir Kozlov
5f8d6ce7b6 Merge 2015-01-20 15:24:58 -08:00
Vladimir Kozlov
d81378c7ff Merge 2015-01-20 15:22:24 -08:00
Vladimir Kozlov
c18ded414f Merge 2015-01-20 15:22:10 -08:00
Andrew Haley
117205a41f 8068053: AARCH64: C1 and C2 compilers
Add src/cpu/aarch64/vm/* C1 and C2 files

Reviewed-by: kvn, roland
2015-01-20 12:47:43 -08:00
Andrew Haley
9c458decf5 8068054: AARCH64: Assembler interpreter, shared runtime
Add src/cpu/aarch64/vm/* interpreter, shared runtime files.

Reviewed-by: kvn, roland, coleenp, twisti
2015-01-20 11:34:17 -08:00
Anton Nashatyrev
84db836cfc 8068283: Mac OS Incompatibility between JDK 6 and 8 regarding input method handling
Reviewed-by: ant, kizune
2015-01-20 19:26:14 +03:00
Sergey Bylokhov
6d309ec560 6515713: example in JFormattedTextField API docs instantiates abstract class
Reviewed-by: azvegint, alexsch
2015-01-20 17:01:18 +03:00
Filipp Zhinkin
1249ca93f9 8069126: compiler/rtm/locking/TestRTMTotalCountIncrRate.java nightly failure
Reviewed-by: kvn
2015-01-20 11:26:20 +03:00
Sergey Bylokhov
d4887f8b66 8066132: BufferedImage::getPropertyNames() always returns null
Reviewed-by: prr, flar
2015-01-17 20:53:35 +03:00
Jaroslav Bachorik
b5ac4fe904 8064331: JavaSecurityAccess.doIntersectionPrivilege() drops the information about the domain combiner of the stack ACC
Reviewed-by: mullan
2015-01-16 18:19:23 +01:00
Daniel D. Daugherty
4d1943a706 Merge 2015-02-06 10:44:57 -08:00
Sergey Bylokhov
328a306534 8056298: Separate java.awt.datatransfer from the desktop module
Reviewed-by: erikj, alanb, mchung, alexsch
2015-01-16 18:46:16 +03:00
Sergey Bylokhov
c93718e271 8056298: Separate java.awt.datatransfer from the desktop module
Reviewed-by: erikj, alanb, mchung, alexsch
2015-01-16 18:45:26 +03:00
Alexander Scherbatiy
49d1356783 8068040: [macosx] Combo box consuming ENTER key
Reviewed-by: serb, azvegint
2015-01-16 19:11:10 +04:00
Magnus Ihse Bursie
5e638e9c56 8069064: Various improvements and fixes in build system
Reviewed-by: erikj
2015-01-16 16:02:09 +01:00
Alexander Zvegintsev
3622c75cbd 8061636: Fix for JDK-7079254 changes behavior of MouseListener, MouseMotionListener
Reviewed-by: alexsch, serb
2015-01-16 13:53:44 +03:00
Dean Long
0b2476589a 8068927: AARCH64: better handling of aarch64- triples
Convert aarch64- to arm-, let upstream code do the work, then convert back to aarch64-

Reviewed-by: ihse
2015-01-15 15:12:38 -05:00
Andrew Haley
50c0c29004 8068055: AARCH64: os_cpu
Add src/os_cpu/linux_aarch64/vm/* files

Reviewed-by: kvn, roland, dholmes
2015-01-15 11:17:47 -08:00
Erik Joelsson
1310f9142f 8042707: Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
Reviewed-by: tbell, ihse
2015-01-15 16:52:10 +01:00
Erik Joelsson
6f19ee9717 8042707: Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
Reviewed-by: tbell, ihse
2015-01-15 16:36:24 +01:00
Mario Torre
1b65f85514 8067364: Printing to Postscript doesn't support dieresis
Fix regression caused by fix for 8023990

Co-authored-by: Philip Race <philip.race@oracle.com>
Reviewed-by: bae, prr
2015-01-14 14:52:39 +01:00
Sergey Bylokhov
f825a8256e 6475361: Attempting to remove help menu from java.awt.MenuBar throws NullPointerException
Reviewed-by: azvegint, ant
2015-01-13 17:10:28 +03:00
Sergey Bylokhov
0dfb30c6f5 6459800: Some Swing classes violate encapsulation by returning internal Insets
Reviewed-by: azvegint, alexsch
2015-01-13 16:09:21 +03:00
Sergey Bylokhov
17cbc2efea 6573305: Animated icon is not visible by click on menu
Reviewed-by: azvegint, alexsch
2015-01-13 16:06:28 +03:00
Sergey Bylokhov
5fdc9c37ce 6338077: link back to self in javadoc JTextArea.replaceRange()
Reviewed-by: azvegint, alexsch
2015-01-13 16:04:22 +03:00
Alexander Zvegintsev
bc24a0ce18 8068305: [TEST_BUG] Test java/awt/Mixing/HWDisappear.java fails with GTKL&F
Reviewed-by: alexsch, serb
2015-01-13 12:44:55 +03:00
Phil Race
4998541111 Merge 2015-01-12 12:52:39 -08:00
Joe Darcy
f13e619399 8055059: JDK9b22 public API exposes package private classes
Reviewed-by: serb, prr, alexsch
2015-01-12 11:46:43 -08:00
Sergey Bylokhov
98c8f60ec2 8068374: setAlignmentX, setAlignmentY, getAlignmentX, getAlignmentY javadoc of JComponent
Reviewed-by: azvegint, alexsch
2015-01-12 16:26:58 +03:00
Goetz Lindenmaier
2ffd52f306 8068778: [TESTBUG] CompressedClassSpaceSizeInJmapHeap.java fails if SA not available
Reviewed-by: coleenp, sla
2015-01-12 09:16:06 +01:00
Christian Tornqvist
2c2593b757 8069207: [TESTBUG] Exception thrown for java.lang.NoSuchMethodError: sun.misc.Unsafe.monitorExit
Reviewed-by: gtriantafill, dholmes
2015-01-23 11:44:21 -08:00
Lois Foltan
5f8b5ceaee 8067480: Crash in klassItable::initialize_itable_for_interface when running vm.runtime.defmeth.StaticMethodsTest
A static method should be skipped in entirety by find_instance_method(), searching should continue to find an overpass method of the same name and signature if present.

Reviewed-by: acorn, hseigel
2015-01-23 09:54:33 -05:00
Vladimir Kozlov
48b6c6007f Merge 2014-12-11 15:06:12 -08:00
Vladimir Kozlov
19325052f9 Merge 2014-12-11 15:05:41 -08:00
Vladimir Kozlov
7c46efc738 Merge 2014-12-11 15:05:06 -08:00
Andrew Haley
0b30e012ee 8064611: AARCH64: Changes to HotSpot shared code
Everything except cpu/ and os_cpu/

Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
2014-12-11 13:11:53 -08:00
Jaroslav Bachorik
59c9d50129 8062303: Remove com.sun.tracing API
Reviewed-by: sla, alanb, mchung, dholmes
2014-12-11 10:47:36 +01:00
Stefan Johansson
2aea48249d 8062672: JVM crashes during GC on various asserts which checks that HeapWord ptr is an oop
Crashes were caused by not disabling UseMemSetInBOT as should be done on sparc. Added support for picking up blkinit as a platform feature if available on Linux sparc. This is needed to avoid enabling UseMemSetInBOT when running on this platform.

Reviewed-by: jwilhelm, brutisso
2014-12-11 09:56:57 +01:00
Jesper Wilhelmsson
ac1c0ee5d2 Merge 2015-02-23 18:40:04 +01:00
Stefan Karlsson
cd997db44d 8073543: Circular include dependency between psScavenge.inline.hpp and psPromotionManager.inline.hpp
Reviewed-by: brutisso, mgerdin
2015-02-20 13:54:42 +01:00
Goetz Lindenmaier
5cc358251f 8071822: [TEST_BUG] Adapt collectorPolicy internal tests to support 64K pages
This fixes jtreg test ExecuteInternalVMTests.java for OSes with bigger default page sizes.

Reviewed-by: jmasa
2015-02-20 22:22:39 +01:00
Stefan Karlsson
40d3ed0921 Merge 2015-02-20 17:08:48 +00:00
Stefan Karlsson
4cd34ffd21 Merge 2015-02-20 15:47:22 +00:00
Thomas Schatzl
cb05b8a496 8058446: G1 Hot card cache should use ArrayAllocator to allocate the cache array
Allocate large hot card caches using OS functions instead of the C heap to avoid native memory exhaustion.

Reviewed-by: mgerdin, jwilhelm
2015-02-20 16:07:12 +01:00
Stefan Karlsson
ccb2f23f08 8073554: Remove unnecessary includes of markSweep[.inline].hpp
Reviewed-by: tschatzl, coleenp
2015-02-20 15:23:01 +01:00
Mikael Gerdin
12c46a210f 8073532: jmap -heap fails after generation array removal
Fix field accessor code in the SA

Reviewed-by: jwilhelm, brutisso
2015-02-20 12:43:46 +01:00
Stefan Karlsson
d40f08d0a3 8073389: Remove the include of resourceArea.hpp from classFileParser.hpp
Reviewed-by: coleenp, dholmes
2015-02-18 10:28:27 +01:00
Jaroslav Bachorik
c6b7e46d0d 8067447: Factor out the shared implementation of the VM flags manipulation code
Reviewed-by: sla, dholmes
2014-12-02 19:47:45 +01:00
Daniel D. Daugherty
fbf10d39fa Merge 2015-02-06 10:40:04 -08:00
Jaroslav Bachorik
48639428ce 8068976: Remove JSDT implementation
Reviewed-by: sla, mchung, dholmes
2015-01-12 14:05:16 +01:00
Goetz Lindenmaier
3a8d0b8ce0 8072434: 8064457: introduces performance regressions in 9-b47
Reviewed-by: coleenp, kvn
2015-02-04 16:26:38 +01:00
Staffan Larsen
483815ed11 8072455: Use jtreg's requiredVersion tag in hotspot/test/TEST.ROOT
Reviewed-by: dholmes, ctornqvi
2015-02-05 12:54:34 +01:00
Thomas Stuefe
de0f1ccb86 8072575: Add missing test for 8065895
Reviewed-by: dholmes, gziemski
2015-02-04 21:33:22 -05:00
Thomas Stuefe
3bd56fc1a6 8065895: Synchronous signals during error reporting may terminate or hang VM process
Reviewed-by: dholmes, gziemski
2015-02-04 18:47:42 -05:00
Mikael Auno
5b89870233 8072472: serviceability/dcmd/framework/* should be quarantined
Reviewed-by: jbachorik
2015-02-04 16:09:49 +01:00
Vladimir Kozlov
37a6f605d0 Merge 2014-11-21 14:58:29 -08:00
Vladimir Kozlov
21a9917a88 Merge 2014-11-21 14:55:59 -08:00
Andrew Haley
f4aafadd05 8064357: AARCH64: Top-level JDK changes
Reviewed-by: ihse, twisti
2014-11-21 11:24:55 -08:00
Andrew Haley
bb0b55b7bb 8064594: AARCH64: JDK changes
Reviewed-by: dholmes, twisti, kvn
2014-11-13 15:45:45 -08:00
Jesper Wilhelmsson
e238141b5c 8061802: REDO - Remove the generations array
The _gens array is removed and replaced by explicit _young_gen and _old_gen variables.

Reviewed-by: kbarrett, mgerdin
2014-08-22 10:10:08 +02:00
Stefan Karlsson
0241e477f1 8073388: Get rid of the depenecy from handles.hpp to oop.inline.hpp
Reviewed-by: mgerdin, coleenp
2015-02-18 09:22:37 +01:00
2329 changed files with 147058 additions and 40700 deletions

View File

@@ -291,3 +291,12 @@ bfc24ae2b900187585079bb11e66e459d1e525fe jdk9-b45
722378bc599e38d9a1dd484de30f10dfd7b21438 jdk9-b46
8327024a99559982b848e9c2191da9c0bf8838fd jdk9-b47
b2f9702efbe95527ea3a991474fda23987ff1c5c jdk9-b48
5b8db585a33c3cc48e70e688ceee57dd9271dc5d jdk9-b49
1550b2f6b63d1411fa84dc7bbc6f04809aedb43f jdk9-b50
6efe265424e3f1ea596408a1f71baf2de316c772 jdk9-b51
d6224d6021459ac8b3832e822f5acc849fa944af jdk9-b52
874d76e4699dfcd61ae1826c9fe0ddc1610ad598 jdk9-b53
82cd31c5d6ca8d4c1653f4eb1c09eb2d9a3b2813 jdk9-b54
c97e2d1bad9708d379793ba2a4c848eda14c741e jdk9-b55
47544495db2d3d2edf0f85862d8715592fdb919f jdk9-b56
ddb95d8f169b09544cc17e72a6baaff2400092f5 jdk9-b57

View File

@@ -291,3 +291,12 @@ f7c11da0b0481d49cc7a65a453336c108191e821 jdk9-b42
12f1e276447bcc81516e85367d53e4f08897049d jdk9-b46
b6cca3e6175a69f39e5799b7349ddb0176630291 jdk9-b47
0064e246d83f6f9fc245c19b6d05041ecaf4b6d4 jdk9-b48
d91ed1951b948210590ce1394bea5515357246ba jdk9-b49
d1f37d39ff2421f956a6ddf316cf763807bc3363 jdk9-b50
6207b4b8731ca75c51b031c47daa813ab92ef558 jdk9-b51
1822e59f17121b09e7899cf338cfb6e37fe5fceb jdk9-b52
d6ed47125a76cd1cf8a100568507bfb5e9669d9f jdk9-b53
cb7367141e910e265b8344a8facee740bd1e5467 jdk9-b54
0c37a832458f0e0b7d2a3f1a6f69aeae311aeb18 jdk9-b55
eb7febe45865ba6b81f2ea68082262d0708a0b22 jdk9-b56
f25ee9f62427a9ba27418e5531a89754791a305b jdk9-b57

103
Makefile
View File

@@ -48,6 +48,17 @@ else
endif
root_dir:=$(patsubst %/,%,$(dir $(makefile_path)))
ifeq ($(MAIN_TARGETS), )
COMMAND_LINE_VARIABLES:=$(subst =command,,$(filter %=command,$(foreach var,$(.VARIABLES),$(var)=$(firstword $(origin $(var))))))
MAKE_CONTROL_VARIABLES:=LOG CONF SPEC JOBS TEST IGNORE_OLD_CONFIG
UNKNOWN_COMMAND_LINE_VARIABLES:=$(strip $(filter-out $(MAKE_CONTROL_VARIABLES), $(COMMAND_LINE_VARIABLES)))
ifneq ($(UNKNOWN_COMMAND_LINE_VARIABLES), )
$(info Note: Command line contains non-control variables: $(UNKNOWN_COMMAND_LINE_VARIABLES).)
$(info Make sure it is not mistyped, and that you intend to override this variable.)
$(info 'make help' will list known control variables)
endif
endif
ifneq ($(findstring qp,$(MAKEFLAGS)),)
# When called with -qp, assume an external part (e.g. bash completion) is trying
# to understand our targets.
@@ -148,62 +159,64 @@ endif
# Here are "global" targets, i.e. targets that can be executed without specifying a single configuration.
# If you add more global targets, please update the variable global_targets in MakeHelpers.
# Helper macro to allow $(info) to properly print strings beginning with spaces.
_:=
help:
$(info )
$(info OpenJDK Makefile help)
$(info =====================)
$(info )
$(info Common make targets)
$(info . make [default] # Compile all modules in langtools, hotspot, jaxp, jaxws,)
$(info . # corba and jdk and create a runnable "exploded" image)
$(info . make all # Compile everything, all repos, docs and images)
$(info . make images # Create complete jdk and jre images)
$(info . make <phase> # Compile the specified phase and everything it depends on)
$(info . # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info . make *-only # Applies to most targets and disables compling the)
$(info . # dependencies for the target. This is faster but may)
$(info . # result in incorrect build results!)
$(info . make docs # Create all docs)
$(info . make docs-javadoc # Create just javadocs, depends on less than full docs)
$(info . make profiles # Create complete jre compact profile images)
$(info . make bootcycle-images # Build images twice, second time with newly built JDK)
$(info . make install # Install the generated images locally)
$(info . make reconfigure # Rerun configure with the same arguments as last time)
$(info . make help # Give some help on using make)
$(info . make test # Run tests, default is all tests (see TEST below))
$(info $(_) make [default] # Compile all modules in langtools, hotspot, jdk, jaxws,)
$(info $(_) # jaxp and corba, and create a runnable "exploded" image)
$(info $(_) make all # Compile everything, all repos, docs and images)
$(info $(_) make images # Create complete j2sdk and j2re images)
$(info $(_) make <phase> # Build the specified phase and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info $(_) make *-only # Applies to most targets and disables compling the)
$(info $(_) # dependencies for the target. This is faster but may)
$(info $(_) # result in incorrect build results!)
$(info $(_) make docs # Create all docs)
$(info $(_) make docs-javadoc # Create just javadocs, depends on less than full docs)
$(info $(_) make profiles # Create complete j2re compact profile images)
$(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK)
$(info $(_) make install # Install the generated images locally)
$(info $(_) make reconfigure # Rerun configure with the same arguments as last time)
$(info $(_) make help # Give some help on using make)
$(info $(_) make test # Run tests, default is all tests (see TEST below))
$(info )
$(info Targets for cleaning)
$(info . make clean # Remove all files generated by make, but not those)
$(info . # generated by configure)
$(info . make dist-clean # Remove all files, including configuration)
$(info . make clean-<outputdir> # Remove the subdir in the output dir with the name)
$(info . make clean-<phase> # Remove all build results related to a certain build)
$(info . # phase (gensrc, java, libs, launchers))
$(info . make clean-<module> # Remove all build results related to a certain module)
$(info . make clean-<module>-<phase> # Remove all build results related to a certain)
$(info . # module and phase)
$(info $(_) make clean # Remove all files generated by make, but not those)
$(info $(_) # generated by configure)
$(info $(_) make dist-clean # Remove all files, including configuration)
$(info $(_) make clean-<outputdir> # Remove the subdir in the output dir with the name)
$(info $(_) make clean-<phase> # Remove all build results related to a certain build)
$(info $(_) # phase (gensrc, java, libs, launchers))
$(info $(_) make clean-<module> # Remove all build results related to a certain module)
$(info $(_) make clean-<module>-<phase> # Remove all build results related to a certain)
$(info $(_) # module and phase)
$(info )
$(info Targets for specific modules)
$(info . make <module> # Build <module> and everything it depends on. )
$(info . make <module>-<phase> # Compile the specified phase for the specified module)
$(info . # and everything it depends on)
$(info . # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info $(_) make <module> # Build <module> and everything it depends on.)
$(info $(_) make <module>-<phase> # Compile the specified phase for the specified module)
$(info $(_) # and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info )
$(info Useful make variables)
$(info . make CONF= # Build all configurations (note, assignment is empty))
$(info . make CONF=<substring> # Build the configuration(s) with a name matching)
$(info . # <substring>)
$(info )
$(info . make LOG=<loglevel> # Change the log level from warn to <loglevel>)
$(info . # Available log levels are:)
$(info . # 'warn' (default), 'info', 'debug' and 'trace')
$(info . # To see executed command lines, use LOG=debug)
$(info )
$(info . make JOBS=<n> # Run <n> parallel make jobs)
$(info . # Note that -jN does not work as expected!)
$(info )
$(info . make test TEST=<test> # Only run the given test or tests, e.g.)
$(info . # make test TEST="jdk_lang jdk_net")
$(info Make control variables)
$(info $(_) CONF= # Build all configurations (note, assignment is empty))
$(info $(_) CONF=<substring> # Build the configuration(s) with a name matching)
$(info $(_) # <substring>)
$(info $(_) SPEC=<spec file> # Build the configuration given by the spec file)
$(info $(_) LOG=<loglevel> # Change the log level from warn to <loglevel>)
$(info $(_) # Available log levels are:)
$(info $(_) # 'warn' (default), 'info', 'debug' and 'trace')
$(info $(_) # To see executed command lines, use LOG=debug)
$(info $(_) JOBS=<n> # Run <n> parallel make jobs)
$(info $(_) # Note that -jN does not work as expected!)
$(info $(_) IGNORE_OLD_CONFIG=true # Skip tests if spec file is up to date)
$(info $(_) make test TEST=<test> # Only run the given test or tests, e.g.)
$(info $(_) # make test TEST="jdk_lang jdk_net")
$(info )
.PHONY: help

View File

@@ -441,7 +441,7 @@
</li>
<li>
Install
<a href="#vs2010">Visual Studio 2010</a>
<a href="#vs2013">Visual Studio 2013</a>
</li>
</ul>
</td>
@@ -750,23 +750,23 @@
</blockquote>
<h5><a name="vs2010">Visual Studio 2010 Compilers</a></h5>
<h5><a name="vs2013">Visual Studio 2013 Compilers</a></h5>
<blockquote>
<p>
The 32-bit and 64-bit OpenJDK Windows build requires
Microsoft Visual Studio C++ 2010 (VS2010) Professional
Microsoft Visual Studio C++ 2013 (VS2013) Professional
Edition or Express compiler.
The compiler and other tools are expected to reside
in the location defined by the variable
<code>VS100COMNTOOLS</code> which
<code>VS120COMNTOOLS</code> which
is set by the Microsoft Visual Studio installer.
</p>
<p>
Only the C++ part of VS2010 is needed.
Only the C++ part of VS2013 is needed.
Try to let the installation go to the default
install directory.
Always reboot your system after installing VS2010.
The system environment variable VS100COMNTOOLS
Always reboot your system after installing VS2013.
The system environment variable VS120COMNTOOLS
should be
set in your environment.
</p>
@@ -1040,7 +1040,7 @@
<br>
This is usually picked up automatically
from the redist
directories of Visual Studio 2010.
directories of Visual Studio 2013.
</td>
</tr>
<tr>
@@ -1463,14 +1463,13 @@
<h4>Building with ccache</h4>
<p>A simple way to radically speed up compilation of native code
(typically hotspot and native libraries in JDK) is to install
ccache. This will cache and reuse prior compilation results, if the
source code is unchanged. However, ccache versions prior to 3.1.4
does not work correctly with the precompiled headers used in
OpenJDK. So if your platform supports ccache at 3.1.4 or later, we
highly recommend installing it. This is currently only supported on
linux.</p>
<p>The OpenJDK build supports building with ccache
when using gcc or clang. Using ccache can
radically speed up compilation of native code if
you often rebuild the same sources. Your milage
may vary however so we recommend evaluating it for
yourself. To enable it, make sure it's on the path
and configure with <code>--enable-ccache</code>.</p>
<h4>Building on local disk</h4>
@@ -1855,54 +1854,54 @@
<tbody>
<tr>
<td>Linux X86 (32-bit) and X64 (64-bit)</td>
<td>Fedora 9</td>
<td>gcc 4.3 </td>
<td>JDK 7u7</td>
<td>Oracle Enterprise Linux 6.4</td>
<td>gcc 4.8.2 </td>
<td>JDK 8</td>
<td>2 or more</td>
<td>1 GB</td>
<td>6 GB</td>
</tr>
<tr>
<td>Solaris SPARC (32-bit) and SPARCV9 (64-bit)</td>
<td>Solaris 10 Update 6</td>
<td>Studio 12 Update 1 + patches</td>
<td>JDK 7u7</td>
<td>Solaris SPARCV9 (64-bit)</td>
<td>Solaris 10 Update 10</td>
<td>Studio 12 Update 3 + patches</td>
<td>JDK 8</td>
<td>4 or more</td>
<td>4 GB</td>
<td>8 GB</td>
</tr>
<tr>
<td>Solaris X86 (32-bit) and X64 (64-bit)</td>
<td>Solaris 10 Update 6</td>
<td>Studio 12 Update 1 + patches</td>
<td>JDK 7u7</td>
<td>Solaris X64 (64-bit)</td>
<td>Solaris 10 Update 10</td>
<td>Studio 12 Update 3 + patches</td>
<td>JDK 8</td>
<td>4 or more</td>
<td>4 GB</td>
<td>8 GB</td>
</tr>
<tr>
<td>Windows X86 (32-bit)</td>
<td>Windows XP</td>
<td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
<td>JDK 7u7</td>
<td>Windows Server 2012 R2 x64</td>
<td>Microsoft Visual Studio C++ 2013 Professional Edition</td>
<td>JDK 8</td>
<td>2 or more</td>
<td>2 GB</td>
<td>6 GB</td>
</tr>
<tr>
<td>Windows X64 (64-bit)</td>
<td>Windows Server 2003 - Enterprise x64 Edition</td>
<td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
<td>JDK 7u7</td>
<td>Windows Server 2012 R2 x64</td>
<td>Microsoft Visual Studio C++ 2013 Professional Edition</td>
<td>JDK 8</td>
<td>2 or more</td>
<td>2 GB</td>
<td>6 GB</td>
</tr>
<tr>
<td>Mac OS X X64 (64-bit)</td>
<td>Mac OS X 10.7 "Lion"</td>
<td>XCode 4.5.2 or newer</td>
<td>JDK 7u7</td>
<td>Mac OS X 10.9 "Mavericks"</td>
<td>XCode 5.1.1 or newer</td>
<td>JDK 8</td>
<td>2 or more</td>
<td>4 GB</td>
<td>6 GB</td>
@@ -2010,7 +2009,7 @@
</blockquote>
<h4><a name="ubuntu">Ubuntu 12.04</a></h4>
<blockquote>
<blockquote>
After installing <a href="http://ubuntu.org">Ubuntu</a> 12.04
you need to install several build dependencies. The simplest
way to do it is to execute the following commands:

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -77,26 +77,30 @@ AC_DEFUN([BASIC_PREPEND_TO_PATH],
# $1: The name of the variable to fix
AC_DEFUN([BASIC_FIXUP_PATH],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
BASIC_FIXUP_PATH_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
BASIC_FIXUP_PATH_MSYS($1)
else
# We're on a unix platform. Hooray! :)
path="[$]$1"
has_space=`$ECHO "$path" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
AC_MSG_ERROR([Spaces are not allowed in this path.])
fi
# Only process if variable expands to non-empty
if test "x[$]$1" != x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
BASIC_FIXUP_PATH_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
BASIC_FIXUP_PATH_MSYS($1)
else
# We're on a unix platform. Hooray! :)
path="[$]$1"
has_space=`$ECHO "$path" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
AC_MSG_ERROR([Spaces are not allowed in this path.])
fi
# Use eval to expand a potential ~
eval path="$path"
if test ! -f "$path" && test ! -d "$path"; then
AC_MSG_ERROR([The path of $1, which resolves as "$path", is not found.])
fi
# Use eval to expand a potential ~
eval path="$path"
if test ! -f "$path" && test ! -d "$path"; then
AC_MSG_ERROR([The path of $1, which resolves as "$path", is not found.])
fi
$1="`cd "$path"; $THEPWDCMD -L`"
$1="`cd "$path"; $THEPWDCMD -L`"
fi
fi
])
@@ -113,57 +117,61 @@ AC_DEFUN([BASIC_FIXUP_PATH],
# $1: The name of the variable to fix
AC_DEFUN([BASIC_FIXUP_EXECUTABLE],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
BASIC_FIXUP_EXECUTABLE_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
BASIC_FIXUP_EXECUTABLE_MSYS($1)
else
# We're on a unix platform. Hooray! :)
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Cannot rely on the command "which" here since it doesn't always work.
is_absolute_path=`$ECHO "$path" | $GREP ^/`
if test -z "$is_absolute_path"; then
# Path to executable is not absolute. Find it.
IFS_save="$IFS"
IFS=:
for p in $PATH; do
if test -f "$p/$path" && test -x "$p/$path"; then
new_path="$p/$path"
break
fi
done
IFS="$IFS_save"
# Only process if variable expands to non-empty
if test "x[$]$1" != x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
BASIC_FIXUP_EXECUTABLE_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
BASIC_FIXUP_EXECUTABLE_MSYS($1)
else
# This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
# We're on a unix platform. Hooray! :)
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
if test "x$new_path" = x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
# Cannot rely on the command "which" here since it doesn't always work.
is_absolute_path=`$ECHO "$path" | $GREP ^/`
if test -z "$is_absolute_path"; then
# Path to executable is not absolute. Find it.
IFS_save="$IFS"
IFS=:
for p in $PATH; do
if test -f "$p/$path" && test -x "$p/$path"; then
new_path="$p/$path"
break
fi
done
IFS="$IFS_save"
else
# This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
if test "x$new_path" = x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# Now join together the path and the arguments once again
if test "x$arguments" != xEOL; then
new_complete="$new_path ${arguments% *}"
else
new_complete="$new_path"
fi
# Now join together the path and the arguments once again
if test "x$arguments" != xEOL; then
new_complete="$new_path ${arguments% *}"
else
new_complete="$new_path"
fi
if test "x$complete" != "x$new_complete"; then
$1="$new_complete"
AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
if test "x$complete" != "x$new_complete"; then
$1="$new_complete"
AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
fi
fi
])
@@ -242,6 +250,9 @@ AC_DEFUN_ONCE([BASIC_INIT],
[
# Save the original command line. This is passed to us by the wrapper configure script.
AC_SUBST(CONFIGURE_COMMAND_LINE)
# Save the path variable before it gets changed
ORIGINAL_PATH="$PATH"
AC_SUBST(ORIGINAL_PATH)
DATE_WHEN_CONFIGURED=`LANG=C date`
AC_SUBST(DATE_WHEN_CONFIGURED)
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
@@ -896,10 +907,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
fi
AC_SUBST(IS_GNU_TIME)
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
BASIC_REQUIRE_PROGS(COMM, comm)
fi
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
BASIC_REQUIRE_PROGS(DSYMUTIL, dsymutil)
BASIC_REQUIRE_PROGS(XATTR, xattr)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -164,19 +164,26 @@ AC_DEFUN([BPERF_SETUP_CCACHE],
[enable using ccache to speed up recompilations @<:@disabled@:>@])])
CCACHE=
CCACHE_STATUS=
AC_MSG_CHECKING([is ccache enabled])
ENABLE_CCACHE=$enable_ccache
if test "x$enable_ccache" = xyes; then
AC_MSG_RESULT([yes])
OLD_PATH="$PATH"
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
if test "x$TOOLCHAIN_TYPE" = "xgcc" -o "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
OLD_PATH="$PATH"
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
fi
BASIC_REQUIRE_PROGS(CCACHE, ccache)
PATH="$OLD_PATH"
CCACHE_VERSION=[`$CCACHE --version | head -n1 | $SED 's/[A-Za-z ]*//'`]
CCACHE_STATUS="Active ($CCACHE_VERSION)"
else
AC_MSG_RESULT([no])
AC_MSG_WARN([ccache is not supported with toolchain type $TOOLCHAIN_TYPE])
fi
BASIC_REQUIRE_PROGS(CCACHE, ccache)
CCACHE_STATUS="enabled"
PATH="$OLD_PATH"
elif test "x$enable_ccache" = xno; then
AC_MSG_RESULT([no, explicitly disabled])
CCACHE_STATUS="Disabled"
elif test "x$enable_ccache" = x; then
AC_MSG_RESULT([no])
else
@@ -206,35 +213,31 @@ AC_DEFUN([BPERF_SETUP_CCACHE],
AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
[
if test "x$CCACHE" != x; then
# Only use ccache if it is 3.1.4 or later, which supports
# precompiled headers.
AC_MSG_CHECKING([if ccache supports precompiled headers])
HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.@<:@456789@:>@) 2> /dev/null`
if test "x$HAS_GOOD_CCACHE" = x; then
AC_MSG_RESULT([no, disabling ccache])
CCACHE=
CCACHE_STATUS="disabled"
else
AC_MSG_RESULT([yes])
if test "x$USE_PRECOMPILED_HEADER" = "x1"; then
HAS_BAD_CCACHE=[`$ECHO $CCACHE_VERSION | \
$GREP -e '^1.*' -e '^2.*' -e '^3\.0.*' -e '^3\.1\.[0123]$'`]
if test "x$HAS_BAD_CCACHE" != "x"; then
AC_MSG_ERROR([Precompiled headers requires ccache 3.1.4 or later, found $CCACHE_VERSION])
fi
AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers])
CCACHE_PRECOMP_FLAG="-fpch-preprocess"
PUSHED_FLAGS="$CXXFLAGS"
CXXFLAGS="-fpch-preprocess $CXXFLAGS"
CXXFLAGS="$CCACHE_PRECOMP_FLAG $CXXFLAGS"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no])
CXXFLAGS="$PUSHED_FLAGS"
if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
AC_MSG_RESULT([yes])
CFLAGS_CCACHE="$CCACHE_PRECOMP_FLAG"
AC_SUBST(CFLAGS_CCACHE)
CCACHE_SLOPPINESS=pch_defines,time_macros
else
AC_MSG_RESULT([no, disabling ccaching of precompiled headers])
CCACHE=
CCACHE_STATUS="disabled"
AC_MSG_RESULT([no])
AC_MSG_ERROR([Cannot use ccache with precompiled headers without compiler support for $CCACHE_PRECOMP_FLAG])
fi
fi
fi
if test "x$CCACHE" != x; then
CCACHE_SLOPPINESS=time_macros
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
CCACHE_FLAGS=-fpch-preprocess
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR \
CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS CCACHE_BASEDIR=$TOPDIR $CCACHE"
if test "x$SET_CCACHE_DIR" != x; then
mkdir -p $CCACHE_DIR > /dev/null 2>&1

View File

@@ -40,8 +40,9 @@ if test "x$BASH" = x; then
echo "Error: This script must be run using bash." 1>&2
exit 1
fi
# Force autoconf to use bash
# Force autoconf to use bash. This also means we must disable autoconf re-exec.
export CONFIG_SHELL=$BASH
export _as_can_reexec=no
conf_script_dir="$TOPDIR/common/autoconf"

View File

@@ -54,6 +54,7 @@ m4_include([toolchain_windows.m4])
AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK])
AC_DEFUN_ONCE([CUSTOM_LATE_HOOK])
AC_DEFUN_ONCE([CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK])
AC_DEFUN_ONCE([CUSTOM_SUMMARY_AND_WARNINGS_HOOK])
# This line needs to be here, verbatim, after all includes and the dummy hook
@@ -195,6 +196,7 @@ FLAGS_SETUP_COMPILER_FLAGS_MISC
# Setup debug symbols (need objcopy from the toolchain for that)
JDKOPT_SETUP_DEBUG_SYMBOLS
JDKOPT_SETUP_CODE_COVERAGE
###############################################################################
#
@@ -264,6 +266,7 @@ CONFIG_STATUS="$OUTPUT_ROOT/config.status"
# Create the actual output files. Now the main work of configure is done.
AC_OUTPUT
CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK
# Try to move the config.log file to the output directory.
if test -e ./config.log; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2015, 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
@@ -478,10 +478,11 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
fi
CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -errtags=yes -errfmt"
CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -errtags=yes -errfmt"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall"
CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt"
CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt"
fi
if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
@@ -529,7 +530,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
# CXXFLAGS_JDK - C++ Compiler flags
# COMMON_CCXXFLAGS_JDK - common to C and C++
if test "x$TOOLCHAIN_TYPE" = xgcc; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \
-pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
case $OPENJDK_TARGET_CPU_ARCH in
arm )
@@ -549,7 +550,6 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
fi
CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
@@ -558,15 +558,23 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
CFLAGS_JDK="$CFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
-DWIN32 -DIAL"
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK \
-Zi -MD -Zc:wchar_t- -W3 -wd4800 \
-DWIN32_LEAN_AND_MEAN \
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
-DWIN32 -DIAL"
if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_AMD64_ -Damd64"
else
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_X86_ -Dx86"
fi
# If building with Visual Studio 2010, we can still use _STATIC_CPPLIB to
# avoid bundling msvcpNNN.dll. Doesn't work with newer versions of visual
# studio.
if test "x$TOOLCHAIN_VERSION" = "x2010"; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \
-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB"
fi
fi
###############################################################################
@@ -668,7 +676,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
# The shared libraries are compiled using the picflag.
CFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA"
# Executable flags
CFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK"
@@ -679,6 +687,19 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
AC_SUBST(CXXFLAGS_JDKLIB)
AC_SUBST(CXXFLAGS_JDKEXE)
# Flags for compiling test libraries
CFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
CXXFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA"
# Flags for compiling test executables
CFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK"
CXXFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK"
AC_SUBST(CFLAGS_TESTLIB)
AC_SUBST(CFLAGS_TESTEXE)
AC_SUBST(CXXFLAGS_TESTLIB)
AC_SUBST(CXXFLAGS_TESTEXE)
# Setup LDFLAGS et al.
#
@@ -740,6 +761,8 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
LDFLAGS_JDK="${LDFLAGS_JDK} -brtl -bnolibpath -liconv -bexpall -bernotok"
fi
# Customize LDFLAGS for executables
@@ -792,6 +815,16 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
AC_SUBST(LDFLAGS_CXX_JDK)
LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB"
LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE"
LDFLAGS_TESTLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX"
LDFLAGS_TESTEXE_SUFFIX="$LDFLAGS_JDKEXE_SUFFIX"
AC_SUBST(LDFLAGS_TESTLIB)
AC_SUBST(LDFLAGS_TESTEXE)
AC_SUBST(LDFLAGS_TESTLIB_SUFFIX)
AC_SUBST(LDFLAGS_TESTEXE_SUFFIX)
])
# FLAGS_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE],
@@ -875,17 +908,31 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_MISC],
case "${TOOLCHAIN_TYPE}" in
microsoft)
DISABLE_WARNING_PREFIX="-wd"
CFLAGS_WARNINGS_ARE_ERRORS="-WX"
;;
solstudio)
DISABLE_WARNING_PREFIX="-erroff="
CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all"
;;
gcc)
# Prior to gcc 4.4, a -Wno-X where X is unknown for that version of gcc will cause an error
FLAGS_COMPILER_CHECK_ARGUMENTS([-Wno-this-is-a-warning-that-do-not-exist],
[GCC_CAN_DISABLE_WARNINGS=true],
[GCC_CAN_DISABLE_WARNINGS=false]
)
if test "x$GCC_CAN_DISABLE_WARNINGS" = "xtrue"; then
DISABLE_WARNING_PREFIX="-Wno-"
else
DISABLE_WARNING_PREFIX=
fi
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
;;
clang)
DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
;;
esac
AC_SUBST(DISABLE_WARNING_PREFIX)
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
])

File diff suppressed because it is too large Load Diff

View File

@@ -209,7 +209,10 @@ AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
fi
printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)\n"
if test "x$TOOLCHAIN_VERSION" != "x"; then
print_version=" $TOOLCHAIN_VERSION"
fi
printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION$print_version)\n"
printf "* C Compiler: Version $CC_VERSION_NUMBER (at $CC)\n"
printf "* C++ Compiler: Version $CXX_VERSION_NUMBER (at $CXX)\n"

View File

@@ -109,8 +109,8 @@ LD:=@HOTSPOT_LD@
MT:=@HOTSPOT_MT@
RC:=@HOTSPOT_RC@
EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@
EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@
EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@ $(CFLAGS_CCACHE)
EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@ $(CFLAGS_CCACHE)
EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@
USE_PRECOMPILED_HEADER=@USE_PRECOMPILED_HEADER@
@@ -132,6 +132,13 @@ else
ZIP_DEBUGINFO_FILES:=0
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
# On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
# environment variables (in Windows path style).
export INCLUDE:=@VS_INCLUDE@
export LIB:=@VS_LIB@
endif
# Sneak this in via the spec.gmk file, since we don't want to mess around too much with the Hotspot make files.
# This is needed to get the LOG setting to work properly.
include $(SRC_ROOT)/make/common/MakeBase.gmk

View File

@@ -161,6 +161,9 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS],
if test "x$OPENJDK_TARGET_OS" = xaix ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
INCLUDE_SA=false
fi
AC_SUBST(INCLUDE_SA)
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
@@ -637,3 +640,41 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
AC_SUBST(ENABLE_DEBUG_SYMBOLS)
AC_SUBST(ZIP_DEBUGINFO_FILES)
])
################################################################################
#
# Gcov coverage data for hotspot
#
AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
[
AC_ARG_ENABLE(native-coverage, [AS_HELP_STRING([--enable-native-coverage],
[enable native compilation with code coverage data@<:@disabled@:>@])])
GCOV_ENABLED="false"
if test "x$enable_native_coverage" = "xyes"; then
if test "x$TOOLCHAIN_TYPE" = "xgcc"; then
AC_MSG_CHECKING([if native coverage is enabled])
AC_MSG_RESULT([yes])
GCOV_CFLAGS="-fprofile-arcs -ftest-coverage -fno-inline"
GCOV_LDFLAGS="-fprofile-arcs"
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $GCOV_CFLAGS"
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $GCOV_CFLAGS"
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $GCOV_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $GCOV_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $GCOV_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $GCOV_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $GCOV_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $GCOV_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $GCOV_LDFLAGS"
GCOV_ENABLED="true"
else
AC_MSG_ERROR([--enable-native-coverage only works with toolchain type gcc])
fi
elif test "x$enable_native_coverage" = "xno"; then
AC_MSG_CHECKING([if native coverage is enabled])
AC_MSG_RESULT([no])
elif test "x$enable_native_coverage" != "x"; then
AC_MSG_ERROR([--enable-native-coverage can only be assigned "yes" or "no"])
fi
AC_SUBST(GCOV_ENABLED)
])

View File

@@ -1124,10 +1124,9 @@ AC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP],
AC_DEFUN_ONCE([LIB_SETUP_ON_WINDOWS],
[
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
TOOLCHAIN_SETUP_MSVCR_DLL
TOOLCHAIN_SETUP_VS_RUNTIME_DLLS
BASIC_DEPRECATED_ARG_WITH([dxsdk])
BASIC_DEPRECATED_ARG_WITH([dxsdk-lib])
BASIC_DEPRECATED_ARG_WITH([dxsdk-include])
fi
AC_SUBST(MSVCR_DLL)
])

View File

@@ -48,6 +48,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=little
;;
aarch64)
VAR_CPU=aarch64
VAR_CPU_ARCH=aarch64
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
powerpc)
VAR_CPU=ppc
VAR_CPU_ARCH=ppc

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2015, 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
@@ -129,14 +129,12 @@ LIBDL:=@LIBDL@
# colon or semicolon
PATH_SEP:=@PATH_SEP@
# Save the original path before replacing it with the Visual Studio tools
ORIGINAL_PATH:=@ORIGINAL_PATH@
ifeq ($(OPENJDK_TARGET_OS), windows)
# On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
# environment variables (in Windows path style), and the PATH needs to
# be adjusted to include Visual Studio tools (but this needs to be in
# cygwin/msys style).
# On Windows, the Visual Studio toolchain needs the PATH to be adjusted
# to include Visual Studio tools (this needs to be in cygwin/msys style).
export PATH:=@VS_PATH@
export INCLUDE:=@VS_INCLUDE@
export LIB:=@VS_LIB@
endif
SYSROOT_CFLAGS := @SYSROOT_CFLAGS@
@@ -294,6 +292,8 @@ UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@
# Enable RMIConnector IIOP transport
RMICONNECTOR_IIOP=@RMICONNECTOR_IIOP@
GCOV_ENABLED=@GCOV_ENABLED@
# Necessary additional compiler flags to compile X11
X_CFLAGS:=@X_CFLAGS@
X_LIBS:=@X_LIBS@
@@ -326,8 +326,11 @@ CXX_O_FLAG_NONE:=@CXX_O_FLAG_NONE@
C_FLAG_DEPS:=@C_FLAG_DEPS@
CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
CFLAGS_CCACHE:=@CFLAGS_CCACHE@
# Tools that potentially need to be cross compilation aware.
CC:=@FIXPATH@ @CCACHE@ @CC@
@@ -342,9 +345,6 @@ CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
CXX:=@FIXPATH@ @CCACHE@ @CXX@
#CXXFLAGS:=@CXXFLAGS@
OBJC:=@CCACHE@ @OBJC@
#OBJCFLAGS:=@OBJCFLAGS@
CPP:=@FIXPATH@ @CPP@
#CPPFLAGS:=@CPPFLAGS@
@@ -382,6 +382,16 @@ LIBCXX:=@LIBCXX@
# Sometimes a different linker is needed for c++ executables
LDEXECXX:=@FIXPATH@ @LDEXECXX@
# Compiler and linker flags used when building native tests
CFLAGS_TESTLIB:=@CFLAGS_TESTLIB@
CXXFLAGS_TESTLIB:=@CXXFLAGS_TESTLIB@
CFLAGS_TESTEXE:=@CFLAGS_TESTEXE@
CXXFLAGS_TESTEXE:=@CXXFLAGS_TESTEXE@
LDFLAGS_TESTLIB:=@LDFLAGS_TESTLIB@
LDFLAGS_TESTLIB_SUFFIX:=@LDFLAGS_TESTLIB_SUFFIX@
LDFLAGS_TESTEXE:=@LDFLAGS_TESTEXE@
LDFLAGS_TESTEXE_SUFFIX:=@LDFLAGS_TESTEXE_SUFFIX@
# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
# build platform.
BUILD_CC:=@FIXPATH@ @BUILD_CC@
@@ -583,6 +593,7 @@ USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
MSVCR_DLL:=@MSVCR_DLL@
MSVCP_DLL:=@MSVCP_DLL@
# ADD_SRCS takes a single argument with source roots
@@ -703,6 +714,10 @@ JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR)
TEST_IMAGE_SUBDIR:=test
TEST_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(TEST_IMAGE_SUBDIR)
# Symbols image
SYMBOLS_IMAGE_SUBDIR:=symbols
SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR)
# Macosx bundles directory definitions
JDK_BUNDLE_SUBDIR=jdk-bundle/jdk$(JDK_VERSION).jdk/Contents
JRE_BUNDLE_SUBDIR=jre-bundle/jre$(JDK_VERSION).jre/Contents

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2015, 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,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
# Store the CFLAGS etc passed to the configure script.
ORG_CFLAGS="$CFLAGS"
ORG_CXXFLAGS="$CXXFLAGS"
ORG_OBJCFLAGS="$OBJCFLAGS"
# On Windows, we need to detect the visual studio installation first.
# This will change the PATH, but we need to keep that new PATH even
@@ -232,7 +231,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
CFLAGS="$ORG_CFLAGS"
CXXFLAGS="$ORG_CXXFLAGS"
OBJCFLAGS="$ORG_OBJCFLAGS"
])
# Check if a compiler is of the toolchain type we expect, and save the version
@@ -541,12 +539,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
[
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
AC_PROG_OBJC
BASIC_FIXUP_EXECUTABLE(OBJC)
BASIC_PATH_PROGS(LIPO, lipo)
BASIC_FIXUP_EXECUTABLE(LIPO)
else
OBJC=
fi
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
@@ -691,8 +685,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
CC_VERSION_OUTPUT=`$CC 2>&1 | $HEAD -n 1 | $TR -d '\r'`
COMPILER_CPU_TEST=`$ECHO $CC_VERSION_OUTPUT | $SED -n "s/^.* \(.*\)$/\1/p"`
if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
if test "x$COMPILER_CPU_TEST" != "x80x86"; then
AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "80x86".])
if test "x$COMPILER_CPU_TEST" != "x80x86" -a "x$COMPILER_CPU_TEST" != "xx86"; then
AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "80x86" or "x86".])
fi
elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
if test "x$COMPILER_CPU_TEST" != "xx64"; then
@@ -769,7 +763,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
BASIC_FIXUP_PATH([JT_HOME])
# jtreg win32 script works for everybody
JTREGEXE="$JT_HOME/win32/bin/jtreg"
JTREGEXE="$JT_HOME/bin/jtreg"
if test ! -f "$JTREGEXE"; then
AC_MSG_ERROR([JTReg executable does not exist: $JTREGEXE])

View File

@@ -23,43 +23,90 @@
# questions.
#
################################################################################
# The order of these defines the priority by which we try to find them.
VALID_VS_VERSIONS="2013 2012 2010"
VS_DESCRIPTION_2010="Microsoft Visual Studio 2010"
VS_VERSION_INTERNAL_2010=100
VS_MSVCR_2010=msvcr100.dll
# We don't use msvcp on Visual Studio 2010
#VS_MSVCP_2010=msvcp100.dll
VS_ENVVAR_2010="VS100COMNTOOLS"
VS_VS_INSTALLDIR_2010="Microsoft Visual Studio 10.0"
VS_SDK_INSTALLDIR_2010="Microsoft SDKs/Windows/v7.1"
VS_VS_PLATFORM_NAME_2010="v100"
VS_SDK_PLATFORM_NAME_2010="Windows7.1SDK"
VS_DESCRIPTION_2012="Microsoft Visual Studio 2012"
VS_VERSION_INTERNAL_2012=110
VS_MSVCR_2012=msvcr110.dll
VS_MSVCP_2012=msvcp110.dll
VS_ENVVAR_2012="VS110COMNTOOLS"
VS_VS_INSTALLDIR_2012="Microsoft Visual Studio 11.0"
VS_SDK_INSTALLDIR_2012=
VS_VS_PLATFORM_NAME_2012="v110"
VS_SDK_PLATFORM_NAME_2012=
VS_DESCRIPTION_2013="Microsoft Visual Studio 2013"
VS_VERSION_INTERNAL_2013=120
VS_MSVCR_2013=msvcr120.dll
VS_MSVCP_2013=msvcp120.dll
VS_ENVVAR_2013="VS120COMNTOOLS"
VS_VS_INSTALLDIR_2013="Microsoft Visual Studio 12.0"
VS_SDK_INSTALLDIR_2013=
VS_VS_PLATFORM_NAME_2013="v120"
VS_SDK_PLATFORM_NAME_2013=
################################################################################
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
[
if test "x$VS_ENV_CMD" = x; then
VS100BASE="$1"
METHOD="$2"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(VS100BASE)
if test -d "$VS100BASE"; then
if test -f "$VS100BASE/$VCVARSFILE"; then
AC_MSG_NOTICE([Found Visual Studio installation at $VS100BASE using $METHOD])
VS_ENV_CMD="$VS100BASE/$VCVARSFILE"
VS_VERSION="$1"
VS_BASE="$2"
METHOD="$3"
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
VCVARSFILE="vc/bin/vcvars32.bat"
else
VCVARSFILE="vc/bin/amd64/vcvars64.bat"
fi
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(VS_BASE)
if test -d "$VS_BASE"; then
if test -f "$VS_BASE/$VCVARSFILE"; then
AC_MSG_NOTICE([Found Visual Studio installation at $VS_BASE using $METHOD])
VS_ENV_CMD="$VS_BASE/$VCVARSFILE"
# PLATFORM_TOOLSET is used during the compilation of the freetype sources (see
# 'LIB_BUILD_FREETYPE' in libraries.m4) and must be one of 'v100', 'v110' or 'v120' for VS 2010, 2012 or VS2013
# TODO: improve detection for other versions of VS
PLATFORM_TOOLSET="v100"
eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}"
else
AC_MSG_NOTICE([Found Visual Studio installation at $VS100BASE using $METHOD])
AC_MSG_NOTICE([Found Visual Studio installation at $VS_BASE using $METHOD])
AC_MSG_NOTICE([Warning: $VCVARSFILE is missing, this is probably Visual Studio Express. Ignoring])
fi
fi
fi
])
################################################################################
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
[
if test "x$VS_ENV_CMD" = x; then
WIN_SDK_BASE="$1"
METHOD="$2"
VS_VERSION="$1"
WIN_SDK_BASE="$2"
METHOD="$3"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(WIN_SDK_BASE)
if test -d "$WIN_SDK_BASE"; then
# There have been cases of partial or broken SDK installations. A missing
# lib dir is not going to work.
if test ! -d "$WIN_SDK_BASE/../lib"; then
if test ! -d "$WIN_SDK_BASE/lib"; then
AC_MSG_NOTICE([Found Windows SDK installation at $WIN_SDK_BASE using $METHOD])
AC_MSG_NOTICE([Warning: Installation is broken, lib dir is missing. Ignoring])
elif test -f "$WIN_SDK_BASE/SetEnv.Cmd"; then
elif test -f "$WIN_SDK_BASE/Bin/SetEnv.Cmd"; then
AC_MSG_NOTICE([Found Windows SDK installation at $WIN_SDK_BASE using $METHOD])
VS_ENV_CMD="$WIN_SDK_BASE/SetEnv.Cmd"
VS_ENV_CMD="$WIN_SDK_BASE/Bin/SetEnv.Cmd"
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
VS_ENV_ARGS="/x86"
else
@@ -68,7 +115,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
# PLATFORM_TOOLSET is used during the compilation of the freetype sources (see
# 'LIB_BUILD_FREETYPE' in libraries.m4) and must be 'Windows7.1SDK' for Windows7.1SDK
# TODO: improve detection for other versions of SDK
PLATFORM_TOOLSET="Windows7.1SDK"
eval PLATFORM_TOOLSET="\${VS_SDK_PLATFORM_NAME_${VS_VERSION}}"
else
AC_MSG_NOTICE([Found Windows SDK installation at $WIN_SDK_BASE using $METHOD])
AC_MSG_NOTICE([Warning: Installation is broken, SetEnv.Cmd is missing. Ignoring])
@@ -77,50 +124,121 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
fi
])
################################################################################
# Finds the bat or cmd file in Visual Studio or the SDK that sets up a proper
# build environment and assigns it to VS_ENV_CMD
AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
[
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
VCVARSFILE="vc/bin/vcvars32.bat"
else
VCVARSFILE="vc/bin/amd64/vcvars64.bat"
VS_VERSION="$1"
eval VS_COMNTOOLS_VAR="\${VS_ENVVAR_${VS_VERSION}}"
eval VS_COMNTOOLS="\$${VS_COMNTOOLS_VAR}"
eval VS_INSTALL_DIR="\${VS_VS_INSTALLDIR_${VS_VERSION}}"
eval SDK_INSTALL_DIR="\${VS_SDK_INSTALLDIR_${VS_VERSION}}"
# When using --with-tools-dir, assume it points to the correct and default
# version of Visual Studio or that --with-toolchain-version was also set.
if test "x$with_tools_dir" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[$with_tools_dir/../..], [--with-tools-dir])
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[$with_tools_dir/../../..], [--with-tools-dir])
if test "x$VS_ENV_CMD" = x; then
# Having specified an argument which is incorrect will produce an instant failure;
# we should not go on looking
AC_MSG_NOTICE([The path given by --with-tools-dir does not contain a valid])
AC_MSG_NOTICE([Visual Studio installation. Please point to the VC/bin or VC/bin/amd64])
AC_MSG_NOTICE([directory within the Visual Studio installation])
AC_MSG_ERROR([Cannot locate a valid Visual Studio installation])
fi
fi
VS_ENV_CMD=""
VS_ENV_ARGS=""
if test "x$with_toolsdir" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$with_toolsdir/../..], [--with-tools-dir])
fi
if test "x$with_toolsdir" != x && test "x$VS_ENV_CMD" = x; then
# Having specified an argument which is incorrect will produce an instant failure;
# we should not go on looking
AC_MSG_NOTICE([The path given by --with-tools-dir does not contain a valid Visual Studio installation])
AC_MSG_NOTICE([Please point to the VC/bin directory within the Visual Studio installation])
AC_MSG_ERROR([Cannot locate a valid Visual Studio installation])
fi
if test "x$VS100COMNTOOLS" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$VS100COMNTOOLS/../..], [VS100COMNTOOLS variable])
if test "x$VS_COMNTOOLS" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[$VS_COMNTOOLS/../..], [$VS_COMNTOOLS_VAR variable])
fi
if test "x$PROGRAMFILES" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$PROGRAMFILES/Microsoft Visual Studio 10.0], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[$PROGRAMFILES/$VS_INSTALL_DIR], [well-known name])
fi
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([C:/Program Files/Microsoft Visual Studio 10.0], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([C:/Program Files (x86)/Microsoft Visual Studio 10.0], [well-known name])
# Work around the insanely named ProgramFiles(x86) env variable
PROGRAMFILES_X86="`env | $SED -n 's/^ProgramFiles(x86)=//p'`"
if test "x$PROGRAMFILES_X86" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[$PROGRAMFILES_X86/$VS_INSTALL_DIR], [well-known name])
fi
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[C:/Program Files/$VS_INSTALL_DIR], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[C:/Program Files (x86)/$VS_INSTALL_DIR], [well-known name])
if test "x$ProgramW6432" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$ProgramW6432/Microsoft SDKs/Windows/v7.1/Bin], [well-known name])
if test "x$SDK_INSTALL_DIR" != x; then
if test "x$ProgramW6432" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
[$ProgramW6432/$SDK_INSTALL_DIR], [well-known name])
fi
if test "x$PROGRAMW6432" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
[$PROGRAMW6432/$SDK_INSTALL_DIR], [well-known name])
fi
if test "x$PROGRAMFILES" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
[$PROGRAMFILES/$SDK_INSTALL_DIR], [well-known name])
fi
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
[C:/Program Files/$SDK_INSTALL_DIR], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
[C:/Program Files (x86)/$SDK_INSTALL_DIR], [well-known name])
fi
if test "x$PROGRAMW6432" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$PROGRAMW6432/Microsoft SDKs/Windows/v7.1/Bin], [well-known name])
fi
if test "x$PROGRAMFILES" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$PROGRAMFILES/Microsoft SDKs/Windows/v7.1/Bin], [well-known name])
fi
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1/Bin], [well-known name])
])
################################################################################
AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
[
AC_ARG_WITH(toolchain-version, [AS_HELP_STRING([--with-toolchain-version],
[the version of the toolchain to look for, use '--help' to show possible values @<:@platform dependent@:>@])])
if test "x$with_toolchain_version" = xlist; then
# List all toolchains
AC_MSG_NOTICE([The following toolchain versions are valid on this platform:])
for version in $VALID_VS_VERSIONS; do
eval VS_DESCRIPTION=\${VS_DESCRIPTION_$version}
$PRINTF " %-10s %s\n" $version "$VS_DESCRIPTION"
done
exit 0
elif test "x$with_toolchain_version" != x; then
# User override; check that it is valid
if test "x${VALID_VS_VERSIONS/$with_toolchain_version/}" = "x${VALID_VS_VERSIONS}"; then
AC_MSG_NOTICE([Visual Studio version $with_toolchain_version is not valid.])
AC_MSG_NOTICE([Valid Visual Studio versions: $VALID_VS_VERSIONS.])
AC_MSG_ERROR([Cannot continue.])
fi
VS_VERSIONS_PROBE_LIST="$with_toolchain_version"
else
# No flag given, use default
VS_VERSIONS_PROBE_LIST="$VALID_VS_VERSIONS"
fi
for VS_VERSION in $VS_VERSIONS_PROBE_LIST; do
TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE([$VS_VERSION])
if test "x$VS_ENV_CMD" != x; then
TOOLCHAIN_VERSION=$VS_VERSION
eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
# The rest of the variables are already evaled while probing
AC_MSG_NOTICE([Found $VS_DESCRIPTION])
break
fi
done
])
################################################################################
# Check if the VS env variables were setup prior to running configure.
# If not, then find vcvarsall.bat and run it automatically, and integrate
# the set env variables into the spec file.
@@ -142,7 +260,8 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
fi
# First-hand choice is to locate and run the vsvars bat file.
TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE
TOOLCHAIN_FIND_VISUAL_STUDIO
if test "x$VS_ENV_CMD" != x; then
# We have found a Visual Studio environment on disk, let's extract variables from the vsvars bat file.
BASIC_FIXUP_EXECUTABLE(VS_ENV_CMD)
@@ -213,9 +332,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
AC_MSG_ERROR([Your VC command prompt seems broken, INCLUDE and/or LIB is missing.])
else
AC_MSG_RESULT([ok])
# Remove any trailing "\" and " " from the variables.
VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'`
VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'`
# Remove any trailing "\" ";" and " " from the variables.
VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'`
VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'`
VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'`
WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
@@ -226,6 +345,42 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
AC_SUBST(VS_PATH)
AC_SUBST(VS_INCLUDE)
AC_SUBST(VS_LIB)
# Convert VS_INCLUDE into SYSROOT_CFLAGS
OLDIFS="$IFS"
IFS=";"
for i in $VS_INCLUDE; do
ipath=$i
# Only process non-empty elements
if test "x$ipath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$ipath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([ipath])
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath"
fi
IFS=";"
fi
done
# Convert VS_LIB into SYSROOT_LDFLAGS
for i in $VS_LIB; do
libpath=$i
# Only process non-empty elements
if test "x$libpath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$libpath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([libpath])
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath"
fi
IFS=";"
fi
done
IFS="$OLDIFS"
fi
else
AC_MSG_RESULT([not found])
@@ -242,16 +397,17 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
fi
])
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL],
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL],
[
POSSIBLE_MSVCR_DLL="$1"
METHOD="$2"
if test -e "$POSSIBLE_MSVCR_DLL"; then
AC_MSG_NOTICE([Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD])
DLL_NAME="$1"
POSSIBLE_MSVC_DLL="$2"
METHOD="$3"
if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
AC_MSG_NOTICE([Found $1 at $POSSIBLE_MSVC_DLL using $METHOD])
# Need to check if the found msvcr is correct architecture
AC_MSG_CHECKING([found msvcr100.dll architecture])
MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
AC_MSG_CHECKING([found $1 architecture])
MSVC_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVC_DLL"`
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
# The MSYS 'file' command returns "PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit"
# on x32 and "PE32+ executable for MS Windows (DLL) (GUI) Mono/.Net assembly" on x64 systems.
@@ -267,96 +423,135 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL],
CORRECT_MSVCR_ARCH=x86-64
fi
fi
if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP "$CORRECT_MSVCR_ARCH" 2>&1 > /dev/null; then
if $ECHO "$MSVC_DLL_FILETYPE" | $GREP "$CORRECT_MSVCR_ARCH" 2>&1 > /dev/null; then
AC_MSG_RESULT([ok])
MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
AC_MSG_CHECKING([for msvcr100.dll])
AC_MSG_RESULT([$MSVCR_DLL])
MSVC_DLL="$POSSIBLE_MSVC_DLL"
AC_MSG_CHECKING([for $1])
AC_MSG_RESULT([$MSVC_DLL])
else
AC_MSG_RESULT([incorrect, ignoring])
AC_MSG_NOTICE([The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE])
AC_MSG_NOTICE([The file type of the located $1 is $MSVC_DLL_FILETYPE])
fi
fi
])
AC_DEFUN([TOOLCHAIN_SETUP_MSVCR_DLL],
AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
[
AC_ARG_WITH(msvcr-dll, [AS_HELP_STRING([--with-msvcr-dll],
[copy this msvcr100.dll into the built JDK (Windows only) @<:@probed@:>@])])
VAR_NAME="$1"
DLL_NAME="$2"
MSVC_DLL=
if test "x$with_msvcr_dll" != x; then
# If given explicitely by user, do not probe. If not present, fail directly.
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$with_msvcr_dll], [--with-msvcr-dll])
if test "x$MSVCR_DLL" = x; then
AC_MSG_ERROR([Could not find a proper msvcr100.dll as specified by --with-msvcr-dll])
fi
fi
if test "x$MSVCR_DLL" = x; then
if test "x$MSVC_DLL" = x; then
# Probe: Using well-known location from Visual Studio 10.0
if test "x$VCINSTALLDIR" != x; then
CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VC_INSTALL_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVCR_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC100.CRT/msvcr100.dll"
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
else
POSSIBLE_MSVCR_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC100.CRT/msvcr100.dll"
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [well-known location in VCINSTALLDIR])
$ECHO "POSSIBLE_MSVC_DLL $POSSIBLEMSVC_DLL"
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[well-known location in VCINSTALLDIR])
fi
fi
if test "x$MSVCR_DLL" = x; then
if test "x$MSVC_DLL" = x; then
# Probe: Check in the Boot JDK directory.
POSSIBLE_MSVCR_DLL="$BOOT_JDK/bin/msvcr100.dll"
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [well-known location in Boot JDK])
POSSIBLE_MSVC_DLL="$BOOT_JDK/bin/$DLL_NAME"
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[well-known location in Boot JDK])
fi
if test "x$MSVCR_DLL" = x; then
if test "x$MSVC_DLL" = x; then
# Probe: Look in the Windows system32 directory
CYGWIN_SYSTEMROOT="$SYSTEMROOT"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_SYSTEMROOT)
POSSIBLE_MSVCR_DLL="$CYGWIN_SYSTEMROOT/system32/msvcr100.dll"
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [well-known location in SYSTEMROOT])
POSSIBLE_MSVC_DLL="$CYGWIN_SYSTEMROOT/system32/$DLL_NAME"
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[well-known location in SYSTEMROOT])
fi
if test "x$MSVCR_DLL" = x; then
if test "x$MSVC_DLL" = x; then
# Probe: If Visual Studio Express is installed, there is usually one with the debugger
if test "x$VS100COMNTOOLS" != x; then
CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VS_TOOLS_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name msvcr100.dll | $GREP -i /x64/ | $HEAD --lines 1`
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /x64/ | $HEAD --lines 1`
else
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name msvcr100.dll | $GREP -i /x86/ | $HEAD --lines 1`
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /x86/ | $HEAD --lines 1`
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [search of VS100COMNTOOLS])
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[search of VS100COMNTOOLS])
fi
fi
if test "x$MSVCR_DLL" = x; then
if test "x$MSVC_DLL" = x; then
# Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
# (This was the original behaviour; kept since it might turn up something)
# (This was the original behaviour; kept since it might turn something up)
if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $GREP x64 | $HEAD --lines 1`
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP x64 | $HEAD --lines 1`
else
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
if test "x$POSSIBLE_MSVCR_DLL" = x; then
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
if test "x$POSSIBLE_MSVC_DLL" = x; then
# We're grasping at straws now...
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $HEAD --lines 1`
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $HEAD --lines 1`
fi
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [search of VCINSTALLDIR])
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[search of VCINSTALLDIR])
fi
fi
if test "x$MSVCR_DLL" = x; then
AC_MSG_CHECKING([for msvcr100.dll])
if test "x$MSVC_DLL" = x; then
AC_MSG_CHECKING([for $DLL_NAME])
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find msvcr100.dll. Please specify using --with-msvcr-dll.])
AC_MSG_ERROR([Could not find $DLL_NAME. Please specify using --with-msvcr-dll.])
fi
BASIC_FIXUP_PATH(MSVCR_DLL)
$1=$MSVC_DLL
BASIC_FIXUP_PATH($1)
AC_SUBST($1, [$]$1)
])
AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
[
AC_ARG_WITH(msvcr-dll, [AS_HELP_STRING([--with-msvcr-dll],
[path to microsoft C runtime dll (msvcr*.dll) (Windows only) @<:@probed@:>@])])
if test "x$with_msvcr_dll" != x; then
# If given explicitely by user, do not probe. If not present, fail directly.
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$with_msvcr_dll],
[--with-msvcr-dll])
if test "x$MSVC_DLL" = x; then
AC_MSG_ERROR([Could not find a proper $MSVCR_NAME as specified by --with-msvcr-dll])
fi
else
TOOLCHAIN_SETUP_MSVC_DLL([MSVCR_DLL], [${MSVCR_NAME}])
fi
AC_ARG_WITH(msvcp-dll, [AS_HELP_STRING([--with-msvcp-dll],
[path to microsoft C++ runtime dll (msvcp*.dll) (Windows only) @<:@probed@:>@])])
if test "x$MSVCP_NAME" != "x"; then
if test "x$with_msvcp_dll" != x; then
# If given explicitely by user, do not probe. If not present, fail directly.
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$with_msvcp_dll],
[--with-msvcp-dll])
if test "x$MSVC_DLL" = x; then
AC_MSG_ERROR([Could not find a proper $MSVCP_NAME as specified by --with-msvcp-dll])
fi
else
TOOLCHAIN_SETUP_MSVC_DLL([MSVCP_DLL], [${MSVCP_NAME}])
fi
fi
])

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
# the root of the build directory.
##########################################################################################
################################################################################
# Check that we are run via the wrapper generated by configure
if [ -z "$SRC_ROOT" ]; then
@@ -35,7 +35,7 @@ if [ -z "$SRC_ROOT" ]; then
fi
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
FULLDUMP_CMD="$OTOOL -v -V -h -X -t -d"
FULLDUMP_CMD="$OTOOL -v -V -h -X -d"
LDD_CMD="$OTOOL -L"
DIS_CMD="$OTOOL -v -t"
STAT_PRINT_SIZE="-f %z"
@@ -61,7 +61,7 @@ fi
# Include exception definitions
. "$COMPARE_EXCEPTIONS_INCLUDE"
##########################################################################################
################################################################################
# Compare text files and ignore specific differences:
#
# * Timestamps in Java sources generated by idl2java
@@ -134,9 +134,15 @@ diff_text() {
$SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d')
fi
if test "x$SUFFIX" = "xhtml"; then
TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
# Some javadoc versions do not put quotes around font size
HTML_FILTER="$SED \
-e 's/<font size=-1>/<font size=\"-1\">/g'"
$CAT $THIS_FILE | eval "$HTML_FILTER" > $THIS_FILE.filtered
$CAT $OTHER_FILE | eval "$HTML_FILTER" > $OTHER_FILE.filtered
TMP=$(LC_ALL=C $DIFF $OTHER_FILE.filtered $THIS_FILE.filtered | \
$GREP '^[<>]' | \
$SED -e '/[<>] <!-- Generated by javadoc .* on .* -->/d' )
$SED -e '/[<>] <!-- Generated by javadoc .* on .* -->/d' \
-e '/[<>] <meta name="date" content=".*">/d' )
fi
if test -n "$TMP"; then
echo Files $OTHER_FILE and $THIS_FILE differ
@@ -146,7 +152,7 @@ diff_text() {
return 0
}
##########################################################################################
################################################################################
# Compare directory structure
compare_dirs() {
@@ -182,7 +188,7 @@ compare_dirs() {
}
##########################################################################################
################################################################################
# Compare file structure
compare_files() {
@@ -218,7 +224,7 @@ compare_files() {
}
##########################################################################################
################################################################################
# Compare permissions
compare_permissions() {
@@ -249,7 +255,7 @@ compare_permissions() {
fi
}
##########################################################################################
################################################################################
# Compare file command output
compare_file_types() {
@@ -289,7 +295,7 @@ compare_file_types() {
fi
}
##########################################################################################
################################################################################
# Compare the rest of the files
compare_general_files() {
@@ -297,12 +303,14 @@ compare_general_files() {
OTHER_DIR=$2
WORK_DIR=$3
GENERAL_FILES=$(cd $THIS_DIR && $FIND . -type f ! -name "*.so" ! -name "*.jar" ! -name "*.zip" \
! -name "*.debuginfo" ! -name "*.dylib" ! -name "jexec" ! -name "*.jimage" \
! -name "ct.sym" ! -name "*.diz" ! -name "*.dll" ! -name "*.cpl" \
! -name "*.pdb" ! -name "*.exp" ! -name "*.ilk" \
GENERAL_FILES=$(cd $THIS_DIR && $FIND . -type f ! -name "*.so" ! -name "*.jar" \
! -name "*.zip" ! -name "*.debuginfo" ! -name "*.dylib" ! -name "jexec" \
! -name "*.jimage" ! -name "ct.sym" ! -name "*.diz" ! -name "*.dll" \
! -name "*.cpl" ! -name "*.pdb" ! -name "*.exp" ! -name "*.ilk" \
! -name "*.lib" ! -name "*.war" ! -name "JavaControlPanel" \
! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" ! -name "JavaUpdater" \
! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" \
! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \
! -name "jspawnhelper" \
| $GREP -v "./bin/" | $SORT | $FILTER)
echo General files...
@@ -357,7 +365,7 @@ compare_general_files() {
}
##########################################################################################
################################################################################
# Compare zip file
compare_zip_file() {
@@ -456,8 +464,9 @@ compare_zip_file() {
fi
if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
DIFFING_FILES=$($GREP -e "differ$" -e "^diff " $CONTENTS_DIFF_FILE \
| $CUT -f 3 -d ' ' | $SED "s|$OTHER_UNZIPDIR/||g")
DIFFING_FILES=$($GREP -e 'differ$' -e '^diff ' $CONTENTS_DIFF_FILE \
| $SED -e 's/^Files //g' -e 's/diff -r //g' | $CUT -f 1 -d ' ' \
| $SED "s|$OTHER_UNZIPDIR/||g")
else
DIFFING_FILES=$($GREP -e "differ$" $CONTENTS_DIFF_FILE \
| $CUT -f 2 -d ' ' | $SED "s|$OTHER_UNZIPDIR/||g")
@@ -473,7 +482,7 @@ compare_zip_file() {
if [ -s "$WORK_DIR/$ZIP_FILE.diffs" ]; then
return_value=1
echo " Differing files in $ZIP_FILE"
$CAT $WORK_DIR/$ZIP_FILE.diffs | $GREP differ | cut -f 2 -d ' ' | \
$CAT $WORK_DIR/$ZIP_FILE.diffs | $GREP 'differ$' | cut -f 2 -d ' ' | \
$SED "s|$OTHER_UNZIPDIR| |g" > $WORK_DIR/$ZIP_FILE.difflist
$CAT $WORK_DIR/$ZIP_FILE.difflist
@@ -494,7 +503,7 @@ compare_zip_file() {
}
##########################################################################################
################################################################################
# Compare all zip files
compare_all_zip_files() {
@@ -522,7 +531,7 @@ compare_all_zip_files() {
return $return_value
}
##########################################################################################
################################################################################
# Compare all jar files
compare_all_jar_files() {
@@ -552,7 +561,7 @@ compare_all_jar_files() {
return $return_value
}
##########################################################################################
################################################################################
# Compare binary (executable/library) file
compare_bin_file() {
@@ -798,8 +807,12 @@ compare_bin_file() {
# Compare fulldump output
if [ -n "$FULLDUMP_CMD" ] && [ -z "$SKIP_FULLDUMP_DIFF" ]; then
$FULLDUMP_CMD $OTHER_FILE > $WORK_FILE_BASE.fulldump.other 2>&1
$FULLDUMP_CMD $THIS_FILE > $WORK_FILE_BASE.fulldump.this 2>&1
if [ -z "$FULLDUMP_DIFF_FILTER" ]; then
FULLDUMP_DIFF_FILTER="$CAT"
fi
$FULLDUMP_CMD $OTHER_FILE | eval "$FULLDUMP_DIFF_FILTER" > $WORK_FILE_BASE.fulldump.other 2>&1
$FULLDUMP_CMD $THIS_FILE | eval "$FULLDUMP_DIFF_FILTER" > $WORK_FILE_BASE.fulldump.this 2>&1
LC_ALL=C $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this > $WORK_FILE_BASE.fulldump.diff
if [ -s $WORK_FILE_BASE.fulldump.diff ]; then
@@ -895,7 +908,7 @@ compare_bin_file() {
return 0
}
##########################################################################################
################################################################################
# Print binary diff header
print_binary_diff_header() {
@@ -908,7 +921,7 @@ print_binary_diff_header() {
echo
}
##########################################################################################
################################################################################
# Compare all libraries
compare_all_libs() {
@@ -936,7 +949,7 @@ compare_all_libs() {
return $return_value
}
##########################################################################################
################################################################################
# Compare all executables
compare_all_execs() {
@@ -971,7 +984,7 @@ compare_all_execs() {
return $return_value
}
##########################################################################################
################################################################################
# Initiate configuration
COMPARE_ROOT=/tmp/cimages.$USER
@@ -982,7 +995,7 @@ if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
fi
fi
THIS="$( cd "$( dirname "$0" )" && pwd )"
THIS="$( cd "$( dirname "$0" )" > /dev/null && pwd )"
echo "$THIS"
THIS_SCRIPT="$0"
@@ -1072,8 +1085,8 @@ while [ -n "$1" ]; do
CMP_EXECS=true
;;
-2dirs)
THIS="$(cd "$2" && pwd )"
OTHER="$(cd "$3" && pwd )"
THIS="$(cd "$2" > /dev/null && pwd )"
OTHER="$(cd "$3" > /dev/null && pwd )"
THIS_BASE_DIR="$THIS"
OTHER_BASE_DIR="$OTHER"
SKIP_DEFAULT=true
@@ -1114,9 +1127,9 @@ done
if [ "$CMP_2_ZIPS" = "true" ]; then
THIS_DIR="$(dirname $THIS_FILE)"
THIS_DIR="$(cd "$THIS_DIR" && pwd )"
THIS_DIR="$(cd "$THIS_DIR" > /dev/null && pwd )"
OTHER_DIR="$(dirname $OTHER_FILE)"
OTHER_DIR="$(cd "$OTHER_DIR" && pwd )"
OTHER_DIR="$(cd "$OTHER_DIR" > /dev/null && pwd )"
THIS_FILE_NAME="$(basename $THIS_FILE)"
OTHER_FILE_NAME="$(basename $OTHER_FILE)"
echo Comparing $THIS_DIR/$THIS_FILE_NAME and $OTHER_DIR/$OTHER_FILE_NAME
@@ -1126,9 +1139,9 @@ fi
if [ "$CMP_2_BINS" = "true" ]; then
THIS_DIR="$(dirname $THIS_FILE)"
THIS_DIR="$(cd "$THIS_DIR" && pwd )"
THIS_DIR="$(cd "$THIS_DIR" > /dev/null && pwd )"
OTHER_DIR="$(dirname $OTHER_FILE)"
OTHER_DIR="$(cd "$OTHER_DIR" && pwd )"
OTHER_DIR="$(cd "$OTHER_DIR" > /dev/null && pwd )"
THIS_FILE_NAME="$(basename $THIS_FILE)"
OTHER_FILE_NAME="$(basename $OTHER_FILE)"
echo Comparing $THIS_DIR/$THIS_FILE_NAME and $OTHER_DIR/$OTHER_FILE_NAME
@@ -1161,7 +1174,7 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
echo "$OTHER"
exit 1
fi
OTHER="$( cd "$OTHER" && pwd )"
OTHER="$( cd "$OTHER" > /dev/null && pwd )"
echo "Comparing to:"
echo "$OTHER"
echo
@@ -1170,45 +1183,98 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
# Find the common images to compare, prioritizing later build stages
if [ -d "$THIS/install/jdk" ] && [ -d "$OTHER/install/jdk" ]; then
THIS_J2SDK="$THIS/install/jdk"
THIS_J2RE="$THIS/install/jre"
OTHER_J2SDK="$OTHER/install/jdk"
OTHER_J2RE="$OTHER/install/jre"
THIS_JDK="$THIS/install/jdk"
THIS_JRE="$THIS/install/jre"
OTHER_JDK="$OTHER/install/jdk"
OTHER_JRE="$OTHER/install/jre"
echo "Selecting install images for compare"
elif [ -d "$THIS/deploy/jdk" ] && [ -d "$OTHER/deploy/jdk" ]; then
THIS_J2SDK="$THIS/deploy/jdk"
THIS_J2RE="$THIS/deploy/jre"
OTHER_J2SDK="$OTHER/deploy/jdk"
OTHER_J2RE="$OTHER/deploy/jre"
elif [ -d "$THIS/deploy/jdk" -o -d "$THIS/deploy/images/jdk" ] \
&& [ -d "$OTHER/deploy/jdk" -o -d "$OTHER/deploy/images/jdk" ]; then
if [ -d "$THIS/deploy/images/jdk" ]; then
THIS_JDK="$THIS/deploy/images/jdk"
THIS_JRE="$THIS/deploy/images/jre"
else
THIS_JDK="$THIS/deploy/jdk"
THIS_JRE="$THIS/deploy/jre"
fi
if [ -d "$OTHER/deploy/images/jdk" ]; then
OTHER_JDK="$OTHER/deploy/images/jdk"
OTHER_JRE="$OTHER/deploy/images/jre"
else
OTHER_JDK="$OTHER/deploy/jdk"
OTHER_JRE="$OTHER/deploy/jre"
fi
echo "Selecting deploy images for compare"
elif [ -d "$THIS/deploy/images/jdk" ] && [ -d "$OTHER/deploy/jdk" ]; then
THIS_JDK="$THIS/deploy/jdk"
THIS_JRE="$THIS/deploy/jre"
OTHER_JDK="$OTHER/deploy/jdk"
OTHER_JRE="$OTHER/deploy/jre"
echo "Selecting deploy images for compare"
elif [ -d "$THIS/images/jdk" ] && [ -d "$OTHER/images/jdk" ]; then
THIS_J2SDK="$THIS/images/jdk"
THIS_J2RE="$THIS/images/jre"
OTHER_J2SDK="$OTHER/images/jdk"
OTHER_J2RE="$OTHER/images/jre"
THIS_JDK="$THIS/images/jdk"
THIS_JRE="$THIS/images/jre"
OTHER_JDK="$OTHER/images/jdk"
OTHER_JRE="$OTHER/images/jre"
echo "Selecting jdk images for compare"
else
echo "No common images found."
exit 1
fi
if [ -d "$THIS/images/jdk-bundle" ] && [ -d "$OTHER/images/jdk-bundle" ]; then
THIS_J2SDK_BUNDLE="$THIS/images/jdk-bundle"
THIS_J2RE_BUNDLE="$THIS/images/jre-bundle"
OTHER_J2SDK_BUNDLE="$OTHER/images/jdk-bundle"
OTHER_J2RE_BUNDLE="$OTHER/images/jre-bundle"
if [ -d "$THIS/deploy/jdk-bundle" -o -d "$THIS/deploy/images/jdk-bundle" ] \
&& [ -d "$OTHER/deploy/jdk-bundle" -o -d "$OTHER/deploy/images/jdk-bundle" ]; then
if [ -d "$THIS/deploy/images/jdk-bundle" ]; then
THIS_JDK_BUNDLE="$THIS/deploy/images/jdk-bundle"
THIS_JRE_BUNDLE="$THIS/deploy/images/jre-bundle"
else
THIS_JDK_BUNDLE="$THIS/deploy/jdk-bundle"
THIS_JRE_BUNDLE="$THIS/deploy/jre-bundle"
fi
if [ -d "$OTHER/deploy/images/jdk-bundle" ]; then
OTHER_JDK_BUNDLE="$OTHER/deploy/images/jdk-bundle"
OTHER_JRE_BUNDLE="$OTHER/deploy/images/jre-bundle"
else
OTHER_JDK_BUNDLE="$OTHER/deploy/jdk-bundle"
OTHER_JRE_BUNDLE="$OTHER/deploy/jre-bundle"
fi
echo "Also comparing deploy macosx bundles"
elif [ -d "$THIS/images/jdk-bundle" ] && [ -d "$OTHER/images/jdk-bundle" ]; then
THIS_JDK_BUNDLE="$THIS/images/jdk-bundle"
THIS_JRE_BUNDLE="$THIS/images/jre-bundle"
OTHER_JDK_BUNDLE="$OTHER/images/jdk-bundle"
OTHER_JRE_BUNDLE="$OTHER/images/jre-bundle"
echo "Also comparing macosx bundles"
fi
if [ -d "$THIS/deploy" ] && [ -d "$OTHER/deploy" ]; then
THIS_DEPLOY_BUNDLE_DIR="$THIS/deploy/dist/installer/bundles"
OTHER_DEPLOY_BUNDLE_DIR="$OTHER/deploy/bundles"
echo "Also comparing deploy/bundles"
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
if [ -d "$THIS/deploy/bundles" -o -d "$THIS/deploy/images/bundles" ] \
&& [ -d "$OTHER/deploy/bundles" -o -d "$OTHER/deploy/images/bundles" ]; then
if [ -d "$THIS/deploy/images/bundles" ]; then
THIS_DEPLOY_BUNDLE_DIR="$THIS/deploy/images/bundles"
else
THIS_DEPLOY_BUNDLE_DIR="$THIS/deploy/bundles"
fi
if [ -d "$OTHER/deploy/images/bundles" ]; then
OTHER_DEPLOY_BUNDLE_DIR="$OTHER/deploy/images/bundles"
else
OTHER_DEPLOY_BUNDLE_DIR="$OTHER/deploy/bundles"
fi
echo "Also comparing deploy javadoc bundles"
fi
if [ -d "$THIS/deploy/JavaAppletPlugin.plugin" -o -d "$THIS/deploy/images/JavaAppletPlugin.plugin" ] \
&& [ -d "$OTHER/deploy/JavaAppletPlugin.plugin" -o -d "$OTHER/deploy/images/JavaAppletPlugin.plugin" ]; then
if [ -d "$THIS/deploy/images/bundles" ]; then
THIS_DEPLOY_APPLET_PLUGIN_DIR="$THIS/deploy/images/JavaAppletPlugin.plugin"
else
THIS_DEPLOY_APPLET_PLUGIN_DIR="$THIS/deploy/JavaAppletPlugin.plugin"
fi
if [ -d "$OTHER/deploy/images/bundles" ]; then
OTHER_DEPLOY_APPLET_PLUGIN_DIR="$OTHER/deploy/images/JavaAppletPlugin.plugin"
else
OTHER_DEPLOY_APPLET_PLUGIN_DIR="$OTHER/deploy/JavaAppletPlugin.plugin"
echo "Also comparing JavaAppletPlugin"
fi
fi
echo "Also comparing deploy applet image"
fi
if [ -d "$OTHER/images" ]; then
@@ -1240,31 +1306,31 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
fi
fi
##########################################################################################
################################################################################
# Do the work
if [ "$CMP_NAMES" = "true" ]; then
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
echo -n "J2SDK "
compare_dirs $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
echo -n "J2RE "
compare_dirs $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK "
compare_dirs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE "
compare_dirs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
echo -n "J2SDK "
compare_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
echo -n "J2RE "
compare_files $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
echo -n "JDK "
compare_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE "
compare_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
if [ -n "$THIS_J2SDK_BUNDLE" ] && [ -n "$OTHER_J2SDK_BUNDLE" ]; then
echo -n "J2SDK Bundle "
compare_dirs $THIS_J2SDK_BUNDLE $OTHER_J2SDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "J2RE Bundle "
compare_dirs $THIS_J2RE_BUNDLE $OTHER_J2RE_BUNDLE $COMPARE_ROOT/jre-bundle
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle "
compare_dirs $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle "
compare_dirs $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
echo -n "J2SDK Bundle "
compare_files $THIS_J2SDK_BUNDLE $OTHER_J2SDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "J2RE Bundle "
compare_files $THIS_J2RE_BUNDLE $OTHER_J2RE_BUNDLE $COMPARE_ROOT/jre-bundle
echo -n "JDK Bundle "
compare_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle "
compare_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
echo -n "Docs "
@@ -1285,11 +1351,11 @@ if [ "$CMP_NAMES" = "true" ]; then
fi
if [ "$CMP_PERMS" = "true" ]; then
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
echo -n "J2SDK "
compare_permissions $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
echo -n "J2RE "
compare_permissions $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK "
compare_permissions $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE "
compare_permissions $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
compare_permissions $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir
@@ -1301,17 +1367,17 @@ if [ "$CMP_PERMS" = "true" ]; then
fi
if [ "$CMP_TYPES" = "true" ]; then
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
echo -n "J2SDK "
compare_file_types $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
echo -n "J2RE "
compare_file_types $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK "
compare_file_types $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE "
compare_file_types $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
if [ -n "$THIS_J2SDK_BUNDLE" ] && [ -n "$OTHER_J2SDK_BUNDLE" ]; then
echo -n "J2SDK Bundle "
compare_file_types $THIS_J2SDK_BUNDLE $OTHER_J2SDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "J2RE Bundle "
compare_file_types $THIS_J2RE_BUNDLE $OTHER_J2RE_BUNDLE $COMPARE_ROOT/jre-bundle
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle "
compare_file_types $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle "
compare_file_types $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
compare_file_types $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir
@@ -1323,17 +1389,17 @@ if [ "$CMP_TYPES" = "true" ]; then
fi
if [ "$CMP_GENERAL" = "true" ]; then
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
echo -n "J2SDK "
compare_general_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
echo -n "J2RE "
compare_general_files $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK "
compare_general_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE "
compare_general_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
if [ -n "$THIS_J2SDK_BUNDLE" ] && [ -n "$OTHER_J2SDK_BUNDLE" ]; then
echo -n "J2SDK Bundle "
compare_general_files $THIS_J2SDK_BUNDLE $OTHER_J2SDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "J2RE Bundle "
compare_general_files $THIS_J2RE_BUNDLE $OTHER_J2RE_BUNDLE $COMPARE_ROOT/jre-bundle
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle "
compare_general_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle "
compare_general_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
echo -n "Docs "
@@ -1349,8 +1415,8 @@ if [ "$CMP_GENERAL" = "true" ]; then
fi
if [ "$CMP_ZIPS" = "true" ]; then
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
compare_all_zip_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
compare_all_zip_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
fi
if [ -n "$THIS_SEC_BIN" ] && [ -n "$OTHER_SEC_BIN" ]; then
if [ -n "$(echo $THIS_SEC_BIN | $FILTER)" ]; then
@@ -1382,8 +1448,8 @@ if [ "$CMP_ZIPS" = "true" ]; then
fi
if [ "$CMP_JARS" = "true" ]; then
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
compare_all_jar_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
compare_all_jar_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
compare_all_jar_files $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir
@@ -1394,12 +1460,12 @@ if [ "$CMP_JARS" = "true" ]; then
fi
if [ "$CMP_LIBS" = "true" ]; then
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
echo -n "J2SDK "
compare_all_libs $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK "
compare_all_libs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
echo -n "J2RE "
compare_all_libs $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
echo -n "JRE "
compare_all_libs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
@@ -1412,11 +1478,11 @@ if [ "$CMP_LIBS" = "true" ]; then
fi
if [ "$CMP_EXECS" = "true" ]; then
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
compare_all_execs $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
compare_all_execs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
echo -n "J2RE "
compare_all_execs $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
echo -n "JRE "
compare_all_execs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then

View File

@@ -59,17 +59,17 @@ ACCEPTED_BIN_DIFF="
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./jre/lib/i386/client/libjvm.so
./jre/lib/i386/libattach.so
./jre/lib/i386/libdt_socket.so
./jre/lib/i386/libhprof.so
./jre/lib/i386/libinstrument.so
./jre/lib/i386/libjava_crw_demo.so
./jre/lib/i386/libjsdt.so
./jre/lib/i386/libmanagement.so
./jre/lib/i386/libnpt.so
./jre/lib/i386/libverify.so
./jre/lib/i386/server/libjvm.so
./lib/i386/client/libjvm.so
./lib/i386/libattach.so
./lib/i386/libdt_socket.so
./lib/i386/libhprof.so
./lib/i386/libinstrument.so
./lib/i386/libjava_crw_demo.so
./lib/i386/libjsdt.so
./lib/i386/libmanagement.so
./lib/i386/libnpt.so
./lib/i386/libverify.so
./lib/i386/server/libjvm.so
./bin/appletviewer
./bin/idlj
./bin/jar
@@ -109,16 +109,6 @@ ACCEPTED_BIN_DIFF="
./bin/wsgen
./bin/wsimport
./bin/xjc
./jre/bin/java
./jre/bin/jjs
./jre/bin/keytool
./jre/bin/orbd
./jre/bin/pack200
./jre/bin/policytool
./jre/bin/rmid
./jre/bin/rmiregistry
./jre/bin/servertool
./jre/bin/tnameserv
"
fi
@@ -147,19 +137,19 @@ ACCEPTED_BIN_DIFF="
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./jre/lib/amd64/libattach.so
./jre/lib/amd64/libdt_socket.so
./jre/lib/amd64/libhprof.so
./jre/lib/amd64/libinstrument.so
./jre/lib/amd64/libjava_crw_demo.so
./jre/lib/amd64/libjsdt.so
./jre/lib/amd64/libjsig.so
./jre/lib/amd64/libmanagement.so
./jre/lib/amd64/libnpt.so
./jre/lib/amd64/libsaproc.so
./jre/lib/amd64/libverify.so
./jre/lib/amd64/server/libjsig.so
./jre/lib/amd64/server/libjvm.so
./lib/amd64/libattach.so
./lib/amd64/libdt_socket.so
./lib/amd64/libhprof.so
./lib/amd64/libinstrument.so
./lib/amd64/libjava_crw_demo.so
./lib/amd64/libjsdt.so
./lib/amd64/libjsig.so
./lib/amd64/libmanagement.so
./lib/amd64/libnpt.so
./lib/amd64/libsaproc.so
./lib/amd64/libverify.so
./lib/amd64/server/libjsig.so
./lib/amd64/server/libjvm.so
./bin/appletviewer
./bin/idlj
./bin/jar
@@ -199,318 +189,12 @@ ACCEPTED_BIN_DIFF="
./bin/wsgen
./bin/wsimport
./bin/xjc
./jre/bin/java
./jre/bin/jjs
./jre/bin/keytool
./jre/bin/orbd
./jre/bin/pack200
./jre/bin/policytool
./jre/bin/rmid
./jre/bin/rmiregistry
./jre/bin/servertool
./jre/bin/tnameserv
"
fi
if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
STRIP_BEFORE_COMPARE="
./demo/jni/Poller/lib/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/libgctest.so
./demo/jvmti/heapTracker/lib/libheapTracker.so
./demo/jvmti/heapViewer/lib/libheapViewer.so
./demo/jvmti/hprof/lib/libhprof.so
./demo/jvmti/minst/lib/libminst.so
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./jre/lib/i386/jexec
"
SORT_SYMBOLS="
./jre/lib/i386/client/libjvm.so
./jre/lib/i386/libsaproc.so
./jre/lib/i386/server/libjvm.so
"
SKIP_BIN_DIFF="true"
ACCEPTED_SMALL_SIZE_DIFF="
./demo/jni/Poller/lib/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/libgctest.so
./demo/jvmti/heapTracker/lib/libheapTracker.so
./demo/jvmti/heapViewer/lib/libheapViewer.so
./demo/jvmti/hprof/lib/libhprof.so
./demo/jvmti/minst/lib/libminst.so
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./jre/lib/i386/client/libjvm.so
./jre/lib/i386/jli/libjli.so
./jre/lib/i386/libJdbcOdbc.so
./jre/lib/i386/libattach.so
./jre/lib/i386/libawt.so
./jre/lib/i386/libawt_headless.so
./jre/lib/i386/libawt_xawt.so
./jre/lib/i386/libdcpr.so
./jre/lib/i386/libdt_socket.so
./jre/lib/i386/libfontmanager.so
./jre/lib/i386/libhprof.so
./jre/lib/i386/libinstrument.so
./jre/lib/i386/libj2gss.so
./jre/lib/i386/libj2pcsc.so
./jre/lib/i386/libj2pkcs11.so
./jre/lib/i386/libj2ucrypto.so
./jre/lib/i386/libjaas_unix.so
./jre/lib/i386/libjava.so
./jre/lib/i386/libjava_crw_demo.so
./jre/lib/i386/libjawt.so
./jre/lib/i386/libjdwp.so
./jre/lib/i386/libjfr.so
./jre/lib/i386/libjpeg.so
./jre/lib/i386/libjsdt.so
./jre/lib/i386/libjsound.so
./jre/lib/i386/libkcms.so
./jre/lib/i386/liblcms.so
./jre/lib/i386/libmanagement.so
./jre/lib/i386/libmlib_image.so
./jre/lib/i386/libnet.so
./jre/lib/i386/libnio.so
./jre/lib/i386/libnpt.so
./jre/lib/i386/libsctp.so
./jre/lib/i386/libsplashscreen.so
./jre/lib/i386/libsunec.so
./jre/lib/i386/libsunwjdga.so
./jre/lib/i386/libt2k.so
./jre/lib/i386/libunpack.so
./jre/lib/i386/libverify.so
./jre/lib/i386/libzip.so
./jre/lib/i386/libdeploy.so
./jre/lib/i386/libjavaplugin.so
./jre/lib/i386/libjavaplugin_jni.so
./jre/lib/i386/libjavaplugin_nscp.so
./jre/lib/i386/libjavaplugin_oji.so
./jre/lib/i386/libnpjp2.so
./jre/plugin/i386/ns4/libjavaplugin.so
./jre/plugin/i386/ns7/libjavaplugin_oji.so
./jre/lib/i386/server/libjvm.so
./jre/lib/i386/client/64/libjvm_db.so
./jre/lib/i386/client/64/libjvm_dtrace.so
./jre/lib/i386/client/libjvm_db.so
./jre/lib/i386/client/libjvm_dtrace.so
./jre/lib/i386/server/64/libjvm_db.so
./jre/lib/i386/server/64/libjvm_dtrace.so
./jre/lib/i386/server/libjvm_db.so
./jre/lib/i386/server/libjvm_dtrace.so
./bin/appletviewer
./bin/idlj
./bin/jar
./bin/jarsigner
./bin/java
./bin/javac
./bin/javadoc
./bin/javah
./bin/javap
./bin/jdeps
./bin/javaws
./bin/jcmd
./bin/jconsole
./bin/jdb
./bin/jhat
./bin/jimage
./bin/jinfo
./bin/jjs
./bin/jmap
./bin/jps
./bin/jrunscript
./bin/jsadebugd
./bin/jstack
./bin/jstat
./bin/jstatd
./bin/keytool
./bin/native2ascii
./bin/orbd
./bin/pack200
./bin/policytool
./bin/rmic
./bin/rmid
./bin/rmiregistry
./bin/schemagen
./bin/serialver
./bin/servertool
./bin/tnameserv
./bin/unpack200
./bin/wsgen
./bin/wsimport
./bin/xjc
./jre/bin/java
./jre/bin/java_vm
./jre/bin/javaws
./jre/bin/keytool
./jre/bin/orbd
./jre/bin/pack200
./jre/bin/policytool
./jre/bin/rmid
./jre/bin/rmiregistry
./jre/bin/servertool
./jre/bin/tnameserv
./jre/bin/unpack200
./jre/lib/i386/jexec
"
SKIP_FULLDUMP_DIFF="true"
# Filter random C++ symbol strings.
# Some numbers differ randomly.
# Can't use space in these expressions as the shell will mess with them.
DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g -e s/\([0-9a-f][0-9a-f].\)\{2,8\}[0-9a-f][0-9a-f]/<NUMS>/g -e s/\(0x\)[0-9a-f]*\([,(>]\)/\1<HEX>\2/g -e s/\(0x\)[0-9a-f]*$/\1<HEX>/g -e s/\(\#.\)[0-9a-f]*\(.<\)/\1<HEX>\2/g -e s/[\.A-Za-z0-9%]\{16,16\}$/<BIN>/g"
fi
if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
STRIP_BEFORE_COMPARE="
./demo/jni/Poller/lib/amd64/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/amd64/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/amd64/libgctest.so
./demo/jvmti/heapTracker/lib/amd64/libheapTracker.so
./demo/jvmti/heapViewer/lib/amd64/libheapViewer.so
./demo/jvmti/hprof/lib/amd64/libhprof.so
./demo/jvmti/minst/lib/amd64/libminst.so
./demo/jvmti/mtrace/lib/amd64/libmtrace.so
./demo/jvmti/versionCheck/lib/amd64/libversionCheck.so
./demo/jvmti/waiters/lib/amd64/libwaiters.so
"
SORT_SYMBOLS="
./jre/lib/amd64/server/libjvm.so
./jre/lib/amd64/libsaproc.so
"
SKIP_BIN_DIFF="true"
ACCEPTED_SMALL_SIZE_DIFF="
./demo/jni/Poller/lib/amd64/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/amd64/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/amd64/libgctest.so
./demo/jvmti/heapTracker/lib/amd64/libheapTracker.so
./demo/jvmti/heapViewer/lib/amd64/libheapViewer.so
./demo/jvmti/hprof/lib/amd64/libhprof.so
./demo/jvmti/minst/lib/amd64/libminst.so
./demo/jvmti/mtrace/lib/amd64/libmtrace.so
./demo/jvmti/versionCheck/lib/amd64/libversionCheck.so
./demo/jvmti/waiters/lib/amd64/libwaiters.so
./jre/lib/amd64/jli/libjli.so
./jre/lib/amd64/libJdbcOdbc.so
./jre/lib/amd64/libattach.so
./jre/lib/amd64/libawt.so
./jre/lib/amd64/libawt_headless.so
./jre/lib/amd64/libawt_xawt.so
./jre/lib/amd64/libdcpr.so
./jre/lib/amd64/libdt_socket.so
./jre/lib/amd64/libfontmanager.so
./jre/lib/amd64/libhprof.so
./jre/lib/amd64/libinstrument.so
./jre/lib/amd64/libj2gss.so
./jre/lib/amd64/libj2pcsc.so
./jre/lib/amd64/libj2pkcs11.so
./jre/lib/amd64/libj2ucrypto.so
./jre/lib/amd64/libjaas_unix.so
./jre/lib/amd64/libjava.so
./jre/lib/amd64/libjava_crw_demo.so
./jre/lib/amd64/libjawt.so
./jre/lib/amd64/libjdwp.so
./jre/lib/amd64/libjfr.so
./jre/lib/amd64/libjpeg.so
./jre/lib/amd64/libjsdt.so
./jre/lib/amd64/libjsound.so
./jre/lib/amd64/libkcms.so
./jre/lib/amd64/liblcms.so
./jre/lib/amd64/libmanagement.so
./jre/lib/amd64/libmlib_image.so
./jre/lib/amd64/libnet.so
./jre/lib/amd64/libnio.so
./jre/lib/amd64/libnpt.so
./jre/lib/amd64/libsctp.so
./jre/lib/amd64/libsplashscreen.so
./jre/lib/amd64/libsunec.so
./jre/lib/amd64/libsunwjdga.so
./jre/lib/amd64/libt2k.so
./jre/lib/amd64/libunpack.so
./jre/lib/amd64/libverify.so
./jre/lib/amd64/libzip.so
./jre/lib/amd64/server/64/libjvm_db.so
./jre/lib/amd64/server/64/libjvm_dtrace.so
./jre/lib/amd64/server/libjvm.so
./jre/lib/amd64/server/libjvm_db.so
./jre/lib/amd64/server/libjvm_dtrace.so
./bin/amd64/appletviewer
./bin/amd64/idlj
./bin/amd64/jar
./bin/amd64/jarsigner
./bin/amd64/java
./bin/amd64/javac
./bin/amd64/javadoc
./bin/amd64/javah
./bin/amd64/javap
./bin/amd64/jdeps
./bin/amd64/jcmd
./bin/amd64/jconsole
./bin/amd64/jdb
./bin/amd64/jhat
./bin/amd64/jimage
./bin/amd64/jinfo
./bin/amd64/jjs
./bin/amd64/jmap
./bin/amd64/jps
./bin/amd64/jrunscript
./bin/amd64/jsadebugd
./bin/amd64/jstack
./bin/amd64/jstat
./bin/amd64/jstatd
./bin/amd64/keytool
./bin/amd64/native2ascii
./bin/amd64/orbd
./bin/amd64/pack200
./bin/amd64/policytool
./bin/amd64/rmic
./bin/amd64/rmid
./bin/amd64/rmiregistry
./bin/amd64/schemagen
./bin/amd64/serialver
./bin/amd64/servertool
./bin/amd64/tnameserv
./bin/amd64/unpack200
./bin/amd64/wsgen
./bin/amd64/wsimport
./bin/amd64/xjc
./jre/bin/amd64/java
./jre/bin/amd64/keytool
./jre/bin/amd64/orbd
./jre/bin/amd64/pack200
./jre/bin/amd64/policytool
./jre/bin/amd64/rmid
./jre/bin/amd64/rmiregistry
./jre/bin/amd64/servertool
./jre/bin/amd64/tnameserv
./jre/bin/amd64/unpack200
./jre/lib/amd64/jexec
"
SKIP_FULLDUMP_DIFF="true"
# Filter random C++ symbol strings.
# Some numbers differ randomly.
# Can't use space in these expressions as the shell will mess with them.
DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g -e s/\([0-9a-f][0-9a-f].\)\{2,8\}[0-9a-f][0-9a-f]/<NUMS>/g -e s/\(0x\)[0-9a-f]*\([,(>]\)/\1<HEX>\2/g -e s/\(0x\)[0-9a-f]*$/\1<HEX>/g -e s/\(\#.\)[0-9a-f]*\(.<\)/\1<HEX>\2/g -e s/[\.A-Za-z0-9%]\{16,16\}$/<BIN>/g"
fi
if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparc" ]; then
STRIP_BEFORE_COMPARE="
./demo/jni/Poller/lib/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
@@ -522,25 +206,11 @@ STRIP_BEFORE_COMPARE="
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./jre/lib/sparc/jexec
"
SORT_SYMBOLS="
./demo/jvmti/waiters/lib/libwaiters.so
./jre/lib/sparc/client/64/libjvm_db.so
./jre/lib/sparc/client/64/libjvm_dtrace.so
./jre/lib/sparc/client/libjsig.so
./jre/lib/sparc/client/libjvm.so
./jre/lib/sparc/client/libjvm_db.so
./jre/lib/sparc/client/libjvm_dtrace.so
./jre/lib/sparc/libjsig.so
./jre/lib/sparc/libsaproc.so
./jre/lib/sparc/server/64/libjvm_db.so
./jre/lib/sparc/server/64/libjvm_dtrace.so
./jre/lib/sparc/server/libjsig.so
./jre/lib/sparc/server/libjvm.so
./jre/lib/sparc/server/libjvm_db.so
./jre/lib/sparc/server/libjvm_dtrace.so
./lib/amd64/server/libjvm.so
./lib/amd64/libsaproc.so
"
SKIP_BIN_DIFF="true"
@@ -556,56 +226,51 @@ ACCEPTED_SMALL_SIZE_DIFF="
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./jre/lib/sparc/client/libjvm.so
./jre/lib/sparc/jli/libjli.so
./jre/lib/sparc/libJdbcOdbc.so
./jre/lib/sparc/libattach.so
./jre/lib/sparc/libawt.so
./jre/lib/sparc/libawt_headless.so
./jre/lib/sparc/libawt_xawt.so
./jre/lib/sparc/libdcpr.so
./jre/lib/sparc/libdt_socket.so
./jre/lib/sparc/libfontmanager.so
./jre/lib/sparc/libhprof.so
./jre/lib/sparc/libinstrument.so
./jre/lib/sparc/libj2gss.so
./jre/lib/sparc/libj2pcsc.so
./jre/lib/sparc/libj2pkcs11.so
./jre/lib/sparc/libj2ucrypto.so
./jre/lib/sparc/libjaas_unix.so
./jre/lib/sparc/libjava.so
./jre/lib/sparc/libjava_crw_demo.so
./jre/lib/sparc/libjawt.so
./jre/lib/sparc/libjdwp.so
./jre/lib/sparc/libjfr.so
./jre/lib/sparc/libjpeg.so
./jre/lib/sparc/libjsdt.so
./jre/lib/sparc/libjsound.so
./jre/lib/sparc/libkcms.so
./jre/lib/sparc/liblcms.so
./jre/lib/sparc/libmanagement.so
./jre/lib/sparc/libmlib_image.so
./jre/lib/sparc/libmlib_image_v.so
./jre/lib/sparc/libnet.so
./jre/lib/sparc/libnio.so
./jre/lib/sparc/libnpt.so
./jre/lib/sparc/libsctp.so
./jre/lib/sparc/libsplashscreen.so
./jre/lib/sparc/libsunec.so
./jre/lib/sparc/libsunwjdga.so
./jre/lib/sparc/libt2k.so
./jre/lib/sparc/libunpack.so
./jre/lib/sparc/libverify.so
./jre/lib/sparc/libzip.so
./jre/lib/sparc/libdeploy.so
./jre/lib/sparc/libjavaplugin.so
./jre/lib/sparc/libjavaplugin_jni.so
./jre/lib/sparc/libjavaplugin_nscp.so
./jre/lib/sparc/libjavaplugin_oji.so
./jre/lib/sparc/libnpjp2.so
./jre/plugin/sparc/ns4/libjavaplugin.so
./jre/plugin/sparc/ns7/libjavaplugin_oji.so
./jre/lib/sparc/server/libjvm.so
./lib/amd64/jli/libjli.so
./lib/amd64/jspawnhelper
./lib/amd64/libJdbcOdbc.so
./lib/amd64/libattach.so
./lib/amd64/libawt.so
./lib/amd64/libawt_headless.so
./lib/amd64/libawt_xawt.so
./lib/amd64/libdcpr.so
./lib/amd64/libdt_socket.so
./lib/amd64/libfontmanager.so
./lib/amd64/libhprof.so
./lib/amd64/libinstrument.so
./lib/amd64/libj2gss.so
./lib/amd64/libj2pcsc.so
./lib/amd64/libj2pkcs11.so
./lib/amd64/libj2ucrypto.so
./lib/amd64/libjaas_unix.so
./lib/amd64/libjava.so
./lib/amd64/libjava_crw_demo.so
./lib/amd64/libjawt.so
./lib/amd64/libjdwp.so
./lib/amd64/libjfr.so
./lib/amd64/libjpeg.so
./lib/amd64/libjsdt.so
./lib/amd64/libjsound.so
./lib/amd64/libkcms.so
./lib/amd64/liblcms.so
./lib/amd64/libmanagement.so
./lib/amd64/libmlib_image.so
./lib/amd64/libnet.so
./lib/amd64/libnio.so
./lib/amd64/libnpt.so
./lib/amd64/libsctp.so
./lib/amd64/libsplashscreen.so
./lib/amd64/libsunec.so
./lib/amd64/libsunwjdga.so
./lib/amd64/libt2k.so
./lib/amd64/libunpack.so
./lib/amd64/libverify.so
./lib/amd64/libzip.so
./lib/amd64/server/64/libjvm_db.so
./lib/amd64/server/64/libjvm_dtrace.so
./lib/amd64/server/libjvm.so
./lib/amd64/server/libjvm_db.so
./lib/amd64/server/libjvm_dtrace.so
./bin/appletviewer
./bin/idlj
./bin/jar
@@ -616,7 +281,6 @@ ACCEPTED_SMALL_SIZE_DIFF="
./bin/javah
./bin/javap
./bin/jdeps
./bin/javaws
./bin/jcmd
./bin/jconsole
./bin/jdb
@@ -647,171 +311,156 @@ ACCEPTED_SMALL_SIZE_DIFF="
./bin/wsgen
./bin/wsimport
./bin/xjc
./jre/bin/java
./jre/bin/java_vm
./jre/bin/javaws
./jre/bin/keytool
./jre/bin/orbd
./jre/bin/pack200
./jre/bin/policytool
./jre/bin/rmid
./jre/bin/rmiregistry
./jre/bin/servertool
./jre/bin/tnameserv
./jre/bin/unpack200
./jre/lib/sparc/jexec
"
# Filter random C++ symbol strings.
# Some numbers differ randomly.
DIS_DIFF_FILTER="$SED -e s/\$[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g -e s/\([0-9a-f][0-9a-f].[0-9a-f][0-9a-f].[0-9a-f][0-9a-f].\)[0-9a-f][0-9a-f]/\1<NUM>/g -e s/\(%g1,.0x\)[0-9a-f]*\(,.%g1\)/\1<HEX>\2/g -e s/\(!.\)[0-9a-f]*\(.<SUNWprivate_1.1+0x\)[0-9a-f]*/\1<NUM>\2<HEX>/g"
# Some xor instructions end up with different args in the lib but not in the object files.
ACCEPTED_DIS_DIFF="
./demo/jvmti/waiters/lib/libwaiters.so
"
SKIP_FULLDUMP_DIFF="true"
# Filter random C++ symbol strings.
# Some numbers differ randomly.
# Can't use space in these expressions as the shell will mess with them.
DIS_DIFF_FILTER="$SED \
-e 's/\.[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g' \
-e 's/\([0-9a-f][0-9a-f].\)\{2,8\}[0-9a-f][0-9a-f]/<NUMS>/g' \
-e 's/\(0x\)[0-9a-f]*\([,(>]\)/\1<HEX>\2/g' \
-e 's/\(0x\)[0-9a-f]*$/\1<HEX>/g' \
-e 's/\(\#.\)[0-9a-f]*\(.<\)/\1<HEX>\2/g' \
-e 's/[\.A-Za-z0-9%]\{16,16\}$/<BIN>/g'"
fi
if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
STRIP_BEFORE_COMPARE="
./demo/jni/Poller/lib/sparcv9/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/sparcv9/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/sparcv9/libgctest.so
./demo/jvmti/heapTracker/lib/sparcv9/libheapTracker.so
./demo/jvmti/heapViewer/lib/sparcv9/libheapViewer.so
./demo/jvmti/hprof/lib/sparcv9/libhprof.so
./demo/jvmti/minst/lib/sparcv9/libminst.so
./demo/jvmti/mtrace/lib/sparcv9/libmtrace.so
./demo/jvmti/versionCheck/lib/sparcv9/libversionCheck.so
./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
./demo/jni/Poller/lib/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/libgctest.so
./demo/jvmti/heapTracker/lib/libheapTracker.so
./demo/jvmti/heapViewer/lib/libheapViewer.so
./demo/jvmti/hprof/lib/libhprof.so
./demo/jvmti/minst/lib/libminst.so
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
"
SORT_SYMBOLS="
./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
./jre/lib/sparcv9/libjsig.so
./jre/lib/sparcv9/libsaproc.so
./jre/lib/sparcv9/server/libjvm.so
./jre/lib/sparcv9/server/libjvm_dtrace.so
./demo/jvmti/waiters/lib/libwaiters.so
./lib/sparcv9/libjsig.so
./lib/sparcv9/libsaproc.so
./lib/sparcv9/server/libjvm.so
./lib/sparcv9/server/libjvm_dtrace.so
"
SKIP_BIN_DIFF="true"
ACCEPTED_SMALL_SIZE_DIFF="
./demo/jni/Poller/lib/sparcv9/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/sparcv9/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/sparcv9/libgctest.so
./demo/jvmti/heapTracker/lib/sparcv9/libheapTracker.so
./demo/jvmti/heapViewer/lib/sparcv9/libheapViewer.so
./demo/jvmti/hprof/lib/sparcv9/libhprof.so
./demo/jvmti/minst/lib/sparcv9/libminst.so
./demo/jvmti/mtrace/lib/sparcv9/libmtrace.so
./demo/jvmti/versionCheck/lib/sparcv9/libversionCheck.so
./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
./jre/lib/sparcv9/client/libjvm.so
./jre/lib/sparcv9/jli/libjli.so
./jre/lib/sparcv9/libJdbcOdbc.so
./jre/lib/sparcv9/libattach.so
./jre/lib/sparcv9/libawt.so
./jre/lib/sparcv9/libawt_headless.so
./jre/lib/sparcv9/libawt_xawt.so
./jre/lib/sparcv9/libdcpr.so
./jre/lib/sparcv9/libdt_socket.so
./jre/lib/sparcv9/libfontmanager.so
./jre/lib/sparcv9/libhprof.so
./jre/lib/sparcv9/libinstrument.so
./jre/lib/sparcv9/libj2gss.so
./jre/lib/sparcv9/libj2pcsc.so
./jre/lib/sparcv9/libj2pkcs11.so
./jre/lib/sparcv9/libj2ucrypto.so
./jre/lib/sparcv9/libjaas_unix.so
./jre/lib/sparcv9/libjava.so
./jre/lib/sparcv9/libjava_crw_demo.so
./jre/lib/sparcv9/libjawt.so
./jre/lib/sparcv9/libjdwp.so
./jre/lib/sparcv9/libjfr.so
./jre/lib/sparcv9/libjpeg.so
./jre/lib/sparcv9/libjsdt.so
./jre/lib/sparcv9/libjsound.so
./jre/lib/sparcv9/libkcms.so
./jre/lib/sparcv9/liblcms.so
./jre/lib/sparcv9/libmanagement.so
./jre/lib/sparcv9/libmlib_image.so
./jre/lib/sparcv9/libmlib_image_v.so
./jre/lib/sparcv9/libnet.so
./jre/lib/sparcv9/libnio.so
./jre/lib/sparcv9/libnpt.so
./jre/lib/sparcv9/libsctp.so
./jre/lib/sparcv9/libsplashscreen.so
./jre/lib/sparcv9/libsunec.so
./jre/lib/sparcv9/libsunwjdga.so
./jre/lib/sparcv9/libt2k.so
./jre/lib/sparcv9/libunpack.so
./jre/lib/sparcv9/libverify.so
./jre/lib/sparcv9/libzip.so
./jre/lib/sparcv9/server/libjvm.so
./bin/sparcv9/appletviewer
./bin/sparcv9/idlj
./bin/sparcv9/jar
./bin/sparcv9/jarsigner
./bin/sparcv9/java
./bin/sparcv9/javac
./bin/sparcv9/javadoc
./bin/sparcv9/javah
./bin/sparcv9/javap
./bin/sparcv9/jdeps
./bin/sparcv9/jcmd
./bin/sparcv9/jconsole
./bin/sparcv9/jdb
./bin/sparcv9/jhat
./bin/sparcv9/jimage
./bin/sparcv9/jinfo
./bin/sparcv9/jjs
./bin/sparcv9/jmap
./bin/sparcv9/jps
./bin/sparcv9/jrunscript
./bin/sparcv9/jsadebugd
./bin/sparcv9/jstack
./bin/sparcv9/jstat
./bin/sparcv9/jstatd
./bin/sparcv9/keytool
./bin/sparcv9/native2ascii
./bin/sparcv9/orbd
./bin/sparcv9/pack200
./bin/sparcv9/policytool
./bin/sparcv9/rmic
./bin/sparcv9/rmid
./bin/sparcv9/rmiregistry
./bin/sparcv9/schemagen
./bin/sparcv9/serialver
./bin/sparcv9/servertool
./bin/sparcv9/tnameserv
./bin/sparcv9/unpack200
./bin/sparcv9/wsgen
./bin/sparcv9/wsimport
./bin/sparcv9/xjc
./jre/bin/sparcv9/java
./jre/bin/sparcv9/keytool
./jre/bin/sparcv9/orbd
./jre/bin/sparcv9/pack200
./jre/bin/sparcv9/policytool
./jre/bin/sparcv9/rmid
./jre/bin/sparcv9/rmiregistry
./jre/bin/sparcv9/servertool
./jre/bin/sparcv9/tnameserv
./jre/bin/sparcv9/unpack200
./demo/jni/Poller/lib/libPoller.so
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/libgctest.so
./demo/jvmti/heapTracker/lib/libheapTracker.so
./demo/jvmti/heapViewer/lib/libheapViewer.so
./demo/jvmti/hprof/lib/libhprof.so
./demo/jvmti/minst/lib/libminst.so
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./lib/sparcv9/client/libjvm.so
./lib/sparcv9/jli/libjli.so
./lib/sparcv9/jspawnhelper
./lib/sparcv9/libJdbcOdbc.so
./lib/sparcv9/libattach.so
./lib/sparcv9/libawt.so
./lib/sparcv9/libawt_headless.so
./lib/sparcv9/libawt_xawt.so
./lib/sparcv9/libdcpr.so
./lib/sparcv9/libdt_socket.so
./lib/sparcv9/libfontmanager.so
./lib/sparcv9/libhprof.so
./lib/sparcv9/libinstrument.so
./lib/sparcv9/libj2gss.so
./lib/sparcv9/libj2pcsc.so
./lib/sparcv9/libj2pkcs11.so
./lib/sparcv9/libj2ucrypto.so
./lib/sparcv9/libjaas_unix.so
./lib/sparcv9/libjava.so
./lib/sparcv9/libjava_crw_demo.so
./lib/sparcv9/libjawt.so
./lib/sparcv9/libjdwp.so
./lib/sparcv9/libjfr.so
./lib/sparcv9/libjpeg.so
./lib/sparcv9/libjsdt.so
./lib/sparcv9/libjsound.so
./lib/sparcv9/libkcms.so
./lib/sparcv9/liblcms.so
./lib/sparcv9/libmanagement.so
./lib/sparcv9/libmlib_image.so
./lib/sparcv9/libmlib_image_v.so
./lib/sparcv9/libnet.so
./lib/sparcv9/libnio.so
./lib/sparcv9/libnpt.so
./lib/sparcv9/libsctp.so
./lib/sparcv9/libsplashscreen.so
./lib/sparcv9/libsunec.so
./lib/sparcv9/libsunwjdga.so
./lib/sparcv9/libt2k.so
./lib/sparcv9/libunpack.so
./lib/sparcv9/libverify.so
./lib/sparcv9/libzip.so
./lib/sparcv9/server/libjvm.so
./bin/appletviewer
./bin/idlj
./bin/jar
./bin/jarsigner
./bin/java
./bin/javac
./bin/javadoc
./bin/javah
./bin/javap
./bin/jdeps
./bin/jcmd
./bin/jconsole
./bin/jdb
./bin/jhat
./bin/jimage
./bin/jinfo
./bin/jjs
./bin/jmap
./bin/jps
./bin/jrunscript
./bin/jsadebugd
./bin/jstack
./bin/jstat
./bin/jstatd
./bin/keytool
./bin/native2ascii
./bin/orbd
./bin/pack200
./bin/policytool
./bin/rmic
./bin/rmid
./bin/rmiregistry
./bin/schemagen
./bin/serialver
./bin/servertool
./bin/tnameserv
./bin/unpack200
./bin/wsgen
./bin/wsimport
./bin/xjc
"
# Filter random C++ symbol strings.
# Some numbers differ randomly.
DIS_DIFF_FILTER="$SED -e s/\$[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g -e s/[0-9a-f][0-9a-f].[0-9a-f][0-9a-f].[0-9a-f][0-9a-f].[0-9a-f][0-9a-f]/<NUMS>/g -e s/\(%g1,.0x\)[0-9a-f]*\(,.%g1\)/\1<HEX>\2/g -e s/\(!.\)[0-9a-f]*\(.<SUNWprivate_1.1+0x\)[0-9a-f]*/\1<NUM>\2<HEX>/g"
DIS_DIFF_FILTER="$SED \
-e 's/\$[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g' \
-e 's/[0-9a-f][0-9a-f].[0-9a-f][0-9a-f].[0-9a-f][0-9a-f].[0-9a-f][0-9a-f]/<NUMS>/g' \
-e 's/\(%g1,.0x\)[0-9a-f]*\(,.%g1\)/\1<HEX>\2/g' \
-e 's/\(!.\)[0-9a-f]*\(.<SUNWprivate_1.1+0x\)[0-9a-f]*/\1<NUM>\2<HEX>/g' \
-e 's/\!.[0-9a-f]\{1,4\} <_DYNAMIC+0x[0-9a-f]\{1,4\}>/<DYNAMIC>/g'"
# Some xor instructions end up with different args in the lib but not in the object files.
ACCEPTED_DIS_DIFF="
./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
./demo/jvmti/waiters/lib/libwaiters.so
"
SKIP_FULLDUMP_DIFF="true"
@@ -822,7 +471,8 @@ fi
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
ACCEPTED_JARZIP_CONTENTS="
/bin/w2k_lsa_auth.dll
/modules_libs/java.security.jgss/w2k_lsa_auth.diz
/modules_libs/java.security.jgss/w2k_lsa_auth.dll
"
# Probably should add all libs here
@@ -830,10 +480,10 @@ ACCEPTED_SMALL_SIZE_DIFF="
./demo/jvmti/gctest/lib/gctest.dll
./demo/jvmti/heapTracker/lib/heapTracker.dll
./demo/jvmti/minst/lib/minst.dll
./jre/bin/attach.dll
./jre/bin/java_crw_demo.dll
./jre/bin/jsoundds.dll
./jre/bin/server/jvm.dll
./bin/attach.dll
./bin/java_crw_demo.dll
./bin/jsoundds.dll
./bin/server/jvm.dll
./bin/appletviewer.exe
./bin/idlj.exe
./bin/jar.exe
@@ -879,32 +529,15 @@ ACCEPTED_SMALL_SIZE_DIFF="
./bin/wsgen.exe
./bin/wsimport.exe
./bin/xjc.exe
./jre/bin/java-rmi.exe
./jre/bin/java.exe
./jre/bin/javaw.exe
./jre/bin/keytool.exe
./jre/bin/kinit.exe
./jre/bin/klist.exe
./jre/bin/ktab.exe
./jre/bin/orbd.exe
./jre/bin/pack200.exe
./jre/bin/policytool.exe
./jre/bin/rmid.exe
./jre/bin/rmiregistry.exe
./jre/bin/servertool.exe
./jre/bin/tnameserv.exe
./jre/bin/unpack200.exe
"
# jabswitch.exe is compiled and linked with incremental turned on in the old
# build. This makes no sense, so it's turned off in the new build.
ACCEPTED_SIZE_DIFF="
./bin/jabswitch.exe
./jre/bin/jabswitch.exe
"
ACCEPTED_DIS_DIFF="
./bin/jabswitch.exe
./jre/bin/jabswitch.exe
"
# On windows, there are unavoidable allignment issues making
@@ -913,7 +546,12 @@ ACCEPTED_DIS_DIFF="
# @XXXXX
# * Hexadecimal addresses that are sometimes alligned differently.
# * Dates in version strings XXXX_XX_XX.
DIS_DIFF_FILTER="$SED -e s/[@?][A-Z0-9_]\{1,25\}/<SYM>/g -e s/^.\{2,2\}[0-9A-F]\{16,16\}.\{2,2\}//g -e s/[0-9A-F]\{4,16\}h/<HEXSTR>/g -e s/_[0-9]\{4,4\}_[0-9][0-9]_[0-9][0-9]/<DATE>/g"
DIS_DIFF_FILTER="$SED \
-e 's/^ [0-9A-F]\{16\}: //g' \
-e 's/[@?][A-Za-z0-9_]\{1,25\}/<SYM>/g' \
-e 's/\([\[+]\)[0-9A-F]\{4,16\}h\]/\1<HEXSTR>]/g' \
-e 's/_[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}/_<DATE>/g'"
#DIS_DIFF_FILTER="$CAT"
SKIP_BIN_DIFF="true"
SKIP_FULLDUMP_DIFF="true"
@@ -936,6 +574,7 @@ ACCEPTED_BIN_DIFF="
./bin/javadoc
./bin/javah
./bin/javap
./bin/javaws
./bin/jdeps
./bin/jcmd
./bin/jconsole
@@ -966,17 +605,6 @@ ACCEPTED_BIN_DIFF="
./bin/wsgen
./bin/wsimport
./bin/xjc
./jre/bin/java
./jre/bin/keytool
./jre/bin/orbd
./jre/bin/pack200
./jre/bin/policytool
./jre/bin/rmid
./jre/bin/rmiregistry
./jre/bin/servertool
./jre/bin/tnameserv
./jre/lib/libsaproc.dylib
./jre/lib/server/libjvm.dylib
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.dylib
./demo/jvmti/gctest/lib/libgctest.dylib
./demo/jvmti/heapTracker/lib/libheapTracker.dylib
@@ -985,6 +613,11 @@ ACCEPTED_BIN_DIFF="
./demo/jvmti/mtrace/lib/libmtrace.dylib
./demo/jvmti/versionCheck/lib/libversionCheck.dylib
./demo/jvmti/waiters/lib/libwaiters.dylib
./Contents/Home/bin/_javaws
./Contents/Home/bin/idlj
./Contents/Home/bin/servertool
./Contents/Home/lib/shortcuts/JavaWSApplicationStub
./Contents/Home/lib/jli/libjli.dylib
./Contents/Home/lib/libAppleScriptEngine.dylib
./Contents/Home/lib/libattach.dylib
./Contents/Home/lib/libawt_lwawt.dylib
@@ -1000,29 +633,15 @@ ACCEPTED_BIN_DIFF="
./Contents/Home/lib/libnpjp2.dylib
./Contents/Home/lib/libosx.dylib
./Contents/Home/lib/libosxapp.dylib
./Contents/Home/lib/libverify.dylib
./Contents/Home/lib/libsaproc.dylib
./Contents/Home/lib/libsplashscreen.dylib
./Contents/Home/lib/libverify.dylib
./Contents/Home/lib/server/libjsig.dylib
./Contents/Home/lib/server/libjvm.dylib
./jre/lib/libAppleScriptEngine.dylib
./jre/lib/libattach.dylib
./jre/lib/libawt_lwawt.dylib
./jre/lib/libdeploy.dylib
./jre/lib/libdt_socket.dylib
./jre/lib/libhprof.dylib
./jre/lib/libinstrument.dylib
./jre/lib/libjava_crw_demo.dylib
./jre/lib/libjdwp.dylib
./jre/lib/libjsdt.dylib
./jre/lib/libjsig.dylib
./jre/lib/libmanagement.dylib
./jre/lib/libosx.dylib
./jre/lib/libosxapp.dylib
./jre/lib/libsaproc.dylib
./jre/lib/libsplashscreen.dylib
./jre/lib/libverify.dylib
./jre/lib/server/libjvm.dylib
./Contents/Home/lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
./Contents/Resources/JavaControlPanelHelper
./Contents/Resources/JavaUpdater.app/Contents/MacOS/JavaUpdater
./lib/shortcuts/JavaWSApplicationStub
./lib/jli/libjli.dylib
./lib/libAppleScriptEngine.dylib
./lib/libattach.dylib
./lib/libawt_lwawt.dylib
@@ -1047,12 +666,12 @@ ACCEPTED_BIN_DIFF="
SORT_SYMBOLS="
./Contents/Home/lib/libsaproc.dylib
./jre/lib/libsaproc.dylib
./lib/libsaproc.dylib
"
ACCEPTED_SMALL_SIZE_DIFF="
./bin/javaws
./Contents/Home/bin/_javaws
"
ACCEPTED_SMALL_SIZE_DIFF="$ACCEPTED_BIN_DIFF"
DIS_DIFF_FILTER="$SED \
-e 's/0x[0-9a-f]\{4,16\}/<HEXSTR>/g'"
fi

View File

@@ -26,6 +26,9 @@
usage() {
echo "usage: $0 [-h|--help] [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] <command> [commands...]" > ${status_output}
echo "command format : mercurial-command [ "jdk" ] [ extra-url ]"
echo "command option: jdk : used only with clone command to request just the extra repos for JDK-only builds"
echo "command option : extra-url : server hosting the extra repositories"
echo "Environment variables which modify behaviour:"
echo " HGFOREST_QUIET : (boolean) If 'true' then standard output is redirected to /dev/null"
echo " HGFOREST_VERBOSE : (boolean) If 'true' then Mercurial asked to produce verbose output"
@@ -179,7 +182,8 @@ trap 'safe_interrupt' INT QUIT
trap 'nice_exit' EXIT
subrepos="corba jaxp jaxws langtools jdk hotspot nashorn"
subrepos_extra="closed jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs"
jdk_subrepos_extra="closed jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed"
subrepos_extra="$jdk_subrepos_extra deploy install sponsors pubs"
# Only look in specific locations for possible forests (avoids long searches)
pull_default=""
@@ -209,6 +213,11 @@ if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone
pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'`
if [ $# -gt 0 ] ; then
if [ "x${1}" = "xjdk" ] ; then
subrepos_extra=$jdk_subrepos_extra
echo "subrepos being cloned are $subrepos_extra"
shift
fi
# if there is an "extra sources" path then reparent "extra" repos to that path
if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then
echo "ERROR: Need initial clone from non-local source" > ${status_output}

View File

@@ -123,6 +123,7 @@ jdk/src/java.base/share/classes/java/lang/reflect : jdk/src/share/classes/java/l
jdk/src/java.base/share/classes/java/math : jdk/src/share/classes/java/math
jdk/src/java.base/share/classes/java/net : jdk/src/share/classes/java/net
jdk/src/java.base/share/classes/java/nio : jdk/src/share/classes/java/nio
jdk/src/java.base/share/classes/java/security/acl : jdk/src/share/classes/java/security/acl
jdk/src/java.base/share/classes/java/security/cert : jdk/src/share/classes/java/security/cert
jdk/src/java.base/share/classes/java/security/interfaces : jdk/src/share/classes/java/security/interfaces
jdk/src/java.base/share/classes/java/security : jdk/src/share/classes/java/security
@@ -1211,8 +1212,6 @@ jdk/src/java.rmi/share/doc/stub/java/rmi/activation : jdk/src/share/doc/stub/jav
jdk/src/java.rmi/unix/bin/java-rmi.cgi.sh : jdk/src/solaris/bin/java-rmi.cgi.sh
jdk/src/java.scripting/share/classes/javax/script : jdk/src/share/classes/javax/script
jdk/src/java.scripting/share/classes/com/sun/tools/script/shell : jdk/src/share/classes/com/sun/tools/script/shell
jdk/src/java.security.acl/share/classes/java/security/acl : jdk/src/share/classes/java/security/acl
jdk/src/java.security.acl/share/classes/sun/security/acl : jdk/src/share/classes/sun/security/acl
jdk/src/java.security.jgss/macosx/native/libosxkrb5/nativeccache.c : jdk/src/share/native/sun/security/krb5/nativeccache.c
jdk/src/java.security.jgss/macosx/native/libosxkrb5/SCDynamicStoreConfig.m : jdk/src/macosx/native/sun/security/krb5/SCDynamicStoreConfig.m
jdk/src/java.security.jgss/share/classes/javax/security/auth/kerberos : jdk/src/share/classes/javax/security/auth/kerberos
@@ -1300,14 +1299,14 @@ jdk/src/jdk.deploy.osx/macosx/native/libosx/CFileManager.m : jdk/src/macosx/nati
jdk/src/jdk.deploy.osx/macosx/native/libosx/Dispatch.m : jdk/src/macosx/native/com/apple/concurrent/Dispatch.m
jdk/src/jdk.deploy.osx/macosx/native/libosx/JavaAppLauncher.m : jdk/src/macosx/native/apple/launcher/JavaAppLauncher.m
jdk/src/jdk.deploy.osx/macosx/native/libosx/KeystoreImpl.m : jdk/src/macosx/native/apple/security/KeystoreImpl.m
jdk/src/jdk.dev/share/classes/com/sun/jarsigner : jdk/src/share/classes/com/sun/jarsigner
jdk/src/jdk.dev/share/classes/com/sun/tools/hat : jdk/src/share/classes/com/sun/tools/hat
jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner : jdk/src/share/classes/sun/security/tools/jarsigner
jdk/src/jdk.dev/share/classes/sun/tools/jar : jdk/src/share/classes/sun/tools/jar
jdk/src/jdk.dev/share/classes/sun/tools/native2ascii : jdk/src/share/classes/sun/tools/native2ascii
jdk/src/jdk.hprof.agent/share/classes/com/sun/demo/jvmti/hprof : jdk/src/share/classes/com/sun/demo/jvmti/hprof
jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver : jdk/src/share/classes/com/sun/net/httpserver
jdk/src/jdk.httpserver/share/classes/sun/net/httpserver : jdk/src/share/classes/sun/net/httpserver
jdk/src/jdk.jartool/share/classes/com/sun/jarsigner : jdk/src/share/classes/com/sun/jarsigner
jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner : jdk/src/share/classes/sun/security/tools/jarsigner
jdk/src/jdk.jartool/share/classes/sun/tools/jar : jdk/src/share/classes/sun/tools/jar
jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd : jdk/src/share/classes/sun/tools/jcmd
jdk/src/jdk.jcmd/share/classes/sun/tools/jinfo : jdk/src/share/classes/sun/tools/jinfo
jdk/src/jdk.jcmd/share/classes/sun/tools/jmap : jdk/src/share/classes/sun/tools/jmap
@@ -1433,6 +1432,27 @@ jdk/src/jdk.naming.dns/share/classes/META-INF/services : jdk/src/share/classes/s
jdk/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns : jdk/src/share/classes/sun/net/spi/nameservice/dns
jdk/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry : jdk/src/share/classes/com/sun/jndi/rmi/registry
jdk/src/jdk.naming.rmi/share/classes/com/sun/jndi/url/rmi : jdk/src/share/classes/com/sun/jndi/url/rmi
jdk/src/jdk.pack200/share/native/common-unpack/bands.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/bands.cpp
jdk/src/jdk.pack200/share/native/common-unpack/bands.h : jdk/src/share/native/com/sun/java/util/jar/pack/bands.h
jdk/src/jdk.pack200/share/native/common-unpack/bytes.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/bytes.cpp
jdk/src/jdk.pack200/share/native/common-unpack/bytes.h : jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h
jdk/src/jdk.pack200/share/native/common-unpack/coding.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/coding.cpp
jdk/src/jdk.pack200/share/native/common-unpack/coding.h : jdk/src/share/native/com/sun/java/util/jar/pack/coding.h
jdk/src/jdk.pack200/share/native/common-unpack/constants.h : jdk/src/share/native/com/sun/java/util/jar/pack/constants.h
jdk/src/jdk.pack200/share/native/common-unpack/defines.h : jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
jdk/src/jdk.pack200/share/native/common-unpack/unpack.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp
jdk/src/jdk.pack200/share/native/common-unpack/unpack.h : jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h
jdk/src/jdk.pack200/share/native/common-unpack/utils.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp
jdk/src/jdk.pack200/share/native/common-unpack/utils.h : jdk/src/share/native/com/sun/java/util/jar/pack/utils.h
jdk/src/jdk.pack200/share/native/common-unpack/zip.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
jdk/src/jdk.pack200/share/native/common-unpack/zip.h : jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
jdk/src/jdk.pack200/share/native/libjsdt : jdk/src/share/native/sun/tracing/dtrace
jdk/src/jdk.pack200/share/native/libunpack/jni.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
jdk/src/jdk.pack200/share/native/unpack200/main.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
jdk/src/jdk.pack200/unix/native/libjsdt/jvm_symbols_md.c : jdk/src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c
jdk/src/jdk.pack200/windows/native/libjsdt/jvm_symbols_md.c : jdk/src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c
jdk/src/jdk.pack200/windows/native/unpack200/unpack200_proto.exe.manifest : jdk/src/windows/resource/unpack200_proto.exe.manifest
jdk/src/jdk.policytool/share/classes/sun/security/tools/policytool : jdk/src/share/classes/sun/security/tools/policytool
jdk/src/jdk.rmic/share/classes/sun/rmi/rmic : jdk/src/share/classes/sun/rmi/rmic
jdk/src/jdk.rmic/share/classes/sun/rmi/rmic/newrmic : jdk/src/share/classes/sun/rmi/rmic/newrmic
jdk/src/jdk.rmic/share/classes/sun/rmi/rmic/newrmic/jrmp : jdk/src/share/classes/sun/rmi/rmic/newrmic/jrmp
@@ -1442,29 +1462,6 @@ jdk/src/jdk.rmic/share/classes/sun/tools/javac : jdk/src/share/classes/sun/tools
jdk/src/jdk.rmic/share/classes/sun/tools/java : jdk/src/share/classes/sun/tools/java
jdk/src/jdk.rmic/share/classes/sun/tools/tree : jdk/src/share/classes/sun/tools/tree
jdk/src/jdk.rmic/share/classes/sun/tools/util : jdk/src/share/classes/sun/tools/util
jdk/src/jdk.runtime/share/classes/com/sun/tracing : jdk/src/share/classes/com/sun/tracing
jdk/src/jdk.runtime/share/classes/sun/security/tools/policytool : jdk/src/share/classes/sun/security/tools/policytool
jdk/src/jdk.runtime/share/classes/sun/tracing : jdk/src/share/classes/sun/tracing
jdk/src/jdk.runtime/share/native/common-unpack/bands.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/bands.cpp
jdk/src/jdk.runtime/share/native/common-unpack/bands.h : jdk/src/share/native/com/sun/java/util/jar/pack/bands.h
jdk/src/jdk.runtime/share/native/common-unpack/bytes.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/bytes.cpp
jdk/src/jdk.runtime/share/native/common-unpack/bytes.h : jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h
jdk/src/jdk.runtime/share/native/common-unpack/coding.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/coding.cpp
jdk/src/jdk.runtime/share/native/common-unpack/coding.h : jdk/src/share/native/com/sun/java/util/jar/pack/coding.h
jdk/src/jdk.runtime/share/native/common-unpack/constants.h : jdk/src/share/native/com/sun/java/util/jar/pack/constants.h
jdk/src/jdk.runtime/share/native/common-unpack/defines.h : jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
jdk/src/jdk.runtime/share/native/common-unpack/unpack.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp
jdk/src/jdk.runtime/share/native/common-unpack/unpack.h : jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h
jdk/src/jdk.runtime/share/native/common-unpack/utils.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp
jdk/src/jdk.runtime/share/native/common-unpack/utils.h : jdk/src/share/native/com/sun/java/util/jar/pack/utils.h
jdk/src/jdk.runtime/share/native/common-unpack/zip.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
jdk/src/jdk.runtime/share/native/common-unpack/zip.h : jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
jdk/src/jdk.runtime/share/native/libjsdt : jdk/src/share/native/sun/tracing/dtrace
jdk/src/jdk.runtime/share/native/libunpack/jni.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
jdk/src/jdk.runtime/share/native/unpack200/main.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
jdk/src/jdk.runtime/unix/native/libjsdt/jvm_symbols_md.c : jdk/src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c
jdk/src/jdk.runtime/windows/native/libjsdt/jvm_symbols_md.c : jdk/src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c
jdk/src/jdk.runtime/windows/native/unpack200/unpack200_proto.exe.manifest : jdk/src/windows/resource/unpack200_proto.exe.manifest
jdk/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp : jdk/src/macosx/classes/sun/nio/ch/sctp
jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp : jdk/src/share/classes/com/sun/nio/sctp
jdk/src/jdk.sctp/share/classes/sun/nio/ch/sctp : jdk/src/share/classes/sun/nio/ch/sctp

View File

@@ -291,3 +291,12 @@ e27c725d6c9d155667b35255f442d4ceb8c3c084 jdk9-b40
326f2068b4a4c05e2fa27d6acf93eba7b54b090d jdk9-b46
ee8447ca632e1d39180b4767c749db101bff7314 jdk9-b47
a13c49c5f2899b702652a460ed7aa73123e671e6 jdk9-b48
9285d14eb7b6b0815679bae98dd936dbc136218d jdk9-b49
224f593393e5b01b3c8f1e591b7f4b1790a3737a jdk9-b50
2309c02386d1fa4ced5051873ffb9e04874f7a44 jdk9-b51
b8538bbb6f224ab1dabba579137099c166ad4724 jdk9-b52
aadc16ca5ab7d56f92ef9dbfa443595a939241b4 jdk9-b53
d469c5ad0c763e325a78e0af3016878a57dfc5cc jdk9-b54
734ca5311a225711b79618f3e92f47f07c82154a jdk9-b55
ef4afd6832b00b8687832c2a36c90e43750ebe40 jdk9-b56
d8ebf1a5b18ccbc849f5bf0f80aa3d78583eee68 jdk9-b57

View File

@@ -176,42 +176,9 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
staticWrapper = ORBUtilSystemException.get(
CORBALogDomains.RPC_PRESENTATION ) ;
boolean useDynamicStub =
((Boolean)AccessController.doPrivileged(
new PrivilegedAction() {
public java.lang.Object run() {
return Boolean.valueOf( Boolean.getBoolean (
ORBConstants.USE_DYNAMIC_STUB_PROPERTY ) ) ;
}
}
)).booleanValue() ;
boolean useDynamicStub = false;
PresentationManager.StubFactoryFactory dynamicStubFactoryFactory =
(PresentationManager.StubFactoryFactory)AccessController.doPrivileged(
new PrivilegedAction() {
public java.lang.Object run() {
PresentationManager.StubFactoryFactory sff =
PresentationDefaults.getProxyStubFactoryFactory() ;
String className = System.getProperty(
ORBConstants.DYNAMIC_STUB_FACTORY_FACTORY_CLASS,
"com.sun.corba.se.impl.presentation.rmi.bcel.StubFactoryFactoryBCELImpl" ) ;
try {
// First try the configured class name, if any
Class<?> cls =
sun.corba.SharedSecrets.getJavaCorbaAccess().loadClass(className);
sff = (PresentationManager.StubFactoryFactory)cls.newInstance();
} catch (Exception exc) {
// Use the default. Log the error as a warning.
staticWrapper.errorInSettingDynamicStubFactoryFactory(
exc, className ) ;
}
return sff ;
}
}
) ;
PresentationManager.StubFactoryFactory dynamicStubFactoryFactory = null;
PresentationManager pm = new PresentationManagerImpl( useDynamicStub ) ;
pm.setStubFactoryFactory( false,

View File

@@ -43,7 +43,6 @@ import java.io.FileInputStream;
import java.security.AccessController;
import java.security.PrivilegedAction;
import sun.security.action.GetPropertyAction;
import java.util.Properties;
class GetORBPropertiesFileAction implements PrivilegedAction {

View File

@@ -28,7 +28,9 @@ package sun.corba;
import com.sun.corba.se.impl.io.ValueUtility;
import sun.misc.Unsafe;
import java.lang.reflect.Field;
import java.security.AccessController;
import java.security.PrivilegedAction;
/** A repository of "shared secrets", which are a mechanism for
calling implementation-private methods in another package without
@@ -41,9 +43,23 @@ import java.security.AccessController;
// SharedSecrets cloned in corba repo to avoid build issues
public class SharedSecrets {
private static final Unsafe unsafe = Unsafe.getUnsafe();
private static final Unsafe unsafe = getUnsafe();
private static JavaCorbaAccess javaCorbaAccess;
private static Unsafe getUnsafe() {
PrivilegedAction<Unsafe> pa = () -> {
Class<?> unsafeClass = sun.misc.Unsafe.class ;
try {
Field f = unsafeClass.getDeclaredField("theUnsafe");
f.setAccessible(true);
return (Unsafe) f.get(null);
} catch (Exception e) {
throw new Error(e);
}
};
return AccessController.doPrivileged(pa);
}
public static JavaCorbaAccess getJavaCorbaAccess() {
if (javaCorbaAccess == null) {
// Ensure ValueUtility is initialized; we know that that class

View File

@@ -451,3 +451,12 @@ c363a8b87e477ee45d6d3cb2a36cb365141bc596 jdk9-b38
a184ee1d717297bd35b7c3e35393e137921a3ed2 jdk9-b46
3b241fb72b8925b75941d612db762a6d5da66d02 jdk9-b47
cc775a4a24c7f5d9e624b4205e9fbd48a17331f6 jdk9-b48
360cd1fc42f10941a9fd17cc32d5b85a22d12a0b jdk9-b49
e0947f58c9c1426aa0d98b98ebb78357b27a7b99 jdk9-b50
403b9cbadb04d3d1201823591cf931dc93b38e3a jdk9-b51
9fb7fdc554db5be5c5b10f88f529ec3b870c44e3 jdk9-b52
effd5ef0c3eb4bb85aa975c489d6761dbf13ad6a jdk9-b53
c3b117fa5bdedfafd9ed236403e6d406911195b1 jdk9-b54
be49ab55e5c498c5077bbf58c2737100d1992339 jdk9-b55
fd2d5ec7e7b16c7bf4043a7fe7cfd8af96b819e2 jdk9-b56
56a85ffe743d3f9d70ba25d6ce82ddd2ad1bf33c jdk9-b57

View File

@@ -345,7 +345,7 @@ JNIEXPORT jbyteArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
return (err == PS_OK)? array : 0;
}
#if defined(i386) || defined(amd64) || defined(sparc) || defined(sparcv9) | defined(ppc64)
#if defined(i386) || defined(amd64) || defined(sparc) || defined(sparcv9) | defined(ppc64) || defined(aarch64)
JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_getThreadIntegerRegisterSet0
(JNIEnv *env, jobject this_obj, jint lwp_id) {
@@ -367,6 +367,9 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
#ifdef amd64
#define NPRGREG sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_NPRGREG
#endif
#ifdef aarch64
#define NPRGREG 32
#endif
#if defined(sparc) || defined(sparcv9)
#define NPRGREG sun_jvm_hotspot_debugger_sparc_SPARCThreadContext_NPRGREG
#endif
@@ -466,6 +469,12 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
regs[REG_INDEX(R_O7)] = gregs.u_regs[14];
#endif /* sparc */
#if defined(aarch64)
#define REG_INDEX(reg) sun_jvm_hotspot_debugger_aarch64_AARCH64ThreadContext_##reg
#endif /* aarch64 */
#ifdef ppc64
#define REG_INDEX(reg) sun_jvm_hotspot_debugger_ppc64_PPC64ThreadContext_##reg

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2015, 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
@@ -30,7 +30,7 @@
#include <stdint.h>
#include "proc_service.h"
#if defined(arm) || defined(ppc)
#ifdef ALT_SASRCDIR
#include "libproc_md.h"
#endif
@@ -71,6 +71,9 @@ combination of ptrace and /proc calls.
#if defined(sparc) || defined(sparcv9) || defined(ppc64)
#define user_regs_struct pt_regs
#endif
#if defined(aarch64)
#define user_regs_struct user_pt_regs
#endif
// This C bool type must be int for compatibility with Linux calls and
// it would be a mistake to equivalence it to C++ bool on many platforms

View File

@@ -27,9 +27,11 @@
#include <string.h>
#include <signal.h>
#include <errno.h>
#include <elf.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/ptrace.h>
#include <sys/uio.h>
#include "libproc_impl.h"
#if defined(x86_64) && !defined(amd64)
@@ -138,6 +140,15 @@ static bool process_get_lwp_regs(struct ps_prochandle* ph, pid_t pid, struct use
return false;
}
return true;
#elif defined(PTRACE_GETREGSET)
struct iovec iov;
iov.iov_base = user;
iov.iov_len = sizeof(*user);
if (ptrace(PTRACE_GETREGSET, pid, NT_PRSTATUS, (void*) &iov) < 0) {
print_debug("ptrace(PTRACE_GETREGSET, ...) failed for lwp %d\n", pid);
return false;
}
return true;
#else
print_debug("ptrace(PTRACE_GETREGS, ...) not supported\n");
return false;

View File

@@ -34,6 +34,7 @@ import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.debugger.MachineDescription;
import sun.jvm.hotspot.debugger.MachineDescriptionAMD64;
import sun.jvm.hotspot.debugger.MachineDescriptionPPC64;
import sun.jvm.hotspot.debugger.MachineDescriptionAArch64;
import sun.jvm.hotspot.debugger.MachineDescriptionIA64;
import sun.jvm.hotspot.debugger.MachineDescriptionIntelX86;
import sun.jvm.hotspot.debugger.MachineDescriptionSPARC32Bit;
@@ -591,6 +592,8 @@ public class HotSpotAgent {
machDesc = new MachineDescriptionAMD64();
} else if (cpu.equals("ppc64")) {
machDesc = new MachineDescriptionPPC64();
} else if (cpu.equals("aarch64")) {
machDesc = new MachineDescriptionAArch64();
} else if (cpu.equals("sparc")) {
if (LinuxDebuggerLocal.getAddressSize()==8) {
machDesc = new MachineDescriptionSPARC64Bit();

View File

@@ -51,6 +51,9 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
private static final int C_INT32_SIZE = 4;
private static final int C_INT64_SIZE = 8;
private static int pointerSize = UNINITIALIZED_SIZE;
// Counter to ensure read loops terminate:
private static final int MAX_DUPLICATE_DEFINITIONS = 100;
private int duplicateDefCount = 0;
private static final boolean DEBUG;
static {
@@ -166,6 +169,10 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
typeEntrySizeOffset = getLongValueFromProcess("gHotSpotVMTypeEntrySizeOffset");
typeEntryArrayStride = getLongValueFromProcess("gHotSpotVMTypeEntryArrayStride");
if (typeEntryArrayStride == 0L) {
throw new RuntimeException("zero stride: cannot read types.");
}
// Start iterating down it until we find an entry with no name
Address typeNameAddr = null;
do {
@@ -192,7 +199,11 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
}
entryAddr = entryAddr.addOffsetTo(typeEntryArrayStride);
} while (typeNameAddr != null);
} while (typeNameAddr != null && duplicateDefCount < MAX_DUPLICATE_DEFINITIONS);
if (duplicateDefCount >= MAX_DUPLICATE_DEFINITIONS) {
throw new RuntimeException("too many duplicate definitions");
}
}
private void initializePrimitiveTypes() {
@@ -395,6 +406,10 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
structEntryAddressOffset = getLongValueFromProcess("gHotSpotVMStructEntryAddressOffset");
structEntryArrayStride = getLongValueFromProcess("gHotSpotVMStructEntryArrayStride");
if (structEntryArrayStride == 0L) {
throw new RuntimeException("zero stride: cannot read types.");
}
// Fetch the address of the VMStructEntry*
Address entryAddr = lookupInProcess("gHotSpotVMStructs");
// Dereference this once to get the pointer to the first VMStructEntry
@@ -472,6 +487,11 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
intConstantEntryValueOffset = getLongValueFromProcess("gHotSpotVMIntConstantEntryValueOffset");
intConstantEntryArrayStride = getLongValueFromProcess("gHotSpotVMIntConstantEntryArrayStride");
if (intConstantEntryArrayStride == 0L) {
throw new RuntimeException("zero stride: cannot read types.");
}
// Fetch the address of the VMIntConstantEntry*
Address entryAddr = lookupInProcess("gHotSpotVMIntConstants");
// Dereference this once to get the pointer to the first VMIntConstantEntry
@@ -501,12 +521,17 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
} else {
System.err.println("Warning: the int constant \"" + name + "\" (declared in the remote VM in VMStructs::localHotSpotVMIntConstants) " +
"had its value declared as " + value + " twice. Continuing.");
duplicateDefCount++;
}
}
}
entryAddr = entryAddr.addOffsetTo(intConstantEntryArrayStride);
} while (nameAddr != null);
} while (nameAddr != null && duplicateDefCount < MAX_DUPLICATE_DEFINITIONS);
if (duplicateDefCount >= MAX_DUPLICATE_DEFINITIONS) {
throw new RuntimeException("too many duplicate definitions");
}
}
private void readVMLongConstants() {
@@ -519,6 +544,10 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
longConstantEntryValueOffset = getLongValueFromProcess("gHotSpotVMLongConstantEntryValueOffset");
longConstantEntryArrayStride = getLongValueFromProcess("gHotSpotVMLongConstantEntryArrayStride");
if (longConstantEntryArrayStride == 0L) {
throw new RuntimeException("zero stride: cannot read types.");
}
// Fetch the address of the VMLongConstantEntry*
Address entryAddr = lookupInProcess("gHotSpotVMLongConstants");
// Dereference this once to get the pointer to the first VMLongConstantEntry
@@ -548,12 +577,17 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
} else {
System.err.println("Warning: the long constant \"" + name + "\" (declared in the remote VM in VMStructs::localHotSpotVMLongConstants) " +
"had its value declared as " + value + " twice. Continuing.");
duplicateDefCount++;
}
}
}
entryAddr = entryAddr.addOffsetTo(longConstantEntryArrayStride);
} while (nameAddr != null);
} while (nameAddr != null && duplicateDefCount < MAX_DUPLICATE_DEFINITIONS);
if (duplicateDefCount >= MAX_DUPLICATE_DEFINITIONS) {
throw new RuntimeException("too many duplicate definitions.");
}
}
private BasicType lookupOrFail(String typeName) {
@@ -740,9 +774,10 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
}
if (!typeNameIsPointerType(typeName)) {
System.err.println("Warning: the type \"" + typeName + "\" (declared in the remote VM in VMStructs::localHotSpotVMTypes) " +
"had its size declared as " + size + " twice. Continuing.");
}
System.err.println("Warning: the type \"" + typeName + "\" (declared in the remote VM in VMStructs::localHotSpotVMTypes) " +
"had its size declared as " + size + " twice. Continuing.");
duplicateDefCount++;
}
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -22,18 +22,18 @@
*
*/
#ifndef SHARE_VM_OOPS_OOP_INLINE2_HPP
#define SHARE_VM_OOPS_OOP_INLINE2_HPP
package sun.jvm.hotspot.debugger;
#include "gc_interface/collectedHeap.hpp"
#include "memory/generation.hpp"
#include "memory/universe.hpp"
#include "oops/oop.hpp"
public class MachineDescriptionAArch64 extends MachineDescriptionTwosComplement implements MachineDescription {
public long getAddressSize() {
return 8;
}
// Implementation of all inlined member functions defined in oop.hpp
// We need a separate file to avoid circular references
public boolean isLP64() {
return true;
}
inline bool oopDesc::is_scavengable() const {
return Universe::heap()->is_scavengable(this);
public boolean isBigEndian() {
return false;
}
}
#endif // SHARE_VM_OOPS_OOP_INLINE2_HPP

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,8 @@
package sun.jvm.hotspot.debugger.amd64;
import java.lang.annotation.Native;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.debugger.cdbg.*;
@@ -39,6 +41,9 @@ public abstract class AMD64ThreadContext implements ThreadContext {
// subset of the registers' values are guaranteed to be present (and
// must be present for the SA's stack walking to work)
// One instance of the Native annotation is enough to trigger header generation
// for this file.
@Native
public static final int R15 = 0;
public static final int R14 = 1;
public static final int R13 = 2;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,8 @@
package sun.jvm.hotspot.debugger.ppc64;
import java.lang.annotation.Native;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.debugger.cdbg.*;
@@ -38,6 +40,9 @@ public abstract class PPC64ThreadContext implements ThreadContext {
// subset of the registers' values are guaranteed to be present (and
// must be present for the SA's stack walking to work).
// One instance of the Native annotation is enough to trigger header generation
// for this file.
@Native
public static final int R31 = 0;
public static final int R30 = 1;
public static final int R29 = 2;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,8 @@
package sun.jvm.hotspot.debugger.sparc;
import java.lang.annotation.Native;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.debugger.cdbg.*;
@@ -34,6 +36,10 @@ import sun.jvm.hotspot.debugger.cdbg.*;
public abstract class SPARCThreadContext implements ThreadContext {
// Taken from /usr/include/sys/procfs_isa.h
// One instance of the Native annotation is enough to trigger header generation
// for this file.
@Native
public static final int R_G0 = 0;
public static final int R_G1 = 1;
public static final int R_G2 = 2;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,8 @@
package sun.jvm.hotspot.debugger.x86;
import java.lang.annotation.Native;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.debugger.cdbg.*;
@@ -40,6 +42,9 @@ public abstract class X86ThreadContext implements ThreadContext {
// must be present for the SA's stack walking to work): EAX, EBX,
// ECX, EDX, ESI, EDI, EBP, ESP, and EIP.
// One instance of the Native annotation is enough to trigger header generation
// for this file.
@Native
public static final int GS = 0;
public static final int FS = 1;
public static final int ES = 2;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,8 @@ import sun.jvm.hotspot.utilities.*;
public class GenCollectedHeap extends SharedHeap {
private static CIntegerField nGensField;
private static long gensOffset;
private static AddressField youngGenField;
private static AddressField oldGenField;
private static AddressField genSpecsField;
private static GenerationFactory genFactory;
@@ -52,7 +53,8 @@ public class GenCollectedHeap extends SharedHeap {
Type type = db.lookupType("GenCollectedHeap");
nGensField = type.getCIntegerField("_n_gens");
gensOffset = type.getField("_gens").getOffset();
youngGenField = type.getAddressField("_young_gen");
oldGenField = type.getAddressField("_old_gen");
genSpecsField = type.getAddressField("_gen_specs");
genFactory = new GenerationFactory();
@@ -68,18 +70,19 @@ public class GenCollectedHeap extends SharedHeap {
public Generation getGen(int i) {
if (Assert.ASSERTS_ENABLED) {
Assert.that((i >= 0) && (i < nGens()), "Index " + i +
" out of range (should be between 0 and " + nGens() + ")");
Assert.that((i == 0) || (i == 1), "Index " + i +
" out of range (should be 0 or 1)");
}
if ((i < 0) || (i >= nGens())) {
switch (i) {
case 0:
return genFactory.newObject(youngGenField.getValue(addr));
case 1:
return genFactory.newObject(oldGenField.getValue(addr));
default:
// no generation for i, and assertions disabled.
return null;
}
Address genAddr = addr.getAddressAt(gensOffset +
(i * VM.getVM().getAddressSize()));
return genFactory.newObject(addr.getAddressAt(gensOffset +
(i * VM.getVM().getAddressSize())));
}
public boolean isIn(Address a) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2015, 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,15 +44,22 @@ public class SymbolTable extends sun.jvm.hotspot.utilities.Hashtable {
private static synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("SymbolTable");
theTableField = type.getAddressField("_the_table");
sharedTableField = type.getAddressField("_shared_table");
}
// Fields
private static AddressField theTableField;
private static AddressField sharedTableField;
private CompactHashTable sharedTable;
// Accessors
public static SymbolTable getTheTable() {
Address tmp = theTableField.getValue();
return (SymbolTable) VMObjectFactory.newObject(SymbolTable.class, tmp);
SymbolTable table = (SymbolTable) VMObjectFactory.newObject(SymbolTable.class, tmp);
Address shared = sharedTableField.getStaticFieldAddress();
table.sharedTable = (CompactHashTable)VMObjectFactory.newObject(CompactHashTable.class, shared);
return table;
}
public SymbolTable(Address addr) {
@@ -73,8 +80,9 @@ public class SymbolTable extends sun.jvm.hotspot.utilities.Hashtable {
/** Clone of VM's "temporary" probe routine, as the SA currently
does not support mutation so lookup() would have no effect
anyway. Returns null if the given string is not in the symbol
table. */
anyway. Searches the regular symbol table and the shared symbol
table. Null is returned if the given name is not found in both
tables. */
public Symbol probe(byte[] name) {
long hashValue = hashSymbol(name);
for (HashtableEntry e = (HashtableEntry) bucket(hashToIndex(hashValue)); e != null; e = (HashtableEntry) e.next()) {
@@ -85,7 +93,8 @@ public class SymbolTable extends sun.jvm.hotspot.utilities.Hashtable {
}
}
}
return null;
return sharedTable.probe(name, hashValue);
}
public interface SymbolVisitor {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -63,10 +63,6 @@ public class PPC64Frame extends Frame {
// Entry frames
private static int ENTRY_FRAME_CALL_WRAPPER_OFFSET;
// Native frames
private static int NATIVE_FRAME_INITIAL_PARAM_OFFSET;
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
@@ -76,10 +72,8 @@ public class PPC64Frame extends Frame {
}
private static synchronized void initialize(TypeDataBase db) {
int abi_minframe_size = db.lookupIntConstant("frame::abi_minframe_size").intValue();
int entry_frame_locals_size = db.lookupIntConstant("frame::entry_frame_locals_size").intValue();
int wordLength = (int) VM.getVM().getAddressSize();
NATIVE_FRAME_INITIAL_PARAM_OFFSET = -abi_minframe_size/wordLength;
ENTRY_FRAME_CALL_WRAPPER_OFFSET = -entry_frame_locals_size/wordLength;
}
@@ -389,13 +383,6 @@ public class PPC64Frame extends Frame {
// Return address:
public Address getSenderPC() { return getSenderSP().getAddressAt(2 * VM.getVM().getAddressSize()); }
// return address of param, zero origin index.
// MPJ note: Appears to be unused.
public Address getNativeParamAddr(int idx) {
return null;
// return addressOfStackSlot(NATIVE_FRAME_INITIAL_PARAM_OFFSET + idx);
}
public Address getSenderSP() { return getFP(); }
public Address addressOfInterpreterFrameLocals() {
return addressOfStackSlot(INTERPRETER_FRAME_LOCALS_OFFSET);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -63,9 +63,6 @@ public class X86Frame extends Frame {
// Entry frames
private static int ENTRY_FRAME_CALL_WRAPPER_OFFSET;
// Native frames
private static final int NATIVE_FRAME_INITIAL_PARAM_OFFSET = 2;
private static VMReg rbp;
static {
@@ -423,20 +420,12 @@ public class X86Frame extends Frame {
return addressOfStackSlot(LINK_OFFSET).getAddressAt(0);
}
// FIXME: not implementable yet
//inline void frame::set_link(intptr_t* addr) { *(intptr_t **)addr_at(link_offset) = addr; }
public Address getUnextendedSP() { return raw_unextendedSP; }
// Return address:
public Address getSenderPCAddr() { return addressOfStackSlot(RETURN_ADDR_OFFSET); }
public Address getSenderPC() { return getSenderPCAddr().getAddressAt(0); }
// return address of param, zero origin index.
public Address getNativeParamAddr(int idx) {
return addressOfStackSlot(NATIVE_FRAME_INITIAL_PARAM_OFFSET + idx);
}
public Address getSenderSP() { return addressOfStackSlot(SENDER_SP_OFFSET); }
public Address addressOfInterpreterFrameLocals() {

View File

@@ -423,12 +423,22 @@ public class ClassWriter implements /* imports */ ClassConstants
protected void writeMethods() throws IOException {
MethodArray methods = klass.getMethods();
final int len = methods.length();
ArrayList<Method> valid_methods = new ArrayList<Method>();
for (int i = 0; i < methods.length(); i++) {
Method m = methods.at(i);
long accessFlags = m.getAccessFlags();
// overpass method
if (accessFlags == (JVM_ACC_PUBLIC | JVM_ACC_SYNTHETIC | JVM_ACC_BRIDGE)) {
continue;
}
valid_methods.add(m);
}
final int len = valid_methods.size();
// write number of methods
dos.writeShort((short) len);
if (DEBUG) debugMessage("number of methods = " + len);
for (int m = 0; m < len; m++) {
writeMethod(methods.at(m));
writeMethod(valid_methods.get(m));
}
}

View File

@@ -0,0 +1,120 @@
/*
* Copyright (c) 2015, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
package sun.jvm.hotspot.utilities;
import java.util.*;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.oops.*;
import sun.jvm.hotspot.types.*;
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.utilities.*;
public class CompactHashTable extends VMObject {
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
initialize(VM.getVM().getTypeDataBase());
}
});
}
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
Type type = db.lookupType("SymbolCompactHashTable");
baseAddressField = type.getAddressField("_base_address");
bucketCountField = type.getCIntegerField("_bucket_count");
tableEndOffsetField = type.getCIntegerField("_table_end_offset");
bucketsField = type.getAddressField("_buckets");
uintSize = db.lookupType("juint").getSize();
}
// Fields
private static CIntegerField bucketCountField;
private static CIntegerField tableEndOffsetField;
private static AddressField baseAddressField;
private static AddressField bucketsField;
private static long uintSize;
private static int BUCKET_OFFSET_MASK = 0x3FFFFFFF;
private static int BUCKET_TYPE_SHIFT = 30;
private static int COMPACT_BUCKET_TYPE = 1;
public CompactHashTable(Address addr) {
super(addr);
}
private int bucketCount() {
return (int)bucketCountField.getValue(addr);
}
private int tableEndOffset() {
return (int)tableEndOffsetField.getValue(addr);
}
private boolean isCompactBucket(int bucket_info) {
return (bucket_info >> BUCKET_TYPE_SHIFT) == COMPACT_BUCKET_TYPE;
}
private int bucketOffset(int bucket_info) {
return bucket_info & BUCKET_OFFSET_MASK;
}
public Symbol probe(byte[] name, long hash) {
long symOffset;
Symbol sym;
Address baseAddress = baseAddressField.getValue(addr);
Address bucket = bucketsField.getValue(addr);
Address bucketEnd = bucket;
long index = hash % bucketCount();
int bucketInfo = (int)bucket.getCIntegerAt(index * uintSize, uintSize, true);
int bucketOffset = bucketOffset(bucketInfo);
int nextBucketInfo = (int)bucket.getCIntegerAt((index+1) * uintSize, uintSize, true);
int nextBucketOffset = bucketOffset(nextBucketInfo);
bucket = bucket.addOffsetTo(bucketOffset * uintSize);
if (isCompactBucket(bucketInfo)) {
symOffset = bucket.getCIntegerAt(0, uintSize, true);
sym = Symbol.create(baseAddress.addOffsetTo(symOffset));
if (sym.equals(name)) {
return sym;
}
} else {
bucketEnd = bucket.addOffsetTo(nextBucketOffset * uintSize);
while (bucket.lessThan(bucketEnd)) {
long symHash = bucket.getCIntegerAt(0, uintSize, true);
if (symHash == hash) {
symOffset = bucket.getCIntegerAt(uintSize, uintSize, true);
Address symAddr = baseAddress.addOffsetTo(symOffset);
sym = Symbol.create(symAddr);
if (sym.equals(name)) {
return sym;
}
}
bucket = bucket.addOffsetTo(2 * uintSize);
}
}
return null;
}
}

View File

@@ -61,7 +61,7 @@ public class PlatformInfo {
return "x86";
} else if (cpu.equals("sparc") || cpu.equals("sparcv9")) {
return "sparc";
} else if (cpu.equals("ia64") || cpu.equals("amd64") || cpu.equals("x86_64") || cpu.equals("ppc64")) {
} else if (cpu.equals("ia64") || cpu.equals("amd64") || cpu.equals("x86_64") || cpu.equals("ppc64") || cpu.equals("aarch64")) {
return cpu;
} else {
try {

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -62,11 +62,6 @@ SUNWprivate_1.1 {
JVM_DefineClassWithSourceCond;
JVM_DesiredAssertionStatus;
JVM_DoPrivileged;
JVM_DTraceGetVersion;
JVM_DTraceActivate;
JVM_DTraceIsProbeEnabled;
JVM_DTraceIsSupported;
JVM_DTraceDispose;
JVM_DumpAllStacks;
JVM_DumpThreads;
JVM_FillInStackTrace;
@@ -132,6 +127,7 @@ SUNWprivate_1.1 {
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetMethodTypeAnnotations;
JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -62,11 +62,6 @@ SUNWprivate_1.1 {
JVM_DefineClassWithSourceCond;
JVM_DesiredAssertionStatus;
JVM_DoPrivileged;
JVM_DTraceGetVersion;
JVM_DTraceActivate;
JVM_DTraceIsProbeEnabled;
JVM_DTraceIsSupported;
JVM_DTraceDispose;
JVM_DumpAllStacks;
JVM_DumpThreads;
JVM_FillInStackTrace;
@@ -130,6 +125,7 @@ SUNWprivate_1.1 {
JVM_GetMethodIxNameUTF;
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;

View File

@@ -126,10 +126,17 @@ QUIETLY$(MAKE_VERBOSE) = @
RUN.JAR$(MAKE_VERBOSE) += >/dev/null
# Settings for javac
BOOT_SOURCE_LANGUAGE_VERSION = 6
BOOT_TARGET_CLASS_VERSION = 6
JAVAC_FLAGS = -g -encoding ascii
BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
# Prefer BOOT_JDK_SOURCETARGET if it's set (typically by the top build system)
# Fall back to the values here if it's not set (hotspot only builds)
ifeq ($(BOOT_JDK_SOURCETARGET),)
BOOTSTRAP_SOURCETARGET := -source 8 -target 8
else
BOOTSTRAP_SOURCETARGET := $(BOOT_JDK_SOURCETARGET)
endif
BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) $(BOOTSTRAP_SOURCETARGET)
# With parallel makes, print a message at the end of compilation.
ifeq ($(findstring j,$(MFLAGS)),j)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
# Copyright 2012, 2013 SAP AG. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
@@ -94,7 +94,7 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
# are in AGENT_FILES, so use the shell to expand them.
# Be extra carefull to not produce too long command lines in the shell!
$(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST)))
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST)
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -h $(GENERATED) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_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
@@ -105,10 +105,6 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
$(QUIETLY) $(CP) -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
$(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
$(QUIETLY) $(REMOTE) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.ia64.IA64ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.sparc.SPARCThreadContext
clean:
rm -rf $(SA_CLASSDIR)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2015, 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
@@ -60,11 +60,6 @@
_JVM_DefineClassWithSourceCond
_JVM_DesiredAssertionStatus
_JVM_DoPrivileged
_JVM_DTraceGetVersion
_JVM_DTraceActivate
_JVM_DTraceIsProbeEnabled
_JVM_DTraceIsSupported
_JVM_DTraceDispose
_JVM_DumpAllStacks
_JVM_DumpThreads
_JVM_FillInStackTrace
@@ -130,6 +125,7 @@
_JVM_GetMethodIxSignatureUTF
_JVM_GetMethodParameters
_JVM_GetMethodTypeAnnotations
_JVM_GetNanoTimeAdjustment
_JVM_GetPrimitiveArrayElement
_JVM_GetProtectionDomain
_JVM_GetStackAccessControlContext

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2015, 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
@@ -60,11 +60,6 @@
_JVM_DefineClassWithSourceCond
_JVM_DesiredAssertionStatus
_JVM_DoPrivileged
_JVM_DTraceGetVersion
_JVM_DTraceActivate
_JVM_DTraceIsProbeEnabled
_JVM_DTraceIsSupported
_JVM_DTraceDispose
_JVM_DumpAllStacks
_JVM_DumpThreads
_JVM_FillInStackTrace
@@ -130,6 +125,7 @@
_JVM_GetMethodIxSignatureUTF
_JVM_GetMethodParameters
_JVM_GetMethodTypeAnnotations
_JVM_GetNanoTimeAdjustment
_JVM_GetPrimitiveArrayElement
_JVM_GetProtectionDomain
_JVM_GetStackAccessControlContext

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -62,11 +62,6 @@ SUNWprivate_1.1 {
JVM_DefineClassWithSourceCond;
JVM_DesiredAssertionStatus;
JVM_DoPrivileged;
JVM_DTraceGetVersion;
JVM_DTraceActivate;
JVM_DTraceIsProbeEnabled;
JVM_DTraceIsSupported;
JVM_DTraceDispose;
JVM_DumpAllStacks;
JVM_DumpThreads;
JVM_FillInStackTrace;
@@ -132,6 +127,7 @@ SUNWprivate_1.1 {
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetMethodTypeAnnotations;
JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -62,11 +62,6 @@ SUNWprivate_1.1 {
JVM_DefineClassWithSourceCond;
JVM_DesiredAssertionStatus;
JVM_DoPrivileged;
JVM_DTraceGetVersion;
JVM_DTraceActivate;
JVM_DTraceIsProbeEnabled;
JVM_DTraceIsSupported;
JVM_DTraceDispose;
JVM_DumpAllStacks;
JVM_DumpThreads;
JVM_FillInStackTrace;
@@ -132,6 +127,7 @@ SUNWprivate_1.1 {
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetMethodTypeAnnotations;
JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;

View File

@@ -126,10 +126,17 @@ QUIETLY$(MAKE_VERBOSE) = @
RUN.JAR$(MAKE_VERBOSE) += >/dev/null
# Settings for javac
BOOT_SOURCE_LANGUAGE_VERSION = 6
BOOT_TARGET_CLASS_VERSION = 6
JAVAC_FLAGS = -g -encoding ascii
BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
# Prefer BOOT_JDK_SOURCETARGET if it's set (typically by the top build system)
# Fall back to the values here if it's not set (hotspot only builds)
ifeq ($(BOOT_JDK_SOURCETARGET),)
BOOTSTRAP_SOURCETARGET := -source 8 -target 8
else
BOOTSTRAP_SOURCETARGET := $(BOOT_JDK_SOURCETARGET)
endif
BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) $(BOOTSTRAP_SOURCETARGET)
# With parallel makes, print a message at the end of compilation.
ifeq ($(findstring j,$(MFLAGS)),j)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 2015, 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
@@ -120,7 +120,7 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
# are in AGENT_FILES, so use the shell to expand them.
# Be extra carefull to not produce too long command lines in the shell!
$(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST)))
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) $(SA_CLASSPATH_ARG) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST)
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -h $(GENERATED) $(SA_CLASSPATH_ARG) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_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
@@ -131,10 +131,6 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
$(QUIETLY) $(CP) -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
$(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
$(QUIETLY) $(REMOTE) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.sparc.SPARCThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.asm.Disassembler
clean:
rm -rf $(SA_CLASSDIR)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2006, 2015, 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
@@ -286,7 +286,7 @@ 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 arm ppc ppc64 zero,$(ARCH)))
SRCARCH ?= $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc ppc64 aarch64 zero,$(ARCH)))
ARCH/ = x86
ARCH/sparc = sparc
ARCH/sparc64= sparc
@@ -295,11 +295,11 @@ ifneq ($(OSNAME),windows)
ARCH/x86_64 = x86
ARCH/ppc64 = ppc
ARCH/ppc = ppc
ARCH/arm = arm
ARCH/aarch64= aarch64
ARCH/zero = zero
# BUILDARCH is usually the same as SRCARCH, except for sparcv9
BUILDARCH = $(SRCARCH)
BUILDARCH ?= $(SRCARCH)
ifeq ($(BUILDARCH), x86)
ifdef LP64
BUILDARCH = amd64
@@ -319,18 +319,17 @@ ifneq ($(OSNAME),windows)
endif
# LIBARCH is 1:1 mapping from BUILDARCH
LIBARCH = $(LIBARCH/$(BUILDARCH))
LIBARCH ?= $(LIBARCH/$(BUILDARCH))
LIBARCH/i486 = i386
LIBARCH/amd64 = amd64
LIBARCH/sparc = sparc
LIBARCH/sparcv9 = sparcv9
LIBARCH/ia64 = ia64
LIBARCH/ppc64 = ppc64
LIBARCH/ppc = ppc
LIBARCH/arm = arm
LIBARCH/aarch64 = aarch64
LIBARCH/zero = $(ZERO_LIBARCH)
LP64_ARCH = sparcv9 amd64 ia64 ppc64 zero
LP64_ARCH = sparcv9 amd64 ia64 ppc64 aarch64 zero
endif
# Required make macro settings for all platforms
@@ -345,6 +344,8 @@ MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
# includes this make/defs.make file.
MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
MAKE_ARGS += BOOT_JDK_SOURCETARGET="$(BOOT_JDK_SOURCETARGET)"
# Various export sub directories
EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 2015, 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
@@ -233,7 +233,7 @@ checks: check_os_version check_j2se_version
# Solaris 2.5.1, 2.6).
# Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
OS_VERSION := $(shell uname -r)
EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 2013, 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,10 +24,9 @@
# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
# Must also specify if CPU is little endian
CFLAGS += -DVM_LITTLE_ENDIAN
# Must also specify if CPU is big endian
CFLAGS += -DVM_BIG_ENDIAN
ifdef E500V2
ASFLAGS += -Wa,-mspe -Wa,--defsym -Wa,E500V2=1
endif
CFLAGS += -D_LP64=1

View File

@@ -1,16 +0,0 @@
#!/bin/sh
# If we're cross compiling use that path for nm
if [ "$CROSS_COMPILE_ARCH" != "" ]; then
NM=$ALT_COMPILER_PATH/nm
else
NM=nm
fi
$NM --defined-only $* \
| awk '{
if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";"
if ($3 ~ /^UseSharedSpaces$/) print "\t" $3 ";"
if ($3 ~ /^_ZN9Arguments17SharedArchivePathE$/) print "\t" $3 ";"
}' \
| sort -u

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 2015, 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
@@ -70,6 +70,8 @@ else
PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH).suncc
else
PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH)
ALT_PLATFORM_FILE = $(HS_ALT_MAKE)/$(OS_FAMILY)/platform_$(BUILDARCH)
PLATFORM_FILE := $(if $(wildcard $(ALT_PLATFORM_FILE)),$(ALT_PLATFORM_FILE),$(PLATFORM_FILE))
endif
endif
@@ -194,6 +196,7 @@ DATA_MODE/sparc = 32
DATA_MODE/sparcv9 = 64
DATA_MODE/amd64 = 64
DATA_MODE/ppc64 = 64
DATA_MODE/aarch64 = 64
DATA_MODE = $(DATA_MODE/$(BUILDARCH))
@@ -202,7 +205,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
$(QUIETLY) ( \
$(BUILDTREE_COMMENT); \
echo; \
echo "Platform_file = $(PLATFORM_FILE)" | sed 's|$(GAMMADIR)|$$(GAMMADIR)|'; \
echo "Platform_file = $(PLATFORM_FILE)" | sed -e 's|$(HS_ALT_MAKE)|$$(HS_ALT_MAKE)|' -e 's|$(GAMMADIR)|$$(GAMMADIR)|'; \
sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
echo; \
echo "GAMMADIR = $(GAMMADIR)"; \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2006, 2015, 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
@@ -105,14 +105,6 @@ ifneq (,$(findstring $(ARCH), amd64 x86_64 i686 i586))
HS_ARCH = x86
endif
# ARM
ifeq ($(ARCH), arm)
ARCH_DATA_MODEL = 32
PLATFORM = linux-arm
VM_PLATFORM = linux_arm
HS_ARCH = arm
endif
# PPC
# Notice: after 8046471 ARCH will be 'ppc' for top-level ppc64 builds but
# 'ppc64' for HotSpot-only ppc64 builds. Need to detect both variants here!
@@ -121,15 +113,20 @@ ifneq (,$(findstring $(ARCH), ppc ppc64))
MAKE_ARGS += LP64=1
PLATFORM = linux-ppc64
VM_PLATFORM = linux_ppc64
else
ARCH_DATA_MODEL = 32
PLATFORM = linux-ppc
VM_PLATFORM = linux_ppc
endif
HS_ARCH = ppc
endif
# AARCH64
ifeq ($(ARCH), aarch64)
ARCH_DATA_MODEL = 64
MAKE_ARGS += LP64=1
PLATFORM = linux-aarch64
VM_PLATFORM = linux_aarch64
HS_ARCH = aarch64
endif
# On 32 bit linux we build server and client, on 64 bit just server.
ifeq ($(JVM_VARIANTS),)
ifeq ($(ARCH_DATA_MODEL), 32)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 2015, 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
@@ -172,14 +172,11 @@ endif
ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
ARCHFLAG/i486 = -m32 -march=i586
ARCHFLAG/amd64 = -m64 $(STACK_ALIGNMENT_OPT)
ARCHFLAG/aarch64 =
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
ARCHFLAG/ppc64 = -m64
CFLAGS += $(ARCHFLAG)
@@ -187,10 +184,6 @@ AOUT_FLAGS += $(ARCHFLAG)
LFLAGS += $(ARCHFLAG)
ASFLAGS += $(ARCHFLAG)
ifdef E500V2
CFLAGS += -DE500V2
endif
# Use C++ Interpreter
ifdef CC_INTERP
CFLAGS += -DCC_INTERP
@@ -221,6 +214,11 @@ ifeq ($(USE_CLANG),)
# conversions which might affect the values. Only enable it in earlier versions.
ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
WARNING_FLAGS += -Wconversion
endif
ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 8 \) \))" "1"
# This flag is only known since GCC 4.3. Gcc 4.8 contains a fix so that with templates no
# warnings are issued: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=11856
WARNING_FLAGS += -Wtype-limits
endif
endif
@@ -390,3 +388,5 @@ endif
ifndef USE_SUNCC
CFLAGS += -fno-omit-frame-pointer
endif
-include $(HS_ALT_MAKE)/linux/makefiles/gcc.make

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -62,11 +62,6 @@ SUNWprivate_1.1 {
JVM_DefineClassWithSourceCond;
JVM_DesiredAssertionStatus;
JVM_DoPrivileged;
JVM_DTraceGetVersion;
JVM_DTraceActivate;
JVM_DTraceIsProbeEnabled;
JVM_DTraceIsSupported;
JVM_DTraceDispose;
JVM_DumpAllStacks;
JVM_DumpThreads;
JVM_FillInStackTrace;
@@ -132,6 +127,7 @@ SUNWprivate_1.1 {
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetMethodTypeAnnotations;
JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -62,11 +62,6 @@ SUNWprivate_1.1 {
JVM_DefineClassWithSourceCond;
JVM_DesiredAssertionStatus;
JVM_DoPrivileged;
JVM_DTraceGetVersion;
JVM_DTraceActivate;
JVM_DTraceIsProbeEnabled;
JVM_DTraceIsSupported;
JVM_DTraceDispose;
JVM_DumpAllStacks;
JVM_DumpThreads;
JVM_FillInStackTrace;
@@ -132,6 +127,7 @@ SUNWprivate_1.1 {
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetMethodTypeAnnotations;
JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;

View File

@@ -126,10 +126,17 @@ QUIETLY$(MAKE_VERBOSE) = @
RUN.JAR$(MAKE_VERBOSE) += >/dev/null
# Settings for javac
BOOT_SOURCE_LANGUAGE_VERSION = 6
BOOT_TARGET_CLASS_VERSION = 6
JAVAC_FLAGS = -g -encoding ascii
BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
# Prefer BOOT_JDK_SOURCETARGET if it's set (typically by the top build system)
# Fall back to the values here if it's not set (hotspot only builds)
ifeq ($(BOOT_JDK_SOURCETARGET),)
BOOTSTRAP_SOURCETARGET := -source 8 -target 8
else
BOOTSTRAP_SOURCETARGET := $(BOOT_JDK_SOURCETARGET)
endif
BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) $(BOOTSTRAP_SOURCETARGET)
# With parallel makes, print a message at the end of compilation.
ifeq ($(findstring j,$(MFLAGS)),j)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 2015, 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
@@ -95,7 +95,7 @@ $(GENERATED)/sa-jdi.jar:: $(AGENT_FILES)
# are in AGENT_FILES, so use the shell to expand them.
# Be extra carefull to not produce too long command lines in the shell!
$(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST)))
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST)
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -h $(GENERATED) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_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
@@ -106,11 +106,6 @@ $(GENERATED)/sa-jdi.jar:: $(AGENT_FILES)
$(QUIETLY) $(CP) -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
$(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
$(QUIETLY) $(REMOTE) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.sparc.SPARCThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.ppc64.PPC64ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.asm.Disassembler
clean:
rm -rf $(SA_CLASSDIR)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -69,19 +69,21 @@ endif
endif
ifneq ($(ALT_SASRCDIR),)
ALT_SAINCDIR=-I$(ALT_SASRCDIR)
ALT_SAINCDIR=-I$(ALT_SASRCDIR) -DALT_SASRCDIR
else
ALT_SAINCDIR=
endif
SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
SAARCH ?= $(BUILDARCH)
$(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
exit 1; \
fi
@echo $(LOG_INFO) Making SA debugger back-end...
$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE \
$(QUIETLY) $(CC) -D$(SAARCH) -D_GNU_SOURCE \
-D_FILE_OFFSET_BITS=64 \
$(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
-I$(SASRCDIR) \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 2015, 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
@@ -45,8 +45,9 @@ DEP_DIR = $(GENERATED)/dependencies
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
include $(MAKEFILES_DIR)/zeroshark.make
else
include $(MAKEFILES_DIR)/$(BUILDARCH).make
-include $(HS_ALT_MAKE)/$(Platform_os_family)/makefiles/$(BUILDARCH).make
BUILDARCH_MAKE = $(MAKEFILES_DIR)/$(BUILDARCH).make
ALT_BUILDARCH_MAKE = $(HS_ALT_MAKE)/$(Platform_os_family)/makefiles/$(BUILDARCH).make
include $(if $(wildcard $(ALT_BUILDARCH_MAKE)),$(ALT_BUILDARCH_MAKE),$(BUILDARCH_MAKE))
endif
# set VPATH so make knows where to look for source files
@@ -239,8 +240,14 @@ mapfile_reorder : mapfile $(REORDERFILE)
rm -f $@
cat $^ > $@
VMDEF_PAT = ^_ZTV
VMDEF_PAT := ^gHotSpotVM|$(VMDEF_PAT)
VMDEF_PAT := ^UseSharedSpaces$$|$(VMDEF_PAT)
VMDEF_PAT := ^_ZN9Arguments17SharedArchivePathE$$|$(VMDEF_PAT)
vm.def: $(Res_Files) $(Obj_Files)
sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@
$(QUIETLY) $(NM) --defined-only $(Obj_Files) | sort -k3 -u | \
awk '$$3 ~ /$(VMDEF_PAT)/ { print "\t" $$3 ";" }' > $@
mapfile_ext:
rm -f $@

View File

@@ -0,0 +1,15 @@
os_family = linux
arch = aarch64
arch_model = aarch64
os_arch = linux_aarch64
os_arch_model = linux_aarch64
lib_arch = aarch64
compiler = gcc
sysdefs = -DLINUX -D_GNU_SOURCE -DAARCH64

View File

@@ -1,17 +0,0 @@
os_family = linux
arch = arm
arch_model = arm
os_arch = linux_arm
os_arch_model = linux_arm
lib_arch = arm
compiler = gcc
gnu_dis_arch = arm
sysdefs = -DLINUX -D_GNU_SOURCE -DARM

View File

@@ -1,17 +0,0 @@
os_family = linux
arch = ppc
arch_model = ppc_32
os_arch = linux_ppc
os_arch_model = linux_ppc_32
lib_arch = ppc
compiler = gcc
gnu_dis_arch = ppc
sysdefs = -DLINUX -D_GNU_SOURCE -DPPC32

View File

@@ -336,16 +336,10 @@ $(DTRACE_JHELPER.o) : $(DTRACE_JHELPER).d $(JVMOFFS).h $(JVMOFFS)Index.h
.PHONY: dtraceCheck
SYSTEM_DTRACE_H = /usr/include/dtrace.h
SYSTEM_DTRACE_PROG = /usr/sbin/dtrace
PATCH_DTRACE_PROG = /opt/SUNWdtrd/sbin/dtrace
systemDtraceFound := $(wildcard ${SYSTEM_DTRACE_PROG})
patchDtraceFound := $(wildcard ${PATCH_DTRACE_PROG})
systemDtraceHdrFound := $(wildcard $(SYSTEM_DTRACE_H))
ifneq ("$(systemDtraceHdrFound)", "")
CFLAGS += -DHAVE_DTRACE_H
endif
ifneq ("$(patchDtraceFound)", "")
DTRACE_PROG=$(PATCH_DTRACE_PROG)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -62,11 +62,6 @@ SUNWprivate_1.1 {
JVM_DefineClassWithSourceCond;
JVM_DesiredAssertionStatus;
JVM_DoPrivileged;
JVM_DTraceGetVersion;
JVM_DTraceActivate;
JVM_DTraceIsProbeEnabled;
JVM_DTraceIsSupported;
JVM_DTraceDispose;
JVM_DumpAllStacks;
JVM_DumpThreads;
JVM_FillInStackTrace;
@@ -132,6 +127,7 @@ SUNWprivate_1.1 {
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetMethodTypeAnnotations;
JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;

View File

@@ -118,10 +118,17 @@ QUIETLY$(MAKE_VERBOSE) = @
RUN.JAR$(MAKE_VERBOSE) += >/dev/null
# Settings for javac
BOOT_SOURCE_LANGUAGE_VERSION = 6
BOOT_TARGET_CLASS_VERSION = 6
JAVAC_FLAGS = -g -encoding ascii
BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
# Prefer BOOT_JDK_SOURCETARGET if it's set (typically by the top build system)
# Fall back to the values here if it's not set (hotspot only builds)
ifeq ($(BOOT_JDK_SOURCETARGET),)
BOOTSTRAP_SOURCETARGET := -source 8 -target 8
else
BOOTSTRAP_SOURCETARGET := $(BOOT_JDK_SOURCETARGET)
endif
BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) $(BOOTSTRAP_SOURCETARGET)
# With parallel makes, print a message at the end of compilation.
ifeq ($(findstring j,$(MFLAGS)),j)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 2015, 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
@@ -86,7 +86,7 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
# are in AGENT_FILES, so use the shell to expand them.
# Be extra carefull to not produce too long command lines in the shell!
$(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST)))
$(QUIETLY) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST)
$(QUIETLY) $(COMPILE.JAVAC) -h $(GENERATED) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST)
$(QUIETLY) $(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
@@ -97,8 +97,6 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
$(QUIETLY) $(CP) -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
$(QUIETLY) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
$(QUIETLY) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
$(QUIETLY) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
$(QUIETLY) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.asm.Disassembler
clean:
rm -rf $(SA_CLASSDIR)

View File

@@ -0,0 +1,81 @@
#
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
################################################################################
# This file builds the native component of the JTReg tests for Hotspot.
# It also covers the test-image part, where the built files are copied to the
# test image.
################################################################################
default: all
include $(SPEC)
include MakeBase.gmk
include TestFilesCompilation.gmk
################################################################################
# Targets for building the native tests themselves.
################################################################################
# Add more directories here when needed.
BUILD_HOTSPOT_JTREG_NATIVE_SRC := \
$(HOTSPOT_TOPDIR)/test/native_sanity \
#
BUILD_HOTSPOT_JTREG_OUTPUT_DIR := $(BUILD_OUTPUT)/support/test/hotspot/jtreg/native
BUILD_HOTSPOT_JTREG_IMAGE_DIR := $(TEST_IMAGE_DIR)/hotspot/jtreg
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_LIBRARIES, \
TYPE := LIBRARY, \
SOURCE_DIRS := $(BUILD_HOTSPOT_JTREG_NATIVE_SRC), \
OUTPUT_DIR := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
))
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_EXECUTABLES, \
TYPE := PROGRAM, \
SOURCE_DIRS := $(BUILD_HOTSPOT_JTREG_NATIVE_SRC), \
OUTPUT_DIR := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
))
build-test-hotspot-jtreg-native: $(BUILD_HOTSPOT_JTREG_LIBRARIES) $(BUILD_HOTSPOT_JTREG_EXECUTABLES)
################################################################################
# Targets for building test-image.
################################################################################
# Copy to hotspot jtreg test image
$(eval $(call SetupCopyFiles,COPY_HOTSPOT_JTREG_NATIVE, \
SRC := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
DEST := $(TEST_IMAGE_DIR)/hotspot/jtreg/native, \
FILES := $(BUILD_HOTSPOT_JTREG_LIBRARIES) $(BUILD_HOTSPOT_JTREG_EXECUTABLES), \
FLATTEN := true))
test-image-hotspot-jtreg-native: $(COPY_HOTSPOT_JTREG_NATIVE)
all: build-test-hotspot-jtreg-native
test-image: test-image-hotspot-jtreg-native
.PHONY: default all build-test-hotspot-jtreg-native test-image-hotspot-jtreg-native test-image

View File

@@ -69,6 +69,7 @@ ProjectCreatorIncludesPRIVATE=\
-ignorePath ppc \
-ignorePath zero \
-ignorePath aix \
-ignorePath aarch64 \
-hidePath .hg

View File

@@ -44,10 +44,17 @@ BOOT_JAVA_HOME=
!endif
# Settings for javac
BOOT_SOURCE_LANGUAGE_VERSION=6
BOOT_TARGET_CLASS_VERSION=6
JAVAC_FLAGS=-g -encoding ascii
BOOTSTRAP_JAVAC_FLAGS=$(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
# Prefer BOOT_JDK_SOURCETARGET if it's set (typically by the top build system)
# Fall back to the values here if it's not set (hotspot only builds)
!ifndef BOOT_JDK_SOURCETARGET
BOOTSTRAP_SOURCETARGET=-source 8 -target 8
!else
BOOTSTRAP_SOURCETARGET=$(BOOT_JDK_SOURCETARGET)
!endif
BOOTSTRAP_JAVAC_FLAGS=$(JAVAC_FLAGS) $(BOOTSTRAP_SOURCETARGET)
# VS2012 and VS2013 loads VS10 projects just fine (and will
# upgrade them automatically to VS2012 format).

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 2015, 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
@@ -72,7 +72,7 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
$(QUIETLY) mkdir -p $(SA_CLASSDIR)
@echo ...Building sa-jdi.jar into $(SA_CLASSDIR)
@echo ...$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -d $(SA_CLASSDIR) ....
@$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES)
@$(COMPILE_JAVAC) -h $(GENERATED) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES)
$(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
@@ -83,10 +83,6 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
$(QUIETLY) $(CP) -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)
$(RUN_JAR) cf $@ -C $(SA_CLASSDIR) .
$(RUN_JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
$(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal
$(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
$(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
$(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.asm.Disassembler

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
/*
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#include <stdlib.h>
#include "precompiled.hpp"
#include "code/codeBlob.hpp"
#include "asm/macroAssembler.hpp"
// hook routine called during JVM bootstrap to test AArch64 assembler
extern "C" void entry(CodeBuffer*);
void aarch64TestHook()
{
BufferBlob* b = BufferBlob::create("aarch64Test", 500000);
CodeBuffer code(b);
MacroAssembler _masm(&code);
entry(&code);
}

View File

@@ -0,0 +1,367 @@
dnl Copyright (c) 2014, Red Hat Inc. All rights reserved.
dnl DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
dnl
dnl This code is free software; you can redistribute it and/or modify it
dnl under the terms of the GNU General Public License version 2 only, as
dnl published by the Free Software Foundation.
dnl
dnl This code is distributed in the hope that it will be useful, but WITHOUT
dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dnl version 2 for more details (a copy is included in the LICENSE file that
dnl accompanied this code).
dnl
dnl You should have received a copy of the GNU General Public License version
dnl 2 along with this work; if not, write to the Free Software Foundation,
dnl Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
dnl
dnl Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
dnl or visit www.oracle.com if you need additional information or have any
dnl questions.
dnl
dnl
dnl Process this file with m4 aarch64_ad.m4 to generate the arithmetic
dnl and shift patterns patterns used in aarch64.ad.
dnl
// BEGIN This section of the file is automatically generated. Do not edit --------------
dnl
define(`ORL2I', `ifelse($1,I,orL2I)')
dnl
define(`BASE_SHIFT_INSN',
`
instruct $2$1_reg_$4_reg(iReg$1NoSp dst,
iReg$1`'ORL2I($1) src1, iReg$1`'ORL2I($1) src2,
immI src3, rFlagsReg cr) %{
match(Set dst ($2$1 src1 ($4$1 src2 src3)));
ins_cost(1.9 * INSN_COST);
format %{ "$3 $dst, $src1, $src2, $5 $src3" %}
ins_encode %{
__ $3(as_Register($dst$$reg),
as_Register($src1$$reg),
as_Register($src2$$reg),
Assembler::$5,
$src3$$constant & 0x3f);
%}
ins_pipe(ialu_reg_reg_shift);
%}')dnl
define(`BASE_INVERTED_INSN',
`
instruct $2$1_reg_not_reg(iReg$1NoSp dst,
iReg$1`'ORL2I($1) src1, iReg$1`'ORL2I($1) src2, imm$1_M1 m1,
rFlagsReg cr) %{
dnl This ifelse is because hotspot reassociates (xor (xor ..)..)
dnl into this canonical form.
ifelse($2,Xor,
match(Set dst (Xor$1 m1 (Xor$1 src2 src1)));,
match(Set dst ($2$1 src1 (Xor$1 src2 m1)));)
ins_cost(INSN_COST);
format %{ "$3 $dst, $src1, $src2" %}
ins_encode %{
__ $3(as_Register($dst$$reg),
as_Register($src1$$reg),
as_Register($src2$$reg),
Assembler::LSL, 0);
%}
ins_pipe(ialu_reg_reg);
%}')dnl
define(`INVERTED_SHIFT_INSN',
`
instruct $2$1_reg_$4_not_reg(iReg$1NoSp dst,
iReg$1`'ORL2I($1) src1, iReg$1`'ORL2I($1) src2,
immI src3, imm$1_M1 src4, rFlagsReg cr) %{
dnl This ifelse is because hotspot reassociates (xor (xor ..)..)
dnl into this canonical form.
ifelse($2,Xor,
match(Set dst ($2$1 src4 (Xor$1($4$1 src2 src3) src1)));,
match(Set dst ($2$1 src1 (Xor$1($4$1 src2 src3) src4)));)
ins_cost(1.9 * INSN_COST);
format %{ "$3 $dst, $src1, $src2, $5 $src3" %}
ins_encode %{
__ $3(as_Register($dst$$reg),
as_Register($src1$$reg),
as_Register($src2$$reg),
Assembler::$5,
$src3$$constant & 0x3f);
%}
ins_pipe(ialu_reg_reg_shift);
%}')dnl
define(`NOT_INSN',
`instruct reg$1_not_reg(iReg$1NoSp dst,
iReg$1`'ORL2I($1) src1, imm$1_M1 m1,
rFlagsReg cr) %{
match(Set dst (Xor$1 src1 m1));
ins_cost(INSN_COST);
format %{ "$2 $dst, $src1, zr" %}
ins_encode %{
__ $2(as_Register($dst$$reg),
as_Register($src1$$reg),
zr,
Assembler::LSL, 0);
%}
ins_pipe(ialu_reg);
%}')dnl
dnl
define(`BOTH_SHIFT_INSNS',
`BASE_SHIFT_INSN(I, $1, ifelse($2,andr,andw,$2w), $3, $4)
BASE_SHIFT_INSN(L, $1, $2, $3, $4)')dnl
dnl
define(`BOTH_INVERTED_INSNS',
`BASE_INVERTED_INSN(I, $1, $2w, $3, $4)
BASE_INVERTED_INSN(L, $1, $2, $3, $4)')dnl
dnl
define(`BOTH_INVERTED_SHIFT_INSNS',
`INVERTED_SHIFT_INSN(I, $1, $2w, $3, $4, ~0, int)
INVERTED_SHIFT_INSN(L, $1, $2, $3, $4, ~0l, long)')dnl
dnl
define(`ALL_SHIFT_KINDS',
`BOTH_SHIFT_INSNS($1, $2, URShift, LSR)
BOTH_SHIFT_INSNS($1, $2, RShift, ASR)
BOTH_SHIFT_INSNS($1, $2, LShift, LSL)')dnl
dnl
define(`ALL_INVERTED_SHIFT_KINDS',
`BOTH_INVERTED_SHIFT_INSNS($1, $2, URShift, LSR)
BOTH_INVERTED_SHIFT_INSNS($1, $2, RShift, ASR)
BOTH_INVERTED_SHIFT_INSNS($1, $2, LShift, LSL)')dnl
dnl
NOT_INSN(L, eon)
NOT_INSN(I, eonw)
BOTH_INVERTED_INSNS(And, bic)
BOTH_INVERTED_INSNS(Or, orn)
BOTH_INVERTED_INSNS(Xor, eon)
ALL_INVERTED_SHIFT_KINDS(And, bic)
ALL_INVERTED_SHIFT_KINDS(Xor, eon)
ALL_INVERTED_SHIFT_KINDS(Or, orn)
ALL_SHIFT_KINDS(And, andr)
ALL_SHIFT_KINDS(Xor, eor)
ALL_SHIFT_KINDS(Or, orr)
ALL_SHIFT_KINDS(Add, add)
ALL_SHIFT_KINDS(Sub, sub)
dnl
dnl EXTEND mode, rshift_op, src, lshift_count, rshift_count
define(`EXTEND', `($2$1 (LShift$1 $3 $4) $5)')
define(`BFM_INSN',`
// Shift Left followed by Shift Right.
// This idiom is used by the compiler for the i2b bytecode etc.
instruct $4$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src, immI lshift_count, immI rshift_count)
%{
match(Set dst EXTEND($1, $3, src, lshift_count, rshift_count));
// Make sure we are not going to exceed what $4 can do.
predicate((unsigned int)n->in(2)->get_int() <= $2
&& (unsigned int)n->in(1)->in(2)->get_int() <= $2);
ins_cost(INSN_COST * 2);
format %{ "$4 $dst, $src, $rshift_count - $lshift_count, #$2 - $lshift_count" %}
ins_encode %{
int lshift = $lshift_count$$constant, rshift = $rshift_count$$constant;
int s = $2 - lshift;
int r = (rshift - lshift) & $2;
__ $4(as_Register($dst$$reg),
as_Register($src$$reg),
r, s);
%}
ins_pipe(ialu_reg_shift);
%}')
BFM_INSN(L, 63, RShift, sbfm)
BFM_INSN(I, 31, RShift, sbfmw)
BFM_INSN(L, 63, URShift, ubfm)
BFM_INSN(I, 31, URShift, ubfmw)
dnl
// Bitfield extract with shift & mask
define(`BFX_INSN',
`instruct $3$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src, immI rshift, imm$1_bitmask mask)
%{
match(Set dst (And$1 ($2$1 src rshift) mask));
ins_cost(INSN_COST);
format %{ "$3 $dst, $src, $mask" %}
ins_encode %{
int rshift = $rshift$$constant;
long mask = $mask$$constant;
int width = exact_log2(mask+1);
__ $3(as_Register($dst$$reg),
as_Register($src$$reg), rshift, width);
%}
ins_pipe(ialu_reg_shift);
%}')
BFX_INSN(I,URShift,ubfxw)
BFX_INSN(L,URShift,ubfx)
// We can use ubfx when extending an And with a mask when we know mask
// is positive. We know that because immI_bitmask guarantees it.
instruct ubfxIConvI2L(iRegLNoSp dst, iRegIorL2I src, immI rshift, immI_bitmask mask)
%{
match(Set dst (ConvI2L (AndI (URShiftI src rshift) mask)));
ins_cost(INSN_COST * 2);
format %{ "ubfx $dst, $src, $mask" %}
ins_encode %{
int rshift = $rshift$$constant;
long mask = $mask$$constant;
int width = exact_log2(mask+1);
__ ubfx(as_Register($dst$$reg),
as_Register($src$$reg), rshift, width);
%}
ins_pipe(ialu_reg_shift);
%}
// Rotations
define(`EXTRACT_INSN',
`instruct extr$3$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src1, iReg$1`'ORL2I($1) src2, immI lshift, immI rshift, rFlagsReg cr)
%{
match(Set dst ($3$1 (LShift$1 src1 lshift) (URShift$1 src2 rshift)));
predicate(0 == ((n->in(1)->in(2)->get_int() + n->in(2)->in(2)->get_int()) & $2));
ins_cost(INSN_COST);
format %{ "extr $dst, $src1, $src2, #$rshift" %}
ins_encode %{
__ $4(as_Register($dst$$reg), as_Register($src1$$reg), as_Register($src2$$reg),
$rshift$$constant & $2);
%}
ins_pipe(ialu_reg_reg_extr);
%}
')dnl
EXTRACT_INSN(L, 63, Or, extr)
EXTRACT_INSN(I, 31, Or, extrw)
EXTRACT_INSN(L, 63, Add, extr)
EXTRACT_INSN(I, 31, Add, extrw)
define(`ROL_EXPAND', `
// $2 expander
instruct $2$1_rReg(iReg$1NoSp dst, iReg$1 src, iRegI shift, rFlagsReg cr)
%{
effect(DEF dst, USE src, USE shift);
format %{ "$2 $dst, $src, $shift" %}
ins_cost(INSN_COST * 3);
ins_encode %{
__ subw(rscratch1, zr, as_Register($shift$$reg));
__ $3(as_Register($dst$$reg), as_Register($src$$reg),
rscratch1);
%}
ins_pipe(ialu_reg_reg_vshift);
%}')dnl
define(`ROR_EXPAND', `
// $2 expander
instruct $2$1_rReg(iReg$1NoSp dst, iReg$1 src, iRegI shift, rFlagsReg cr)
%{
effect(DEF dst, USE src, USE shift);
format %{ "$2 $dst, $src, $shift" %}
ins_cost(INSN_COST);
ins_encode %{
__ $3(as_Register($dst$$reg), as_Register($src$$reg),
as_Register($shift$$reg));
%}
ins_pipe(ialu_reg_reg_vshift);
%}')dnl
define(ROL_INSN, `
instruct $3$1_rReg_Var_C$2(iRegLNoSp dst, iRegL src, iRegI shift, immI$2 c$2, rFlagsReg cr)
%{
match(Set dst (Or$1 (LShift$1 src shift) (URShift$1 src (SubI c$2 shift))));
expand %{
$3L_rReg(dst, src, shift, cr);
%}
%}')dnl
define(ROR_INSN, `
instruct $3$1_rReg_Var_C$2(iRegLNoSp dst, iRegL src, iRegI shift, immI$2 c$2, rFlagsReg cr)
%{
match(Set dst (Or$1 (URShift$1 src shift) (LShift$1 src (SubI c$2 shift))));
expand %{
$3L_rReg(dst, src, shift, cr);
%}
%}')dnl
ROL_EXPAND(L, rol, rorv)
ROL_EXPAND(I, rol, rorvw)
ROL_INSN(L, _64, rol)
ROL_INSN(L, 0, rol)
ROL_INSN(I, _32, rol)
ROL_INSN(I, 0, rol)
ROR_EXPAND(L, ror, rorv)
ROR_EXPAND(I, ror, rorvw)
ROR_INSN(L, _64, ror)
ROR_INSN(L, 0, ror)
ROR_INSN(I, _32, ror)
ROR_INSN(I, 0, ror)
// Add/subtract (extended)
dnl ADD_SUB_EXTENDED(mode, size, add node, shift node, insn, shift type, wordsize
define(`ADD_SUB_CONV', `
instruct $3Ext$1(iReg$2NoSp dst, iReg$2`'ORL2I($2) src1, iReg$1`'ORL2I($1) src2, rFlagsReg cr)
%{
match(Set dst ($3$2 src1 (ConvI2L src2)));
ins_cost(INSN_COST);
format %{ "$4 $dst, $src1, $5 $src2" %}
ins_encode %{
__ $4(as_Register($dst$$reg), as_Register($src1$$reg),
as_Register($src2$$reg), ext::$5);
%}
ins_pipe(ialu_reg_reg);
%}')dnl
ADD_SUB_CONV(I,L,Add,add,sxtw);
ADD_SUB_CONV(I,L,Sub,sub,sxtw);
dnl
define(`ADD_SUB_EXTENDED', `
instruct $3Ext$1_$6(iReg$1NoSp dst, iReg$1`'ORL2I($1) src1, iReg$1`'ORL2I($1) src2, immI_`'eval($7-$2) lshift, immI_`'eval($7-$2) rshift, rFlagsReg cr)
%{
match(Set dst ($3$1 src1 EXTEND($1, $4, src2, lshift, rshift)));
ins_cost(INSN_COST);
format %{ "$5 $dst, $src1, $6 $src2" %}
ins_encode %{
__ $5(as_Register($dst$$reg), as_Register($src1$$reg),
as_Register($src2$$reg), ext::$6);
%}
ins_pipe(ialu_reg_reg);
%}')
ADD_SUB_EXTENDED(I,16,Add,RShift,add,sxth,32)
ADD_SUB_EXTENDED(I,8,Add,RShift,add,sxtb,32)
ADD_SUB_EXTENDED(I,8,Add,URShift,add,uxtb,32)
ADD_SUB_EXTENDED(L,16,Add,RShift,add,sxth,64)
ADD_SUB_EXTENDED(L,32,Add,RShift,add,sxtw,64)
ADD_SUB_EXTENDED(L,8,Add,RShift,add,sxtb,64)
ADD_SUB_EXTENDED(L,8,Add,URShift,add,uxtb,64)
dnl
dnl ADD_SUB_ZERO_EXTEND(mode, size, add node, insn, shift type)
define(`ADD_SUB_ZERO_EXTEND', `
instruct $3Ext$1_$5_and(iReg$1NoSp dst, iReg$1`'ORL2I($1) src1, iReg$1`'ORL2I($1) src2, imm$1_$2 mask, rFlagsReg cr)
%{
match(Set dst ($3$1 src1 (And$1 src2 mask)));
ins_cost(INSN_COST);
format %{ "$4 $dst, $src1, $src2, $5" %}
ins_encode %{
__ $4(as_Register($dst$$reg), as_Register($src1$$reg),
as_Register($src2$$reg), ext::$5);
%}
ins_pipe(ialu_reg_reg);
%}')
dnl
ADD_SUB_ZERO_EXTEND(I,255,Add,addw,uxtb)
ADD_SUB_ZERO_EXTEND(I,65535,Add,addw,uxth)
ADD_SUB_ZERO_EXTEND(L,255,Add,add,uxtb)
ADD_SUB_ZERO_EXTEND(L,65535,Add,add,uxth)
ADD_SUB_ZERO_EXTEND(L,4294967295,Add,add,uxtw)
dnl
ADD_SUB_ZERO_EXTEND(I,255,Sub,subw,uxtb)
ADD_SUB_ZERO_EXTEND(I,65535,Sub,subw,uxth)
ADD_SUB_ZERO_EXTEND(L,255,Sub,sub,uxtb)
ADD_SUB_ZERO_EXTEND(L,65535,Sub,sub,uxth)
ADD_SUB_ZERO_EXTEND(L,4294967295,Sub,sub,uxtw)
// END This section of the file is automatically generated. Do not edit --------------

View File

@@ -0,0 +1,200 @@
/*
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifdef BUILTIN_SIM
#include <stdio.h>
#include <sys/types.h>
#include "asm/macroAssembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "runtime/sharedRuntime.hpp"
#include "../../../../../../simulator/cpustate.hpp"
#include "../../../../../../simulator/simulator.hpp"
/*
* a routine to initialise and enter ARM simulator execution when
* calling into ARM code from x86 code.
*
* we maintain a simulator per-thread and provide it with 8 Mb of
* stack space
*/
#define SIM_STACK_SIZE (1024 * 1024) // in units of u_int64_t
extern "C" u_int64_t get_alt_stack()
{
return AArch64Simulator::altStack();
}
extern "C" void setup_arm_sim(void *sp, u_int64_t calltype)
{
// n.b. this function runs on the simulator stack so as to avoid
// simulator frames appearing in between VM x86 and ARM frames. note
// that arfgument sp points to the old (VM) stack from which the
// call into the sim was made. The stack switch and entry into this
// routine is handled by x86 prolog code planted in the head of the
// ARM code buffer which the sim is about to start executing (see
// aarch64_linkage.S).
//
// The first ARM instruction in the buffer is identified by fnptr
// stored at the top of the old stack. x86 register contents precede
// fnptr. preceding that are the fp and return address of the VM
// caller into ARM code. any extra, non-register arguments passed to
// the linkage routine precede the fp (this is as per any normal x86
// call wirth extra args).
//
// note that the sim creates Java frames on the Java stack just
// above sp (i.e. directly above fnptr). it sets the sim FP register
// to the pushed fp for the caller effectively eliding the register
// data saved by the linkage routine.
//
// x86 register call arguments are loaded from the stack into ARM
// call registers. if extra arguments occur preceding the x86
// caller's fp then they are copied either into extra ARM registers
// (ARM has 8 rather than 6 gp call registers) or up the stack
// beyond the saved x86 registers so that they immediately precede
// the ARM frame where the ARM calling convention expects them to
// be.
//
// n.b. the number of register/stack values passed to the ARM code
// is determined by calltype
//
// +--------+
// | fnptr | <--- argument sp points here
// +--------+ |
// | rax | | return slot if we need to return a value
// +--------+ |
// | rdi | increasing
// +--------+ address
// | rsi | |
// +--------+ V
// | rdx |
// +--------+
// | rcx |
// +--------+
// | r8 |
// +--------+
// | r9 |
// +--------+
// | xmm0 |
// +--------+
// | xmm1 |
// +--------+
// | xmm2 |
// +--------+
// | xmm3 |
// +--------+
// | xmm4 |
// +--------+
// | xmm5 |
// +--------+
// | xmm6 |
// +--------+
// | xmm7 |
// +--------+
// | fp |
// +--------+
// | caller |
// | ret ip |
// +--------+
// | arg0 | <-- any extra call args start here
// +--------+ offset = 18 * wordSize
// | . . . | (i.e. 1 * calladdr + 1 * rax + 6 * gp call regs
// + 8 * fp call regs + 2 * frame words)
//
// we use a unique sim/stack per thread
const int cursor2_offset = 18;
const int fp_offset = 16;
u_int64_t *cursor = (u_int64_t *)sp;
u_int64_t *cursor2 = ((u_int64_t *)sp) + cursor2_offset;
u_int64_t *fp = ((u_int64_t *)sp) + fp_offset;
int gp_arg_count = calltype & 0xf;
int fp_arg_count = (calltype >> 4) & 0xf;
int return_type = (calltype >> 8) & 0x3;
AArch64Simulator *sim = AArch64Simulator::get_current(UseSimulatorCache, DisableBCCheck);
// save previous cpu state in case this is a recursive entry
CPUState saveState = sim->getCPUState();
// set up initial sim pc, sp and fp registers
sim->init(*cursor++, (u_int64_t)sp, (u_int64_t)fp);
u_int64_t *return_slot = cursor++;
// if we need to pass the sim extra args on the stack then bump
// the stack pointer now
u_int64_t *cursor3 = (u_int64_t *)sim->getCPUState().xreg(SP, 1);
if (gp_arg_count > 8) {
cursor3 -= gp_arg_count - 8;
}
if (fp_arg_count > 8) {
cursor3 -= fp_arg_count - 8;
}
sim->getCPUState().xreg(SP, 1) = (u_int64_t)(cursor3++);
for (int i = 0; i < gp_arg_count; i++) {
if (i < 6) {
// copy saved register to sim register
GReg reg = (GReg)i;
sim->getCPUState().xreg(reg, 0) = *cursor++;
} else if (i < 8) {
// copy extra int arg to sim register
GReg reg = (GReg)i;
sim->getCPUState().xreg(reg, 0) = *cursor2++;
} else {
// copy extra fp arg to sim stack
*cursor3++ = *cursor2++;
}
}
for (int i = 0; i < fp_arg_count; i++) {
if (i < 8) {
// copy saved register to sim register
GReg reg = (GReg)i;
sim->getCPUState().xreg(reg, 0) = *cursor++;
} else {
// copy extra arg to sim stack
*cursor3++ = *cursor2++;
}
}
AArch64Simulator::status_t return_status = sim->run();
if (return_status != AArch64Simulator::STATUS_RETURN){
sim->simPrint0();
fatal("invalid status returned from simulator.run()\n");
}
switch (return_type) {
case MacroAssembler::ret_type_void:
default:
break;
case MacroAssembler::ret_type_integral:
// this overwrites the saved r0
*return_slot = sim->getCPUState().xreg(R0, 0);
break;
case MacroAssembler::ret_type_float:
*(float *)return_slot = sim->getCPUState().sreg(V0);
break;
case MacroAssembler::ret_type_double:
*(double *)return_slot = sim->getCPUState().dreg(V0);
break;
}
// restore incoimng cpu state
sim->getCPUState() = saveState;
}
#endif

View File

@@ -0,0 +1,167 @@
#
# Copyright (c) 2012, Red Hat. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
# Routines used to enable x86 VM C++ code to invoke JIT-compiled ARM code
# -- either Java methods or generated stub -- and to allow JIT-compiled
# ARM code to invoke x86 VM C++ code
#
# the code for aarch64_stub_prolog below can be copied into the start
# of the ARM code buffer and patched with a link to the
# C++ routine which starts execution on the simulator. the ARM
# code can be generated immediately following the copied code.
#ifdef BUILTIN_SIM
.data
.globl setup_arm_sim,
.type setup_arm_sim,@function
.globl get_alt_stack,
.type get_alt_stack,@function
.globl aarch64_stub_prolog
.p2align 4
aarch64_stub_prolog:
// entry point
4: lea 1f(%rip), %r11
mov (%r11), %r10
mov (%r10), %r10
jmp *%r10
.p2align 4
1:
.set entry_offset, . - 1b
.quad aarch64_prolog_ptr
// 64 bit int used to idenitfy called fn arg/return types
.set calltype_offset, . - 1b
.quad 0
// arm JIT code follows the stub
.set arm_code_offset, . - 1b
.size aarch64_stub_prolog, .-aarch64_stub_prolog
aarch64_stub_prolog_end:
.text
aarch64_prolog_ptr:
.quad aarch64_prolog
.globl aarch64_prolog
aarch64_prolog:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
// save all registers used to pass args
sub $8, %rsp
movd %xmm7, (%rsp)
sub $8, %rsp
movd %xmm6, (%rsp)
sub $8, %rsp
movd %xmm5, (%rsp)
sub $8, %rsp
movd %xmm4, (%rsp)
sub $8, %rsp
movd %xmm3, (%rsp)
sub $8, %rsp
movd %xmm2, (%rsp)
sub $8, %rsp
movd %xmm1, (%rsp)
sub $8, %rsp
movd %xmm0, (%rsp)
push %r9
push %r8
push %rcx
push %rdx
push %rsi
push %rdi
// save rax -- this stack slot will be rewritten with a
// return value if needed
push %rax
// temporarily save r11 while we find the other stack
push %r11
// retrieve alt stack
call get_alt_stack@PLT
pop %r11
// push start of arm code
lea (arm_code_offset)(%r11), %rsi
push %rsi
// load call type code in arg reg 1
mov (calltype_offset)(%r11), %rsi
// load current stack pointer in arg reg 0
mov %rsp, %rdi
// switch to alt stack
mov %rax, %rsp
// save previous stack pointer on new stack
push %rdi
// 16-align the new stack pointer
push %rdi
// call sim setup routine
call setup_arm_sim@PLT
// switch back to old stack
pop %rsp
// pop start of arm code
pop %rdi
// pop rax -- either restores old value or installs return value
pop %rax
// pop arg registers
pop %rdi
pop %rsi
pop %rdx
pop %rcx
pop %r8
pop %r9
movd (%rsp), %xmm0
add $8, %rsp
movd (%rsp), %xmm1
add $8, %rsp
movd (%rsp), %xmm2
add $8, %rsp
movd (%rsp), %xmm3
add $8, %rsp
movd (%rsp), %xmm4
add $8, %rsp
movd (%rsp), %xmm5
add $8, %rsp
movd (%rsp), %xmm6
add $8, %rsp
movd (%rsp), %xmm7
add $8, %rsp
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.p2align 4
get_pc:
// get return pc in rdi and then push it back
pop %rdi
push %rdi
ret
.p2align 4
.long
.globl aarch64_stub_prolog_size
.type aarch64_stub_prolog_size,@function
aarch64_stub_prolog_size:
leaq aarch64_stub_prolog_end - aarch64_stub_prolog, %rax
ret
#endif

View File

@@ -0,0 +1,98 @@
dnl Copyright (c) 2014, Red Hat Inc. All rights reserved.
dnl DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
dnl
dnl This code is free software; you can redistribute it and/or modify it
dnl under the terms of the GNU General Public License version 2 only, as
dnl published by the Free Software Foundation.
dnl
dnl This code is distributed in the hope that it will be useful, but WITHOUT
dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dnl version 2 for more details (a copy is included in the LICENSE file that
dnl accompanied this code).
dnl
dnl You should have received a copy of the GNU General Public License version
dnl 2 along with this work; if not, write to the Free Software Foundation,
dnl Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
dnl
dnl Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
dnl or visit www.oracle.com if you need additional information or have any
dnl questions.
dnl
dnl
dnl Process this file with m4 ad_encode.m4 to generate the load/store
dnl patterns used in aarch64.ad.
dnl
define(choose, `loadStore($1, &MacroAssembler::$3, $2, $4,
$5, $6, $7, $8);dnl
%}')dnl
define(access, `
$3Register $1_reg = as_$3Register($$1$$reg);
$4choose(MacroAssembler(&cbuf), $1_reg,$2,$mem->opcode(),
as_Register($mem$$base),$mem$$index,$mem$$scale,$mem$$disp)')dnl
define(load,`
enc_class aarch64_enc_$2($1 dst, memory mem) %{dnl
access(dst,$2,$3)')dnl
load(iRegI,ldrsbw)
load(iRegI,ldrsb)
load(iRegI,ldrb)
load(iRegL,ldrb)
load(iRegI,ldrshw)
load(iRegI,ldrsh)
load(iRegI,ldrh)
load(iRegL,ldrh)
load(iRegI,ldrw)
load(iRegL,ldrw)
load(iRegL,ldrsw)
load(iRegL,ldr)
load(vRegF,ldrs,Float)
load(vRegD,ldrd,Float)
define(STORE,`
enc_class aarch64_enc_$2($1 src, memory mem) %{dnl
access(src,$2,$3,$4)')dnl
define(STORE0,`
enc_class aarch64_enc_$2`'0(memory mem) %{
MacroAssembler _masm(&cbuf);
choose(_masm,zr,$2,$mem->opcode(),
as_$3Register($mem$$base),$mem$$index,$mem$$scale,$mem$$disp)')dnl
STORE(iRegI,strb)
STORE0(iRegI,strb)
STORE(iRegI,strh)
STORE0(iRegI,strh)
STORE(iRegI,strw)
STORE0(iRegI,strw)
STORE(iRegL,str,,
`// we sometimes get asked to store the stack pointer into the
// current thread -- we cannot do that directly on AArch64
if (src_reg == r31_sp) {
MacroAssembler _masm(&cbuf);
assert(as_Register($mem$$base) == rthread, "unexpected store for sp");
__ mov(rscratch2, sp);
src_reg = rscratch2;
}
')
STORE0(iRegL,str)
STORE(vRegF,strs,Float)
STORE(vRegD,strd,Float)
enc_class aarch64_enc_strw_immn(immN src, memory mem) %{
MacroAssembler _masm(&cbuf);
address con = (address)$src$$constant;
// need to do this the hard way until we can manage relocs
// for 32 bit constants
__ movoop(rscratch2, (jobject)con);
if (con) __ encode_heap_oop_not_null(rscratch2);
choose(_masm,rscratch2,strw,$mem->opcode(),
as_Register($mem$$base),$mem$$index,$mem$$scale,$mem$$disp)
enc_class aarch64_enc_strw_immnk(immN src, memory mem) %{
MacroAssembler _masm(&cbuf);
address con = (address)$src$$constant;
// need to do this the hard way until we can manage relocs
// for 32 bit constants
__ movoop(rscratch2, (jobject)con);
__ encode_klass_not_null(rscratch2);
choose(_masm,rscratch2,strw,$mem->opcode(),
as_Register($mem$$base),$mem$$index,$mem$$scale,$mem$$disp)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,33 @@
/*
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef CPU_AARCH64_VM_ASSEMBLER_AARCH64_INLINE_HPP
#define CPU_AARCH64_VM_ASSEMBLER_AARCH64_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/codeBuffer.hpp"
#include "code/codeCache.hpp"
#endif // CPU_AARCH64_VM_ASSEMBLER_AARCH64_INLINE_HPP

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#include "precompiled.hpp"
#include "asm/assembler.hpp"
#include "interpreter/bytecodeInterpreter.hpp"
#include "interpreter/bytecodeInterpreter.inline.hpp"
#include "interpreter/interpreter.hpp"
#include "interpreter/interpreterRuntime.hpp"
#include "oops/methodData.hpp"
#include "oops/method.hpp"
#include "oops/oop.inline.hpp"
#include "prims/jvmtiExport.hpp"
#include "prims/jvmtiThreadState.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/sharedRuntime.hpp"
#include "runtime/stubRoutines.hpp"
#include "runtime/synchronizer.hpp"
#include "runtime/vframeArray.hpp"
#include "utilities/debug.hpp"
#include "interp_masm_aarch64.hpp"
#ifdef CC_INTERP
#endif // CC_INTERP (all)

View File

@@ -0,0 +1,116 @@
/*
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef CPU_AARCH64_VM_BYTECODEINTERPRETER_AARCH64_HPP
#define CPU_AARCH64_VM_BYTECODEINTERPRETER_AARCH64_HPP
// Platform specific for C++ based Interpreter
private:
interpreterState _self_link; /* Previous interpreter state */ /* sometimes points to self??? */
address _result_handler; /* temp for saving native result handler */
intptr_t* _sender_sp; /* sender's sp before stack (locals) extension */
address _extra_junk1; /* temp to save on recompiles */
address _extra_junk2; /* temp to save on recompiles */
address _extra_junk3; /* temp to save on recompiles */
// address dummy_for_native2; /* a native frame result handler would be here... */
// address dummy_for_native1; /* native result type stored here in a interpreter native frame */
address _extra_junk4; /* temp to save on recompiles */
address _extra_junk5; /* temp to save on recompiles */
address _extra_junk6; /* temp to save on recompiles */
public:
// we have an interpreter frame...
inline intptr_t* sender_sp() {
return _sender_sp;
}
// The interpreter always has the frame anchor fully setup so we don't
// have to do anything going to vm from the interpreter. On return
// we do have to clear the flags in case they we're modified to
// maintain the stack walking invariants.
//
#define SET_LAST_JAVA_FRAME()
#define RESET_LAST_JAVA_FRAME()
/*
* Macros for accessing the stack.
*/
#undef STACK_INT
#undef STACK_FLOAT
#undef STACK_ADDR
#undef STACK_OBJECT
#undef STACK_DOUBLE
#undef STACK_LONG
// JavaStack Implementation
#define GET_STACK_SLOT(offset) (*((intptr_t*) &topOfStack[-(offset)]))
#define STACK_SLOT(offset) ((address) &topOfStack[-(offset)])
#define STACK_ADDR(offset) (*((address *) &topOfStack[-(offset)]))
#define STACK_INT(offset) (*((jint*) &topOfStack[-(offset)]))
#define STACK_FLOAT(offset) (*((jfloat *) &topOfStack[-(offset)]))
#define STACK_OBJECT(offset) (*((oop *) &topOfStack [-(offset)]))
#define STACK_DOUBLE(offset) (((VMJavaVal64*) &topOfStack[-(offset)])->d)
#define STACK_LONG(offset) (((VMJavaVal64 *) &topOfStack[-(offset)])->l)
#define SET_STACK_SLOT(value, offset) (*(intptr_t*)&topOfStack[-(offset)] = *(intptr_t*)(value))
#define SET_STACK_ADDR(value, offset) (*((address *)&topOfStack[-(offset)]) = (value))
#define SET_STACK_INT(value, offset) (*((jint *)&topOfStack[-(offset)]) = (value))
#define SET_STACK_FLOAT(value, offset) (*((jfloat *)&topOfStack[-(offset)]) = (value))
#define SET_STACK_OBJECT(value, offset) (*((oop *)&topOfStack[-(offset)]) = (value))
#define SET_STACK_DOUBLE(value, offset) (((VMJavaVal64*)&topOfStack[-(offset)])->d = (value))
#define SET_STACK_DOUBLE_FROM_ADDR(addr, offset) (((VMJavaVal64*)&topOfStack[-(offset)])->d = \
((VMJavaVal64*)(addr))->d)
#define SET_STACK_LONG(value, offset) (((VMJavaVal64*)&topOfStack[-(offset)])->l = (value))
#define SET_STACK_LONG_FROM_ADDR(addr, offset) (((VMJavaVal64*)&topOfStack[-(offset)])->l = \
((VMJavaVal64*)(addr))->l)
// JavaLocals implementation
#define LOCALS_SLOT(offset) ((intptr_t*)&locals[-(offset)])
#define LOCALS_ADDR(offset) ((address)locals[-(offset)])
#define LOCALS_INT(offset) ((jint)(locals[-(offset)]))
#define LOCALS_FLOAT(offset) (*((jfloat*)&locals[-(offset)]))
#define LOCALS_OBJECT(offset) ((oop)locals[-(offset)])
#define LOCALS_DOUBLE(offset) (((VMJavaVal64*)&locals[-((offset) + 1)])->d)
#define LOCALS_LONG(offset) (((VMJavaVal64*)&locals[-((offset) + 1)])->l)
#define LOCALS_LONG_AT(offset) (((address)&locals[-((offset) + 1)]))
#define LOCALS_DOUBLE_AT(offset) (((address)&locals[-((offset) + 1)]))
#define SET_LOCALS_SLOT(value, offset) (*(intptr_t*)&locals[-(offset)] = *(intptr_t *)(value))
#define SET_LOCALS_ADDR(value, offset) (*((address *)&locals[-(offset)]) = (value))
#define SET_LOCALS_INT(value, offset) (*((jint *)&locals[-(offset)]) = (value))
#define SET_LOCALS_FLOAT(value, offset) (*((jfloat *)&locals[-(offset)]) = (value))
#define SET_LOCALS_OBJECT(value, offset) (*((oop *)&locals[-(offset)]) = (value))
#define SET_LOCALS_DOUBLE(value, offset) (((VMJavaVal64*)&locals[-((offset)+1)])->d = (value))
#define SET_LOCALS_LONG(value, offset) (((VMJavaVal64*)&locals[-((offset)+1)])->l = (value))
#define SET_LOCALS_DOUBLE_FROM_ADDR(addr, offset) (((VMJavaVal64*)&locals[-((offset)+1)])->d = \
((VMJavaVal64*)(addr))->d)
#define SET_LOCALS_LONG_FROM_ADDR(addr, offset) (((VMJavaVal64*)&locals[-((offset)+1)])->l = \
((VMJavaVal64*)(addr))->l)
#endif // CPU_AARCH64_VM_BYTECODEINTERPRETER_AARCH64_HPP

View File

@@ -0,0 +1,286 @@
/*
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef CPU_AARCH64_VM_BYTECODEINTERPRETER_AARCH64_INLINE_HPP
#define CPU_AARCH64_VM_BYTECODEINTERPRETER_AARCH64_INLINE_HPP
// Inline interpreter functions for IA32
inline jfloat BytecodeInterpreter::VMfloatAdd(jfloat op1, jfloat op2) { return op1 + op2; }
inline jfloat BytecodeInterpreter::VMfloatSub(jfloat op1, jfloat op2) { return op1 - op2; }
inline jfloat BytecodeInterpreter::VMfloatMul(jfloat op1, jfloat op2) { return op1 * op2; }
inline jfloat BytecodeInterpreter::VMfloatDiv(jfloat op1, jfloat op2) { return op1 / op2; }
inline jfloat BytecodeInterpreter::VMfloatRem(jfloat op1, jfloat op2) { return fmod(op1, op2); }
inline jfloat BytecodeInterpreter::VMfloatNeg(jfloat op) { return -op; }
inline int32_t BytecodeInterpreter::VMfloatCompare(jfloat op1, jfloat op2, int32_t direction) {
return ( op1 < op2 ? -1 :
op1 > op2 ? 1 :
op1 == op2 ? 0 :
(direction == -1 || direction == 1) ? direction : 0);
}
inline void BytecodeInterpreter::VMmemCopy64(uint32_t to[2], const uint32_t from[2]) {
// x86 can do unaligned copies but not 64bits at a time
to[0] = from[0]; to[1] = from[1];
}
// The long operations depend on compiler support for "long long" on x86
inline jlong BytecodeInterpreter::VMlongAdd(jlong op1, jlong op2) {
return op1 + op2;
}
inline jlong BytecodeInterpreter::VMlongAnd(jlong op1, jlong op2) {
return op1 & op2;
}
inline jlong BytecodeInterpreter::VMlongDiv(jlong op1, jlong op2) {
// QQQ what about check and throw...
return op1 / op2;
}
inline jlong BytecodeInterpreter::VMlongMul(jlong op1, jlong op2) {
return op1 * op2;
}
inline jlong BytecodeInterpreter::VMlongOr(jlong op1, jlong op2) {
return op1 | op2;
}
inline jlong BytecodeInterpreter::VMlongSub(jlong op1, jlong op2) {
return op1 - op2;
}
inline jlong BytecodeInterpreter::VMlongXor(jlong op1, jlong op2) {
return op1 ^ op2;
}
inline jlong BytecodeInterpreter::VMlongRem(jlong op1, jlong op2) {
return op1 % op2;
}
inline jlong BytecodeInterpreter::VMlongUshr(jlong op1, jint op2) {
// CVM did this 0x3f mask, is the really needed??? QQQ
return ((unsigned long long) op1) >> (op2 & 0x3F);
}
inline jlong BytecodeInterpreter::VMlongShr(jlong op1, jint op2) {
return op1 >> (op2 & 0x3F);
}
inline jlong BytecodeInterpreter::VMlongShl(jlong op1, jint op2) {
return op1 << (op2 & 0x3F);
}
inline jlong BytecodeInterpreter::VMlongNeg(jlong op) {
return -op;
}
inline jlong BytecodeInterpreter::VMlongNot(jlong op) {
return ~op;
}
inline int32_t BytecodeInterpreter::VMlongLtz(jlong op) {
return (op <= 0);
}
inline int32_t BytecodeInterpreter::VMlongGez(jlong op) {
return (op >= 0);
}
inline int32_t BytecodeInterpreter::VMlongEqz(jlong op) {
return (op == 0);
}
inline int32_t BytecodeInterpreter::VMlongEq(jlong op1, jlong op2) {
return (op1 == op2);
}
inline int32_t BytecodeInterpreter::VMlongNe(jlong op1, jlong op2) {
return (op1 != op2);
}
inline int32_t BytecodeInterpreter::VMlongGe(jlong op1, jlong op2) {
return (op1 >= op2);
}
inline int32_t BytecodeInterpreter::VMlongLe(jlong op1, jlong op2) {
return (op1 <= op2);
}
inline int32_t BytecodeInterpreter::VMlongLt(jlong op1, jlong op2) {
return (op1 < op2);
}
inline int32_t BytecodeInterpreter::VMlongGt(jlong op1, jlong op2) {
return (op1 > op2);
}
inline int32_t BytecodeInterpreter::VMlongCompare(jlong op1, jlong op2) {
return (VMlongLt(op1, op2) ? -1 : VMlongGt(op1, op2) ? 1 : 0);
}
// Long conversions
inline jdouble BytecodeInterpreter::VMlong2Double(jlong val) {
return (jdouble) val;
}
inline jfloat BytecodeInterpreter::VMlong2Float(jlong val) {
return (jfloat) val;
}
inline jint BytecodeInterpreter::VMlong2Int(jlong val) {
return (jint) val;
}
// Double Arithmetic
inline jdouble BytecodeInterpreter::VMdoubleAdd(jdouble op1, jdouble op2) {
return op1 + op2;
}
inline jdouble BytecodeInterpreter::VMdoubleDiv(jdouble op1, jdouble op2) {
// Divide by zero... QQQ
return op1 / op2;
}
inline jdouble BytecodeInterpreter::VMdoubleMul(jdouble op1, jdouble op2) {
return op1 * op2;
}
inline jdouble BytecodeInterpreter::VMdoubleNeg(jdouble op) {
return -op;
}
inline jdouble BytecodeInterpreter::VMdoubleRem(jdouble op1, jdouble op2) {
return fmod(op1, op2);
}
inline jdouble BytecodeInterpreter::VMdoubleSub(jdouble op1, jdouble op2) {
return op1 - op2;
}
inline int32_t BytecodeInterpreter::VMdoubleCompare(jdouble op1, jdouble op2, int32_t direction) {
return ( op1 < op2 ? -1 :
op1 > op2 ? 1 :
op1 == op2 ? 0 :
(direction == -1 || direction == 1) ? direction : 0);
}
// Double Conversions
inline jfloat BytecodeInterpreter::VMdouble2Float(jdouble val) {
return (jfloat) val;
}
// Float Conversions
inline jdouble BytecodeInterpreter::VMfloat2Double(jfloat op) {
return (jdouble) op;
}
// Integer Arithmetic
inline jint BytecodeInterpreter::VMintAdd(jint op1, jint op2) {
return op1 + op2;
}
inline jint BytecodeInterpreter::VMintAnd(jint op1, jint op2) {
return op1 & op2;
}
inline jint BytecodeInterpreter::VMintDiv(jint op1, jint op2) {
/* it's possible we could catch this special case implicitly */
if ((juint)op1 == 0x80000000 && op2 == -1) return op1;
else return op1 / op2;
}
inline jint BytecodeInterpreter::VMintMul(jint op1, jint op2) {
return op1 * op2;
}
inline jint BytecodeInterpreter::VMintNeg(jint op) {
return -op;
}
inline jint BytecodeInterpreter::VMintOr(jint op1, jint op2) {
return op1 | op2;
}
inline jint BytecodeInterpreter::VMintRem(jint op1, jint op2) {
/* it's possible we could catch this special case implicitly */
if ((juint)op1 == 0x80000000 && op2 == -1) return 0;
else return op1 % op2;
}
inline jint BytecodeInterpreter::VMintShl(jint op1, jint op2) {
return op1 << op2;
}
inline jint BytecodeInterpreter::VMintShr(jint op1, jint op2) {
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 & 0x1f);
}
inline jint BytecodeInterpreter::VMintXor(jint op1, jint op2) {
return op1 ^ op2;
}
inline jdouble BytecodeInterpreter::VMint2Double(jint val) {
return (jdouble) val;
}
inline jfloat BytecodeInterpreter::VMint2Float(jint val) {
return (jfloat) val;
}
inline jlong BytecodeInterpreter::VMint2Long(jint val) {
return (jlong) val;
}
inline jchar BytecodeInterpreter::VMint2Char(jint val) {
return (jchar) val;
}
inline jshort BytecodeInterpreter::VMint2Short(jint val) {
return (jshort) val;
}
inline jbyte BytecodeInterpreter::VMint2Byte(jint val) {
return (jbyte) val;
}
#endif // CPU_AARCH64_VM_BYTECODEINTERPRETER_AARCH64_INLINE_HPP

View File

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

View File

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

View File

@@ -0,0 +1,75 @@
/*
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef CPU_AARCH64_VM_BYTES_AARCH64_HPP
#define CPU_AARCH64_VM_BYTES_AARCH64_HPP
#include "memory/allocation.hpp"
class Bytes: AllStatic {
public:
// Returns true if the byte ordering used by Java is different from the native byte ordering
// of the underlying machine. For example, this is true for Intel x86, but false for Solaris
// on Sparc.
static inline bool is_Java_byte_ordering_different(){ return true; }
// Efficient reading and writing of unaligned unsigned data in platform-specific byte ordering
// (no special code is needed since x86 CPUs can access unaligned data)
static inline u2 get_native_u2(address p) { return *(u2*)p; }
static inline u4 get_native_u4(address p) { return *(u4*)p; }
static inline u8 get_native_u8(address p) { return *(u8*)p; }
static inline void put_native_u2(address p, u2 x) { *(u2*)p = x; }
static inline void put_native_u4(address p, u4 x) { *(u4*)p = x; }
static inline void put_native_u8(address p, u8 x) { *(u8*)p = x; }
// Efficient reading and writing of unaligned unsigned data in Java
// byte ordering (i.e. big-endian ordering). Byte-order reversal is
// needed since x86 CPUs use little-endian format.
static inline u2 get_Java_u2(address p) { return swap_u2(get_native_u2(p)); }
static inline u4 get_Java_u4(address p) { return swap_u4(get_native_u4(p)); }
static inline u8 get_Java_u8(address p) { return swap_u8(get_native_u8(p)); }
static inline void put_Java_u2(address p, u2 x) { put_native_u2(p, swap_u2(x)); }
static inline void put_Java_u4(address p, u4 x) { put_native_u4(p, swap_u4(x)); }
static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, swap_u8(x)); }
// Efficient swapping of byte ordering
static inline u2 swap_u2(u2 x); // compiler-dependent implementation
static inline u4 swap_u4(u4 x); // compiler-dependent implementation
static inline u8 swap_u8(u8 x);
};
// The following header contains the implementations of swap_u2, swap_u4, and swap_u8[_base]
#ifdef TARGET_OS_ARCH_linux_aarch64
# include "bytes_linux_aarch64.inline.hpp"
#endif
#endif // CPU_AARCH64_VM_BYTES_AARCH64_HPP

View File

@@ -0,0 +1,381 @@
/*
* Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#include "precompiled.hpp"
#include "c1/c1_CodeStubs.hpp"
#include "c1/c1_FrameMap.hpp"
#include "c1/c1_LIRAssembler.hpp"
#include "c1/c1_MacroAssembler.hpp"
#include "c1/c1_Runtime1.hpp"
#include "nativeInst_aarch64.hpp"
#include "runtime/sharedRuntime.hpp"
#include "vmreg_aarch64.inline.hpp"
#if INCLUDE_ALL_GCS
#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
#endif
#define __ ce->masm()->
void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
ce->store_parameter(_method->as_register(), 1);
ce->store_parameter(_bci, 0);
__ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::counter_overflow_id)));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
__ b(_continuation);
}
RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index,
bool throw_index_out_of_bounds_exception)
: _throw_index_out_of_bounds_exception(throw_index_out_of_bounds_exception)
, _index(index)
{
assert(info != NULL, "must have info");
_info = new CodeEmitInfo(info);
}
void RangeCheckStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
if (_info->deoptimize_on_exception()) {
address a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id);
__ far_call(RuntimeAddress(a));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
debug_only(__ should_not_reach_here());
return;
}
if (_index->is_cpu_register()) {
__ mov(rscratch1, _index->as_register());
} else {
__ mov(rscratch1, _index->as_jint());
}
Runtime1::StubID stub_id;
if (_throw_index_out_of_bounds_exception) {
stub_id = Runtime1::throw_index_exception_id;
} else {
stub_id = Runtime1::throw_range_check_failed_id;
}
__ far_call(RuntimeAddress(Runtime1::entry_for(stub_id)), NULL, rscratch2);
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
debug_only(__ should_not_reach_here());
}
PredicateFailedStub::PredicateFailedStub(CodeEmitInfo* info) {
_info = new CodeEmitInfo(info);
}
void PredicateFailedStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
address a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id);
__ far_call(RuntimeAddress(a));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
debug_only(__ should_not_reach_here());
}
void DivByZeroStub::emit_code(LIR_Assembler* ce) {
if (_offset != -1) {
ce->compilation()->implicit_exception_table()->append(_offset, __ offset());
}
__ bind(_entry);
__ far_call(Address(Runtime1::entry_for(Runtime1::throw_div0_exception_id), relocInfo::runtime_call_type));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
#ifdef ASSERT
__ should_not_reach_here();
#endif
}
// Implementation of NewInstanceStub
NewInstanceStub::NewInstanceStub(LIR_Opr klass_reg, LIR_Opr result, ciInstanceKlass* klass, CodeEmitInfo* info, Runtime1::StubID stub_id) {
_result = result;
_klass = klass;
_klass_reg = klass_reg;
_info = new CodeEmitInfo(info);
assert(stub_id == Runtime1::new_instance_id ||
stub_id == Runtime1::fast_new_instance_id ||
stub_id == Runtime1::fast_new_instance_init_check_id,
"need new_instance id");
_stub_id = stub_id;
}
void NewInstanceStub::emit_code(LIR_Assembler* ce) {
assert(__ rsp_offset() == 0, "frame size should be fixed");
__ bind(_entry);
__ mov(r3, _klass_reg->as_register());
__ far_call(RuntimeAddress(Runtime1::entry_for(_stub_id)));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
assert(_result->as_register() == r0, "result must in r0,");
__ b(_continuation);
}
// Implementation of NewTypeArrayStub
// Implementation of NewTypeArrayStub
NewTypeArrayStub::NewTypeArrayStub(LIR_Opr klass_reg, LIR_Opr length, LIR_Opr result, CodeEmitInfo* info) {
_klass_reg = klass_reg;
_length = length;
_result = result;
_info = new CodeEmitInfo(info);
}
void NewTypeArrayStub::emit_code(LIR_Assembler* ce) {
assert(__ rsp_offset() == 0, "frame size should be fixed");
__ bind(_entry);
assert(_length->as_register() == r19, "length must in r19,");
assert(_klass_reg->as_register() == r3, "klass_reg must in r3");
__ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::new_type_array_id)));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
assert(_result->as_register() == r0, "result must in r0");
__ b(_continuation);
}
// Implementation of NewObjectArrayStub
NewObjectArrayStub::NewObjectArrayStub(LIR_Opr klass_reg, LIR_Opr length, LIR_Opr result, CodeEmitInfo* info) {
_klass_reg = klass_reg;
_result = result;
_length = length;
_info = new CodeEmitInfo(info);
}
void NewObjectArrayStub::emit_code(LIR_Assembler* ce) {
assert(__ rsp_offset() == 0, "frame size should be fixed");
__ bind(_entry);
assert(_length->as_register() == r19, "length must in r19,");
assert(_klass_reg->as_register() == r3, "klass_reg must in r3");
__ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::new_object_array_id)));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
assert(_result->as_register() == r0, "result must in r0");
__ b(_continuation);
}
// Implementation of MonitorAccessStubs
MonitorEnterStub::MonitorEnterStub(LIR_Opr obj_reg, LIR_Opr lock_reg, CodeEmitInfo* info)
: MonitorAccessStub(obj_reg, lock_reg)
{
_info = new CodeEmitInfo(info);
}
void MonitorEnterStub::emit_code(LIR_Assembler* ce) {
assert(__ rsp_offset() == 0, "frame size should be fixed");
__ bind(_entry);
ce->store_parameter(_obj_reg->as_register(), 1);
ce->store_parameter(_lock_reg->as_register(), 0);
Runtime1::StubID enter_id;
if (ce->compilation()->has_fpu_code()) {
enter_id = Runtime1::monitorenter_id;
} else {
enter_id = Runtime1::monitorenter_nofpu_id;
}
__ far_call(RuntimeAddress(Runtime1::entry_for(enter_id)));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
__ b(_continuation);
}
void MonitorExitStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
if (_compute_lock) {
// lock_reg was destroyed by fast unlocking attempt => recompute it
ce->monitor_address(_monitor_ix, _lock_reg);
}
ce->store_parameter(_lock_reg->as_register(), 0);
// note: non-blocking leaf routine => no call info needed
Runtime1::StubID exit_id;
if (ce->compilation()->has_fpu_code()) {
exit_id = Runtime1::monitorexit_id;
} else {
exit_id = Runtime1::monitorexit_nofpu_id;
}
__ adr(lr, _continuation);
__ far_jump(RuntimeAddress(Runtime1::entry_for(exit_id)));
}
// Implementation of patching:
// - Copy the code at given offset to an inlined buffer (first the bytes, then the number of bytes)
// - Replace original code with a call to the stub
// At Runtime:
// - call to stub, jump to runtime
// - in runtime: preserve all registers (rspecially objects, i.e., source and destination object)
// - in runtime: after initializing class, restore original code, reexecute instruction
int PatchingStub::_patch_info_offset = -NativeGeneralJump::instruction_size;
void PatchingStub::align_patch_site(MacroAssembler* masm) {
}
void PatchingStub::emit_code(LIR_Assembler* ce) {
assert(false, "AArch64 should not use C1 runtime patching");
}
void DeoptimizeStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
__ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::deoptimize_id)));
ce->add_call_info_here(_info);
DEBUG_ONLY(__ should_not_reach_here());
}
void ImplicitNullCheckStub::emit_code(LIR_Assembler* ce) {
address a;
if (_info->deoptimize_on_exception()) {
// Deoptimize, do not throw the exception, because it is probably wrong to do it here.
a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id);
} else {
a = Runtime1::entry_for(Runtime1::throw_null_pointer_exception_id);
}
ce->compilation()->implicit_exception_table()->append(_offset, __ offset());
__ bind(_entry);
__ far_call(RuntimeAddress(a));
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
debug_only(__ should_not_reach_here());
}
void SimpleExceptionStub::emit_code(LIR_Assembler* ce) {
assert(__ rsp_offset() == 0, "frame size should be fixed");
__ bind(_entry);
// pass the object in a scratch register because all other registers
// must be preserved
if (_obj->is_cpu_register()) {
__ mov(rscratch1, _obj->as_register());
}
__ far_call(RuntimeAddress(Runtime1::entry_for(_stub)), NULL, rscratch2);
ce->add_call_info_here(_info);
debug_only(__ should_not_reach_here());
}
void ArrayCopyStub::emit_code(LIR_Assembler* ce) {
//---------------slow case: call to native-----------------
__ bind(_entry);
// Figure out where the args should go
// This should really convert the IntrinsicID to the Method* and signature
// but I don't know how to do that.
//
VMRegPair args[5];
BasicType signature[5] = { T_OBJECT, T_INT, T_OBJECT, T_INT, T_INT};
SharedRuntime::java_calling_convention(signature, args, 5, true);
// push parameters
// (src, src_pos, dest, destPos, length)
Register r[5];
r[0] = src()->as_register();
r[1] = src_pos()->as_register();
r[2] = dst()->as_register();
r[3] = dst_pos()->as_register();
r[4] = length()->as_register();
// next registers will get stored on the stack
for (int i = 0; i < 5 ; i++ ) {
VMReg r_1 = args[i].first();
if (r_1->is_stack()) {
int st_off = r_1->reg2stack() * wordSize;
__ str (r[i], Address(sp, st_off));
} else {
assert(r[i] == args[i].first()->as_Register(), "Wrong register for arg ");
}
}
ce->align_call(lir_static_call);
ce->emit_static_call_stub();
Address resolve(SharedRuntime::get_resolve_static_call_stub(),
relocInfo::static_call_type);
__ trampoline_call(resolve);
ce->add_call_info_here(info());
#ifndef PRODUCT
__ lea(rscratch2, ExternalAddress((address)&Runtime1::_arraycopy_slowcase_cnt));
__ incrementw(Address(rscratch2));
#endif
__ b(_continuation);
}
/////////////////////////////////////////////////////////////////////////////
#if INCLUDE_ALL_GCS
void G1PreBarrierStub::emit_code(LIR_Assembler* ce) {
// At this point we know that marking is in progress.
// If do_load() is true then we have to emit the
// load of the previous value; otherwise it has already
// been loaded into _pre_val.
__ bind(_entry);
assert(pre_val()->is_register(), "Precondition.");
Register pre_val_reg = pre_val()->as_register();
if (do_load()) {
ce->mem2reg(addr(), pre_val(), T_OBJECT, patch_code(), info(), false /*wide*/, false /*unaligned*/);
}
__ cbz(pre_val_reg, _continuation);
ce->store_parameter(pre_val()->as_register(), 0);
__ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::g1_pre_barrier_slow_id)));
__ b(_continuation);
}
void G1PostBarrierStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
assert(addr()->is_register(), "Precondition.");
assert(new_val()->is_register(), "Precondition.");
Register new_val_reg = new_val()->as_register();
__ cbz(new_val_reg, _continuation);
ce->store_parameter(addr()->as_pointer_register(), 0);
__ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::g1_post_barrier_slow_id)));
__ b(_continuation);
}
#endif // INCLUDE_ALL_GCS
/////////////////////////////////////////////////////////////////////////////
#undef __

View File

@@ -0,0 +1,81 @@
/*
* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef CPU_AARCH64_VM_C1_DEFS_AARCH64_HPP
#define CPU_AARCH64_VM_C1_DEFS_AARCH64_HPP
// native word offsets from memory address (little endian)
enum {
pd_lo_word_offset_in_bytes = 0,
pd_hi_word_offset_in_bytes = BytesPerWord
};
// explicit rounding operations are required to implement the strictFP mode
enum {
pd_strict_fp_requires_explicit_rounding = false
};
// FIXME: There are no callee-saved
// registers
enum {
pd_nof_cpu_regs_frame_map = RegisterImpl::number_of_registers, // number of registers used during code emission
pd_nof_fpu_regs_frame_map = FloatRegisterImpl::number_of_registers, // number of registers used during code emission
pd_nof_caller_save_cpu_regs_frame_map = 19 - 2, // number of registers killed by calls
pd_nof_caller_save_fpu_regs_frame_map = 32, // number of registers killed by calls
pd_first_callee_saved_reg = 19 - 2,
pd_last_callee_saved_reg = 26 - 2,
pd_last_allocatable_cpu_reg = 16,
pd_nof_cpu_regs_reg_alloc
= pd_last_allocatable_cpu_reg + 1, // number of registers that are visible to register allocator
pd_nof_fpu_regs_reg_alloc = 8, // number of registers that are visible to register allocator
pd_nof_cpu_regs_linearscan = 32, // number of registers visible to linear scan
pd_nof_fpu_regs_linearscan = pd_nof_fpu_regs_frame_map, // number of registers visible to linear scan
pd_nof_xmm_regs_linearscan = 0, // like sparc we don't have any of these
pd_first_cpu_reg = 0,
pd_last_cpu_reg = 16,
pd_first_byte_reg = 0,
pd_last_byte_reg = 16,
pd_first_fpu_reg = pd_nof_cpu_regs_frame_map,
pd_last_fpu_reg = pd_first_fpu_reg + 31,
pd_first_callee_saved_fpu_reg = 8 + pd_first_fpu_reg,
pd_last_callee_saved_fpu_reg = 15 + pd_first_fpu_reg,
};
// Encoding of float value in debug info. This is true on x86 where
// floats are extended to doubles when stored in the stack, false for
// AArch64 where floats and doubles are stored in their native form.
enum {
pd_float_saved_as_double = false
};
#endif // CPU_AARCH64_VM_C1_DEFS_AARCH64_HPP

View File

@@ -0,0 +1,36 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#include "precompiled.hpp"
#include "c1/c1_FpuStackSim.hpp"
#include "c1/c1_FrameMap.hpp"
#include "utilities/array.hpp"
#include "utilities/ostream.hpp"
//--------------------------------------------------------
// FpuStackSim
//--------------------------------------------------------
// No FPU stack on AARCH64

View File

@@ -0,0 +1,32 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef CPU_AARCH64_VM_C1_FPUSTACKSIM_HPP
#define CPU_AARCH64_VM_C1_FPUSTACKSIM_HPP
// No FPU stack on AARCH64
class FpuStackSim;
#endif // CPU_AARCH64_VM_C1_FPUSTACKSIM_HPP

View File

@@ -0,0 +1,356 @@
/*
* Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#include "precompiled.hpp"
#include "c1/c1_FrameMap.hpp"
#include "c1/c1_LIR.hpp"
#include "runtime/sharedRuntime.hpp"
#include "vmreg_aarch64.inline.hpp"
LIR_Opr FrameMap::map_to_opr(BasicType type, VMRegPair* reg, bool) {
LIR_Opr opr = LIR_OprFact::illegalOpr;
VMReg r_1 = reg->first();
VMReg r_2 = reg->second();
if (r_1->is_stack()) {
// Convert stack slot to an SP offset
// The calling convention does not count the SharedRuntime::out_preserve_stack_slots() value
// so we must add it in here.
int st_off = (r_1->reg2stack() + SharedRuntime::out_preserve_stack_slots()) * VMRegImpl::stack_slot_size;
opr = LIR_OprFact::address(new LIR_Address(sp_opr, st_off, type));
} else if (r_1->is_Register()) {
Register reg = r_1->as_Register();
if (r_2->is_Register() && (type == T_LONG || type == T_DOUBLE)) {
Register reg2 = r_2->as_Register();
assert(reg2 == reg, "must be same register");
opr = as_long_opr(reg);
} else if (type == T_OBJECT || type == T_ARRAY) {
opr = as_oop_opr(reg);
} else if (type == T_METADATA) {
opr = as_metadata_opr(reg);
} else {
opr = as_opr(reg);
}
} else if (r_1->is_FloatRegister()) {
assert(type == T_DOUBLE || type == T_FLOAT, "wrong type");
int num = r_1->as_FloatRegister()->encoding();
if (type == T_FLOAT) {
opr = LIR_OprFact::single_fpu(num);
} else {
opr = LIR_OprFact::double_fpu(num);
}
} else {
ShouldNotReachHere();
}
return opr;
}
LIR_Opr FrameMap::r0_opr;
LIR_Opr FrameMap::r1_opr;
LIR_Opr FrameMap::r2_opr;
LIR_Opr FrameMap::r3_opr;
LIR_Opr FrameMap::r4_opr;
LIR_Opr FrameMap::r5_opr;
LIR_Opr FrameMap::r6_opr;
LIR_Opr FrameMap::r7_opr;
LIR_Opr FrameMap::r8_opr;
LIR_Opr FrameMap::r9_opr;
LIR_Opr FrameMap::r10_opr;
LIR_Opr FrameMap::r11_opr;
LIR_Opr FrameMap::r12_opr;
LIR_Opr FrameMap::r13_opr;
LIR_Opr FrameMap::r14_opr;
LIR_Opr FrameMap::r15_opr;
LIR_Opr FrameMap::r16_opr;
LIR_Opr FrameMap::r17_opr;
LIR_Opr FrameMap::r18_opr;
LIR_Opr FrameMap::r19_opr;
LIR_Opr FrameMap::r20_opr;
LIR_Opr FrameMap::r21_opr;
LIR_Opr FrameMap::r22_opr;
LIR_Opr FrameMap::r23_opr;
LIR_Opr FrameMap::r24_opr;
LIR_Opr FrameMap::r25_opr;
LIR_Opr FrameMap::r26_opr;
LIR_Opr FrameMap::r27_opr;
LIR_Opr FrameMap::r28_opr;
LIR_Opr FrameMap::r29_opr;
LIR_Opr FrameMap::r30_opr;
LIR_Opr FrameMap::rfp_opr;
LIR_Opr FrameMap::sp_opr;
LIR_Opr FrameMap::receiver_opr;
LIR_Opr FrameMap::r0_oop_opr;
LIR_Opr FrameMap::r1_oop_opr;
LIR_Opr FrameMap::r2_oop_opr;
LIR_Opr FrameMap::r3_oop_opr;
LIR_Opr FrameMap::r4_oop_opr;
LIR_Opr FrameMap::r5_oop_opr;
LIR_Opr FrameMap::r6_oop_opr;
LIR_Opr FrameMap::r7_oop_opr;
LIR_Opr FrameMap::r8_oop_opr;
LIR_Opr FrameMap::r9_oop_opr;
LIR_Opr FrameMap::r10_oop_opr;
LIR_Opr FrameMap::r11_oop_opr;
LIR_Opr FrameMap::r12_oop_opr;
LIR_Opr FrameMap::r13_oop_opr;
LIR_Opr FrameMap::r14_oop_opr;
LIR_Opr FrameMap::r15_oop_opr;
LIR_Opr FrameMap::r16_oop_opr;
LIR_Opr FrameMap::r17_oop_opr;
LIR_Opr FrameMap::r18_oop_opr;
LIR_Opr FrameMap::r19_oop_opr;
LIR_Opr FrameMap::r20_oop_opr;
LIR_Opr FrameMap::r21_oop_opr;
LIR_Opr FrameMap::r22_oop_opr;
LIR_Opr FrameMap::r23_oop_opr;
LIR_Opr FrameMap::r24_oop_opr;
LIR_Opr FrameMap::r25_oop_opr;
LIR_Opr FrameMap::r26_oop_opr;
LIR_Opr FrameMap::r27_oop_opr;
LIR_Opr FrameMap::r28_oop_opr;
LIR_Opr FrameMap::r29_oop_opr;
LIR_Opr FrameMap::r30_oop_opr;
LIR_Opr FrameMap::rscratch1_opr;
LIR_Opr FrameMap::rscratch2_opr;
LIR_Opr FrameMap::rscratch1_long_opr;
LIR_Opr FrameMap::rscratch2_long_opr;
LIR_Opr FrameMap::r0_metadata_opr;
LIR_Opr FrameMap::r1_metadata_opr;
LIR_Opr FrameMap::r2_metadata_opr;
LIR_Opr FrameMap::r3_metadata_opr;
LIR_Opr FrameMap::r4_metadata_opr;
LIR_Opr FrameMap::r5_metadata_opr;
LIR_Opr FrameMap::long0_opr;
LIR_Opr FrameMap::long1_opr;
LIR_Opr FrameMap::fpu0_float_opr;
LIR_Opr FrameMap::fpu0_double_opr;
LIR_Opr FrameMap::_caller_save_cpu_regs[] = { 0, };
LIR_Opr FrameMap::_caller_save_fpu_regs[] = { 0, };
//--------------------------------------------------------
// FrameMap
//--------------------------------------------------------
void FrameMap::initialize() {
assert(!_init_done, "once");
int i=0;
map_register(i, r0); r0_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r1); r1_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r2); r2_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r3); r3_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r4); r4_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r5); r5_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r6); r6_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r7); r7_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r10); r10_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r11); r11_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r12); r12_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r13); r13_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r14); r14_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r15); r15_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r16); r16_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r17); r17_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r18); r18_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r19); r19_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r20); r20_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r21); r21_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r22); r22_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r23); r23_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r24); r24_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r25); r25_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r26); r26_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r27); r27_opr = LIR_OprFact::single_cpu(i); i++; // rheapbase
map_register(i, r28); r28_opr = LIR_OprFact::single_cpu(i); i++; // rthread
map_register(i, r29); r29_opr = LIR_OprFact::single_cpu(i); i++; // rfp
map_register(i, r30); r30_opr = LIR_OprFact::single_cpu(i); i++; // lr
map_register(i, r31_sp); sp_opr = LIR_OprFact::single_cpu(i); i++; // sp
map_register(i, r8); r8_opr = LIR_OprFact::single_cpu(i); i++; // rscratch1
map_register(i, r9); r9_opr = LIR_OprFact::single_cpu(i); i++; // rscratch2
rscratch1_opr = r8_opr;
rscratch2_opr = r9_opr;
rscratch1_long_opr = LIR_OprFact::double_cpu(r8_opr->cpu_regnr(), r8_opr->cpu_regnr());
rscratch2_long_opr = LIR_OprFact::double_cpu(r9_opr->cpu_regnr(), r9_opr->cpu_regnr());
long0_opr = LIR_OprFact::double_cpu(0, 0);
long1_opr = LIR_OprFact::double_cpu(1, 1);
fpu0_float_opr = LIR_OprFact::single_fpu(0);
fpu0_double_opr = LIR_OprFact::double_fpu(0);
_caller_save_cpu_regs[0] = r0_opr;
_caller_save_cpu_regs[1] = r1_opr;
_caller_save_cpu_regs[2] = r2_opr;
_caller_save_cpu_regs[3] = r3_opr;
_caller_save_cpu_regs[4] = r4_opr;
_caller_save_cpu_regs[5] = r5_opr;
_caller_save_cpu_regs[6] = r6_opr;
_caller_save_cpu_regs[7] = r7_opr;
// rscratch1, rscratch 2 not included
_caller_save_cpu_regs[8] = r10_opr;
_caller_save_cpu_regs[9] = r11_opr;
_caller_save_cpu_regs[10] = r12_opr;
_caller_save_cpu_regs[11] = r13_opr;
_caller_save_cpu_regs[12] = r14_opr;
_caller_save_cpu_regs[13] = r15_opr;
_caller_save_cpu_regs[14] = r16_opr;
_caller_save_cpu_regs[15] = r17_opr;
_caller_save_cpu_regs[16] = r18_opr;
for (int i = 0; i < 8; i++) {
_caller_save_fpu_regs[i] = LIR_OprFact::single_fpu(i);
}
_init_done = true;
r0_oop_opr = as_oop_opr(r0);
r1_oop_opr = as_oop_opr(r1);
r2_oop_opr = as_oop_opr(r2);
r3_oop_opr = as_oop_opr(r3);
r4_oop_opr = as_oop_opr(r4);
r5_oop_opr = as_oop_opr(r5);
r6_oop_opr = as_oop_opr(r6);
r7_oop_opr = as_oop_opr(r7);
r8_oop_opr = as_oop_opr(r8);
r9_oop_opr = as_oop_opr(r9);
r10_oop_opr = as_oop_opr(r10);
r11_oop_opr = as_oop_opr(r11);
r12_oop_opr = as_oop_opr(r12);
r13_oop_opr = as_oop_opr(r13);
r14_oop_opr = as_oop_opr(r14);
r15_oop_opr = as_oop_opr(r15);
r16_oop_opr = as_oop_opr(r16);
r17_oop_opr = as_oop_opr(r17);
r18_oop_opr = as_oop_opr(r18);
r19_oop_opr = as_oop_opr(r19);
r20_oop_opr = as_oop_opr(r20);
r21_oop_opr = as_oop_opr(r21);
r22_oop_opr = as_oop_opr(r22);
r23_oop_opr = as_oop_opr(r23);
r24_oop_opr = as_oop_opr(r24);
r25_oop_opr = as_oop_opr(r25);
r26_oop_opr = as_oop_opr(r26);
r27_oop_opr = as_oop_opr(r27);
r28_oop_opr = as_oop_opr(r28);
r29_oop_opr = as_oop_opr(r29);
r30_oop_opr = as_oop_opr(r30);
r0_metadata_opr = as_metadata_opr(r0);
r1_metadata_opr = as_metadata_opr(r1);
r2_metadata_opr = as_metadata_opr(r2);
r3_metadata_opr = as_metadata_opr(r3);
r4_metadata_opr = as_metadata_opr(r4);
r5_metadata_opr = as_metadata_opr(r5);
sp_opr = as_pointer_opr(r31_sp);
rfp_opr = as_pointer_opr(rfp);
VMRegPair regs;
BasicType sig_bt = T_OBJECT;
SharedRuntime::java_calling_convention(&sig_bt, &regs, 1, true);
receiver_opr = as_oop_opr(regs.first()->as_Register());
for (int i = 0; i < nof_caller_save_fpu_regs; i++) {
_caller_save_fpu_regs[i] = LIR_OprFact::single_fpu(i);
}
}
Address FrameMap::make_new_address(ByteSize sp_offset) const {
// for rbp, based address use this:
// return Address(rbp, in_bytes(sp_offset) - (framesize() - 2) * 4);
return Address(sp, in_bytes(sp_offset));
}
// ----------------mapping-----------------------
// all mapping is based on rfp addressing, except for simple leaf methods where we access
// the locals sp based (and no frame is built)
// Frame for simple leaf methods (quick entries)
//
// +----------+
// | ret addr | <- TOS
// +----------+
// | args |
// | ...... |
// Frame for standard methods
//
// | .........| <- TOS
// | locals |
// +----------+
// | old fp, | <- RFP
// +----------+
// | ret addr |
// +----------+
// | args |
// | .........|
// For OopMaps, map a local variable or spill index to an VMRegImpl name.
// This is the offset from sp() in the frame of the slot for the index,
// skewed by VMRegImpl::stack0 to indicate a stack location (vs.a register.)
//
// framesize +
// stack0 stack0 0 <- VMReg
// | | <registers> |
// ...........|..............|.............|
// 0 1 2 3 x x 4 5 6 ... | <- local indices
// ^ ^ sp() ( x x indicate link
// | | and return addr)
// arguments non-argument locals
VMReg FrameMap::fpu_regname (int n) {
// Return the OptoReg name for the fpu stack slot "n"
// A spilled fpu stack slot comprises to two single-word OptoReg's.
return as_FloatRegister(n)->as_VMReg();
}
LIR_Opr FrameMap::stack_pointer() {
return FrameMap::sp_opr;
}
// JSR 292
LIR_Opr FrameMap::method_handle_invoke_SP_save_opr() {
// assert(rfp == rbp_mh_SP_save, "must be same register");
return rfp_opr;
}
bool FrameMap::validate_frame() {
return true;
}

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