comparison src/share/vm/runtime/sharedRuntime.cpp @ 4559:723df37192d6

Make it possible again to build a real client libjvm, drop the UseGraal flag. Use the --vm option instead of a special -vm option in the bench command
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 10 Feb 2012 17:04:03 +0100
parents 04b9a2566eec
children f9811bcf3402
comparison
equal deleted inserted replaced
4558:3706975946e4 4559:723df37192d6
712 t = table.entry_for(catch_pco, -1, 0); 712 t = table.entry_for(catch_pco, -1, 0);
713 } 713 }
714 714
715 #ifdef COMPILER1 715 #ifdef COMPILER1
716 if (t == NULL && nm->is_compiled_by_c1()) { 716 if (t == NULL && nm->is_compiled_by_c1()) {
717 if (UseGraal) { 717 #ifdef GRAAL
718 nm->make_not_entrant(); 718 nm->make_not_entrant();
719 JavaThread::current()->set_exception_pc(ret_pc); 719 JavaThread::current()->set_exception_pc(ret_pc);
720 JavaThread::current()->set_exception_oop(exception()); 720 JavaThread::current()->set_exception_oop(exception());
721 return SharedRuntime::deopt_blob()->unpack_with_exception_in_tls(); 721 return SharedRuntime::deopt_blob()->unpack_with_exception_in_tls();
722 } else { 722 #else
723 assert(nm->unwind_handler_begin() != NULL, ""); 723 assert(nm->unwind_handler_begin() != NULL, "");
724 return nm->unwind_handler_begin(); 724 return nm->unwind_handler_begin();
725 } 725 #endif
726 } 726 }
727 #endif 727 #endif
728 728
729 if (t == NULL) { 729 if (t == NULL) {
730 tty->print_cr("MISSING EXCEPTION HANDLER for pc " INTPTR_FORMAT " and handler bci %d", ret_pc, handler_bci); 730 tty->print_cr("MISSING EXCEPTION HANDLER for pc " INTPTR_FORMAT " and handler bci %d", ret_pc, handler_bci);
875 } 875 }
876 876
877 #ifndef PRODUCT 877 #ifndef PRODUCT
878 _implicit_null_throws++; 878 _implicit_null_throws++;
879 #endif 879 #endif
880 if (UseGraal) { 880 #ifdef GRAAL
881 target_pc = deoptimization_continuation(thread, pc, nm); 881 target_pc = deoptimization_continuation(thread, pc, nm);
882 } else { 882 #else
883 target_pc = nm->continuation_for_implicit_exception(pc); 883 target_pc = nm->continuation_for_implicit_exception(pc);
884 } 884 #endif
885 // If there's an unexpected fault, target_pc might be NULL, 885 // If there's an unexpected fault, target_pc might be NULL,
886 // in which case we want to fall through into the normal 886 // in which case we want to fall through into the normal
887 // error handling code. 887 // error handling code.
888 } 888 }
889 889
895 nmethod* nm = CodeCache::find_nmethod(pc); 895 nmethod* nm = CodeCache::find_nmethod(pc);
896 guarantee(nm != NULL, "must have containing nmethod for implicit division-by-zero exceptions"); 896 guarantee(nm != NULL, "must have containing nmethod for implicit division-by-zero exceptions");
897 #ifndef PRODUCT 897 #ifndef PRODUCT
898 _implicit_div0_throws++; 898 _implicit_div0_throws++;
899 #endif 899 #endif
900 if (UseGraal) { 900 #ifdef GRAAL
901 if (TraceSignals) { 901 if (TraceSignals) {
902 tty->print_cr("graal implicit div0"); 902 tty->print_cr("graal implicit div0");
903 }
904 target_pc = deoptimization_continuation(thread, pc, nm);
905 } else {
906 target_pc = nm->continuation_for_implicit_exception(pc);
907 } 903 }
904 target_pc = deoptimization_continuation(thread, pc, nm);
905 #else
906 target_pc = nm->continuation_for_implicit_exception(pc);
907 #endif
908 // If there's an unexpected fault, target_pc might be NULL, 908 // If there's an unexpected fault, target_pc might be NULL,
909 // in which case we want to fall through into the normal 909 // in which case we want to fall through into the normal
910 // error handling code. 910 // error handling code.
911 break; // fall through 911 break; // fall through
912 } 912 }