Mercurial > hg > graal-compiler
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); |