Re: Facts about the Java class file format

pilz@ifi.unizh.ch (\"Markus Pilz\")
30 Oct 1998 13:36:53 -0500

          From comp.compilers

Related articles
Facts about the Java class file format pilz@ifi.unizh.ch (Markus Pilz) (1998-10-17)
Re: Facts about the Java class file format tlh20@cam.ac.uk (Tim Harris) (1998-10-21)
Re: Facts about the Java class file format jgm@CS.Cornell.EDU (Greg Morrisett) (1998-10-24)
Re: Facts about the Java class file format monnier+comp/compilers/news/@tequila.cs.yale.edu (Stefan Monnier) (1998-10-30)
Re: Facts about the Java class file format Jan.Vitek@cui.unige.ch (1998-10-30)
Re: Facts about the Java class file format pilz@ifi.unizh.ch (1998-10-30)
Re: Facts about the Java class file format albaugh@agames.com (1998-11-01)
Re: PowerPC CodePack (Was: Facts about the Java class file format) zalman@netcom.com (1998-11-06)
Re: PowerPC CodePack (Was: Facts about the Java class file format) peter@baileynm.com (1998-11-08)
Re: PowerPC CodePack (Was: Facts about the Java class file format) jean-francois.brouillet@virgin.net (Jean-Francois Brouillet) (1998-11-08)
Re: PowerPC CodePack (Was: Facts about the Java class file format) zalman@netcom.com (1998-11-12)
| List of all articles for this month |
From: pilz@ifi.unizh.ch (\"Markus Pilz\")
Newsgroups: comp.compilers
Date: 30 Oct 1998 13:36:53 -0500
Organization: Department of Computer Science, University of Zurich
References: 98-10-108 98-10-129
Keywords: Java

[Posted and mailed]


In article 98-10-129,
Tim Harris <tlh20@cam.ac.uk> writes:


[...]
> Something else that came to mind while reading the report is whether
> there is much to be gained by analyzing the values which occur as
> operands to bytecode operations -- for example whether there is a useful
> dominance of low values produced by aload/iload/etc.


We have a student here doing this analysis as part of his master thesis.


> [It also occurs to me that small size is important when you're
> transferring a Java app, but less important when you're running it.
> Netscape ships their Java code in zip files, where it's typically
> compressed by about 50%. How much better than that is anyone likely
> to do and still have a format that's useful for execution? -John]


We do not know yet how much better you can get. However, the class
file is clearly the external representation of a compiled Java class
and must not reflect the internal representation used by the virtual
machine, as long the external representation can be translated
efficiently into the internal form at load time. We think that the
actual class file format too much reflects the internal representation
and is not enough optimized for small size. We are exploiting a couple
of optimizations, namely


  o more compact encoding of the constant pool
  o more compact encoding of instructions
  o pack multiple class files together and store the same information only
      once.
  o store secondary information in additional files and load it only
      on demand (e.g. debug information, native code)


Greetings, Markus


--
  email: pilz@ifi.unizh.ch Markus Pilz, University of Zurich
  voice: +41-1-635 67 12 Department of Computer Science
  fax: +41-1-635 68 09 Winterthurerstr. 190, CH-8057 Zurich
  www: http://www.ifi.unizh.ch/~pilz


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.