NativeJavaGcjPackages
Differences between revisions 1 and 2
|
⇤ ← Revision 1 as of 2005-11-05 23:48:11
Size: 1548
Comment: new page
|
Size: 1560
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 3: | Line 3: |
| * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/foo | * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/native-java-gcj |
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.
- To workaround limits on the number of class files and size of the byte-code, the compilation should be done using the aot-compile-deb binary found in the java-gcj-compat package (maybe move that to the gij packaged).
- The debugging symbols are provided in a corresponding gcjdbg package.
Implementation
- 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)
NativeJavaGcjPackages (last edited 2008-08-06 16:38:46 by localhost)