comparison src/share/vm/c1/c1_Runtime1.cpp @ 4977:532be189cf09

Reducing diff to hsx24
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 27 Feb 2012 17:06:18 +0100
parents ab906cea36f7
children 0ebca2e35ca5
comparison
equal deleted inserted replaced
4976:8f01f899bccd 4977:532be189cf09
199 case g1_pre_barrier_slow_id: 199 case g1_pre_barrier_slow_id:
200 case g1_post_barrier_slow_id: 200 case g1_post_barrier_slow_id:
201 case slow_subtype_check_id: 201 case slow_subtype_check_id:
202 case fpu2long_stub_id: 202 case fpu2long_stub_id:
203 case unwind_exception_id: 203 case unwind_exception_id:
204 case counter_overflow_id:
205 #if defined(SPARC) || defined(PPC)
206 case handle_exception_nofpu_id: // Unused on sparc
207 #endif
204 #ifdef GRAAL 208 #ifdef GRAAL
205 case graal_verify_pointer_id: 209 case graal_verify_pointer_id:
206 case graal_unwind_exception_call_id: 210 case graal_unwind_exception_call_id:
207 case graal_slow_subtype_check_id: 211 case graal_slow_subtype_check_id:
208 case graal_arithmetic_frem_id: 212 case graal_arithmetic_frem_id:
209 case graal_arithmetic_drem_id: 213 case graal_arithmetic_drem_id:
210 case graal_set_deopt_info_id: 214 case graal_set_deopt_info_id:
211 #endif
212 #ifndef TIERED
213 case counter_overflow_id: // Not generated outside the tiered world
214 #endif
215 #if defined(SPARC) || defined(PPC)
216 case handle_exception_nofpu_id: // Unused on sparc
217 #endif 215 #endif
218 break; 216 break;
219 217
220 // All other stubs should have oopmaps 218 // All other stubs should have oopmaps
221 default: 219 default:
742 assert(thread->last_Java_sp(), "last_Java_sp must be set"); 740 assert(thread->last_Java_sp(), "last_Java_sp must be set");
743 // monitorexit is non-blocking (leaf routine) => no exceptions can be thrown 741 // monitorexit is non-blocking (leaf routine) => no exceptions can be thrown
744 EXCEPTION_MARK; 742 EXCEPTION_MARK;
745 743
746 oop obj = lock->obj(); 744 oop obj = lock->obj();
747 745 assert(obj->is_oop(), "must be NULL or an object");
748 #ifdef DEBUG
749 if (!obj->is_oop()) {
750 ResetNoHandleMark rhm;
751 nmethod* method = thread->last_frame().cb()->as_nmethod_or_null();
752 if (method != NULL) {
753 tty->print_cr("ERROR in monitorexit in method %s wrong obj " INTPTR_FORMAT, method->name(), obj);
754 }
755 thread->print_stack_on(tty);
756 assert(false, "invalid lock object pointer dected");
757 }
758 #endif
759
760 if (UseFastLocking) { 746 if (UseFastLocking) {
761 // When using fast locking, the compiled code has already tried the fast case 747 // When using fast locking, the compiled code has already tried the fast case
762 ObjectSynchronizer::slow_exit(obj, lock->lock(), THREAD); 748 ObjectSynchronizer::slow_exit(obj, lock->lock(), THREAD);
763 } else { 749 } else {
764 ObjectSynchronizer::fast_exit(obj, lock->lock(), THREAD); 750 ObjectSynchronizer::fast_exit(obj, lock->lock(), THREAD);