Excelsior JET User’s Guide
Table Of Contents
00
00
00
0000000000000000000000
Overview
Excelsior JET at a glance
Established features
JET Optimizer
JET Runtime
Installation Toolkit
What is new in Excelsior JET 4.1
Installation and setup
System requirements
Installation
Profiles
Updates
Update installation
Update management
Cleaning up backed up configurations
JET Setup options summary
The JET Control Panel
Before you begin
Starting Excelsior JET Control Panel
JET Control Panel overview
Working with projects
Creating a new project
Opening a project
Saving a project
Saving a project under a different name
Step 1: Describing an application
Description form
Manual setting
Step 2: Selecting classes to be compiled
Composing a compilation set
Project inconsistencies
Statistics
Step 3: Selecting resource packing mode
Selecting a packing mode
Examples of resources packing
Step 4: Setting options
Optimizations
Memory Management
JIT compiler
Advanced settings
Step 5: Specifying target settings
Executable name and project location
Runtime selection
Creating trial versions
Stack trace support
Step 6: Selecting application appearance
Splash screen
Step 7: Compiling your application
Building the executable
Creating build script
Packaging your application
Remedying project consistency flaws
Correcting build errors
JC tutorial
Simple applications
Command line parameters
Project files
File lookup and placement
Specifying input files
Packages
Dynamic loading
Shared libraries
Understanding compiler messages
JC reference
Configuring the compiler
System search paths
Portable filename notation
Working configuration
Directory hierarchies
Redirection file
Options
Configuration file
Compiler memory usage
Invoking the compiler
Precedence of compiler options
Compiler operation modes
MAKE mode
PROJECT mode
OPTIONS submode
EQUATIONS submode
HELP mode
Files generated during compilation
Make strategy
Control file preprocessing
Project files
The !module directive
The !batch directive
Internal directives
Compiler options and equations
Options
Options reference
PACKCLASSES - Pack class files into the executable
PACKRESOURCES - Pack resources into the executable
DISABLECLASSSAVING - Disable caching of JIT-compiled class files
DISABLESTACKTRACE - Disable support for stack trace
GENDLL - Generate a shared library
GENEXTENDEDFP - Allow 80-bit format for intermediate FP values
GENSTACKALLOC - Generate code with stack allocated objects
GENSTACKTRACE - Generate stack trace data
GUI - Suppress console window
IGNORECLASSABSENCE - ignore import of absent classes
IGNORECLASSDUPLICATION - ignore duplicated classes
IGNOREMEMBERABSENCE - ignore usage of absent members
INLINE - Enable in-line method expansion
NOFF - Suppress notices messages
VERIFYALL - Force strict verification
WOFF - Suppress warning messages
Equations
Equations reference
CLASSABSENCE - Treatment of import of absent classes
COMPILERHEAP - Heap limit of the compiler
COMPONENTCLASSPATH - CLASSPATH setting
DECOR - Control of compiler messages
DLLNAME - DLL name
ERRFMT - Error message format
ERRLIM - Maximum number of errors
EXPIRE - expiration date
EXPIREMSG - expiration message
SPLASHCLOSEONTITLE - splash auto hide mode
HEAPLIMIT - Generated program heap limit
IMAGEBASE - Executable image base
INLINELIMIT - Maximum size of inlineable method
INLINETOLIMIT - Maximum size of inlined-to method
JETVMPROP - Hard-wired system properties
JETRT - JET runtime flavor
LINK - Linker command line
LOOKUP - Lookup directive
MAIN - Sets main class of application
OUTPUTDIR - pathname of the target directory
OUTPUTNAME - resutling executable name
PRJ - Project file name
PROJECT - Project name
STACKLIMIT - Generated program stack limit
SPLASH - splash screen image
SPLASHCLOSEONTITLE - splash auto hide mode
SPLASHMINTIME - splash delay
TEMPLATE - linker response file template
Internal options and equations
JPIIPROJECT - absolute pathname of a JetPackII project file
Compiler messages
Java bytecode front-end errors and warnings
Project system errors
Symbol files read/write errors
Warnings
Native back-end warnings
Native back-end errors
Internal errors
Application considerations
Runtime Selection
Available runtimes
Which runtime fits best for my application?
How do I enable a particular runtime?
Code performance
Scalability
Multiprocessor systems
Number of threads
Java system properties
How to set system properties
JET runtime properties
Memory management
GC ratio
Maximum heap size
Handling low memory
Parallel hardware
Creating trial versions
Application appearance
Splash screen
Stack trace
How to enable stack trace
How to disable stack trace
Assertions
Resource packing
Character encodings
Intellectual property protection
Bytecode consistency checks
Baseline compilation
Dynamic linking
Intro
Invocation shared libraries
Multi-component applications
Building multi-component applications
Using multiple components
Mixed Compilation Model
Overview
Quick start
When the mixed model operates
When JET Runtime uses MCM
When you may use MCM
Using the mixed model
JIT compiler selection
Caching JIT’ed code
Reflective shield
JIT cache optimization
Challenges
The solution
How to optimize a JIT cache
Incremental fusion
xjava launcher
Synopsis
Options
JIT cache optimization with xjava
Usage example
Deployment Automation
Excelsior deployment technology
Intro
JetPackII
Excelsior Installation Toolkit
Before You Start
Starting JetPackII
JetPackII Overview
Working With Projects
Creating a new project
Opening a project
Saving a project
Saving a project with a different name
Package Files Panel
Step 1: Creating A New Package
Creating a new installation
Creating an update
Step 2: Adding Application Files
Adding files to the installation
Packaging JIT cache
Step 3: Setting Up Separate Resources and Java System Properties
Setting the classpath entries
Editing Java properties
Step 4: Selecting Optional JET Runtime Components
Step 5: Performing a Trial Run
Selecting a trial run directory
Working with trial run configurations
Configuring a trial run
Performing all trial runs
Troubleshooting
Skipping trial runs
Step 6: Selecting a Back-End
Excelsior Installer setup
Self-contained directory
Installation into multiple directories
Step 7: Specifying Installation Settings
Step 8: Specifying Installation Settings Of Windows Services
Step 9: Creating The Installation Package
Packaging native methods libraries
Installations protected by license managers
Relocation of JetPackII projects
Deployment Utilities
jpiib
xpackage
xbind
Troubleshooting
Compilation problems
Run-time problems
Application performance
Interoperability
Deployment
Customizing the compiler
Customizing compiler messages
Error message format specification
Regular expression
Template files
Using equation values
File name construction
Iterators
Examples