src/share/vm/opto/idealGraphPrinter.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/opto/idealGraphPrinter.cpp
src/share/vm/opto/idealGraphPrinter.cpp
Print this page
rev 9032 : 8137167: JEP165: Compiler Control: Implementation task
Summary: Compiler Control JEP
Reviewed-by: roland, twisti
*** 290,316 ****
ciMethod *method = tree->method();
print_method(tree->method(), tree->caller_bci(), tree);
}
! void IdealGraphPrinter::print_inlining(Compile* compile) {
// Print inline tree
if (_should_send_method) {
! InlineTree *inlineTree = compile->ilt();
if (inlineTree != NULL) {
print_inline_tree(inlineTree);
} else {
// print this method only
}
}
}
// Has to be called whenever a method is compiled
! void IdealGraphPrinter::begin_method(Compile* compile) {
! ciMethod *method = compile->method();
assert(_output, "output stream must exist!");
assert(method, "null methods are not allowed!");
assert(!_current_method, "current method must be null!");
head(GROUP_ELEMENT);
--- 290,316 ----
ciMethod *method = tree->method();
print_method(tree->method(), tree->caller_bci(), tree);
}
! void IdealGraphPrinter::print_inlining() {
// Print inline tree
if (_should_send_method) {
! InlineTree *inlineTree = C->ilt();
if (inlineTree != NULL) {
print_inline_tree(inlineTree);
} else {
// print this method only
}
}
}
// Has to be called whenever a method is compiled
! void IdealGraphPrinter::begin_method() {
! ciMethod *method = C->method();
assert(_output, "output stream must exist!");
assert(method, "null methods are not allowed!");
assert(!_current_method, "current method must be null!");
head(GROUP_ELEMENT);
*** 660,679 ****
}
}
}
}
! void IdealGraphPrinter::print_method(Compile* compile, const char *name, int level, bool clear_nodes) {
! print(compile, name, (Node *)compile->root(), level, clear_nodes);
}
// Print current ideal graph
! void IdealGraphPrinter::print(Compile* compile, const char *name, Node *node, int level, bool clear_nodes) {
! if (!_current_method || !_should_send_method || !should_print(_current_method, level)) return;
!
! this->C = compile;
// Warning, unsafe cast?
_chaitin = (PhaseChaitin *)C->regalloc();
begin_head(GRAPH_ELEMENT);
--- 660,677 ----
}
}
}
}
! void IdealGraphPrinter::print_method(const char *name, int level, bool clear_nodes) {
! print(name, (Node *)C->root(), level, clear_nodes);
}
// Print current ideal graph
! void IdealGraphPrinter::print(const char *name, Node *node, int level, bool clear_nodes) {
! if (!_current_method || !_should_send_method || !should_print(level)) return;
// Warning, unsafe cast?
_chaitin = (PhaseChaitin *)C->regalloc();
begin_head(GRAPH_ELEMENT);
*** 720,733 ****
tail(GRAPH_ELEMENT);
_xml->flush();
}
// Should method be printed?
! bool IdealGraphPrinter::should_print(ciMethod* method, int level) {
! intx ideal_graph_level = PrintIdealGraphLevel;
! method->has_option_value("PrintIdealGraphLevel", ideal_graph_level); // update value with per-method value (if available)
! return ideal_graph_level >= level;
}
extern const char *NodeClassNames[];
#endif
--- 718,729 ----
tail(GRAPH_ELEMENT);
_xml->flush();
}
// Should method be printed?
! bool IdealGraphPrinter::should_print(int level) {
! return C->directive()->IGVPrintLevelOption >= level;
}
extern const char *NodeClassNames[];
#endif
src/share/vm/opto/idealGraphPrinter.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File