#
#   
#
# Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
#

# This file specifies the romized classes that should be initialized
# at build time/VM load time.

InitAtBuild = java.lang.Math
InitAtBuild = java.lang.Integer
InitAtBuild = java.lang.Boolean
InitAtBuild = java.util.Calendar
InitAtBuild = com.sun.cldc.util.j2me.CalendarImpl
InitAtBuild = java.lang.Runtime
InitAtBuild = java.lang.System
InitAtBuild = com.sun.cldc.util.j2me.TimeZoneImpl
InitAtBuild = java.util.TimeZone
InitAtBuild = com.sun.cldc.i18n.j2me.ISO8859_1_Reader

InitAtBuild = java.lang.Void
InitAtBuild = java.lang.Character
InitAtBuild = java.lang.Float
InitAtBuild = java.lang.Double
InitAtBuild = java.lang.Byte
InitAtBuild = java.lang.Short
InitAtBuild = java.lang.Long

If CLDC_11
InitAtBuild = java.lang.FloatingDecimal
EndIf

# Do not rename the non-public fields/methods of the following classes,
# because these fields are accessed by name in KNI code.
DontRenameNonPublicFields = com.sun.cldc.io.ResourceInputStream
If CLDC_11
DontRenameNonPublicFields = java.lang.ref.WeakReference
EndIf
#Some symbols are referenced during bootstrap to verify the class
If ISOLATES
DontRenameNonPublicFields = com.sun.cldc.isolate.Isolate
DontRenameNonPublicMethods = com.sun.cldc.isolate.Isolate
EndIf

# These packages are restricted -- you cannot load new classes into them.
RestrictedPackage = java.io
RestrictedPackage = java.lang
RestrictedPackage = java.lang.ref
RestrictedPackage = java.util
RestrictedPackage = javax.microedition.io
RestrictedPackage = com.sun.cldc.i18n.uclc

# These packages are hidden:
# - you cannot load new classes in these packages (i.e., they are restricted)
# - none of these classes are accessible by applications
HiddenPackage = com.sun.cldc.i18n
HiddenPackage = com.sun.cldc.i18n.j2me
HiddenPackage = com.sun.cldc.io
HiddenPackage = com.sun.cldc.util.j2me
HiddenPackage = com.sun.cldchi.io
HiddenPackage = com.sun.cldchi.ref

# This package must be hidden for security reasons, or else
# the VM would refuse to start up.
HiddenPackage = com.sun.cldchi.jvm

# These classes are referred to by name (i.e., by Class.forName() in system
# libraries, or by C++ code). Don't rename them.
DontRenameClass = com.sun.cldc.util.j2me.TimeZoneImpl
DontRenameClass = com.sun.cldc.util.j2me.CalendarImpl
DontRenameClass = com.sun.cldc.i18n.j2me.ISO8859_1_Writer
DontRenameClass = com.sun.cldc.i18n.j2me.ISO8859_1_Reader
DontRenameClass = com.sun.cldchi.jvm.JVM
DontRenameNonPublicMethods = com.sun.cldchi.jvm.JVM

# The following are quick native methods in the CLDC VM.  Quick native
# functions are smaller in ROM footprint and are faster to invoke.

QuickNative = java.lang.Class.isInstance
QuickNative = java.lang.Class.isInterface
QuickNative = java.lang.Class.isArray

QuickNative = com.sun.cldchi.io.ConsoleOutputStream.write

# QuickNative = java.lang.Class.getSuperclass IMPL_NOTE: MVM
# QuickNative = java.lang.Object.getClass IMPL_NOTE: MVM

QuickNative = java.lang.String.hashCode
QuickNative = java.lang.String.lastIndexOf

QuickNative = java.lang.Thread.currentThread
QuickNative = java.lang.Thread.isAlive
QuickNative = java.lang.Thread.activeCount
QuickNative = java.lang.Thread.setPriority0
QuickNative = java.lang.System.currentTimeMillis

QuickNative = java.lang.ref.WeakReference.getReference
QuickNative = java.lang.ref.WeakReference.clearReference
QuickNative = java.lang.ref.WeakReference.finalize

QuickNative = com.sun.cldc.io.ResourceInputStream.bytesRemain

QuickNative = java.lang.Float.intBitsToFloat
QuickNative = java.lang.Float.floatToIntBits
QuickNative = java.lang.Double.doubleToLongBits
QuickNative = java.lang.Double.longBitsToDouble

QuickNative = java.lang.reflect.Method.addParameterI
QuickNative = java.lang.reflect.Method.addParameterJ
QuickNative = java.lang.reflect.Method.addParameterF
QuickNative = java.lang.reflect.Method.addParameterD
QuickNative = java.lang.reflect.Method.addParameterL
QuickNative = java.lang.reflect.Array.isObjectArray

If ISOLATES
RestrictedPackage          = com.sun.cldc.isolate
DontRenameClass            = com.sun.cldc.isolate.AppImageWriter
DontRenameClass            = com.sun.cldc.isolate.Verifier
EndIf
