forked from squawk-mirror/squawk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsquawk.library.properties
More file actions
357 lines (324 loc) · 14.7 KB
/
Copy pathsquawk.library.properties
File metadata and controls
357 lines (324 loc) · 14.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
# Copyright 2004-2010 Sun Microsystems, Inc. All Rights Reserved.
# Copyright 2011 Oracle. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
#
# This code is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
# only, as published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License version 2 for more details (a copy is
# included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU General Public License
# version 2 along with this work; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02110-1301 USA
#
# Please contact Oracle, 16 Network Circle, Menlo Park, CA 94025 or
# visit www.oracle.com if you need additional information or have
# any questions.
#
#########################################################################################
# This property file defines what the external API of this suite is.
# Classes, fields, and methods can be defined to be internal or exported.
# Additionally classes which are dynamically loaded by Class.forName() can be
# declared "dynamic", which prevents the class from being deleted by dead-class elimination.
#
# Note that suite export declarations are processed after classes have been
# filtered out by the suite's exclude file. Export control directives for excluded classes
# are ignored.
#
# The key of each property in the file specifies a pattern that will be used to match
# a class, field or method that may be stripped.
#
# The value of each property in the file specifies how to handle symbols that match the pattern:
#
# export: Keep the symbols that match the pattern. If pattern is a class pattern, then export members (methods and fields) also.
# Exports are ignored when a suite is built as an application.
#
# export_class: export the specified class, but not necessarily the enclosing methods and fields.
# Exports are ignored when a suite is built as an application.
#
# dynamic: Will keep the symbol, even if the suite is built as an application. Use for classes loaded by Class.findClass().
#
# internal: Remove the symbols that match the pattern.
# If the matching method or class is not used within the suite, it may be removed by optimization.
#
# cross_suite_private: This mode is only enabled when ENABLE_DYNAMIC_CLASSLOADING is true, otherwise this is treated as internal.
# Remove the symbols that match the pattern, but keep the matching methods
# even if not called within the suite. This is used when multiple suites are compiled together.
# The child suites can call methods even though symbols were stripped.
#
#
# There are 4 different types of patterns that can be specified:
#
# 1. A package pattern ends with ".*" or ".**". The former is used to match an
# element in a package and the latter extends the match to include any sub-package.
# For example:
#
# java.**=export
# javax.**=export
# com.sun.**=internal
# com.sun.squawk.*=export
#
# This will keep all the symbols in any package starting with "java." or "javax.".
# All symbols in a package starting with "com.sun." will also be stripped except
# for symbols in the "com.sun.squawk" package.
#
# This also show the precedence between patterns. A more specific pattern takes
# precedence over a more general pattern. If two patterns matching some given input
# are identical, then the one occurring lower in the properties file has higher precedence.
#
# 2. A class pattern with a wildcard package specification contains a ".*" or ".**". between
# a package prefix and a class name.
# For example:
#
# com.sun.squawk.io.j2me.*.Protocol
# or
# com.sun.squawk.io.j2me.**.Protocol
#
# 3. A class pattern is a fully qualified class name. For example:
#
# com.sun.squawk.Isolate=export
#
# 4. A field or method pattern is a fully qualified class name joined to a field or method
# name by a '#' and (optionally) suffixed by parameter types for a method. For example:
#
# com.sun.squawk.Isolate#isTckTest=internal
# com.sun.squawk.Isolate#clearErr(java.lang.String)=export
# com.sun.squawk.Isolate#removeThread(com.sun.squawk.VMThread,boolean)=internal
#
# The different pattern types have precedence levels 1-4, with 4 being the highest.
# If a particular symbol is matched by more than one specified pattern, then the pattern with
# the highest precedence is used.
#########################################################################################
#for tck tests and custom vm, need to
java.**=export
javax.**=export
com.sun.**=internal
# for tck tests:
javasoft.**=dynamic
_names00401m1=dynamic
com.sun.cldc.communication.http.HttpClient=dynamic
com.sun.cldc.communication.serial.SerialClient=dynamic
com.sun.squawk.realtime.**=export
com.sun.javacard.**=export
# TODO: Find a way to remove this from the API,
# only kept around to get Sun SPOT javadoc/API
# work ok
com.sun.midp.midlet.MIDletPeer=export_class
com.sun.midp.midlet.MIDletTunnel=export
com.sun.squawk.DoBlock=export
com.sun.squawk.CallbackManager=export
com.sun.squawk.CrossIsolateThread=export
com.sun.squawk.Isolate=export
com.sun.squawk.Isolate#getLeafSuite=internal
com.sun.squawk.Isolate#getChildThreads=internal
com.sun.squawk.Isolate#getChildThreadCount=internal
com.sun.squawk.Isolate#getDebugger=internal
com.sun.squawk.Isolate#getTranslator=internal
com.sun.squawk.Isolate#getDefaultTranslator=internal
com.sun.squawk.Isolate#updateBreakpoints=internal
com.sun.squawk.Isolate#stderr=internal
com.sun.squawk.Isolate#stdout=internal
com.sun.squawk.Isolate#isClassKlassInitialized=internal
com.sun.squawk.Isolate#cleanupMailboxes=internal
com.sun.squawk.Isolate#forgetMailbox=internal
com.sun.squawk.Isolate#forgetMailboxAddress=internal
com.sun.squawk.Isolate#recordMailbox=internal
com.sun.squawk.Isolate#recordMailboxAddress=internal
com.sun.squawk.Isolate#isCurrentIsolateInitialized=internal
com.sun.squawk.Isolate$LifecycleListener=export
com.sun.squawk.GC=export_class
com.sun.squawk.GC#getCollector=export
com.sun.squawk.GC#freeMemory=export
com.sun.squawk.GC#totalMemory=export
com.sun.squawk.GC#getPartialCount=export
com.sun.squawk.GC#getFullCount=export
com.sun.squawk.GC#getTotalCount=export
com.sun.squawk.GC#allObjectsFromDo=export
com.sun.squawk.GarbageCollector=export
com.sun.squawk.GarbageCollector#references=internal
com.sun.squawk.GarbageCollector#numBytesLastScanned=internal
com.sun.squawk.ObjectMemoryLoader=export_class
com.sun.squawk.ObjectMemoryLoader#loadHeader=export
com.sun.squawk.ObjectMemoryFile=export_class
# Why export all?
com.sun.squawk.Lisp2GenerationalCollector=export
com.sun.squawk.Unsafe=export
com.sun.squawk.Address=export
com.sun.squawk.UWord=export
com.sun.squawk.Offset=export
com.sun.squawk.ResourceFile=export
com.sun.squawk.VM=export
com.sun.squawk.VM#reifyCurrentStack=internal
com.sun.squawk.VM#lookupNative=internal
com.sun.squawk.VM#lookupMailbox=internal
com.sun.squawk.VM#registerMailbox=internal
com.sun.squawk.VM#unregisterMailbox=internal
com.sun.squawk.VM#isExported=cross_suite_private
com.sun.squawk.VM#isCrossSuitePrivate=cross_suite_private
com.sun.squawk.VM#isDynamic=cross_suite_private
com.sun.squawk.VM#isInternal=cross_suite_private
com.sun.squawk.VM#LONG_COPYRIGHT=internal
com.sun.squawk.VM#SHORT_COPYRIGHT=internal
com.sun.squawk.VM#printThread=internal
com.sun.squawk.VM#outPrintThread=internal
com.sun.squawk.VM#getChannel=internal
com.sun.squawk.VM#freeChannel=internal
com.sun.squawk.VM#getNextHashcode=internal
com.sun.squawk.VM#getOutOfMemoryError=internal
com.sun.squawk.VM#isThreadingInitialized=internal
com.sun.squawk.VM#addShutdownHook=export
com.sun.squawk.VM#removeShutdownHook=export
com.sun.squawk.VM#arraycopyObject0=internal
com.sun.squawk.VM#arraycopyPrimitive0=internal
com.sun.squawk.VM#getData=internal
com.sun.squawk.VM#setData=internal
com.sun.squawk.VM#copyBytes=internal
com.sun.squawk.VM#setBytes=internal
com.sun.squawk.VM$Stats=export
com.sun.squawk.Test=export
com.sun.squawk.TestJava5=export
# TEMP: delete
com.sun.squawk.ISleepManager=export
# TEMP: SWAP
com.sun.squawk.flash.**=export
com.sun.squawk.imp.ImpGlobal=internal
com.sun.squawk.imp.ImpGlobal#forceEraseRecordStores=export
com.sun.squawk.imp.ImpGlobal#getRecordStoreManagerErasedSequenceCurrentValue=export
com.sun.squawk.imp.ImpGlobal#resetRecordStoreManager=export
com.sun.squawk.io.BufferedReader=export
com.sun.squawk.io.BufferedWriter=export
com.sun.squawk.io.ConnectionBase=export
com.sun.squawk.io.MulticastOutputStream=export
com.sun.squawk.io.ServerConnectionHandler=export
com.sun.squawk.io.mailboxes.**=export
com.sun.squawk.io.mailboxes.Mailbox=internal
com.sun.squawk.io.mailboxes.MailboxAddress=internal
com.sun.squawk.io.mailboxes.MailboxHandler=internal
com.sun.squawk.io.mailboxes.SharedMailboxHandler=internal
com.sun.squawk.io.mailboxes.ServerChannel$ServerChannelMailboxHandler=internal
### Public utilities:
com.sun.squawk.util.Arrays=export
com.sun.squawk.util.ByteArrayInputStreamWithSetBytes=export
com.sun.squawk.util.ByteArrayOutputStreamWithGetBytes=export
com.sun.squawk.util.Comparer=export
com.sun.squawk.util.IntHashtable=export
com.sun.squawk.util.IntHashtableEntry=export
com.sun.squawk.util.IntHashtableVisitor=export
com.sun.squawk.util.LineReader=export
com.sun.squawk.util.MathUtils=export
com.sun.squawk.util.NotImplementedYetException=export
com.sun.squawk.util.SquawkHashtable=export
com.sun.squawk.util.HashtableEntry=export
com.sun.squawk.util.SquawkHashtable#setRehasher=internal
#com.sun.squawk.util.SquawkHashtable#getEntryTable=internal
#com.sun.squawk.util.SquawkHashtable#enumerationsToString=internal
com.sun.squawk.util.SquawkVector=export
com.sun.squawk.util.SquawkVector#enumerationToString=internal
com.sun.squawk.util.StringTokenizer=export
com.sun.squawk.util.UnexpectedException=export
### Squawk versions of javax.microedition.io.
com.sun.squawk.microedition.io.**=export
### used by squawk and spot lib
com.sun.squawk.vm.ChannelConstants=export
### document these as publicly useful
com.sun.cldc.jna.**=export
com.sun.squawk.io.j2me.multicast.Protocol=export
com.sun.squawk.io.j2me.multicastoutput.Protocol=export
com.sun.cldc.i18n.StreamReader=export
com.sun.cldc.i18n.StreamWriter=export
### classes loaded dynamically:
com.sun.squawk.imp.MIDletMainWrapper=dynamic
com.sun.cldc.i18n.j2me.ISO8859_1_Reader=dynamic
com.sun.cldc.i18n.j2me.ISO8859_1_Writer=dynamic
com.sun.cldc.i18n.j2me.UTF_8_Reader=dynamic
com.sun.cldc.i18n.j2me.UTF_8_Writer=dynamic
com.sun.cldc.util.j2me.CalendarImpl=dynamic
# All GCF protocols may be dynamic (some may be excluded)
com.sun.squawk.io.j2me.*.Protocol=dynamic
### for PLATFORM_TYPE=NATIVE:
com.sun.cldc.jna.platform.Posix=dynamic
com.sun.cldc.jna.platform.Spot=dynamic
com.sun.cldc.jna.platform.Windows=dynamic
com.sun.squawk.platform.posix.**=dynamic
### symbols that the translator might call, so we can't delete the
### underlying methods, although we can still strip the symbols:
com.sun.squawk.TranslatorInterface=cross_suite_private
com.sun.squawk.ClassFileMethod=cross_suite_private
com.sun.squawk.ClassFileConstantField=cross_suite_private
com.sun.squawk.ClassFileMember=cross_suite_private
com.sun.squawk.ClassFileField=cross_suite_private
com.sun.squawk.Field=cross_suite_private
com.sun.squawk.Modifier=cross_suite_private
com.sun.squawk.Modifier#<init>=internal
com.sun.squawk.Method=cross_suite_private
com.sun.squawk.Member=cross_suite_private
com.sun.squawk.Suite#addNoClassDefFoundErrorClassNames=cross_suite_private
com.sun.squawk.Suite#contains=cross_suite_private
com.sun.squawk.Suite#getClassCount=cross_suite_private
com.sun.squawk.Suite#getKlass=cross_suite_private
com.sun.squawk.Suite#getName=cross_suite_private
com.sun.squawk.Suite#getParent=cross_suite_private
com.sun.squawk.Suite#installFillerClassAndMetadata=cross_suite_private
com.sun.squawk.Suite#installResource=cross_suite_private
com.sun.squawk.Suite#isBootstrap=cross_suite_private
com.sun.squawk.Suite#lookup=cross_suite_private
com.sun.squawk.Suite#save=cross_suite_private
com.sun.squawk.Suite#setProperty=cross_suite_private
com.sun.squawk.Suite#setUnusedClasses=cross_suite_private
com.sun.squawk.Suite#strip=cross_suite_private
com.sun.squawk.ExceptionHandler=cross_suite_private
com.sun.squawk.ScopedLocalVariable=cross_suite_private
com.sun.squawk.MethodBody=cross_suite_private
com.sun.squawk.Klass=cross_suite_private
com.sun.squawk.pragma.GlobalStaticFields=export_class
com.sun.squawk.pragma.GlobalStaticFieldsInherited=export_class
com.sun.squawk.pragma.PragmaException=export_class
com.sun.squawk.pragma.HostedPragma=export_class
com.sun.squawk.pragma.NativePragma=export_class
com.sun.squawk.pragma.ForceInlinedPragma=export_class
com.sun.squawk.pragma.NotInlinedPragma=export_class
com.sun.squawk.pragma.AllowInlinedPragma=export_class
### TODO: Do we really want this?
com.sun.squawk.Klass#asClass=export
com.sun.squawk.Klass#asKlass=export
# deprecated?
com.sun.squawk.Klass#getDataMapEntry=internal
com.sun.squawk.Klass#getDataMapLength=internal
### TODO: Do we really want this?
#com.sun.squawk.Klass#lookupMethod=export
#com.sun.squawk.Klass#main=export
com.sun.squawk.util.ArrayHashtable=cross_suite_private
com.sun.squawk.util.ComputationTimer=internal
com.sun.squawk.util.ComputationTimer$Computation=internal
com.sun.squawk.util.ComputationTimer$ComputationException=internal
com.sun.squawk.util.Tracer=cross_suite_private
com.sun.squawk.util.StructuredFileInputStream=cross_suite_private
com.sun.squawk.util.Assert=cross_suite_private
com.sun.squawk.vm.Global#getGlobalInts=cross_suite_private
com.sun.squawk.vm.Global#getGlobalAddrs=cross_suite_private
com.sun.squawk.vm.Global#getGlobalOops=cross_suite_private
com.sun.squawk.vm.OPC=cross_suite_private
com.sun.squawk.vm.OPC#<init>=internal
com.sun.squawk.io.mailboxes.**=export
com.sun.squawk.peripheral.**=export
com.sun.squawk.peripheral.SimulatedNorFlashSector=internal
com.sun.squawk.peripheral.SimulatedNorFlashAllocator=internal
com.sun.squawk.peripheral.PeripheralRegistry#registeredPeripherals=internal
com.sun.squawk.peripheral.PeripheralRegistry#peripheralArraysByType=internal
com.sun.squawk.security.verifier.SignatureVerifierException=export
com.sun.squawk.security.verifier.SignatureVerifier=export
com.sun.squawk.security.HexEncoding=export
# add way to agregate properties files instead of placing here:
com.sun.mep.bench.Chess.ChessBenchmark=dynamic
com.parthus.CryptoBench.CryptoBench=dynamic
com.hp.kXML.kxmlBenchmark=dynamic
com.motorola.bench.parallel.ParallelBench=dynamic
com.sun.mep.bench.png.PNGBenchmark=dynamic
com.motorola.bench.parallel.data01=dynamic
com.motorola.bench.parallel.data02=dynamic