This commit is contained in:
J. Duke 2017-08-24 16:32:00 +02:00
commit 60969bbc8f
9231 changed files with 160639 additions and 135781 deletions

24
.hgtags
View File

@ -399,3 +399,27 @@ d7034ff7f8e257e81c9f95c7785dd4eaaa3c2afc jdk-9+153
8c70d170e62c0c58b5bc3ba666bd140399b98c9c jdk-10+0
45b751afd11e6c05991cf4913c5a0ac3304fcc4e jdk-9+154
f4aff695ffe05cfdb69d8af25a4ddc6a029754ea jdk-9+155
06bce0388880b5ff8e040e4a9d72a3ea11dac321 jdk-9+156
fa3e76b477829afc4476f0b725cfaa440a6fd917 jdk-9+157
b5015f742ba648184bb7fc547197bd33ebfde30d jdk-9+158
fd1497902bbe3aa24b21f270ecdcb8de5f7aa9ac jdk-9+159
6aa8be0c4e054fe8b3ab016ae00d16d680f92145 jdk-9+160
f6883b1a5a6478437cd4181c4bd45328ab24feaf jdk-9+161
d16aebbb56d37f12e0c0b0a4fb427db65e1fb1a8 jdk-9+162
18c41483a082e097ac2f5f983c1226ed94aa4215 jdk-9+163
32db52c675e7d5bc413605d2e89b68b608b19be0 jdk-9+164
3965b747cfe1e6cbd66b8739da5a1ea6ec6985e9 jdk-9+165
d3e973f1809606c67412361041ad197e50fe8cec jdk-9+166
8fd0a4569191f33c98ee90c2709174a342fefb0d jdk-9+167
fcabc74bd44e56c7419d111d59b95669ecb33c55 jdk-9+168
c7efde2b60fc1ec04630be769d9ad60efb39c39c jdk-9+169
898cbe31fbdae2d25d141384fac746cc244a730c jdk-9+170
643b5f18c2656fe91b69fea85b07b98d5fad394d jdk-9+171
dad6746278facbbea57dd462cb56fb743dc0a5f0 jdk-9+172
6dd7fda42bab7ecf648cafb0a4e9b4ca11b3094f jdk-9+173
94680c6d60ecd9ed3ffd1847706efde7eb947afc jdk-9+174
994036e74ab805bcc09afa0646be17a725bec42f jdk-9+175
43bf6f30fcba031ecf0cc7e511efe3a8179d0f77 jdk-9+176
d9f6bc6ba599d0487dc18b2fbdb6c34eedf6f958 jdk-9+177
bc9df7dd63ec76f50fafeb4acc44465044662f0a jdk-9+178
e2b70be325bd10dae4c06f74c46d70d480854916 jdk-9+179

View File

@ -398,3 +398,26 @@ ff8cb43c07c069b1debdee44cb88ca22db1ec757 jdk-9+152
68a8e8658511093b322a46ed04b2a321e1da2a43 jdk-9+153
078ebe23b584466dc8346e620d7821d91751e5a9 jdk-9+154
a545f54babfa31aa7eb611f36031609acd617cbc jdk-9+155
907c26240cd481579e919bfd23740797ff8ce1c8 jdk-9+156
9383da04b385cca46b7ca67f3a39ac1b673e09fe jdk-9+157
de6bdf38935fa753183ca288bed5c06a23c0bb12 jdk-9+158
6feea77d2083c99e44aa3e272d07b7fb3b801683 jdk-9+159
c7688f2fa07936b089ca0e9a0a0eff68ff37a542 jdk-9+160
18f02bc43fe96aef36791d0df7aca748485210cc jdk-9+161
18ffcf99a3b4a10457853d94190e825bdf07e39b jdk-9+162
493011dee80e51c2a2b064d049183c047df36d80 jdk-9+163
965bbae3072702f7c0d95c240523b65e6bb19261 jdk-9+164
a510b2201154abdd12ede42788086b5283bfb9a6 jdk-9+165
934c18145915b06d3fcc0de1a30f91f5aab8a192 jdk-9+166
43de67f51801b9e16507865fcb7e8344f4ca4aa9 jdk-9+167
03a2cc9c8a1e8f87924c9863e917bc8b91770d5f jdk-9+168
b2218d41edef02ee8f94bb438f885b2ba79bfa08 jdk-9+169
8a4ab3b0ab9a86df73d9a1e337134f2dbe006725 jdk-9+170
c62e5964cfcf144d8f72e9ba69757897785349a9 jdk-9+171
95ed14547ca9246baed34f90ef3ca13217538a8c jdk-9+172
534ba4f8cfcf12accc5b9adb943103f2ff79fe16 jdk-9+173
3615768c12904e29bb2ec1b506cd4633cd8a9ced jdk-9+174
dc78a3dd6b3a4f11cdae8a3e3d160e6a78bc7838 jdk-9+175
40fb9f229471ef357d493813d34b15afcce9f32b jdk-9+176
c72e9d3823f04cb3ef3166646dfea9e4c2769133 jdk-9+177
9c1e9712648921ae389d623042d22561fad82d75 jdk-9+178

View File

@ -1,14 +0,0 @@
README:
This file should be located at the top of the corba Mercurial repository.
See http://openjdk.java.net/ for more information about the OpenJDK.
See ../README-builds.html for complete details on build machine requirements.
Simple Build Instructions:
cd make && gnumake
The files that will be imported into the jdk build will be in the "dist"
directory.

View File

@ -1,4 +1,4 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
@ -6,7 +6,7 @@
<title>package</title>
<!--
Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2003, 2017, 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

View File

@ -62,6 +62,8 @@ import com.sun.corba.se.impl.orbutil.GetPropertyAction;
* attempts to narrow it to conform to
* the given interface. If the operation is successful the result will be an
* object of the specified type, otherwise an exception will be thrown.
*
* <p>See also {@extLink rmi_iiop_guides RMI-IIOP developer's guides}.</p>
*/
public class PortableRemoteObject {

View File

@ -25,16 +25,22 @@
/**
* Defines the Java binding of the OMG CORBA APIs, and the RMI-IIOP API.
*
* <p> This module is upgradeable.
*
* @moduleGraph
* @since 9
*/
@Deprecated(since="9", forRemoval=true)
module java.corba {
requires transitive java.desktop;
requires transitive java.rmi;
requires java.logging;
requires java.naming;
requires java.transaction;
requires jdk.unsupported;
requires transitive java.desktop;
requires transitive java.rmi;
exports javax.activity;
exports javax.rmi;
exports javax.rmi.CORBA;

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* the Activity, or that the Activity completed in a manner other than that
* originally requested.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since J2SE 1.5
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -31,8 +31,8 @@ package org.omg.CORBA;
* Activity context was necessary to perform the invoked operation, but one
* was not found associated with the calling thread.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since J2SE 1.5
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -52,7 +52,7 @@ import org.omg.CORBA.portable.IDLEntity;
* </OL>
*
* <P>
* <a name="anyOps"></a>
* <a id="anyOps"></a>
* A large part of the <code>Any</code> class consists of pairs of methods
* for inserting values into and extracting values from an
* <code>Any</code> object.

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -32,8 +32,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -34,8 +34,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -32,8 +32,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, 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
@ -37,10 +37,9 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">meaning of
* minor codes</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions},
* {@extLink jidlexception_minorcodes meaning of minor codes}
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 2017, 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,8 +30,8 @@ package org.omg.CORBA;
* support the quality of service required by an invocation parameter that
* has a quality of service semantics associated with it.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since J2SE 1.5
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -32,8 +32,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, 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,8 +30,8 @@ package org.omg.CORBA;
* the legal bounds for the object that a method is trying
* to access.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class Bounds extends org.omg.CORBA.UserException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -29,7 +29,7 @@ package org.omg.CORBA;
/**
* This Helper class is used to facilitate the marshalling of {@code Bounds}.
* For more information on Helper files, see
* <a href="doc-files/generatedfiles.html#helper">
* <a href="{@docRoot}/org/omg/CORBA/doc-files/generatedfiles.html#helper">
* "Generated Files: Helper Files"</a>.
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -29,8 +29,8 @@ package org.omg.CORBA;
* This exception is raised whenever meaningful communication is not possible
* between client and server native code sets.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since J2SE 1.5
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,11 +33,11 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">meaning
* of minor codes</A> to see the minor codes for this exception.
* See the section {@extLink jidlexception_minorcodes Minor Code Meanings}
* to see the minor codes for this exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">meaning of
* minor codes</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, 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,11 +35,11 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">meaning
* of minor codes</A> to see the minor codes for this exception.
* See the section {@extLink jidlexception_minorcodes Minor Code Meanings}
* to see the minor codes for this exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, 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
@ -36,8 +36,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -34,8 +34,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,11 +33,11 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">meaning
* of minor codes</A> to see the minor codes for this exception.
* See the section {@extLink jidlexception_minorcodes meaning of minor codes}
* to see the minor codes for this exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -34,8 +34,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -32,8 +32,8 @@ package org.omg.CORBA;
* suspended. It is also raised when an attempted invocation is made that
* is incompatible with the Activity's current state.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since J2SE 1.5
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -34,8 +34,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -34,8 +34,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, 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
@ -37,11 +37,11 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">Minor
* Code Meanings</A> to see the minor codes for this exception.
* See the section {@extLink jidlexception_minorcodes Minor Code Meanings}
* to see the minor codes for this exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class INV_POLICY extends SystemException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -39,8 +39,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">Minor
* Code Meanings</A> to see the minor codes for this exception.
* See the section {@extLink jidlexception_minorcodes Minor Code Meanings}
* to see the minor codes for this exception.
*
* @since JDK1.2
*/

View File

@ -36,8 +36,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">Minor
* Code Meanings</A> to see the minor codes for this exception.
* See the section {extLink jidlexception_minorcodes Minor Code Meanings}
* to see the minor codes for this exception.
*
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -32,8 +32,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -32,8 +32,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -39,11 +39,11 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">Minor
* Code Meanings</A> to see the minor codes for this exception.
* See the section {@extLink jidlexception_minorcodes Minor Code Meanings}
* to see the minor codes for this exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -34,11 +34,11 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">Minor
* Code Meanings</A> to see the minor codes for this exception.
* See the section {@extLink jidlexception_minorcodes Minor Code Meanings}
* to see the minor codes for this exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since JDK1.2
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, 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
@ -85,13 +85,17 @@ import java.security.PrivilegedAction;
* three {@code init} methods. Two of the three methods use the properties
* (associations of a name with a value) shown in the
* table below.<BR>
* <TABLE BORDER=1 SUMMARY="Standard Java CORBA Properties">
* <TR><TH>Property Name</TH> <TH>Property Value</TH></TR>
* <TABLE class="plain">
* <CAPTION>Standard Java CORBA Properties:</CAPTION>
* <thead>
* <TR><TH>Property Name</TH> <TH>Property Value</TH></TR>
* </thead>
* <tbody>
* <TR><TD>org.omg.CORBA.ORBClass</TD>
* <TD>class name of an ORB implementation</TD></TR>
* <TR><TD>org.omg.CORBA.ORBSingletonClass</TD>
* <TD>class name of the ORB returned by {@code init()}</TD></TR>
* </tbody>
* </TABLE>
* <P>
* These properties allow a different vendor's {@code ORB}
@ -106,13 +110,13 @@ import java.security.PrivilegedAction;
*
* <LI>check in properties parameter, if any
*
* <LI>check in the System properties
* <LI>check in the System properties, if any
*
* <LI>check in the orb.properties file located in the user.home
* directory (if any)
* directory, if any
*
* <LI>check in the orb.properties file located in the java.home/lib
* directory (if any)
* <LI>check in the orb.properties file located in the run-time image,
* if any
*
* <LI>fall back on a hardcoded default behavior (use the Java&nbsp;IDL
* implementation)
@ -170,9 +174,17 @@ import java.security.PrivilegedAction;
* Thus, where appropriate, it is necessary that
* the classes for this alternative ORBSingleton are available on the application's class path.
* It should be noted that the singleton ORB is system wide.
*
* <P>
* When a per-application ORB is created via the 2-arg init methods,
* then it will be located using the thread context class loader.
* <P>
* The IDL to Java Language OMG specification documents the ${java.home}/lib directory as the location,
* in the Java run-time image, to search for orb.properties.
* This location is not intended for user editable configuration files.
* Therefore, the implementation first checks the ${java.home}/conf directory for orb.properties,
* and thereafter the ${java.home}/lib directory.
*
* <p>See also {@extLink idl_guides IDL developer's guide}.</p>
*
* @since JDK1.2
*/
@ -271,14 +283,25 @@ abstract public class ORB {
}
String javaHome = System.getProperty("java.home");
fileName = javaHome + File.separator
+ "lib" + File.separator + "orb.properties";
props = getFileProperties( fileName ) ;
fileName = javaHome + File.separator + "conf"
+ File.separator + "orb.properties";
props = getFileProperties(fileName);
if (props != null) {
String value = props.getProperty(name);
if (value != null)
return value;
}
fileName = javaHome + File.separator + "lib"
+ File.separator + "orb.properties";
props = getFileProperties(fileName);
if (props == null)
return null ;
return null;
else
return props.getProperty( name ) ;
return props.getProperty(name);
}
}
);

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2017, 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 @@ package org.omg.CORBA.ORBPackage;
* This Helper class is used to facilitate the marshalling of
* {@code ORBPackage/InvalidName}.
* For more information on Helper files, see
* <a href="doc-files/generatedfiles.html#helper">
* <a href="{@docRoot}/org/omg/CORBA/doc-files/generatedfiles.html#helper">
* "Generated Files: Helper Files"</a>.
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class PERSIST_STORE extends SystemException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* This exception is also raised if the current effective RebindPolicy has
* a value of NO_RECONNECT and a connection must be reopened.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since J2SE 1.5
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, 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,8 +44,8 @@ import com.sun.corba.se.impl.util.SUNVMCID;
* declared in signatures of the Java methods mapped from operations in
* IDL interfaces.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public abstract class SystemException extends java.lang.RuntimeException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 2017, 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,8 +30,8 @@ package org.omg.CORBA;
* specified time-to-live period has been exceeded. It is a standard system
* exception because time-to-live QoS can be applied to any invocation.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @since J2SE 1.5
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2017, 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,8 +35,8 @@ package org.omg.CORBA;
* a string describing the exception.
* The OMG CORBA core 2.4 specification has details.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class TRANSACTION_MODE extends SystemException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -33,8 +33,8 @@ package org.omg.CORBA;
* a string describing the exception.
* The OMG Transaction Service specfication has details.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class TRANSACTION_REQUIRED extends SystemException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, 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
@ -36,8 +36,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class TRANSACTION_ROLLEDBACK extends SystemException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2017, 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,8 +35,8 @@ package org.omg.CORBA;
* a string describing the exception.
* The OMG CORBA core 2.4 specification has details.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class TRANSACTION_UNAVAILABLE extends SystemException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, 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
@ -36,8 +36,8 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class TRANSIENT extends SystemException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2017, 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 @@ package org.omg.CORBA.TypeCodePackage;
* This Helper class is used to facilitate the marshalling of
* {@code TypeCodePackage/BadKind}.
* For more information on Helper files, see
* <a href="doc-files/generatedfiles.html#helper">
* <a href="{@docRoot}/org/omg/CORBA/doc-files/generatedfiles.html#helper">
* "Generated Files: Helper Files"</a>.
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2017, 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 @@ package org.omg.CORBA.TypeCodePackage;
* This Helper class is used to facilitate the marshalling of
* {@code TypeCodePackage/Bounds}.
* For more information on Helper files, see
* <a href="doc-files/generatedfiles.html#helper">
* <a href="{@docRoot}/org/omg/CORBA/doc-files/generatedfiles.html#helper">
* "Generated Files: Helper Files"</a>.
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -39,11 +39,11 @@ package org.omg.CORBA;
* what caused the exception, and a completion status. It may also contain
* a string describing the exception.
* <P>
* See the section <A href="../../../../technotes/guides/idl/jidlExceptions.html#minorcodemeanings">Minor
* Code Meanings</A> to see the minor codes for this exception.
* See the section {@extLink jidlexception_minorcodes Minor Code Meaning}
* to see the minor codes for this exception.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class UNKNOWN extends SystemException {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -32,8 +32,8 @@ package org.omg.CORBA;
* <code>UnknownUserException</code> object. This is available from the
* <code>Environment</code> object returned by the method <code>Request.env</code>.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
* @see Request
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -31,8 +31,8 @@ package org.omg.CORBA;
* means that they need to
* be declared in method signatures.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public abstract class UserException extends java.lang.Exception implements org.omg.CORBA.portable.IDLEntity {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -34,8 +34,8 @@ package org.omg.CORBA;
* which the client originally sent the request.
* See the OMG Transaction Service Specification for details.
*
* @see <A href="../../../../technotes/guides/idl/jidlExceptions.html">documentation on
* Java&nbsp;IDL exceptions</A>
* <p>See also {@extLink jidlexception documentation on Java&nbsp;IDL exceptions}.
* </p>
*/
public final class WrongTransaction extends UserException {

View File

@ -1,4 +1,4 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">

View File

@ -1,4 +1,4 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
@ -42,7 +42,7 @@ is the name of an IDL interface.
</UL>
<H2><a name="helper">Helper Files</a></H2>
<H2><a id="helper">Helper Files</a></H2>
<P>Helper files supply several static methods needed to manipulate the type.
These include <code>Any</code> insert and extract operations for the type,
@ -57,7 +57,7 @@ the object reference does not support the requested type. A different system exc
is raised to indicate other kinds of errors. Trying to narrow
a null will always succeed with a return value of null.
<H2><a name="holder">Holder Files</a></H2>
<H2><a id="holder">Holder Files</a></H2>
<P>Support for out and inout parameter passing modes requires the use of additional holder classes.
These classes are available for all of the basic IDL datatypes in the <code>org.omg.CORBA</code> package
@ -74,7 +74,7 @@ false for boolean, 0 for numeric and char types, null for strings, null for obje
the <code>org.omg.CORBA.portable.Streamable</code> interface.
<H2><a name="operations">Operations Files</a></H2>
<H2><a id="operations">Operations Files</a></H2>
<P>A non abstract IDL interface is mapped to two public Java interfaces:
a <em>signature</em> interface and an <em>operations</em> interface.
@ -96,7 +96,7 @@ expressed in IDL is reflected in both the Java signature
interface and operations interface hierarchies.
<H2><a name="stub">Stubs</a></H2>
<H2><a id="stub">Stubs</a></H2>
<P>For the mapping of a non-object-oriented language, there will be
a programming interface to the stubs for each interface type. Generally, the stubs

View File

@ -1,3 +1,4 @@
<!doctype html>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
@ -6,7 +7,7 @@
<TITLE>package</TITLE>
<!--
/*
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -31,9 +32,8 @@
*/
-->
</HEAD>
<BODY BGCOLOR="#FFFFFF">
Provides the mapping of the OMG CORBA APIs to the Java<SUP><FONT
SIZE=-2>TM</FONT></SUP>
<BODY>
Provides the mapping of the OMG CORBA APIs to the Java&trade;
programming language, including the class <code>ORB</code>, which is implemented
so that a programmer can use it as a fully-functional Object Request Broker
(ORB).
@ -147,9 +147,7 @@ resolve initial object references. These are:
<code><b>register_initial_reference</b>(String id, org.omg.CORBA.Object obj)</code>
</UL>
<P>An example that uses some of these methods is <A
HREF="{@docRoot}/../technotes/guides/idl/GShome.html">
<em>Getting Started with Java IDL</em></A>.
<P>An example that uses some of these methods is {@extLink idl_getting_started Getting Started with Java IDL}.
<H2>
Exceptions</H2>
@ -158,9 +156,8 @@ Java programming language. If a method is defined to throw an exception,
then any code using that method must have a <code>try</code>/<code>catch</code>
block and handle that exception when it is thrown.
<P>The documentation on <A
HREF="{@docRoot}/../technotes/guides/idl/jidlExceptions.html"><em>Java
IDL exceptions</em></A> has more information and explains the difference between
<P>The documentation on {@extLink jidlexception Java&nbsp;IDL exceptions }
has more information and explains the difference between
system exceptions and user-defined exceptions.
<P>The following is a list of the system exceptions (which are unchecked
@ -427,7 +424,7 @@ will contain the static methods needed for manipulating instances of the type,
in this case, <code>Account</code> objects.
<a name="narrow"></a>
<a id="narrow"></a>
<h3>The <code>narrow</code> Method</h3>
When an object is the return value for a method, it is returned in the
form of a generic object, either an <code>org.omg.CORBA.Object</code> object
@ -447,8 +444,8 @@ object, whereas the <code>narrow</code> method for an interface that is abstract
will take an object in the Java programming language. The helper class for a
non-abstract interface that has at least one abstract base interface will provide
both versions of the <code>narrow</code> method.
<P>The <A HREF="{@docRoot}/../technotes/guides/idl/jidlExample.html"><em>Hello World</em></A>
tutorial uses a <code>narrow</code> method that looks like this:
<P>The {@extLink idl_guides Hello World tutorial}
uses a <code>narrow</code> method that looks like this:
<PRE>
// create and initialize the ORB
ORB orb = ORB.init(args, null);
@ -465,7 +462,7 @@ tutorial uses a <code>narrow</code> method that looks like this:
helloImpl = HelloHelper.narrow(ncRef.resolve_str(name));
</PRE>
<a name="basic"></a>
<a id="basic"></a>
<h3>Example of a Basic Helper Class</h3>
A basic helper class, for purposes of this explanation, is one with
the methods that are provided by every helper class, plus a <code>narrow</code>
@ -548,6 +545,7 @@ abstract public class AccountHelper
}
</PRE>
<a id="value"></a>
<h3>Value Type Helper Classes</h3>
A helper class for a value type includes different renderings of
the same methods generated for non-value type methods. The main difference
@ -671,7 +669,7 @@ abstract public class AddressHelper
&nbsp;&nbsp;&nbsp;&nbsp; WStringSeqHelper
&nbsp;&nbsp;&nbsp;&nbsp; WStringValueHelper
</code></PRE>
<a name="adv"></a>
<a id="adv"></a>
<H1>
Other Classes</H1>
The other classes and interfaces in the <code>CORBA</code> package, which are
@ -861,24 +859,24 @@ ValueMember
Related Documentation</H1>
For overviews, guides, and a tutorial, please see:
<UL>
<LI>
<A HREF="{@docRoot}/../technotes/guides/idl/index.html">Java IDL home page</A>
<LI> {@extLink idl_guides Java&nbsp;IDL tutorial page}.</LI>
<LI> {@extLink rmi_iiop_guides RMI-IIOP developer's guide}.</LI>
</UL>
<P><A NAME="unimpl"></A>
<P><A id="unimpl"></A>
<H1>
CORBA Features Not Implemented in Java IDL</H1>
<P>Some of the API included in <code>org.omg</code> subpackages is provided for
conformance with the current OMG CORBA specification but is not implemented
in Sun's release of the JDK<SUP><FONT SIZE=-2>TM</FONT></SUP>. This enables
in Sun's release of the JDK&trade;. This enables
other JDK licensees to provide implementations of this API in standard
extensions and products.
<P><A NAME="NO_IMPLEMENT"></A>
<P><A id="NO_IMPLEMENT"></A>
<h2>Features That Throw NO_IMPLEMENT</h2>
<P>Some of the API included in <code>org.omg</code> subpackages throw

View File

@ -1,8 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!doctype html>
<html>
<head>
<!--
Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 1998, 2017, 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 @@ or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
<body>
Provides a portability layer, that is, a set of ORB APIs
that makes it possible for code generated
@ -38,7 +38,7 @@ can call into these ORB APIs.
<p>
<a name="unimpl"></a>
<a id="unimpl"></a>
<hr>
<h1>CORBA Features Throwing NO_IMPLEMENT() Exceptions</h1>
<hr>

View File

@ -1,4 +1,4 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
@ -6,7 +6,7 @@
<title>package</title>
<!--
/*
* Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -31,7 +31,7 @@
*/
-->
</head>
<body bgcolor="#FFFFFF">
<body>
The CORBA_2_3 package defines additions to existing CORBA interfaces
in the Java[tm] Standard Edition 6.&nbsp;&nbsp; These changes occurred in recent
revisions to the CORBA API defined by the OMG.&nbsp; The new methods were
@ -46,7 +46,7 @@ the Java[tm] Platform, Standard Edition 6, ORB complies, see <A
HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA
support in Java[tm] SE 6</A>.
<P>
<a name="unimpl"></a>
<a id="unimpl"></a>
The following methods in the abstract class
<code>org.omg.CORBA_2_3.ORB</code> are unimplemented:
<UL>

View File

@ -3,7 +3,7 @@
<head>
<!--
/*
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2017, 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
@ -334,14 +334,12 @@ href="http://www.omg.org/cgi-bin/doc?ptc/00-08-07">ptc/00-08-07</a>)
For an overview and examples of how to use the
<code>CosNaming</code> API, please see:
<ul>
<li><a href="../../../../technotes/guides/idl/tnameserv.html">
Naming Service</a>
<li>{@extLink tnameserv NamingService}
</ul>
<p>
For an overview of Java&nbsp;IDL, please see:
<ul>
<li><a href="../../../../technotes/guides/idl/index.html">
Java&nbsp;IDL home page</a>
<li>{@extLink idl_guides Java&nbsp;IDL developer's home page}
</ul>
@since JDK1.3

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2017, 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
@ -425,7 +425,7 @@ module IOP {
* encoded using GIOP 1.2 with a TCS-W of UTF-16. This service context
* may be sent on Reply messages with a reply_status of SYSTEM_EXCEPTION
* or USER_EXCEPTION. The usage of this service context is defined
* by language mappings. <br/> <br/>
* by language mappings. <br> <br>
*
* IDL/Java: ptc/02-01-22: 1.15.2:
* When a System Exception is marshaled, its GIOP Reply message shall

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2017, 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
@ -580,7 +580,8 @@ module PortableInterceptor {
* to access it will result in a <code>BAD_INV_ORDER</code> being thrown
* with a standard minor code of 14.
*
* <table border=1 summary="Shows the validity of each attribute or operation">
* <table class="plain">
* <caption style="display:none">Shows the validity of each attribute or operation</caption>
* <thead>
* <tr>
* <th>&nbsp;</th>
@ -597,42 +598,42 @@ module PortableInterceptor {
* <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td>
* </tr>
*
* <tr><th id="req_id"><p align="left">request_id</p></th>
* <tr><th id="req_id"><p style="text-align:left">request_id</p></th>
* <td headers="ri req_id send_req">yes</td>
* <td headers="ri req_id send_poll">yes</td>
* <td headers="ri req_id rec_reply">yes</td>
* <td headers="ri req_id rec_ex">yes</td>
* <td headers="ri req_id rec_oth">yes</td></tr>
*
* <tr><th id="op"><p align="left">operation</p></th>
* <tr><th id="op"><p style="text-align:left">operation</p></th>
* <td headers="ri op send_req">yes</td>
* <td headers="ri op send_poll">yes</td>
* <td headers="ri op rec_reply">yes</td>
* <td headers="ri op rec_ex">yes</td>
* <td headers="ri op rec_oth">yes</td></tr>
*
* <tr><th id="arg"><p align="left">arguments</p></th>
* <tr><th id="arg"><p style="text-align:left">arguments</p></th>
* <td headers="ri arg send_req">yes<sub>1</sub></td>
* <td headers="ri arg send_poll">no </td>
* <td headers="ri arg rec_reply">yes</td>
* <td headers="ri arg rec_ex">no </td>
* <td headers="ri arg rec_oth">no </td></tr>
*
* <tr><th id="exc"><p align="left">exceptions</p></th>
* <tr><th id="exc"><p style="text-align:left">exceptions</p></th>
* <td headers="ri exc send_req">yes</td>
* <td headers="ri exc send_poll">no </td>
* <td headers="ri exc rec_reply">yes</td>
* <td headers="ri exc rec_ex">yes</td>
* <td headers="ri exc rec_oth">yes</td></tr>
*
* <tr><th id="con"><p align="left">contexts</p></th>
* <tr><th id="con"><p style="text-align:left">contexts</p></th>
* <td headers="ri con send_req">yes</td>
* <td headers="ri con send_poll">no </td>
* <td headers="ri con rec_reply">yes</td>
* <td headers="ri con rec_ex">yes</td>
* <td headers="ri con rec_oth">yes</td></tr>
*
* <tr><th id="op_con"><p align="left">operation_context</p></th>
* <tr><th id="op_con"><p style="text-align:left">operation_context</p></th>
* <td headers="ri op_con send_req">yes</td>
* <td headers="ri op_con send_poll">no </td>
* <td headers="ri op_con rec_reply">yes</td>
@ -640,7 +641,7 @@ module PortableInterceptor {
* <td headers="ri op_con rec_oth">yes</td>
* </tr>
*
* <tr><th id="result"><p align="left">result</p></th>
* <tr><th id="result"><p style="text-align:left">result</p></th>
* <td headers="ri result send_req">no </td>
* <td headers="ri result send_poll">no </td>
* <td headers="ri result rec_reply">yes</td>
@ -648,14 +649,14 @@ module PortableInterceptor {
* <td headers="ri result rec_oth">no </td>
* </tr>
*
* <tr><th id="res_exp"><p align="left">response_expected</p></th>
* <tr><th id="res_exp"><p style="text-align:left">response_expected</p></th>
* <td headers="ri res_exp send_req">yes</td>
* <td headers="ri res_exp send_poll">yes</td>
* <td headers="ri res_exp rec_reply">yes</td>
* <td headers="ri res_exp rec_ex">yes</td>
* <td headers="ri res_exp rec_oth">yes</td></tr>
*
* <tr><th id="sync_sco"><p align="left">sync_scope</p></th>
* <tr><th id="sync_sco"><p style="text-align:left">sync_scope</p></th>
* <td headers="ri sync_sco send_req">yes</td>
* <td headers="ri sync_sco send_poll">no </td>
* <td headers="ri sync_sco rec_reply">yes</td>
@ -663,14 +664,14 @@ module PortableInterceptor {
* <td headers="ri sync_sco rec_oth">yes</td>
* </tr>
*
* <tr><th id="rep_stat"><p align="left">reply_status</p></th>
* <tr><th id="rep_stat"><p style="text-align:left">reply_status</p></th>
* <td headers="ri rep_stat send_req">no </td>
* <td headers="ri rep_stat send_poll">no </td>
* <td headers="ri rep_stat rec_reply">yes</td>
* <td headers="ri rep_stat rec_ex">yes</td>
* <td headers="ri rep_stat rec_oth">yes</td></tr>
*
* <tr><th id="for_ref"><p align="left">forward_reference</p></th>
* <tr><th id="for_ref"><p style="text-align:left">forward_reference</p></th>
* <td headers="ri for_ref send_req">no </td>
* <td headers="ri for_ref send_poll">no </td>
* <td headers="ri for_ref rec_reply">no </td>
@ -678,21 +679,21 @@ module PortableInterceptor {
* <td headers="ri for_ref rec_oth">yes<sub>2</sub>
* </td></tr>
*
* <tr><th id="get_slot"><p align="left">get_slot</p></th>
* <tr><th id="get_slot"><p style="text-align:left">get_slot</p></th>
* <td headers="ri get_slot send_req">yes</td>
* <td headers="ri get_slot send_poll">yes</td>
* <td headers="ri get_slot rec_reply">yes</td>
* <td headers="ri get_slot rec_ex">yes</td>
* <td headers="ri get_slot rec_oth">yes</td></tr>
*
* <tr><th id="grsc"><p align="left">get_request_service_context</p></th>
* <tr><th id="grsc"><p style="text-align:left">get_request_service_context</p></th>
* <td headers="ri grsc send_req">yes</td>
* <td headers="ri grsc send_poll">no </td>
* <td headers="ri grsc rec_reply">yes</td>
* <td headers="ri grsc rec_ex">yes</td>
* <td headers="ri grsc rec_oth">yes</td></tr>
*
* <tr><th id="gpsc"><p align="left">get_reply_service_context</p></th>
* <tr><th id="gpsc"><p style="text-align:left">get_reply_service_context</p></th>
* <td headers="ri gpsc send_req">no </td>
* <td headers="ri gpsc send_poll">no </td>
* <td headers="ri gpsc rec_reply">yes</td>
@ -704,14 +705,14 @@ module PortableInterceptor {
* <td id="cri" colspan=6><i>ClientRequestInfo-specific:</i></td>
* </tr>
*
* <tr><th id="target"><p align="left">target</p></th>
* <tr><th id="target"><p style="text-align:left">target</p></th>
* <td headers="cri target send_req">yes</td>
* <td headers="cri target send_poll">yes</td>
* <td headers="cri target rec_reply">yes</td>
* <td headers="cri target rec_ex">yes</td>
* <td headers="cri target rec_oth">yes</td></tr>
*
* <tr><th id="eftarget"><p align="left">effective_target</p></th>
* <tr><th id="eftarget"><p style="text-align:left">effective_target</p></th>
* <td headers="cri eftarget send_req">yes</td>
* <td headers="cri eftarget send_poll">yes</td>
* <td headers="cri eftarget rec_reply">yes</td>
@ -719,49 +720,49 @@ module PortableInterceptor {
* <td headers="cri eftarget rec_oth">yes</td>
* </tr>
*
* <tr><th id="efprof"><p align="left">effective_profile</p></th>
* <tr><th id="efprof"><p style="text-align:left">effective_profile</p></th>
* <td headers="cri efprof send_req">yes</td>
* <td headers="cri efprof send_poll">yes</td>
* <td headers="cri efprof rec_reply">yes</td>
* <td headers="cri efprof rec_ex">yes</td>
* <td headers="cri efprof rec_oth">yes</td></tr>
*
* <tr><th id="rxp"><p align="left">received_exception</p></th>
* <tr><th id="rxp"><p style="text-align:left">received_exception</p></th>
* <td headers="cri rxp send_req">no </td>
* <td headers="cri rxp send_poll">no </td>
* <td headers="cri rxp rec_reply">no </td>
* <td headers="cri rxp rec_ex">yes</td>
* <td headers="cri rxp rec_oth">no </td></tr>
*
* <tr><th id="rei"><p align="left">received_exception_id</p></th>
* <tr><th id="rei"><p style="text-align:left">received_exception_id</p></th>
* <td headers="cri rei send_req">no </td>
* <td headers="cri rei send_poll">no </td>
* <td headers="cri rei rec_reply">no </td>
* <td headers="cri rei rec_ex">yes</td>
* <td headers="cri rei rec_oth">no </td></tr>
*
* <tr><th id="gec"><p align="left">get_effective_component</p></th>
* <tr><th id="gec"><p style="text-align:left">get_effective_component</p></th>
* <td headers="cri gec send_req">yes</td>
* <td headers="cri gec send_poll">no </td>
* <td headers="cri gec rec_reply">yes</td>
* <td headers="cri gec rec_ex">yes</td>
* <td headers="cri gec rec_oth">yes</td></tr>
*
* <tr><th id="gecs"><p align="left">get_effective_components</p></th>
* <tr><th id="gecs"><p style="text-align:left">get_effective_components</p></th>
* <td headers="cri gecs send_req">yes</td>
* <td headers="cri gecs send_poll">no </td>
* <td headers="cri gecs rec_reply">yes</td>
* <td headers="cri gecs rec_ex">yes</td>
* <td headers="cri gecs rec_oth">yes</td></tr>
*
* <tr><th id="grpcy"><p align="left">get_request_policy</p></th>
* <tr><th id="grpcy"><p style="text-align:left">get_request_policy</p></th>
* <td headers="cri grpcy send_req">yes</td>
* <td headers="cri grpcy send_poll">no </td>
* <td headers="cri grpcy rec_reply">yes</td>
* <td headers="cri grpcy rec_ex">yes</td>
* <td headers="cri grpcy rec_oth">yes</td></tr>
*
* <tr><th id="arsc"><p align="left">add_request_service_context</p></th>
* <tr><th id="arsc"><p style="text-align:left">add_request_service_context</p></th>
* <td headers="cri arsc send_req">yes</td>
* <td headers="cri arsc send_poll">no </td>
* <td headers="cri arsc rec_reply">no </td>
@ -935,7 +936,8 @@ module PortableInterceptor {
* standard minor code of 14.
*
*
* <table border=1 summary="Shows the validity of each attribute or operation">
* <table class="plain">
* <caption style="display:none">Shows the validity of each attribute or operation</caption>
* <thead>
* <tr>
* <th>&nbsp;</th>
@ -953,21 +955,21 @@ module PortableInterceptor {
* <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td>
* </tr>
*
* <tr><th id="req_id"><p align="left">request_id</p></th>
* <tr><th id="req_id"><p style="text-align:left">request_id</p></th>
* <td headers="ri req_id rec_req_ser_con">yes</td>
* <td headers="ri req_id rec_req">yes</td>
* <td headers="ri req_id send_rep">yes</td>
* <td headers="ri req_id send_exc">yes</td>
* <td headers="ri req_id send_oth">yes</td></tr>
*
* <tr><th id="op"><p align="left">operation</p></th>
* <tr><th id="op"><p style="text-align:left">operation</p></th>
* <td headers="ri op rec_req_ser_con">yes</td>
* <td headers="ri op rec_req">yes</td>
* <td headers="ri op send_rep">yes</td>
* <td headers="ri op send_exc">yes</td>
* <td headers="ri op send_oth">yes</td></tr>
*
* <tr><th id="args"><p align="left">arguments</p></th>
* <tr><th id="args"><p style="text-align:left">arguments</p></th>
* <td headers="ri args rec_req_ser_con">no </td>
* <td headers="ri args rec_req">yes<sub>1</sub></td>
* <td headers="ri args send_rep">yes</td>
@ -975,21 +977,21 @@ module PortableInterceptor {
* <td headers="ri args send_oth">no<sub>2</sub>
* </td></tr>
*
* <tr><th id="exps"><p align="left">exceptions</p></th>
* <tr><th id="exps"><p style="text-align:left">exceptions</p></th>
* <td headers="ri exps rec_req_ser_con">no </td>
* <td headers="ri exps rec_req">yes</td>
* <td headers="ri exps send_rep">yes</td>
* <td headers="ri exps send_exc">yes</td>
* <td headers="ri exps send_oth">yes</td></tr>
*
* <tr><th id="contexts"><p align="left">contexts</p></th>
* <tr><th id="contexts"><p style="text-align:left">contexts</p></th>
* <td headers="ri contexts rec_req_ser_con">no </td>
* <td headers="ri contexts rec_req">yes</td>
* <td headers="ri contexts send_rep">yes</td>
* <td headers="ri contexts send_exc">yes</td>
* <td headers="ri contexts send_oth">yes</td></tr>
*
* <tr><th id="op_con"><p align="left">operation_context</p></th>
* <tr><th id="op_con"><p style="text-align:left">operation_context</p></th>
* <td headers="ri op_con rec_req_ser_con">no </td>
* <td headers="ri op_con rec_req">yes</td>
* <td headers="ri op_con send_rep">yes</td>
@ -997,7 +999,7 @@ module PortableInterceptor {
* <td headers="ri op_con send_oth">no </td>
* </tr>
*
* <tr><th id="result"><p align="left">result</p></th>
* <tr><th id="result"><p style="text-align:left">result</p></th>
* <td headers="ri result rec_req_ser_con">no </td>
* <td headers="ri result rec_req">no </td>
* <td headers="ri result send_rep">yes</td>
@ -1005,14 +1007,14 @@ module PortableInterceptor {
* <td headers="ri result send_oth">no </td>
* </tr>
*
* <tr><th id="res_ex"><p align="left">response_expected</p></th>
* <tr><th id="res_ex"><p style="text-align:left">response_expected</p></th>
* <td headers="ri res_ex rec_req_ser_con">yes</td>
* <td headers="ri res_ex rec_req">yes</td>
* <td headers="ri res_ex send_rep">yes</td>
* <td headers="ri res_ex send_exc">yes</td>
* <td headers="ri res_ex send_oth">yes</td></tr>
*
* <tr><th id="syn_scp"><p align="left">sync_scope</p></th>
* <tr><th id="syn_scp"><p style="text-align:left">sync_scope</p></th>
* <td headers="ri syn_scp rec_req_ser_con">yes</td>
* <td headers="ri syn_scp rec_req">yes</td>
* <td headers="ri syn_scp send_rep">yes</td>

View File

@ -1,9 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!doctype html>
<html>
<head>
<!--
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
@ -29,7 +29,7 @@ questions.
-->
</head>
<body bgcolor="white">
<body>
Provides a mechanism to register ORB hooks through which ORB services
can intercept the normal flow of execution of the ORB.
@ -52,7 +52,7 @@ See the javadocs for class <code>
{@link org.omg.PortableInterceptor.ORBInitializer ORBInitializer}</code>
for how to go about registering interceptors.
<a name="unimpl"></a>
<a id="unimpl"></a>
<h2>Known limitations / unimplemented methods in package
<code>org.omg.PortableInterceptor</code></h2>

View File

@ -1,9 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!doctype html>
<html>
<head>
<!--
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2000, 2017, 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 @@
-->
</head>
<body bgcolor="white">
<body>
Provides classes and interfaces for making the server side of your applications
portable across multivendor ORBs.
@ -157,10 +157,10 @@ follows exactly the same pattern as the other holder classes for basic types.
<H2>Related Documentation</H2>
<P>For an overview of Java IDL, please see:
<A HREF="../../../../technotes/guides/idl/index.html">Java IDL home page</A>.
{@extLink idl_guides Java&nbsp;IDL home page}.
<H2>Example Code</H2>
<a name="sampleserver"></a>
<a id="sampleserver"></a>
<H3>Example Server Code</H3>
<PRE>
import javax.naming.InitialContext;

View File

@ -59,10 +59,10 @@ import sun.reflect.ReflectionFactory;
* </ul>
* The code that calls Bridge.get() must have the following Permissions:
* <ul>
* <li>RuntimePermission "reflectionFactoryAccess"</li>
* <li>BridgePermission "getBridge"</li>
* <li>ReflectPermission "suppressAccessChecks"</li>
* <li>StackFramePermission "retainClassReference"</li>
* <li>RuntimePermission "getStackWalkerWithClassReference"</li>
* <li>RuntimePermission "reflectionFactoryAccess"</li>
* </ul>
* <p>
* All of these permissions are required to obtain and correctly initialize
@ -105,10 +105,10 @@ public final class Bridge
/** Fetch the Bridge singleton. This requires the following
* permissions:
* <ul>
* <li>RuntimePermission "reflectionFactoryAccess"</li>
* <li>BridgePermission "getBridge"</li>
* <li>ReflectPermission "suppressAccessChecks"</li>
* <li>StackFramePermission "retainClassReference"</li>
* <li>RuntimePermission "getStackWalkerWithClassReference"</li>
* <li>RuntimePermission "reflectionFactoryAccess"</li>
* </ul>
* @return The singleton instance of the Bridge class
* @throws SecurityException if the caller does not have the

View File

@ -15,10 +15,10 @@
^\.mx.jvmci/hotspot/eclipse/.*
^\.idea/
^workingsets.xml
^src/jdk.vm.ci/share/classes/\w[\w\.]*/.*\.xml
^src/jdk.vm.ci/share/classes/\w[\w\.]*/.*\.iml
^src/jdk.vm.ci/share/classes/\w[\w\.]*/nbproject
^src/jdk.vm.ci/share/classes/\w[\w\.]*/\..*
^src/jdk.internal.vm.ci/share/classes/\w[\w\.]*/.*\.xml
^src/jdk.internal.vm.ci/share/classes/\w[\w\.]*/.*\.iml
^src/jdk.internal.vm.ci/share/classes/\w[\w\.]*/nbproject
^src/jdk.internal.vm.ci/share/classes/\w[\w\.]*/\..*
^test/compiler/jvmci/\w[\w\.]*/.*\.xml
^test/compiler/jvmci/\w[\w\.]*/.*\.iml
^test/compiler/jvmci/\w[\w\.]*/nbproject
@ -27,15 +27,15 @@
^test/compiler/aot/\w[\w\.]*/.*\.iml
^test/compiler/aot/\w[\w\.]*/nbproject
^test/compiler/aot/\w[\w\.]*/\..*
^src/jdk.vm.compiler/\.mx.graal/env
^src/jdk.vm.compiler/\.mx.graal/.*\.pyc
^src/jdk.vm.compiler/\.mx.graal/eclipse-launches/.*
^src/jdk.internal.vm.compiler/\.mx.graal/env
^src/jdk.internal.vm.compiler/\.mx.graal/.*\.pyc
^src/jdk.internal.vm.compiler/\.mx.graal/eclipse-launches/.*
^src/jdk.aot/share/classes/\w[\w\.]*/.*\.xml
^src/jdk.aot/share/classes/\w[\w\.]*/.*\.iml
^src/jdk.aot/share/classes/\w[\w\.]*/nbproject
^src/jdk.aot/share/classes/\w[\w\.]*/\..*
^src/jdk.vm.compiler/share/classes/\w[\w\.]*/.*\.xml
^src/jdk.vm.compiler/share/classes/\w[\w\.]*/.*\.iml
^src/jdk.vm.compiler/share/classes/\w[\w\.]*/nbproject
^src/jdk.vm.compiler/share/classes/\w[\w\.]*/\..*
^src/jdk.internal.vm.compiler/share/classes/\w[\w\.]*/.*\.xml
^src/jdk.internal.vm.compiler/share/classes/\w[\w\.]*/.*\.iml
^src/jdk.internal.vm.compiler/share/classes/\w[\w\.]*/nbproject
^src/jdk.internal.vm.compiler/share/classes/\w[\w\.]*/\..*

View File

@ -558,3 +558,26 @@ a82cb5350cad96a0b4de496afebe3ded89f27efa jdk-9+146
217ba81b9a4ce8698200370175aa2db86a39f66c jdk-9+153
a9fdfd55835ef9dccb7f317b07249bd66653b874 jdk-9+154
f3b3d77a1751897413aae43ac340a130b6fa2ae1 jdk-9+155
43139c588ea48b6504e52b6c3dec530b17b1fdb4 jdk-9+156
b2d0a906afd73dcf27f572217eb1be0f196ec16c jdk-9+157
4e78f30935229f13ce7c43089621cf7169f5abac jdk-9+158
9211c2e89c1cd11ec2d5752b0f97131a7d7525c7 jdk-9+159
94b4e2e5331d38eab6a3639c3511b2e0715df0e9 jdk-9+160
191ffbdb3d7b734288daa7fb76b37a0a85dfe7eb jdk-9+161
b01c519b715ef6f785d0631adee0a6537cf6c12e jdk-9+162
983fe207555724d98f4876991e1cbafbcf2733e8 jdk-9+163
0af429be8bbaeaaf0cb838e9af28c953dda6a9c8 jdk-9+164
c92c6416ca03b1464d5ed99cf6201e52b5ba0a70 jdk-9+165
560d7aa083a24b6a56443feb8de0f40435d33aa9 jdk-9+166
1ca7ed1b17b5776930d641d1379834f3140a74e4 jdk-9+167
fbb9c802649585d19f6d7e81b4a519d44806225a jdk-9+168
16d692be099c5c38eb48cc9aca78b0c900910d5b jdk-9+169
38a240fd58a287acb1963920b92ed4d9c2fd39e3 jdk-9+170
d53171650a2cc6c6f699c966c533b914ca9c0602 jdk-9+171
1ae9e84f68b359420d2d153ecfe5ee2903e33a2e jdk-9+172
e64b1cb48d6e7703928a9d1da106fc27f8cb65fd jdk-9+173
944791f8160185bffa13fbb821fc09b6198f1f25 jdk-9+174
8f04d457168b9f1f4a1b2c37f49e0513ca9d33a7 jdk-9+175
2ab74e5dbdc2b6a962c865500cafd23cf387dc60 jdk-9+176
1ca8f038fceb88c640badf9bd18905205bc63b43 jdk-9+177
9d032191f82fca5ba0aac98682f69c4ff0f1283d jdk-9+178

View File

@ -3,7 +3,7 @@
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/.mx.jvmci</path>
<path>/mx.jvmci</path>
</pydev_pathproperty>
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/mx</path>

View File

@ -158,8 +158,8 @@ To build hotspot and import it into the JDK: "mx make hotspot import-hotspot"
# JDK9 must be bootstrapped with a JDK8
compliance = mx.JavaCompliance('8')
jdk8 = mx.get_jdk(compliance.exactMatch, versionDescription=compliance.value)
cmd = ['sh', 'configure', '--with-debug-level=' + _vm.debugLevel, '--with-native-debug-symbols=external', '--disable-precompiled-headers',
'--with-jvm-variants=' + _vm.jvmVariant, '--disable-warnings-as-errors', '--with-boot-jdk=' + jdk8.home]
cmd = ['sh', 'configure', '--with-debug-level=' + _vm.debugLevel, '--with-native-debug-symbols=external', '--disable-precompiled-headers', '--with-jvm-features=graal',
'--with-jvm-variants=' + _vm.jvmVariant, '--disable-warnings-as-errors', '--with-boot-jdk=' + jdk8.home, '--with-jvm-features=graal']
mx.run(cmd, cwd=_jdkSourceRoot)
cmd = [mx.gmake_cmd(), 'CONF=' + _vm.debugLevel]
if mx.get_opts().verbose:
@ -176,66 +176,6 @@ To build hotspot and import it into the JDK: "mx make hotspot import-hotspot"
mx.run(cmd, cwd=_jdkSourceRoot)
if 'images' in cmd:
jdkImageDir = join(jdkBuildDir, 'images', 'jdk')
# The OpenJDK build creates an empty cacerts file so copy one from
# the default JDK (which is assumed to be an OracleJDK)
srcCerts = join(mx.get_jdk(tag='default').home, 'lib', 'security', 'cacerts')
if not exists(srcCerts):
# Might be building with JDK8 which has cacerts under jre/
srcCerts = join(mx.get_jdk(tag='default').home, 'jre', 'lib', 'security', 'cacerts')
dstCerts = join(jdkImageDir, 'lib', 'security', 'cacerts')
if srcCerts != dstCerts:
shutil.copyfile(srcCerts, dstCerts)
_create_jdk_bundle(jdkBuildDir, _vm.debugLevel, jdkImageDir)
def _get_jdk_bundle_arches():
"""
Gets a list of names that will be the part of a JDK bundle's file name denoting the architecture.
The first element in the list is the canonical name. Symlinks should be created for the
remaining names.
"""
cpu = mx.get_arch()
if cpu == 'amd64':
return ['x64', 'x86_64', 'amd64']
elif cpu == 'sparcv9':
return ['sparcv9']
mx.abort('Unsupported JDK bundle arch: ' + cpu)
def _create_jdk_bundle(jdkBuildDir, debugLevel, jdkImageDir):
"""
Creates a tar.gz JDK archive, an accompanying tar.gz.sha1 file with its
SHA1 signature plus symlinks to the archive for non-canonical architecture names.
"""
arches = _get_jdk_bundle_arches()
jdkTgzPath = join(_suite.get_output_root(), 'jdk-bundles', 'jdk9-{}-{}-{}.tar.gz'.format(debugLevel, _get_openjdk_os(), arches[0]))
with mx.Archiver(jdkTgzPath, kind='tgz') as arc:
mx.log('Creating ' + jdkTgzPath)
for root, _, filenames in os.walk(jdkImageDir):
for name in filenames:
f = join(root, name)
arcname = 'jdk1.9.0/' + os.path.relpath(f, jdkImageDir)
arc.zf.add(name=f, arcname=arcname, recursive=False)
with open(jdkTgzPath + '.sha1', 'w') as fp:
mx.log('Creating ' + jdkTgzPath + '.sha1')
fp.write(mx.sha1OfFile(jdkTgzPath))
def _create_link(source, link_name):
if exists(link_name):
os.remove(link_name)
mx.log('Creating ' + link_name + ' -> ' + source)
os.symlink(source, link_name)
for arch in arches[1:]:
link_name = join(_suite.get_output_root(), 'jdk-bundles', 'jdk9-{}-{}-{}.tar.gz'.format(debugLevel, _get_openjdk_os(), arch))
jdkTgzName = os.path.basename(jdkTgzPath)
_create_link(jdkTgzName, link_name)
_create_link(jdkTgzName + '.sha1', link_name + '.sha1')
def _runmultimake(args):
"""run the JDK make process for one or more configurations"""
@ -363,9 +303,9 @@ class HotSpotProject(mx.NativeProject):
out.close('link')
out.open('link')
out.element('name', data='generated')
out.element('name', data='gensrc')
out.element('type', data='2')
generated = join(_get_hotspot_build_dir(jvmVariant, debugLevel), 'generated')
generated = join(_get_hotspot_build_dir(jvmVariant, debugLevel), 'gensrc')
out.element('locationURI', data=mx.get_eclipse_project_rel_locationURI(generated, eclProjectDir))
out.close('link')
@ -680,18 +620,12 @@ _jvmci_bootclasspath_prepends = []
def _get_hotspot_build_dir(jvmVariant=None, debugLevel=None):
"""
Gets the directory in which a particular HotSpot configuration is built
(e.g., <JDK_REPO_ROOT>/build/macosx-x86_64-normal-server-release/hotspot/bsd_amd64_compiler2)
(e.g., <JDK_REPO_ROOT>/build/macosx-x86_64-normal-server-release/hotspot/variant-<variant>)
"""
if jvmVariant is None:
jvmVariant = _vm.jvmVariant
os = mx.get_os()
if os == 'darwin':
os = 'bsd'
arch = mx.get_arch()
buildname = {'client': 'compiler1', 'server': 'compiler2'}.get(jvmVariant, jvmVariant)
name = '{}_{}_{}'.format(os, arch, buildname)
name = 'variant-{}'.format(jvmVariant)
return join(_get_jdk_build_dir(debugLevel=debugLevel), 'hotspot', name)
class JVMCI9JDKConfig(mx.JDKConfig):

View File

@ -43,7 +43,7 @@ suite = {
# ------------- JVMCI:Service -------------
"jdk.vm.ci.services" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"javaCompliance" : "9",
"workingSets" : "API,JVMCI",
@ -52,7 +52,7 @@ suite = {
# ------------- JVMCI:API -------------
"jdk.vm.ci.common" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"checkstyle" : "jdk.vm.ci.services",
"javaCompliance" : "9",
@ -60,7 +60,7 @@ suite = {
},
"jdk.vm.ci.meta" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"checkstyle" : "jdk.vm.ci.services",
"javaCompliance" : "9",
@ -68,7 +68,7 @@ suite = {
},
"jdk.vm.ci.code" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : ["jdk.vm.ci.meta"],
"checkstyle" : "jdk.vm.ci.services",
@ -92,7 +92,7 @@ suite = {
},
"jdk.vm.ci.runtime" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : [
"jdk.vm.ci.code",
@ -119,7 +119,7 @@ suite = {
# ------------- JVMCI:HotSpot -------------
"jdk.vm.ci.aarch64" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : ["jdk.vm.ci.code"],
"checkstyle" : "jdk.vm.ci.services",
@ -128,7 +128,7 @@ suite = {
},
"jdk.vm.ci.amd64" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : ["jdk.vm.ci.code"],
"checkstyle" : "jdk.vm.ci.services",
@ -137,7 +137,7 @@ suite = {
},
"jdk.vm.ci.sparc" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : ["jdk.vm.ci.code"],
"checkstyle" : "jdk.vm.ci.services",
@ -146,7 +146,7 @@ suite = {
},
"jdk.vm.ci.hotspot" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : [
"jdk.vm.ci.common",
@ -175,7 +175,7 @@ suite = {
},
"jdk.vm.ci.hotspot.aarch64" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : [
"jdk.vm.ci.aarch64",
@ -187,7 +187,7 @@ suite = {
},
"jdk.vm.ci.hotspot.amd64" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : [
"jdk.vm.ci.amd64",
@ -199,7 +199,7 @@ suite = {
},
"jdk.vm.ci.hotspot.sparc" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"sourceDirs" : ["src"],
"dependencies" : [
"jdk.vm.ci.sparc",
@ -221,12 +221,12 @@ suite = {
# ------------- Distributions -------------
"JVMCI_SERVICES" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"dependencies" : ["jdk.vm.ci.services"],
},
"JVMCI_API" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"dependencies" : [
"jdk.vm.ci.runtime",
"jdk.vm.ci.common",
@ -240,7 +240,7 @@ suite = {
},
"JVMCI_HOTSPOT" : {
"subDir" : "src/jdk.vm.ci/share/classes",
"subDir" : "src/jdk.internal.vm.ci/share/classes",
"dependencies" : [
"jdk.vm.ci.hotspot.aarch64",
"jdk.vm.ci.hotspot.amd64",

View File

@ -1,14 +0,0 @@
README:
This file should be located at the top of the hotspot Mercurial repository.
See http://openjdk.java.net/ for more information about the OpenJDK.
See ../README-builds.html for complete details on build machine requirements.
Simple Build Instructions:
cd make && gnumake
The files that will be imported into the jdk build will be in the "build"
directory.

View File

@ -38,9 +38,9 @@ TARGETS :=
$(eval $(call IncludeCustomExtension, hotspot, CompileTools.gmk))
ifeq ($(INCLUDE_GRAAL), true)
VM_CI_SRC_DIR := $(HOTSPOT_TOPDIR)/src/jdk.vm.ci/share/classes
VM_CI_SRC_DIR := $(HOTSPOT_TOPDIR)/src/jdk.internal.vm.ci/share/classes
SRC_DIR := $(HOTSPOT_TOPDIR)/src/jdk.vm.compiler/share/classes
SRC_DIR := $(HOTSPOT_TOPDIR)/src/jdk.internal.vm.compiler/share/classes
##############################################################################
# Compile the annotation processors

View File

@ -28,7 +28,7 @@ default: all
include $(SPEC)
include MakeBase.gmk
$(eval $(call IncludeCustomExtension, hotspot, gensrc/Gensrc-jdk.vm.compiler.gmk))
$(eval $(call IncludeCustomExtension, hotspot, gensrc/Gensrc-jdk.internal.vm.compiler.gmk))
GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)
SRC_DIR := $(HOTSPOT_TOPDIR)/src/$(MODULE)/share/classes
@ -81,23 +81,24 @@ PROCESSOR_JARS := \
PROCESSOR_PATH := $(call PathList, $(PROCESSOR_JARS))
ADD_EXPORTS := \
--add-exports jdk.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.hotspot.events=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.hotspot.sparc=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.hotspotvmconfig=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.inittimer=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports jdk.vm.ci/jdk.vm.ci.sparc=ALL-UNNAMED \
--add-modules jdk.internal.vm.ci \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.events=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspotvmconfig=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.inittimer=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=ALL-UNNAMED \
#
$(GENSRC_DIR)/_gensrc_proc_done: $(PROC_SRCS) $(PROCESSOR_JARS)
@ -138,7 +139,7 @@ $(GENSRC_DIR)/module-info.java.extra: $(GENSRC_DIR)/_gensrc_proc_done
$(ECHO) "uses org.graalvm.compiler.options.OptionDescriptors;" >> $@; \
$(ECHO) "provides org.graalvm.compiler.options.OptionDescriptors with" >> $@; \
for i in $$($(FIND) $(GENSRC_DIR) -name '*_OptionDescriptors.java'); do \
c=$$($(ECHO) $$i | $(SED) 's:.*/jdk\.vm\.compiler/\(.*\)\.java:\1:' | $(TR) '/' '.'); \
c=$$($(ECHO) $$i | $(SED) 's:.*/jdk\.internal\.vm\.compiler/\(.*\)\.java:\1:' | $(TR) '/' '.'); \
$(ECHO) " $$c," >> $@; \
done; \
$(ECHO) " ;" >> $@;

View File

@ -112,8 +112,10 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
-relativeSrcInclude src \
-hidePath .hg \
-hidePath .jcheck \
-hidePath jdk.aot \
-hidePath jdk.hotspot.agent \
-hidePath jdk.vm.ci \
-hidePath jdk.internal.vm.ci \
-hidePath jdk.internal.vm.compiler \
-hidePath jdk.jfr \
-compiler VC10 \
-jdkTargetRoot $(call FixPath, $(JDK_OUTPUTDIR)) \

View File

@ -118,6 +118,12 @@ ifeq ($(OPENJDK_TARGET_CPU), x86_64)
OPENJDK_TARGET_CPU_VM_VERSION := amd64
else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
OPENJDK_TARGET_CPU_VM_VERSION := sparc
else ifeq ($(HOTSPOT_TARGET_CPU_ARCH), arm)
ifeq ($(OPENJDK_TARGET_CPU), aarch64)
# This sets the Oracle Aarch64 port to use arm64
# while the original Aarch64 port uses aarch64
OPENJDK_TARGET_CPU_VM_VERSION := arm64
endif
else
OPENJDK_TARGET_CPU_VM_VERSION := $(OPENJDK_TARGET_CPU)
endif

View File

@ -188,7 +188,6 @@ JVM_Yield
JVM_AddModuleExports
JVM_AddModuleExportsToAll
JVM_AddModuleExportsToAllUnnamed
JVM_AddModulePackage
JVM_AddReadsModule
JVM_DefineModule
JVM_SetBootLoaderUnnamedModule

View File

@ -1,22 +0,0 @@
Copyright (c) %YEARS%, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
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.

View File

@ -1,20 +0,0 @@
Copyright (c) %YEARS%, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
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.

View File

@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@ -48,12 +48,15 @@ BUILD_HOTSPOT_JTREG_NATIVE_SRC := \
$(HOTSPOT_TOPDIR)/test/runtime/jni/PrivateInterfaceMethods \
$(HOTSPOT_TOPDIR)/test/runtime/jni/ToStringInInterfaceTest \
$(HOTSPOT_TOPDIR)/test/runtime/jni/CalleeSavedRegisters \
$(HOTSPOT_TOPDIR)/test/runtime/jni/CallWithJNIWeak \
$(HOTSPOT_TOPDIR)/test/runtime/jni/ReturnJNIWeak \
$(HOTSPOT_TOPDIR)/test/runtime/modules/getModuleJNI \
$(HOTSPOT_TOPDIR)/test/runtime/SameObject \
$(HOTSPOT_TOPDIR)/test/runtime/BoolReturn \
$(HOTSPOT_TOPDIR)/test/compiler/floatingpoint/ \
$(HOTSPOT_TOPDIR)/test/compiler/calls \
$(HOTSPOT_TOPDIR)/test/serviceability/jvmti/GetNamedModule \
$(HOTSPOT_TOPDIR)/test/serviceability/jvmti/IsModifiableModule \
$(HOTSPOT_TOPDIR)/test/serviceability/jvmti/AddModuleReads \
$(HOTSPOT_TOPDIR)/test/serviceability/jvmti/AddModuleExportsAndOpens \
$(HOTSPOT_TOPDIR)/test/serviceability/jvmti/AddModuleUsesAndProvides \
@ -83,6 +86,7 @@ ifeq ($(TOOLCHAIN_TYPE), solstudio)
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_liboverflow := -lc
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libSimpleClassFileLoadHook := -lc
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libGetNamedModuleTest := -lc
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libIsModifiableModuleTest := -lc
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libAddModuleReadsTest := -lc
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libAddModuleExportsAndOpensTest := -lc
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libAddModuleUsesAndProvidesTest := -lc

View File

@ -15501,7 +15501,7 @@ instruct string_compareLU(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4
%}
instruct string_indexofUU(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2 cnt2,
iRegI_R0 result, iRegI tmp1, iRegI tmp2, iRegI tmp3, iRegI tmp4, rFlagsReg cr)
iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2, iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
%{
predicate(((StrIndexOfNode*)n)->encoding() == StrIntrinsicNode::UU);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 cnt2)));
@ -15520,7 +15520,7 @@ instruct string_indexofUU(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2
%}
instruct string_indexofLL(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2 cnt2,
iRegI_R0 result, iRegI tmp1, iRegI tmp2, iRegI tmp3, iRegI tmp4, rFlagsReg cr)
iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2, iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
%{
predicate(((StrIndexOfNode*)n)->encoding() == StrIntrinsicNode::LL);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 cnt2)));
@ -15539,7 +15539,7 @@ instruct string_indexofLL(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2
%}
instruct string_indexofUL(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2 cnt2,
iRegI_R0 result, iRegI tmp1, iRegI tmp2, iRegI tmp3, iRegI tmp4, rFlagsReg cr)
iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2, iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
%{
predicate(((StrIndexOfNode*)n)->encoding() == StrIntrinsicNode::UL);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 cnt2)));
@ -15558,7 +15558,7 @@ instruct string_indexofUL(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2
%}
instruct string_indexofLU(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2 cnt2,
iRegI_R0 result, iRegI tmp1, iRegI tmp2, iRegI tmp3, iRegI tmp4, rFlagsReg cr)
iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2, iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
%{
predicate(((StrIndexOfNode*)n)->encoding() == StrIntrinsicNode::LU);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 cnt2)));
@ -15577,8 +15577,8 @@ instruct string_indexofLU(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2
%}
instruct string_indexof_conUU(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
immI_le_4 int_cnt2, iRegI_R0 result, iRegI tmp1, iRegI tmp2,
iRegI tmp3, iRegI tmp4, rFlagsReg cr)
immI_le_4 int_cnt2, iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2,
iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
%{
predicate(((StrIndexOfNode*)n)->encoding() == StrIntrinsicNode::UU);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 int_cnt2)));
@ -15598,8 +15598,8 @@ instruct string_indexof_conUU(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
%}
instruct string_indexof_conLL(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
immI_le_4 int_cnt2, iRegI_R0 result, iRegI tmp1, iRegI tmp2,
iRegI tmp3, iRegI tmp4, rFlagsReg cr)
immI_le_4 int_cnt2, iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2,
iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
%{
predicate(((StrIndexOfNode*)n)->encoding() == StrIntrinsicNode::LL);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 int_cnt2)));
@ -15619,8 +15619,8 @@ instruct string_indexof_conLL(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
%}
instruct string_indexof_conUL(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
immI_1 int_cnt2, iRegI_R0 result, iRegI tmp1, iRegI tmp2,
iRegI tmp3, iRegI tmp4, rFlagsReg cr)
immI_1 int_cnt2, iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2,
iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
%{
predicate(((StrIndexOfNode*)n)->encoding() == StrIntrinsicNode::UL);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 int_cnt2)));
@ -15640,8 +15640,8 @@ instruct string_indexof_conUL(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
%}
instruct string_indexof_conLU(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
immI_1 int_cnt2, iRegI_R0 result, iRegI tmp1, iRegI tmp2,
iRegI tmp3, iRegI tmp4, rFlagsReg cr)
immI_1 int_cnt2, iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2,
iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
%{
predicate(((StrIndexOfNode*)n)->encoding() == StrIntrinsicNode::LU);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 int_cnt2)));
@ -15661,8 +15661,8 @@ instruct string_indexof_conLU(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
%}
instruct string_indexofU_char(iRegP_R1 str1, iRegI_R2 cnt1, iRegI_R3 ch,
iRegI_R0 result, iRegI tmp1, iRegI tmp2,
iRegI tmp3, rFlagsReg cr)
iRegI_R0 result, iRegINoSp tmp1, iRegINoSp tmp2,
iRegINoSp tmp3, rFlagsReg cr)
%{
match(Set result (StrIndexOfChar (Binary str1 cnt1) ch));
effect(USE_KILL str1, USE_KILL cnt1, USE_KILL ch,
@ -16101,7 +16101,7 @@ instruct replicate2D(vecX dst, vRegD src)
// ====================REDUCTION ARITHMETIC====================================
instruct reduce_add2I(iRegINoSp dst, iRegIorL2I src1, vecD src2, iRegI tmp, iRegI tmp2)
instruct reduce_add2I(iRegINoSp dst, iRegIorL2I src1, vecD src2, iRegINoSp tmp, iRegINoSp tmp2)
%{
match(Set dst (AddReductionVI src1 src2));
ins_cost(INSN_COST);
@ -16120,7 +16120,7 @@ instruct reduce_add2I(iRegINoSp dst, iRegIorL2I src1, vecD src2, iRegI tmp, iReg
ins_pipe(pipe_class_default);
%}
instruct reduce_add4I(iRegINoSp dst, iRegIorL2I src1, vecX src2, vecX tmp, iRegI tmp2)
instruct reduce_add4I(iRegINoSp dst, iRegIorL2I src1, vecX src2, vecX tmp, iRegINoSp tmp2)
%{
match(Set dst (AddReductionVI src1 src2));
ins_cost(INSN_COST);
@ -16138,7 +16138,7 @@ instruct reduce_add4I(iRegINoSp dst, iRegIorL2I src1, vecX src2, vecX tmp, iRegI
ins_pipe(pipe_class_default);
%}
instruct reduce_mul2I(iRegINoSp dst, iRegIorL2I src1, vecD src2, iRegI tmp)
instruct reduce_mul2I(iRegINoSp dst, iRegIorL2I src1, vecD src2, iRegINoSp tmp)
%{
match(Set dst (MulReductionVI src1 src2));
ins_cost(INSN_COST);
@ -16157,7 +16157,7 @@ instruct reduce_mul2I(iRegINoSp dst, iRegIorL2I src1, vecD src2, iRegI tmp)
ins_pipe(pipe_class_default);
%}
instruct reduce_mul4I(iRegINoSp dst, iRegIorL2I src1, vecX src2, vecX tmp, iRegI tmp2)
instruct reduce_mul4I(iRegINoSp dst, iRegIorL2I src1, vecX src2, vecX tmp, iRegINoSp tmp2)
%{
match(Set dst (MulReductionVI src1 src2));
ins_cost(INSN_COST);

View File

@ -109,9 +109,15 @@ int AbstractInterpreter::size_activation(int max_stack,
// for the callee's params we only need to account for the extra
// locals.
int size = overhead +
(callee_locals - callee_params)*Interpreter::stackElementWords +
(callee_locals - callee_params) +
monitors * frame::interpreter_frame_monitor_size() +
temps* Interpreter::stackElementWords + extra_args;
// On the top frame, at all times SP <= ESP, and SP is
// 16-aligned. We ensure this by adjusting SP on method
// entry and re-entry to allow room for the maximum size of
// the expression stack. When we call another method we bump
// SP so that no stack space is wasted. So, only on the top
// frame do we need to allow max_stack words.
(is_top_frame ? max_stack : temps + extra_args);
// On AArch64 we always keep the stack pointer 16-aligned, so we
// must round up here.

View File

@ -1,8 +1,7 @@
/*
* Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights All rights reserved.
* Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE
* HEADER.
* 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
@ -21,7 +20,6 @@
* 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 <stdio.h>

View File

@ -1922,12 +1922,17 @@ void LIR_Assembler::comp_op(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2,
}
if (opr2->is_constant()) {
bool is_32bit = false; // width of register operand
jlong imm;
switch(opr2->type()) {
case T_INT:
imm = opr2->as_constant_ptr()->as_jint();
is_32bit = true;
break;
case T_LONG:
imm = opr2->as_constant_ptr()->as_jlong();
break;
case T_INT:
case T_ADDRESS:
imm = opr2->as_constant_ptr()->as_jint();
break;
@ -1942,14 +1947,14 @@ void LIR_Assembler::comp_op(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2,
}
if (Assembler::operand_valid_for_add_sub_immediate(imm)) {
if (type2aelembytes(opr1->type()) <= 4)
if (is_32bit)
__ cmpw(reg1, imm);
else
__ cmp(reg1, imm);
return;
} else {
__ mov(rscratch1, imm);
if (type2aelembytes(opr1->type()) <= 4)
if (is_32bit)
__ cmpw(reg1, rscratch1);
else
__ cmp(reg1, rscratch1);

View File

@ -598,12 +598,12 @@ void LIRGenerator::do_ArithmeticOp_Int(ArithmeticOp* x) {
} else {
assert (x->op() == Bytecodes::_imul, "expect imul");
if (right.is_constant()) {
int c = right.get_jint_constant();
if (! is_power_of_2(c) && ! is_power_of_2(c + 1) && ! is_power_of_2(c - 1)) {
// Cannot use constant op.
right.load_item();
jint c = right.get_jint_constant();
if (c > 0 && c < max_jint && (is_power_of_2(c) || is_power_of_2(c - 1) || is_power_of_2(c + 1))) {
right_arg->dont_load_item();
} else {
right.dont_load_item();
// Cannot use constant op.
right_arg->load_item();
}
} else {
right.load_item();
@ -1221,12 +1221,19 @@ void LIRGenerator::do_CheckCast(CheckCast* x) {
obj.load_item();
// info for exceptions
CodeEmitInfo* info_for_exception = state_for(x);
CodeEmitInfo* info_for_exception =
(x->needs_exception_state() ? state_for(x) :
state_for(x, x->state_before(), true /*ignore_xhandler*/));
CodeStub* stub;
if (x->is_incompatible_class_change_check()) {
assert(patching_info == NULL, "can't patch this");
stub = new SimpleExceptionStub(Runtime1::throw_incompatible_class_change_error_id, LIR_OprFact::illegalOpr, info_for_exception);
} else if (x->is_invokespecial_receiver_check()) {
assert(patching_info == NULL, "can't patch this");
stub = new DeoptimizeStub(info_for_exception,
Deoptimization::Reason_class_check,
Deoptimization::Action_none);
} else {
stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id, obj.result(), info_for_exception);
}
@ -1340,6 +1347,16 @@ void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address,
void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result,
CodeEmitInfo* info) {
// 8179954: We need to make sure that the code generated for
// volatile accesses forms a sequentially-consistent set of
// operations when combined with STLR and LDAR. Without a leading
// membar it's possible for a simple Dekker test to fail if loads
// use LD;DMB but stores use STLR. This can happen if C2 compiles
// the stores in one method and C1 compiles the loads in another.
if (! UseBarriersForVolatile) {
__ membar();
}
__ volatile_load_mem_reg(address, result, info);
}

View File

@ -50,12 +50,11 @@ define_pd_global(intx, ConditionalMoveLimit, 3);
define_pd_global(intx, FLOATPRESSURE, 64);
define_pd_global(intx, FreqInlineSize, 325);
define_pd_global(intx, MinJumpTableSize, 10);
define_pd_global(intx, INTPRESSURE, 25);
define_pd_global(intx, INTPRESSURE, 24);
define_pd_global(intx, InteriorEntryAlignment, 16);
define_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K));
define_pd_global(intx, LoopUnrollLimit, 60);
define_pd_global(intx, LoopPercentProfileLimit, 10);
define_pd_global(intx, PostLoopMultiversioning, false);
// InitialCodeCacheSize derived from specjbb2000 run.
define_pd_global(intx, InitialCodeCacheSize, 2496*K); // Integral multiple of CodeCacheExpansionSize
define_pd_global(intx, CodeCacheExpansionSize, 64*K);

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 2017, 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.
*
@ -82,6 +82,11 @@ address JNI_FastGetField::generate_fast_get_int_field0(BasicType type) {
__ eor(robj, robj, rcounter); // obj, since
// robj ^ rcounter ^ rcounter == robj
// robj is address dependent on rcounter.
// If mask changes we need to ensure that the inverse is still encodable as an immediate
STATIC_ASSERT(JNIHandles::weak_tag_mask == 1);
__ andr(robj, robj, ~JNIHandles::weak_tag_mask);
__ ldr(robj, Address(robj, 0)); // *obj
__ lsr(roffset, c_rarg2, 2); // offset

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@ -2052,13 +2052,31 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
__ reset_last_Java_frame(false);
// Unpack oop result
// Unbox oop result, e.g. JNIHandles::resolve result.
if (ret_type == T_OBJECT || ret_type == T_ARRAY) {
Label L;
__ cbz(r0, L);
__ ldr(r0, Address(r0, 0));
__ bind(L);
__ verify_oop(r0);
Label done, not_weak;
__ cbz(r0, done); // Use NULL as-is.
STATIC_ASSERT(JNIHandles::weak_tag_mask == 1u);
__ tbz(r0, 0, not_weak); // Test for jweak tag.
// Resolve jweak.
__ ldr(r0, Address(r0, -JNIHandles::weak_tag_value));
__ verify_oop(r0);
#if INCLUDE_ALL_GCS
if (UseG1GC) {
__ g1_write_barrier_pre(noreg /* obj */,
r0 /* pre_val */,
rthread /* thread */,
rscratch1 /* tmp */,
true /* tosca_live */,
true /* expand_call */);
}
#endif // INCLUDE_ALL_GCS
__ b(done);
__ bind(not_weak);
// Resolve (untagged) jobject.
__ ldr(r0, Address(r0, 0));
__ verify_oop(r0);
__ bind(done);
}
if (CheckJNICalls) {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2017, 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.
*
@ -1399,13 +1399,32 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
// and result handler will pick it up
{
Label no_oop, store_result;
Label no_oop, not_weak, store_result;
__ adr(t, ExternalAddress(AbstractInterpreter::result_handler(T_OBJECT)));
__ cmp(t, result_handler);
__ br(Assembler::NE, no_oop);
// retrieve result
// Unbox oop result, e.g. JNIHandles::resolve result.
__ pop(ltos);
__ cbz(r0, store_result);
__ cbz(r0, store_result); // Use NULL as-is.
STATIC_ASSERT(JNIHandles::weak_tag_mask == 1u);
__ tbz(r0, 0, not_weak); // Test for jweak tag.
// Resolve jweak.
__ ldr(r0, Address(r0, -JNIHandles::weak_tag_value));
#if INCLUDE_ALL_GCS
if (UseG1GC) {
__ enter(); // Barrier may call runtime.
__ g1_write_barrier_pre(noreg /* obj */,
r0 /* pre_val */,
rthread /* thread */,
t /* tmp */,
true /* tosca_live */,
true /* expand_call */);
__ leave();
}
#endif // INCLUDE_ALL_GCS
__ b(store_result);
__ bind(not_weak);
// Resolve (untagged) jobject.
__ ldr(r0, Address(r0, 0));
__ bind(store_result);
__ str(r0, Address(rfp, frame::interpreter_frame_oop_temp_offset*wordSize));

View File

@ -2389,17 +2389,31 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
const Register obj = r4;
const Register off = r19;
const Register flags = r0;
const Register raw_flags = r6;
const Register bc = r4; // uses same reg as obj, so don't mix them
resolve_cache_and_index(byte_no, cache, index, sizeof(u2));
jvmti_post_field_access(cache, index, is_static, false);
load_field_cp_cache_entry(obj, cache, index, off, flags, is_static);
load_field_cp_cache_entry(obj, cache, index, off, raw_flags, is_static);
if (!is_static) {
// obj is on the stack
pop_and_check_object(obj);
}
// 8179954: We need to make sure that the code generated for
// volatile accesses forms a sequentially-consistent set of
// operations when combined with STLR and LDAR. Without a leading
// membar it's possible for a simple Dekker test to fail if loads
// use LDR;DMB but stores use STLR. This can happen if C2 compiles
// the stores in one method and we interpret the loads in another.
if (! UseBarriersForVolatile) {
Label notVolatile;
__ tbz(raw_flags, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
__ membar(MacroAssembler::AnyAny);
__ bind(notVolatile);
}
const Address field(obj, off);
Label Done, notByte, notBool, notInt, notShort, notChar,
@ -2407,7 +2421,8 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
// x86 uses a shift and mask or wings it with a shift plus assert
// the mask is not needed. aarch64 just uses bitfield extract
__ ubfxw(flags, flags, ConstantPoolCacheEntry::tos_state_shift, ConstantPoolCacheEntry::tos_state_bits);
__ ubfxw(flags, raw_flags, ConstantPoolCacheEntry::tos_state_shift,
ConstantPoolCacheEntry::tos_state_bits);
assert(btos == 0, "change code, btos != 0");
__ cbnz(flags, notByte);
@ -2529,9 +2544,11 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
#endif
__ bind(Done);
// It's really not worth bothering to check whether this field
// really is volatile in the slow case.
Label notVolatile;
__ tbz(raw_flags, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
__ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
__ bind(notVolatile);
}
@ -2979,6 +2996,19 @@ void TemplateTable::fast_accessfield(TosState state)
__ null_check(r0);
const Address field(r0, r1);
// 8179954: We need to make sure that the code generated for
// volatile accesses forms a sequentially-consistent set of
// operations when combined with STLR and LDAR. Without a leading
// membar it's possible for a simple Dekker test to fail if loads
// use LDR;DMB but stores use STLR. This can happen if C2 compiles
// the stores in one method and we interpret the loads in another.
if (! UseBarriersForVolatile) {
Label notVolatile;
__ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
__ membar(MacroAssembler::AnyAny);
__ bind(notVolatile);
}
// access field
switch (bytecode()) {
case Bytecodes::_fast_agetfield:
@ -3027,6 +3057,22 @@ void TemplateTable::fast_xaccess(TosState state)
__ get_cache_and_index_at_bcp(r2, r3, 2);
__ ldr(r1, Address(r2, in_bytes(ConstantPoolCache::base_offset() +
ConstantPoolCacheEntry::f2_offset())));
// 8179954: We need to make sure that the code generated for
// volatile accesses forms a sequentially-consistent set of
// operations when combined with STLR and LDAR. Without a leading
// membar it's possible for a simple Dekker test to fail if loads
// use LDR;DMB but stores use STLR. This can happen if C2 compiles
// the stores in one method and we interpret the loads in another.
if (! UseBarriersForVolatile) {
Label notVolatile;
__ ldrw(r3, Address(r2, in_bytes(ConstantPoolCache::base_offset() +
ConstantPoolCacheEntry::flags_offset())));
__ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
__ membar(MacroAssembler::AnyAny);
__ bind(notVolatile);
}
// make sure exception is reported in correct bcp range (getfield is
// next instruction)
__ increment(rbcp);

View File

@ -51,6 +51,11 @@ extern "C" void bad_compiled_vtable_index(JavaThread* thread,
VtableStub* VtableStubs::create_vtable_stub(int vtable_index) {
const int aarch64_code_length = VtableStub::pd_code_size_limit(true);
VtableStub* s = new(aarch64_code_length) VtableStub(true, vtable_index);
// Can be NULL if there is no free space in the code cache.
if (s == NULL) {
return NULL;
}
ResourceMark rm;
CodeBuffer cb(s->entry_point(), aarch64_code_length);
MacroAssembler* masm = new MacroAssembler(&cb);

View File

@ -2695,6 +2695,30 @@ operand flagsRegL_LEGT() %{
format %{ "apsr_L_LEGT" %}
interface(REG_INTER);
%}
operand flagsRegUL_LTGE() %{
constraint(ALLOC_IN_RC(int_flags));
match(RegFlags);
format %{ "apsr_UL_LTGE" %}
interface(REG_INTER);
%}
operand flagsRegUL_EQNE() %{
constraint(ALLOC_IN_RC(int_flags));
match(RegFlags);
format %{ "apsr_UL_EQNE" %}
interface(REG_INTER);
%}
operand flagsRegUL_LEGT() %{
constraint(ALLOC_IN_RC(int_flags));
match(RegFlags);
format %{ "apsr_UL_LEGT" %}
interface(REG_INTER);
%}
#endif
// Condition Code Register, floating comparisons, unordered same as "less".
@ -3249,6 +3273,39 @@ operand cmpOpL_commute() %{
%}
%}
operand cmpOpUL() %{
match(Bool);
format %{ "UL" %}
interface(COND_INTER) %{
equal(0x0);
not_equal(0x1);
less(0x3);
greater_equal(0x2);
less_equal(0x9);
greater(0x8);
overflow(0x0); // unsupported/unimplemented
no_overflow(0x0); // unsupported/unimplemented
%}
%}
operand cmpOpUL_commute() %{
match(Bool);
format %{ "UL" %}
interface(COND_INTER) %{
equal(0x0);
not_equal(0x1);
less(0x8);
greater_equal(0x9);
less_equal(0x2);
greater(0x3);
overflow(0x0); // unsupported/unimplemented
no_overflow(0x0); // unsupported/unimplemented
%}
%}
//----------OPERAND CLASSES----------------------------------------------------
// Operand Classes are groups of operands that are used to simplify
// instruction definitions by not requiring the AD writer to specify separate
@ -10467,6 +10524,17 @@ instruct compL_reg_reg(flagsReg xcc, iRegL op1, iRegL op2)
%}
ins_pipe(ialu_cconly_reg_reg);
%}
instruct compUL_iReg(flagsRegU xcc, iRegL op1, iRegL op2) %{
match(Set xcc (CmpUL op1 op2));
size(4);
format %{ "CMP $op1,$op2\t! unsigned long" %}
ins_encode %{
__ cmp($op1$$Register, $op2$$Register);
%}
ins_pipe(ialu_cconly_reg_reg);
%}
#else
instruct compL_reg_reg_LTGE(flagsRegL_LTGE xcc, iRegL op1, iRegL op2, iRegL tmp) %{
match(Set xcc (CmpL op1 op2));
@ -10481,6 +10549,20 @@ instruct compL_reg_reg_LTGE(flagsRegL_LTGE xcc, iRegL op1, iRegL op2, iRegL tmp)
%}
ins_pipe(ialu_cconly_reg_reg);
%}
instruct compUL_reg_reg_LTGE(flagsRegUL_LTGE xcc, iRegL op1, iRegL op2, iRegL tmp) %{
match(Set xcc (CmpUL op1 op2));
effect(DEF xcc, USE op1, USE op2, TEMP tmp);
size(8);
format %{ "SUBS $tmp,$op1.low,$op2.low\t\t! unsigned long\n\t"
"SBCS $tmp,$op1.hi,$op2.hi" %}
ins_encode %{
__ subs($tmp$$Register, $op1$$Register, $op2$$Register);
__ sbcs($tmp$$Register->successor(), $op1$$Register->successor(), $op2$$Register->successor());
%}
ins_pipe(ialu_cconly_reg_reg);
%}
#endif
#ifdef AARCH64
@ -10496,6 +10578,19 @@ instruct compL_reg_con(flagsReg xcc, iRegL op1, aimmL con) %{
ins_pipe(ialu_cconly_reg_imm);
%}
instruct compUL_reg_con(flagsRegU xcc, iRegL op1, aimmL con) %{
match(Set xcc (CmpUL op1 con));
effect(DEF xcc, USE op1, USE con);
size(8);
format %{ "CMP $op1,$con\t\t! unsigned long" %}
ins_encode %{
__ cmp($op1$$Register, $con$$constant);
%}
ins_pipe(ialu_cconly_reg_imm);
%}
#else
instruct compL_reg_reg_EQNE(flagsRegL_EQNE xcc, iRegL op1, iRegL op2) %{
match(Set xcc (CmpL op1 op2));
@ -10575,6 +10670,85 @@ instruct compL_reg_con_LEGT(flagsRegL_LEGT xcc, iRegL op1, immLlowRot con, iRegL
ins_pipe(ialu_cconly_reg_reg);
%}
instruct compUL_reg_reg_EQNE(flagsRegUL_EQNE xcc, iRegL op1, iRegL op2) %{
match(Set xcc (CmpUL op1 op2));
effect(DEF xcc, USE op1, USE op2);
size(8);
format %{ "TEQ $op1.hi,$op2.hi\t\t! unsigned long\n\t"
"TEQ.eq $op1.lo,$op2.lo" %}
ins_encode %{
__ teq($op1$$Register->successor(), $op2$$Register->successor());
__ teq($op1$$Register, $op2$$Register, eq);
%}
ins_pipe(ialu_cconly_reg_reg);
%}
instruct compUL_reg_reg_LEGT(flagsRegUL_LEGT xcc, iRegL op1, iRegL op2, iRegL tmp) %{
match(Set xcc (CmpUL op1 op2));
effect(DEF xcc, USE op1, USE op2, TEMP tmp);
size(8);
format %{ "SUBS $tmp,$op2.low,$op1.low\t\t! unsigned long\n\t"
"SBCS $tmp,$op2.hi,$op1.hi" %}
ins_encode %{
__ subs($tmp$$Register, $op2$$Register, $op1$$Register);
__ sbcs($tmp$$Register->successor(), $op2$$Register->successor(), $op1$$Register->successor());
%}
ins_pipe(ialu_cconly_reg_reg);
%}
// TODO: try immLRot2 instead, (0, $con$$constant) becomes
// (hi($con$$constant), lo($con$$constant)) becomes
instruct compUL_reg_con_LTGE(flagsRegUL_LTGE xcc, iRegL op1, immLlowRot con, iRegL tmp) %{
match(Set xcc (CmpUL op1 con));
effect(DEF xcc, USE op1, USE con, TEMP tmp);
size(8);
format %{ "SUBS $tmp,$op1.low,$con\t\t! unsigned long\n\t"
"SBCS $tmp,$op1.hi,0" %}
ins_encode %{
__ subs($tmp$$Register, $op1$$Register, $con$$constant);
__ sbcs($tmp$$Register->successor(), $op1$$Register->successor(), 0);
%}
ins_pipe(ialu_cconly_reg_reg);
%}
// TODO: try immLRot2 instead, (0, $con$$constant) becomes
// (hi($con$$constant), lo($con$$constant)) becomes
instruct compUL_reg_con_EQNE(flagsRegUL_EQNE xcc, iRegL op1, immLlowRot con) %{
match(Set xcc (CmpUL op1 con));
effect(DEF xcc, USE op1, USE con);
size(8);
format %{ "TEQ $op1.hi,0\t\t! unsigned long\n\t"
"TEQ.eq $op1.lo,$con" %}
ins_encode %{
__ teq($op1$$Register->successor(), 0);
__ teq($op1$$Register, $con$$constant, eq);
%}
ins_pipe(ialu_cconly_reg_reg);
%}
// TODO: try immLRot2 instead, (0, $con$$constant) becomes
// (hi($con$$constant), lo($con$$constant)) becomes
instruct compUL_reg_con_LEGT(flagsRegUL_LEGT xcc, iRegL op1, immLlowRot con, iRegL tmp) %{
match(Set xcc (CmpUL op1 con));
effect(DEF xcc, USE op1, USE con, TEMP tmp);
size(8);
format %{ "RSBS $tmp,$op1.low,$con\t\t! unsigned long\n\t"
"RSCS $tmp,$op1.hi,0" %}
ins_encode %{
__ rsbs($tmp$$Register, $op1$$Register, $con$$constant);
__ rscs($tmp$$Register->successor(), $op1$$Register->successor(), 0);
%}
ins_pipe(ialu_cconly_reg_reg);
%}
#endif
/* instruct testL_reg_reg(flagsRegL xcc, iRegL op1, iRegL op2, immL0 zero) %{ */
@ -11126,6 +11300,48 @@ instruct branchConL_LEGT(cmpOpL_commute cmp, flagsRegL_LEGT xcc, label labl) %{
%}
ins_pipe(br_cc);
%}
instruct branchConUL_LTGE(cmpOpUL cmp, flagsRegUL_LTGE xcc, label labl) %{
match(If cmp xcc);
effect(USE labl);
predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge);
size(4);
ins_cost(BRANCH_COST);
format %{ "B$cmp $xcc,$labl" %}
ins_encode %{
__ b(*($labl$$label), (AsmCondition)($cmp$$cmpcode));
%}
ins_pipe(br_cc);
%}
instruct branchConUL_EQNE(cmpOpUL cmp, flagsRegUL_EQNE xcc, label labl) %{
match(If cmp xcc);
effect(USE labl);
predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne);
size(4);
ins_cost(BRANCH_COST);
format %{ "B$cmp $xcc,$labl" %}
ins_encode %{
__ b(*($labl$$label), (AsmCondition)($cmp$$cmpcode));
%}
ins_pipe(br_cc);
%}
instruct branchConUL_LEGT(cmpOpUL_commute cmp, flagsRegUL_LEGT xcc, label labl) %{
match(If cmp xcc);
effect(USE labl);
predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le);
size(4);
ins_cost(BRANCH_COST);
format %{ "B$cmp $xcc,$labl" %}
ins_encode %{
__ b(*($labl$$label), (AsmCondition)($cmp$$cmpcode));
%}
ins_pipe(br_cc);
%}
#endif
instruct branchLoopEnd(cmpOp cmp, flagsReg icc, label labl) %{

View File

@ -1453,10 +1453,11 @@ void LIR_Assembler::emit_opTypeCheck(LIR_OpTypeCheck* op) {
ciKlass* k = op->klass();
assert_different_registers(res, k_RInfo, klass_RInfo, Rtemp);
if (stub->is_simple_exception_stub()) {
// TODO: ARM - Late binding is used to prevent confusion of register allocator
assert(stub->is_exception_throw_stub(), "must be");
((SimpleExceptionStub*)stub)->set_obj(op->result_opr());
}
ciMethodData* md;
ciProfileData* data;
int mdo_offset_bias = 0;

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -923,8 +923,8 @@ void LIRGenerator::do_ArithmeticOp_Int(ArithmeticOp* x) {
} else {
left_arg->load_item();
if (x->op() == Bytecodes::_imul && right_arg->is_constant()) {
int c = right_arg->get_jint_constant();
if (c > 0 && (is_power_of_2(c) || is_power_of_2(c - 1) || is_power_of_2(c + 1))) {
jint c = right_arg->get_jint_constant();
if (c > 0 && c < max_jint && (is_power_of_2(c) || is_power_of_2(c - 1) || is_power_of_2(c + 1))) {
right_arg->dont_load_item();
} else {
right_arg->load_item();
@ -1412,12 +1412,20 @@ void LIRGenerator::do_CheckCast(CheckCast* x) {
obj.load_item();
CodeEmitInfo* info_for_exception = state_for(x);
CodeEmitInfo* info_for_exception =
(x->needs_exception_state() ? state_for(x) :
state_for(x, x->state_before(), true /*ignore_xhandler*/));
CodeStub* stub;
if (x->is_incompatible_class_change_check()) {
assert(patching_info == NULL, "can't patch this");
stub = new SimpleExceptionStub(Runtime1::throw_incompatible_class_change_error_id,
LIR_OprFact::illegalOpr, info_for_exception);
} else if (x->is_invokespecial_receiver_check()) {
assert(patching_info == NULL, "can't patch this");
stub = new DeoptimizeStub(info_for_exception,
Deoptimization::Reason_class_check,
Deoptimization::Action_none);
} else {
stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id,
LIR_OprFact::illegalOpr, info_for_exception);

View File

@ -618,7 +618,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
Address buffer(Rthread, in_bytes(JavaThread::dirty_card_queue_offset() +
DirtyCardQueue::byte_offset_of_buf()));
AddressLiteral cardtable((address)ct->byte_map_base);
AddressLiteral cardtable((address)ct->byte_map_base, relocInfo::none);
assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
// save at least the registers that need saving if the runtime is called
@ -645,7 +645,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
// Note: there is a comment in x86 code about not using
// ExternalAddress / lea, due to relocation not working
// properly for that address. Should be OK for arm, where we
// explicitly specify that 'cartable' has a relocInfo::none
// explicitly specify that 'cardtable' has a relocInfo::none
// type.
__ lea(r_card_base_1, cardtable);
__ add(r_card_addr_0, r_card_base_1, AsmOperand(r_obj_0, lsr, CardTableModRefBS::card_shift));

View File

@ -70,7 +70,6 @@ define_pd_global(bool, UseTLAB, true);
define_pd_global(bool, ResizeTLAB, true);
define_pd_global(intx, LoopUnrollLimit, 60); // Design center runs on 1.3.1
define_pd_global(intx, LoopPercentProfileLimit, 10);
define_pd_global(intx, PostLoopMultiversioning, false);
define_pd_global(intx, MinJumpTableSize, 16);
// Peephole and CISC spilling both break the graph, and so makes the

View File

@ -85,17 +85,17 @@ address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark)
}
#undef __
// size of C2 call stub, compiled java to interpretor
int CompiledStaticCall::to_interp_stub_size() {
return 8 * NativeInstruction::instruction_size;
}
// Relocation entries for call stub, compiled java to interpreter.
int CompiledStaticCall::reloc_to_interp_stub() {
return 10; // 4 in emit_to_interp_stub + 1 in Java_Static_Call
}
#endif // COMPILER2 || JVMCI
// size of C2 call stub, compiled java to interpretor
int CompiledStaticCall::to_interp_stub_size() {
return 8 * NativeInstruction::instruction_size;
}
void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, address entry) {
address stub = find_stub(/*is_aot*/ false);
guarantee(stub != NULL, "stub not found");
@ -125,6 +125,8 @@ void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, ad
method_holder->set_data((intptr_t)callee());
jump->set_jump_destination(entry);
ICache::invalidate_range(stub, to_interp_stub_size());
// Update jump to call.
set_destination_mt_safe(stub);
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2017, 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
@ -476,185 +476,6 @@ void InterpreterMacroAssembler::set_card(Register card_table_base, Address card_
}
//////////////////////////////////////////////////////////////////////////////////
#if INCLUDE_ALL_GCS
// G1 pre-barrier.
// Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
// If store_addr != noreg, then previous value is loaded from [store_addr];
// in such case store_addr and new_val registers are preserved;
// otherwise pre_val register is preserved.
void InterpreterMacroAssembler::g1_write_barrier_pre(Register store_addr,
Register new_val,
Register pre_val,
Register tmp1,
Register tmp2) {
Label done;
Label runtime;
if (store_addr != noreg) {
assert_different_registers(store_addr, new_val, pre_val, tmp1, tmp2, noreg);
} else {
assert (new_val == noreg, "should be");
assert_different_registers(pre_val, tmp1, tmp2, noreg);
}
Address in_progress(Rthread, in_bytes(JavaThread::satb_mark_queue_offset() +
SATBMarkQueue::byte_offset_of_active()));
Address index(Rthread, in_bytes(JavaThread::satb_mark_queue_offset() +
SATBMarkQueue::byte_offset_of_index()));
Address buffer(Rthread, in_bytes(JavaThread::satb_mark_queue_offset() +
SATBMarkQueue::byte_offset_of_buf()));
// Is marking active?
assert(in_bytes(SATBMarkQueue::byte_width_of_active()) == 1, "adjust this code");
ldrb(tmp1, in_progress);
cbz(tmp1, done);
// Do we need to load the previous value?
if (store_addr != noreg) {
load_heap_oop(pre_val, Address(store_addr, 0));
}
// Is the previous value null?
cbz(pre_val, done);
// Can we store original value in the thread's buffer?
// Is index == 0?
// (The index field is typed as size_t.)
ldr(tmp1, index); // tmp1 := *index_adr
ldr(tmp2, buffer);
subs(tmp1, tmp1, wordSize); // tmp1 := tmp1 - wordSize
b(runtime, lt); // If negative, goto runtime
str(tmp1, index); // *index_adr := tmp1
// Record the previous value
str(pre_val, Address(tmp2, tmp1));
b(done);
bind(runtime);
// save the live input values
#ifdef AARCH64
if (store_addr != noreg) {
raw_push(store_addr, new_val);
} else {
raw_push(pre_val, ZR);
}
#else
if (store_addr != noreg) {
// avoid raw_push to support any ordering of store_addr and new_val
push(RegisterSet(store_addr) | RegisterSet(new_val));
} else {
push(pre_val);
}
#endif // AARCH64
if (pre_val != R0) {
mov(R0, pre_val);
}
mov(R1, Rthread);
call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_pre), R0, R1);
#ifdef AARCH64
if (store_addr != noreg) {
raw_pop(store_addr, new_val);
} else {
raw_pop(pre_val, ZR);
}
#else
if (store_addr != noreg) {
pop(RegisterSet(store_addr) | RegisterSet(new_val));
} else {
pop(pre_val);
}
#endif // AARCH64
bind(done);
}
// G1 post-barrier.
// Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
void InterpreterMacroAssembler::g1_write_barrier_post(Register store_addr,
Register new_val,
Register tmp1,
Register tmp2,
Register tmp3) {
Address queue_index(Rthread, in_bytes(JavaThread::dirty_card_queue_offset() +
DirtyCardQueue::byte_offset_of_index()));
Address buffer(Rthread, in_bytes(JavaThread::dirty_card_queue_offset() +
DirtyCardQueue::byte_offset_of_buf()));
BarrierSet* bs = Universe::heap()->barrier_set();
CardTableModRefBS* ct = (CardTableModRefBS*)bs;
Label done;
Label runtime;
// Does store cross heap regions?
eor(tmp1, store_addr, new_val);
#ifdef AARCH64
logical_shift_right(tmp1, tmp1, HeapRegion::LogOfHRGrainBytes);
cbz(tmp1, done);
#else
movs(tmp1, AsmOperand(tmp1, lsr, HeapRegion::LogOfHRGrainBytes));
b(done, eq);
#endif
// crosses regions, storing NULL?
cbz(new_val, done);
// storing region crossing non-NULL, is card already dirty?
const Register card_addr = tmp1;
assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
mov_address(tmp2, (address)ct->byte_map_base, symbolic_Relocation::card_table_reference);
add(card_addr, tmp2, AsmOperand(store_addr, lsr, CardTableModRefBS::card_shift));
ldrb(tmp2, Address(card_addr));
cmp(tmp2, (int)G1SATBCardTableModRefBS::g1_young_card_val());
b(done, eq);
membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreLoad), tmp2);
assert(CardTableModRefBS::dirty_card_val() == 0, "adjust this code");
ldrb(tmp2, Address(card_addr));
cbz(tmp2, done);
// storing a region crossing, non-NULL oop, card is clean.
// dirty card and log.
strb(zero_register(tmp2), Address(card_addr));
ldr(tmp2, queue_index);
ldr(tmp3, buffer);
subs(tmp2, tmp2, wordSize);
b(runtime, lt); // go to runtime if now negative
str(tmp2, queue_index);
str(card_addr, Address(tmp3, tmp2));
b(done);
bind(runtime);
if (card_addr != R0) {
mov(R0, card_addr);
}
mov(R1, Rthread);
call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_post), R0, R1);
bind(done);
}
#endif // INCLUDE_ALL_GCS
//////////////////////////////////////////////////////////////////////////////////
// Java Expression Stack

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2017, 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
@ -146,27 +146,6 @@ class InterpreterMacroAssembler: public MacroAssembler {
void set_card(Register card_table_base, Address card_table_addr, Register tmp);
#if INCLUDE_ALL_GCS
// G1 pre-barrier.
// Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
// If store_addr != noreg, then previous value is loaded from [store_addr];
// in such case store_addr and new_val registers are preserved;
// otherwise pre_val register is preserved.
void g1_write_barrier_pre(Register store_addr,
Register new_val,
Register pre_val,
Register tmp1,
Register tmp2);
// G1 post-barrier.
// Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
void g1_write_barrier_post(Register store_addr,
Register new_val,
Register tmp1,
Register tmp2,
Register tmp3);
#endif // INCLUDE_ALL_GCS
void pop_ptr(Register r);
void pop_i(Register r = R0_tos);
#ifdef AARCH64

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