comparison src/share/vm/opto/bytecodeInfo.cpp @ 367:194b8e3a2fc4

6384206: Phis which are later unneeded are impairing our ability to inline based on static types Reviewed-by: rasbold, jrose
author never
date Wed, 17 Sep 2008 12:59:52 -0700
parents 4a4c365f777d
children f6da6f0174ac
comparison
equal deleted inserted replaced
366:8261ee795323 367:194b8e3a2fc4
23 */ 23 */
24 24
25 #include "incls/_precompiled.incl" 25 #include "incls/_precompiled.incl"
26 #include "incls/_bytecodeInfo.cpp.incl" 26 #include "incls/_bytecodeInfo.cpp.incl"
27 27
28 // These variables are declared in parse1.cpp
29 extern int explicit_null_checks_inserted;
30 extern int explicit_null_checks_elided;
31 extern int explicit_null_checks_inserted_old;
32 extern int explicit_null_checks_elided_old;
33 extern int nodes_created_old;
34 extern int nodes_created;
35 extern int methods_parsed_old;
36 extern int methods_parsed;
37 extern int methods_seen;
38 extern int methods_seen_old;
39
40
41 //============================================================================= 28 //=============================================================================
42 //------------------------------InlineTree------------------------------------- 29 //------------------------------InlineTree-------------------------------------
43 InlineTree::InlineTree( Compile* c, const InlineTree *caller_tree, ciMethod* callee, JVMState* caller_jvms, int caller_bci, float site_invoke_ratio ) 30 InlineTree::InlineTree( Compile* c, const InlineTree *caller_tree, ciMethod* callee, JVMState* caller_jvms, int caller_bci, float site_invoke_ratio )
44 : C(c), _caller_jvms(caller_jvms), 31 : C(c), _caller_jvms(caller_jvms),
45 _caller_tree((InlineTree*)caller_tree), 32 _caller_tree((InlineTree*)caller_tree),
515 } 502 }
516 iltp = sub; 503 iltp = sub;
517 } 504 }
518 return iltp; 505 return iltp;
519 } 506 }
520
521 // ----------------------------------------------------------------------------
522 #ifndef PRODUCT
523
524 static void per_method_stats() {
525 // Compute difference between this method's cumulative totals and old totals
526 int explicit_null_checks_cur = explicit_null_checks_inserted - explicit_null_checks_inserted_old;
527 int elided_null_checks_cur = explicit_null_checks_elided - explicit_null_checks_elided_old;
528
529 // Print differences
530 if( explicit_null_checks_cur )
531 tty->print_cr("XXX Explicit NULL checks inserted: %d", explicit_null_checks_cur);
532 if( elided_null_checks_cur )
533 tty->print_cr("XXX Explicit NULL checks removed at parse time: %d", elided_null_checks_cur);
534
535 // Store the current cumulative totals
536 nodes_created_old = nodes_created;
537 methods_parsed_old = methods_parsed;
538 methods_seen_old = methods_seen;
539 explicit_null_checks_inserted_old = explicit_null_checks_inserted;
540 explicit_null_checks_elided_old = explicit_null_checks_elided;
541 }
542
543 #endif