Remove unused classes/files from libcore
The change removes some unused classes from sun.* package.
Also, removes java/time/overview.html from openjdk_java_files.mk.
Bug: 34937610
Test: cts-tradefed run cts -m CtsLibcoreTestCases
Change-Id: I7f1b1667606ff58b9a56dca417e9cdd2428c5356
diff --git a/ojluni/src/main/java/sun/invoke/empty/Empty.java b/ojluni/src/main/java/sun/invoke/empty/Empty.java
deleted file mode 100644
index f75d2b3..0000000
--- a/ojluni/src/main/java/sun/invoke/empty/Empty.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.invoke.empty;
-
-/**
- * An empty class in an empty package.
- * Used as a proxy for unprivileged code, since making access checks
- * against it will only succeed against public methods in public types.
- * <p>
- * This class also stands (internally to sun.invoke) for the type of a
- * value that cannot be produced, because the expression of this type
- * always returns abnormally. (Cf. Nothing in the closures proposal.)
- * @author jrose
- */
-public class Empty {
- private Empty() { throw new InternalError(); }
-}
diff --git a/ojluni/src/main/java/sun/invoke/util/package-info.java b/ojluni/src/main/java/sun/invoke/util/package-info.java
deleted file mode 100644
index 785ca80..0000000
--- a/ojluni/src/main/java/sun/invoke/util/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/**
- * Extra support for using JSR 292 RI, package java.lang.invoke.
- * @author jrose
- */
-
-package sun.invoke.util;
diff --git a/ojluni/src/main/java/sun/misc/JavaSecurityProtectionDomainAccess.java b/ojluni/src/main/java/sun/misc/JavaSecurityProtectionDomainAccess.java
deleted file mode 100644
index 95560ff..0000000
--- a/ojluni/src/main/java/sun/misc/JavaSecurityProtectionDomainAccess.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sun.misc;
-
-import java.security.PermissionCollection;
-import java.security.ProtectionDomain;
-
-public interface JavaSecurityProtectionDomainAccess {
- interface ProtectionDomainCache {
- void put(ProtectionDomain pd, PermissionCollection pc);
- PermissionCollection get(ProtectionDomain pd);
- }
- /**
- * Returns the ProtectionDomainCache.
- */
- ProtectionDomainCache getProtectionDomainCache();
-}
diff --git a/ojluni/src/main/java/sun/misc/Service.java b/ojluni/src/main/java/sun/misc/Service.java
deleted file mode 100644
index 96eb20c..0000000
--- a/ojluni/src/main/java/sun/misc/Service.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.misc;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.TreeSet;
-
-
-/**
- * A simple service-provider lookup mechanism. A <i>service</i> is a
- * well-known set of interfaces and (usually abstract) classes. A <i>service
- * provider</i> is a specific implementation of a service. The classes in a
- * provider typically implement the interfaces and subclass the classes defined
- * in the service itself. Service providers may be installed in an
- * implementation of the Java platform in the form of extensions, that is, jar
- * files placed into any of the usual extension directories. Providers may
- * also be made available by adding them to the applet or application class
- * path or by some other platform-specific means.
- *
- * <p> In this lookup mechanism a service is represented by an interface or an
- * abstract class. (A concrete class may be used, but this is not
- * recommended.) A provider of a given service contains one or more concrete
- * classes that extend this <i>service class</i> with data and code specific to
- * the provider. This <i>provider class</i> will typically not be the entire
- * provider itself but rather a proxy that contains enough information to
- * decide whether the provider is able to satisfy a particular request together
- * with code that can create the actual provider on demand. The details of
- * provider classes tend to be highly service-specific; no single class or
- * interface could possibly unify them, so no such class has been defined. The
- * only requirement enforced here is that provider classes must have a
- * zero-argument constructor so that they may be instantiated during lookup.
- *
- * <p> A service provider identifies itself by placing a provider-configuration
- * file in the resource directory <tt>META-INF/services</tt>. The file's name
- * should consist of the fully-qualified name of the abstract service class.
- * The file should contain a list of fully-qualified concrete provider-class
- * names, one per line. Space and tab characters surrounding each name, as
- * well as blank lines, are ignored. The comment character is <tt>'#'</tt>
- * (<tt>0x23</tt>); on each line all characters following the first comment
- * character are ignored. The file must be encoded in UTF-8.
- *
- * <p> If a particular concrete provider class is named in more than one
- * configuration file, or is named in the same configuration file more than
- * once, then the duplicates will be ignored. The configuration file naming a
- * particular provider need not be in the same jar file or other distribution
- * unit as the provider itself. The provider must be accessible from the same
- * class loader that was initially queried to locate the configuration file;
- * note that this is not necessarily the class loader that found the file.
- *
- * <p> <b>Example:</b> Suppose we have a service class named
- * <tt>java.io.spi.CharCodec</tt>. It has two abstract methods:
- *
- * <pre>
- * public abstract CharEncoder getEncoder(String encodingName);
- * public abstract CharDecoder getDecoder(String encodingName);
- * </pre>
- *
- * Each method returns an appropriate object or <tt>null</tt> if it cannot
- * translate the given encoding. Typical <tt>CharCodec</tt> providers will
- * support more than one encoding.
- *
- * <p> If <tt>sun.io.StandardCodec</tt> is a provider of the <tt>CharCodec</tt>
- * service then its jar file would contain the file
- * <tt>META-INF/services/java.io.spi.CharCodec</tt>. This file would contain
- * the single line:
- *
- * <pre>
- * sun.io.StandardCodec # Standard codecs for the platform
- * </pre>
- *
- * To locate an encoder for a given encoding name, the internal I/O code would
- * do something like this:
- *
- * <pre>
- * CharEncoder getEncoder(String encodingName) {
- * Iterator ps = Service.providers(CharCodec.class);
- * while (ps.hasNext()) {
- * CharCodec cc = (CharCodec)ps.next();
- * CharEncoder ce = cc.getEncoder(encodingName);
- * if (ce != null)
- * return ce;
- * }
- * return null;
- * }
- * </pre>
- *
- * The provider-lookup mechanism always executes in the security context of the
- * caller. Trusted system code should typically invoke the methods in this
- * class from within a privileged security context.
- *
- * @author Mark Reinhold
- * @since 1.3
- */
-
-public final class Service {
-
- private static final String prefix = "META-INF/services/";
-
- private Service() { }
-
- private static void fail(Class service, String msg, Throwable cause)
- throws ServiceConfigurationError
- {
- ServiceConfigurationError sce
- = new ServiceConfigurationError(service.getName() + ": " + msg);
- sce.initCause(cause);
- throw sce;
- }
-
- private static void fail(Class service, String msg)
- throws ServiceConfigurationError
- {
- throw new ServiceConfigurationError(service.getName() + ": " + msg);
- }
-
- private static void fail(Class service, URL u, int line, String msg)
- throws ServiceConfigurationError
- {
- fail(service, u + ":" + line + ": " + msg);
- }
-
- /**
- * Parse a single line from the given configuration file, adding the name
- * on the line to both the names list and the returned set iff the name is
- * not already a member of the returned set.
- */
- private static int parseLine(Class service, URL u, BufferedReader r, int lc,
- List names, Set returned)
- throws IOException, ServiceConfigurationError
- {
- String ln = r.readLine();
- if (ln == null) {
- return -1;
- }
- int ci = ln.indexOf('#');
- if (ci >= 0) ln = ln.substring(0, ci);
- ln = ln.trim();
- int n = ln.length();
- if (n != 0) {
- if ((ln.indexOf(' ') >= 0) || (ln.indexOf('\t') >= 0))
- fail(service, u, lc, "Illegal configuration-file syntax");
- int cp = ln.codePointAt(0);
- if (!Character.isJavaIdentifierStart(cp))
- fail(service, u, lc, "Illegal provider-class name: " + ln);
- for (int i = Character.charCount(cp); i < n; i += Character.charCount(cp)) {
- cp = ln.codePointAt(i);
- if (!Character.isJavaIdentifierPart(cp) && (cp != '.'))
- fail(service, u, lc, "Illegal provider-class name: " + ln);
- }
- if (!returned.contains(ln)) {
- names.add(ln);
- returned.add(ln);
- }
- }
- return lc + 1;
- }
-
- /**
- * Parse the content of the given URL as a provider-configuration file.
- *
- * @param service
- * The service class for which providers are being sought;
- * used to construct error detail strings
- *
- * @param url
- * The URL naming the configuration file to be parsed
- *
- * @param returned
- * A Set containing the names of provider classes that have already
- * been returned. This set will be updated to contain the names
- * that will be yielded from the returned <tt>Iterator</tt>.
- *
- * @return A (possibly empty) <tt>Iterator</tt> that will yield the
- * provider-class names in the given configuration file that are
- * not yet members of the returned set
- *
- * @throws ServiceConfigurationError
- * If an I/O error occurs while reading from the given URL, or
- * if a configuration-file format error is detected
- */
- private static Iterator parse(Class service, URL u, Set returned)
- throws ServiceConfigurationError
- {
- InputStream in = null;
- BufferedReader r = null;
- ArrayList names = new ArrayList();
- try {
- in = u.openStream();
- r = new BufferedReader(new InputStreamReader(in, "utf-8"));
- int lc = 1;
- while ((lc = parseLine(service, u, r, lc, names, returned)) >= 0);
- } catch (IOException x) {
- fail(service, ": " + x);
- } finally {
- try {
- if (r != null) r.close();
- if (in != null) in.close();
- } catch (IOException y) {
- fail(service, ": " + y);
- }
- }
- return names.iterator();
- }
-
-
- /**
- * Private inner class implementing fully-lazy provider lookup
- */
- private static class LazyIterator implements Iterator {
-
- Class service;
- ClassLoader loader;
- Enumeration configs = null;
- Iterator pending = null;
- Set returned = new TreeSet();
- String nextName = null;
-
- private LazyIterator(Class service, ClassLoader loader) {
- this.service = service;
- this.loader = loader;
- }
-
- public boolean hasNext() throws ServiceConfigurationError {
- if (nextName != null) {
- return true;
- }
- if (configs == null) {
- try {
- String fullName = prefix + service.getName();
- if (loader == null)
- configs = ClassLoader.getSystemResources(fullName);
- else
- configs = loader.getResources(fullName);
- } catch (IOException x) {
- fail(service, ": " + x);
- }
- }
- while ((pending == null) || !pending.hasNext()) {
- if (!configs.hasMoreElements()) {
- return false;
- }
- pending = parse(service, (URL)configs.nextElement(), returned);
- }
- nextName = (String)pending.next();
- return true;
- }
-
- public Object next() throws ServiceConfigurationError {
- if (!hasNext()) {
- throw new NoSuchElementException();
- }
- String cn = nextName;
- nextName = null;
- Class<?> c = null;
- try {
- c = Class.forName(cn, false, loader);
- } catch (ClassNotFoundException x) {
- fail(service,
- "Provider " + cn + " not found");
- }
- if (!service.isAssignableFrom(c)) {
- fail(service,
- "Provider " + cn + " not a subtype");
- }
- try {
- return service.cast(c.newInstance());
- } catch (Throwable x) {
- fail(service,
- "Provider " + cn + " could not be instantiated: " + x,
- x);
- }
- return null; /* This cannot happen */
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the given class loader.
- *
- * <p> This method transforms the name of the given service class into a
- * provider-configuration filename as described above and then uses the
- * <tt>getResources</tt> method of the given class loader to find all
- * available files with that name. These files are then read and parsed to
- * produce a list of provider-class names. The iterator that is returned
- * uses the given class loader to lookup and then instantiate each element
- * of the list.
- *
- * <p> Because it is possible for extensions to be installed into a running
- * Java virtual machine, this method may return different results each time
- * it is invoked. <p>
- *
- * @param service
- * The service's abstract service class
- *
- * @param loader
- * The class loader to be used to load provider-configuration files
- * and instantiate provider classes, or <tt>null</tt> if the system
- * class loader (or, failing that the bootstrap class loader) is to
- * be used
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class)
- * @see #installedProviders(java.lang.Class)
- */
- public static Iterator providers(Class service, ClassLoader loader)
- throws ServiceConfigurationError
- {
- return new LazyIterator(service, loader);
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the context class loader. This convenience method
- * is equivalent to
- *
- * <pre>
- * ClassLoader cl = Thread.currentThread().getContextClassLoader();
- * return Service.providers(service, cl);
- * </pre>
- *
- * @param service
- * The service's abstract service class
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class, java.lang.ClassLoader)
- */
- public static Iterator providers(Class service)
- throws ServiceConfigurationError
- {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- return Service.providers(service, cl);
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the extension class loader. This convenience method
- * simply locates the extension class loader, call it
- * <tt>extClassLoader</tt>, and then does
- *
- * <pre>
- * return Service.providers(service, extClassLoader);
- * </pre>
- *
- * If the extension class loader cannot be found then the system class
- * loader is used; if there is no system class loader then the bootstrap
- * class loader is used.
- *
- * @param service
- * The service's abstract service class
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class, java.lang.ClassLoader)
- */
- public static Iterator installedProviders(Class service)
- throws ServiceConfigurationError
- {
- ClassLoader cl = ClassLoader.getSystemClassLoader();
- ClassLoader prev = null;
- while (cl != null) {
- prev = cl;
- cl = cl.getParent();
- }
- return Service.providers(service, prev);
- }
-
-}
diff --git a/ojluni/src/main/java/sun/misc/ServiceConfigurationError.java b/ojluni/src/main/java/sun/misc/ServiceConfigurationError.java
deleted file mode 100644
index 5659b23..0000000
--- a/ojluni/src/main/java/sun/misc/ServiceConfigurationError.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 1999, 2000, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.misc;
-
-
-/**
- * Error thrown when something goes wrong while looking up service providers.
- * In particular, this error will be thrown in the following situations:
- *
- * <ul>
- * <li> A concrete provider class cannot be found,
- * <li> A concrete provider class cannot be instantiated,
- * <li> The format of a provider-configuration file is illegal, or
- * <li> An IOException occurs while reading a provider-configuration file.
- * </ul>
- *
- * @author Mark Reinhold
- * @since 1.3
- */
-
-public class ServiceConfigurationError extends Error {
-
- /**
- * Constructs a new instance with the specified detail string.
- */
- public ServiceConfigurationError(String msg) {
- super(msg);
- }
-
- /**
- * Constructs a new instance that wraps the specified throwable.
- */
- public ServiceConfigurationError(Throwable x) {
- super(x);
- }
-
-}
diff --git a/ojluni/src/main/java/sun/misc/SoftCache.java b/ojluni/src/main/java/sun/misc/SoftCache.java
deleted file mode 100644
index b1d98ff..0000000
--- a/ojluni/src/main/java/sun/misc/SoftCache.java
+++ /dev/null
@@ -1,459 +0,0 @@
-/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.misc;
-
-import java.lang.ref.SoftReference;
-import java.lang.ref.ReferenceQueue;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.AbstractMap;
-import java.util.HashMap;
-import java.util.Set;
-import java.util.AbstractSet;
-import java.util.NoSuchElementException;
-
-
-/**
- * A memory-sensitive implementation of the <code>Map</code> interface.
- *
- * <p> A <code>SoftCache</code> object uses {@link java.lang.ref.SoftReference
- * soft references} to implement a memory-sensitive hash map. If the garbage
- * collector determines at a certain point in time that a value object in a
- * <code>SoftCache</code> entry is no longer strongly reachable, then it may
- * remove that entry in order to release the memory occupied by the value
- * object. All <code>SoftCache</code> objects are guaranteed to be completely
- * cleared before the virtual machine will throw an
- * <code>OutOfMemoryError</code>. Because of this automatic clearing feature,
- * the behavior of this class is somewhat different from that of other
- * <code>Map</code> implementations.
- *
- * <p> Both null values and the null key are supported. This class has the
- * same performance characteristics as the <code>HashMap</code> class, and has
- * the same efficiency parameters of <em>initial capacity</em> and <em>load
- * factor</em>.
- *
- * <p> Like most collection classes, this class is not synchronized. A
- * synchronized <code>SoftCache</code> may be constructed using the
- * <code>Collections.synchronizedMap</code> method.
- *
- * <p> In typical usage this class will be subclassed and the <code>fill</code>
- * method will be overridden. When the <code>get</code> method is invoked on a
- * key for which there is no mapping in the cache, it will in turn invoke the
- * <code>fill</code> method on that key in an attempt to construct a
- * corresponding value. If the <code>fill</code> method returns such a value
- * then the cache will be updated and the new value will be returned. Thus,
- * for example, a simple URL-content cache can be constructed as follows:
- *
- * <pre>
- * public class URLCache extends SoftCache {
- * protected Object fill(Object key) {
- * return ((URL)key).getContent();
- * }
- * }
- * </pre>
- *
- * <p> The behavior of the <code>SoftCache</code> class depends in part upon
- * the actions of the garbage collector, so several familiar (though not
- * required) <code>Map</code> invariants do not hold for this class. <p>
- * Because entries are removed from a <code>SoftCache</code> in response to
- * dynamic advice from the garbage collector, a <code>SoftCache</code> may
- * behave as though an unknown thread is silently removing entries. In
- * particular, even if you synchronize on a <code>SoftCache</code> instance and
- * invoke none of its mutator methods, it is possible for the <code>size</code>
- * method to return smaller values over time, for the <code>isEmpty</code>
- * method to return <code>false</code> and then <code>true</code>, for the
- * <code>containsKey</code> method to return <code>true</code> and later
- * <code>false</code> for a given key, for the <code>get</code> method to
- * return a value for a given key but later return <code>null</code>, for the
- * <code>put</code> method to return <code>null</code> and the
- * <code>remove</code> method to return <code>false</code> for a key that
- * previously appeared to be in the map, and for successive examinations of the
- * key set, the value set, and the entry set to yield successively smaller
- * numbers of elements.
- *
- * @author Mark Reinhold
- * @since 1.2
- * @see java.util.HashMap
- * @see java.lang.ref.SoftReference
- */
-
-
-public class SoftCache extends AbstractMap implements Map {
-
- /* The basic idea of this implementation is to maintain an internal HashMap
- that maps keys to soft references whose referents are the keys' values;
- the various accessor methods dereference these soft references before
- returning values. Because we don't have access to the innards of the
- HashMap, each soft reference must contain the key that maps to it so
- that the processQueue method can remove keys whose values have been
- discarded. Thus the HashMap actually maps keys to instances of the
- ValueCell class, which is a simple extension of the SoftReference class.
- */
-
-
- static private class ValueCell extends SoftReference {
- static private Object INVALID_KEY = new Object();
- static private int dropped = 0;
- private Object key;
-
- private ValueCell(Object key, Object value, ReferenceQueue queue) {
- super(value, queue);
- this.key = key;
- }
-
- private static ValueCell create(Object key, Object value,
- ReferenceQueue queue)
- {
- if (value == null) return null;
- return new ValueCell(key, value, queue);
- }
-
- private static Object strip(Object val, boolean drop) {
- if (val == null) return null;
- ValueCell vc = (ValueCell)val;
- Object o = vc.get();
- if (drop) vc.drop();
- return o;
- }
-
- private boolean isValid() {
- return (key != INVALID_KEY);
- }
-
- private void drop() {
- super.clear();
- key = INVALID_KEY;
- dropped++;
- }
-
- }
-
-
- /* Hash table mapping keys to ValueCells */
- private Map hash;
-
- /* Reference queue for cleared ValueCells */
- private ReferenceQueue queue = new ReferenceQueue();
-
-
- /* Process any ValueCells that have been cleared and enqueued by the
- garbage collector. This method should be invoked once by each public
- mutator in this class. We don't invoke this method in public accessors
- because that can lead to surprising ConcurrentModificationExceptions.
- */
- private void processQueue() {
- ValueCell vc;
- while ((vc = (ValueCell)queue.poll()) != null) {
- if (vc.isValid()) hash.remove(vc.key);
- else ValueCell.dropped--;
- }
- }
-
-
- /* -- Constructors -- */
-
- /**
- * Construct a new, empty <code>SoftCache</code> with the given
- * initial capacity and the given load factor.
- *
- * @param initialCapacity The initial capacity of the cache
- *
- * @param loadFactor A number between 0.0 and 1.0
- *
- * @throws IllegalArgumentException If the initial capacity is less than
- * or equal to zero, or if the load
- * factor is less than zero
- */
- public SoftCache(int initialCapacity, float loadFactor) {
- hash = new HashMap(initialCapacity, loadFactor);
- }
-
- /**
- * Construct a new, empty <code>SoftCache</code> with the given
- * initial capacity and the default load factor.
- *
- * @param initialCapacity The initial capacity of the cache
- *
- * @throws IllegalArgumentException If the initial capacity is less than
- * or equal to zero
- */
- public SoftCache(int initialCapacity) {
- hash = new HashMap(initialCapacity);
- }
-
- /**
- * Construct a new, empty <code>SoftCache</code> with the default
- * capacity and the default load factor.
- */
- public SoftCache() {
- hash = new HashMap();
- }
-
-
- /* -- Simple queries -- */
-
- /**
- * Return the number of key-value mappings in this cache. The time
- * required by this operation is linear in the size of the map.
- */
- public int size() {
- return entrySet().size();
- }
-
- /**
- * Return <code>true</code> if this cache contains no key-value mappings.
- */
- public boolean isEmpty() {
- return entrySet().isEmpty();
- }
-
- /**
- * Return <code>true</code> if this cache contains a mapping for the
- * specified key. If there is no mapping for the key, this method will not
- * attempt to construct one by invoking the <code>fill</code> method.
- *
- * @param key The key whose presence in the cache is to be tested
- */
- public boolean containsKey(Object key) {
- return ValueCell.strip(hash.get(key), false) != null;
- }
-
-
- /* -- Lookup and modification operations -- */
-
- /**
- * Create a value object for the given <code>key</code>. This method is
- * invoked by the <code>get</code> method when there is no entry for
- * <code>key</code>. If this method returns a non-<code>null</code> value,
- * then the cache will be updated to map <code>key</code> to that value,
- * and that value will be returned by the <code>get</code> method.
- *
- * <p> The default implementation of this method simply returns
- * <code>null</code> for every <code>key</code> value. A subclass may
- * override this method to provide more useful behavior.
- *
- * @param key The key for which a value is to be computed
- *
- * @return A value for <code>key</code>, or <code>null</code> if one
- * could not be computed
- * @see #get
- */
- protected Object fill(Object key) {
- return null;
- }
-
- /**
- * Return the value to which this cache maps the specified
- * <code>key</code>. If the cache does not presently contain a value for
- * this key, then invoke the <code>fill</code> method in an attempt to
- * compute such a value. If that method returns a non-<code>null</code>
- * value, then update the cache and return the new value. Otherwise,
- * return <code>null</code>.
- *
- * <p> Note that because this method may update the cache, it is considered
- * a mutator and may cause <code>ConcurrentModificationException</code>s to
- * be thrown if invoked while an iterator is in use.
- *
- * @param key The key whose associated value, if any, is to be returned
- *
- * @see #fill
- */
- public Object get(Object key) {
- processQueue();
- Object v = hash.get(key);
- if (v == null) {
- v = fill(key);
- if (v != null) {
- hash.put(key, ValueCell.create(key, v, queue));
- return v;
- }
- }
- return ValueCell.strip(v, false);
- }
-
- /**
- * Update this cache so that the given <code>key</code> maps to the given
- * <code>value</code>. If the cache previously contained a mapping for
- * <code>key</code> then that mapping is replaced and the old value is
- * returned.
- *
- * @param key The key that is to be mapped to the given
- * <code>value</code>
- * @param value The value to which the given <code>key</code> is to be
- * mapped
- *
- * @return The previous value to which this key was mapped, or
- * <code>null</code> if if there was no mapping for the key
- */
- public Object put(Object key, Object value) {
- processQueue();
- ValueCell vc = ValueCell.create(key, value, queue);
- return ValueCell.strip(hash.put(key, vc), true);
- }
-
- /**
- * Remove the mapping for the given <code>key</code> from this cache, if
- * present.
- *
- * @param key The key whose mapping is to be removed
- *
- * @return The value to which this key was mapped, or <code>null</code> if
- * there was no mapping for the key
- */
- public Object remove(Object key) {
- processQueue();
- return ValueCell.strip(hash.remove(key), true);
- }
-
- /**
- * Remove all mappings from this cache.
- */
- public void clear() {
- processQueue();
- hash.clear();
- }
-
-
- /* -- Views -- */
-
- private static boolean valEquals(Object o1, Object o2) {
- return (o1 == null) ? (o2 == null) : o1.equals(o2);
- }
-
-
- /* Internal class for entries.
- Because it uses SoftCache.this.queue, this class cannot be static.
- */
- private class Entry implements Map.Entry {
- private Map.Entry ent;
- private Object value; /* Strong reference to value, to prevent the GC
- from flushing the value while this Entry
- exists */
-
- Entry(Map.Entry ent, Object value) {
- this.ent = ent;
- this.value = value;
- }
-
- public Object getKey() {
- return ent.getKey();
- }
-
- public Object getValue() {
- return value;
- }
-
- public Object setValue(Object value) {
- return ent.setValue(ValueCell.create(ent.getKey(), value, queue));
- }
-
- public boolean equals(Object o) {
- if (! (o instanceof Map.Entry)) return false;
- Map.Entry e = (Map.Entry)o;
- return (valEquals(ent.getKey(), e.getKey())
- && valEquals(value, e.getValue()));
- }
-
- public int hashCode() {
- Object k;
- return ((((k = getKey()) == null) ? 0 : k.hashCode())
- ^ ((value == null) ? 0 : value.hashCode()));
- }
-
- }
-
-
- /* Internal class for entry sets */
- private class EntrySet extends AbstractSet {
- Set hashEntries = hash.entrySet();
-
- public Iterator iterator() {
-
- return new Iterator() {
- Iterator hashIterator = hashEntries.iterator();
- Entry next = null;
-
- public boolean hasNext() {
- while (hashIterator.hasNext()) {
- Map.Entry ent = (Map.Entry)hashIterator.next();
- ValueCell vc = (ValueCell)ent.getValue();
- Object v = null;
- if ((vc != null) && ((v = vc.get()) == null)) {
- /* Value has been flushed by GC */
- continue;
- }
- next = new Entry(ent, v);
- return true;
- }
- return false;
- }
-
- public Object next() {
- if ((next == null) && !hasNext())
- throw new NoSuchElementException();
- Entry e = next;
- next = null;
- return e;
- }
-
- public void remove() {
- hashIterator.remove();
- }
-
- };
- }
-
- public boolean isEmpty() {
- return !(iterator().hasNext());
- }
-
- public int size() {
- int j = 0;
- for (Iterator i = iterator(); i.hasNext(); i.next()) j++;
- return j;
- }
-
- public boolean remove(Object o) {
- processQueue();
- if (o instanceof Entry) return hashEntries.remove(((Entry)o).ent);
- else return false;
- }
-
- }
-
-
- private Set entrySet = null;
-
- /**
- * Return a <code>Set</code> view of the mappings in this cache.
- */
- public Set entrySet() {
- if (entrySet == null) entrySet = new EntrySet();
- return entrySet;
- }
-
-}
diff --git a/ojluni/src/main/java/sun/net/spi/nameservice/NameServiceDescriptor.java b/ojluni/src/main/java/sun/net/spi/nameservice/NameServiceDescriptor.java
deleted file mode 100644
index 6e246c5..0000000
--- a/ojluni/src/main/java/sun/net/spi/nameservice/NameServiceDescriptor.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.net.spi.nameservice;
-
-public interface NameServiceDescriptor {
- /**
- * Create a new instance of the corresponding name service.
- */
- public NameService createNameService () throws Exception ;
-
- /**
- * Returns this service provider's name
- *
- */
- public String getProviderName();
-
- /**
- * Returns this name service type
- * "dns" "nis" etc
- */
- public String getType();
-}
diff --git a/ojluni/src/main/java/sun/reflect/ConstructorAccessor.java b/ojluni/src/main/java/sun/reflect/ConstructorAccessor.java
deleted file mode 100644
index 7aac26f..0000000
--- a/ojluni/src/main/java/sun/reflect/ConstructorAccessor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.reflect;
-
-import java.lang.reflect.InvocationTargetException;
-
-/** This interface provides the declaration for
- java.lang.reflect.Constructor.invoke(). Each Constructor object is
- configured with a (possibly dynamically-generated) class which
- implements this interface. */
-
-public interface ConstructorAccessor {
- /** Matches specification in {@link java.lang.reflect.Constructor} */
- public Object newInstance(Object[] args)
- throws InstantiationException,
- IllegalArgumentException,
- InvocationTargetException;
-}
diff --git a/ojluni/src/main/java/sun/reflect/package.html b/ojluni/src/main/java/sun/reflect/package.html
deleted file mode 100644
index 7f2bb85..0000000
--- a/ojluni/src/main/java/sun/reflect/package.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<!--
-
- Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License version 2 only, as
- published by the Free Software Foundation. Oracle designates this
- particular file as subject to the "Classpath" exception as provided
- by Oracle in the LICENSE file that accompanied this code.
-
- This code is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- version 2 for more details (a copy is included in the LICENSE file that
- accompanied this code).
-
- You should have received a copy of the GNU General Public License version
- 2 along with this work; if not, write to the Free Software Foundation,
- Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- or visit www.oracle.com if you need additional information or have any
- questions.
-
--->
-</HEAD>
-<BODY BGCOLOR="white">
-<P>
-
-<B> Licensee impact of JDK 1.4 reflection changes </B>
-
-</P>
-<P>
-
-Sun's JDK 1.4 contains a new implementation of java.lang.reflect which
-offers substantially higher performance than previous JDKs' native
-code. Licensees can at their discretion port these changes. There are
-no public API or documentation changes associated with the new
-reflection implementation aside from a few minor clarifications in the
-specifications of Method.invoke(), Constructor.newInstance(), and a
-few methods in java.lang.reflect.Field.
-
-</P>
-<P>
-
-The bulk of the new implementation is Java programming language code
-which generates bytecodes, and is therefore portable. If licensees
-desire to port it, the following JVM changes are required:
-
-<OL>
-<LI> The following four new JVM entry points must be added:
-
- <UL>
- <LI> JVM_GetClassDeclaredConstructors
- <LI> JVM_GetClassDeclaredFields
- <LI> JVM_GetClassDeclaredMethods
- <LI> JVM_GetClassAccessFlags
- </UL>
-
-The first three return the declared constructors, fields, and methods
-for a given class, with an option to return only the public ones. They
-are similar in functionality to the earlier GetClassConstructors,
-GetClassFields, and GetClassMethods. JVM_GetClassDeclaredFields and
-JVM_GetClassDeclaredMethods must intern the Strings for the names of
-the Field and Method objects returned. The fouth returns the access
-flags for a given class as marked in the class file, as opposed to in
-the InnerClasses attribute if the class is an inner class, and
-therefore differs from JVM_GetClassModifiers for inner classes (most
-importantly, protected inner classes; see 4471811.)
-
-<LI> The JVM's link resolver must be modified to allow all field and
-method references from subclasses of sun.reflect.MagicAccessorImpl to
-any other class (even to private members of other classes) to
-succeed. This allows setAccessible() and its associated checks to be
-implemented in Java.
-
-<LI> The code which calls the verifier must skip verification for all
-subclasses of sun.reflect.MagicAccessorImpl. (It was originally
-intended that only a subset of the stub classes used for serialization
-would not pass the verifier, specifically, those subclassing
-SerializationConstructorAccessorImpl; see 4486457 for a case where
-this does not work.)
-
-<LI> The stack walker for security checks must be modified to skip not
-only all Method.invoke() frames, but also any frames for which the
-class is a subclass of sun.reflect.MethodAccessorImpl.
-
-<LI> The JVM entry points JVM_InvokeMethod and
-JVM_NewInstanceFromConstructor are currently still used because the
-first invocation of the bytecode-based reflection is currently slower
-than the original native code. The security checks they perform can,
-however, be disabled, as they are now performed by Java programming
-language code.
-
-</OL>
-
-</P>
-<P>
-
-The following changes were discovered to be necessary for backward
-compatibility with certain applications (see bug 4474172):
-
-<OL>
-
-<LI> The existing JVM entry point JVM_LatestUserDefinedLoader
-(typically used in applications which rely on the 1.1 security
-framework) must skip reflection-related frames in its stack walk:
-specifically all frames associated with subclasses of
-sun.reflect.MethodAccessorImpl and
-sun.reflect.ConstructorAccessorImpl.
-
-<LI> The new reflection implementation can cause class loading to
-occur in previously-unexpected places (namely during reflective
-calls). This can cause class loaders which contain subtle bugs to
-break. In general it is not possible to guarantee complete backward
-bug compatibility, but one kind of bug has been observed more than
-once: the inability of a user-defined loader to handle delegation to
-it for a class it has already loaded. The new reflection
-implementation is predicated on delegation working properly, as it
-loads stub classes into newly-fabricated class loaders of type
-sun.reflect.DelegatingClassLoader, one stub class per loader, to allow
-unloading of the stub classes to occur more quickly. To handle this
-kind of bug, the JVM's internal class lookup mechanism must be
-slightly modified to check for instances of
-sun.reflect.DelegatingClassLoader as the incoming class loader and
-silently traverse the "parent" field once for such loaders before
-entering the bulk of the resolution code. This avoids an upcall to
-Java programming language code which certain loaders can not handle.
-
-</OL>
-
-</P>
-<P>
-
-The following JVM entry points may be deleted:
-
-<UL>
-<LI> JVM_GetClassFields
-<LI> JVM_GetClassMethods
-<LI> JVM_GetClassConstructors
-<LI> JVM_GetClassField
-<LI> JVM_GetClassMethod
-<LI> JVM_GetClassConstructor
-<LI> JVM_NewInstance
-<LI> JVM_GetField
-<LI> JVM_GetPrimitiveField
-<LI> JVM_SetField
-<LI> JVM_SetPrimitiveField
-</UL>
-
-</P>
-<P>
-
-To keep using the previous reflection implementation, licensees should
-not take changes from Sun's JDK 1.4 relating specifically to the
-implementation of reflection in the following classes/methods and
-any associated native code:
-
-<UL>
-<LI> java.lang.Class.newInstance0
-<LI> java.lang.Class.getClassLoader0
-<LI> java.lang.Class.getFields
-<LI> java.lang.Class.getMethods
-<LI> java.lang.Class.getDeclaredFields
-<LI> java.lang.Class.getDeclaredMethods
-<LI> java.lang.Class.getFields0
-<LI> java.lang.Class.getMethods0
-<LI> java.lang.Class.getConstructors0
-<LI> java.lang.Class.getField0
-<LI> java.lang.Class.getMethod0
-<LI> java.lang.Class.getConstructor0
-<LI> java.lang.ClassLoader.getCallerClassLoader
-<LI> java.lang.System.getCallerClass
-<LI> java.lang.reflect.AccessibleObject
-<LI> java.lang.reflect.Constructor
-<LI> java.lang.reflect.Field
-<LI> java.lang.reflect.Method
-<LI> java.lang.reflect.Modifier
-<LI> sun.misc.ClassReflector
-</UL>
-
-</P>
-<!-- Begin ANDROID changed -->
-</BODY>
-<!-- End ANDROID changed -->
-</HTML>
diff --git a/ojluni/src/main/java/sun/security/action/LoadLibraryAction.java b/ojluni/src/main/java/sun/security/action/LoadLibraryAction.java
deleted file mode 100644
index c351015..0000000
--- a/ojluni/src/main/java/sun/security/action/LoadLibraryAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.security.action;
-
-/**
- * A convenience class for loading a system library as a privileged action.
- *
- * <p>An instance of this class can be used as the argument of
- * <code>AccessController.doPrivileged</code>.
- *
- * <p>The following code attempts to load the system library named
- * <code>"lib"</code> as a privileged action: <p>
- *
- * <pre>
- * java.security.AccessController.doPrivileged(new LoadLibraryAction("lib"));
- * </pre>
- *
- * @author Roland Schemers
- * @see java.security.PrivilegedAction
- * @see java.security.AccessController
- * @since 1.2
- */
-
-public class LoadLibraryAction implements java.security.PrivilegedAction<Void> {
- private String theLib;
-
- /**
- * Constructor that takes the name of the system library that needs to be
- * loaded.
- *
- * <p>The manner in which a library name is mapped to the
- * actual system library is system dependent.
- *
- * @param theLib the name of the library.
- */
- public LoadLibraryAction(String theLib) {
- this.theLib = theLib;
- }
-
- /**
- * Loads the system library whose name was specified in the constructor.
- */
- public Void run() {
- System.loadLibrary(theLib);
- return null;
- }
-}
diff --git a/ojluni/src/main/java/sun/util/calendar/TzIDOldMapping.java b/ojluni/src/main/java/sun/util/calendar/TzIDOldMapping.java
deleted file mode 100644
index 4f23007..0000000
--- a/ojluni/src/main/java/sun/util/calendar/TzIDOldMapping.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.util.calendar;
-
-import java.util.Map;
-import java.util.HashMap;
-
-class TzIDOldMapping {
- static final Map<String, String> MAP = new HashMap<String, String>();
- static {
- String[][] oldmap = {
- { "ACT", "Australia/Darwin" },
- { "AET", "Australia/Sydney" },
- { "AGT", "America/Argentina/Buenos_Aires" },
- { "ART", "Africa/Cairo" },
- { "AST", "America/Anchorage" },
- { "BET", "America/Sao_Paulo" },
- { "BST", "Asia/Dhaka" },
- { "CAT", "Africa/Harare" },
- { "CNT", "America/St_Johns" },
- { "CST", "America/Chicago" },
- { "CTT", "Asia/Shanghai" },
- { "EAT", "Africa/Addis_Ababa" },
- { "ECT", "Europe/Paris" },
- { "EST", "America/New_York" },
- { "HST", "Pacific/Honolulu" },
- { "IET", "America/Indianapolis" },
- { "IST", "Asia/Calcutta" },
- { "JST", "Asia/Tokyo" },
- { "MIT", "Pacific/Apia" },
- { "MST", "America/Denver" },
- { "NET", "Asia/Yerevan" },
- { "NST", "Pacific/Auckland" },
- { "PLT", "Asia/Karachi" },
- { "PNT", "America/Phoenix" },
- { "PRT", "America/Puerto_Rico" },
- { "PST", "America/Los_Angeles" },
- { "SST", "Pacific/Guadalcanal" },
- { "VST", "Asia/Saigon" },
- };
- for (String[] pair : oldmap) {
- MAP.put(pair[0], pair[1]);
- }
- }
-}
diff --git a/openjdk_java_files.mk b/openjdk_java_files.mk
index a64b131..50c4b84 100644
--- a/openjdk_java_files.mk
+++ b/openjdk_java_files.mk
@@ -800,7 +800,6 @@
ojluni/src/main/java/java/time/Duration.java \
ojluni/src/main/java/java/time/LocalDateTime.java \
ojluni/src/main/java/java/time/OffsetDateTime.java \
- ojluni/src/main/java/java/time/overview.html \
ojluni/src/main/java/java/time/Instant.java \
ojluni/src/main/java/java/time/temporal/ValueRange.java \
ojluni/src/main/java/java/time/temporal/TemporalAmount.java \
@@ -1357,7 +1356,6 @@
ojluni/src/main/java/jdk/net/NetworkPermission.java \
ojluni/src/main/java/jdk/net/SocketFlow.java \
ojluni/src/main/java/jdk/net/Sockets.java \
- ojluni/src/main/java/sun/invoke/empty/Empty.java \
ojluni/src/main/java/sun/invoke/util/BytecodeDescriptor.java \
ojluni/src/main/java/sun/invoke/util/Wrapper.java \
ojluni/src/main/java/sun/invoke/util/VerifyAccess.java \
@@ -1381,7 +1379,6 @@
ojluni/src/main/java/sun/misc/IOUtils.java \
ojluni/src/main/java/sun/misc/JarIndex.java \
ojluni/src/main/java/sun/misc/JavaIOFileDescriptorAccess.java \
- ojluni/src/main/java/sun/misc/JavaSecurityProtectionDomainAccess.java \
ojluni/src/main/java/sun/misc/LRUCache.java \
ojluni/src/main/java/sun/misc/MessageUtils.java \
ojluni/src/main/java/sun/misc/MetaIndex.java \
@@ -1389,10 +1386,7 @@
ojluni/src/main/java/sun/misc/RegexpPool.java \
ojluni/src/main/java/sun/misc/RegexpTarget.java \
ojluni/src/main/java/sun/misc/Resource.java \
- ojluni/src/main/java/sun/misc/ServiceConfigurationError.java \
ojluni/src/main/java/sun/misc/SharedSecrets.java \
- ojluni/src/main/java/sun/misc/Service.java \
- ojluni/src/main/java/sun/misc/SoftCache.java \
ojluni/src/main/java/sun/misc/URLClassPath.java \
ojluni/src/main/java/sun/misc/Unsafe.java \
ojluni/src/main/java/sun/misc/Version.java \
@@ -1420,7 +1414,6 @@
ojluni/src/main/java/sun/net/ResourceManager.java \
ojluni/src/main/java/sun/net/SocksProxy.java \
ojluni/src/main/java/sun/net/spi/DefaultProxySelector.java \
- ojluni/src/main/java/sun/net/spi/nameservice/NameServiceDescriptor.java \
ojluni/src/main/java/sun/net/spi/nameservice/NameService.java \
ojluni/src/main/java/sun/net/TelnetInputStream.java \
ojluni/src/main/java/sun/net/TelnetOutputStream.java \
@@ -1556,13 +1549,11 @@
ojluni/src/main/java/sun/nio/fs/UnixUriUtils.java \
ojluni/src/main/java/sun/nio/fs/UnixUserPrincipals.java \
ojluni/src/main/java/sun/nio/fs/Util.java \
- ojluni/src/main/java/sun/reflect/ConstructorAccessor.java \
ojluni/src/main/java/sun/reflect/misc/ReflectUtil.java \
ojluni/src/main/java/sun/reflect/Reflection.java \
ojluni/src/main/java/sun/security/action/GetBooleanAction.java \
ojluni/src/main/java/sun/security/action/GetIntegerAction.java \
ojluni/src/main/java/sun/security/action/GetPropertyAction.java \
- ojluni/src/main/java/sun/security/action/LoadLibraryAction.java \
ojluni/src/main/java/sun/security/jca/GetInstance.java \
ojluni/src/main/java/sun/security/jca/JCAUtil.java \
ojluni/src/main/java/sun/security/jca/ProviderConfig.java \
@@ -1721,7 +1712,6 @@
ojluni/src/main/java/sun/util/calendar/ImmutableGregorianDate.java \
ojluni/src/main/java/sun/util/calendar/JulianCalendar.java \
ojluni/src/main/java/sun/util/calendar/LocalGregorianCalendar.java \
- ojluni/src/main/java/sun/util/calendar/TzIDOldMapping.java \
ojluni/src/main/java/sun/util/locale/BaseLocale.java \
ojluni/src/main/java/sun/util/locale/Extension.java \
ojluni/src/main/java/sun/util/locale/InternalLocaleBuilder.java \