NativeJavaGcjPackages
|
Size: 1626
Comment: remove "may/should"
|
Size: 2035
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 18: | Line 18: |
| * Each jar file in a package installed into /usr/share/java has a corresponding file /usr/lib/gcj-4.0/ holding the corresponding so file containing the natively compiled java code. * The jar file is built using the default java compiler using the arguments -O2 -fjni -findirect-dispatch. * To workaround limits on the number of class files and size of the byte-code, the compilation is done using the aot-compile-deb script. * update aot-compile-deb to compile the class/jar files in the temporary installation directories and install the results in the -gcj package(s). * The debugging symbols are provided in a corresponding gcjdbg package. |
Each jar file in a package installed into /usr/share/java has a corresponding file /usr/lib/gcj-4.0/ holding the corresponding so file containing the natively compiled java code. The jar file is built using the default java compiler using the arguments -O2 -fjni -findirect-dispatch. gij is capable of working in both an interpreted mode and a compiled mode. In order to work with compiled packages, we will provide an extra package for each Java application and library that ends in -gcj which contains the compiled binaries. To workaround limits on the number of class files and size of the byte-code, the compilation is done using the aot-compile-deb script. The debugging symbols are provided in a corresponding -gcjdbg package. |
| Line 26: | Line 28: |
| * Provide an example implementation for one package: * add the two packages to the control file * call aot-compile-deb from the deb file (maybe add a debhelper to do that) * add gcj-dbtool calls to the postinst and preinst files (maybe add a debhelper to do that) * strip the symbols and put the symbols into the -gcjdbg package. * Update all other java packages (about 150 in main and universe) |
1. Update aot-compile-deb to compile the class/jar files in the temporary installation directories and install the results in the -gcj package(s). 2. Write a helper script for aot-compile-deb and gcj-dbtool calls. This helper script may be debhelper-based, cdbs based, or completely independant of both. 3. We will provide an example implementation for one package. Steps to follow: * add the two packages to the control file. * call aot-compile-deb from the deb file. * add gcj-dbtool calls to the postinst and preinst files. * strip the symbols and put the symbols into the -gcjdbg package. 4. Coordinate community/developer support around updating all other Java packages (about 150 in main and universe) |
Launchpad Entry: https://launchpad.net/distros/ubuntu/+spec/native-java-gcj
Created: 20051105 by MatthiasKlose
Contributors:
Packages affected: all packages containing java code
Summary
For each package containing java code, provide a corresponding -gcj package with java compiled to native code.
Rationale
Faster execution compared to the gij-interpreted java code. Tradeoff is higher memory consumption.
Design
Each jar file in a package installed into /usr/share/java has a corresponding file /usr/lib/gcj-4.0/ holding the corresponding so file containing the natively compiled java code. The jar file is built using the default java compiler using the arguments -O2 -fjni -findirect-dispatch.
gij is capable of working in both an interpreted mode and a compiled mode. In order to work with compiled packages, we will provide an extra package for each Java application and library that ends in -gcj which contains the compiled binaries.
To workaround limits on the number of class files and size of the byte-code, the compilation is done using the aot-compile-deb script.
The debugging symbols are provided in a corresponding -gcjdbg package.
Implementation
1. Update aot-compile-deb to compile the class/jar files in the temporary installation directories and install the results in the -gcj package(s).
2. Write a helper script for aot-compile-deb and gcj-dbtool calls. This helper script may be debhelper-based, cdbs based, or completely independant of both.
3. We will provide an example implementation for one package.
Steps to follow:
- add the two packages to the control file.
- call aot-compile-deb from the deb file.
- add gcj-dbtool calls to the postinst and preinst files.
- strip the symbols and put the symbols into the -gcjdbg package.
4. Coordinate community/developer support around updating all other Java packages (about 150 in main and universe)
NativeJavaGcjPackages (last edited 2008-08-06 16:38:46 by localhost)