diff options
| author | Bryce McKinlay <bryce@albatross.co.nz> | 2000-05-05 02:56:14 +0000 |
|---|---|---|
| committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2000-05-05 03:56:14 +0100 |
| commit | 9d4c21486cc7709172723c8fe12dd7f8d213b605 (patch) | |
| tree | cf14a17edadc80507b8cb59cbdf177d63a7452e0 /libjava/java/lang/natClass.cc | |
| parent | 59b30ca6ddd5930d454517cd8e6c54701b21b97b (diff) | |
| download | gcc-9d4c21486cc7709172723c8fe12dd7f8d213b605.zip gcc-9d4c21486cc7709172723c8fe12dd7f8d213b605.tar.gz gcc-9d4c21486cc7709172723c8fe12dd7f8d213b605.tar.bz2 | |
natClass.cc (isInstance): Use __builtin_expect.
2000-05-05 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/natClass.cc (isInstance): Use __builtin_expect.
(_Jv_IsAssignableFrom): Ditto.
(_Jv_IsInstanceOf): Ditto.
(_Jv_CheckCast): Ditto.
(_Jv_CheckArrayStore): Ditto.
* java/lang/Class.h (_Jv_InitClass): Ditto.
* java/lang/natObject.cc (_Jv_MonitorEnter): __builtin_expect `false',
not `0'.
(notify): Ditto.
(notifyAll): Ditto.
(wait): Ditto.
(_Jv_MonitorExit): Ditto.
* boehm.cc (_Jv_MarkObj): Ditto.
(_Jv_MarkObj): Ditto.
(_Jv_MarkArray): Ditto.
* prims.cc (_Jv_AllocObject): Ditto.
(_Jv_NewObjectArray): Ditto.
(_Jv_NewPrimArray): Ditto.
(_Jv_Malloc): Ditto.
(_Jv_Realloc): Ditto.
(_Jv_MallocUnchecked): Ditto.
(_Jv_divI): Ditto.
(_Jv_remI): Ditto.
(_Jv_divJ): Ditto.
(_Jv_remJ): Ditto.
From-SVN: r33698
Diffstat (limited to 'libjava/java/lang/natClass.cc')
| -rw-r--r-- | libjava/java/lang/natClass.cc | 14 |
1 files changed, 9 insertions, 5 deletions
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); } } |
