Legend:

The generated instructions differ from byte code in so far that they are not stored in arrays of octets, but instead in an array (or list) of 'instruction'-structures.

34

The generated instructions differ from byte code in so far that they are not stored in arrays of octets, but instead in an array (or list) of 'instruction'-structures. The instructions generated by this phase are somewhat random and unoptimized.

35

35

36

36

== Byte code munging phase ==

37

37

38

This phase does byte code calculations

38

This phase does byte code calculations. One of the things this phase does, is generate the applicable byte codes - although it takes a half-harted stab at choosing the optimal ones, currently.

4. Writing out a file according to the format specified for .class files

46

46

47

48

=== Resolvers ===

49

50

The third step in byte code munging is resolving byte codes to applicable byte codes. In this phase, similar byte codes - like bipush and sipush - are treated as the same. The actual applicable byte code is generated.

51

52

The stab at generating good byte code is half-harted, because byte codes like iconst_1, aload_0, etc, are not used for optimal output.