Skip navigation links

Package org.jikesrvm.compilers.opt.bc2ir

Provides classes that implement the transformation from bytecode to the high-level intermediate representation (HIR).

See: Description

Package org.jikesrvm.compilers.opt.bc2ir Description

Provides classes that implement the transformation from bytecode to the high-level intermediate representation (HIR).

ConvertBCtoHIR is the very first compiler phase in the optimizing compiler. Its job is to call BC2IR which generates the initial HIR. BC2IR collaborates with BBSet (for basic block management), GenerationContext (for information about the generation process and the method that is to be compiled) and GenerateMagic (for non-machine specific magics) and one implementation of GenerateMachineSpecificMagic. BC2IR is also responsible for generating code to deal with on-stack-replacement.

Note that all inlining of application level methods in the optimizing compiler happens in BC2IR. Inlining of runtime services (e.g. creation of new objects, implementation of monitorexit and monitorenter, write barriers, ...) happens during the transition from high-level IR to low-level IR.

Important classes from other packages that relate to the job of BC2IR are the classes that form the IR and the classes that are related to inlining.

For debugging aids, see IRGenOptions and the source code of BC2IR.

Please consult the User Guide and the "Recommended Reading" section on the website for more information about the optimizing compiler and the intermediate representations.

See Also:
IR, org.jikesrvm.compilers.opt.inlining
Skip navigation links