comparison src/share/vm/opto/parse1.cpp @ 7206:d2f8c38e543d

Merge
author roland
date Fri, 07 Dec 2012 01:09:03 -0800
parents 2aff40cb4703
children 5698813d45eb
comparison
equal deleted inserted replaced
7191:816b7e5bf2ed 7206:d2f8c38e543d
599 599
600 // Fix up all exiting control flow. 600 // Fix up all exiting control flow.
601 set_map(entry_map); 601 set_map(entry_map);
602 do_exits(); 602 do_exits();
603 603
604 if (log) log->done("parse nodes='%d' memory='%d'", 604 if (log) log->done("parse nodes='%d' live='%d' memory='%d'",
605 C->unique(), C->node_arena()->used()); 605 C->unique(), C->live_nodes(), C->node_arena()->used());
606 } 606 }
607 607
608 //---------------------------do_all_blocks------------------------------------- 608 //---------------------------do_all_blocks-------------------------------------
609 void Parse::do_all_blocks() { 609 void Parse::do_all_blocks() {
610 bool has_irreducible = flow()->has_irreducible_entry(); 610 bool has_irreducible = flow()->has_irreducible_entry();
1006 } 1006 }
1007 1007
1008 // If this is an inlined method, we may have to do a receiver null check. 1008 // If this is an inlined method, we may have to do a receiver null check.
1009 if (_caller->has_method() && is_normal_parse() && !method()->is_static()) { 1009 if (_caller->has_method() && is_normal_parse() && !method()->is_static()) {
1010 GraphKit kit(_caller); 1010 GraphKit kit(_caller);
1011 kit.null_check_receiver(method()); 1011 kit.null_check_receiver_before_call(method());
1012 _caller = kit.transfer_exceptions_into_jvms(); 1012 _caller = kit.transfer_exceptions_into_jvms();
1013 if (kit.stopped()) { 1013 if (kit.stopped()) {
1014 _exits.add_exception_states_from(_caller); 1014 _exits.add_exception_states_from(_caller);
1015 _exits.set_jvms(_caller); 1015 _exits.set_jvms(_caller);
1016 return NULL; 1016 return NULL;
1396 NOT_PRODUCT( parse_histogram()->set_initial_state(bc()); ); 1396 NOT_PRODUCT( parse_histogram()->set_initial_state(bc()); );
1397 1397
1398 #ifdef ASSERT 1398 #ifdef ASSERT
1399 int pre_bc_sp = sp(); 1399 int pre_bc_sp = sp();
1400 int inputs, depth; 1400 int inputs, depth;
1401 bool have_se = !stopped() && compute_stack_effects(inputs, depth, /*for_parse*/ true); 1401 bool have_se = !stopped() && compute_stack_effects(inputs, depth);
1402 assert(!have_se || pre_bc_sp >= inputs, err_msg_res("have enough stack to execute this BC: pre_bc_sp=%d, inputs=%d", pre_bc_sp, inputs)); 1402 assert(!have_se || pre_bc_sp >= inputs, err_msg_res("have enough stack to execute this BC: pre_bc_sp=%d, inputs=%d", pre_bc_sp, inputs));
1403 #endif //ASSERT 1403 #endif //ASSERT
1404 1404
1405 do_one_bytecode(); 1405 do_one_bytecode();
1406 1406