aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>2000-05-05 02:56:14 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2000-05-05 03:56:14 +0100
commit9d4c21486cc7709172723c8fe12dd7f8d213b605 (patch)
treecf14a17edadc80507b8cb59cbdf177d63a7452e0 /libjava/java
parent59b30ca6ddd5930d454517cd8e6c54701b21b97b (diff)
downloadgcc-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')
-rw-r--r--libjava/java/lang/Class.h2
-rw-r--r--libjava/java/lang/natClass.cc14
-rw-r--r--libjava/java/lang/natObject.cc18
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;
}