diff options
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/Class.h | 2 | ||||
-rw-r--r-- | libjava/java/lang/natClass.cc | 14 | ||||
-rw-r--r-- | libjava/java/lang/natObject.cc | 18 |
3 files changed, 19 insertions, 15 deletions
diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h index c25398c..d685a1b 100644 --- a/libjava/java/lang/Class.h +++ b/libjava/java/lang/Class.h @@ -203,7 +203,7 @@ private: inline friend void _Jv_InitClass (jclass klass) { - if (klass->state != JV_STATE_DONE) + if (__builtin_expect (klass->state != JV_STATE_DONE, false)) klass->initializeClass (); } diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index 3284992..93e8210 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -622,7 +622,7 @@ java::lang::Class::isAssignableFrom (jclass klass) inline jboolean java::lang::Class::isInstance (jobject obj) { - if (! obj || isPrimitive ()) + if (__builtin_expect (! obj || isPrimitive (), false)) return false; _Jv_InitClass (this); return _Jv_IsAssignableFrom (this, JV_CLASS (obj)); @@ -923,7 +923,7 @@ _Jv_IsAssignableFrom (jclass target, jclass source) { _Jv_IDispatchTable *cl_idt = source->idt; _Jv_IDispatchTable *if_idt = target->idt; - if (if_idt == NULL) + if (__builtin_expect ((if_idt == NULL), false)) return false; // No class implementing TARGET has been loaded. jshort cl_iindex = cl_idt->cls.iindex; if (cl_iindex <= if_idt->iface.ioffsets[0]) @@ -941,13 +941,16 @@ _Jv_IsAssignableFrom (jclass target, jclass source) jboolean _Jv_IsInstanceOf(jobject obj, jclass cl) { - return (obj ? _Jv_IsAssignableFrom (cl, JV_CLASS (obj)) : false); + if (__builtin_expect (!obj, false)) + return false; + return (_Jv_IsAssignableFrom (cl, JV_CLASS (obj))); } void * _Jv_CheckCast (jclass c, jobject obj) { - if (obj != NULL && ! _Jv_IsAssignableFrom(c, JV_CLASS (obj))) + if (__builtin_expect + (obj != NULL && ! _Jv_IsAssignableFrom(c, JV_CLASS (obj)), false)) JvThrow (new java::lang::ClassCastException); return obj; } @@ -960,7 +963,8 @@ _Jv_CheckArrayStore (jobject arr, jobject obj) JvAssert (arr != NULL); jclass elt_class = (JV_CLASS (arr))->getComponentType(); jclass obj_class = JV_CLASS (obj); - if (! _Jv_IsAssignableFrom (elt_class, obj_class)) + if (__builtin_expect + (! _Jv_IsAssignableFrom (elt_class, obj_class), false)) JvThrow (new java::lang::ArrayStoreException); } } diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc index 6aed898..26b3f96 100644 --- a/libjava/java/lang/natObject.cc +++ b/libjava/java/lang/natObject.cc @@ -172,10 +172,10 @@ java::lang::Object::sync_init (void) void java::lang::Object::notify (void) { - if (__builtin_expect (INIT_NEEDED (this), 0)) + if (__builtin_expect (INIT_NEEDED (this), false)) sync_init (); _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info; - if (__builtin_expect (_Jv_CondNotify (&si->condition, &si->mutex), 0)) + if (__builtin_expect (_Jv_CondNotify (&si->condition, &si->mutex), false)) JvThrow (new IllegalMonitorStateException(JvNewStringLatin1 ("current thread not owner"))); } @@ -183,10 +183,10 @@ java::lang::Object::notify (void) void java::lang::Object::notifyAll (void) { - if (__builtin_expect (INIT_NEEDED (this), 0)) + if (__builtin_expect (INIT_NEEDED (this), false)) sync_init (); _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info; - if (__builtin_expect (_Jv_CondNotifyAll (&si->condition, &si->mutex), 0)) + if (__builtin_expect (_Jv_CondNotifyAll (&si->condition, &si->mutex), false)) JvThrow (new IllegalMonitorStateException(JvNewStringLatin1 ("current thread not owner"))); } @@ -194,9 +194,9 @@ java::lang::Object::notifyAll (void) void java::lang::Object::wait (jlong timeout, jint nanos) { - if (__builtin_expect (INIT_NEEDED (this), 0)) + if (__builtin_expect (INIT_NEEDED (this), false)) sync_init (); - if (__builtin_expect (timeout < 0 || nanos < 0 || nanos > 999999, 0)) + if (__builtin_expect (timeout < 0 || nanos < 0 || nanos > 999999, false)) JvThrow (new IllegalArgumentException); _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info; switch (_Jv_CondWait (&si->condition, &si->mutex, timeout, nanos)) @@ -226,10 +226,10 @@ jint _Jv_MonitorEnter (jobject obj) { #ifndef HANDLE_SEGV - if (__builtin_expect (! obj, 0)) + if (__builtin_expect (! obj, false)) JvThrow (new java::lang::NullPointerException); #endif - if (__builtin_expect (INIT_NEEDED (obj), 0)) + if (__builtin_expect (INIT_NEEDED (obj), false)) obj->sync_init (); _Jv_SyncInfo *si = (_Jv_SyncInfo *) obj->sync_info; return _Jv_MutexLock (&si->mutex); @@ -241,7 +241,7 @@ _Jv_MonitorExit (jobject obj) JvAssert (obj); JvAssert (! INIT_NEEDED (obj)); _Jv_SyncInfo *si = (_Jv_SyncInfo *) obj->sync_info; - if (__builtin_expect (_Jv_MutexUnlock (&si->mutex), 0)) + if (__builtin_expect (_Jv_MutexUnlock (&si->mutex), false)) JvThrow (new java::lang::IllegalMonitorStateException); return 0; } |