ibm-information-center/dist/eclipse/plugins/i5OS.ic.rbam6_5.4.0.1/rbam6licopt.htm

334 lines
22 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="LICOPT parameter" />
<meta name="abstract" content="The Licensed Internal Code options (LICOPT) parameter allows you to specify individual compile-time options." />
<meta name="description" content="The Licensed Internal Code options (LICOPT) parameter allows you to specify individual compile-time options." />
<meta name="DC.Relation" scheme="URI" content="rbam6expand.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rbam6licopt" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>LICOPT parameter</title>
</head>
<body id="rbam6licopt"><a name="rbam6licopt"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">LICOPT parameter</h1>
<div><p>The Licensed Internal Code options (LICOPT) parameter allows you
to specify individual compile-time options. </p>
<div class="section"><p>This parameter is intended for the advanced programmer who understands
the potential benefits and drawbacks of each selected type of compiler option.</p>
<p>The
following table shows the strings that are recognized by the Licensed Internal
Code option (LICOPT) parameter. These strings are not case sensitive, but
they are shown as mixed case for readability.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><caption>Table 1. LICOPT parameter
strings</caption><thead align="left"><tr><th valign="top" width="36.18090452261307%" id="d0e25">String</th>
<th valign="top" width="63.81909547738693%" id="d0e27">Description</th>
</tr>
</thead>
<tbody><tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AllFieldsVolatile</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">If set, treats all fields as volatile.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAllFieldsVolatile</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">If set, no fields are treated as volatile.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AllowBindingToLoadedClasses</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Indicates that temporary class representations that were created as
a result of defineClass calls within a running Java™ virtual machine may be tightly bound
to other class representations within the same Java virtual machine.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAllowBindingToLoadedClasses</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Indicates that temporary class representations that were created as
a result of defineClass calls within a running Java virtual machine may not be tightly
bound to other class representations within the same Java virtual
machine.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AllowClassCloning</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">When multiple Java programs are generated for a JAR file,
allows copies of classes from one program to be included in the generated
code for another program. Facilitates aggressive inlining.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAllowClassCloning</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not allow copies of classes from one program to be included in
the generated code for another program.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AllowInterJarBinding</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Allows tight binding to classes outside the class or JAR file being
compiled. Facilitates aggressive optimizations.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAllowInterJarBinding</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not allow tight binding to classes outside the class or JAR file
being compiled. This overrides the presence of the CLASSPATH and JDKVER parameters
on CRTJVAPGM.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AllowMultiThreadedCreate</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">CRTJVAPGM uses multiple threads, if they are available, during creation.
On multiprocessor systems this enables the use of more than one processor
at a time, reducing the overall time required for a long CRTJVAPGM operation.
However, the CRTJVAPGM will use more system resources, leaving fewer resources
available for other applications.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAllowMultiThreadedCreate</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Indicates that CRTJVAPGM performs as usual, using only one thread.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AnalyzeObjectLifetimes</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Performs analysis using visible classes to determine which objects
are short-lived. A short-lived object does not outlive the method in which
it is allocated, and may be subject to more aggressive optimizations.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAnalyzeObjectLifetimes</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not perform analysis of short-lived objects.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AllowBindingWithinJar</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Indicates that class representations within a ZIP file or JAR file
may be tightly bound to other class representations within the same ZIP file
or JAR file.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAllowBindingWithinJar</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Indicates that class representations within a ZIP file or JAR file
may not be tightly bound to other class representations within the same ZIP
file or JAR file.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AllowInlining</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Tells the translator that it is permitted to inline local methods. This
is the default for optimization levels 30 and 40.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAllowInlining</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not tell the translator that it is permitted to inline local methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">AssumeUnknownFieldsNonvolatile</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">When the attributes of a field in an external class cannot be determined,
this parameter generates code by assuming that the field is non-volatile.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoAssumeUnknownFieldsNonvolatile</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">When the attributes of a field in an external class cannot be determined,
this parameter generates code by assuming that the field is volatile.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">BindErrorHandling</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Specifies what action should be taken if, as a result of honoring the
AssumeUnknownFieldsNonvolatile, PreresolveExtRef, or PreLoadExtRef Licensed
Internal Code option, the Java virtual machine class loader detects
that a class representation contains method representations, which cannot
be used in the current context.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">BindInit</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Uses bound call to local init methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoBindInit</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not use bound call to local init methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">BindSpecial</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Uses bound call to local special methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoBindSpecial</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not use bound call to local special methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">BindStatic</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Uses bound call to local static methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoBindStatic</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not use bound call to local static methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">BindTrivialFields</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Binds trivial field references during program creation.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoBindTrivialFields</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Resolves field references at first touch.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">BindVirtual</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Uses bound call to local final virtual methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoBindVirtual</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not use bound call to local final virtual methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">DeferResolveOnClass</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Takes a string parameter that is presumed to be the name of a class
(for example, java.lang.Integer). When you set PreresolveExtRef to optimization
level 40, classes that are specified with DeferResolveOnClass are not in the
preresolve operation. This is useful if some classes in unused paths in the
code are not in the CLASSPATH. It allows you to use optimization level 40
regardless of this by specifying a "DeferResolveOnClass='somepath.someclass'"
for each missing class. Multiple DeferResolveOnClass entries are allowed.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">DevirtualizeFinalJDK</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Allows CRTJVAPGM to use knowledge of the standard JDK to devirtualize
calls to those JDK methods that are known to be final methods or members of
final classes. It is the default at optimization levels 30 and 40.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoDevirtualizeFinalJDK</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not allow CRTJVAPGM to use knowledge of the standard JDK to devirtualize
calls to those JDK methods that are known to be final methods or members of
final classes.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">DevirtualizeRecursive</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Causes special code to be generated in the case of some recursive methods
and eliminates much of the overhead of the recursive method calls. However,
additional checking logic is generated on initial entry to the recursive method,
so performance may not improve in cases of shallow recursion.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoDevirtualizeRecursive</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not cause special code to be generated in the case of some recursive
methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">DisableIntCse</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Causes certain common subexpression optimizations to be disabled when
generating code for certain types of integer expressions. This may improve
overall optimization by exposing other optimization opportunities to the Optimizing
Translator.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoDisableIntCse</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Causes certain common subexpression optimizations to not be disabled
when generating code for certain types of integer expressions. This generally
results in better performing code at lower optimization levels.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">DoExtBlockCSE</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Performs extended basic block common subexpression elimination.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoDoExtBlockCSE</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not perform extended basic block common subexpression elimination.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">DoLocalCSE</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Performs local common subexpression elimination.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoDoLocalCSE</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not perform local common subexpression elimination.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">EnableCseForCastCheck</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">If set, generates code for castcheck that can be DAGed to an earlier
instance.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 "> NoEnableCseForCastCheck </td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Is not set; does not generate code for castcheck that can be DAGed
to an earlier instance.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">ErrorReporting</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Runtime error reporting field**: Provides the option to fail the compile
when encountering verification or class format errors. 0=Report all errors
immediately; 0=Report all errors immediately; 1=Defer reporting of bytecode
verification errors; 2=Defer reporting of bytecode verification errors and
class format errors to runtime.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">HideInternalMethods</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Causes methods in cloned classes to be made internal, allowing the
methods to be omitted if there are no references to them or if all references
are inlined. The default is HideInternalMethods for optimization 40 and NoHideInternalMethods
for optimization between 0 and 30.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">InlineArrayCopy</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Causes the inlining of the System.arraycopy method in some cases of
scalar arrays.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoInlineArrayCopy</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Prevents the inlining of the System.arraycopy method.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">InlineInit</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Inlines init methods for java.lang classes.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoInlineInit</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not inline init methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">InlineMiscFloat</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Inlines miscellaneous float/double methods from java.lang.Math.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoInlineMiscFloat</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not inline miscellaneous float/double methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">InlineMiscInt</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Inlines miscellaneous int/long methods from java.lang.Math.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoInlineMiscInt</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not inline miscellaneous int/long methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">InlineStringMethods</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Permits inlining of certain methods from java/lang/String.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoInlineStringMethods</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Inhibits inlining of certain methods from java/lang/String.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">InlineTransFloat</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Inlines transcendental float/double methods from java.lang.Math.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoInlineTransFloat</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Does not inline transcendental float/double methods.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">OptimizeJsr</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Generates better code for "jsr" bytecodes that have a single target.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoOptimizeJsr</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Suppresses generation of better code for "jsr" bytecodes that have
a single target.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">PreloadExtRef</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Indicates that referenced classes may be preloaded (without class initialization)
upon method entry.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoPreloadExtRef</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Indicates that referenced classes may not be preloaded upon method
entry. However, the PreresolveExtRef parameter overrides this setting and
causes referenced classes to be preloaded and initialized.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">PreresolveExtRef</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Preresolves referenced methods at method entry.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoPreresolveExtRef</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Resolves method references at first touch. Use to resolve "class not
found" exceptions on programs that run on other machines.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">ProgramSizeFactor</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">When a JAR file may be large enough to require multiple Java programs,
this numeric value (default 100) is used to determine how large each program
can grow.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">ShortCktAthrow</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">If set, attempt to short-circuit athrows.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoShortCktAthrow</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Is not set, does not attempt to short-circuit athrows.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">ShortCktExSubclasses</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">If set, recognizes some subclasses of Exception and short-circuit them
directly.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoShortCktExSubclasses</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">If not set, does not recognize some subclasses of Exception and short-circuit
them directly.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">StrictFloat</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Inhibits floating-point optimizations that are not strictly compliant
with the Java specification.</td>
</tr>
<tr><td valign="top" width="36.18090452261307%" headers="d0e25 ">NoStrictFloat</td>
<td valign="top" width="63.81909547738693%" headers="d0e27 ">Permits floating-point optimizations that are not strictly compliant
with the Java specification.</td>
</tr>
</tbody>
</table>
</div>
<p>The double asterisk (**) signifies that these strings require a
numerical value for input in the syntax of stringname=number (with no spaces
in between).</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rbam6expand.htm" title="This section contains the expanded descriptions of some of the parameters commonly used in the CL commands.">Commonly used parameters</a></div>
</div>
</div>
</body>
</html>