4524
+ − 1
#
5506
+ − 2
# Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
4524
+ − 3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ − 4
#
+ − 5
# This code is free software; you can redistribute it and/or modify it
+ − 6
# under the terms of the GNU General Public License version 2 only, as
+ − 7
# published by the Free Software Foundation.
+ − 8
#
+ − 9
# This code is distributed in the hope that it will be useful, but WITHOUT
+ − 10
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ − 11
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ − 12
# version 2 for more details (a copy is included in the LICENSE file that
+ − 13
# accompanied this code).
+ − 14
#
+ − 15
# You should have received a copy of the GNU General Public License version
+ − 16
# 2 along with this work; if not, write to the Free Software Foundation,
+ − 17
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ − 18
#
5506
+ − 19
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ − 20
# or visit www.oracle.com if you need additional information or have any
+ − 21
# questions.
4524
+ − 22
#
+ − 23
+ − 24
#
+ − 25
# List of root classes/methods, each line of the following syntax:
+ − 26
# <class name>
+ − 27
# <method name> <signature>|*
+ − 28
# exclude <class>|<method>
+ − 29
+ − 30
# The boot module generated based on this rootset does not support
+ − 31
# - security permission check
+ − 32
# - non-standard charset
+ − 33
# - logging output
+ − 34
# - resource bundles
+ − 35
# including error output from the launcher
+ − 36
+ − 37
# VM preloaded classes
+ − 38
java.lang.Object
+ − 39
java.lang.String
+ − 40
java.lang.Class
+ − 41
java.lang.Cloneable
+ − 42
java.lang.ClassLoader
+ − 43
java.lang.System
+ − 44
java.lang.Throwable
+ − 45
java.lang.Error
+ − 46
java.lang.ThreadDeath
+ − 47
java.lang.Exception
+ − 48
java.lang.RuntimeException
+ − 49
java.security.ProtectionDomain
+ − 50
java.security.AccessControlContext
+ − 51
java.lang.ClassNotFoundException
+ − 52
java.lang.NoClassDefFoundError
+ − 53
java.lang.ClassCastException
+ − 54
java.lang.ArrayStoreException
+ − 55
java.lang.VirtualMachineError
+ − 56
java.lang.OutOfMemoryError
+ − 57
java.lang.StackOverflowError
+ − 58
java.lang.IllegalMonitorStateException
+ − 59
java.lang.ref.Reference
+ − 60
java.lang.ref.SoftReference
+ − 61
java.lang.ref.WeakReference
+ − 62
java.lang.ref.FinalReference
+ − 63
java.lang.ref.PhantomReference
+ − 64
java.lang.ref.Finalizer
+ − 65
java.lang.Runnable
+ − 66
java.lang.Thread
+ − 67
java.lang.ThreadGroup
+ − 68
java.util.Properties
+ − 69
java.lang.reflect.AccessibleObject
+ − 70
java.lang.reflect.Member
+ − 71
java.lang.reflect.Field
+ − 72
java.lang.reflect.Method
+ − 73
java.lang.reflect.Constructor
+ − 74
java.lang.reflect.Type
+ − 75
sun.reflect.MagicAccessorImpl
+ − 76
sun.reflect.MethodAccessorImpl
+ − 77
sun.reflect.ConstructorAccessorImpl
+ − 78
sun.reflect.DelegatingClassLoader
+ − 79
sun.reflect.ConstantPool
+ − 80
sun.reflect.UnsafeStaticFieldAccessorImpl
+ − 81
java.util.Vector
+ − 82
java.lang.StringBuffer
+ − 83
java.lang.StackTraceElement
+ − 84
java.nio.Buffer
+ − 85
java.lang.Boolean
+ − 86
java.lang.Character
+ − 87
java.lang.Float
+ − 88
java.lang.Double
+ − 89
java.lang.Byte
+ − 90
java.lang.Short
+ − 91
java.lang.Integer
+ − 92
java.lang.Long
+ − 93
java.lang.NullPointerException
+ − 94
java.lang.ArithmeticException
+ − 95
java.lang.Compiler
+ − 96
+ − 97
+ − 98
# Root methods
+ − 99
java.lang.ClassLoader.getSystemClassLoader ()Ljava/lang/ClassLoader;
+ − 100
java.lang.System.initializeSystemClass ()V
+ − 101
sun.launcher.LauncherHelper.checkAndLoadMain (ZZLjava/lang/String;)Ljava/lang/Object;
+ − 102
+ − 103
# The tool doesn't automatically find superclasses and parse the method
+ − 104
# if overridden as it tries to reduce unnecessary classes being pulled in.
+ − 105
# The following forces the dependency to be included the result.
+ − 106
sun.net.www.protocol.file.Handler.<init> ()V
+ − 107
sun.net.www.protocol.jar.Handler.<init> ()V
+ − 108
sun.net.www.protocol.file.Handler.openConnection *
+ − 109
sun.net.www.protocol.jar.Handler.openConnection *
+ − 110
sun.misc.URLClassPath$JarLoader.<init> (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;)V
+ − 111
sun.misc.URLClassPath$FileLoader.<init> (Ljava/net/URL;)V
+ − 112
sun.misc.URLClassPath$FileLoader.getClassPath *
+ − 113
sun.misc.URLClassPath$FileLoader.getResource *
+ − 114
sun.misc.URLClassPath$JarLoader.getResource *
+ − 115
sun.misc.URLClassPath$JarLoader.getClassPath *
+ − 116
+ − 117
# permission collections
+ − 118
java.io.FilePermission.newPermissionCollection ()Ljava/security/PermissionCollection;
+ − 119
java.security.BasicPermission.newPermissionCollection ()Ljava/security/PermissionCollection;
+ − 120
+ − 121
# native
+ − 122
java.io.UnixFileSystem
+ − 123
java.io.UnixFileSystem.<init> ()V
+ − 124
java.io.UnixFileSystem.canonicalize *
+ − 125
java.io.Win32FileSystem
+ − 126
java.io.Win32FileSystem.<init> ()V
+ − 127
java.io.Win32FileSystem.canonicalize *
+ − 128
java.io.WinNTFileSystem
+ − 129
java.io.WinNTFileSystem.<init> ()V
+ − 130
java.io.WinNTFileSystem.canonicalize *
+ − 131
+ − 132
# missing
+ − 133
java.util.HashMap.<init> ()V
+ − 134
java.util.HashMap$EntrySet.iterator *
+ − 135
+ − 136
# Called from native GetStringPlatformChars (jni_util.c)
+ − 137
java.lang.String.getBytes *
+ − 138
+ − 139
# charset
+ − 140
sun.nio.cs.US_ASCII.newEncoder ()Ljava/nio/charset/CharsetEncoder;
+ − 141
sun.nio.cs.UTF_8.newEncoder ()Ljava/nio/charset/CharsetEncoder;
+ − 142
sun.nio.cs.UTF_8.newDecoder *
+ − 143
sun.nio.cs.UTF_16.newEncoder ()Ljava/nio/charset/CharsetEncoder;
+ − 144
sun.nio.cs.UTF_16.newDecoder *
+ − 145
sun.nio.cs.UTF_32.newEncoder ()Ljava/nio/charset/CharsetEncoder;
+ − 146
sun.nio.cs.UTF_32.newDecoder *
+ − 147
+ − 148
# hashcode
+ − 149
java.util.jar.Attributes$Name.hashCode *
+ − 150
+ − 151
# nio
+ − 152
sun.nio.ByteBuffered
+ − 153
sun.nio.ch.DirectBuffer
+ − 154
java.nio.DirectByteBuffer
+ − 155
java.nio.MappedByteBuffer
+ − 156
java.nio.DirectLongBufferU
+ − 157
+ − 158
# resource files
+ − 159
sun.launcher.resources.launcher
+ − 160
+ − 161
sun.misc.Launcher$AppClassLoader.getPermissions *
+ − 162
sun.misc.Launcher$AppClassLoader.loadClass (Ljava/lang/String;)Ljava/lang/Class;
+ − 163
sun.misc.Launcher$AppClassLoader.findClass (Ljava/lang/String;)Ljava/lang/Class;
+ − 164
sun.misc.Launcher$ExtClassLoader.getPermissions *
+ − 165
sun.misc.Launcher$ExtClassLoader.loadClass (Ljava/lang/String;)Ljava/lang/Class;
+ − 166
sun.misc.Launcher$ExtClassLoader.findClass (Ljava/lang/String;)Ljava/lang/Class;
+ − 167
java.lang.ClassLoader.checkPackageAccess *
+ − 168
java.lang.ClassLoader.findClass *
+ − 169
java.lang.ClassLoader.defineClass *
+ − 170
java.net.URLClassLoader.getPermissions *
+ − 171
java.net.URLClassLoader.findClass *
+ − 172
java.net.URLClassLoader.defineClass *
+ − 173
java.security.SecureClassLoader.defineClass *
+ − 174
# need to parse superclasses <init>
+ − 175
java.security.SecureClassLoader.<init> ()V
+ − 176
+ − 177
exclude sun.security.provider.PolicyFile.<init>
+ − 178
exclude java.lang.ClassLoader.compareCerts
+ − 179
exclude java.security.cert.Certificate.equals
+ − 180
# unsigned jars - no verifier
+ − 181
exclude java.util.jar.JarFile.initializeVerifier
+ − 182
exclude java.util.jar.JarVerifier
+ − 183
exclude sun.security.util.SignatureFileVerifier.<init>
+ − 184
+ − 185
+ − 186
# what about other charset
+ − 187
exclude sun.misc.Service
+ − 188
exclude java.util.ServiceLoader
+ − 189
+ − 190
# exclude support for localized messages
+ − 191
exclude java.util.ResourceBundle.getBundle
+ − 192
exclude java.text.MessageFormat
+ − 193
exclude sun.util.logging.PlatformLogger$LoggerProxy.format *
+ − 194
+ − 195
# exclude nio and miscellaneous classes
+ − 196
exclude java.nio.channels.**
+ − 197
exclude sun.misc.FloatingDecimal
+ − 198
exclude sun.misc.FormattedFloatingDecimal
+ − 199
exclude sun.misc.FDBigInt