src/share/vm/opto/parse1.cpp

Print this page




 511     }
 512     _tf = C->tf();     // the OSR entry type is different
 513   }
 514 
 515 #ifdef ASSERT
 516   if (depth() == 1) {
 517     assert(C->is_osr_compilation() == this->is_osr_parse(), "OSR in sync");
 518     if (C->tf() != tf()) {
 519       MutexLockerEx ml(Compile_lock, Mutex::_no_safepoint_check_flag);
 520       assert(C->env()->system_dictionary_modification_counter_changed(),
 521              "Must invalidate if TypeFuncs differ");
 522     }
 523   } else {
 524     assert(!this->is_osr_parse(), "no recursive OSR");
 525   }
 526 #endif
 527 
 528   methods_parsed++;
 529 #ifndef PRODUCT
 530   // add method size here to guarantee that inlined methods are added too
 531   if (TimeCompiler)
 532     _total_bytes_compiled += method()->code_size();
 533 
 534   show_parse_info();
 535 #endif
 536 
 537   if (failing()) {
 538     if (log)  log->done("parse");
 539     return;
 540   }
 541 
 542   gvn().set_type(root(), root()->bottom_type());
 543   gvn().transform(top());
 544 
 545   // Import the results of the ciTypeFlow.
 546   init_blocks();
 547 
 548   // Merge point for all normal exits
 549   build_exits();
 550 
 551   // Setup the initial JVM state map.




 511     }
 512     _tf = C->tf();     // the OSR entry type is different
 513   }
 514 
 515 #ifdef ASSERT
 516   if (depth() == 1) {
 517     assert(C->is_osr_compilation() == this->is_osr_parse(), "OSR in sync");
 518     if (C->tf() != tf()) {
 519       MutexLockerEx ml(Compile_lock, Mutex::_no_safepoint_check_flag);
 520       assert(C->env()->system_dictionary_modification_counter_changed(),
 521              "Must invalidate if TypeFuncs differ");
 522     }
 523   } else {
 524     assert(!this->is_osr_parse(), "no recursive OSR");
 525   }
 526 #endif
 527 
 528   methods_parsed++;
 529 #ifndef PRODUCT
 530   // add method size here to guarantee that inlined methods are added too
 531   if (CITime)
 532     _total_bytes_compiled += method()->code_size();
 533 
 534   show_parse_info();
 535 #endif
 536 
 537   if (failing()) {
 538     if (log)  log->done("parse");
 539     return;
 540   }
 541 
 542   gvn().set_type(root(), root()->bottom_type());
 543   gvn().transform(top());
 544 
 545   // Import the results of the ciTypeFlow.
 546   init_blocks();
 547 
 548   // Merge point for all normal exits
 549   build_exits();
 550 
 551   // Setup the initial JVM state map.