src/share/vm/opto/phase.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/phase.hpp	Fri Jun 13 09:30:26 2014
--- new/src/share/vm/opto/phase.hpp	Fri Jun 13 09:30:25 2014

*** 25,35 **** --- 25,37 ---- #ifndef SHARE_VM_OPTO_PHASE_HPP #define SHARE_VM_OPTO_PHASE_HPP #include "runtime/timer.hpp" ! class Compile; ! class MergeMemNode; + class IfNode; + class PhaseGVN; //------------------------------Phase------------------------------------------ // Most optimizations are done in Phases. Creating a phase does any long // running analysis required, and caches the analysis in internal data // structures. Later the analysis is queried using transform() calls to
*** 112,124 **** --- 114,137 ---- // Subtimers for _t_output static elapsedTimer _t_instrSched; static elapsedTimer _t_buildOopMaps; #endif + + // Generate a subtyping check. Takes as input the subtype and supertype. + // Returns 2 values: sets the default control() to the true path and + // returns the false path. Only reads from constant memory taken from the + // default memory; does not write anything. It also doesn't take in an + // Object; if you wish to check an Object you need to load the Object's + // class prior to coming here. + // Used in GraphKit and PhaseMacroExpand + static Node* gen_subtype_check(Node* subklass, Node* superklass, Node** ctrl, MergeMemNode* mem, PhaseGVN* gvn); + public: Compile * C; Phase( PhaseNumber pnum ); + #ifndef PRODUCT static void print_timers(); #endif };

src/share/vm/opto/phase.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File