diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-10 22:03:10 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-10 22:03:10 +0000 |
commit | 5e25b6c0051d1080d65f763ab41fdd3ccf4c0266 (patch) | |
tree | 2d703bb5c0f735c114d35388f4ce82a2a194fe18 /libjava/include | |
parent | 58aea4f55da2dbf234dd4a1a9229f2df2ef25134 (diff) | |
download | gcc-5e25b6c0051d1080d65f763ab41fdd3ccf4c0266.tar.gz |
* configure: Rebuilt.
* configure.in: Build include/Makefile.
* Makefile.in: Rebuilt.
* Makefile.am (SUBDIRS): Added gcj and include.
(install-data-local): New target.
(extra_headers): New macro.
* include/Makefile.in: New file.
* include/Makefile.am: New file.
* interpret.cc: Don't include gcj/field.h or gcj/cni.h.
* java/lang/reflect/natField.cc: Don't include gcj/field.h or
gcj/cni.h.
* boehm.cc: Don't include java-threads.h or gcj/field.h.
* resolve.cc: Include config.h.
* defineclass.cc: Include config.h.
* include/java-interp.h: Don't include config.h.
* include/jvm.h: Include java-threads.h, Object.h, java-gc.h,
cni.h.
* gcj/javaprims.h: Regenerated namespace decls.
* classes.pl (scan): Don't put `;' after closing brace.
* Makefile.in: Rebuilt.
* Makefile.am (INCLUDES): Added -I for top_srcdir.
* configure.in: Create gcj/Makefile.
* gcj/Makefile.in: New file.
* gcj/Makefile.am: New file.
* java/lang/Object.h: Don't include any other headers.
* gcj/array.h: Renamed from include/java-array.h.
* gcj/field.h: Renamed from include/java-field.h.
* gcj/method.h: Renamed from include/java-method.h.
* gcj/cni.h, gcj/javaprims.h: Moved from include/.
Updated all files to reflect new include structure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29278 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/include')
-rw-r--r-- | libjava/include/Makefile.am | 7 | ||||
-rw-r--r-- | libjava/include/Makefile.in | 253 | ||||
-rw-r--r-- | libjava/include/cni.h | 133 | ||||
-rw-r--r-- | libjava/include/java-array.h | 77 | ||||
-rw-r--r-- | libjava/include/java-cpool.h | 2 | ||||
-rw-r--r-- | libjava/include/java-field.h | 169 | ||||
-rw-r--r-- | libjava/include/java-interp.h | 2 | ||||
-rw-r--r-- | libjava/include/java-method.h | 16 | ||||
-rw-r--r-- | libjava/include/javaprims.h | 306 | ||||
-rw-r--r-- | libjava/include/jni.h | 8 | ||||
-rw-r--r-- | libjava/include/jvm.h | 12 |
11 files changed, 276 insertions, 709 deletions
diff --git a/libjava/include/Makefile.am b/libjava/include/Makefile.am new file mode 100644 index 00000000000..37b3f4feb9d --- /dev/null +++ b/libjava/include/Makefile.am @@ -0,0 +1,7 @@ +## Process this file with automake to produce Makefile.in. + +AUTOMAKE_OPTIONS = foreign no-installinfo + +## FIXME: for now we don't install jni.h because we aren't really sure +## where to install it. +## include_HEADERS = jni.h diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in new file mode 100644 index 00000000000..e1736be96e6 --- /dev/null +++ b/libjava/include/Makefile.in @@ -0,0 +1,253 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_alias = @build_alias@ +build_triplet = @build@ +host_alias = @host_alias@ +host_triplet = @host@ +target_alias = @target_alias@ +target_triplet = @target@ +AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@ +AR = @AR@ +AS = @AS@ +CC = @CC@ +COMPPATH = @COMPPATH@ +CPP = @CPP@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +DIVIDESPEC = @DIVIDESPEC@ +DLLTOOL = @DLLTOOL@ +EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@ +EXEEXT = @EXEEXT@ +GCDEPS = @GCDEPS@ +GCINCS = @GCINCS@ +GCLIBS = @GCLIBS@ +GCOBJS = @GCOBJS@ +GCSPEC = @GCSPEC@ +LD = @LD@ +LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@ +LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@ +LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +PACKAGE = @PACKAGE@ +PERL = @PERL@ +RANLIB = @RANLIB@ +SYSTEMSPEC = @SYSTEMSPEC@ +THREADDEPS = @THREADDEPS@ +THREADINCS = @THREADINCS@ +THREADLIBS = @THREADLIBS@ +THREADOBJS = @THREADOBJS@ +THREADSPEC = @THREADSPEC@ +USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@ +VERSION = @VERSION@ +ZDEPS = @ZDEPS@ +ZINCS = @ZINCS@ +ZLIBS = @ZLIBS@ +ZLIBSPEC = @ZLIBSPEC@ +here = @here@ +libgcj_basedir = @libgcj_basedir@ + +AUTOMAKE_OPTIONS = foreign no-installinfo +mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +DIST_COMMON = ./stamp-h.in Makefile.am Makefile.in config.h.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +config.h: stamp-h + @if test ! -f $@; then \ + rm -f stamp-h; \ + $(MAKE) stamp-h; \ + else :; fi +stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES= CONFIG_HEADERS=include/config.h \ + $(SHELL) ./config.status + @echo timestamp > stamp-h 2> /dev/null +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in + @if test ! -f $@; then \ + rm -f $(srcdir)/stamp-h.in; \ + $(MAKE) $(srcdir)/stamp-h.in; \ + else :; fi +$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOHEADER) + @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null + +mostlyclean-hdr: + +clean-hdr: + +distclean-hdr: + -rm -f config.h + +maintainer-clean-hdr: +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = include + +distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign include/Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-info-am: +install-info: install-info-am +all-recursive-am: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +install-exec-am: +install-exec: install-exec-am + +install-data-am: +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile config.h +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-hdr mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-hdr clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-hdr distclean-generic clean-am + -rm -f libtool + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-hdr maintainer-clean-generic \ + distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ +tags distdir info-am info dvi-am dvi check check-am installcheck-am \ +installcheck install-info-am install-info all-recursive-am \ +install-exec-am install-exec install-data-am install-data install-am \ +install uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libjava/include/cni.h b/libjava/include/cni.h deleted file mode 100644 index b9b202d41dd..00000000000 --- a/libjava/include/cni.h +++ /dev/null @@ -1,133 +0,0 @@ -// cni.h -*- c++ -*- -// This file describes the Cygnus Native Interface, CNI. -// It provides a nicer interface to many of the things in javaprims.h. - -/* Copyright (C) 1998, 1999 Cygnus Solutions - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#ifndef __JAVA_CNI_H__ -#define __JAVA_CNI_H__ - -#include <java/lang/Object.h> -#include <java/lang/Class.h> - -#include <java-threads.h> -#include <java-array.h> - -extern inline jobject -JvAllocObject (jclass cls) -{ - return _Jv_AllocObject (cls, cls->size()); -} - -extern inline jobject -JvAllocObject (jclass cls, jsize sz) -{ - return _Jv_AllocObject (cls, sz); -} - -extern "C" jstring _Jv_NewStringUTF (const char *bytes); -extern "C" void _Jv_InitClass (jclass); - -extern inline void -JvInitClass (jclass cls) -{ - return _Jv_InitClass (cls); -} - -extern inline jstring -JvAllocString (jsize sz) -{ - return _Jv_AllocString (sz); -} - -extern inline jstring -JvNewString (const jchar *chars, jsize len) -{ - return _Jv_NewString (chars, len); -} - -extern inline jstring -JvNewStringLatin1 (const char *bytes, jsize len) -{ - return _Jv_NewStringLatin1 (bytes, len); -} - -extern inline jstring -JvNewStringLatin1 (const char *bytes) -{ - return _Jv_NewStringLatin1 (bytes, strlen (bytes)); -} - -extern inline jchar * -_Jv_GetStringChars (jstring str) -{ - return (jchar*)((char*) str->data + str->boffset); -} - -extern inline jchar* -JvGetStringChars (jstring str) -{ - return _Jv_GetStringChars (str); -} - -extern inline jsize -JvGetStringUTFLength (jstring string) -{ - return _Jv_GetStringUTFLength (string); -} - -extern inline jsize -JvGetStringUTFRegion (jstring str, jsize start, jsize len, char *buf) -{ - return _Jv_GetStringUTFRegion (str, start, len, buf); -} - -extern inline jstring -JvNewStringUTF (const char *bytes) -{ - return _Jv_NewStringUTF (bytes); -} - -extern class _Jv_PrimClass _Jv_byteClass, _Jv_shortClass, _Jv_intClass, - _Jv_longClass, _Jv_booleanClass, _Jv_charClass, _Jv_floatClass, - _Jv_doubleClass, _Jv_voidClass; -#define JvPrimClass(TYPE) ((jclass) & _Jv_##TYPE##Class) - -class JvSynchronize -{ -private: - jobject obj; -public: - JvSynchronize (const jobject &o) : obj (o) - { _Jv_MonitorEnter (obj); } - ~JvSynchronize () - { _Jv_MonitorExit (obj); } -}; - -// Throw some exception. -extern void JvThrow (jobject obj) __attribute__ ((__noreturn__)); -extern inline void -JvThrow (jobject obj) -{ - _Jv_Throw ((void *) obj); -} - -/* Call malloc, but throw exception if insufficient memory. */ -extern inline void * -JvMalloc (jsize size) -{ - return _Jv_Malloc (size); -} - -extern inline void -JvFree (void *ptr) -{ - return _Jv_Free (ptr); -} -#endif /* __JAVA_CNI_H__ */ diff --git a/libjava/include/java-array.h b/libjava/include/java-array.h deleted file mode 100644 index a5cb2a4f4a8..00000000000 --- a/libjava/include/java-array.h +++ /dev/null @@ -1,77 +0,0 @@ -// java-array.h - Header file for CNI arrays. -*- c++ -*- - -/* Copyright (C) 1998, 1999 Cygnus Solutions - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#ifndef __JAVA_ARRAY_H__ -#define __JAVA_ARRAY_H__ - -#pragma interface - -#include <java/lang/Object.h> - -extern "Java" { - -class __JArray : public java::lang::Object -{ -public: - int length; - friend jsize JvGetArrayLength (__JArray*); -}; - -template<class T> -class JArray : public __JArray -{ - T data[0]; -public: - friend T* elements<>(JArray<T>& x); - friend T* elements<>(JArray<T>* x); - // T* getData() { return data; } - // T& operator[](jint i) { return data[i]; } -}; - -template<class T> -T* elements(JArray<T>& x) { return x.data; } -template<class T> -T* elements(JArray<T>* x) { return x->data; } - -}; // end extern "Java" - -/* These typesdefs match those in JNI. */ -typedef __JArray *jarray; -typedef JArray<jobject> *jobjectArray; -typedef JArray<jboolean> *jbooleanArray; -typedef JArray<jbyte> *jbyteArray; -typedef JArray<jchar> *jcharArray; -typedef JArray<jshort> *jshortArray; -typedef JArray<jint> *jintArray; -typedef JArray<jlong> *jlongArray; -typedef JArray<jfloat> *jfloatArray; -typedef JArray<jdouble> *jdoubleArray; -typedef JArray<jstring> *jstringArray; - -extern "C" jbooleanArray JvNewBooleanArray (jint length); -extern "C" jbyteArray JvNewByteArray (jint length); -extern "C" jcharArray JvNewCharArray (jint length); -extern "C" jshortArray JvNewShortArray (jint length); -extern "C" jintArray JvNewIntArray (jint length); -extern "C" jlongArray JvNewLongArray (jint length); -extern "C" jfloatArray JvNewFloatArray (jint length); -extern "C" jdoubleArray JvNewDoubleArray (jint length); -extern "C" jobjectArray _Jv_NewObjectArray(jsize length, jclass, jobject init); - -inline jobjectArray JvNewObjectArray (jsize length, jclass cls, jobject init) -{ return _Jv_NewObjectArray (length, cls, init); } - -extern "C" jstringArray JvConvertArgv(int argc, const char **argv); -extern "C" void JvRunMain (jclass klass, int argc, const char **argv); -void _Jv_RunMain (const char* name, int argc, const char **argv); - -inline jsize JvGetArrayLength (jarray array) { return array->length; } - -#endif /* __JAVA_ARRAY_H__ */ diff --git a/libjava/include/java-cpool.h b/libjava/include/java-cpool.h index b5e3ab36db7..c6b9432dd8a 100644 --- a/libjava/include/java-cpool.h +++ b/libjava/include/java-cpool.h @@ -11,7 +11,7 @@ details. */ #ifndef __JAVA_CPOOL_H__ #define __JAVA_CPOOL_H__ -#include <javaprims.h> +#include <gcj/javaprims.h> // we rename these, to avoid polluting the name space #define JV_CONSTANT_Undefined (0L) diff --git a/libjava/include/java-field.h b/libjava/include/java-field.h deleted file mode 100644 index d00d9ce7726..00000000000 --- a/libjava/include/java-field.h +++ /dev/null @@ -1,169 +0,0 @@ -// java-field.h - Header file for fieldID instances. -*- c++ -*- - -/* Copyright (C) 1998, 1999 Cygnus Solutions - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#ifndef __JAVA_FIELD_H__ -#define __JAVA_FIELD_H__ - -#include <java/lang/Class.h> -#include <java/lang/reflect/Field.h> - -#define _Jv_FIELD_UNRESOLVED_FLAG 0x8000 -#define _Jv_FIELD_CONSTANT_VALUE 0x4000 - -struct _Jv_Field -{ -#ifndef COMPACT_FIELDS - struct _Jv_Utf8Const* name; -#endif - - /* The type of the field, if isResolved(). - If !isResolved(): The fields's signature as a (Utf8Const*). */ - jclass type; - - _Jv_ushort flags; - -#ifdef COMPACT_FIELDS - short nameIndex; /* ofsfet in class's name table */ -#else - _Jv_ushort bsize; /* not really needed ... */ -#endif - - union { - int boffset; /* offset in bytes for instance field */ - void* addr; /* address of static field */ - } u; - -#ifdef __cplusplus - jboolean isResolved () - { return ! (flags & _Jv_FIELD_UNRESOLVED_FLAG); } - - public: - - int getOffset () { return u.boffset; } - - jobject getObjectField (jobject obj) - { return *(jobject *)((char *)obj + getOffset ()); } - - jfieldID getNextInstanceField () { return this + 1; } - - jboolean isRef () - { - if (!isResolved ()) - { - char first = ((_Jv_Utf8Const*)type)->data[0]; - return first == '[' || first == 'L'; - } - else - { - return ! type->isPrimitive (); - } - } - - // FIXME - may need to mask off internal flags. - int getModifiers() { return flags; } - -#ifdef COMPACT_FIELDS - _Jv_Utf8Const * getNameUtf8Const (jclass cls) - { return clas->fieldNames + nameIndex; } -#else - _Jv_Utf8Const * getNameUtf8Const (jclass) { return name; } -#endif -#endif -}; - -#ifdef __cplusplus -inline jbyte -_Jv_GetStaticByteField (jclass, _Jv_Field* field) -{ - return * (jbyte *) field->u.addr; -} - -inline jshort -_Jv_GetStaticShortField (jclass, _Jv_Field* field) -{ - return * (jshort *) field->u.addr; -} - -inline jint -_Jv_GetStaticIntField (jclass, _Jv_Field* field) -{ - return * (jint *) field->u.addr; -} - -inline jlong -_Jv_GetStaticLongField (jclass, _Jv_Field* field) -{ - return * (jlong *) field->u.addr; -} - -inline jobject -_Jv_GetObjectField (jobject obj, _Jv_Field* field) -{ - return field->getObjectField (obj); -} - -inline jbyte -_Jv_GetByteField (jobject obj, _Jv_Field* field) -{ - return * (jbyte *) ((char*) obj + field->getOffset ()); -} - -inline jshort -_Jv_GetShortField (jobject obj, _Jv_Field* field) -{ - return * (jshort *) ((char*) obj + field->getOffset ()); -} -inline jint -_Jv_GetIntField (jobject obj, _Jv_Field* field) -{ - return * (jint *) ((char*) obj + field->getOffset ()); -} -inline jlong -_Jv_GetLongField (jobject obj, _Jv_Field* field) -{ - return * (jlong *) ((char*) obj + field->getOffset ()); -} - -extern inline jfieldID -_Jv_FromReflectedField (java::lang::reflect::Field *field) -{ - return (jfieldID) ((char *) field->declaringClass->fields + field->offset); -} - - -#ifdef __JAVA_CNI_H__ -extern inline jfieldID -JvGetFirstInstanceField (jclass klass) -{ - return &(klass->fields[klass->static_field_count]); -} - -extern inline jint -JvNumInstanceFields (jclass klass) -{ - return klass->field_count - klass->static_field_count; -} - -extern inline jboolean -JvFieldIsRef (jfieldID field) -{ - return field->isRef (); -} - -extern inline jobject -JvGetObjectField (jobject obj, _Jv_Field* field) -{ - return _Jv_GetObjectField (obj, field); -} -#endif /* defined (__JAVA_CNI_H__) */ - -#endif - -#endif /* __JAVA_FIELD_H */ diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index ffd53a868ab..f29d3ddb95a 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -11,8 +11,6 @@ details. */ #ifndef __JAVA_INTERP_H__ #define __JAVA_INTERP_H__ -#include <config.h> - #include <jvm.h> #include <java-cpool.h> diff --git a/libjava/include/java-method.h b/libjava/include/java-method.h deleted file mode 100644 index 1bda4719c2b..00000000000 --- a/libjava/include/java-method.h +++ /dev/null @@ -1,16 +0,0 @@ -// java-method.h - Header file for methodID instances. -*- c++ -*- - -/* Copyright (C) 1999 Cygnus Solutions - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -extern inline jmethodID -_Jv_FromReflectedMethod(java::lang::reflect::Method *method) -{ - return (jmethodID) - ((char *) method->declaringClass->methods + method->offset); -} diff --git a/libjava/include/javaprims.h b/libjava/include/javaprims.h deleted file mode 100644 index 943ce160571..00000000000 --- a/libjava/include/javaprims.h +++ /dev/null @@ -1,306 +0,0 @@ -// javaprims.h - Main external header file for libgcj. -*- c++ -*- - -/* Copyright (C) 1998, 1999 Cygnus Solutions - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#ifndef __JAVAPRIMS_H__ -#define __JAVAPRIMS_H__ - -// FIXME: this is a hack until we get a proper gcjh. -// It is needed to work around system header files that define TRUE -// and FALSE. -#undef TRUE -#define TRUE TRUE -#undef FALSE -#define FALSE FALSE - -// To force selection of correct types that will mangle consistently -// across platforms. -extern "Java" -{ - typedef __java_byte jbyte; - typedef __java_short jshort; - typedef __java_int jint; - typedef __java_long jlong; - typedef __java_float jfloat; - typedef __java_double jdouble; - typedef __java_char jchar; - typedef __java_boolean jboolean; - typedef jint jsize; - - // The following class declarations are automatically generated by - // the `classes.pl' script. - namespace java - { - namespace io - { - class BufferedInputStream; - class BufferedOutputStream; - class BufferedReader; - class BufferedWriter; - class ByteArrayInputStream; - class ByteArrayOutputStream; - class CharArrayReader; - class CharArrayWriter; - class CharConversionException; - class DataInput; - class DataInputStream; - class DataOutput; - class DataOutputStream; - class EOFException; - class File; - class FileDescriptor; - class FileInputStream; - class FileNotFoundException; - class FileOutputStream; - class FileReader; - class FileWriter; - class FilenameFilter; - class FilterInputStream; - class FilterOutputStream; - class FilterReader; - class FilterWriter; - class IOException; - class InputStream; - class InputStreamReader; - class InterruptedIOException; - class LineNumberInputStream; - class LineNumberReader; - class OutputStream; - class OutputStreamWriter; - class PipedInputStream; - class PipedOutputStream; - class PipedReader; - class PipedWriter; - class PrintStream; - class PrintWriter; - class PushbackInputStream; - class PushbackReader; - class RandomAccessFile; - class Reader; - class SequenceInputStream; - class Serializable; - class StreamTokenizer; - class StringBufferInputStream; - class StringReader; - class StringWriter; - class SyncFailedException; - class UTFDataFormatException; - class UnsupportedEncodingException; - class Writer; - }; - - namespace lang - { - class AbstractMethodError; - class ArithmeticException; - class ArrayIndexOutOfBoundsException; - class ArrayStoreException; - class Boolean; - class Byte; - class Character; - class Class; - class ClassCastException; - class ClassCircularityError; - class ClassFormatError; - class ClassLoader; - class ClassNotFoundException; - class CloneNotSupportedException; - class Cloneable; - class Comparable; - class Compiler; - class ConcreteProcess; - class Double; - class Error; - class Exception; - class ExceptionInInitializerError; - class FirstThread; - class Float; - class IllegalAccessError; - class IllegalAccessException; - class IllegalArgumentException; - class IllegalMonitorStateException; - class IllegalStateException; - class IllegalThreadStateException; - class IncompatibleClassChangeError; - class IndexOutOfBoundsException; - class InstantiationError; - class InstantiationException; - class Integer; - class InternalError; - class InterruptedException; - class LinkageError; - class Long; - class Math; - class NegativeArraySizeException; - class NoClassDefFoundError; - class NoSuchFieldError; - class NoSuchFieldException; - class NoSuchMethodError; - class NoSuchMethodException; - class NullPointerException; - class Number; - class NumberFormatException; - class Object; - class OutOfMemoryError; - class Process; - class Runnable; - class Runtime; - class RuntimeException; - class SecurityException; - class SecurityManager; - class Short; - class StackOverflowError; - class String; - class StringBuffer; - class StringIndexOutOfBoundsException; - class System; - class Thread; - class ThreadDeath; - class ThreadGroup; - class Throwable; - class UnknownError; - class UnsatisfiedLinkError; - class UnsupportedOperationException; - class VerifyError; - class VirtualMachineError; - class Void; - namespace reflect - { - class AccessibleObject; - class Array; - class Constructor; - class Field; - class InvocationTargetException; - class Member; - class Method; - class Modifier; - }; - }; - - namespace util - { - class BitSet; - class Calendar; - class ConcurrentModificationException; - class Date; - class Dictionary; - class EmptyStackException; - class Enumeration; - class EventListener; - class EventObject; - class GregorianCalendar; - class Hashtable; - class HashtableEntry; - class HashtableEnumeration; - class ListResourceBundle; - class Locale; - class MissingResourceException; - class NoSuchElementException; - class Observable; - class Observer; - class Properties; - class PropertyResourceBundle; - class Random; - class ResourceBundle; - class SimpleTimeZone; - class Stack; - class StringTokenizer; - class TimeZone; - class TooManyListenersException; - class Vector; - class VectorEnumeration; - namespace jar - { - class JarEntry; - class JarFile; - class JarInputStream; - }; - - namespace zip - { - class Adler32; - class CRC32; - class CheckedInputStream; - class CheckedOutputStream; - class Checksum; - class DataFormatException; - class Deflater; - class DeflaterOutputStream; - class GZIPInputStream; - class GZIPOutputStream; - class Inflater; - class InflaterInputStream; - class ZipConstants; - class ZipEntry; - class ZipEnumeration; - class ZipException; - class ZipFile; - class ZipInputStream; - class ZipOutputStream; - }; - }; - }; -}; - -typedef struct java::lang::Object* jobject; -typedef class java::lang::Class* jclass; -typedef class java::lang::Throwable* jthrowable; -typedef class java::lang::String* jstring; -struct _Jv_JNIEnv; - -typedef struct _Jv_Field *jfieldID; -typedef struct _Jv_Method *jmethodID; - -extern "C" jobject _Jv_AllocObject (jclass, jint); -extern "C" jboolean _Jv_IsInstanceOf(jobject, jclass); -extern "C" jstring _Jv_AllocString(jsize); -extern "C" jstring _Jv_NewString (const jchar*, jsize); -extern "C" jchar* _Jv_GetStringChars (jstring str); -extern "C" jint _Jv_MonitorEnter (jobject); -extern "C" jint _Jv_MonitorExit (jobject); -extern "C" jstring _Jv_NewStringLatin1(const char*, jsize); -extern "C" jsize _Jv_GetStringUTFLength (jstring); -extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *); - -extern "C" void _Jv_Throw (void *) __attribute__ ((__noreturn__)); -extern "C" void* _Jv_Malloc (jsize); -extern "C" void _Jv_Free (void*); - -typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__))); -typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__))); - -typedef union { - jobject o; - jint i; // Also stores smaller integral types. - jfloat f; - jint ia[1]; // Half of _Jv_word2. - void* p; - - // these are things we will store in the constant - jclass clazz; - jstring string; - struct _Jv_Field *field; - struct _Jv_Utf8Const *utf8; - struct _Jv_ResolvedMethod *rmethod; -} _Jv_word; - -typedef union { - jint ia[2]; - jlong l; - jdouble d; -} _Jv_word2; - -struct _Jv_Utf8Const -{ - _Jv_ushort hash; - _Jv_ushort length; /* In bytes, of data portion, without final '\0'. */ - char data[1]; /* In Utf8 format, with final '\0'. */ -}; - -#endif /* __JAVAPRIMS_H__ */ diff --git a/libjava/include/jni.h b/libjava/include/jni.h index d589b022309..e3ae6b355c2 100644 --- a/libjava/include/jni.h +++ b/libjava/include/jni.h @@ -6,8 +6,8 @@ This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ -#ifndef __JAVA_JNI_H__ -#define __JAVA_JNI_H__ +#ifndef __GCJ_JNI_H__ +#define __GCJ_JNI_H__ #include <stdarg.h> #define _Jv_va_list va_list @@ -15,7 +15,7 @@ details. */ #ifdef __cplusplus // This is wrong, because it pollutes the name-space too much! -#include <javaprims.h> +#include <gcj/javaprims.h> typedef struct _Jv_JNIEnv JNIEnv; #else @@ -293,4 +293,4 @@ _Jv_JNIEnv::GetStringLength (jstring str) #endif -#endif /* __JAVA_JNI_H__ */ +#endif /* __GCJ_JNI_H__ */ diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index 94cd3d2def5..7b0b476a2ed 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -11,8 +11,18 @@ details. */ #ifndef __JAVA_JVM_H__ #define __JAVA_JVM_H__ +#include <gcj/javaprims.h> + #include <java-assert.h> -#include <java-field.h> +#include <java-threads.h> +// Must include java-gc.h before Object.h for the implementation. +#include <java-gc.h> + +#include <java/lang/Object.h> + +// Include cni.h before field.h to enable all definitions. FIXME. +#include <gcj/cni.h> +#include <gcj/field.h> /* Structure of the virtual table. */ struct _Jv_VTable |