Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjfrijters <jfrijters>2011-07-01 12:56:51 +0400
committerjfrijters <jfrijters>2011-07-01 12:56:51 +0400
commitdcb3e8451e9a8beea33812a89edd92988e955cb1 (patch)
tree656945537bb8f5b2b1335eda06abfe7fcc9b26cf
parentad26a54629735de7e5a76e34a786da963188f5d8 (diff)
Updated java.io package to OpenJDK 7.
-rw-r--r--openjdk/allsources.lst264
-rw-r--r--openjdk/java/io/DeleteOnExitHook.java79
-rw-r--r--openjdk/java/io/FilePermission.java839
-rw-r--r--openjdk/java/lang/Shutdown.java10
-rw-r--r--openjdk/map.xml9
-rw-r--r--openjdk/response.txt48
-rw-r--r--openjdk/sun/misc/SharedSecrets.java22
-rw-r--r--openjdk/sun/misc/Unsafe.java8
8 files changed, 224 insertions, 1055 deletions
diff --git a/openjdk/allsources.lst b/openjdk/allsources.lst
index 01c3cd12..406fb5f1 100644
--- a/openjdk/allsources.lst
+++ b/openjdk/allsources.lst
@@ -53,11 +53,9 @@ java/awt/Image.java
java/awt/image/BufferedImage.java
java/awt/image/ColorConvertOp.java
java/awt/image/IndexColorModel.java
-java/io/DeleteOnExitHook.java
java/io/FileDescriptor.java
java/io/FileInputStream.java
java/io/FileOutputStream.java
-java/io/FilePermission.java
java/io/InteropObjectInputStream.java
java/io/InteropObjectOutputStream.java
java/io/ObjectStreamClass.java
@@ -199,6 +197,8 @@ sun/nio/ch/ServerSocketChannelImpl.java
sun/nio/ch/SocketChannelImpl.java
sun/nio/ch/Util.java
sun/nio/cs/StandardCharsets.java
+sun/nio/fs/DefaultFileSystemProvider.java
+sun/nio/fs/DefaultFileTypeDetector.java
sun/print/PrintPeer.java
sun/print/UnixPrintServiceLookup.java
sun/print/Win32PrintJob.java
@@ -7673,6 +7673,10 @@ sun/security/jgss/wrapper/SunNativeProvider.java
@OPENJDK6@/jdk/src/share/classes/com/sun/net/ssl/TrustManagerFactorySpi.java
@OPENJDK6@/jdk/src/share/classes/com/sun/net/ssl/X509KeyManager.java
@OPENJDK6@/jdk/src/share/classes/com/sun/net/ssl/X509TrustManager.java
+@OPENJDK7@/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java
+@OPENJDK7@/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java
+@OPENJDK7@/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java
+@OPENJDK7@/jdk/src/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java
@OPENJDK6@/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java
@OPENJDK6@/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java
@OPENJDK6@/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java
@@ -8427,81 +8431,83 @@ sun/security/jgss/wrapper/SunNativeProvider.java
@OPENJDK6@/jdk/src/share/classes/java/beans/Visibility.java
@OPENJDK6@/jdk/src/share/classes/java/beans/XMLDecoder.java
@OPENJDK6@/jdk/src/share/classes/java/beans/XMLEncoder.java
-@OPENJDK6@/jdk/src/share/classes/java/io/Bits.java
-@OPENJDK6@/jdk/src/share/classes/java/io/BufferedInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/BufferedOutputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/BufferedReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/BufferedWriter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ByteArrayInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ByteArrayOutputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/CharArrayReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/CharArrayWriter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/CharConversionException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/Bits.java
+@OPENJDK7@/jdk/src/share/classes/java/io/BufferedInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/BufferedOutputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/BufferedReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/BufferedWriter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ByteArrayInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ByteArrayOutputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/CharArrayReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/CharArrayWriter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/CharConversionException.java
@OPENJDK7@/jdk/src/share/classes/java/io/Closeable.java
-@OPENJDK6@/jdk/src/share/classes/java/io/Console.java
-@OPENJDK6@/jdk/src/share/classes/java/io/DataInput.java
-@OPENJDK6@/jdk/src/share/classes/java/io/DataInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/DataOutput.java
-@OPENJDK6@/jdk/src/share/classes/java/io/DataOutputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/EOFException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ExpiringCache.java
-@OPENJDK6@/jdk/src/share/classes/java/io/Externalizable.java
-@OPENJDK6@/jdk/src/share/classes/java/io/File.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FileFilter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FilenameFilter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FileNotFoundException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FileReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FileSystem.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FileWriter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FilterInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FilterOutputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FilterReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/FilterWriter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/Flushable.java
-@OPENJDK6@/jdk/src/share/classes/java/io/InputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/InputStreamReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/InterruptedIOException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/InvalidClassException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/InvalidObjectException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/IOError.java
-@OPENJDK6@/jdk/src/share/classes/java/io/IOException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/LineNumberInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/LineNumberReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/NotActiveException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/NotSerializableException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ObjectInput.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ObjectInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ObjectInputValidation.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ObjectOutput.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ObjectOutputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ObjectStreamConstants.java
-@OPENJDK6@/jdk/src/share/classes/java/io/ObjectStreamException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/OptionalDataException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/OutputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/OutputStreamWriter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/PipedInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/PipedOutputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/PipedReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/PipedWriter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/PrintStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/PrintWriter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/PushbackInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/PushbackReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/Reader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/SequenceInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/SerialCallbackContext.java
-@OPENJDK6@/jdk/src/share/classes/java/io/Serializable.java
-@OPENJDK6@/jdk/src/share/classes/java/io/SerializablePermission.java
-@OPENJDK6@/jdk/src/share/classes/java/io/StreamCorruptedException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/StreamTokenizer.java
-@OPENJDK6@/jdk/src/share/classes/java/io/StringBufferInputStream.java
-@OPENJDK6@/jdk/src/share/classes/java/io/StringReader.java
-@OPENJDK6@/jdk/src/share/classes/java/io/StringWriter.java
-@OPENJDK6@/jdk/src/share/classes/java/io/SyncFailedException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/UnsupportedEncodingException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/UTFDataFormatException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/WriteAbortedException.java
-@OPENJDK6@/jdk/src/share/classes/java/io/Writer.java
+@OPENJDK7@/jdk/src/share/classes/java/io/Console.java
+@OPENJDK7@/jdk/src/share/classes/java/io/DataInput.java
+@OPENJDK7@/jdk/src/share/classes/java/io/DataInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/DataOutput.java
+@OPENJDK7@/jdk/src/share/classes/java/io/DataOutputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/DeleteOnExitHook.java
+@OPENJDK7@/jdk/src/share/classes/java/io/EOFException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ExpiringCache.java
+@OPENJDK7@/jdk/src/share/classes/java/io/Externalizable.java
+@OPENJDK7@/jdk/src/share/classes/java/io/File.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FileFilter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FilenameFilter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FileNotFoundException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FilePermission.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FileReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FileSystem.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FileWriter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FilterInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FilterOutputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FilterReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/FilterWriter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/Flushable.java
+@OPENJDK7@/jdk/src/share/classes/java/io/InputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/InputStreamReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/InterruptedIOException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/InvalidClassException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/InvalidObjectException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/IOError.java
+@OPENJDK7@/jdk/src/share/classes/java/io/IOException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/LineNumberInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/LineNumberReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/NotActiveException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/NotSerializableException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ObjectInput.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ObjectInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ObjectInputValidation.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ObjectOutput.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ObjectOutputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ObjectStreamConstants.java
+@OPENJDK7@/jdk/src/share/classes/java/io/ObjectStreamException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/OptionalDataException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/OutputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/OutputStreamWriter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/PipedInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/PipedOutputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/PipedReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/PipedWriter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/PrintStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/PrintWriter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/PushbackInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/PushbackReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/Reader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/SequenceInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/SerialCallbackContext.java
+@OPENJDK7@/jdk/src/share/classes/java/io/Serializable.java
+@OPENJDK7@/jdk/src/share/classes/java/io/SerializablePermission.java
+@OPENJDK7@/jdk/src/share/classes/java/io/StreamCorruptedException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/StreamTokenizer.java
+@OPENJDK7@/jdk/src/share/classes/java/io/StringBufferInputStream.java
+@OPENJDK7@/jdk/src/share/classes/java/io/StringReader.java
+@OPENJDK7@/jdk/src/share/classes/java/io/StringWriter.java
+@OPENJDK7@/jdk/src/share/classes/java/io/SyncFailedException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/UnsupportedEncodingException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/UTFDataFormatException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/WriteAbortedException.java
+@OPENJDK7@/jdk/src/share/classes/java/io/Writer.java
@OPENJDK7@/jdk/src/share/classes/java/lang/AbstractMethodError.java
@OPENJDK7@/jdk/src/share/classes/java/lang/AbstractStringBuilder.java
@OPENJDK7@/jdk/src/share/classes/java/lang/annotation/Annotation.java
@@ -8735,9 +8741,12 @@ sun/security/jgss/wrapper/SunNativeProvider.java
@OPENJDK6@/jdk/src/share/classes/java/net/URLStreamHandlerFactory.java
@OPENJDK6@/jdk/src/share/classes/java/nio/Buffer.java
@OPENJDK6@/jdk/src/share/classes/java/nio/ByteOrder.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/channels/AsynchronousChannel.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/ByteChannel.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/Channel.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/Channels.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/channels/CompletionHandler.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/DatagramChannel.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/FileChannel.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/FileLock.java
@@ -8746,6 +8755,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/Pipe.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/ReadableByteChannel.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/ScatteringByteChannel.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/channels/SeekableByteChannel.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/SelectableChannel.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/SelectionKey.java
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/Selector.java
@@ -8764,6 +8774,82 @@ sun/security/jgss/wrapper/SunNativeProvider.java
@OPENJDK6@/jdk/src/share/classes/java/nio/charset/MalformedInputException.java
@OPENJDK6@/jdk/src/share/classes/java/nio/charset/spi/CharsetProvider.java
@OPENJDK6@/jdk/src/share/classes/java/nio/charset/UnmappableCharacterException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/AccessDeniedException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/AccessMode.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/AtomicMoveNotSupportedException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/ClosedDirectoryStreamException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/ClosedFileSystemException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/ClosedWatchServiceException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/CopyOption.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/DirectoryIteratorException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/DirectoryNotEmptyException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/DirectoryStream.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileAlreadyExistsException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/Files.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileStore.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileSystem.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileSystemAlreadyExistsException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileSystemException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileSystemLoopException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileSystemNotFoundException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileSystems.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileTreeWalker.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileVisitOption.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileVisitor.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/FileVisitResult.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/InvalidPathException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/LinkOption.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/LinkPermission.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/NoSuchFileException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/NotDirectoryException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/NotLinkException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/OpenOption.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/package-info.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/Path.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/PathMatcher.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/Paths.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/ProviderMismatchException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/ProviderNotFoundException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/ReadOnlyFileSystemException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/SecureDirectoryStream.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/SimpleFileVisitor.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/StandardCopyOption.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/StandardOpenOption.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/StandardWatchEventKinds.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/TempFileHelper.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/Watchable.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/WatchEvent.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/WatchKey.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/WatchService.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/AclEntryFlag.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/AclEntryPermission.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/AclEntryType.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/AttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributes.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/DosFileAttributes.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/FileAttribute.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/FileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/FileOwnerAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/FileStoreAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/FileTime.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/GroupPrincipal.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/package-info.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/PosixFileAttributes.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/PosixFilePermission.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/PosixFilePermissions.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/UserPrincipal.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/UserPrincipalLookupService.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/UserPrincipalNotFoundException.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/spi/FileTypeDetector.java
+@OPENJDK7@/jdk/src/share/classes/java/nio/file/spi/package-info.java
@OPENJDK6@/jdk/src/share/classes/java/nio/MappedByteBuffer.java
@OPENJDK6@/jdk/src/share/classes/java/nio/StringCharBuffer.java
@OPENJDK6@/jdk/src/share/classes/java/rmi/AccessException.java
@@ -9156,7 +9242,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java
@OPENJDK6@/jdk/src/share/classes/java/util/concurrent/ThreadPoolExecutor.java
@OPENJDK6@/jdk/src/share/classes/java/util/concurrent/TimeoutException.java
@OPENJDK6@/jdk/src/share/classes/java/util/concurrent/TimeUnit.java
-@OPENJDK6@/jdk/src/share/classes/java/util/ConcurrentModificationException.java
+@OPENJDK7@/jdk/src/share/classes/java/util/ConcurrentModificationException.java
@OPENJDK6@/jdk/src/share/classes/java/util/Currency.java
@OPENJDK6@/jdk/src/share/classes/java/util/Date.java
@OPENJDK6@/jdk/src/share/classes/java/util/Deque.java
@@ -11360,9 +11446,8 @@ sun/security/jgss/wrapper/SunNativeProvider.java
@OPENJDK6@/jdk/src/share/classes/sun/misc/IOUtils.java
@OPENJDK6@/jdk/src/share/classes/sun/misc/JarFilter.java
@OPENJDK6@/jdk/src/share/classes/sun/misc/JarIndex.java
-@OPENJDK6@/jdk/src/share/classes/sun/misc/JavaIOAccess.java
-@OPENJDK6@/jdk/src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java
-@OPENJDK6@/jdk/src/share/classes/sun/misc/JavaIOFileDescriptorAccess.java
+@OPENJDK7@/jdk/src/share/classes/sun/misc/JavaIOAccess.java
+@OPENJDK7@/jdk/src/share/classes/sun/misc/JavaIOFileDescriptorAccess.java
@OPENJDK7@/jdk/src/share/classes/sun/misc/JavaLangAccess.java
@OPENJDK6@/jdk/src/share/classes/sun/misc/JavaNetAccess.java
@OPENJDK6@/jdk/src/share/classes/sun/misc/JavaSecurityAccess.java
@@ -11748,6 +11833,25 @@ sun/security/jgss/wrapper/SunNativeProvider.java
@OPENJDK6@/jdk/src/share/classes/sun/nio/cs/UTF_32LE.java
@OPENJDK6@/jdk/src/share/classes/sun/nio/cs/UTF_32LE_BOM.java
@OPENJDK6@/jdk/src/share/classes/sun/nio/cs/UTF_8.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractFileSystemProvider.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractPath.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/BasicFileAttributesHolder.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/Cancellable.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/DynamicFileAttributeView.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/Globs.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/NativeBuffer.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/NativeBuffers.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/Reflect.java
+@OPENJDK7@/jdk/src/share/classes/sun/nio/fs/Util.java
@OPENJDK6@/jdk/src/share/classes/sun/print/AttributeUpdater.java
@OPENJDK6@/jdk/src/share/classes/sun/print/BackgroundLookupListener.java
@OPENJDK6@/jdk/src/share/classes/sun/print/BackgroundServiceLookup.java
diff --git a/openjdk/java/io/DeleteOnExitHook.java b/openjdk/java/io/DeleteOnExitHook.java
deleted file mode 100644
index a9ddaac9..00000000
--- a/openjdk/java/io/DeleteOnExitHook.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package java.io;
-
-import java.util.*;
-import java.io.File;
-
-/**
- * This class holds a set of filenames to be deleted on VM exit through a shutdown hook.
- * A set is used both to prevent double-insertion of the same file as well as offer
- * quick removal.
- */
-
-class DeleteOnExitHook {
- private static DeleteOnExitHook instance = null;
-
- private static LinkedHashSet<String> files = new LinkedHashSet<String>();
-
- static {
- // [IKVM] make sure that we are registered with the shutdown process
- Shutdown.init();
- }
-
- static DeleteOnExitHook hook() {
- if (instance == null)
- instance = new DeleteOnExitHook();
-
- return instance;
- }
-
- private DeleteOnExitHook() {}
-
- static synchronized void add(String file) {
- if(files == null)
- throw new IllegalStateException("Shutdown in progress");
-
- files.add(file);
- }
-
- void run() {
- LinkedHashSet<String> theFiles;
-
- synchronized (DeleteOnExitHook.class) {
- theFiles = files;
- files = null;
- }
-
- ArrayList<String> toBeDeleted = new ArrayList<String>(theFiles);
-
- // reverse the list to maintain previous jdk deletion order.
- // Last in first deleted.
- Collections.reverse(toBeDeleted);
- for (String filename : toBeDeleted) {
- (new File(filename)).delete();
- }
- }
-}
diff --git a/openjdk/java/io/FilePermission.java b/openjdk/java/io/FilePermission.java
deleted file mode 100644
index fac9686d..00000000
--- a/openjdk/java/io/FilePermission.java
+++ /dev/null
@@ -1,839 +0,0 @@
-/*
- * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package java.io;
-
-import java.security.*;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import java.util.Vector;
-import java.util.Collections;
-import java.io.ObjectStreamField;
-import java.io.ObjectOutputStream;
-import java.io.ObjectInputStream;
-import java.io.IOException;
-import sun.security.util.SecurityConstants;
-
-/**
- * This class represents access to a file or directory. A FilePermission consists
- * of a pathname and a set of actions valid for that pathname.
- * <P>
- * Pathname is the pathname of the file or directory granted the specified
- * actions. A pathname that ends in "/*" (where "/" is
- * the file separator character, <code>File.separatorChar</code>) indicates
- * all the files and directories contained in that directory. A pathname
- * that ends with "/-" indicates (recursively) all files
- * and subdirectories contained in that directory. A pathname consisting of
- * the special token "&lt;&lt;ALL FILES&gt;&gt;" matches <b>any</b> file.
- * <P>
- * Note: A pathname consisting of a single "*" indicates all the files
- * in the current directory, while a pathname consisting of a single "-"
- * indicates all the files in the current directory and
- * (recursively) all files and subdirectories contained in the current
- * directory.
- * <P>
- * The actions to be granted are passed to the constructor in a string containing
- * a list of one or more comma-separated keywords. The possible keywords are
- * "read", "write", "execute", and "delete". Their meaning is defined as follows:
- * <P>
- * <DL>
- * <DT> read <DD> read permission
- * <DT> write <DD> write permission
- * <DT> execute
- * <DD> execute permission. Allows <code>Runtime.exec</code> to
- * be called. Corresponds to <code>SecurityManager.checkExec</code>.
- * <DT> delete
- * <DD> delete permission. Allows <code>File.delete</code> to
- * be called. Corresponds to <code>SecurityManager.checkDelete</code>.
- * </DL>
- * <P>
- * The actions string is converted to lowercase before processing.
- * <P>
- * Be careful when granting FilePermissions. Think about the implications
- * of granting read and especially write access to various files and
- * directories. The "&lt;&lt;ALL FILES>>" permission with write action is
- * especially dangerous. This grants permission to write to the entire
- * file system. One thing this effectively allows is replacement of the
- * system binary, including the JVM runtime environment.
- *
- * <p>Please note: Code can always read a file from the same
- * directory it's in (or a subdirectory of that directory); it does not
- * need explicit permission to do so.
- *
- * @see java.security.Permission
- * @see java.security.Permissions
- * @see java.security.PermissionCollection
- *
- *
- * @author Marianne Mueller
- * @author Roland Schemers
- * @since 1.2
- *
- * @serial exclude
- */
-
-public final class FilePermission extends Permission implements Serializable {
-
- /**
- * Execute action.
- */
- private final static int EXECUTE = 0x1;
- /**
- * Write action.
- */
- private final static int WRITE = 0x2;
- /**
- * Read action.
- */
- private final static int READ = 0x4;
- /**
- * Delete action.
- */
- private final static int DELETE = 0x8;
-
- /**
- * All actions (read,write,execute,delete)
- */
- private final static int ALL = READ|WRITE|EXECUTE|DELETE;
- /**
- * No actions.
- */
- private final static int NONE = 0x0;
-
- // the actions mask
- private transient int mask;
-
- // does path indicate a directory? (wildcard or recursive)
- private transient boolean directory;
-
- // is it a recursive directory specification?
- private transient boolean recursive;
-
- /**
- * the actions string.
- *
- * @serial
- */
- private String actions; // Left null as long as possible, then
- // created and re-used in the getAction function.
-
- // canonicalized dir path. In the case of
- // directories, it is the name "/blah/*" or "/blah/-" without
- // the last character (the "*" or "-").
-
- private transient String cpath;
-
- // static Strings used by init(int mask)
- private static final char RECURSIVE_CHAR = '-';
- private static final char WILD_CHAR = '*';
-
-/*
- public String toString()
- {
- StringBuffer sb = new StringBuffer();
- sb.append("***\n");
- sb.append("cpath = "+cpath+"\n");
- sb.append("mask = "+mask+"\n");
- sb.append("actions = "+getActions()+"\n");
- sb.append("directory = "+directory+"\n");
- sb.append("recursive = "+recursive+"\n");
- sb.append("***\n");
- return sb.toString();
- }
-*/
-
- private static final long serialVersionUID = 7930732926638008763L;
-
- /**
- * initialize a FilePermission object. Common to all constructors.
- * Also called during de-serialization.
- *
- * @param mask the actions mask to use.
- *
- */
- private void init(int mask)
- {
-
- if ((mask & ALL) != mask)
- throw new IllegalArgumentException("invalid actions mask");
-
- if (mask == NONE)
- throw new IllegalArgumentException("invalid actions mask");
-
- if ((cpath = getName()) == null)
- throw new NullPointerException("name can't be null");
-
- this.mask = mask;
-
- if (cpath.equals("<<ALL FILES>>")) {
- directory = true;
- recursive = true;
- cpath = "";
- return;
- }
-
- // store only the canonical cpath if possible
- cpath = AccessController.doPrivileged(new PrivilegedAction<String>() {
- public String run() {
- try {
- return canonPath(cpath);
- } catch (IOException ioe) {
- return cpath;
- }
- }
- });
-
- int len = cpath.length();
- char last = ((len > 0) ? cpath.charAt(len - 1) : 0);
-
- if (last == RECURSIVE_CHAR &&
- cpath.charAt(len - 2) == File.separatorChar) {
- directory = true;
- recursive = true;
- cpath = cpath.substring(0, --len);
- } else if (last == WILD_CHAR &&
- cpath.charAt(len - 2) == File.separatorChar) {
- directory = true;
- //recursive = false;
- cpath = cpath.substring(0, --len);
- } else {
- // overkill since they are initialized to false, but
- // commented out here to remind us...
- //directory = false;
- //recursive = false;
- }
-
- // XXX: at this point the path should be absolute. die if it isn't?
- }
-
- // IKVM copied from sun.security.provider.PolicyFile to remove unnecessary dependency
- private static String canonPath(String path) throws IOException {
-
- if (path.endsWith("*")) {
-
- path = path.substring(0, path.length()-1) + "-";
-
- path = new File(path).getCanonicalPath();
-
- return path.substring(0, path.length()-1) + "*";
-
- } else {
-
- return new File(path).getCanonicalPath();
-
- }
-
- }
-
-
- /**
- * Creates a new FilePermission object with the specified actions.
- * <i>path</i> is the pathname of a file or directory, and <i>actions</i>
- * contains a comma-separated list of the desired actions granted on the
- * file or directory. Possible actions are
- * "read", "write", "execute", and "delete".
- *
- * <p>A pathname that ends in "/*" (where "/" is
- * the file separator character, <code>File.separatorChar</code>)
- * indicates all the files and directories contained in that directory.
- * A pathname that ends with "/-" indicates (recursively) all files and
- * subdirectories contained in that directory. The special pathname
- * "&lt;&lt;ALL FILES&gt;&gt;" matches any file.
- *
- * <p>A pathname consisting of a single "*" indicates all the files
- * in the current directory, while a pathname consisting of a single "-"
- * indicates all the files in the current directory and
- * (recursively) all files and subdirectories contained in the current
- * directory.
- *
- * <p>A pathname containing an empty string represents an empty path.
- *
- * @param path the pathname of the file/directory.
- * @param actions the action string.
- *
- * @throws IllegalArgumentException
- * If actions is <code>null</code>, empty or contains an action
- * other than the specified possible actions.
- */
-
- public FilePermission(String path, String actions)
- {
- super(path);
- init(getMask(actions));
- }
-
- /**
- * Creates a new FilePermission object using an action mask.
- * More efficient than the FilePermission(String, String) constructor.
- * Can be used from within
- * code that needs to create a FilePermission object to pass into the
- * <code>implies</code> method.
- *
- * @param path the pathname of the file/directory.
- * @param mask the action mask to use.
- */
-
- // package private for use by the FilePermissionCollection add method
- FilePermission(String path, int mask)
- {
- super(path);
- init(mask);
- }
-
- /**
- * Checks if this FilePermission object "implies" the specified permission.
- * <P>
- * More specifically, this method returns true if:<p>
- * <ul>
- * <li> <i>p</i> is an instanceof FilePermission,<p>
- * <li> <i>p</i>'s actions are a proper subset of this
- * object's actions, and <p>
- * <li> <i>p</i>'s pathname is implied by this object's
- * pathname. For example, "/tmp/*" implies "/tmp/foo", since
- * "/tmp/*" encompasses all files in the "/tmp" directory,
- * including the one named "foo".
- * </ul>
- *
- * @param p the permission to check against.
- *
- * @return <code>true</code> if the specified permission is not
- * <code>null</code> and is implied by this object,
- * <code>false</code> otherwise.
- */
- public boolean implies(Permission p) {
- if (!(p instanceof FilePermission))
- return false;
-
- FilePermission that = (FilePermission) p;
-
- // we get the effective mask. i.e., the "and" of this and that.
- // They must be equal to that.mask for implies to return true.
-
- return ((this.mask & that.mask) == that.mask) && impliesIgnoreMask(that);
- }
-
- /**
- * Checks if the Permission's actions are a proper subset of the
- * this object's actions. Returns the effective mask iff the
- * this FilePermission's path also implies that FilePermission's path.
- *
- * @param that the FilePermission to check against.
- * @param exact return immediately if the masks are not equal
- * @return the effective mask
- */
- boolean impliesIgnoreMask(FilePermission that) {
- if (this.directory) {
- if (this.recursive) {
- // make sure that.path is longer then path so
- // something like /foo/- does not imply /foo
- if (that.directory) {
- return (that.cpath.length() >= this.cpath.length()) &&
- that.cpath.startsWith(this.cpath);
- } else {
- return ((that.cpath.length() > this.cpath.length()) &&
- that.cpath.startsWith(this.cpath));
- }
- } else {
- if (that.directory) {
- // if the permission passed in is a directory
- // specification, make sure that a non-recursive
- // permission (i.e., this object) can't imply a recursive
- // permission.
- if (that.recursive)
- return false;
- else
- return (this.cpath.equals(that.cpath));
- } else {
- int last = that.cpath.lastIndexOf(File.separatorChar);
- if (last == -1)
- return false;
- else {
- // this.cpath.equals(that.cpath.substring(0, last+1));
- // Use regionMatches to avoid creating new string
- return (this.cpath.length() == (last + 1)) &&
- this.cpath.regionMatches(0, that.cpath, 0, last+1);
- }
- }
- }
- } else if (that.directory) {
- // if this is NOT recursive/wildcarded,
- // do not let it imply a recursive/wildcarded permission
- return false;
- } else {
- return (this.cpath.equals(that.cpath));
- }
- }
-
- /**
- * Checks two FilePermission objects for equality. Checks that <i>obj</i> is
- * a FilePermission, and has the same pathname and actions as this object.
- * <P>
- * @param obj the object we are testing for equality with this object.
- * @return <code>true</code> if obj is a FilePermission, and has the same
- * pathname and actions as this FilePermission object,
- * <code>false</code> otherwise.
- */
- public boolean equals(Object obj) {
- if (obj == this)
- return true;
-
- if (! (obj instanceof FilePermission))
- return false;
-
- FilePermission that = (FilePermission) obj;
-
- return (this.mask == that.mask) &&
- this.cpath.equals(that.cpath) &&
- (this.directory == that.directory) &&
- (this.recursive == that.recursive);
- }
-
- /**
- * Returns the hash code value for this object.
- *
- * @return a hash code value for this object.
- */
-
- public int hashCode() {
- return this.cpath.hashCode();
- }
-
- /**
- * Converts an actions String to an actions mask.
- *
- * @param action the action string.
- * @return the actions mask.
- */
- private static int getMask(String actions) {
-
- int mask = NONE;
-
- // Null action valid?
- if (actions == null) {
- return mask;
- }
- // Check against use of constants (used heavily within the JDK)
- if (actions == SecurityConstants.FILE_READ_ACTION) {
- return READ;
- } else if (actions == SecurityConstants.FILE_WRITE_ACTION) {
- return WRITE;
- } else if (actions == SecurityConstants.FILE_EXECUTE_ACTION) {
- return EXECUTE;
- } else if (actions == SecurityConstants.FILE_DELETE_ACTION) {
- return DELETE;
- }
-
- char[] a = actions.toCharArray();
-
- int i = a.length - 1;
- if (i < 0)
- return mask;
-
- while (i != -1) {
- char c;
-
- // skip whitespace
- while ((i!=-1) && ((c = a[i]) == ' ' ||
- c == '\r' ||
- c == '\n' ||
- c == '\f' ||
- c == '\t'))
- i--;
-
- // check for the known strings
- int matchlen;
-
- if (i >= 3 && (a[i-3] == 'r' || a[i-3] == 'R') &&
- (a[i-2] == 'e' || a[i-2] == 'E') &&
- (a[i-1] == 'a' || a[i-1] == 'A') &&
- (a[i] == 'd' || a[i] == 'D'))
- {
- matchlen = 4;
- mask |= READ;
-
- } else if (i >= 4 && (a[i-4] == 'w' || a[i-4] == 'W') &&
- (a[i-3] == 'r' || a[i-3] == 'R') &&
- (a[i-2] == 'i' || a[i-2] == 'I') &&
- (a[i-1] == 't' || a[i-1] == 'T') &&
- (a[i] == 'e' || a[i] == 'E'))
- {
- matchlen = 5;
- mask |= WRITE;
-
- } else if (i >= 6 && (a[i-6] == 'e' || a[i-6] == 'E') &&
- (a[i-5] == 'x' || a[i-5] == 'X') &&
- (a[i-4] == 'e' || a[i-4] == 'E') &&
- (a[i-3] == 'c' || a[i-3] == 'C') &&
- (a[i-2] == 'u' || a[i-2] == 'U') &&
- (a[i-1] == 't' || a[i-1] == 'T') &&
- (a[i] == 'e' || a[i] == 'E'))
- {
- matchlen = 7;
- mask |= EXECUTE;
-
- } else if (i >= 5 && (a[i-5] == 'd' || a[i-5] == 'D') &&
- (a[i-4] == 'e' || a[i-4] == 'E') &&
- (a[i-3] == 'l' || a[i-3] == 'L') &&
- (a[i-2] == 'e' || a[i-2] == 'E') &&
- (a[i-1] == 't' || a[i-1] == 'T') &&
- (a[i] == 'e' || a[i] == 'E'))
- {
- matchlen = 6;
- mask |= DELETE;
-
- } else {
- // parse error
- throw new IllegalArgumentException(
- "invalid permission: " + actions);
- }
-
- // make sure we didn't just match the tail of a word
- // like "ackbarfaccept". Also, skip to the comma.
- boolean seencomma = false;
- while (i >= matchlen && !seencomma) {
- switch(a[i-matchlen]) {
- case ',':
- seencomma = true;
- /*FALLTHROUGH*/
- case ' ': case '\r': case '\n':
- case '\f': case '\t':
- break;
- default:
- throw new IllegalArgumentException(
- "invalid permission: " + actions);
- }
- i--;
- }
-
- // point i at the location of the comma minus one (or -1).
- i -= matchlen;
- }
-
- return mask;
- }
-
- /**
- * Return the current action mask. Used by the FilePermissionCollection.
- *
- * @return the actions mask.
- */
-
- int getMask() {
- return mask;
- }
-
- /**
- * Return the canonical string representation of the actions.
- * Always returns present actions in the following order:
- * read, write, execute, delete.
- *
- * @return the canonical string representation of the actions.
- */
- private static String getActions(int mask)
- {
- StringBuilder sb = new StringBuilder();
- boolean comma = false;
-
- if ((mask & READ) == READ) {
- comma = true;
- sb.append("read");
- }
-
- if ((mask & WRITE) == WRITE) {
- if (comma) sb.append(',');
- else comma = true;
- sb.append("write");
- }
-
- if ((mask & EXECUTE) == EXECUTE) {
- if (comma) sb.append(',');
- else comma = true;
- sb.append("execute");
- }
-
- if ((mask & DELETE) == DELETE) {
- if (comma) sb.append(',');
- else comma = true;
- sb.append("delete");
- }
-
- return sb.toString();
- }
-
- /**
- * Returns the "canonical string representation" of the actions.
- * That is, this method always returns present actions in the following order:
- * read, write, execute, delete. For example, if this FilePermission object
- * allows both write and read actions, a call to <code>getActions</code>
- * will return the string "read,write".
- *
- * @return the canonical string representation of the actions.
- */
- public String getActions()
- {
- if (actions == null)
- actions = getActions(this.mask);
-
- return actions;
- }
-
-
- /**
- * Returns a new PermissionCollection object for storing FilePermission
- * objects.
- * <p>
- * FilePermission objects must be stored in a manner that allows them
- * to be inserted into the collection in any order, but that also enables the
- * PermissionCollection <code>implies</code>
- * method to be implemented in an efficient (and consistent) manner.
- *
- * <p>For example, if you have two FilePermissions:
- * <OL>
- * <LI> <code>"/tmp/-", "read"</code>
- * <LI> <code>"/tmp/scratch/foo", "write"</code>
- * </OL>
- *
- * <p>and you are calling the <code>implies</code> method with the FilePermission:
- *
- * <pre>
- * "/tmp/scratch/foo", "read,write",
- * </pre>
- *
- * then the <code>implies</code> function must
- * take into account both the "/tmp/-" and "/tmp/scratch/foo"
- * permissions, so the effective permission is "read,write",
- * and <code>implies</code> returns true. The "implies" semantics for
- * FilePermissions are handled properly by the PermissionCollection object
- * returned by this <code>newPermissionCollection</code> method.
- *
- * @return a new PermissionCollection object suitable for storing
- * FilePermissions.
- */
-
- public PermissionCollection newPermissionCollection() {
- return new FilePermissionCollection();
- }
-
- /**
- * WriteObject is called to save the state of the FilePermission
- * to a stream. The actions are serialized, and the superclass
- * takes care of the name.
- */
- private void writeObject(ObjectOutputStream s)
- throws IOException
- {
- // Write out the actions. The superclass takes care of the name
- // call getActions to make sure actions field is initialized
- if (actions == null)
- getActions();
- s.defaultWriteObject();
- }
-
- /**
- * readObject is called to restore the state of the FilePermission from
- * a stream.
- */
- private void readObject(ObjectInputStream s)
- throws IOException, ClassNotFoundException
- {
- // Read in the actions, then restore everything else by calling init.
- s.defaultReadObject();
- init(getMask(actions));
- }
-}
-
-/**
- * A FilePermissionCollection stores a set of FilePermission permissions.
- * FilePermission objects
- * must be stored in a manner that allows them to be inserted in any
- * order, but enable the implies function to evaluate the implies
- * method.
- * For example, if you have two FilePermissions:
- * <OL>
- * <LI> "/tmp/-", "read"
- * <LI> "/tmp/scratch/foo", "write"
- * </OL>
- * And you are calling the implies function with the FilePermission:
- * "/tmp/scratch/foo", "read,write", then the implies function must
- * take into account both the /tmp/- and /tmp/scratch/foo
- * permissions, so the effective permission is "read,write".
- *
- * @see java.security.Permission
- * @see java.security.Permissions
- * @see java.security.PermissionCollection
- *
- *
- * @author Marianne Mueller
- * @author Roland Schemers
- *
- * @serial include
- *
- */
-
-final class FilePermissionCollection extends PermissionCollection
-implements Serializable {
-
- // Not serialized; see serialization section at end of class
- private transient List perms;
-
- /**
- * Create an empty FilePermissions object.
- *
- */
-
- public FilePermissionCollection() {
- perms = new ArrayList();
- }
-
- /**
- * Adds a permission to the FilePermissions. The key for the hash is
- * permission.path.
- *
- * @param permission the Permission object to add.
- *
- * @exception IllegalArgumentException - if the permission is not a
- * FilePermission
- *
- * @exception SecurityException - if this FilePermissionCollection object
- * has been marked readonly
- */
-
- public void add(Permission permission)
- {
- if (! (permission instanceof FilePermission))
- throw new IllegalArgumentException("invalid permission: "+
- permission);
- if (isReadOnly())
- throw new SecurityException(
- "attempt to add a Permission to a readonly PermissionCollection");
-
- synchronized (this) {
- perms.add(permission);
- }
- }
-
- /**
- * Check and see if this set of permissions implies the permissions
- * expressed in "permission".
- *
- * @param p the Permission object to compare
- *
- * @return true if "permission" is a proper subset of a permission in
- * the set, false if not.
- */
-
- public boolean implies(Permission permission)
- {
- if (! (permission instanceof FilePermission))
- return false;
-
- FilePermission fp = (FilePermission) permission;
-
- int desired = fp.getMask();
- int effective = 0;
- int needed = desired;
-
- synchronized (this) {
- int len = perms.size();
- for (int i = 0; i < len; i++) {
- FilePermission x = (FilePermission) perms.get(i);
- if (((needed & x.getMask()) != 0) && x.impliesIgnoreMask(fp)) {
- effective |= x.getMask();
- if ((effective & desired) == desired)
- return true;
- needed = (desired ^ effective);
- }
- }
- }
- return false;
- }
-
- /**
- * Returns an enumeration of all the FilePermission objects in the
- * container.
- *
- * @return an enumeration of all the FilePermission objects.
- */
-
- public Enumeration elements() {
- // Convert Iterator into Enumeration
- synchronized (this) {
- return Collections.enumeration(perms);
- }
- }
-
- private static final long serialVersionUID = 2202956749081564585L;
-
- // Need to maintain serialization interoperability with earlier releases,
- // which had the serializable field:
- // private Vector permissions;
-
- /**
- * @serialField permissions java.util.Vector
- * A list of FilePermission objects.
- */
- private static final ObjectStreamField[] serialPersistentFields = {
- new ObjectStreamField("permissions", Vector.class),
- };
-
- /**
- * @serialData "permissions" field (a Vector containing the FilePermissions).
- */
- /*
- * Writes the contents of the perms field out as a Vector for
- * serialization compatibility with earlier releases.
- */
- private void writeObject(ObjectOutputStream out) throws IOException {
- // Don't call out.defaultWriteObject()
-
- // Write out Vector
- Vector permissions = new Vector(perms.size());
- synchronized (this) {
- permissions.addAll(perms);
- }
-
- ObjectOutputStream.PutField pfields = out.putFields();
- pfields.put("permissions", permissions);
- out.writeFields();
- }
-
- /*
- * Reads in a Vector of FilePermissions and saves them in the perms field.
- */
- private void readObject(ObjectInputStream in) throws IOException,
- ClassNotFoundException {
- // Don't call defaultReadObject()
-
- // Read in serialized fields
- ObjectInputStream.GetField gfields = in.readFields();
-
- // Get the one we want
- Vector permissions = (Vector)gfields.get("permissions", null);
- perms = new ArrayList(permissions.size());
- perms.addAll(permissions);
- }
-}
diff --git a/openjdk/java/lang/Shutdown.java b/openjdk/java/lang/Shutdown.java
index c95d80ec..3e216c68 100644
--- a/openjdk/java/lang/Shutdown.java
+++ b/openjdk/java/lang/Shutdown.java
@@ -36,8 +36,8 @@ import cli.System.EventHandler;
* @author Mark Reinhold
* @since 1.3
*/
-@ikvm.lang.Internal
-public final class Shutdown {
+
+class Shutdown {
/* Shutdown state */
private static final int RUNNING = 0;
@@ -73,10 +73,6 @@ public final class Shutdown {
}
}
- public static void init() {
- // exists only to trigger class initializer
- }
-
static {
try {
// AppDomain.ProcessExit has a LinkDemand, so we have to have a separate method
@@ -85,8 +81,6 @@ public final class Shutdown {
}
catch (cli.System.Security.SecurityException _) {
}
- hooks[0] = sun.misc.SharedSecrets.getJavaIOAccess().consoleRestoreHook();
- hooks[2] = sun.misc.SharedSecrets.getJavaIODeleteOnExitAccess();
}
private static void registerShutdownHook()
diff --git a/openjdk/map.xml b/openjdk/map.xml
index c1adbc6d..a2286137 100644
--- a/openjdk/map.xml
+++ b/openjdk/map.xml
@@ -1901,15 +1901,6 @@
</code>
</replace-method-call>
</method>
- <method name="getJavaIODeleteOnExitAccess" sig="()Lsun.misc.JavaIODeleteOnExitAccess;">
- <replace-method-call class="sun.misc.Unsafe" name="ensureClassInitialized" sig="(Ljava.lang.Class;)V">
- <code>
- <pop />
- <pop />
- <runclassinit class="java.io.File" />
- </code>
- </replace-method-call>
- </method>
</class>
<class name="java.util.concurrent.atomic.AtomicReference">
<method name="compareAndSet" sig="(Ljava.lang.Object;Ljava.lang.Object;)Z">
diff --git a/openjdk/response.txt b/openjdk/response.txt
index f3565f99..9e185372 100644
--- a/openjdk/response.txt
+++ b/openjdk/response.txt
@@ -49,6 +49,7 @@ assembly.class
sun/net/www/protocol/jar/*.class
sun/nio/ch/*.class
sun/nio/cs/*.class
+ sun/nio/fs/*.class
sun/reflect/*.class
../classpath/gnu/java/net/protocol/ikvmres/*.class
../classpath/ikvm/extensions/*.class
@@ -67,13 +68,13 @@ assembly.class
@OPENJDK6@/build/linux-amd64/gensrc/sun/nio/ch/*.class
@OPENJDK6@/build/linux-amd64/gensrc/sun/util/*.class
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/xml/internal/ws/developer/ServerSideException.class
+ @OPENJDK7@/jdk/src/share/classes/com/sun/nio/file/*.class
@OPENJDK6@/jdk/src/share/classes/java/beans/ChangeListenerMap.class
@OPENJDK6@/jdk/src/share/classes/java/beans/IndexedPropertyChangeEvent.class
@OPENJDK6@/jdk/src/share/classes/java/beans/PropertyChangeEvent.class
@OPENJDK6@/jdk/src/share/classes/java/beans/PropertyChangeListener.class
@OPENJDK6@/jdk/src/share/classes/java/beans/PropertyChangeListenerProxy.class
@OPENJDK6@/jdk/src/share/classes/java/beans/PropertyChangeSupport*.class
- @OPENJDK6@/jdk/src/share/classes/java/io/*.class
@OPENJDK7@/jdk/src/share/classes/java/io/*.class
@OPENJDK7@/jdk/src/share/classes/java/lang/*.class
@OPENJDK7@/jdk/src/share/classes/java/lang/annotation/*.class
@@ -83,9 +84,13 @@ assembly.class
@OPENJDK6@/jdk/src/share/classes/java/net/*.class
@OPENJDK6@/jdk/src/share/classes/java/nio/*.class
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/*.class
+ @OPENJDK7@/jdk/src/share/classes/java/nio/channels/*.class
@OPENJDK6@/jdk/src/share/classes/java/nio/channels/spi/*.class
@OPENJDK6@/jdk/src/share/classes/java/nio/charset/*.class
@OPENJDK6@/jdk/src/share/classes/java/nio/charset/spi/*.class
+ @OPENJDK7@/jdk/src/share/classes/java/nio/file/*.class
+ @OPENJDK7@/jdk/src/share/classes/java/nio/file/attribute/*.class
+ @OPENJDK7@/jdk/src/share/classes/java/nio/file/spi/*.class
@OPENJDK6@/jdk/src/share/classes/java/security/*.class
@OPENJDK6@/jdk/src/share/classes/java/security/cert/*.class
@OPENJDK6@/jdk/src/share/classes/java/sql/Timestamp.class
@@ -118,6 +123,7 @@ assembly.class
@OPENJDK6@/jdk/src/share/classes/sun/nio/ch/*.class
@OPENJDK6@/jdk/src/share/classes/sun/nio/cs/*.class
@OPENJDK7@/jdk/src/share/classes/sun/nio/cs/*.class
+ @OPENJDK7@/jdk/src/share/classes/sun/nio/fs/*.class
@OPENJDK6@/jdk/src/share/classes/sun/reflect/*.class
@OPENJDK7@/jdk/src/share/classes/sun/reflect/*.class
@OPENJDK6@/jdk/src/share/classes/sun/reflect/annotation/*.class
@@ -154,7 +160,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Corba.dll
- -baseaddress:0x569C0000
+ -baseaddress:0x569F0000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/corba/*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/jndi/cosnaming/jndiprovider.properties
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/corba/se/impl/activation/*.class
@@ -272,7 +278,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.XML.API.dll
- -baseaddress:0x57020000
+ -baseaddress:0x57050000
@OPENJDK6@/build/linux-amd64/impsrc/javax/xml/*.class
@OPENJDK6@/build/linux-amd64/impsrc/javax/xml/datatype/*.class
@OPENJDK6@/build/linux-amd64/impsrc/javax/xml/namespace/*.class
@@ -304,7 +310,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.XML.XPath.dll
- -baseaddress:0x570E0000
+ -baseaddress:0x57110000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/org/apache/xalan/internal/res/*
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/extensions/*.class
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/res/*.class
@@ -329,7 +335,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.XML.Parse.dll
- -baseaddress:0x57410000
+ -baseaddress:0x57440000
-resource:com/sun/org/apache/xml/internal/serialize/HTMLEntities.res=@OPENJDK6@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serialize/HTMLEntities.res
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/org/apache/xerces/*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/org/apache/xml/internal/serializer/*
@@ -388,7 +394,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.XML.Transform.dll
- -baseaddress:0x57AA0000
+ -baseaddress:0x57AD0000
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/java_cup/internal/runtime/*.class
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/org/apache/bcel/internal/*.class
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/org/apache/bcel/internal/classfile/*.class
@@ -412,7 +418,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.XML.Bind.dll
- -baseaddress:0x57EC0000
+ -baseaddress:0x57EF0000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/javax/xml/bind/*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/xml/internal/bind/*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/xml/internal/fastinfoset/*
@@ -471,7 +477,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.XML.WebServices.dll
- -baseaddress:0x58220000
+ -baseaddress:0x58250000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/xml/internal/messaging/*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/xml/internal/ws/*
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/xml/internal/messaging/saaj/*.class
@@ -564,7 +570,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.XML.Crypto.dll
- -baseaddress:0x586A0000
+ -baseaddress:0x586D0000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/org/apache/xml/internal/security/*
@OPENJDK6@/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/*.class
@OPENJDK6@/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/*.class
@@ -600,7 +606,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.SwingAWT.dll
- -baseaddress:0x587F0000
+ -baseaddress:0x58820000
-remap:swingawt.xml
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/META-INF/services/sun.java2d.*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/java/swing/*
@@ -695,13 +701,13 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Charsets.dll
- -baseaddress:0x59930000
+ -baseaddress:0x59960000
@OPENJDK6@/jdk/src/share/classes/sun/io/*.class
@OPENJDK6@/jdk/src/share/classes/sun/nio/cs/ext/*.class
}
{
-out:IKVM.OpenJDK.Util.dll
- -baseaddress:0x5A770000
+ -baseaddress:0x5A7A0000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/java/util/jar/pack/intrinsic.properties
java/util/zip/*.class
@OPENJDK6@/build/linux-amd64/gensrc/sun/util/logging/resources/*.class
@@ -719,7 +725,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Text.dll
- -baseaddress:0x5AB90000
+ -baseaddress:0x5ABC0000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/sun/text/*
java/text/*.class
@OPENJDK6@/jdk/src/share/classes/java/text/*.class
@@ -730,7 +736,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Security.dll
- -baseaddress:0x5AD70000
+ -baseaddress:0x5ADA0000
sun/security/jgss/wrapper/*.class
@OPENJDK6@/jdk/src/share/classes/com/sun/crypto/provider/*.class
@OPENJDK6@/jdk/src/share/classes/com/sun/net/ssl/*.class
@@ -795,7 +801,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Management.dll
- -baseaddress:0x5B490000
+ -baseaddress:0x5B4C0000
com/sun/management/*.class
ConnectorBootstrap$DefaultValues.class
ConnectorBootstrap.class
@@ -839,7 +845,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Misc.dll
- -baseaddress:0x5B880000
+ -baseaddress:0x5B8B0000
@OPENJDK6@/build/linux-amd64/impsrc/javax/activity/*.class
@OPENJDK6@/build/linux-amd64/impsrc/javax/annotation/*.class
@OPENJDK6@/build/linux-amd64/impsrc/javax/annotation/processing/*.class
@@ -929,7 +935,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Naming.dll
- -baseaddress:0x5B940000
+ -baseaddress:0x5B970000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/jndi/ldap/jndiprovider.properties
sun/net/dns/*.class
@OPENJDK6@/jdk/src/share/classes/com/sun/jndi/dns/*.class
@@ -954,7 +960,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Jdbc.dll
- -baseaddress:0x5BA90000
+ -baseaddress:0x5BAC0000
-resource:META-INF/services/java.sql.Driver=resources/META-INF/services/java.sql.Driver
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/rowset/*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/javax/sql/*
@@ -972,7 +978,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Remoting.dll
- -baseaddress:0x5BBE0000
+ -baseaddress:0x5BC10000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/sun/rmi/*
@OPENJDK6@/build/linux-amd64/classes/com/sun/jndi/rmi/registry/*.class
@OPENJDK6@/build/linux-amd64/classes/java/rmi/activation/*.class
@@ -998,7 +1004,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Beans.dll
- -baseaddress:0x5BD00000
+ -baseaddress:0x5BD30000
@OPENJDK6@/build/linux-amd64/impsrc/com/sun/activation/registries/*.class
@OPENJDK6@/build/linux-amd64/impsrc/javax/activation/*.class
@OPENJDK6@/jdk/src/share/classes/com/sun/beans/*.class
@@ -1010,7 +1016,7 @@ assembly.class
}
{
-out:IKVM.OpenJDK.Media.dll
- -baseaddress:0x5BDC0000
+ -baseaddress:0x5BDF0000
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/META-INF/services/javax.print.*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/META-INF/services/javax.sound.*
-recurse:@OPENJDK6@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/imageio/plugins/common/iio-plugin.properties
diff --git a/openjdk/sun/misc/SharedSecrets.java b/openjdk/sun/misc/SharedSecrets.java
index d327aa58..84e01391 100644
--- a/openjdk/sun/misc/SharedSecrets.java
+++ b/openjdk/sun/misc/SharedSecrets.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -27,7 +27,6 @@ package sun.misc;
import java.util.jar.JarFile;
import java.io.Console;
-import java.io.File;
import java.security.ProtectionDomain;
import java.security.AccessControlContext;
@@ -46,7 +45,6 @@ public class SharedSecrets {
private static JavaUtilJarAccess javaUtilJarAccess;
private static JavaLangAccess javaLangAccess = LangHelper.getJavaLangAccess();
private static JavaIOAccess javaIOAccess;
- private static JavaIODeleteOnExitAccess javaIODeleteOnExitAccess;
private static JavaNetAccess javaNetAccess;
private static JavaSecurityProtectionDomainAccess javaSecurityProtectionDomainAccess;
private static JavaSecurityAccess javaSecurityAccess;
@@ -87,17 +85,6 @@ public class SharedSecrets {
return javaIOAccess;
}
- public static void setJavaIODeleteOnExitAccess(JavaIODeleteOnExitAccess jida) {
- javaIODeleteOnExitAccess = jida;
- }
-
- public static JavaIODeleteOnExitAccess getJavaIODeleteOnExitAccess() {
- if (javaIODeleteOnExitAccess == null) {
- unsafe.ensureClassInitialized(File.class);
- }
- return javaIODeleteOnExitAccess;
- }
-
public static void setJavaSecurityProtectionDomainAccess
(JavaSecurityProtectionDomainAccess jspda) {
javaSecurityProtectionDomainAccess = jspda;
@@ -105,10 +92,9 @@ public class SharedSecrets {
public static JavaSecurityProtectionDomainAccess
getJavaSecurityProtectionDomainAccess() {
- if (javaSecurityProtectionDomainAccess == null)
- unsafe.ensureClassInitialized(ProtectionDomain.class);
-
- return javaSecurityProtectionDomainAccess;
+ if (javaSecurityProtectionDomainAccess == null)
+ unsafe.ensureClassInitialized(ProtectionDomain.class);
+ return javaSecurityProtectionDomainAccess;
}
public static void setJavaSecurityAccess(JavaSecurityAccess jsa) {
diff --git a/openjdk/sun/misc/Unsafe.java b/openjdk/sun/misc/Unsafe.java
index 76a9f4f9..42fdcc6a 100644
--- a/openjdk/sun/misc/Unsafe.java
+++ b/openjdk/sun/misc/Unsafe.java
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2006, 2007, 2009 Jeroen Frijters
+ Copyright (C) 2006-2011 Jeroen Frijters
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -37,6 +37,7 @@ import java.util.ArrayList;
public final class Unsafe
{
public static final int INVALID_FIELD_OFFSET = -1;
+ public static final int ARRAY_BYTE_BASE_OFFSET = 0;
// NOTE sun.corba.Bridge actually access this field directly (via reflection),
// so the name must match the JDK name.
private static final Unsafe theUnsafe = new Unsafe();
@@ -890,6 +891,11 @@ public final class Unsafe
putByte(destAddress++, getByte(srcAddress++));
}
}
+
+ public void copyMemory(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes)
+ {
+ throw new ikvm.internal.NotYetImplementedError();
+ }
@SecurityPermissionAttribute.Annotation(value = SecurityAction.__Enum.LinkDemand, UnmanagedCode = true)
@cli.System.Security.SecurityCriticalAttribute.Annotation