This class is used as a 'wrapper' to a basic block to hold information that is necessary only for IR generation.
Encapsulates the discovery and maintenance of the set of basic blocks that are being generated during construction of the IR.
This class translates from bytecode to HIR.
Dummy stack slot
Translate from bytecodes to HIR
This class implements the non-machine-specific magics for the opt compiler.
Defines the context in which BC2IR will abstractly interpret a method's bytecodes and populate targetIR with instructions.
Extend BasicBlockLE for handler blocks
Extend BasicBlockLE to support inlining during IR generation.
This class contains flags to control IR generation.
Simulates the Java stack for abstract interpretation in
A phase in the OPT compiler for construction OsrPoint instructions after inlining.
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
(for basic block management),
(for information about the generation process and the method
that is to be compiled) and
(for non-machine specific magics) and one implementation of
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
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.