natObject.cc (_Jv_MonitorEnter): Only perform null check when we have to.
2000-04-08 Anthony Green <green@redhat.com> * java/lang/natObject.cc (_Jv_MonitorEnter): Only perform null check when we have to. * gcj/array.h: Mark elements(JArray<T>& x) and elements(JArray<T>* x) as `inline'. * java/util/StringTokenizer.java: Minor optimization. Eliminates one method call. * java/util/Vector.java (VectorEnumeration.nextElement): Manually inline hasMoreElements. From-SVN: r33033
This commit is contained in:
parent
6308dae99a
commit
3bd835f73f
@ -1,3 +1,17 @@
|
||||
2000-04-08 Anthony Green <green@cygnus.com>
|
||||
|
||||
* java/lang/natObject.cc (_Jv_MonitorEnter): Only perform null
|
||||
check when we have to.
|
||||
|
||||
* gcj/array.h: Mark elements(JArray<T>& x) and elements(JArray<T>*
|
||||
x) as `inline'.
|
||||
|
||||
* java/util/StringTokenizer.java: Minor optimization. Eliminates
|
||||
one method call.
|
||||
|
||||
* java/util/Vector.java (VectorEnumeration.nextElement): Manually
|
||||
inline hasMoreElements.
|
||||
|
||||
2000-04-05 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* configure: Rebuilt.
|
||||
|
@ -36,9 +36,9 @@ public:
|
||||
};
|
||||
|
||||
template<class T>
|
||||
T* elements(JArray<T>& x) { return x.data; }
|
||||
inline T* elements(JArray<T>& x) { return x.data; }
|
||||
template<class T>
|
||||
T* elements(JArray<T>* x) { return x->data; }
|
||||
inline T* elements(JArray<T>* x) { return x->data; }
|
||||
|
||||
}; // end extern "Java"
|
||||
|
||||
|
@ -18,6 +18,7 @@ details. */
|
||||
#include <jvm.h>
|
||||
#include <java/lang/Object.h>
|
||||
#include <java-threads.h>
|
||||
#include <java-signal.h>
|
||||
#include <java/lang/CloneNotSupportedException.h>
|
||||
#include <java/lang/IllegalArgumentException.h>
|
||||
#include <java/lang/IllegalMonitorStateException.h>
|
||||
@ -224,8 +225,10 @@ _Jv_InitializeSyncMutex (void)
|
||||
jint
|
||||
_Jv_MonitorEnter (jobject obj)
|
||||
{
|
||||
#ifndef HANDLE_SEGV
|
||||
if (! obj)
|
||||
JvThrow (new java::lang::NullPointerException);
|
||||
#endif
|
||||
if (INIT_NEEDED (obj))
|
||||
obj->sync_init ();
|
||||
_Jv_SyncInfo *si = (_Jv_SyncInfo *) obj->sync_info;
|
||||
|
@ -180,6 +180,6 @@ public class StringTokenizer implements Enumeration
|
||||
// more readable this way, so we'll take the hit on efficiency.
|
||||
private boolean isDelimiter(char ch)
|
||||
{
|
||||
return delimiters.indexOf(ch) >= 0;
|
||||
return delimiters.indexOf(ch, 0) >= 0;
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ class VectorEnumeration implements Enumeration
|
||||
|
||||
public Object nextElement()
|
||||
{
|
||||
if (!hasMoreElements())
|
||||
if (! (enumIndex < enumVec.size()))
|
||||
throw new NoSuchElementException();
|
||||
|
||||
return enumVec.elementData[enumIndex++];
|
||||
|
Loading…
Reference in New Issue
Block a user