aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang
AgeCommit message (Collapse)AuthorFilesLines
2000-01-05natMethod.cc (get_ffi_type): Test size of jboolean and select correct ffi ↵Tom Tromey1-4/+17
type on that basis. * java/lang/reflect/natMethod.cc (get_ffi_type): Test size of jboolean and select correct ffi type on that basis. (_Jv_CallNonvirtualMethodA): Handle `void' return type. Constructor call always has `void' return type. From-SVN: r31242
2000-01-05Class.h (getSignature): Updated.Tom Tromey3-10/+14
* java/lang/Class.h (getSignature): Updated. * java/lang/Class.java (getSignature): Updated. * java/lang/natClass.cc (getSignature): Added `is_constructor' argument. (getConstructor): Ensure constructor is public. (_getConstructors): Check for public-ness of constructor when `declared' is false, not when it is true. From-SVN: r31241
2000-01-04[multiple changes]Tom Tromey7-201/+591
2000-01-04 Tom Tromey <tromey@cygnus.com> * java/lang/reflect/natConstructor.cc (newInstance): Pass declaring class as return_type argument to _Jv_CallNonvirtualMethodA. * java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In constructor case, create object and use it as `this' argument. * java/lang/Class.h (_getConstructors): Declare. (_getFields): Declare. * java/lang/Class.java (getConstructors): Wrote. (_getConstructors): New native method. (getDeclaredConstructors): Wrote. (_getFields): Declare new native method. * java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Removed incorrect comment. (getMethod): Work correctly when class is primitive. (getDeclaredMethods): Likewise. Compute offset using `method', not `mptr'. (getDeclaredMethod): Likewise. (getConstructor): Wrote. (ConstructorClass): New define. (getDeclaredConstructor): Wrote. (_getConstructors): New method. (_getFields): New method. (getFields): Wrote. * Makefile.in: Rebuilt. * Makefile.am (AM_CXXFLAGS): Added -D_GNU_SOURCE. * prims.cc: Remove `#pragma implementation'. * gcj/array.h: Remove `#pragma interface'. * prims.cc (_Jv_equaln): New function. * java/lang/Class.java (getSignature): Declare. * resolve.cc (_Jv_LookupDeclaredMethod): Moved to natClass.cc. * java/lang/natClass.cc (_Jv_LookupDeclaredMethod): Moved from resolve.cc. (getSignature): New method. (getDeclaredMethod): Wrote. (getMethod): Wrote. Include StringBuffer.h. * java/lang/Class.h (Class): Added _Jv_FromReflectedConstructor as a friend. Unconditionally declare _Jv_LookupDeclaredMethod as a friend. (getSignature): Declare. * include/jvm.h (_Jv_GetTypesFromSignature): Declare. (_Jv_equaln): Declare. (_Jv_CallNonvirtualMethodA): Declare. * Makefile.in: Rebuilt. * Makefile.am (nat_source_files): Added natConstructor.cc. (java/lang/reflect/Constructor.h): New target. * java/lang/reflect/natConstructor.cc: New file. * java/lang/reflect/Constructor.java (newInstance): Now native. (declaringClass): Renamed from decl_class. (offset): Renamed from index. (getType): New native method. (getModifiers): Now native. (getParameterTypes): Call getType if required. (hashCode): Include hash code from declaring class. (modifiers): Removed. (toString): Call getType if required. * gcj/method.h (_Jv_FromReflectedConstructor): New function. * java/lang/reflect/natMethod.cc (hack_call): New method. Removed `#if 0' around FFI code. Include <gnu/gcj/RawData.h>. (invoke): Use _Jv_CallNonvirtualMethodA. Throw IllegalArgumentException when argument object and class disagree. (_Jv_GetTypesFromSignature): New function. (getType): Use it. (ObjectClass): New define. (_Jv_CallNonvirtualMethodA): New function. * java/lang/reflect/Method.java (hack_trampoline): New method. (hack_call): New native method. 1999-12-21 Per Bothner <per@bothner.com> * java/lang/natClass.cc (getDeclaredMethods): Correctly compute offset in new Method. From-SVN: r31199
1999-12-27Commit forgotten Thread.java patch.Bryce McKinlay1-4/+13
From-SVN: r31094
1999-12-24natObject.cc (notify): Throw message with IllegalMonitorStateException.Bryce McKinlay2-9/+16
1999-12-22 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/natObject.cc (notify): Throw message with IllegalMonitorStateException. (notifyAll): Ditto. (wait): Ditto. * java/lang/Thread.java (isInterrupted): Don't clear interrupt_flag. (isInterrupted_): New function, which does clear interrupt_flag. (interrupt): Use `isInterrupted_'. * java/lang/natThread.cc (interrupt): Add comment. (join): Set `Prev' in joiner loop. Change various calls to `isInterrupted' to use `isInterrupted_'. * posix-threads.cc (_Jv_CondWait): Allways use pthread_cond_timedwait on linux. Set result to 0 on an interrupt. Test interrupted status of java Thread object directly. FLAG_INTERRUPTED: removed. (_Jv_ThreadStart): Throw OutOfMemoryError if pthread_create fails. (_Jv_ThreadInterrupt): Don't set FLAG_INTERRUPTED. (_Jv_InitThreads): Don't block SIGINT. (_Jv_ThreadWait): Don't configure SIGINT handler. From-SVN: r31082
1999-12-20Modifier.java (STRICT): New constant.Tom Tromey2-3/+10
* java/lang/reflect/Modifier.java (STRICT): New constant. (isStrict): New method. (toString): Added `strict'. From-SVN: r31040
1999-12-18re GNATS libgcj/111 (bug in reflection code)Tom Tromey1-0/+3
* java/lang/reflect/Method.java (toString): Call getType if required. Partial fix for PR libgcj/111. From Per Bothner. From-SVN: r31002
1999-12-17* java/lang/natPosixProcess.cc (startProcess): Don't use sprintf.Tom Tromey1-4/+5
From-SVN: r30996
1999-12-17Boolean.java (Boolean(String)): Set Value' to false on a null String ↵Bryce McKinlay1-1/+1
constructor parameter. 1999-12-16 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/Boolean.java (Boolean(String)): Set Value' to false on a null String constructor parameter. * java/net/natPlainSocketImpl.cc: Remove unneccessary sprintf calls for exception messages. BooleanClass: declare. (setOption): Use BooleanClass instead of Class.forName() for instanceof test. (bind): Cast 4th parameter of setsockopt to char *' for compatibility with older Solaris headers. * java/net/natPlainDatagramSocketImpl.cc: Remove unneccessary sprintf calls for exception messages. BooleanClass, IntegerClass: declare. (setOption): Use BooleanClass and IntegerClass, not Class.forName() for instanceof test. From-SVN: r30988
1999-12-15natSystem.cc (init_properties): Don't set user.name or user.home if ↵Tom Tromey1-1/+5
NO_GETUID defined. * java/lang/natSystem.cc (init_properties): Don't set user.name or user.home if NO_GETUID defined. Only set user.dir if getcwd exists. * include/config.h.in: Rebuilt. * acconfig.h (NO_GETUID): New define. * configure.in: Rebuilt. * configure.in: Define NO_GETUID in cross case. Check for getcwd in native case. From-SVN: r30964
1999-12-02natString.cc (equalsIgnoreCase): return false if anotherString is null.Bryce McKinlay2-3/+6
* java/lang/natString.cc (equalsIgnoreCase): return false if anotherString is null. * java/lang/Boolean.java (valueOf): return FALSE if argument is null. From-SVN: r30763
1999-11-25prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayElementFromElementType.Tom Tromey2-45/+6
* prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayElementFromElementType. (_Jv_NewPrimArray): Likewise. * java/lang/natObject.cc (clone): Use _Jv_GetArrayElementFromElementType instead of sizeof. * java/lang/natSystem.cc (arraycopy): Use _Jv_GetArrayElementFromElementType. * include/jvm.h (_Jv_GetArrayElementFromElementType): New function. From-SVN: r30655
1999-11-19sjlj jumbo patchTom Tromey1-0/+2
From-SVN: r30591
1999-11-18natClass.cc (MCACHE_SIZE): Define as a power of 2 minus 1.Tom Tromey1-3/+5
* java/lang/natClass.cc (MCACHE_SIZE): Define as a power of 2 minus 1. (method_cache): Made larger. From-SVN: r30568
1999-11-05* java/lang/natThread.cc (destroy): Removed incorrect comment.Tom Tromey1-2/+0
From-SVN: r30423
1999-11-05natThread.cc (stop): Removed argument name.Tom Tromey2-2/+2
* java/lang/natThread.cc (stop): Removed argument name. * java/lang/ThreadGroup.java (ThreadGroup(int)): No longer `private'; now has default access. * Makefile.in: Rebuilt. * Makefile.am (java/lang/ThreadGroup.h): Removed. From-SVN: r30417
1999-11-04natClass.cc (method_cache_count): Removed.Tom Tromey1-31/+13
* java/lang/natClass.cc (method_cache_count): Removed. (_Jv_FindMethodInCache): Don't loop looking for the hash entry. (_Jv_AddMethodToCache): Don't loop. From-SVN: r30397
1999-11-04quick-threads.h (_Jv_ThreadCancel): Removed.Tom Tromey2-7/+4
* include/quick-threads.h (_Jv_ThreadCancel): Removed. (_Jv_ThreadDestroy): Likewise. * include/no-threads.h (_Jv_ThreadCancel): Removed. (_Jv_ThreadDestroy): Likewise. * include/posix-threads.h (struct _Jv_Thread_t): Removed `exception' field. (_Jv_ThreadCancel): Removed decl. (_Jv_ThreadDestroy): Removed. * posix-threads.cc (_Jv_ThreadCancel): Removed. (throw_cleanup): Removed. (really_start): Don't push or pop cleanup. (_Jv_ThreadInitData): Don't initialize `exception' field. * java/lang/Thread.java (stop): Officially unimplemented. * java/lang/natThread.cc (stop): Officially unimplemented. From-SVN: r30392
1999-10-22Makefile.in: Rebuilt.Tom Tromey1-8/+7
* Makefile.in: Rebuilt. * Makefile.am (java/lang/ClassLoader.h): New target. * java/lang/natClassLoader.cc (_Jv_FindClass): Removed reference to `redirect'. * include/java-props.h (_Jv_Compiler_Properties): Changed declaration. * gcj/array.h (JvRunMain, _Jv_RunMain): Don't declare. * include/jvm.h (_Jv_GCSetInitialHeapSize, _Jv_GCSetMaximumHeapSize): Declare. (JvRunMain, _Jv_RunMain): Declare. (_Jv_SetMaximumHeapSize, _Jv_SetInitialHeapSize): Declare. * nogc.cc (_Jv_GCSetInitialHeapSize): New function. (_Jv_GCSetMaximumHeapSize): Likewise. * boehm.cc (_Jv_GCSetInitialHeapSize): New function. (_Jv_GCSetMaximumHeapSize): Likewise. * prims.cc (parse_heap_size): New function. (_Jv_SetInitialHeapSize): Likewise. (_Jv_SetMaximumHeapSize): Likewise. (_Jv_Compiler_Properties): New global. * gij.cc (help): New function. (version): Likewise. (heap_size): Likewise. (heap_max_size): Likewise. (main): Parse arguments. Set _Jv_Compiler_Properties. Include <config.h>, <java-props.h>. (_Jv_Compiler_Properties): Removed. From-SVN: r30133
1999-10-18VMClassLoader.java (getVMClassLoader): New method.Tom Tromey2-14/+7
* gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): New method. (redirect): New static field. * java/lang/ClassLoader.java (getSystemClassLoader): Now native (getVMClassLoader0): Removed. * java/lang/natClassLoader.cc (getVMClassLoader0): Removed. (redirect): Removed. (getSystemClassLoader): Implemented. From-SVN: r30075
1999-10-17ClassLoader.java (getSystemResource): Use getSystemClassLoader instead of ↵Anthony Green2-12/+6
ClassLoader.system. * java/lang/ClassLoader.java (getSystemResource): Use getSystemClassLoader instead of ClassLoader.system. (getSystemResourceAsStream): Ditto. * java/lang/natClassLoader.cc (redirect): Make static and remove #ifdef INTERPRETER so it is always defined. (getVMClassLoader0): Remove #ifdef INTERPRETER so it always returns a VMClassLoader. * java/util/ResourceBundle.java (trySomeGetBundle): Create a PropertyResourceBundle if a properties file is found before a ResourceBundle class. From-SVN: r30048
1999-10-15gij.cc (main): Formatting fixes.Tom Tromey1-3/+15
* gij.cc (main): Formatting fixes. (_Jv_Compiler_Properties): Define. * java/lang/natSystem.cc (_Jv_Environment_Properties): Don't declare. (init_properties): Set properites from _Jv_Compiler_Properties. * include/java-props.h (_Jv_Compiler_Properties, _Jv_Environment_Properties): Declare. From-SVN: r30020
1999-10-15libtool-version: Catch up by incrementing current.Anthony Green1-0/+28
* libtool-version: Catch up by incrementing current. * configure.host: Disable use of GCJ_PROPERTIES for mips-tx39. * configure, include/config.h.in: Rebuilt. * acconfig.h (DISABLE_GETENV_PROPERTIES): Undefine. * configure.in: Added --disable-getenv-properties and new define `DISABLE_GETENV_PROPERTIES'. * prims.cc (PROCESS_GCJ_PROPERTIES): Define. (next_property_key): New function. (next_property_value): New function. (process_gcj_properties): New function. (JvRunMain): Call process_gcj_properties. (_JvRunMain): Ditto. * java/lang/natSystem.cc (init_properties): Set properties defined in GCJ_PROPERTIES. Also add 1.2 style versioning properties. * include/java-props.h: New file. * java/lang/natSystem.cc (init_properties): Add new properties to conform with Java Product Versioning Specification. From-SVN: r30007
1999-10-02The following patches include a couple of fixes for cross toolchains,Steve Chamberlain1-0/+8
and endian bits for the picojava port. I am committing this (and the rebuilt Makefile.in/configure files). From-SVN: r29765
1999-09-23natFirstThread.cc (run): Renamed from `run0'.Tom Tromey2-20/+2
* java/lang/natFirstThread.cc (run): Renamed from `run0'. Removed dead code. * java/lang/FirstThread.java (run0): Renamed to `run'. (run): Removed. From-SVN: r29626
1999-09-10configure: Rebuilt.Tom Tromey18-26/+24
* 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. From-SVN: r29278
1999-09-02natClassLoader.cc (_Jv_WaitForState): Call _Jv_PrepareCompiledClass while ↵Tom Tromey1-2/+4
holding class mutex. * java/lang/natClassLoader.cc (_Jv_WaitForState): Call _Jv_PrepareCompiledClass while holding class mutex. From-SVN: r29063
1999-09-02natClass.cc: Fixed notification of threads when class initialization is ↵Matt Welsh1-2/+2
complete. * java/lang/natClass.cc: Fixed notification of threads when class initialization is complete. From-SVN: r29043
1999-09-01Modifier.java (ALL_FLAGS): New constant.Tom Tromey2-13/+3
* java/lang/reflect/Modifier.java (ALL_FLAGS): New constant. * resolve.cc: Removed constants defined by java.lang.reflect.Modifier. Include <java/lang/reflect/Modifier.h>. (_Jv_ResolvePoolEntry): Use values from Modifier. (_Jv_DetermineVTableIndex): Likewise. (_Jv_PrepareClass): Likewise. (ncode): Likewise. * defineclass.cc (_Jv_ClassReader): Removed constants defined by java.lang.reflect.Modifier. Include <java/lang/reflect/Modifier.h>. (checkExtends): Use values from Modifier. (checkImplements): Likewise. (handleField): Likewise. (handleConstantValueAttribute): Likewise. (handleFieldsEnd): Likewise. (handleMethod ): Likewise. (handleMethodsEnd): Likewise. (handleClassBegin): Likewise. * interpret.cc: Removed constants defined by java.lang.reflect.Modifier. (continue1): Use values from Modifier. * java/lang/natClassLoader.cc: Removed constants defined by java.lang.reflect.Modifier. From-SVN: r29037
1999-09-01natClassLoader.cc (_Jv_NewClass): Use JV_STATE_NOTHING, not `0'.Tom Tromey2-16/+17
* java/lang/natClassLoader.cc (_Jv_NewClass): Use JV_STATE_NOTHING, not `0'. * java/lang/Class.h: Replaced JV_STATE_ defines with enum. From-SVN: r29033
1999-09-01posix-threads.cc (_Jv_CondWait): Call _Jv_PthreadCheckMonitor.Tom Tromey2-2/+2
* posix-threads.cc (_Jv_CondWait): Call _Jv_PthreadCheckMonitor. * include/posix-threads.h (_Jv_PthreadCheckMonitor): New function. (_Jv_CondNotify): Use it. (_Jv_CondNotifyAll): Likewise. * java/lang/Class.h (JV_STATE_NOTHING): Correct misspelling. From-SVN: r29030
1999-08-22Added missing whitespace in function calls within adaptorsAlexandre Oliva1-2/+2
Pointed out by Tom From-SVN: r28803
1999-08-21natSystem.cc (getpwuid_adaptor): New overloaded function that detects the ↵Alexandre Oliva1-1/+30
signature of getpwuid_r. * java/lang/natSystem.cc (getpwuid_adaptor): New overloaded function that detects the signature of getpwuid_r. (init_properties): Use it. * java/util/natDate.cc (ctime_adaptor): Likewise for ctime_r. (toString): Use it. From-SVN: r28790
1999-08-20interpret.cc (continue1): Implement explicit dispatch table.Kresten Krab Thorup1-13/+4
* interpret.cc (continue1): Implement explicit dispatch table. insn_target: Explicit interpreter switch table. SAVE_PC: New macro, moves pc saving code into instructions that require so. NEXT_INSN: New macro, replaces `goto next_insn' in all insns. PC_REGISTER_ASM: New macro. INLINE_SWITCH: New macro. Constrols dispatching strategy. opcode: Remove local variable. {i,l,f,d}{load,store}_{0,1,2,3}: Expand definitions. (POKEI): Use _Jv_word. (iinc): Use _Jv_word. (dupx): Change reference argument (sp) to pointer. (jvdump): Remove * interpret.cc: Remove instruction timing instrumentation. * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Changed comment. Don't use _Jv_ClassNameSamePackage. * gnu/gcj/util/path/{SearchPath,ZipFileEntry,DirectoryPathEntry, URLPathEntry, CacheEntry}: Removed. * Makefile.am (ordinary_java_source_files): Remove gnu/gcj/util/path package. (.java.lo): Rule removed. * Makefile.in: Rebuilt. From-SVN: r28777
1999-08-19natThread.cc (class locker): New class.Tom Tromey1-7/+31
* java/lang/natThread.cc (class locker): New class. (join): Use a locker around _Jv_CondWait. (sleep): Likewise. From-SVN: r28770
1999-08-18ThreadGroup.java: Fixed now-erroneous comment.Tom Tromey2-3/+3
* java/lang/ThreadGroup.java: Fixed now-erroneous comment. * java/lang/natThread.cc (finish_): Call ThreadGroup.remove. From-SVN: r28753
1999-08-18natClassLoader.cc (_Jv_PrepareCompiledClass): Renamed from ↵Kresten Krab Thorup6-234/+189
_Jv_InternClassStrings. * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Renamed from _Jv_InternClassStrings. * prims.cc (_Jv_RunMain): New function. (JvRunMain): Remove gij-support. * gij.cc (main): Use _Jv_RunMain. * java/util/zip/ZipFile.java: Call readDirectory in constructor. * interpret.cc (PUSHA, PUSHI, PUSHF, PUSHL, PUSHD): Don't store argument in temp variable. (continue1): For all op_x2y insns, use temp variable for intermediate value. Also remove some comments. * java/lang/natClass.cc (newInstance): Call _Jv_InitClass. (forName): Don't call _Jv_InitClass. * java/lang/Class.java (getResource,getResourceAsStream): Implement. * java/util/zip/ZipEntry.java (ZipEntry(ZipEntry)): New construcor. * java/util/jar/JarInputStream.java: New file. * java/util/jar/JarEntry.java: New file. * java/util/jar/JarFile.java: New file. * java/net/URLClassLoader.java: New file. * java/net/JarURLConnection.java: New file. * gnu/gcj/protocol/jar/Handler.java: New file. * gnu/gcj/protocol/jar/Connection.java: New file. * java/security/SecureClassLoader.java: New file. * java/lang/ClassLoader.java (parent): New variable. (ClassLoader (ClassLoader)): new constructor. (findClass): New method. (loadClass): Add default 1.2 implementation. (getSystemResourceAsBytes, getResourceAsBytes): Removed. (readfully): Removed. * gnu/gcj/runtime/VMClassLoader.java: Moved from java/lang. (findSystemClass): New method. (VMClassLoader): Constructor rewritten. (init): New method. All other methods removed. * java/lang/natClassLoader.cc: Change use of java::lang::VMClassLoader to gnu::gcj::runtime::VMClassLoader. (_Jv_InternClassStrings): Use _Jv_ResolvePoolEntry. Also handle class entries. (VMClassLoader::findSystemClass): renamed from findBootClass. * Makefile.am: Add new files. (FirstThread.h, ThreadGroup.h): Add _Jv_Main friend. * Makefile.in: Rebuilt. From-SVN: r28748
1999-08-18natThread.cc (sleep): Turn 0 millis and 0 nanos into 1 nano.Tom Tromey1-0/+3
* java/lang/natThread.cc (sleep): Turn 0 millis and 0 nanos into 1 nano. * include/quick-threads.h (_Jv_CondWait): Don't round to 0 inappropriately. From-SVN: r28742
1999-08-14resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0.Per Bothner2-12/+9
1999-08-14 Per Bothner <per@bothner.com> * resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0. * java/lang/natClass.cc (initializeClass): Likewise. * java/lang/ClassLoader.java (resolveClass0): New static method. (resolveClass): Call resolveClass0. (findSystemClass): No longer static. From-SVN: r28711
1999-08-10[multiple changes]Anthony Green2-4/+4
Mon Aug 9 18:33:38 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * Makefile: Rebuilt. * Makefile.am (toolexeclibdir): Add $(MULTISUBDIR) even for native builds. * java/net/natPlainSocketImpl.cc: Include <sys/select.h> only if present. * configure: Rebuilt. * configure.in: Properly align --help output, fix capitalization and punctuation. * acinclude.m4: Likewise. 1999-08-09 Kresten Krab Thorup <krab@gnu.org> * include/javaprims.h (_Jv_word, _Jv_word2): New types. * include/java-interp.h (_Jv_InterpMethodInvocation): Use _Jv_word. (_Jv_callInterpretedMethod): Unused. Remove. (_Jv_InterpMethod::run,run_normal,run_synch_object,run_synch_class): Use ffi_raw. * include/java-cpool.h (_Jv_get, _Jv_put): Remove. (_Jv_{store,load}{Indexes,Int,Float,Long,Double}): Use _Jv_word. * boehm.cc (_Jv_MarkObj): Use _Jv_word. * interpret.cc: use _Jv_word. * defineclass.cc: use_Jv_word. * resolve.cc: Use _Jv_word. (_Jv_ResolvePoolEntry): Return _Jv_word. * java/lang/Class.h (_Jv_Constants): Use _Jv_word for cpool. * java/lang/natClassLoader.cc (_Jv_InternClassStrings): Use _Jv_word. * interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1): Change comment. From-SVN: r28641
1999-08-08[multiple changes]Anthony Green11-365/+1318
1999-08-09 Anthony Green <green@cygnus.com> * gij.cc: New file. * include/config.h.in: Rebuilt. * acconfig.h: Add INTERPRETER. * configure: Rebuilt. * Makefile.in: Rebuilt. * Makefile.am (libffi_files): Identify the libffi object files for inclusion in libgcj. (LIBFFIINCS): Define. * interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1): Dummy definition for configurations without an interpreter. * java/net/natPlainSocketImpl.cc (getOption): Disamiguate call to java::lang::Boolean constructor. * include/java-interp.h: Always include java-cpool.h. * java/lang/natClassLoader.cc (getVMClassLoader0): Always return 0 when INTERPRETER not defined. * java/lang/Class.h (finalize): Define. * gnu/gcj/util/path/DirectoryPathEntry.java (getURL): Catch IOException from File.getCanonicalPath. (getStream): Likewise. * NEWS: More news. * THANKS: More thanks. 1999-08-09 Kresten Krab Thorup <krab@gnu.org> * resolve.cc (get_ffi_type_from_signature): Generate uint16 for jchar type. (_Jv_PrepareClass): Allow non-abstract classes to have abstract subclasses. (_Jv_ResolvePoolEntry): Revert subclass check for protected fields and methods. * interpret.cc (continue1/perform_invoke): Don't sign extend uint16 return val. (continue1/lshl,lshr): Push long, not int. (continue1/ulshr): Use UINT64, not long long. * defineclass.cc (handleFieldsEnd): Handle case when all fields are static. * java/lang/natClass.cc (forName): Add call to _Jv_InitClass. * java/lang/FirstThread.java (run): Add top-level exception handler. (run0): Renamed from run. 1999-08-08 Kresten Krab Thorup <krab@gnu.org> * configure.in (--with-interpreter): Added. * include/config.h.in (INTERPRETER): Added. * java/lang/ClassLoader.java: File replaced. * java/lang/VMClassLoader.java: New file. * java/lang/natClassLoader.cc: New file. * gnu/gcj/runtime/MethodInvocation.java: New file. * gnu/gcj/util/path/SearchPath.java: New file. * gnu/gcj/util/path/PathEntry.java: New file. * gnu/gcj/util/path/DirectoryPathEntry.java: New file. * gnu/gcj/util/path/ZipPathEntry.java: New file. * gnu/gcj/util/path/URLPathEntry.java: New file. * gnu/gcj/util/path/CacheEntry.java: New file. * include/java-interp.h: New file. * include/java-cpool.h: New file. * include/java-insns.h: New file. * defineclass.cc: New file. * interpret.cc: New file. * resolve.cc: New file. * java/lang/natClass.cc (loaded_classes, _Jv_RegisterClass, _Jv_RegisterClasses, _Jv_FindClassInCache, _Jv_FindClass, _Jv_NewClass, _Jv_FindArrayClass): Moved to natClassLoader.cc. (finalize): New. (STATE_NOTHING, STATE_RESOLVED, STATE_IN_PROGRESS, STATE_DONE, STATE_ERROR): Moved to java/lang/Class.h and renamed with JV_ prefix. (initializeClass): Use new JV_ prefixed names. Also, call ClassLoader::resolveClass instead of _Jv_ResolveClass. * java/lang/Class.h (JV_STATE_PRELOADING, JV_STATE_LOADING, JV_STATE_LOADED, JV_STATE_COMPILED, JV_STATE_PREPARED, JV_STATE_LINKED): New. (_Jv_WaitForState, _Jv_RegisterInitiatingLoader, _Jv_UnregisterClass, _Jv_InternClassStrings): New friends. (_Jv_IsInterpretedClass, _Jv_InitField, _Jv_LookupDeclaredMethod, _Jv_DetermineVTableIndex, _Jv_ResolvePoolEntry, _Jv_PrepareClass, _Jv_ClassReader, _Jv_InterpClass, _Jv_InterpMethod, _Jv_InterpMethodInvocation): New friends for interpreter. (finalize): New. (CONSTANT_Class, CONSTANT_String, etc.): Moved to include/java-cpool.h and renamed with JV_ prefix. * include/jvm.h (_Jv_makeUtf8Const, _Jv_makeUtf8TypeConst): New decls. (_Jv_UnregisterClass): New decl. * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Added class loader argument. (_Jv_FindClass): Use class loader. * prims.cc (_Jv_makeUtf8Const): New function. (_Jv_NewObjectArray): Change use of _Jv_FindArrayClass. (_Jv_NewPrimArray): Ditto. (_Jv_FindClassFromSignature): Ditto. * java/lang/reflect/natArray.cc (newInstance): Ditto. * java/lang/reflect/natMethod.cc (getType): Ditto. * include/java-field.h (_Jv_Field::isRef): Make robust for non-resolved contexts. * boehm.cc (_Jv_MarkObj): Mark interpreter-related fields. Also, don't mark class->next field. * java/lang/VirtualMachineError.java: Added FIXME note. * configure.in (INTERPSPEC): New spec. * libgcj.spec.in: Added INTERPSPEC. * Makefile.am: Added gcjh friends for java/lang/VMClassLoader and gnu/gcj/runtime/MethodInvocation. (libgcj_la_SOURCES): Added resolve.cc defineclass.cc interpret.cc. (ordinary_java_source_files): Added above mentioned java classes. * configure: Rebuilt. * Makefile.in: Rebuilt. From-SVN: r28597
1999-07-31natSystem.cc (arraycopy): Use bcopy if memmove is not available.Alexandre Oliva1-1/+6
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br> * java/lang/natSystem.cc (arraycopy): Use bcopy if memmove is not available. Don't cast memmove args to (void*). * configure.in: Do not abort if memmove is not available. From-SVN: r28360
1999-07-26natString.cc (substring): optimize where substring is entire String.Bryce McKinlay1-0/+2
1999-07-22 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/natString.cc (substring): optimize where substring is entire String. * java/io/File.java (getName): don't return separator with file name. * java/io/natFile.cc (attr): fix overflow. From-SVN: r28246
1999-07-12mprec.h: Protect definition of uint32_t with #ifndef _UINT32_T.Tom Tromey1-0/+6
* java/lang/mprec.h: Protect definition of uint32_t with #ifndef _UINT32_T. From-SVN: r28065
1999-07-01String.java (toString): Check for this == null and throw NullPointerException.Bryce McKinlay1-0/+3
1999-07-01 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/String.java (toString): Check for this == null and throw NullPointerException. From-SVN: r27895
1999-06-24[multiple changes]Tom Tromey2-16/+15
1999-06-24 Tom Tromey <tromey@cygnus.com> * java/lang/e_asin.c: Don't use __int32_t or __uint32_t. * java/lang/fdlibm.h (HUGE): Conditionally define. Fri May 28 22:20:03 1999 Anthony Green <green@cygnus.com> * java/lang/fdlibm.h: Don't use __uint32_t. Include mprec.h. * java/lang/e_log.c: Don't use __uint32_t. From-SVN: r27733
1999-06-24[multiple changes]Tom Tromey26-407/+425
Fri May 28 22:20:03 1999 Anthony Green <green@cygnus.com> * java/lang/fdlibm.h: Don't use __uint32_t. Include mprec.h. * java/lang/e_log.c: Don't use __uint32_t. 1999-05-27 Eric Christopher <echristo@cygnus.com> * configure: Rebuilt * configure.in: Fixed ISO C9X and namespace collision with __uint32_t * acconfig.h: Rebuilt * include/config.h.in: Rebuilt * java/lang/mprec.h, java/lang/e_acos.c, java/lang/e_asin.c, java/lang/e_atan2.c, java/lang/e_exp.c, java/lang/e_fmod.c, e_log.c, java/lang/e_pow.c, java/lang/e_rem_pio2.c, java/lang/e_remainder.c, java/lang/e_sqrt.c, java/lang/fdlibm.h, k_tan.c, java/lang/mprec.h, java/lang/s_atan.c, java/lang/s_ceil.c, java/lang/s_copysign.c, java/lang/s_fabs.c, s_floor.c, java/lang/s_rint.c, java/lang/sf_rint.c: Fixed ISO C9X and namespace collision with __uint32_t From-SVN: r27729
1999-06-21ieeefp.h (__IEEE_LITTLE_ENDIAN): Define for alpha.Tom Tromey1-0/+4
* java/lang/ieeefp.h (__IEEE_LITTLE_ENDIAN): Define for alpha. From Jeff Sturm. From-SVN: r27671
1999-06-09Runtime.java (exec): Convert prog name and arguments to string array.Bryce McKinlay2-18/+24
* java/lang/Runtime.java (exec): Convert prog name and arguments to string array. * java/lang/natPosixProcess.cc (startProcess): Fix typo in environment array conversion. Preserve current environment if envp not passed. Preserve PATH unless explicitly specified. * java/io/DataInputStream.java (readLine): Fix case where '\r' is followed by EOF. Set a flag when a line is terminated by '\r' and ignore following '\n' if set. From-SVN: r27458
1999-05-17natSystem.cc (init_properties): URL now points to sourceware.Tom Tromey1-1/+1
* java/lang/natSystem.cc (init_properties): URL now points to sourceware. From-SVN: r26974