+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.
};
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"
#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>
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;
// 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;
}
}
public Object nextElement()
{
- if (!hasMoreElements())
+ if (! (enumIndex < enumVec.size()))
throw new NoSuchElementException();
return enumVec.elementData[enumIndex++];