11998-12-30 Anthony Green <green@cygnus.com> 2 3 * README: Removed. 4 * LIBJAVA_LICENSE, COPYING.LIB: Created. 5 61998-12-23 Tom Tromey <tromey@cygnus.com> 7 8 * java/io/PushbackInputStream.java (read): `off' already includes 9 `numBytes'. 10 111998-12-17 Tom Tromey <tromey@cygnus.com> 12 13 * Makefile.in: Rebuilt. 14 * Makefile.am (GCJ_canadian): Include target_alias. 15 16 * java/lang/natFirstThread.cc (run): Require main's class to be 17 public. 18 191998-12-16 Tom Tromey <tromey@cygnus.com> 20 21 * java/util/Locale.java (JAPAN): Language is `ja', not `jp'. 22 23 * java/util/ResourceBundle.java (getBundle): Throw 24 NullPointerException if locale argument is null. 25 26 * java/lang/natClass.cc (forName): Throw NullPointerException if 27 argument is null. 28 Include NullPointerException.h. 29 301998-12-14 Tom Tromey <tromey@cygnus.com> 31 32 * java/lang/Character.java (Character): Implement Comparable. 33 (compareTo): New methods. 34 35 * java/util/Locale.java (CANADA, FRANCE, JAPAN): Now `final'. Use 36 correct country and language codes. 37 (UK, US): New constants. 38 (setDefault): Language codes are lower-case. 39 40 * java/lang/natClass.cc (getDeclaredConstructor): New method. 41 (getDeclaredConstructors): Likewise. 42 (getDeclaredField): Likewise. 43 (getDeclaredFields): Likewise. 44 (getDeclaredMethod): Likewise. 45 (getDeclaredMethods): Likewise. 46 (getField): Likewise. 47 (getFields): Likewise. 48 (getMethod): Likewise. 49 (getMethods): Likewise. 50 * java/lang/Class.java: Declare new methods. 51 * java/lang/Class.h: Declare new methods. 52 53 * java/lang/natString.cc: Removed `#pragma implementation'. 54 * include/cni.h (_Jv_GetStringChars): New function. 55 * Makefile.in: Rebuilt. 56 * Makefile.am (java/lang/String.h): Don't generate definition for 57 _Jv_GetStringChars. 58 59 * java/lang/natString.cc: Added `#pragma implementation'. 60 61 * Makefile.in: Rebuilt. 62 * Makefile.am (libjava.zip): Put build directory first in class 63 path to avoid bug in compiler. 64 651998-12-14 Anthony Green <green@cygnus.com> 66 67 * java/util/Locale.java: Add CANADA, FRANCE and JAPAN. 68 69 * include/javaprims.h: Add EventObject, ListResourceBundle and 70 ResourceBundle. 71 721998-12-13 Anthony Green <green@cygnus.com> 73 74 * mauve-libjava: Run the ResourceBundle tests. 75 76 * java/lang/natClass.cc (_Jv_FindClass): Don't fail when loader is 77 NULL. 78 79Sun Dec 13 18:11:21 1998 Per Bothner <bothner@cygnus.com> 80 81 * configure.in, configure: Make --enable-gcj-classes and 82 --enable-source-compilation the default. (Nervously...) Yeah! 83 Based on a patch from Tom Tromey. 84 851998-12-13 Tom Tromey <tromey@cygnus.com> 86 87 * java/util/EventObject.java: New file. 88 * java/util/EventListener.java: New file. 89 90 * include/javaprims.h: Updated class declarations. 91 * Makefile.in: Rebuilt. 92 * Makefile.am (nat_headers): Added Constructor.h. 93 (java/lang/String.h): Don't inline String::length(). 94 * java/lang/Class.h (getConstructor, getConstructors): Declare. 95 * java/lang/Class.java (initializeClass, hackRunInitializers, 96 hackTrampoline): No need to mark `final'. 97 (getConstructor, getConstructors): Declare. 98 * java/lang/reflect/Field.java (equals): New method. 99 * java/lang/natClass.cc (getConstructor): New method. 100 (getConstructors): Likewise. 101 Include Method.h, Field.h, Constructor.h. 102 * java/lang/reflect/Constructor.java: New file. 103 * java/lang/reflect/Method.java (toString): No space before open 104 paren. 105 (equals): Simplified. 106 1071998-12-13 Anthony Green <green@cygnus.com> 108 109 * java/util/ResourceBundle.java: New file. 110 * java/util/ListResourceBundle.java: New file. 111 1121998-12-12 Tom Tromey <tromey@cygnus.com> 113 114 * java/lang/System.java (in, out, err): Now buffered streams by 115 default. 116 117 * include/javaprims.h: Updated class declarations. 118 * Makefile.in: Rebuilt. 119 * Makefile.am (nat_headers): Added AccessibleObject.h, Method.h, 120 InvocationTargetException.h, Void.h, Byte.h, Short.h, Integer.h, 121 Long.h, Boolean.h. 122 (nat_files): Added natMethod.o. 123 * java/lang/reflect/natMethod.cc: New file. 124 * java/lang/reflect/Field.java (Field): Now extends 125 AccessibleObject. 126 * java/lang/reflect/AccessibleObject.java: New file. 127 * java/lang/reflect/InvocationTargetException.java: New file. 128 1291998-12-11 Tom Tromey <tromey@cygnus.com> 130 131 * boehm.cc, prims.cc, include/jvm.h, java/lang/Class.h, 132 java/lang/Object.h, java/lang/natClass.cc, java/lang/natObject.cc: 133 Renamed dtable -> vtable and _Jv_DispatchTable -> _Jv_VTable. 134 135 * java/io/OutputStreamWriter.java (buffer): Size at 8192 bytes. 136 1371998-12-09 Tom Tromey <tromey@cygnus.com> 138 139 * java/util/natDate.cc (_POSIX_THREAD_SEMANTICS): Define if 140 HAVE_CTIME_R. 141 142 * java/lang/natCharacter.cc (toTitleCase): Handle case where 143 character is already titlecase. 144 145 * java/lang/Character.java (isJavaLetter): Follow spec. 146 (isJavaLetterOrDigit): Likewise. 147 148 * java/util/GregorianCalendar.java (gregorianCutover): Append 149 `L'. 150 151 * java/lang/Character.java (isWhitespace): Use \r and not \u000d. 152 1531998-12-08 Tom Tromey <tromey@cygnus.com> 154 155 * java/lang/reflect/Modifier.java (toString): Replace second 156 `static' with `synchronized'. 157 158 * java/lang/natObject.cc (_Jv_FinalizeObject): Call hack12_6. 159 * java/lang/Object.h (Object::hack12_6): Declare. 160 * java/lang/Object.java (hack12_6): New function. 161 1621998-12-07 Tom Tromey <tromey@cygnus.com> 163 164 * include/java-array.h (__JArray::clone): Removed decl. 165 * prims.cc (__JArray::clone): Removed. 166 * java/lang/natObject.cc (clone): Incorporate code to clone an 167 array. 168 169 * java/lang/natClass.cc (_Jv_NewClass): Set class loader. 170 (_Jv_FindArrayClass): Set dtable_method_count on new class. 171 Correctly use dtable_method_count. 172 1731998-12-07 Andrew Haley <aph@cygnus.co.uk> 174 175 * java/lang/Double.java (isInfinite, isNaN): Handle correct 176 IEEE754 values. 177 1781998-12-06 Anthony Green <green@cygnus.com> 179 180 * mauve-libjava: Don't test ResourceBundle. 181 1821998-12-04 Tom Tromey <tromey@cygnus.com> 183 184 More JDK 1.2 spec fixes: 185 * java/util/Date.java (millis): Now private. 186 * java/text/DateFormat.java (DateFormat): Constructor now 187 protected. 188 * java/lang/Void.java (Void): New private constructor. 189 * java/lang/System.java (System): New private constructor. 190 * java/lang/SecurityManager.java (classLoaderDepth): Uncommented 191 body. 192 (currentClassLoader): New method. 193 (currentLoadedClass): New method. 194 * java/lang/Math.java (Math): New private constructor. 195 * java/lang/Compiler.java (Compiler): New private constructor. 196 * java/lang/Class.java (Class): New private constructor. 197 * java/lang/Double.java (toString): Removed access specifier from 198 two-argument `toString' method. 199 2001998-12-04 Andrew Haley <aph@cygnus.co.uk> 201 202 * java/lang/s_rint.c (rint): Make the variable w volatile; this 203 causes it to be flushed from an fp register (where it may be 204 longer than double precision) to a double in memory. This is 205 essential to ensure correct rounding behaviour. 206 2071998-12-04 Tom Tromey <tromey@cygnus.com> 208 209 * include/java-assert.h (_Jv_Abort): Declare as `noreturn' 210 function. 211 212 * java/lang/Character.java (isIdentifierIgnorable): Added comment 213 explaining apparent divergence from JDK 1.2. 214 2151998-12-04 Per Bothner <bothner@cygnus.com> 216 217 * include/no-threads.h: Remove unused parameter names. 218 This silences a bunch of warnings. 219 2201998-12-04 Tom Tromey <tromey@cygnus.com> 221 222 * include/config.h.in: Rebuilt. 223 * acconfig.h (HAVE_CTIME_R): New symbol. 224 2251998-12-03 Tom Tromey <tromey@cygnus.com> 226 227 * mauve-libjava: Added many more categories to reject. 228 229 Changes to follow JDK1.2 spec: 230 * java/lang/System.java (arraycopy, init_properties, checkSetIO, 231 setErr, setIn, setOut): No need to be `final'. 232 * java/lang/natObject.cc (wait): `nanos' argument is an int. 233 * java/lang/Object.h (Object::wait): `nanos' argument is an int. 234 * java/lang/Object.java (wait): `nanos' argument is an int. 235 * java/lang/VirtualMachineError.java: Class is abstract. 236 * java/lang/ThreadDeath.java: Made constructors public. 237 * java/io/FileDescriptor.java (FileDescriptor): Added missing 238 constructor. 239 240Thu Dec 3 20:29:38 1998 Warren Levy <warrenl@cygnus.com> 241 242 * java/text/DateFormatSymbols.java (getAmPmStrings, 243 getLocalPatternChars, setShortWeekdays): Fixed typos in method names. 244 245Thu Dec 3 19:21:53 1998 Warren Levy <warrenl@cygnus.com> 246 247 * java/io/RandomAccessFile.java (writeInt, writeLong, writeFloat, 248 writeDouble, writeByte, writeBytes, writeChar, writeChars, 249 writeShort, writeUTF): Added 'final' to signature to match JDK 1.1 250 and 1.2. 251 252 * java/lang/IllegalThreadStateException.java 253 (IllegalThreadStateException): Changed extending class to match spec. 254 255 * java/lang/NumberFormatException.java 256 (java/lang/NumberFormatException): Changed extending class to match 257 spec. 258 259 * java/util/Observer.java (Observer): Changed sig to match JCL. 260 261Thu Dec 3 19:05:26 1998 Warren Levy <warrenl@cygnus.com> 262 263 * java/io/DataOutputStream.java (writeInt, writeLong, writeFloat, 264 writeDouble, writeBytes, writeChars, writeUTF): Added 'final' to 265 signature to match JDK 1.1 and 1.2. 266 267Thu Dec 3 16:47:42 1998 Warren Levy <warrenl@cygnus.com> 268 269 * Makefile.am: Changed to use $(PERL) rather than hardcoded 'perl'. 270 * configure.in (PERL): Added AC_CHECK_PROGS to look for installed perl. 271 * Makefile.in, configure: Rebuilt. 272 273 * java/text/ParsePosition.java (setErrorIndex): Fixed typo in method 274 name. 275 2761998-12-02 Tom Tromey <tromey@cygnus.com> 277 278 * mauve-libjava: New file. 279 280 The remaining `-W -Wall' fixes: 281 * java/lang/e_sqrt.c (__ieee754_sqrt): Added cast to unsigned to 282 avoid warning. 283 * java/lang/s_scalbn.c (scalbn): Added braces to avoid ambiguous 284 `else'. 285 * java/lang/s_floor.c (floor): Added cast to unsigned to avoid 286 warning. 287 * java/lang/e_pow.c (__ieee754_pow): Added cast to unsigned to 288 avoid warning. 289 * java/lang/e_log.c (__ieee754_log): Added braces to avoid 290 ambiguous `else'. 291 * java/lang/s_ceil.c (ceil): Cast `i1' to unsigned to avoid 292 warning. 293 * java/lang/e_atan2.c (__ieee754_atan2): Added parentheses per gcc 294 suggestion. 295 * java/lang/strtod.c (_strtod_r): Added parentheses per gcc 296 suggestion. 297 * java/lang/mprec.c (Balloc): Removed unused variable. 298 (mult): Added parentheses per gcc suggestion. 299 (pow5mult): Likewise. 300 (lshift): Likewise. 301 (ulp): Likewise. 302 (b2d): Likewise. 303 (d2b): Likewise. 304 * java/lang/dtoa.c (_dtoa_r): Added some parentheses per gcc 305 suggestion. Added cast to `int' to avoid signed/unsigned 306 comparison. 307 * jni.cc (_Jv_JNI_GetSuperclass): Removed name of unused 308 parameter. 309 (IsAssignableFrom): Likewise. 310 (_Jv_JNI_GetObjectField): Likewise. 311 (_Jv_JNI_GetByteField): Likewise. 312 (_Jv_JNI_GetShortField): Likewise. 313 (_Jv_JNI_GetIntField): Likewise. 314 (_Jv_JNI_GetLongField): Likewise. 315 (_Jv_JNI_GetStringLength): Likewise. 316 (_Jv_JNI_ToReflectedField): Likewise. 317 (_Jv_JNI_FromReflectedField): Likewise. 318 (_Jv_JNIFunctions): Uncommented IsAssignableFrom. 319 320 * Makefile.in: Rebuilt. 321 * Makefile.am (AM_CFLAGS): Define conditionally. 322 (WARNINGS): New macro. 323 (AM_CXXFLAGS): Include WARNINGS. 324 * configure: Rebuilt. 325 * configure.in (USING_GCC): New conditional. 326 327 * prims.cc (_Jv_Abort): Declare twice, to avoid warnings. 328 329 * java/lang/Character.java: Changed classification constants to 330 type `byte' to match JDK 1.2 docs. 331 3321998-12-01 Tom Tromey <tromey@cygnus.com> 333 334 Some fixes to be `-W -Wall' clean: 335 * boehm.cc (_Jv_MarkObj): Removed name of unused parameter. 336 (_Jv_MarkArray): Likewise. 337 * java/lang/natCharacter.cc (to_lower_title): `i' is unsigned. 338 (to_upper_title): Likewise. 339 (isTitleCase): Likewise. 340 (toTitleCase): Likewise. 341 (getNumericValue): Likewise. 342 (isLowerCase): Likewise. 343 * java/lang/natString.cc (charAt): Don't cast `i' to unsigned 344 (avoids compiler warning). 345 * java/lang/natClass.cc (getDeclaredClasses): Always return a 346 value. 347 (getDeclaringClass): Likewise. 348 (_Jv_LookupInterfaceMethod): Likewise. 349 (_Jv_NewClass): Removed name of unused parameter. 350 * exception.cc (_Jv_type_matcher): Removed unused variable. 351 (_Jv_setup_eh_info): Removed name of unused parameter. 352 * prims.cc (_Jv_NewArray): Always return a value. 353 (_Jv_FindClassFromSignature): Likewise. 354 * include/java-field.h (getNameUtf8Const): Removed name of unused 355 parameter. 356 * include/quick-threads.h (_Jv_ThreadInitData): Removed name of 357 unused parameter. 358 (_Jv_ThreadSetPriority): Likewise. 359 360 * java/lang/natString.cc (hashChars): Now static. 361 362 * java/lang/FirstThread.java (FirstThread): Now final. 363 364 * java/io/File.java (performMkdir, performRenameTo): Now private. 365 366 * java/lang/natSystem.cc (currentTimeMillis): Return a value even 367 if no time function defined. 368 369 * configure: Rebuilt. 370 * configure.in: Look for ctime_r, ctime. 371 * java/util/Date.java (toString): Now native. 372 * java/util/natDate.cc (toString): Rewrote. 373 3741998-11-27 Andrew Haley <aph@viagra.cygnus.co.uk> 375 376 * Add LDFLAGS line to allow TX39 test cases to link when cross 377 compiling. 378 3791998-11-23 Anthony Green <green@cygnus.com> 380 381 * boehm.cc, chartables.pl, classes.pl, exception.cc, jni.cc, 382 no-threads.cc, nogc.cc, posix-threads.cc, prims.cc, 383 quick-threads.cc, include/boehm-gc.h, include/cni.h, 384 include/java-array.h, include/java-assert.h, include/java-field.h, 385 include/javaprims.h, include/jni.h, include/jvm.h, 386 include/no-gc.h, include/no-threads.h, include/posix-threads.h, 387 include/quick-threads.h, java/io/BufferedInputStream.java, 388 java/io/BufferedOutputStream.java, java/io/BufferedReader.java, 389 java/io/BufferedWriter.java, java/io/ByteArrayInputStream.java, 390 java/io/ByteArrayOutputStream.java, java/io/CharArrayReader.java, 391 java/io/CharArrayWriter.java, 392 java/io/CharConversionException.java, java/io/DataInput.java, 393 java/io/DataInputStream.java, java/io/DataOutput.java, 394 java/io/DataOutputStream.java, java/io/EOFException.java, 395 java/io/File.java, java/io/FileDescriptor.java, 396 java/io/FileInputStream.java, java/io/FileNotFoundException.java, 397 java/io/FileOutputStream.java, java/io/FileReader.java, 398 java/io/FileWriter.java, java/io/FilenameFilter.java, 399 java/io/FilterInputStream.java, java/io/FilterOutputStream.java, 400 java/io/FilterReader.java, java/io/FilterWriter.java, 401 java/io/IOException.java, java/io/InputStream.java, 402 java/io/InputStreamReader.java, 403 java/io/InterruptedIOException.java, 404 java/io/LineNumberInputStream.java, java/io/LineNumberReader.java, 405 java/io/OutputStream.java, java/io/OutputStreamWriter.java, 406 java/io/PipedInputStream.java, java/io/PipedOutputStream.java, 407 java/io/PipedReader.java, java/io/PipedWriter.java, 408 java/io/PrintStream.java, java/io/PrintWriter.java, 409 java/io/PushbackInputStream.java, java/io/PushbackReader.java, 410 java/io/RandomAccessFile.java, java/io/Reader.java, 411 java/io/SequenceInputStream.java, java/io/Serializable.java, 412 java/io/StreamTokenizer.java, 413 java/io/StringBufferInputStream.java, java/io/StringReader.java, 414 java/io/StringWriter.java, java/io/SyncFailedException.java, 415 java/io/UTFDataFormatException.java, 416 java/io/UnsupportedEncodingException.java, java/io/Writer.java, 417 java/io/natFile.cc, java/io/natFileDescriptorEcos.cc, 418 java/io/natFileDescriptorPosix.cc, 419 java/lang/AbstractMethodError.java, 420 java/lang/ArithmeticException.java, 421 java/lang/ArrayIndexOutOfBoundsException.java, 422 java/lang/ArrayStoreException.java, java/lang/Boolean.java, 423 java/lang/Byte.java, java/lang/Character.java, java/lang/Class.h, 424 java/lang/Class.java, java/lang/ClassCastException.java, 425 java/lang/ClassCircularityError.java, 426 java/lang/ClassFormatError.java, java/lang/ClassLoader.java, 427 java/lang/ClassNotFoundException.java, 428 java/lang/CloneNotSupportedException.java, 429 java/lang/Cloneable.java, java/lang/Comparable.java, 430 java/lang/Compiler.java, java/lang/Double.java, 431 java/lang/Error.java, java/lang/Exception.java, 432 java/lang/ExceptionInInitializerError.java, 433 java/lang/FirstThread.java, java/lang/Float.java, 434 java/lang/IllegalAccessError.java, 435 java/lang/IllegalAccessException.java, 436 java/lang/IllegalArgumentException.java, 437 java/lang/IllegalMonitorStateException.java, 438 java/lang/IllegalStateException.java, 439 java/lang/IllegalThreadStateException.java, 440 java/lang/IncompatibleClassChangeError.java, 441 java/lang/IndexOutOfBoundsException.java, 442 java/lang/InstantiationError.java, 443 java/lang/InstantiationException.java, java/lang/Integer.java, 444 java/lang/InternalError.java, java/lang/InterruptedException.java, 445 java/lang/LinkageError.java, java/lang/Long.java, 446 java/lang/Math.java, java/lang/NegativeArraySizeException.java, 447 java/lang/NoClassDefFoundError.java, 448 java/lang/NoSuchFieldError.java, 449 java/lang/NoSuchFieldException.java, 450 java/lang/NoSuchMethodError.java, 451 java/lang/NoSuchMethodException.java, 452 java/lang/NullPointerException.java, java/lang/Number.java, 453 java/lang/NumberFormatException.java, java/lang/Object.h, 454 java/lang/Object.java, java/lang/OutOfMemoryError.java, 455 java/lang/Process.java, java/lang/Runnable.java, 456 java/lang/Runtime.java, java/lang/RuntimeException.java, 457 java/lang/SecurityException.java, java/lang/SecurityManager.java, 458 java/lang/Short.java, java/lang/StackOverflowError.java, 459 java/lang/String.java, java/lang/StringBuffer.java, 460 java/lang/StringIndexOutOfBoundsException.java, 461 java/lang/System.java, java/lang/Thread.java, 462 java/lang/ThreadDeath.java, java/lang/ThreadGroup.java, 463 java/lang/Throwable.java, java/lang/UnknownError.java, 464 java/lang/UnsatisfiedLinkError.java, 465 java/lang/UnsupportedOperationException.java, 466 java/lang/VerifyError.java, java/lang/VirtualMachineError.java, 467 java/lang/Void.java, java/lang/natCharacter.cc, 468 java/lang/natClass.cc, java/lang/natDouble.cc, 469 java/lang/natFirstThread.cc, java/lang/natFloat.cc, 470 java/lang/natMath.cc, java/lang/natObject.cc, 471 java/lang/natRuntime.cc, java/lang/natString.cc, 472 java/lang/natSystem.cc, java/lang/natThread.cc, 473 java/lang/reflect/Field.java, java/lang/reflect/Member.java, 474 java/lang/reflect/Modifier.java, java/lang/reflect/natField.cc, 475 java/text/DateFormat.java, java/text/DateFormatSymbols.java, 476 java/text/FieldPosition.java, java/text/Format.java, 477 java/text/NumberFormat.java, java/text/ParseException.java, 478 java/text/ParsePosition.java, java/text/SimpleDateFormat.java, 479 java/util/BitSet.java, java/util/Calendar.java, 480 java/util/ConcurrentModificationException.java, 481 java/util/Date.java, java/util/Dictionary.java, 482 java/util/EmptyStackException.java, java/util/Enumeration.java, 483 java/util/GregorianCalendar.java, java/util/Hashtable.java, 484 java/util/Locale.java, java/util/MissingResourceException.java, 485 java/util/NoSuchElementException.java, java/util/Observable.java, 486 java/util/Observer.java, java/util/Properties.java, 487 java/util/Random.java, java/util/SimpleTimeZone.java, 488 java/util/Stack.java, java/util/StringTokenizer.java, 489 java/util/TimeZone.java, java/util/TooManyListenersException.java, 490 java/util/Vector.java, java/util/natGregorianCalendar.cc: Updated 491 copyright notices. 492 493 * exception.cc: Include eh-common.h instead of duplicating 494 code. 495 4961998-11-23 Tom Tromey <tromey@cygnus.com> 497 498 * configure.host: Don't add `-O2' to libjava_flags. Only add 499 `-Os' to libjava_flags once. 500 5011998-11-17 Andrew Haley <aph@viagra.cygnus.co.uk> 502 503 * Makefile.am: add LIBJAVA_JAVAFLAGS. 504 * Makefile.in: likewise 505 * acconfig.h: add ECOS conditional for configure.h 506 * config.h.in: likewise 507 * configure: add test for --with-ecos 508 * configure.in: likewise 509 * java/io/natFileDescriptorEcos.cc (java::io::FileDescriptor::write): 510 rename call to avoid name clash. 511 * java/lang/natSystem.cc: add eCos clock support. 512 * java/util/natGregorianCalendar.cc: add eCos support. 513 5141998-11-20 Andrew Haley <aph@viagra.cygnus.co.uk> 515 516 * Makefile.am, Makefile.in, configure.host: tx39 build option 517 "-G 0" added. 518 519Wed Nov 18 18:55:25 1998 Warren Levy <warrenl@cygnus.com> 520 521 * java/io/BufferedReader.java: Added more comments for clarity. 522 (mark): Used more mnemonic name for local var extraBuffSpace. 523 524 * java/io/LineNumberReader.java (lineEnd): Removed method to avoid 525 confusion with private method of same name in superclass. 526 (skipRedundantLF): Set fields in special case to avoid infinite 527 recursion. Check if markPos has been invalidated in special case. 528 (readLine): Rewritten to use readLine method of superclass. 529 (skip): Incorporated code from lineEnd. 530 531Wed Nov 18 02:46:03 1998 Warren Levy <warrenl@cygnus.com> 532 533 * java/io/BufferedReader.java (readLine): New method. 534 (lineEnd): new private method. 535 (mark): Track special case for readLine of getting '\r' at the 536 end of the buffer. 537 (reset): Ditto. 538 (read): Ditto. 539 (fill): Ditto. 540 (skip): Ditto. 541 542 * java/io/InputStreamReader.java (read): Return number chars skipped 543 rather than requested. 544 545 * java/lang/StringBuffer.java (append): Update count and differentiate 546 between field and local variable. 547 548 * java/util/Date.java (parseTz): Evaluate in minutes rather than 549 seconds. Deal with military style time. 550 (parse): Consistently treat all timezones in minutes until final 551 calculation. Flag as non-local timezone. Return value in milliseconds. 552 (setTime): Adjust for year offset from 1900. 553 (UTC): Adjust for year offset from 1900. 554 5551998-11-17 Tom Tromey <tromey@cygnus.com> 556 557 * configure: Rebuilt. 558 * configure.in: Switch on host, not target. 559 560 * Makefile.in: Rebuilt. 561 * Makefile.am (GCJ_no): New macro. 562 (GCJ): Use @CANADIAN@. 563 (GCJH_no): New macro 564 (GCJH_canadian): New macro. 565 (GCJH): Use @CANADIAN@. 566 (ZIP_no): New macro. 567 (ZIP_canadian): New macro. 568 (ZIP): Use @CANADIAN@. 569 * aclocal.m4, configure: Rebuilt. 570 * configure.in (CANADIAN): Compute and subst. 571 572Tue Nov 17 12:44:37 1998 Anthony Green <green@cygnus.com> 573 574 * java/io/FileDescriptor.java (finalize): Only close file 575 descriptor if valid. 576 5771998-11-17 Tom Tromey <tromey@cygnus.com> 578 579 * prims.cc (_Jv_InitRuntime): Removed. 580 5811998-11-16 Tom Tromey <tromey@cygnus.com> 582 583 * java/io/FileOutputStream.java (close): Only close file 584 descriptor if valid. 585 (finalize): New method. 586 587 * prims.cc (_Jv_NewObjectArray): Set vtbl last. 588 (_Jv_NewPrimArray): Likewise. 589 * boehm.cc (_Jv_RegisterFinalizer): Use 590 GC_REGISTER_FINALIZER_NO_ORDER. 591 (GC_GENERIC_MALLOC): New define. 592 (_Jv_AllocObj): Use it. 593 (_Jv_AllocArray): Likewise. 594 (_Jv_AllocBytes): Likewise. 595 (_Jv_MarkObj): Just return if vtbl not set. 596 (_Jv_MarkArray): Likewise. 597 (MAYBE_MARK): New macro; use everywhere. 598 (_Jv_MarkObj): Mark fields belonging to superclasses as well. 599 600Mon Nov 16 14:57:53 1998 Warren Levy <warrenl@cygnus.com> 601 602 * java/util/natGregorianCalendar.cc (computeTime): Cast a time_t 603 to a jlong before calculation to prevent overflow. 604 6051998-11-16 Tom Tromey <tromey@cygnus.com> 606 607 * Makefile.in: Rebuilt. 608 * Makefile.am (nat_headers): Fixed typo. 609 6101998-11-15 Tom Tromey <tromey@cygnus.com> 611 612 * java/lang/Class.h (Class::getName): Removed definition. 613 * Makefile.in: Rebuilt. 614 * Makefile.am (nat_headers): Added InstantiationException.h, 615 NoSuchMethodException.h. 616 * java/lang/natClass.cc (clinit_name): Renamed from init_name. 617 (init_name): New global. 618 (hackRunInitializers): Use clinit_name. 619 Include InstantiationException.h, NoSuchMethodException.h. 620 (newInstance): Do some error checking (but not all). Call 621 constructor. 622 (forName): Throw exception if class not found. 623 (getName): New method. 624 (forName): Transform class name from external format to internal 625 format before lookup. 626 6271998-11-15 Anthony Green <green@cygnus.com> 628 629 * java/lang/Class.h (Class::forName): Method is static. 630 631 * java/lang/natClass.cc (newInstance): Add simple implementation. 632 (forName): Ditto. 633 634Sat Nov 14 18:25:13 1998 Per Bothner <bothner@cygnus.com> 635 636 * java/lang/Class.h (Class::accflags): Must be unsigned short (not 637 int), for compatibility with jc1. 638 6391998-11-14 Tom Tromey <tromey@cygnus.com> 640 641 * include/config.h.in: Rebuilt. 642 * acconfig.h (LINUX_THREADS): New define. 643 * configure: Rebuilt. 644 * configure.in: Define LINUX_THREADS if using POSIX threads on 645 Linux. Look for pthread_mutexattr_setkind_np function. 646 * posix-threads.cc (throw_cleanup): New function. 647 (really_start): Push cleanup function. 648 (_Jv_ThreadCancel): New function. 649 (daemon_mutex, daemon_cond, non_daemon_count): New globals. 650 (_Jv_ThreadInitData): Set `exception' field in new structure. 651 (_Jv_ThreadStart): Increment non_daemon_count if not a daemon 652 thread. 653 (_Jv_ThreadWait): New function. 654 (_Jv_InitThreads): Initialize daemon globals. 655 (FLAG_DAEMON): New macro. 656 (really_start): Notify daemon_cond when non-daemon thread exits. 657 Include <java/lang/System.h>. 658 (struct starter): `object' field now a thread. 659 (_Jv_MutexInit): Use pthread_mutexattr_setkind_np if it exists. 660 * include/posix-threads.h (_Jv_CondInit): Use `0', not NULL. 661 (_Jv_ThreadWait): Removed definition. 662 (_Jv_Thread_t): Added `exception' field. 663 (_Jv_ThreadCancel): Removed definition. 664 6651998-11-13 Tom Tromey <tromey@cygnus.com> 666 667 * Makefile.in: Rebuilt. 668 * Makefile.am (libjava.zip): Compute javac before changing 669 directory. 670 671 * Makefile.in: Rebuilt. 672 * Makefile.am (libjava.zip): Include directory entries. 673 674 * Makefile.in: Rebuilt. 675 * Makefile.am (expanded): New macro. 676 (GCJ): Use it. 677 6781998-11-12 Tom Tromey <tromey@cygnus.com> 679 680 * prims.cc (clone): New function. 681 * include/java-array.h (__JArray::clone): Removed definition. 682 683 * java/lang/natObject.cc (clone): Don't assert that class is not 684 an array; array's `clone' method just calls this one. 685 686 * Makefile.in: Rebuilt. 687 * Makefile.am (libjava.zip): Renamed target from classes.stamp. 688 Now creates zip file. Changed all users. 689 (ZIP): New macro. 690 (data_DATA): New macro. 691 6921998-11-11 Tom Tromey <tromey@cygnus.com> 693 694 * configure: Rebuilt. 695 * configure.in: Recognize --enable-java-gc, not --enable-gc. 696 697Wed Nov 11 18:13:46 1998 Warren Levy <warrenl@cygnus.com> 698 699 * java/io/InputStream.java (reset): Add msg to thrown exception. 700 701Wed Nov 11 17:57:02 1998 Warren Levy <warrenl@cygnus.com> 702 703 * java/io/LineNumberInputStream.java: Rewritten. 704 705 * java/io/StringBufferInputStream.java: Removed extraneous import. 706 707Wed Nov 11 15:19:33 1998 Warren Levy <warrenl@cygnus.com> 708 709 * java/io/StringBufferInputStream.java: Rewritten. 710 711 * java/util/Date.java (parseMonth): Optimize. 712 (parseDayOfWeek): Created. 713 (parse): Optimize to use parseDayOfWeek. 714 7151998-11-11 Tom Tromey <tromey@cygnus.com> 716 717 * java/lang/StringBuffer.java (append): Handle case where STR is 718 `null'. 719 720 * include/javaprims.h: Regenerated class declarations. 721 722 * configure: Rebuilt. 723 * configure.in: Added --enable-gcj-classes, 724 --enable-single-compilation, --enable-source-compilation flags. 725 * Makefile.in: Rebuilt. 726 * Makefile.am (java_io_files): New macro. 727 (java_lang_files): Likewise. 728 (java_text_files): Likewise. 729 (java_util_files): Likewise. 730 (java_files): Use new macros. 731 (java-io.o): New target. 732 (java-lang.o): Likewise. 733 (java-text.o): Likewise. 734 (java-util.o): Likewise. 735 (src_io_files): New macro. 736 (src_lang_files): Likewise. 737 (src_text_files): Likewise. 738 (src_util_files): Likewise. 739 (class_io_files): New macro. 740 (class_lang_files): Likewise. 741 (class_text_files): Likewise. 742 (class_util_files): Likewise. 743 (class_files): Use new macros. 744 (javao_files): Define conditionally. 745 (.java.o): New target. 746 ($(javao_files)): New target. 747 (GCJ): new macro. 748 (GCJH): Added $(EXEEXT). 749 (CLASSPATH_ENV): Removed. 750 (GCJCOMPILE): New macro. 751 752Wed Nov 11 12:03:15 1998 Warren Levy <warrenl@cygnus.com> 753 754 * java/util/Date.java (parse): Written from scratch. 755 7561998-11-11 Tom Tromey <tromey@cygnus.com> 757 758 * java/lang/Throwable.java (toString): Correct sense of test for 759 determining when to include detail message in result. 760 761 * java/lang/ThreadDeath.java (ThreadDeath): Added missing 762 constructor. 763 764Fri Nov 6 16:30:20 1998 Tom Tromey <tromey@ferrule.cygnus.com> 765 766 * java/lang/Class.h: Use _Jv_RegisterClasses, not 767 _Jv_RegisterClass. 768 * java/lang/natClass.cc (_Jv_RegisterClasses): New function. 769 (_Jv_RegisterClass): Use it. 770 * include/jvm.h (_Jv_RegisterClasses): Declare. 771 * java/lang/natObject.cc (init): Removed. 772 (sync_init): Never call _Jv_InitializeSyncMutex. 773 (_Jv_InitializeSyncMutex): Don't set `init'. 774 * prims.cc (JvRunMain): Don't run init functions. 775 776Thu Nov 5 17:14:37 1998 Tom Tromey <tromey@sanguine.cygnus.com> 777 778 * java/lang/natClass.cc (initializeClass): Set state before 779 resolving constants. 780 781 * java/lang/natClass.cc (STATE_CONST_INIT): Removed. 782 (STATE_RESOLVED): New macro. 783 (initializeClass): Call resolveConstants. 784 (hackRunInitializers): Don't call resolveConstants. 785 (_Jv_FindArrayClass): Move short-circuit return for primitive 786 element types earlier in function. 787 7881998-11-03 Tom Tromey <tromey@hoser.cygnus.com> 789 790 * prims.cc (no_memory): New global. 791 (_Jv_makeUtf8Const): Throw no_memory. 792 (_Jv_AllocObject): Likewise. 793 (_Jv_NewObjectArray): Likewise. 794 (_Jv_NewPrimArray): Likewise. 795 (JvRunMain): Initialize no_memory. 796 797Tue Nov 3 17:15:45 1998 Warren Levy <warrenl@cygnus.com> 798 799 * java/io/FileInputStream.java: Corrected date comment. 800 * java/io/SequenceInputStream.java: Rewritten. 801 802Mon Nov 2 17:20:31 1998 Tom Tromey (tromey@cygnus.com) 803 804 * java/lang/FirstThread.java (die): New method. 805 * java/lang/natFirstThread.cc (die): Removed. 806 (DIE): New macro. 807 (run): Use `DIE', not `die'. 808 809Mon Nov 2 16:23:41 1998 Warren Levy <warrenl@cygnus.com> 810 811 * java/io/CharArrayReader.java (read): Move check into synchronized 812 block to prevent a close while in progress. 813 (reset): Ditto. 814 (skip): Ditto. 815 * java/io/PushbackReader.java (read): Ditto. 816 (ready): Ditto. 817 (unread): Ditto. 818 * java/io/StringReader.java (mark): Ditto. 819 (read): Ditto. 820 (reset): Ditto. 821 (skip): Ditto. 822 823Mon Nov 2 15:56:20 1998 Warren Levy <warrenl@cygnus.com> 824 825 * java/io/PipedInputStream.java: Updated status. 826 (connect): Added code to prevent infinite recursion and to 827 differentiate exception causes. 828 (read): Added code to differentiate exception causes. 829 (receive): Made exception pass string with the cause. 830 831 * java/io/PipedOutputStream.java: Updated status. 832 (connect): Added code to call connect at the other end of the pipe. 833 834Mon Nov 2 00:22:12 1998 Warren Levy <warrenl@cygnus.com> 835 836 * java/io/PipedInputStream.java (connect): Throw exception if 837 already connected to the same output stream. 838 (read): Do bounds checking first. 839 840Sun Nov 1 22:48:55 1998 Warren Levy <warrenl@cygnus.com> 841 842 * java/io/PipedInputStream.java: Added private boolean outClosed. 843 (available): Removed check if output stream is open. 844 (close): Mark the buffer as empty so available returns 0. 845 (read): Check if the output stream was closed and then return EOF 846 when the buffer is empty. 847 (receive): Mark the output stream as closed when passed a -1. 848 849 * java/io/PipedOutputStream.java (close): Notify the input stream 850 that there's no more data coming. 851 (connect): Added a FIXME comment to note more coordination needed 852 with PipedInputStream. 853 (flush): Added a FIXME comment to mark what this method might do 854 instead of nothing. 855 856Fri Oct 30 14:27:21 1998 Warren Levy <warrenl@cygnus.com> 857 858 * java/io/PipedInputStream.java: Rewritten. 859 8601998-10-30 Tom Tromey <tromey@cygnus.com> 861 862 * java/lang/Throwable.java: Rewrote from scratch. 863 864 * java/lang/Class.h (Class): Don't mention newMultiArray. 865 * prims.cc (newMultiArray): Removed. 866 (_Jv_NewMultiArray): Removed. 867 (newArray): Removed. 868 (new_multi_array): New function. 869 (_Jv_NewMultiArray): Rewrote from scratch. 870 871 * include/javaprims.h: Regenerated class declarations. 872 * classes.pl (scan): Don't declare PrimClass. 873 * include/cni.h (JvPrimClass): Use new names for classes. 874 * java/lang/Class.h (Class): Removed _Jv_initPrimClass as friend; 875 added _Jv_PrimClass. 876 * prims.cc (_Jv_PrimClass): Renamed from PrimClass. 877 (_Jv_initPrimClass): Removed. 878 (DECLARE_PRIM_TYPE): Generated globals now start with `_Jv_'. 879 (_Jv_AllocObject): Added comment. 880 (_Jv_NewObjectArray): Likewise. 881 (_Jv_NewPrimArray): Likewise. 882 8831998-10-29 Tom Tromey <tromey@cygnus.com> 884 885 * java/lang/natClass.cc (_Jv_NewClass): Initialize new field. 886 (_Jv_FindArrayClass): Use dtable_method_count to compute size of 887 new dtable. 888 * java/lang/Class.h (Class): Added `dtable_method_count' field. 889 890 * java/lang/natObject.cc (init): New global. 891 (sync_init): Call _Jv_InitializeSyncMutex if required. 892 893 * Makefile.in: Rebuilt. 894 * Makefile.am (nat_headers): Added ClassLoader.h. 895 * include/jvm.h (_Jv_FindClassFromSignature): Declare. 896 * java/lang/Class.h (Class): simpleLookupClass, insertClass, 897 internalAddClass, lookupArray no longer friends. 898 _Jv_RegisterClass, _Jv_FindClassInCache, _Jv_NewClass, 899 _Jv_FindArrayClass now friends. 900 * java/lang/natClass.cc (HASH_LEN): New macro. 901 (HASH_UTF): Likewise. 902 (loaded_classes): New global. 903 (_Jv_FindClass): New function. 904 (ClassClass): New define. 905 (_Jv_FindClassInCache): New function. 906 (_Jv_RegisterClass): Likewise. 907 (_Jv_NewClass): Likewise. 908 Include <string.h> 909 (ObjectClass): New define. 910 (CloneableClass): New define. 911 * prims.cc (_Jv_FindClass): Removed. 912 (simpleLookupClass): Removed. 913 (insertClass): Removed. 914 (CLASSHASHSZ): Removed. 915 (classPool): Removed. 916 (_Jv_RegisterClass): Removed. 917 (internalAddClass): Removed. 918 (ClassClass): Removed. 919 (RuntimeClass): Removed. 920 (lookupArray): Removed. 921 (CloneableClass): Removed. 922 (CLASSMAXSIG): Removed. 923 Rearranged file to group related functions together. 924 (_Jv_IsInstanceOf): Moved to natClass.cc. 925 (abort_final): Removed. 926 Removed some unused includes. 927 (classFromSig): Removed. 928 (_Jv_FindClassFromSignature): New function. 929 (_Jv_initPrimClass): Renamed. 930 (getClass): Removed. 931 932Thu Oct 29 23:17:17 1998 Warren Levy <warrenl@cygnus.com> 933 934 * java/io/FileDescriptor.java (finalize): Throws IOException 935 instead of Throwable. 936 937 * java/io/FileInputStream.java: Rewritten. 938 939 * java/io/StreamTokenizer.java (nextToken): Unread newline character 940 at the end of a comment. 941 9421998-10-29 Tom Tromey <tromey@cygnus.com> 943 944 * include/javaprims.h: Regenerated class declarations. 945 * classes.pl (scan): Don't special-case ClassLoader. 946 947 * prims.cc (processClass): Removed. 948 (_Jv_InitClass): Removed. 949 Removed all CSTATE_ macros. 950 (resolveConstants): Removed. 951 (MAXDIMS): Removed. 952 (_Jv_NewMultiArray): Cleaned up. 953 * Makefile.in: Rebuilt. 954 * Makefile.am (nat_headers): Added NoClassDefFoundError.h. 955 * java/lang/Class.h (Class): Declare new methods. processClass no 956 longer a friend. 957 * java/lang/Class.java (hackTrampoline): New method. 958 (initializeClass): Declare. 959 (hackRunInitializers): Declare. 960 * java/lang/natClass.cc (getClassLoader): Moved into Class.h. 961 (initializeClass): New method. 962 (hackRunInitializers): New method. 963 (init_name, void_signature): Moved from prims.cc. 964 (_Jv_InitClass): New function. 965 (isAssignableFrom): Don't call processClass. 966 (STATE_NOTHING): New macro. 967 (resolveConstants): New function. 968 Include Thread.h. 969 (ErrorClass): New define. 970 971 * java/lang/Class.java (getClassLoader): Declare. 972 * java/lang/ClassLoader.java: Rewrote from scratch. 973 974 * java/lang/natClass.cc: Include IncompatibleClassChangeError.h, 975 AbstractMethodError.h, IllegalAccessError.h, 976 NoClassDefFoundError.h. 977 * include/jvm.h (StringClass): Declare _Jv_equalUtf8Consts. 978 * prims.cc (_Jv_equalUtf8Consts): Renamed from equalUtf8Consts; no 979 longer static. Changed return type. 980 * java/lang/natFirstThread.cc (run): Use _Jv_GetMethodLocal. 981 * java/lang/Class.h (Class): findMethodLocal no longer a friend. 982 * prims.cc (findMethodLocal): Removed. 983 (processClass): Use _Jv_GetMethodLocal. 984 9851998-10-28 Tom Tromey <tromey@cygnus.com> 986 987 * prims.cc (_Jv_LookupInterfaceMethod): Removed. 988 * java/lang/Class.h (Class): Declare _Jv_GetMethodLocal as 989 friend. 990 * java/lang/natClass.cc (_Jv_GetMethodLocal): New function. 991 (_Jv_LookupInterfaceMethod): New function (rewrote from scratch). 992 993 * include/jni.h: Added copyright header. 994 * include/javaprims.h: Added copyright header. 995 * include/java-field.h: Added copyright header. 996 * include/java-array.h: Added copyright header. 997 * include/cni.h: Added copyright header. 998 999 * include/javaprims.h: Regenerated class declarations using 1000 classes.pl; now they are complete. 1001 * classes.pl: New file. 1002 1003 * java/lang/natMath.cc: Include <config.h>. 1004 * java/lang/reflect/natField.cc: Include <config.h>. 1005 * java/util/NativeUtil.java: Removed. 1006 * Makefile.in: Rebuilt. 1007 * Makefile.am (nat_headers): Added Math.h. 1008 * java/lang/Math.h: Removed. 1009 * java/util/natGregorianCalendar.cc: Added copyright header. 1010 Include <config.h>. 1011 * java/lang/natFloat.cc: Added copyright header. 1012 * java/lang/Byte.java: Added copyright header. 1013 * java/lang/Void.java: Added copyright header. 1014 * java/lang/Short.java: Added copyright header. 1015 1016Wed Oct 28 12:55:47 1998 Warren Levy <warrenl@cygnus.com> 1017 1018 * include/javaprims.h (java::io): Added bunch of missing classes. 1019 1020 * java/io/DataInputStream.java (readLine): Added a special case 1021 for handling BufferedInputStream data to reduce the likelihood 1022 of a pushback error. 1023 (skipBytes): Added code to handle negative number of skip bytes. 1024 1025 * java/io/StreamTokenizer.java: Rewritten. 1026 10271998-10-28 Tom Tromey <tromey@cygnus.com> 1028 1029 * java/util/natGregorianCalendar.cc (computeFields): Call 1030 getRawOffset as a method. 1031 1032 * include/javaprims.h (java::io): Added FilterOutputStream. 1033 * Makefile.in: Rebuilt. 1034 * Makefile.am (nat_headers): Added PrintStream.h, 1035 FilterOutputStream.h. 1036 * java/lang/natFirstThread.cc: Include System.h, Modifier.h, 1037 PrintStream.h. 1038 (die): New function. 1039 (run): Die if `main' not found, is not public, or is not static. 1040 1041 * boehm.cc (_Jv_MarkObj): Use new field names. 1042 * include/java-field.h (JvGetFirstInstanceField): Use new field 1043 names. 1044 (JvNumInstanceFields): Likewise. 1045 * java/lang/natClass.cc (isAssignableFrom): Use new field names. 1046 (getInterfaces): Likewise. 1047 * prims.cc (CLASS_CONSTANTS): Removed. 1048 (CLASS_CONST_SIZE): Likewise. 1049 (CLASS_CONST_TAG): Likewise. 1050 (CLASS_CONST_DATA): Likewise. 1051 (CLASS_CONST_UTF8): Likewise. 1052 (WORD2UTF): Likewise. 1053 (CLASS_CLASS): Likewise. 1054 (CLASS_PRIM_SIG): Likewise. 1055 (CLASS_ARRAY_CACHE): Likewise. 1056 (HASH_CHARS): Likewise. 1057 (hashClassName): Likewise. 1058 Many changes to use new field names. 1059 * java/lang/Class.h (Class): Renamed fields to track compiler. 1060 10611998-10-27 Tom Tromey <tromey@cygnus.com> 1062 1063 * java/lang/natClass.cc: Use #pragma implementation. 1064 (getComponentType): Moved into header. 1065 (getModifiers): Likewise. 1066 (getName): Likewise. 1067 (getSuperclass): Likewise. 1068 (isArray): Likewise. 1069 (isPrimitive): Likewise. 1070 * include/jvm.h (_Jv_FindClass): Declare. 1071 * java/lang/natFirstThread.cc (run): Updated for new Class.h. 1072 * java/lang/natSystem.cc (arraycopy): Updated for new Class.h. 1073 * include/javaprims.h: Use _Jv_Method, not JvMethod. 1074 * java/lang/Class.h: Rewrote from scratch. 1075 * prims.cc: Many changes to work with new Class.h. 1076 * include/java-field.h (CLASS_FIELDS): Removed. 1077 (CLASS_SFIELDS): Likewise. 1078 (CLASS_IFIELDS): Likewise. 1079 (CLASS_NFIELDS): Likewise. 1080 (CLASS_NIFIELDS): Likewise. 1081 (CLASS_NSFIELDS): Likewise. 1082 (CLASS_FSIZE): Likewise. 1083 (JvGetFirstInstanceField): Rewrote. 1084 (JvNumInstanceFields): Likewise. 1085 1086 * java/lang/Object.h: Added copyright comment. 1087 1088Wed Oct 28 00:32:23 1998 Per Bothner <bothner@cygnus.com> 1089 1090 * java/text: New package directory. 1091 * java/text/FieldPosition.java: New class. 1092 * java/text/ParsePosition.java: New class. 1093 * java/text/ParseException.java: New Exception class. 1094 * java/text/Format.java: New class. 1095 * java/text/NumberFormat.java: New (empty placeholder) class. 1096 * java/text/DateFormatSymbols.java: New class (no Locales support). 1097 * java/text/DateFormat.java: New Format class (incomplete). 1098 * java/text/SimpleDateFormat.java: New DateFormat class. 1099 1100 * include/javaprims.h (java::test): Added new package and classes. 1101 * java/util/Calendar.java (clone): New method. 1102 * java/util/Date.java (toString): Added non-native implementation. 1103 (parse): Made public instead of synchronized. 1104 * java/util/natDate.cc (toString): Removed. 1105 * java/util/natGregorianCalendar.cc (computeFields): 1106 Use gmtime (or gmtime_r) if no zone offset (the default, for now!). 1107 11081998-10-27 Tom Tromey <tromey@cygnus.com> 1109 1110 * boehm.cc (_Jv_MarkObj): Correctly mark a class' interfaces. 1111 1112 * prims.cc (lookupArray): Added explanatory comment. 1113 * boehm.cc (_Jv_MarkObj): Correctly scan methods and fields of 1114 class. Mark the class of each object. 1115 (_Jv_MarkArray): Mark the object's class. 1116 1117 * configure: Rebuilt. 1118 * configure.in: Create java-gc.h. 1119 * include/boehm-gc.h: New file. 1120 * include/no-gc.h: New file. 1121 * java/lang/Class.h (Class): Declare JV_MARKOBJ_DECL as friend, if 1122 defined. 1123 * java/lang/Object.h: Include java-gc.h. 1124 (Object): Declare JV_MARKOBJ_DECL and JV_MARKARRAY_DECL as 1125 friends, if defined. 1126 * boehm.cc (_Jv_MarkObj): Renamed from mark_obj; changed 1127 signature. 1128 (_Jv_MarkArray): Renamed from mark_array; changed signature. 1129 11301998-10-26 Tom Tromey <tromey@cygnus.com> 1131 1132 * java/lang/natCharacter.cc (isSpaceChar): Look for line and 1133 paragraph separators, not numbers. 1134 1135 * java/io/Writer.java (write): Removed write(char) to avoid 1136 ambiguity. 1137 * java/util/Properties.java: Rewrote from scratch. 1138 * include/javaprims.h (java::io): Added PrintWriter, 1139 BufferedWriter, PushbackReader. 1140 1141Mon Oct 26 13:13:28 1998 Anthony Green <green@cygnus.com> 1142 1143 * java/lang/System.java: exit() is a static method. 1144 11451998-10-26 Tom Tromey <tromey@cygnus.com> 1146 1147 * java/lang/natString.cc (_Jv_NewStringUTF): Use 1148 _Jv_strLengthUtf8. 1149 (_Jv_NewStringUtf8Const): Likewise. 1150 * include/jvm.h (_Jv_strLengthUtf8): Declare. 1151 * prims.cc (_Jv_strLengthUtf8): Renamed from strLengthUtf8. 1152 1153 * java/lang/Object.h (Object): Add mark_array as friend function. 1154 * prims.cc (_Jv_NewPrimArray): Use _Jv_AllocObj, not 1155 _Jv_AllocBytes, to ensure that header is marked. 1156 * boehm.cc (mark_obj): Push sync_info field for all objects, not 1157 just Objects. 1158 (mark_array): Push sync_info field for array. 1159 11601998-10-24 Tom Tromey <tromey@cygnus.com> 1161 1162 * java/lang/String.java (String): Updated for StringBuffer 1163 change. 1164 * java/util/BitSet.java: Renamed field (data->bits) to conform to 1165 serialization spec. 1166 * java/lang/StringBuffer.java: Renamed fields to conform to 1167 serialization spec: buffer->value, next->count, copy->shared. 1168 1169Wed Oct 21 18:24:57 1998 Per Bothner <bothner@cygnus.com> 1170 1171 * java/util/TimeZone.java: New class. 1172 * java/util/SimpleTimeZone.java: New class. 1173 * java/util/Locale.java: New file. 1174 * java/util/Calendar.java: Make almost complete. 1175 * java/util/GregorianCalendar.java 1176 * java/util/natGregorianCalendar.cc: New file. 1177 * java/util/Date.java: Re-written from scratch. 1178 * java/util/natDate.cc (setTime): Removed - no longer native. 1179 * include/javaprims.h (java::util): Add new classes. 1180 * Makefile.am (nat_files): Add java/util/natGregorianCalendar.o. 1181 (nat_headers); Add TimeZone.h, Calendar.h, GregorianCalendar.h. 1182 1183Sat Oct 24 22:58:25 1998 Warren Levy <warrenl@cygnus.com> 1184 1185 * java/io/natFileDescriptorPosix.cc (read): Zero extend jbyte b before 1186 returning it as a jint. 1187 11881998-10-23 Tom Tromey <tromey@cygnus.com> 1189 1190 * prims.cc (arg_vec, main_group, main_thread): New globals. 1191 (JvRunMain): Use them. 1192 1193Fri Oct 23 17:10:12 1998 Warren Levy <warrenl@cygnus.com> 1194 1195 * java/io/DataInputStream.java: Rewritten. 1196 1197 * java/io/DataOutputStream.java (writeUTF): OR secondary and 1198 tertiary bytes with 0x80 per spec. 1199 12001998-10-23 Tom Tromey <tromey@cygnus.com> 1201 1202 * java/lang/String.java (init): Changed name of `copy' argument. 1203 * java/lang/natString.cc (init): Inverted sense of `copy' 1204 argument. 1205 1206 * java/lang/Object.h (Object): Declare mark_obj as a friend. 1207 * java/lang/Class.h (Class): Declare mark_obj as a friend. 1208 * boehm.cc (ObjectClass): New define. 1209 (ClassClass): Likewise. 1210 (mark_obj): Special-case Object and Class. 1211 1212 * prims.cc (_Jv_NewPrimArray): Pass correct args to memset. 1213 1214 * java/util/BitSet.java: Rewrote from scratch. 1215 1216 * prims.cc (lookupArray): Removed useless cast. 1217 1218 * java/lang/natObject.cc: Use `#pragma implementation'. 1219 1220 * java/lang/String.java (init): Added `copy' argument. 1221 (String): Look in StringBuffer to find char array. 1222 * java/lang/natString.cc (init): Added `copy' argument. 1223 * java/lang/StringBuffer.java: Rewrote from scratch. 1224 1225 * java/lang/Compiler.java: Rewrote from scratch. 1226 * java/lang/Throwable.java: Don't use NativeLang. 1227 * include/javaprims.h (java::lang): Don't mention NativeLang. 1228 * java/lang/Process.java: Rewrote from scratch. 1229 * java/lang/SecurityManager.java (classLoaderDepth): Commented 1230 out. 1231 (currentClassLoader): Likewise. 1232 (currentLoadedClass): Likewise. 1233 * java/lang/natClass.cc (getClassLoader): Commented out. 1234 * java/lang/Class.java (getClassLoader): Commented out. 1235 * java/lang/Compiler.java: Removed. 1236 * java/lang/NativeLang.java: Removed. 1237 1238 * java/lang/natFirstThread.cc (run): Use _Jv_makeUtf8Const. 1239 * include/jvm.h (StringClass): Declare _Jv_makeUtf8Const. 1240 * prims.cc (_Jv_makeUtf8Const): Renamed from makeUtf8Const. 1241 (_Jv_hashUtf8String): Now static. 1242 * include/java-field.h (getNameUtf8Const): Use `_Jv_Utf8Const' as 1243 name of return type. 1244 1245 * java/lang/Class.h (Class): Declare checkMemberAccess. 1246 * Makefile.in: Rebuilt. 1247 * Makefile.am (nat_headers): Added Member.h. 1248 * java/lang/natClass.cc: Include Member.h. 1249 (getDeclaredClasses): Call checkMemberAccess. 1250 * java/lang/Class.java (checkMemberAccess): Call 1251 SecurityManager.checkMemberAccess. 1252 1253Fri Oct 23 08:01:54 1998 Anthony Green <green@cygnus.com> 1254 1255 * java/lang/SecurityManager.java: Rewritten. 1256 1257Thu Oct 22 17:16:10 1998 Anthony Green <green@cygnus.com> 1258 1259 * java/applet/Applet.java, java/applet/AppletContext.java, 1260 java/applet/AppletStub.java, java/applet/AudioClip.java, 1261 java/awt/AWTError.java, java/awt/AWTException.java, 1262 java/awt/BorderLayout.java, java/awt/Button.java, 1263 java/awt/Canvas.java, java/awt/CardLayout.java, 1264 java/awt/Checkbox.java, java/awt/CheckboxGroup.java, 1265 java/awt/CheckboxMenuItem.java, java/awt/Choice.java, 1266 java/awt/Color.java, java/awt/Component.java, 1267 java/awt/Container.java, java/awt/Dialog.java, 1268 java/awt/Dimension.java, java/awt/Event.java, 1269 java/awt/FileDialog.java, java/awt/FlowLayout.java, 1270 java/awt/Font.java, java/awt/FontMetrics.java, 1271 java/awt/Frame.java, java/awt/Graphics.java, 1272 java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java, 1273 java/awt/GridLayout.java, java/awt/Image.java, 1274 java/awt/Insets.java, java/awt/Label.java, 1275 java/awt/LayoutManager.java, java/awt/List.java, 1276 java/awt/MediaTracker.java, java/awt/Menu.java, 1277 java/awt/MenuBar.java, java/awt/MenuComponent.java, 1278 java/awt/MenuContainer.java, java/awt/MenuItem.java, 1279 java/awt/Panel.java, java/awt/Point.java, java/awt/Polygon.java, 1280 java/awt/Rectangle.java, java/awt/Scrollbar.java, 1281 java/awt/TextArea.java, java/awt/TextComponent.java, 1282 java/awt/TextField.java, java/awt/Toolkit.java, 1283 java/awt/Window.java, java/awt/image/ColorModel.java, 1284 java/awt/image/CropImageFilter.java, 1285 java/awt/image/DirectColorModel.java, 1286 java/awt/image/FilteredImageSource.java, 1287 java/awt/image/ImageConsumer.java, 1288 java/awt/image/ImageFilter.java, 1289 java/awt/image/ImageObserver.java, 1290 java/awt/image/ImageProducer.java, 1291 java/awt/image/IndexColorModel.java, 1292 java/awt/image/MemoryImageSource.java, 1293 java/awt/image/PixelGrabber.java, 1294 java/awt/image/RGBImageFilter.java, java/awt/peer/ButtonPeer.java, 1295 java/awt/peer/CanvasPeer.java, 1296 java/awt/peer/CheckboxMenuItemPeer.java, 1297 java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java, 1298 java/awt/peer/ComponentPeer.java, 1299 java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java, 1300 java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java, 1301 java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java, 1302 java/awt/peer/MenuBarPeer.java, 1303 java/awt/peer/MenuComponentPeer.java, 1304 java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java, 1305 java/awt/peer/PanelPeer.java, java/awt/peer/ScrollbarPeer.java, 1306 java/awt/peer/TextAreaPeer.java, 1307 java/awt/peer/TextComponentPeer.java, 1308 java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java, 1309 java/net/ContentHandler.java, java/net/ContentHandlerFactory.java, 1310 java/net/DatagramPacket.java, java/net/DatagramSocket.java, 1311 java/net/DefaultSocketImpl.java, java/net/InetAddress.java, 1312 java/net/MalformedURLException.java, java/net/NativeNet.java, 1313 java/net/ProtocolException.java, java/net/ServerSocket.java, 1314 java/net/Socket.java, java/net/SocketException.java, 1315 java/net/SocketImpl.java, java/net/SocketImplFactory.java, 1316 java/net/URL.java, java/net/URLConnection.java, 1317 java/net/URLEncoder.java, java/net/URLStreamHandler.java, 1318 java/net/URLStreamHandlerFactory.java, 1319 java/net/UnknownHostException.java, 1320 java/net/UnknownServiceException.java: Removed. 1321 13221998-10-22 Tom Tromey <tromey@cygnus.com> 1323 1324 * prims.cc (_Jv_AllocObject): Register finalizer if class' 1325 finalizer is not Object.finalize. 1326 (internalAddClass): Don't set `final' member of class. 1327 * java/lang/Object.h: Updated _JvObjectPrefix comment to mention 1328 other places that know about finalize() location. 1329 * java/lang/Class.h (Class): Removed `final' field. 1330 1331 * aclocal.m4, configure: Rebuilt. 1332 * acinclude.m4 (LIB_AC_PROG_CXX): Unconditionally use 1333 AC_CHECK_PROGS; otherwise the CXX cache variable might not be 1334 set. 1335 * configure.in (AC_OUTPUT): Pass CXX to config.status. 1336 * Makefile.in: Rebuilt. 1337 * Makefile.am (AM_MAKEFLAGS): Added CXX, CXXFLAGS. 1338 13391998-10-21 Tom Tromey <tromey@cygnus.com> 1340 1341 * java/lang/Object.java (finalize): Move to be first method in 1342 class. 1343 1344 * configure: Rebuilt. 1345 * configure.in (GCINCS): Include contents of boehm-cflags file. 1346 1347Tue Oct 20 13:11:04 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> 1348 1349 * java/lang/ArrayIndexOutOfBoundsException.java 1350 (ArrayIndexOutOfBoundsException): Fixed string literal. 1351 * java/lang/StringIndexOutOfBoundsException.java 1352 (StringIndexOutOfBoundsException): Fixed string literal. 1353 13541998-10-20 Andrew Haley <aph@viagra.cygnus.co.uk> 1355 1356 * natFileDescriptorEcos.cc added. 1357 * natFileDescriptor.cc renamed natFileDescriptorPosix.cc. 1358 13591998-10-20 Andrew Haley <aph@viagra.cygnus.co.uk> 1360 1361 * acconfig.h: test for __int32_t and __uint32_t added. 1362 * include/config.h.in: test for __int32_t and __uint32_t added. 1363 * java/lang/fdlibm.h: test for __int32_t and __uint32_t added. 1364 * java/lang/mprec.h: test for __int32_t and __uint32_t added. 1365 * configure.in: test for __int32_t and __uint32_t added. 1366 * configure: test for __int32_t and __uint32_t added. 1367 1368 * natFileDescriptor.cc renamed natFileDescriptorPosix.cc. 1369 1370 * configure.in: Test for --enable ecos and link 1371 natFileDescriptor.cc to natFileDescriptorEcos.cc or 1372 natFileDescriptorPosix.cc 1373 1374 * java/lang/dtoa.c: #include <stdio.h> moved inside #ifdef DEBUG. 1375 1376Mon Oct 19 18:13:58 1998 Warren Levy <warrenl@cygnus.com> 1377 1378 * java/io/ByteArrayInputStream.java (skip): Ensure that arg passed 1379 in isn't negative. 1380 1381 * java/io/CharArrayReader.java (close): Synchronize on lock 1382 object per Reader contract. 1383 (read): Synchronize on lock obj. Verify that reader wasn't closed. 1384 (reset): Synchronize on lock obj. Verify that reader wasn't closed. 1385 (skip): Synchronize on lock obj. Verify that reader wasn't closed. 1386 Ensure that arg passed in isn't negative. 1387 1388 * java/io/FilterReader.java (FilterReader): Use the lock obj when 1389 constructing the superclass. 1390 1391 * java/io/PushbackReader.java (close): Synchronize on lock 1392 object per Reader contract. 1393 (read): Synchronize on lock obj. Verify that reader wasn't closed. 1394 (ready): Synchronize on lock obj. Throw IOException if reader 1395 wasn't closed. 1396 (reset): Synchronize on lock obj. Verify that reader wasn't closed. 1397 (skip): Synchronize on lock obj. Verify that reader wasn't closed. 1398 Ensure that arg passed in isn't negative. 1399 (unread): Synchronize on lock obj. Verify that reader wasn't closed. 1400 1401 * java/io/StringReader.java: Created. 1402 1403Sun Oct 18 02:19:11 1998 Warren Levy <warrenl@cygnus.com> 1404 1405 * java/io/CharArrayReader.java (mark): Removed synchronized modifier 1406 to match JCL. 1407 (read): Removed synchronized modifier to match JCL. 1408 (reset): Removed synchronized modifier to match JCL. 1409 (skip): Removed synchronized modifier to match JCL. 1410 1411Sun Oct 18 02:01:54 1998 Warren Levy <warrenl@cygnus.com> 1412 1413 * java/io/PushbackReader.java (PushbackReader): Made 1414 constructors public. 1415 14161998-10-17 Tom Tromey <tromey@cygnus.com> 1417 1418 * java/io/PushbackInputStream.java (PushbackInputStream): Made 1419 constructors public. 1420 14211998-10-16 Anthony Green <green@cygnus.com> 1422 1423 * aclocal.m4, configure: Rebuilt. 1424 * acinclude.m4 (LIBJAVA_CONFIGURE): Changed for new 1425 configure.host. 1426 * configure.host: Rewrote. 1427 * Makefile.in: Rebuilt. 1428 * Makefile.am (AM_CXXFLAGS): Added LIBJAVA_CXXFLAGS. 1429 (AM_CFLAGS): New macro. 1430 ($(c_files)): Use COMPILE macro. 1431 (EXTRA_libjava_a_SOURCES): Added dummy file to work around 1432 automake problem(s). 1433 1434Fri Oct 16 16:36:28 1998 Warren Levy <warrenl@cygnus.com> 1435 1436 * java/io/ByteArrayInputStream.java (mark): Removed temp. comment. 1437 1438 * java/io/CharArrayReader.java: Created. 1439 1440Fri Oct 16 15:17:01 1998 Warren Levy <warrenl@cygnus.com> 1441 1442 * java/io/PushbackInputStream.java (PushbackInputStream): Changed 1443 size check to allow 0 per JCL. 1444 1445 * java/io/PushbackReader.java: Created. 1446 14471998-10-16 Tom Tromey <tromey@cygnus.com> 1448 1449 * java/io/natFileDescriptor.cc: Conditionalize <unistd.h>, 1450 <sys/time.h> includes. 1451 * java/io/natFile.cc: Conditionalize <unistd.h> include. 1452 * include/no-threads.h: Conditionalize <unistd.h> include on 1453 HAVE_UNISTD_H. 1454 1455Fri Oct 16 14:39:51 1998 Andrew Haley <aph@madras.cygnus.co.uk> 1456 1457 * include/no-threads.h: Don't include <unistd.h> unless HAVE_SLEEP 1458 is defined. 1459 1460Thu Oct 15 19:27:54 1998 Warren Levy <warrenl@cygnus.com> 1461 1462 * java/io/FilterReader.java: Created. 1463 1464Thu Oct 15 17:49:43 1998 Warren Levy <warrenl@cygnus.com> 1465 1466 * java/io/PushbackInputStream.java: Rewritten. 1467 1468 * java/io/BufferedInputStream.java (BufferedInputStream): Check 1469 that size passed to constructor is legal. 1470 (read): Check that args passed in are legal. 1471 (skip): Rewritten to get rid of the temporary buffer. 1472 (refill): Added marklimit check to grow the buffer. 1473 1474 * java/io/ByteArrayInputStream.java (read): Optimized invalid args 1475 check. 1476 (bytesAvail): Removed. 1477 (read): Changed bytesAvail to Math.min. 1478 (skip): Changed bytesAvail to Math.min. 1479 1480 * java/io/InputStream.java (read): Got rid of extraneous exceptions 1481 from the throws clause. 1482 (skip): Rewritten to use a temporary buffer. 1483 1484Thu Oct 15 19:42:55 1998 Andrew Haley <aph@madras.cygnus.co.uk> 1485 1486 * prims.cc: (JvConvertArgv): Check added for argc < 0; possible on 1487 some target OSes 1488 1489 * java/lang/dtoa.c: (print): Made #ifdef DEBUG only. 1490 1491 * java/lang/strtod.c: (_strtod_r): Don't use HUGE_VAL: it's faster 1492 to write the double one word at a time. 1493 1494Tue Oct 13 14:41:47 1998 Warren Levy <warrenl@cygnus.com> 1495 1496 * java/io/BufferedInputStream.java: Rewritten. 1497 14981998-10-12 Tom Tromey <tromey@cygnus.com> 1499 1500 * jni.cc: Include config.h and stddef.h. 1501 1502 * java/lang/Class.h (_dispatchTable): Removed again. 1503 Removed all ACC_* defines again. 1504 1505Fri Oct 9 17:08:34 1998 Per Bothner <bothner@cygnus.com> 1506 1507 * Makefile.am (nat_files): Add netField.o. 1508 (libjava_a_SOURCES): Add jni.cc. 1509 (java/lang/reflect/Field.h): New rule. 1510 * Makefile.in: Re-generated. 1511 * include/javaprims.h: Add some extra class and typedefs. 1512 * include/jni.h: New file. 1513 * jni.cc: New file. 1514 1515 * include/java-field.h: New file. 1516 * include/jvm.h: #include <java-field.h>. 1517 * boehm.cc: #include <java-field.h>. 1518 * java/lang/Class.h (JvField, inline numbers): Moved to java-field.h. 1519 * java/lang/reflect/Member.java: New class. 1520 * java/lang/reflect/Field.java: New class. (Very incomplete.) 1521 * java/lang/reflect/natField.cc: New file. (Very incomplete.) 1522 1523Sun Oct 11 00:34:44 1998 Anthony Green <green@cygnus.com> 1524 1525 * Makefile.in, aclocal.m4, configure, test/Makefile.in, 1526 testsuite/Makefile.in: Rebuilt. 1527 * Makefile.am, acinclude.m4, configure.in: Add multilib support. 1528 * configure.host: Created. 1529 15301998-10-10 Tom Tromey <tromey@cygnus.com> 1531 1532 * java/lang/natObject.cc (sync_init): Always allocate a new 1533 sync_info. 1534 15351998-10-09 Tom Tromey <tromey@cygnus.com> 1536 1537 * java/io/ByteArrayInputStream.java (mark): Renamed from 1538 `mark_FIXME'. 1539 1540 * java/io/FileOutputStream.java (finalize): Removed. 1541 * java/io/FileDescriptor.java (finalize): New method. 1542 1543Thu Oct 8 17:59:43 1998 Warren Levy <warrenl@cygnus.com> 1544 1545 * ByteArrayInputStream.java: Corrected status comment. 1546 1547Thu Oct 8 17:22:49 1998 Warren Levy <warrenl@cygnus.com> 1548 1549 * ByteArrayInputStream.java, FilterInputStream.java: Rewritten. 1550 15511998-10-08 Tom Tromey <tromey@cygnus.com> 1552 1553 * prims.cc (lookupArray): Use static array to initialize list of 1554 interfaces. 1555 1556Thu Oct 8 12:45:03 1998 Anthony Green <green@cygnus.com> 1557 1558 * prims.cc (lookupArray): Initialize the msize for new 1559 array classes. 1560 1561Wed Oct 7 12:13:59 1998 Anthony Green <green@cygnus.com> 1562 1563 * configure: Rebuilt. 1564 * configure.in: Check for fsync and sleep. 1565 * acconfig.h (HAVE_SLEEP, HAVE_FSYNC): Added. 1566 1567 * include/no-threads.h (_Jv_CondWait): Wrap sleep() use with 1568 HAVE_SLEEP. Include config.h. 1569 1570 * java/io/natFileDescriptor.cc (NO_FSYNC_MESSAGE): Added. 1571 * java/io/natFileDescriptor.cc (sync): Wrap fsync() use 1572 with HAVE_FSYNC. 1573 15741998-10-08 Tom Tromey <tromey@cygnus.com> 1575 1576 * java/io/natFile.cc: Don't include SecurityManager.h. 1577 (performList): Renamed. 1578 (performMkdir): Likewise. 1579 (performRenameTo): Likewise. 1580 (performDelete): Likewise. 1581 Include <stdlib.h>. 1582 * java/io/File.java (performDelete): Renamed from natDelete. 1583 (list): Now written in Java. 1584 (performList): New method. 1585 (performMkdir): New method. 1586 (mkdir): Now written in Java. 1587 (performRenameTo): New method. 1588 (renameTo): Now written in Java. 1589 15901998-10-06 Tom Tromey <tromey@cygnus.com> 1591 1592 * Makefile.in: Rebuilt. 1593 * Makefile.am (ETAGS_ARGS): New macro. 1594 (TAGS_DEPENDENCIES): Likewise. 1595 1596Tue Oct 6 22:04:44 PDT 1998 Anthony Green <green@cygnus.com> 1597 1598 * Makefile.in: Rebuilt. 1599 * Makefile.am: Use -classpath option with javac. 1600 1601Tue Oct 6 18:51:31 1998 Tom Tromey <tromey@cygnus.com> 1602 1603 * java/io/FileOutputStream.java (finalize): Call 1604 super.finalize(). 1605 1606Tue Oct 6 16:02:45 1998 Anthony Green <green@cygnus.com> 1607 1608 * java/lang/mprec.h: Remove unused _mprec_log10 which conflicts 1609 with newlib's libm. 1610 * java/lang/mprec.c: Ditto. 1611 1612 * java/lang/mprec.h: Include math.h for HUGE_VAL when 1613 cross-compiling. 1614 1615Tue Oct 6 14:27:00 1998 Warren Levy <warrenl@cygnus.com> 1616 1617 * java/io/InputStream.java (skip): Make local var i a long. 1618 1619Mon Oct 5 09:44:24 1998 Tom Tromey <tromey@cygnus.com> 1620 1621 * java/lang/natObject.cc (clone): Use memcpy, not memmove. 1622 * prims.cc (lookupArray): Use memcpy, not memmove. 1623 * include/config.h.in: Rebuilt. 1624 * acconfig.h (HAVE_MEMCPY): Added. 1625 * configure: Rebuilt. 1626 * configure.in: Check for memcpy again. 1627 1628 * java/io/RandomAccessFile.java (RandomAccessFile): Use 1629 String.compareTo, not ==. 1630 1631 * java/lang/Class.h (Class): Use _Jv_DispatchTable. 1632 (_PRIMITIVE_DTABLE): Use _Jv_DispatchTable. 1633 * java/lang/natObject.cc (struct _dispatchTable): Removed. 1634 * include/jvm.h (struct _Jv_DispatchTable): New structure. 1635 * prims.cc (lookupArray): Removed dead code. Copy Object's dtable 1636 into new array's dtable. 1637 (_Jv_AllocObject): Use _Jv_DispatchTable. 1638 (_Jv_NewPrimArray): Likewise. 1639 (_Jv_NewObjectArray): Likewise. 1640 1641Fri Oct 2 18:57:14 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> 1642 1643 * prims.cc (_Jv_ThrowBadArrayIndex): Construct a string with the 1644 offending index value. 1645 (_Jv_NewPrimArray): Throw NegativeArraySizeException when 1646 appropriate. 1647 * include/jvm.h (_Jv_ThrowBadArrayIndex): Added declaration. 1648 * java/lang/Throwable.java: (Throwable): fixed argument to this(). 1649 1650Fri Oct 2 15:58:23 1998 Warren Levy <warrenl@cygnus.com> 1651 1652 * java/io/DataInput.java, java/io/InputStream.java: Rewritten. 1653 1654 * java/io/OutputStream.java (write): Use off and len parameters to 1655 output partial byte array. 1656 1657 * java/io/BufferedReader.java, java/io/FileReader.java, 1658 java/io/InputStreamReader.java, java/io/LineNumberReader.java, 1659 java/io/OutputStreamWriter.java, java/io/PrintWriter.java, 1660 java/io/Reader.java, java/io/UnsupportedEncodingException.java, 1661 java/io/Writer.java: Added COPYRIGHT-TBD comment. 1662 1663 * include/javaprims.h (java::lang): Added 1664 ExceptionInInitializerError, IllegalStateException, 1665 NoSuchFieldException, and UnsupportedOperationException. 1666 1667Fri Oct 2 01:05:38 1998 Tom Tromey <tromey@cygnus.com> 1668 1669 * java/lang/natObject.cc (CloneableClass): Is a Class, not a 1670 Class*. 1671 1672 * include/java-array.h (__JArray): Added clone method. 1673 * prims.cc (CloneableClass): New define. 1674 (lookupArray): Initialize array class to indicate that it 1675 implements Cloneable. 1676 1677 * java/lang/Class.h: Removed all ACC_* defines. 1678 * prims.cc: Include Modifier.h. 1679 (_Jv_LookupInterfaceMethod): Use methods in 1680 java.lang.reflect.Modifier, not ACC_ defines. 1681 1682 * java/lang/Class.h (Class): Declare getClasses, 1683 getDeclaredClasses, getDeclaringClass, getModifiers, 1684 * java/lang/Class.java: Rewrote from scratch. 1685 1686 * include/javaprims.h (java::lang): Added reflect and 1687 reflect::Modifier. 1688 * Makefile.in: Rebuilt. 1689 * Makefile.am (nat_headers): Added Modifier.h. 1690 1691 * prims.cc (_Jv_IsInstanceOf): Return false if class is 1692 primitive. 1693 1694Fri Oct 2 06:49:00 1998 Anthony Green <green@cygnus.com> 1695 1696 * java/lang/natString.cc (_Jv_StringFindSlot): Use JvAssert 1697 instead of test and abort. 1698 1699 * java/lang/natString.cc (_Jv_NewStringUtf8Const): Add cast to 1700 remove compiler warning. 1701 1702Fri Oct 2 12:33:44 1998 Andrew Haley <aph@korai.cygnus.co.uk> 1703 1704 * java/lang/natDouble.cc: zero terminate string. 1705 * strtod.c: Set errno if no digits are found in fraction. 1706 1707Thu Oct 1 11:48:28 1998 Tom Tromey <tromey@cygnus.com> 1708 1709 * java/lang/reflect/Modifier.java: New file. 1710 1711 * java/lang/VirtualMachineError.java: Rewrote from scratch. 1712 * java/lang/VerifyError.java: Rewrote from scratch. 1713 * java/lang/UnsatisfiedLinkError.java: Rewrote from scratch. 1714 * java/lang/UnknownError.java: Rewrote from scratch. 1715 * java/lang/StackOverflowError.java: Rewrote from scratch. 1716 * java/lang/OutOfMemoryError.java: Rewrote from scratch. 1717 * java/lang/InternalError.java: Rewrote from scratch. 1718 * java/lang/IllegalAccessError.java: Rewrote from scratch. 1719 * java/lang/ExceptionInInitializerError.java: New file. 1720 * java/lang/Error.java: Rewrote from scratch. 1721 * java/lang/ClassFormatError.java: Rewrote from scratch. 1722 * java/lang/ClassCircularityError.java: Rewrote from scratch. 1723 * java/lang/AbstractMethodError.java: Rewrote from scratch. 1724 * java/lang/NoClassDefFoundError.java: Rewrote from scratch. 1725 * java/lang/NoSuchFieldError.java: Rewrote from scratch. 1726 * java/lang/LinkageError.java: Rewrote from scratch. 1727 * java/lang/IncompatibleClassChangeError.java: Rewrote from 1728 scratch. 1729 * java/lang/NoSuchMethodError.java: Rewrote from scratch. 1730 1731 * java/lang/natObject.cc (_Jv_FinalizeObject): New function. 1732 * java/lang/Object.h (Object): Declare _Jv_FinalizeObject as a 1733 friend. 1734 * include/cni.h (JvAllocObject): Moved from prims.cc. 1735 Include Class.h. 1736 * prims.cc (JvAllocObject): Moved to cni.h. 1737 (_Jv_AllocObject): Use _Jv_FinalizeObject. 1738 (finalize_name): Removed. 1739 1740Wed Sep 30 12:09:34 1998 Tom Tromey <tromey@cygnus.com> 1741 1742 * java/lang/Class.h (Class): Added size() method. 1743 * prims.cc (_Jv_MonitorEnter): Removed. 1744 (_Jv_MonitorExit): Removed. 1745 * java/lang/Object.h (JvSyncInfo): Removed. 1746 * Makefile.in: Rebuilt. 1747 * Makefile.am (nat_headers): Added Cloneable.h, 1748 CloneNotSupportedException.h. 1749 * java/lang/Object.h: Rewrote. 1750 * java/lang/natObject.cc: Rewrote from scratch. 1751 * java/lang/Object.java: Rewrote from scratch. 1752 1753 * java/io/natFile.cc: Conditionally include <dirent.h>. 1754 (list): If no <dirent.h>, always return NULL. 1755 * configure: Rebuilt. 1756 * configure.in: Check for dirent.h. 1757 1758 * prims.cc (lookupArray): Don't use sprintf. 1759 1760 * java/util/Hashtable.java (containsKey): Use `abs' to compute 1761 initial index. 1762 (get): Likewise. 1763 (put): Likewise. 1764 (rehash): Likewise. 1765 (remove): Likewise. 1766 1767 * java/util/Hashtable.java (hsize): Renamed from size to avoid 1768 name conflict with method. 1769 1770 * include/javaprims.h (java::util): Added HashtableEntry. 1771 1772Tue Sep 29 16:48:01 1998 Warren Levy <warrenl@cygnus.com> 1773 1774 * java/util/Hashtable.java: Rewritten. 1775 1776Tue Sep 29 00:28:42 1998 Tom Tromey <tromey@cygnus.com> 1777 1778 * java/io/natFileDescriptor.cc (write): Correctly test `write' 1779 return value. 1780 (write): Likewise. 1781 1782 * java/lang/natThread.cc (join): Fixed assertion to refer to `nt', 1783 not `curr_nt'. 1784 1785 * posix-threads.cc (_Jv_CondWait): Now returns int. 1786 * include/javaprims.h (java::lang): Added 1787 IllegalMonitorStateException. 1788 * Makefile.in: Rebuilt. 1789 * Makefile.am (nat_headers): Added IllegalMonitorStateException.h. 1790 * include/no-threads.h (_Jv_CondDestroy): Removed. 1791 (_Jv_MutexDestroy): Removed. 1792 (_Jv_CondWait): Now returns int. 1793 (_Jv_CondNotify): Likewise. Added mutex argument. 1794 (_Jv_CondNotifyAll): Likewise. 1795 (_Jv_MutexLock): Always succeed. 1796 (_Jv_MutexUnlock): Likewise. 1797 * include/posix-threads.h (_Jv_HaveCondDestroy): Define. 1798 (_Jv_HaveMutexDestroy): Define. 1799 (_Jv_CondNotify): Now returns int. Added mutex argument. 1800 (_Jv_CondNotifyAll): Likewise. 1801 * include/quick-threads.h (_Jv_CondDestroy): Removed. 1802 (_Jv_MutexDestroy): Removed. 1803 (_Jv_CondWait): Now returns int. 1804 (_Jv_CondNotify): Likewise. Added mutex argument. 1805 (_Jv_CondNotifyAll): Likewise. 1806 * java/lang/natObject.cc (finalize_sync_info): New function. 1807 (init_mutex): Initialize `init' and register finalizer if 1808 required. 1809 (CHECK): New macro. 1810 (init_mutex): Use it. 1811 (notify): Use it. 1812 (notifyAll): Use it. 1813 (wait): Use it. 1814 (notify): Throw IllegalMonitorStateException on failure. 1815 (notifyAll): Likewise. 1816 (wait): Likewise. Also, throw InterruptedException if 1817 appropriate. 1818 Include cni.h, Thread.h, IllegalMonitorStateException.h, 1819 InterruptedException.h, IllegalArgumentException.h. 1820 * java/lang/Object.h (struct JvSyncInfo): Added `init' member. 1821 1822 * java/lang/natString.cc: Renamed all `JvPriv' functions. 1823 * java/lang/natRuntime.cc: Renamed all `JvPriv' functions. 1824 * java/lang/Object.h: Renamed all `JvPriv' functions (and types). 1825 * java/lang/natObject.cc: Renamed all `JvPriv' functions. 1826 * java/lang/natThread.cc: Renamed all `JvPriv' functions. 1827 * quick-threads.cc: Renamed all `JvPriv' functions. 1828 * prims.cc: Renamed all `JvPriv' functions. 1829 * posix-threads.cc: Renamed all `JvPriv' functions. 1830 * nogc.cc: Renamed all `JvPriv' functions. 1831 * no-threads.cc: Renamed all `JvPriv' functions. 1832 * boehm.cc: Renamed all `JvPriv' functions. 1833 * include/quick-threads.h: Renamed all `JvPriv' functions. 1834 * include/posix-threads.h: Renamed all `JvPriv' functions. 1835 * include/no-threads.h: Renamed all `JvPriv' functions. 1836 * include/jvm.h: Renamed all `JvPrivXXX' functions to `_Jv_XXX'. 1837 1838 * include/no-threads.h (JvPrivCondWait): Wrote minimal 1839 implementation. 1840 (JvPrivCondNotify): Do nothing. 1841 (JvPrivCondNotifyAll): Do nothing. 1842 1843 * prims.cc (processClass): Handle case where state is 1844 DOING_CONSTINIT. 1845 1846 * java/lang/natFirstThread.cc: Include <stdlib.h> 1847 1848 * configure: Rebuilt. 1849 * configure.in: Fixed sense of --enable-libjava-debug. 1850 1851 * java/lang/natThread.cc (join): Declare `t' outside the loop so 1852 it can be used afterward by the assertion. 1853 1854 * configure: Rebuilt. 1855 * configure.in: When cross-compiling, assume alloca. 1856 1857 * java/lang/natDouble.cc: Updated alloca magic to avoid use of 1858 __builtin_alloca (autoconf docs are wrong here). 1859 1860 * java/io/natFileDescriptor.cc (close): Set fd to -1 before 1861 closing. 1862 (available): Use `FD_ZERO' (typo fix). 1863 1864Tue Sep 29 17:43:30 1998 Andrew Haley <aph@tikka.cygnus.co.uk> 1865 1866 * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c, 1867 java/lang/natDouble.cc, java/lang/strtod.c: struct _Bigint renamed 1868 struct _Jv_Bigint. 1869 * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c, 1870 java/lang/natDouble.cc, java/lang/strtod.c: struct _reent renamed 1871 struct _Jv_reent. 1872 1873 * java/lang/natDouble.cc: layout changed to match GNU coding standard. 1874 1875Tue Sep 29 07:57:13 1998 Anthony Green <green@cygnus.com> 1876 1877 * java/lang/natDouble.cc: Declare alloca safely. 1878 1879 * configure, include/config.h.in: Rebuilt. 1880 * configure.in: Add alloca check. 1881 1882Tue Sep 29 00:28:42 1998 Tom Tromey <tromey@cygnus.com> 1883 1884 * java/lang/natThread.cc (finish_): Hold mutex for interrupt 1885 condition while calling notify. 1886 (join): Remove `curr_nt' from `nt's join list, not vice versa. 1887 (interrupt): Hold mutex for interrupt condition while calling 1888 notify. 1889 1890 * java/lang/natString.cc (init): Allocate and try to read `count' 1891 characters, not `count - offset' characters. 1892 1893 * java/io/ByteArrayInputStream.java (ByteArrayInputStream): 1894 Correctly compute `count'. 1895 1896 * java/lang/Boolean.java (getBoolean): Return false if property 1897 not found. 1898 1899 * java/lang/System.java (setProperties): Set prop_init. 1900 1901Mon Sep 28 12:39:25 1998 Tom Tromey <tromey@cygnus.com> 1902 1903 * java/io/PrintStream.java (println): Use line.separator, not 1904 file.separator. 1905 * java/lang/System.java (out, err): Make both autoflush streams. 1906 * java/io/ByteArrayOutputStream.java (write): Increment `count'. 1907 1908 * include/config.h.in: Rebuilt. 1909 * acconfig.h (HAVE_MEMCPY): Removed. 1910 * configure: Rebuilt. 1911 * configure.in: Never define HAVE_MEMCPY. 1912 1913 * java/lang/natString.cc: Don't include OutOfMemoryError.h or 1914 Class.h. 1915 (_Jv_AllocString): Use JvAllocObject again. 1916 * java/lang/Class.h (thread): New field. 1917 (_Jv_AllocString): No longer a friend. 1918 * prims.cc (processClass): Removed dead code. Changed to more 1919 closely follow the Java Language Specification. 1920 (processClass): Return early if already at the right state. 1921 1922 * prims.cc (JvNewStringUTF): Removed. 1923 * include/cni.h (JvNewStringUTF): New function. 1924 (_Jv_NewStringUTF): Declare as `extern "C"'. 1925 * java/lang/natString.cc (_Jv_NewStringUTF): New function. 1926 1927 * java/lang/natDouble.cc: Added copyright info and header 1928 comment. Include <stdlib.h>. 1929 (doubleValueOf): Use alloca, not malloc. Allocate 3 times as many 1930 bytes as are chars in string. 1931 1932Sat Sep 26 00:19:27 1998 Tom Tromey <tromey@cygnus.com> 1933 1934 * java/util/Hashtable.java (hkeys): Member renamed from to avoid 1935 clash with method. 1936 (hsize): Likewise. 1937 1938 * java/lang/System.java (init_properties): Now native. 1939 * java/lang/natSystem.cc (init_properties): New method. 1940 Include java/util/Properties.h. 1941 1942 * Makefile.in: Rebuilt. 1943 * Makefile.am (nat_headers): Added ByteArrayOutputStream.h, 1944 OutputStreamWriter.h, ByteArrayInputStream.h, 1945 InputStreamReader.h, Writer.h, InputStream.h, OutputStream.h, 1946 Reader.h, Vector.h, SecurityManager.h, FilenameFilter.h, 1947 SyncFailedException.h, EOFException.h, FileNotFoundException.h, 1948 Properties.h, Hashtable.h, Dictionary.h. 1949 (CFLAGS): Removed. 1950 1951 * include/javaprims.h (java::io): Added Reader, Writer, 1952 InputStreamReader, OutputStreamWriter, 1953 UnsupportedEncodingException, ByteArrayInputStream, 1954 ByteArrayOutputStream, EOFException, SyncFailedException, 1955 PushbackInputStream. 1956 (java::lang): Added Cloneable. 1957 (java::util): Added NoSuchElementException, VectorEnumeration, 1958 Dictionary, HashtableEnumeration, PropertiesEnumeration. 1959 1960 * java/io/PipedReader.java: New file. 1961 1962Fri Sep 25 00:11:25 1998 Tom Tromey <tromey@cygnus.com> 1963 1964 * java/lang/natCharacter.cc (getNumericValue): Use `digit' to pick 1965 up A-Z. 1966 1967 * java/io/io-defs.h: Removed. 1968 1969 * java/io/FileInputStream.java (skip): Use FileDescriptor.seek. 1970 (FileInputStream): Use new constructor. Can throw IOException. 1971 1972 * java/lang/System.java (getProperty): Don't throw 1973 NullPointerException. 1974 1975 * java/io/RandomAccessFile.java: Rewrote from scratch. 1976 1977 * java/io/natFileDescriptor.cc: Include EOFException.h. 1978 (seek): New method. 1979 (length): New method. 1980 (getFilePointer): New method. 1981 (read): New method. 1982 (available): New method. 1983 * java/io/FileDescriptor.java (SET, CUR): New constants. 1984 (seek, length, getFilePointer, read, available): New decls. 1985 1986 * java/io/PipedWriter.java: New file. 1987 * java/io/StringWriter.java: New file. 1988 * java/io/CharArrayWriter.java: New file. 1989 * java/io/CharConversionException.java: New file. 1990 * java/io/BufferedWriter.java: New file. 1991 * java/io/FilterWriter.java: New file. 1992 * java/io/FileWriter.java: New file. 1993 1994 * java/lang/natString.cc: Include ByteArrayOutputStream.h, 1995 OutputStreamWriter.h, NullPointerException.h, 1996 ByteArrayInputStream.h, InputStreamReader.h. 1997 (getBytes): New method. 1998 (init): Throw NullPointerException. 1999 (init): New function. 2000 * java/lang/String.java (getBytes): Added missing decl. 2001 (getBytes): New method. 2002 (String): Added byte[]-based constructors. 2003 (copyValueOf): Wrote. 2004 (init): Declare variant which takes byte array and encoding. 2005 Import java.io.UnsupportedEncodingException. 2006 2007 * java/io/File.java: Rewrote from scratch. 2008 * java/io/natFileDescriptor.cc: Rewrote from scratch. 2009 * java/io/FileDescriptor.java: Rewrote from scratch. 2010 * java/io/FilenameFilter.java: Rewrote from scratch. 2011 2012Thu Sep 24 13:30:16 1998 Tom Tromey <tromey@cygnus.com> 2013 2014 * java/io/SyncFailedException.java: New file. 2015 * java/io/UTFDataFormatException.java: Rewrote from scratch. 2016 * java/io/InterruptedIOException.java: Rewrote from scratch. 2017 * java/io/FileNotFoundException.java: Rewrote from scratch. 2018 * java/io/EOFException.java: Rewrote from scratch. 2019 * java/io/IOException.java: Rewrote from scratch. 2020 * java/io/PrintStream.java: Rewrote from scratch. 2021 * java/io/DataOutputStream.java: Rewrote from scratch. 2022 * java/io/BufferedOutputStream.java: Rewrote from scratch. 2023 * java/io/FilterOutputStream.java: Rewrote from scratch. 2024 * java/io/ByteArrayOutputStream.java: Rewrote from scratch. 2025 * java/io/PipedOutputStream.java: Rewrote from scratch. 2026 * java/io/FileOutputStream.java: Rewrote from scratch. 2027 * java/io/OutputStream.java: Rewrote from scratch. 2028 * java/io/DataOutput.java: Rewrote from scratch. 2029 2030Mon Sep 28 22:59:54 1998 Per Bothner <bothner@cygnus.com> 2031 2032 * prims.cc (_Jv_CheckCast): Add missing ! operator. 2033 2034Mon Sep 28 15:50:06 1998 Anthony Green <green@cygnus.com> 2035 2036 * configure.in: Add --enable-libjava-debug 2037 2038 * Makefile.am (nat_headers): Add java/lang/Float.h and 2039 java/lang/Double.h 2040 2041 * acconfig.h: Add DEBUG and HAVE_MEMCPY. 2042 2043 * Makefile.in, configure, include/config.h.in: Rebuilt. 2044 2045Mon Sep 28 17:05:58 1998 Andrew Haley <aph@korai.cygnus.co.uk> 2046 2047 * java/lang/Float.java: Rewritten 2048 * java/lang/Double.java: Rewritten 2049 * java/lang/natFloat.cc: toString() added. 2050 * java/lang/natDouble.cc: toString() added. 2051 * java/lang/natDouble.cc: doubleValueOf() added. 2052 * java/lang/dtoa.c, java/lang/mprec.c, java/lang/mprec.h, 2053 java/lang/strtod.c: added. 2054 * ieeefp.h: __sparc added. 2055 * Makefile.am: java/lang/Float.h and java/lang/Double.h added. 2056 2057Thu Sep 24 13:30:16 1998 Tom Tromey <tromey@cygnus.com> 2058 2059 * include/javaprims.h (java::lang): Added 2060 CloneNotSupportedException. 2061 2062 * java/lang/Object.java (clone): No longer native. Implemented. 2063 * java/lang/natObject.cc (clone): Removed. 2064 2065Wed Sep 23 12:03:38 1998 Tom Tromey <tromey@cygnus.com> 2066 2067 * prims.cc: Don't make definitions `extern "C"'. 2068 (_Jv_RegisterClass): Renamed from registerClass. 2069 * include/jvm.h (_Jv_ThrowBadArrayIndex): Declare. 2070 (_Jv_NewArray): Likewise. 2071 (_Jv_NewMultiArray): Likewise. 2072 (_Jv_CheckCast): Likewise. 2073 (_Jv_LookupInterfaceMethod): Likewise. 2074 (_Jv_CheckArrayStore): Likewise. 2075 (_Jv_RegisterClass): Likewise. 2076 2077 * acconfig.h (HAVE_FMOD, HAVE_MEMCPY): Removed. 2078 * configure: Rebuilt. 2079 * configure.in: Don't check for fmod; it is provided by the fdlibm 2080 code. 2081 * prims.cc (fmod): Removed. 2082 2083 * java/lang/natString.cc (charAt): Use _Jv_uint. 2084 * java/lang/Class.h (class JvField): Use _Jv_ushort. 2085 * prims.cc (HASH_CHARS): Use _Jv_ushort. 2086 (equalUtf8Consts): Likewise. 2087 (internalAddClass): Use _Jv_uint. 2088 (processClass): Likewise. 2089 * include/javaprims.h (_Jv_ushort): Renamed from uint16. 2090 (_Jv_uint): Renamed from uint32. 2091 (struct _Jv_Utf8Const): Changed members to use new type names. 2092 2093 * configure: Rebuilt. 2094 * configure.in: Don't check for memcpy. Require memmove and a way 2095 to get the time. 2096 * java/lang/natSystem.cc (arraycopy): Removed dead code, and 2097 #error. 2098 (currentTimeMillis): Don't use #error. 2099 2100Tue Sep 22 18:00:16 1998 Andrew Haley <aph@korai.cygnus.co.uk> 2101 2102 * java/lang/Math.java: static member random renamed to random_ to 2103 avoid conflict with member function of the same name. 2104 * include/javaprims.h: java.util.Random added. 2105 2106Tue Sep 22 13:53:14 1998 Tom Tromey <tromey@cygnus.com> 2107 2108 * include/java-chartables.h: Regenerated. 2109 * chartables.pl: End COMPACT_CHARACTER #if after fast tables 2110 printed. 2111 2112Tue Sep 22 17:17:52 1998 Andrew Haley <aph@tikka.cygnus.co.uk> 2113 2114 * java/lang/Math.java: Rewritten. 2115 * java/lang/natMath.cc: New file. 2116 * Files added from fdlibm: 2117 java/lang/e_acos.c, java/lang/k_sin.c, java/lang/sf_floor.c, 2118 java/lang/e_asin.c, java/lang/k_tan.c, java/lang/sf_rint.c, 2119 java/lang/e_atan2.c, java/lang/s_atan.c, java/lang/w_acos.c, 2120 java/lang/e_exp.c, java/lang/s_ceil.c, java/lang/w_asin.c, 2121 java/lang/e_fmod.c, java/lang/s_copysign.c, java/lang/w_atan2.c, 2122 java/lang/e_log.c, java/lang/s_cos.c, java/lang/w_exp.c, 2123 java/lang/e_pow.c, java/lang/s_fabs.c, java/lang/w_fmod.c, 2124 java/lang/e_rem_pio2.c, java/lang/s_floor.c, java/lang/w_log.c, 2125 java/lang/e_remainder.c, java/lang/s_rint.c, java/lang/w_pow.c, 2126 java/lang/e_scalb.c, java/lang/s_scalbn.c, java/lang/w_remainder.c, 2127 java/lang/e_sqrt.c, java/lang/s_sin.c, java/lang/w_sqrt.c, 2128 java/lang/ef_fmod.c, java/lang/s_tan.c, java/lang/wf_fmod.c, 2129 java/lang/k_cos.c, java/lang/sf_ceil.c, 2130 java/lang/k_rem_pio2.c, java/lang/sf_fabs.c, 2131 java/lang/ieeefp.h, java/lang/fdlibm.h 2132 * Makefile.am: rules added for compiling C files from fdlibm. 2133 2134Mon Sep 21 15:40:58 1998 Tom Tromey <tromey@cygnus.com> 2135 2136 * chartables.pl: Minor documentation fixes. 2137 2138 * configure: Rebuilt. 2139 * configure.in: Fixed --help output for --enable-fast-character. 2140 2141Thu Sep 17 11:03:27 1998 Tom Tromey <tromey@cygnus.com> 2142 2143 * configure: Rebuilt. 2144 * configure.in: Recognize --enable-fast-character. 2145 * acconfig.h (COMPACT_CHARACTER): New define. 2146 * include/config.h.in: Rebuilt. 2147 * include/java-chartables.h: New file. 2148 * Makefile.in: Rebuilt. 2149 * Makefile.am (nat_files): Added natCharacter.o. 2150 * java/lang/natCharacter.cc: New file. 2151 * chartables.pl (set_attribute): New function. 2152 (@attributes, @second_attributes): New globals. 2153 ($ROMAN_START, $ROMAN_END): Likewise. 2154 (process_char): Call set_attribute when required. 2155 (print_char): Just print hex value. 2156 (print_block): Generate C++ syntax. 2157 (print_numerics): Likewise. 2158 (print_single_map): Likewise. 2159 (print_all_block): Likewise. 2160 (print_case_table): Likewise. 2161 (print_fast_tables): New function. 2162 Generate C++ code suitable for a header file. 2163 * java/lang/Character.java (table_search): Removed. 2164 (digit_value): Now native. 2165 (getNumericValue): Likewise. 2166 (getType): Likewise. 2167 Removed all automatically-generated tables. 2168 (Tamil_Digit_One): Removed. 2169 (isSpaceChar): Now native. 2170 (isTitleCase): Likewise. 2171 (isLowerCase): Likewise. 2172 (isUpperCase): Likewise. 2173 (toLowerCase): Likewise. 2174 (toTitleCase): Likewise. 2175 (toUpperCase): Likewise. 2176 (isDefined): Fixed sense of test. 2177 2178Wed Sep 16 12:00:19 1998 Tom Tromey <tromey@cygnus.com> 2179 2180 * java/lang/natString.cc (equalsIgnoreCase): Removed obsolete 2181 FIXME comment. 2182 (regionMatches): Likewise. 2183 2184Tue Sep 15 14:35:12 1998 Tom Tromey <tromey@cygnus.com> 2185 2186 * prims.cc (_Jv_AllocObject): Call _Jv_InitClass on the class. 2187 2188 * java/lang/Class.h (Object): For now, declare _Jv_AllocString as 2189 a friend. 2190 * java/lang/natString.cc (_Jv_AllocString): For now, don't call 2191 _Jv_AllocObject. 2192 2193 * java/lang/natString.cc (toUpperCase): Declare `ch' as a jchar, 2194 not a char. 2195 2196 * java/lang/natClass.cc (isAssignableFrom): Handle arrays. 2197 2198Fri Sep 11 14:01:08 1998 Tom Tromey <tromey@cygnus.com> 2199 2200 * prims.cc (instanceof_class): Removed. 2201 (instanceof_array): Likewise. 2202 (instanceof): Likewise. 2203 (_Jv_IsInstanceOf): Use Class::isAssignableFrom. 2204 (_Jv_CheckCast): Likewise. 2205 * java/lang/natClass.cc (isAssignableFrom): New method. 2206 * java/lang/Class.java (isAssignableFrom): Now native. 2207 2208 * include/cni.h (JvThrow): Use `extern inline'. 2209 (JvAllocObject): Likewise. 2210 (JvInitClass): Likewise. 2211 2212 * java/lang/natSystem.cc (arraycopy): Only check class of source 2213 object if not null. 2214 2215 * prims.cc (_Jv_CheckArrayStore): Wrote. 2216 (_Jv_MonitorEnter): Prefer `JvThrow'. 2217 Include ArrayStoreException.h. 2218 (_Jv_CheckCast): Indentation cleanup. 2219 2220Thu Sep 10 18:59:29 1998 Tom Tromey <tromey@cygnus.com> 2221 2222 * chartables.pl: New file. 2223 * java/lang/Character.java: Rewrote from scratch. 2224 2225Fri Sep 18 18:15:58 1998 Warren Levy <warrenl@cygnus.com> 2226 2227 * java/lang/ArithmeticException.java, 2228 java/lang/ArrayIndexOutOfBoundsException.java, 2229 java/lang/ArrayStoreException.java, 2230 java/lang/ClassCastException.java, 2231 java/lang/ClassNotFoundException.java, 2232 java/lang/CloneNotSupportedException.java, 2233 java/lang/Exception.java, java/lang/IllegalAccessException.java, 2234 java/lang/IllegalArgumentException.java, 2235 java/lang/IllegalMonitorStateException.java, 2236 java/lang/IllegalThreadStateException.java, 2237 java/lang/IndexOutOfBoundsException.java, 2238 java/lang/InstantiationException.java, 2239 java/lang/InterruptedException.java, 2240 java/lang/NegativeArraySizeException.java, 2241 java/lang/NoSuchMethodException.java, 2242 java/lang/NullPointerException.java, 2243 java/lang/NumberFormatException.java, 2244 java/lang/RuntimeException.java, java/lang/SecurityException.java, 2245 java/lang/StringIndexOutOfBoundsException.java: Rewritten. 2246 2247 * java/lang/IllegalStateException.java, 2248 java/lang/NoSuchFieldException.java, 2249 java/lang/UnsupportedOperationException.java: Created. 2250 2251Fri Sep 18 15:01:42 1998 Warren Levy <warrenl@cygnus.com> 2252 2253 * java/lang/Integer.java, java/lang/Long.java: Rewritten. 2254 * java/lang/Byte.java, java/lang/Short.java (decode): Uncommented. 2255 2256Fri Sep 11 16:49:19 1998 Per Bothner <bothner@cygnus.com> 2257 2258 * prims.cc (JvRunMain): No longer need to call _Jv_InitClass. 2259 2260Thu Sep 10 12:23:55 1998 Warren Levy <warrenl@cygnus.com> 2261 2262 * Makefile.am (nat_headers): Added StringIndexOutOfBoundsException.h. 2263 2264 * Makefile.in: Rebuilt. 2265 2266 * include/javaprims.h (java::lang): Added 2267 StringIndexOutOfBoundsException. 2268 2269 * java/lang/String.java: Added header comment and FIXME comment for 2270 missing constructors/methods. 2271 (endsWith): Adjusted offset into string to look at just the last chars. 2272 Commented out undocumented method. 2273 2274 * java/lang/natString.cc: Added includes for 2275 ArrayIndexOutOfBoundsException.h & StringIndexOutOfBoundsException.h. 2276 (String::init): Throw StringIndexOutOfBoundsException. 2277 (String::charAt): Throw StringIndexOutOfBoundsException. 2278 (String::substring): Throw StringIndexOutOfBoundsException. 2279 (String::getChars): Throw ArrayIndexOutOfBoundsException. 2280 (String::getBytes): Throw ArrayIndexOutOfBoundsException. 2281 (String::compareTo): Return difference/offset between chars/strings. 2282 2283Tue Sep 8 13:22:33 1998 Warren Levy <warrenl@cygnus.com> 2284 2285 * java/lang/Boolean.java (TYPE): Added comment. 2286 2287 * java/lang/Byte.java (decode): Added - commented out until dependent 2288 code for Integer is written. 2289 (compareTo): JDK 1.2 methods written. 2290 (hashCode): Added comment to note that values have been verified. 2291 2292 * java/lang/Short.java (decode): Added - commented out until dependent 2293 code for Integer is written. 2294 (compareTo): JDK 1.2 methods written. 2295 (hashCode): Added comment to note that values have been verified. 2296 2297 * java/lang/Comparable.java: Created - JDK 1.2 interface. 2298 2299Fri Sep 4 10:36:35 1998 Tom Tromey <tromey@cygnus.com> 2300 2301 * include/javaprims.h (java::lang): Added VirtualMachineError, 2302 OutOfMemoryError. 2303 * Makefile.in: Rebuilt. 2304 * Makefile.am (nat_headers): Added OutOfMemoryError.h, 2305 VirtualMachineError.h. 2306 * prims.cc (_Jv_NewPrimArray): Throw OutOfMemoryError. 2307 (lookupArray): Likewise. 2308 (makeUtf8Const): Likewise. 2309 (_Jv_AllocObject): Likewise. 2310 (_Jv_NewObjectArray): Likewise. 2311 Include OutOfMemoryError.h. 2312 2313 * java/io/natFileDescriptor.cc (newstr): Removed. Changed callers 2314 to use JvNewStringLatin1. 2315 2316 * java/io/io-defs.h: Include java/lang/IOException.h. 2317 * Makefile.in: Rebuilt. 2318 * Makefile.am (nat_headers): Added 2319 ArrayIndexOutOfBoundsException.h, 2320 ClassFormatError.h,ClassNotFoundException.h, 2321 ClassCircularityError.h, ClassCastException.h, 2322 IncompatibleClassChangeError.h, AbstractMethodError.h, 2323 IllegalAccessError.h, LinkageError.h, Error.h, 2324 NegativeArraySizeException.h, IOException.h. 2325 * include/cni.h (SignalError): Removed declaration. 2326 * java/util/natDate.cc (setTime): Use JvFail, not sorry. 2327 * java/lang/natObject.cc (clone): Use JvFail, not sorry. 2328 * java/lang/natClass.cc (getInterfaces): Use JvFail, not sorry. 2329 (newInstance): Likewise. 2330 (forName): Likewise. 2331 * java/io/natFileDescriptor.cc (open_read_write): Use JvFail, not 2332 sorry. 2333 (read): Use JvThrow, not SignalError. 2334 (read): Likewise. 2335 (write): Likewise. 2336 (skip): Likewise. 2337 (close): Likewise. 2338 (open_read): Likewise. 2339 (open_write): Likewise. 2340 (ftell): Likewise. 2341 (fseek): Likewise. 2342 (newstr): New function. 2343 * java/io/natFile.cc (isDirectoryUnchecked): Use JvFail, not 2344 sorry. 2345 (lastModifiedUnchecked): Likewise. 2346 (lengthUnchecked): Likewise. 2347 * include/javaprims.h (sorry): Removed declaration. 2348 (java::lang): Added ArrayIndexOutOfBoundsException, LinkageError, 2349 ClassFormatError, ClassNotFoundException, ClassCircularityError, 2350 ClassCastException, IncompatibleClassChangeError, 2351 AbstractMethodError, IllegalAccessError, NegativeArraySizeException. 2352 * prims.cc (instanceof_array): Use JvFail, not sorry. 2353 (sorry): Removed. 2354 Include ArrayIndexOutOfBoundsException.h, 2355 ClassFormatError.h,ClassNotFoundException.h, 2356 ClassCircularityError.h, ClassCastException.h, 2357 IncompatibleClassChangeError.h, AbstractMethodError.h, 2358 IllegalAccessError.h, NegativeArraySizeException.h. 2359 (_Jv_ThrowBadArrayIndex): Implemented. 2360 (JvNewStringUTF): Use JvFail, not sorry. 2361 (_Jv_FindClass): Likewise. 2362 (_Jv_NewArray): Likewise. 2363 (throwException): Removed. 2364 (getClass): Use JvThrow. 2365 (processClass): Likewise. 2366 (_Jv_NewObjectArray): Likewise. 2367 (_Jv_NewMultiArray): Likewise. 2368 (_Jv_CheckCast): Likewise. 2369 (_Jv_LookupInterfaceMethod): Likewise. 2370 (SignalError): Removed. 2371 (getClass): Use _Jv_NewStringUtf8Const to create String. 2372 2373 * java/lang/natSystem.cc (arraycopy): Throw 2374 ArrayIndexOutOfBoundsException, not IndexOutOfBoundsException. 2375 2376 * Makefile.in: Rebuilt. 2377 * Makefile.am (GCJH): Renamed. Now use `gcjh'. Changed all 2378 users. 2379 * include/java-array.h: Mention gcjh, not gjavah. 2380 2381 * java/io/natFile.cc (existsUnchecked): Use JvGetStringUTFRegion. 2382 (canReadUnchecked): Likewise. 2383 (canWriteUnchecked): Likewise. 2384 (isFileUnchecked): Likewise. 2385 * java/io/natFileDescriptor.cc: Don't include cni.h. 2386 2387 * java/lang/Thread.java (run__): Declare. 2388 * java/lang/natThread.cc (run__): New method, to avoid compiler 2389 warning. 2390 (start): Use run__, not run_. 2391 2392 * java/io/io-defs.h: Include cni.h and jvm.h. 2393 2394Thu Sep 3 18:20:08 1998 Per Bothner <bothner@cygnus.com> 2395 2396 Re-implement java.lang.String, using "COMPACT_STRINGS" representation. 2397 * prims.cc (JvAllocString, JvNewString, JvNewStringlatin1): Moved 2398 to natString.cc (with suitable renaming, inlines etc). 2399 (javaString2CString): Removed. Subsumed by _Jv_GetStringUTFRegion. 2400 * java/lang/Class.h: Renamed Utf8Const to _Jv_Utf8Const. 2401 * java/lang/String.h: Removed - now generated using gjavah. 2402 * java/lang/String.java: Re-written from scratch. Many native methods. 2403 * java/lang/natDouble.cc, java/util/natDate.cc: #include <cni.h>. 2404 * java/lang/natString.cc: Many functions re-written for "compact 2405 strings" representation, or native java.lang.String methods added. 2406 (Utf8Const2JavaString): Renamed to _Jv_NewStringUtf8Const. 2407 (_Jv_GetStringUTFLength, _Jv_GetStringUTFRegion): New methods. 2408 * java/lang/natClass.cc (getName): Use new _Jv_NewStringUtf8Const. 2409 * java/io/natFileDescriptor.cc: Use new JvGetStringUTFRegion. 2410 * include/cni.h: Add inline method. 2411 * include/java-array.h (jobjectArrayjchar): gjavah bug work-around. 2412 * include/javaprims.h: Moved some stuff frm String.h. 2413 * include/jvm.h (UTF8_GET, Utf8Const, StringClass): Moved here. 2414 * Makefile.am (nat_header): Added Character.h and String.h. 2415 (String.h): Add new rule. 2416 2417Thu Sep 3 10:28:16 1998 Tom Tromey <tromey@cygnus.com> 2418 2419 * no-threads.cc: Include config.h, cni.h, jvm.h. Don't include 2420 java-assert.h. 2421 * posix-threads.cc: Include cni.h, jvm.h. 2422 * quick-threads.cc: Include cni.h, jvm.h. 2423 * nogc.cc: Include cni.h, not javaprims.h. 2424 * java/lang/natFirstThread.cc: Include cni.h, jvm.h. 2425 * java/lang/natThread.cc: Rearranged #include ordering. Don't 2426 include java-assert.h. 2427 * java/lang/natSystem.cc: Include cni.h. Don't include 2428 java-assert.h. 2429 * java/lang/natRuntime.cc: Include cni.h. Don't include 2430 java-assert.h. 2431 * prims.cc: Rearranged #include ordering. Don't include 2432 java-array.h or java-assert.h. 2433 * boehm.cc: Include config.h, cni.h. 2434 * exception.cc: Include config.h, cni.h. 2435 * include/jvm.h: Include java-assert.h. 2436 * include/cni.h: Include java/lang/Object.h. Don't include 2437 java-threads.h or java-array.h. 2438 2439Thu Sep 3 16:03:08 1998 Warren Levy <warrenl@cygnus.com> 2440 2441 * java/lang/Boolean.java: Rewritten. 2442 2443Thu Sep 3 10:28:16 1998 Tom Tromey <tromey@cygnus.com> 2444 2445 * java/lang/natFirstThread.cc (main_func): New typedef. 2446 (run): Use main_func, not JvPrivThreadStartFunc. 2447 * include/no-threads.h (JvPrivThreadStartFunc): Use correct 2448 argument type. 2449 * include/posix-threads.h (JvPrivThreadStartFunc): Use correct 2450 argument type. 2451 * include/quick-threads.h (JvPrivThreadStartFunc): Use correct 2452 argument type. 2453 2454 Can't throw Java exceptions with C++ `throw': 2455 * quick-threads.cc (qthrow): Use _Jv_Throw, not throw. 2456 * java/lang/natThread.cc (join): Use _Jv_Throw, not throw. 2457 (setPriority): Likewise. 2458 (sleep): Likewise. 2459 (start): Likewise. 2460 (stop): Likewise. 2461 * java/lang/natSystem.cc (arraycopy): Use _Jv_Throw, not throw. 2462 * prims.cc (_Jv_MonitorEnter): Use _Jv_Throw, not throw. 2463 2464 Can't catch Java exceptions from C++: 2465 * java/lang/natThread.cc (finish_): New method. 2466 (run_): Removed. 2467 * java/lang/Thread.java (run_): Rewrote in Java. 2468 (finish_): New native method. 2469 2470Wed Sep 2 17:30:39 1998 Warren Levy <warrenl@cygnus.com> 2471 2472 * java/lang/Cloneable.java, java/lang/Number.java: Rewritten. 2473 2474 * include/javaprims.h (java::io): Added Serializable. 2475 2476Wed Sep 2 15:22:00 1998 Warren Levy <warrenl@cygnus.com> 2477 2478 * java/util/EmptyStackException.java, 2479 java/util/NoSuchElementException.java: Rewritten. 2480 2481 * java/util/ConcurrentModificationException.java, 2482 java/util/MissingResourceException.java, 2483 java/util/TooManyListenersException.java: Created. 2484 2485Wed Sep 2 13:36:57 1998 Tom Tromey <tromey@cygnus.com> 2486 2487 * include/cni.h (JvThrow): New function. 2488 * include/javaprims.h (_Jv_Throw): Declare. 2489 2490Wed Sep 2 14:07:48 1998 Warren Levy <warrenl@cygnus.com> 2491 2492 * java/util/Observable.java: Rewritten. 2493 2494Wed Sep 2 13:36:57 1998 Tom Tromey <tromey@cygnus.com> 2495 2496 * prims.cc (_Jv_MonitorExit): Assert that object is non-null. 2497 (_Jv_MonitorEnter): Throw NullPointerException if object is null. 2498 Include NullPointerException.h. 2499 2500Tue Sep 1 12:07:35 1998 Tom Tromey <tromey@cygnus.com> 2501 2502 * java/lang/natSystem.cc (arraycopy): Removed overlapping-copy 2503 assignability checks. Don't bother using memcpy. 2504 2505 * quick-threads.cc (JvPrivThreadStart): Don't call coop_start. 2506 (started): Removed. 2507 * include/quick-threads.h (JvPrivThreadWait): New function. 2508 * include/no-threads.h (JvPrivThreadWait): New function. 2509 * include/posix-threads.h (JvPrivThreadWait): New function. 2510 * prims.cc (JvRunMain): Call JvPrivThreadWait. 2511 2512 * java/lang/natSystem.cc (arraycopy): Do nothing if count is 0. 2513 2514 * java/lang/natSystem.cc (arraycopy): Multiply both src and dst 2515 offsets by size of type that is being copied. 2516 2517 * java/lang/natThread.cc (start): Don't pass `object' argument to 2518 JvPrivThreadStart. 2519 * no-threads.cc (JvPrivThreadStart): Removed `object' argument. 2520 * posix-threads.cc (JvPrivThreadStart): Removed `object' 2521 argument. 2522 * quick-threads.cc (JvPrivThreadStart): Removed `object' argument; 2523 always pass thread as object. 2524 * include/quick-threads.h, include/posix-threads.h, 2525 include/no-threads.h (JvPrivThreadStart): Removed `object' 2526 argument. 2527 2528Mon Aug 31 19:11:53 1998 Warren Levy <warrenl@cygnus.com> 2529 2530 * java/util/Dictionary.java: Rewritten. 2531 2532Mon Aug 31 14:35:55 1998 Tom Tromey <tromey@cygnus.com> 2533 2534 * include/quick-threads.h (JvPrivThreadInitData): Use 0, not NULL. 2535 (JvPrivThreadDestroy): Likewise. 2536 2537Mon Aug 31 12:56:01 1998 Warren Levy <warrenl@cygnus.com> 2538 2539 * java/lang/natRuntime.cc (exit): Changed final call to ::exit. 2540 2541Thu Aug 27 12:24:40 1998 Tom Tromey <tromey@cygnus.com> 2542 2543 * java/lang/natSystem.cc: Rewrote from scratch. 2544 * java/lang/System.java: Rewrote from scratch. 2545 * java/lang/Class.h (Class): Declare isAssignableFrom. 2546 * include/javaprims.h (java::lang): Added ArrayStoreException, 2547 IndexOutOfBoundsException. 2548 * Makefile.in: Rebuilt. 2549 * Makefile.am (nat_headers): Added ArrayStoreException.h, 2550 IndexOutOfBoundsException.h. 2551 * java/lang/natObject.cc (hashCode): Use _Jv_HashCode. 2552 * include/jvm.h (_Jv_HashCode): New function. 2553 2554 * java/lang/natThread.cc (suspend): Call checkAccess. 2555 (resume): Likewise. 2556 * java/lang/Thread.java (setDaemon): Call checkAccess. 2557 2558Thu Aug 27 12:24:40 1998 Tom Tromey <tromey@cygnus.com> 2559 2560 * java/lang/Runtime.java: Rewrote from scratch. 2561 * java/lang/natRuntime.cc: Rewrote from scratch. 2562 2563 * nogc.cc (JvPrivGCTotalMemory): New function. 2564 (JvPrivGCFreeMemory): Likewise. 2565 (total): New global. 2566 (JvPrivAllocObj): Increment total. 2567 (JvPrivAllocArray): Likewise. 2568 (JvPrivAllocBytes): Likewise. 2569 * include/jvm.h: Declare JvPrivGCTotalMemory, JvPrivGCFreeMemory. 2570 * boehm.cc (JvPrivGCTotalMemory): New function. 2571 (sum_blocks): Likewise. 2572 (JvPrivGCFreeMemory): Likewise. 2573 2574Wed Aug 26 12:30:32 1998 Tom Tromey <tromey@cygnus.com> 2575 2576 * include/javaprims.h (java::lang): Added FirstThread. 2577 * java/lang/natFirstThread.cc: New file. 2578 * java/lang/FirstThread.java: New file. 2579 * prims.cc (main_signature): Removed. 2580 (main_name): Removed. 2581 #include FirstThread.h. 2582 * Makefile.in: Rebuilt. 2583 * Makefile.am (TFRIEND): Removed. 2584 (java/lang/Thread.h): Likewise. 2585 (FTFRIEND): New macro. 2586 (java/lang/FirstThread.h): New target. 2587 (nat_files): Added natFirstThread.o. 2588 (nat_headers): Added FirstThread.h. 2589 * include/jvm.h (_Jv_StartFirstThread): Don't declare. 2590 * java/lang/natThread.cc (_Jv_StartFirstThread): Removed. 2591 2592 * java/lang/Thread.java (setName): Throw IllegalArgumentException 2593 if name is null. 2594 (Thread): Likewise. 2595 2596 * java/lang/natThread.cc (start): Synchronize the thread. 2597 (stop): Synchronize the thread. 2598 2599 * java/lang/ThreadDeath.java: Rewrote from scratch. 2600 2601 * Makefile.in: Rebuilt. 2602 * Makefile.am (TGFRIEND): New macro. 2603 (java/lang/ThreadGroup.h): New target. 2604 ($(nat_files) prims.o boehm.o nogc.o): Native files depend on the 2605 native headers. 2606 ($(javao_files) $(nat_files) prims.o boehm.o nogc.o): Removed. 2607 2608 * nogc.cc: Include config.h. 2609 2610 * java/lang/ThreadGroup.java: Rewrote from scratch. 2611 2612Tue Aug 25 00:12:54 1998 Tom Tromey <tromey@cygnus.com> 2613 2614 * java/lang/Thread.java (checkAccess): Only call in to security 2615 manager if it exists. 2616 (Thread): Don't check access when creating the first thread. Add 2617 this thread to the appropriate ThreadGroup. 2618 2619 * java/lang/natThread.cc (run_): Call uncaughtException method on 2620 the ThreadGroup. 2621 2622 * java/lang/Runnable.java: Rewrote from scratch. 2623 * java/lang/Thread.java: Updated copyright comment to correct 2624 form. 2625 2626Wed Aug 26 15:16:18 1998 Warren Levy <warrenl@cygnus.com> 2627 2628 * java/util/Random.java: Rewritten. 2629 2630Wed Aug 26 14:25:39 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> 2631 2632 * prims.cc (_Jv_NewMultiArray): Need one more slot to store 2633 trailing 0 in array[]. 2634 2635Wed Aug 26 12:21:06 1998 Anthony Green <green@cygnus.com> 2636 2637 * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT, 2638 and RUNTESTFLAGS from AM_MAKEFLAGS. 2639 (SUBDIRS): Conditionally include testsuite. 2640 * Makefile.in: Rebuilt. 2641 2642Tue Aug 25 18:14:53 1998 Anthony Green <green@cygnus.com> 2643 2644 * java/lang/Object.h: Include java-assert.h. 2645 2646Tue Aug 25 17:33:57 1998 Anthony Green <green@cygnus.com> 2647 2648 * Makefile.am: Add testsuite directory. 2649 * configure.in: Build testsuite/Makefile. 2650 * Makefile.in, configure: Rebuilt. 2651 2652Tue Aug 25 00:12:54 1998 Tom Tromey <tromey@cygnus.com> 2653 2654 * prims.cc (JvRunMain): Use _Jv_StartFirstThread. 2655 * include/jvm.h (_Jv_StartFirstThread): Declare. 2656 2657 * include/javaprims.h (java::lang): Added Exception, 2658 RuntimeException. 2659 2660 * Makefile.in: Rebuilt. 2661 * Makefile.am (nat_headers): Added NullPointerException.h, 2662 InterruptedException.h, IllegalArgumentException.h, Exception.h, 2663 Throwable.h, RuntimeException.h, IllegalThreadStateException.h. 2664 (java/lang/Thread.h): New target. 2665 (TFRIEND): New macro 2666 2667 * include/java-assert.h (JvFail): Use 0 and not NULL. 2668 2669 * posix-threads.cc (JvPrivThreadStart): Use getPriority() method 2670 instead of assuming we are a friend of Thread. 2671 * quick-threads.cc (JvPrivThreadStart): Use isDaemon() method 2672 instead of assuming we are a friend of Thread. 2673 2674Mon Aug 24 15:58:36 1998 Tom Tromey <tromey@cygnus.com> 2675 2676 * java/lang/natThread.cc: Rewrote from scratch. 2677 * java/lang/Thread.java: Rewrote from scratch. 2678 * prims.cc (JvRunMain): Use new Thread constructor. 2679 * include/javaprims.h (java::lang): Added InterruptedException. 2680 * Makefile.in: Rebuilt. 2681 * Makefile.am (nat_headers): Added java/lang/Thread.h. 2682 * java/lang/Thread.h: Removed. 2683 * quick-threads.cc (JvPrivThreadStart): Added `data' argument. 2684 * no-threads.cc (JvPrivThreadStart): Added JvPrivThread_t 2685 argument. 2686 * posix-threads.cc (JvPrivThreadJoin): Removed. 2687 (JvPrivThreadInitData): Don't initialize join_mutex or join_cond. 2688 (really_start): Don't notify join_cond. 2689 (JvPrivThreadStart): Added `data' argument. 2690 * include/no-threads.h (JvPrivThreadInterrupt): Removed. 2691 (JvPrivThreadJoin): Likewise. 2692 Use JvFail instead of sorry. 2693 (JvPrivThreadSuspend): Removed. 2694 (JvPrivThreadResume): Removed. 2695 * include/quick-threads.h (JvPrivThreadInterrupt): Removed. 2696 (JvPrivThreadJoin): Likewise. 2697 (JvPrivThreadSuspend): Use JvFail. 2698 (JvPrivThreadResume): Likewise. 2699 (JvPrivThreadSuspend): Removed. 2700 (JvPrivThreadResume): Likewise. 2701 * include/posix-threads.h (JvPrivThreadInterrupt): Removed. 2702 (JvPrivThread_t): Removed join_mutex, join_cond. 2703 Use JvFail instead of sorry. 2704 (JvPrivThreadSuspend): Removed. 2705 (JvPrivThreadResume): Likewise. 2706 2707Tue Aug 25 12:50:13 1998 Warren Levy <warrenl@cygnus.com> 2708 2709 * java/util/Observer.java: Rewritten 2710 * java/util/Enumeration.java: Rewritten 2711 2712Tue Aug 25 11:33:54 1998 Warren Levy <warrenl@cygnus.com> 2713 2714 * java/util/StringTokenizer.java: Rewritten 2715 * java/util/Stack.java: Added COPYRIGHT-TBD comment 2716 * java/util/Vector.java: Added COPYRIGHT-TBD comment 2717 * java/io/Serializable.java: Added COPYRIGHT-TBD comment 2718 2719Fri Aug 21 10:14:22 1998 Tom Tromey <tromey@cygnus.com> 2720 2721 * include/java-assert.h (JvFail): Call _Jv_Abort even when DEBUG 2722 not defined. 2723 2724 * no-threads.cc (JvPrivThreadStart): Use JvAssert. 2725 Include java-assert.h. 2726 * include/java-assert.h: New file. 2727 * prims.cc (_Jv_Abort): New function. 2728 Include java-assert.h, not assert.h. 2729 (_Jv_MonitorExit): Use JvAssert. 2730 (resolveConstants): Likewise. 2731 (processClass): Likewise. 2732 (JvRunMain): Assert that method is found. 2733 2734 * configure: Rebuilt. 2735 * configure.in: Check for test subdir. 2736 * Makefile.in: Rebuilt. 2737 * Makefile.am (SUBDIRS): Conditional on TESTSUBDIR. 2738 2739 * prims.cc (JvRunMain): Use NORM_PRIORITY. 2740 * java/lang/Thread.h (Thread): Added NORM_PRIORITY. 2741 2742 * prims.cc (resolveConstants): Removed unused variables. 2743 (processClass): Likewise. 2744 2745 * include/quick-threads.h (JvPrivThreadCurrent): Use 2746 coop_getspecific. 2747 * quick-threads.cc (destroy_data): New function. 2748 (JvPrivInitThreads): Create key. 2749 (JvPrivThreadKey): New global. 2750 (JvPrivThreadStart): Use coop_setspecific. 2751 2752 * include/quick-threads.h, include/posix-threads.h, 2753 include/no-threads.h, no-threads.cc, quick-threads.cc, 2754 posix-threads.cc, nogc.cc, boehm.cc: Added copyright comment. 2755 2756Thu Aug 20 10:57:30 1998 Tom Tromey <tromey@cygnus.com> 2757 2758 * include/no-threads.h (JvPrivThreadInitData): Don't set 2759 JvPrivOnlyThread. 2760 2761 * include/quick-threads.h (JvPrivCondWait): coop function now 2762 takes microseconds. 2763 (JvPrivThreadJoin): Likewise. 2764 2765 * java/lang/Thread.h (Thread): Updated declaration of 2766 JvPrivThreadStart. 2767 * include/quick-threads.h, include/posix-threads.h: Updated 2768 declaration of JvPrivThreadStart. 2769 * include/no-threads.h (JvPrivThreadStart): Changed definition 2770 into declaration. 2771 * no-threads.cc (JvPrivThreadStart): Removed `data' argument. 2772 * quick-threads.cc (JvPrivThreadStart): Removed `data' argument. 2773 * posix-threads.cc (JvPrivThreadStart): Removed `data' argument. 2774 2775Wed Aug 19 14:53:59 1998 Tom Tromey <tromey@cygnus.com> 2776 2777 * quick-threads.cc (qthrow): New function. 2778 (JvPrivInitThreads): New function. 2779 (started): New global. 2780 (JvPrivThreadStart): Call coop_start if required. 2781 * include/quick-threads.h (JvPrivThreadCancel): Implement. 2782 (JvPrivThreadDestroy): Likewise. 2783 (JvPrivInitThreads): Removed. 2784 * include/posix-threads.h (JvPrivThreadCancel): Added error 2785 argument. 2786 * java/lang/natThread.cc (stop_): Pass exception to 2787 JvPrivThreadCancel. 2788 2789Tue Aug 18 12:58:22 1998 Tom Tromey <tromey@cygnus.com> 2790 2791 * include/javaprims.h (java::lang): Added 2792 IllegalArgumentException, IllegalThreadStateException, Math, 2793 NullPointerException, ThreadDeath. 2794 (java::util): Added Enumeration. 2795 2796 * Makefile.in: Rebuilt. 2797 * Makefile.am (nat_headers): Added java/lang/ThreadGroup.h. 2798 2799 * java/lang/ThreadGroup.java (ThreadGroup): No-args constructor 2800 now public. 2801 (threadsv): Renamed from threads to avoid clash in C++ header. 2802 (groupsv): Likewise. 2803 * include/no-threads.h (JvPrivThreadStart): Removed. 2804 * no-threads.cc (JvPrivThreadStart): New function. 2805 * java/lang/Thread.java (Thread): New constructor for internal use. 2806 * java/lang/Thread.h (Thread): Declare JvRunMain as friend. 2807 (Thread): Declare constructor. 2808 * prims.cc (JvRunMain): Create the initial Thread and 2809 ThreadGroup. 2810 Include <java/lang/Thread.h> and <java/lang/ThreadGroup.h>. 2811 * posix-threads.cc (JvPrivThreadStart): Added `thread' argument. 2812 Removed `daemon' argument. 2813 2814 * prims.cc (JvRunMain): Call _Jv_InitializeSyncMutex. 2815 * java/lang/Object.h (Object): Declare _Jv_InitializeSyncMutex as 2816 a friend. 2817 * java/lang/natObject.cc (_Jv_InitializeSyncMutex): New function. 2818 2819 * Makefile.in: Rebuilt. 2820 * Makefile.am (INCLUDES): Include THREADINCS. 2821 2822 * configure: Rebuilt. 2823 * configure.in: Recognize `qt' as a threads package. 2824 2825Thu Aug 20 12:42:32 1998 Warren Levy <warrenl@cygnus.com> 2826 2827 * java/util/Stack.java (pop): Null out topmost node for robustness. 2828 2829Thu Aug 20 12:30:30 1998 Warren Levy <warrenl@cygnus.com> 2830 2831 * java/util/Stack.java: Rewritten. 2832 * java/util/Vector.java (isEmpty): Simplified expression. 2833 2834Wed Aug 19 18:02:19 1998 Warren Levy <warrenl@cygnus.com> 2835 2836 * prims.cc (_Jv_NewObjectArray): Renamed from JvNewObjectArray. 2837 (soft_anewarray): Removed, _Jv_NewObjectArray used instead. 2838 2839 * include/java-array.h (JvNewObjectArray): Created inline to 2840 _Jv_NewObjectArray. 2841 2842 * java/lang/Class.h (_Jv_NewObjectArray): Renamed from 2843 JvNewObjectArray. 2844 2845Wed Aug 19 14:12:02 1998 Warren Levy <warrenl@cygnus.com> 2846 2847 * java/util/Vector.java: Rewritten. 2848 * java/io/Serializable.java: Created. 2849 2850Fri Aug 14 10:31:54 1998 Tom Tromey <tromey@cygnus.com> 2851 2852 * java/lang/Float.java (NEGATIVE_INFINITY, POSITIVE_INFINITY): 2853 Infinity is 1/0, not 1/1. 2854 2855 * boehm.cc (JvPrivAllocArray): Use GC_generic_malloc. 2856 2857 * configure: Rebuilt. 2858 * configure.in: Removed duplicate AC_ARG_WITH. 2859 2860Thu Aug 13 14:51:47 1998 Warren Levy <warrenl@cygnus.com> 2861 2862 * prims.cc (_Jv_ThrowBadArrayIndex): Renamed from 2863 soft_badarrayindex. 2864 (_Jv_InitClass): Renamed from soft_initialise_class. 2865 (_Jv_NewMultiArray): Renamed from soft_multianewarray. 2866 (_Jv_CheckCast): Renamed from soft_checkcast. 2867 (_Jv_LookupInterfaceMethod): Renamed from soft_lookupinterfacemethod. 2868 (_Jv_CheckArrayStore): Renamed from soft_checkarraystore. 2869 (JvRunMain): Call JvInitClass instead of soft_initialise_class. 2870 * include/cni.h (JvInitClass): New function. 2871 (_Jv_InitClass): Renamed from soft_initialise_class. 2872 2873Wed Aug 12 10:07:04 1998 Tom Tromey <tromey@cygnus.com> 2874 2875 * configure: Rebuilt. 2876 * configure.in (CXX): Don't set. 2877 * Makefile.in: Rebuilt. 2878 * Makefile.am (AM_CXXFLAGS): New macro. 2879 2880 * Makefile.in: Rebuilt. 2881 * Makefile.am ($(javao_files) $(nat_files) prims.o boehm.o 2882 nogc.o): New target. 2883 2884 * boehm.cc (mark_obj): Update PUSH_CONTENTS call for new Boehm 2885 GC. 2886 (mark_array): Likewise. 2887 2888Tue Aug 11 11:44:53 1998 Per Bothner <bothner@cygnus.com> 2889 2890 * java/lang/Class.h (JvMethod): Removed some unused fields. 2891 (JvField.info): Removed unused idx union variant. 2892 2893Mon Aug 10 15:00:14 1998 Tom Tromey <tromey@cygnus.com> 2894 2895 * prims.cc (makeUtf8Const): Mask off high bits of hash value to 2896 match compiler. 2897 2898Mon Aug 3 16:13:54 1998 Per Bothner <bothner@cygnus.com> 2899 2900 * configure.in, configure (CXX): Add -fvtable-thunks. 2901 2902Thu Jul 30 14:34:47 1998 Per Bothner <bothner@cygnus.com> 2903 2904 * java/lang/Object.java (finalize): Move first. 2905 * java/lang/Object.h (_JvObjectPrefix): New dummy base class. 2906 (Object): Re-arrange order to match Object.java. 2907 2908Tue Jul 28 21:42:16 1998 Per Bothner <bothner@cygnus.com> 2909 2910 * prims.cc (hashUtf8String): Fix - use new JavaSoft specification. 2911 * java/lang/natString.cc (hashChars): Likewise. 2912 2913 * prims.cc (RuntimeClass): New macro. 2914 (JvRunMain): Do soft_initialise_class of RuntimeClass before exit. 2915 2916Mon Jul 27 22:20:10 1998 Tom Tromey <tromey@cygnus.com> 2917 2918 * Makefile.in: Rebuilt. 2919 * Makefile.am (AM_MAKEFLAGS): New macro. 2920 2921Fri Jul 24 11:21:24 1998 Tom Tromey <tromey@cygnus.com> 2922 2923 * nogc.cc: Include <javaprims.h>. 2924 2925 * Makefile.in: Rebuilt. 2926 * Makefile.am (GJAVAH): gjavah no longer in java subdir. 2927 2928Thu Jul 23 11:38:40 1998 Tom Tromey <tromey@cygnus.com> 2929 2930 * exception.cc (terminate): Removed. 2931 (unexpected): Removed. 2932 2933 * configure: Rebuilt. 2934 * configure.in: Handle case where target subdir is ".". 2935 2936 * configure: Rebuilt. 2937 * configure.in: Compute COMPPATH based on --with-target-subdir 2938 option. Added --with-target-subdir and --with-cross-host. Use 2939 --with-cross-host to determine when a cross compiler is in use. 2940 2941 * Makefile.in: Rebuilt. 2942 * Makefile.am (GJAVAH): Include COMPPATH. 2943 * configure: Rebuilt. 2944 * configure.in: Subst COMPPATH. 2945 2946Mon Jul 20 16:13:43 1998 Tom Tromey <tromey@cygnus.com> 2947 2948 * prims.cc (lockMutex): Removed. 2949 (unlockMutex): Likewise. 2950 (processClass): Lock the class using a JvSynchronize object. 2951 2952Fri Jul 17 11:27:48 1998 Tom Tromey <tromey@cygnus.com> 2953 2954 * java/lang/natString.cc (gc_calloc_fixed): Removed. 2955 (gc_free_fixed): Removed. 2956 (rehash): Use JvPrivAllocBytes, not gc_calloc_fixed; don't bother 2957 freeing old value of strhash. 2958 2959 * exception.cc (_Jv_type_matcher): Cast first argument to 2960 _Jv_IsInstanceOf. 2961 2962Thu Jul 16 14:51:44 1998 Tom Tromey <tromey@cygnus.com> 2963 2964 * include/java-array.h (jstringArray): New type. 2965 * java/lang/natSystem.cc (setProperty): Removed. 2966 (initProperties): Directly call JvNewStringLatin1 for arguments. 2967 * java/util/natDate.cc: Include java/util/Date.h, not 2968 java-util.h. 2969 (setTime): Removed. 2970 * java/io/FileDescriptor.java (available): No longer static. 2971 * java/lang/natDouble.cc (Double): Removed class definition. 2972 * include/javaprims.h (java::lang::Number): Declare. 2973 (java::lang::NumberFormatException): Likewise. 2974 (java::io::FilenameFilter): Likewise. 2975 (java::lang::Character): Likewise. 2976 (java::lang::Error): Likewise. 2977 (java::lang::SecurityManager): Likewise. 2978 (java::util::Vector): Likewise. 2979 (java::io::FileNotFoundException): Likewise. 2980 (java::io::IOException): Likewise. 2981 (java::lang::NativeLang): Likewise. 2982 (java::lang::UnsatisfiedLinkError): Likewise. 2983 (java::util::StringTokenizer): Likewise. 2984 (java::io::InputStream, java::io::OutputStream): Likewise. 2985 (java::io::PrintStream, java::lang::SecurityException): Likewise. 2986 (java::util::Hashtable): Likewise. 2987 * Makefile.in: Rebuilt. 2988 * Makefile.am (nat_headers): Added java/lang/Double.h, 2989 java/lang/Number.h, java/lang/System.h, java/lang/Runtime.h. 2990 (MOSTLYCLEANFILES): Added nat_headers. 2991 * include/jvm.h: Moved many defines, declarations, and functions 2992 to java/lang/Class.h. 2993 (struct JvSyncInfo): Moved to java/lang/Object.h. 2994 (UTF8_GET): Moved to java/lang/String.h. 2995 2996Wed Jul 15 09:02:31 1998 Tom Tromey <tromey@cygnus.com> 2997 2998 * java/io/io-defs.h: Don't include java-io.h. 2999 * include/java-io.h: Removed. 3000 * include/javaprims.h: Include java::io. 3001 3002Tue Jul 14 17:04:26 1998 Tom Tromey <tromey@cygnus.com> 3003 3004 * include/java-io.h (File): Removed 3005 (FileDescriptor): Likewise. 3006 3007 * java/io/io-defs.h: Include java/io/File.h and 3008 java/io/FileDescriptor.h. 3009 3010 * Makefile.in: Rebuilt. 3011 * Makefile.am (GJAVAH): New macro. 3012 (.class.h): New rule. 3013 (SUFFIXES): Added .h. 3014 (nat_headers): New macro. 3015 ($(nat_headers)): New target. 3016 (BUILT_SOURCES): Added nat_headers. 3017 3018 * include/java-util.h: Removed. 3019 3020Fri Jul 3 10:17:14 1998 Tom Tromey <tromey@cygnus.com> 3021 3022 * include/java-io.h: Changed to avoid java-lang.h. 3023 * java/lang/natThread.cc: Include java/lang/Thread.h, not 3024 java-lang.h. 3025 * java/lang/natSystem.cc: Include java/lang/System.h, not 3026 java-lang.h. 3027 * java/lang/natString.cc: Include java/lang/String.h, not 3028 java-lang.h. 3029 * java/lang/natRuntime.cc: Include java/lang/Runtime.h, not 3030 java-lang.h. 3031 * java/lang/natClass.cc: Include java/lang/Class.h, not 3032 java-lang.h. 3033 * java/lang/natDouble.cc: Include java/lang/Object.h, not 3034 java-lang.h. 3035 * java/lang/natObject.cc: Include java/lang/Object.h, not 3036 java-lang.h. 3037 * exception.cc: Don't include java-lang.h. 3038 * posix-threads.cc: Include java/lang/Thread.h, not java-lang.h. 3039 * no-threads.cc: Include java/lang/Thread.h, not java-lang.h. 3040 * nogc.cc: Don't include java-lang.h. 3041 * boehm.cc: Include java/lang/Class.h, not java-lang.h. 3042 * prims.cc (processClass): Don't use `init_type'; just cast to 3043 type directly. 3044 Include java/lang/Class.h and jvm.h, not java-lang.h. 3045 (JvAllocObject): Wrote single-argument version. 3046 (PrimClass): Inherit from Class. 3047 (initPrimClass): Removed. 3048 * include/java-lang.h: Removed. 3049 * include/jvm.h: Declare struct _dispatchTable. 3050 * include/cni.h: Don't declare _Jv_MonitorEnter, 3051 _Jv_MonitorExit, struct _dispatchTable. 3052 * include/javaprims.h: Moved all typedefs here, from cni.h. 3053 * java/lang/Class.h: New file. 3054 * include/java-array.h: New file. 3055 * java/lang/Object.h: New file. 3056 3057 * prims.cc (classFromSig): Now static. 3058 3059Wed Jul 1 12:28:48 1998 Tom Tromey <tromey@cygnus.com> 3060 3061 * include/cni.h: Don't mention soft_new. 3062 * include/java-lang.h (Object): Don't mention soft_new. Mention 3063 _Jv_NewPrimArray, not newPrimArray. 3064 * prims.cc (soft_new): Removed. 3065 (_Jv_NewArray): Renamed from soft_newarray. 3066 (soft_anewarray): Use JvNewObjectArray. 3067 (newArray): Likewise. 3068 (newRefArray): Removed. 3069 (_Jv_NewPrimArray): Renamed from newPrimArray. 3070 (equalUtf8Consts): Now static. 3071 (soft_instanceof): Removed. 3072 * java/lang/natDouble.cc (doubleToString): Now static. 3073 3074 * java/lang/natDouble.cc (java_lang_Double_doubleToLongBits, 3075 java_lang_Double_longBitsToDouble, java_lang_Double_toString): 3076 Removed. 3077 3078Tue Jun 30 10:54:57 1998 Tom Tromey <tromey@cygnus.com> 3079 3080 * include/java-lang.h: Renamed functions to _Jv_MonitorEnter and 3081 _Jv_MonitorExit. 3082 * include/cni.h: Renamed functions to _Jv_MonitorEnter and 3083 _Jv_MonitorExit. 3084 * include/no-threads.h (JvPrivMutexLock): Always return -1. 3085 (JvPrivMutexUnlock): Likewise. 3086 * prims.cc (_Jv_MonitorEnter): Renamed from soft_monitorenter. 3087 Return value now jint. 3088 (_Jv_MonitorExit): Renamed from soft_monitorexit. Return value 3089 now jint. 3090 3091 * Makefile.in: Rebuilt. 3092 * Makefile.am: Don't allow `jV' names. 3093 (maintainer-check): Depend on libjava.a. 3094 * exception.cc (_Jv_eh_free): Renamed from __jV_eh_free. 3095 3096 * Makefile.in: Rebuilt. 3097 * Makefile.am (NM): New macro. 3098 (maintainer-check): New target. 3099 3100 * include/posix-threads.h (_MIT_POSIX_THREADS): Removed. 3101 3102 * configure: Rebuilt. 3103 * configure.in: Use --enable-threads, not --enable-gc. Fix 3104 documentation for --enable-threads. Changed option to work like 3105 identical option in gcc/configure. 3106 3107Mon Jun 29 10:44:29 1998 Tom Tromey <tromey@cygnus.com> 3108 3109 * boehm.cc (mark_array): Use JvGetArrayLength. 3110 3111Thu Jun 25 11:56:21 1998 Per Bothner <bothner@cygnus.com> 3112 3113 * exception.cc: New file (mostly written by Andrew MacLeod), 3114 exception handling support. 3115 * Makefile.am (libjava_a_SOURCES), Makefile.in: Add exception.cc. 3116 Remove -fexceptions - it is now the default. 3117 3118 * prims.cc (JvIsInstanceOf): Renamed to _Jv_IsInstanceOf. 3119 (JvAllocObject): Renamed to _Jv_AllocObject. 3120 (soft_athrow): Removed. Replaced by _Jv_Throw in exception.cc. 3121 (loadClass): Renamed to _Jv_FindClass. 3122 * include/cni.h (JvIsInstanceOf, JvAllocObject). Make into 3123 inline methods that call _Jv_IsInstanceOf and _Jv_AllocObject. 3124 * include/java-lang.h (JvGetArrayLength): New CNI function. 3125 * include/jvm.h (_Jv_FindClass): Added declaration. 3126 3127 * java/lang/natString.cc: More implementation if COMPACT_STRINGS. 3128 3129Wed Jun 24 16:41:30 1998 Per Bothner <bothner@cygnus.com> 3130 3131 * java/lang/natClass.cc (getName): Add implementation. 3132 * java/lang/Throwable.java (printStackTrace): Handle missing backtrace. 3133 3134Tue Jun 23 15:56:24 1998 Tom Tromey <tromey@cygnus.com> 3135 3136 * Makefile.in: Rebuilt. 3137 * Makefile.am (.class.o): Added -fexceptions. 3138 3139Mon Jun 15 14:54:06 1998 Tom Tromey <tromey@cygnus.com> 3140 3141 * configure: Rebuilt. 3142 * configure.in: Don't check for __nanosleep. 3143 * posix-threads.cc (nanosleep): Never define. 3144 3145Sun Jun 14 22:37:23 1998 Tom Tromey <tromey@cygnus.com> 3146 3147 * posix-threads.cc (JvPrivCondWait): Fixed computation of 3148 timespec. 3149 3150Thu Jun 11 10:51:44 1998 Tom Tromey <tromey@cygnus.com> 3151 3152 * java/lang/natThread.cc (enumerate): Uncommented. 3153 * java/lang/Thread.java (interrupted_): Renamed from `interrupt_'. 3154 (interrupt): Call it. 3155 3156Wed Jun 10 15:57:16 1998 Tom Tromey <tromey@cygnus.com> 3157 3158 * configure: Rebuilt. 3159 * configure.in (GCLIBS): Use `-lgc' so gjavac can recognize it. 3160 3161Mon Jun 8 12:04:11 1998 Tom Tromey <tromey@cygnus.com> 3162 3163 * include/no-threads.h (JvPrivThreadInterrupt): New method. 3164 * include/java-lang.h (Thread): Added `interrupted_' method. 3165 * java/lang/Thread.java (interrupted_): New method. 3166 * java/lang/natThread.cc (join): Possibly throw interrupted 3167 exception after join finishes. 3168 (interrupted_): New method. 3169 * posix-threads.cc (JvPrivThreadInitData): Initialize join_mutex, 3170 join_cond. 3171 (JvPrivThreadJoin): New function. 3172 (really_start): Notify all threads waiting for this thread. 3173 (struct starter): Added `data' member. 3174 (JvPrivThreadStart): Set it. 3175 * include/posix-threads.h (JvPrivThread_t): Added join_mutex, 3176 join_cond. 3177 (JvPrivThreadJoin): No longer inline. 3178 (JvPrivThreadInterrupt): New function. 3179 3180 * include/no-threads.h (JvPrivThreadSleep): Removed. 3181 * posix-threads.cc (JvPrivThreadSleep): Removed. 3182 3183Fri Jun 5 13:51:25 1998 Tom Tromey <tromey@cygnus.com> 3184 3185 * configure: Rebuilt. 3186 * configure.in (THREADOBJS): Initialize to no-threads.o in 3187 no-threads case. 3188 * posix-threads.cc (key): New global. 3189 (JvPrivInitThreads): New function. 3190 (really_start): Set thread-specific data to point to object. 3191 (JvPrivThreadStart): Added `daemon' argument. 3192 (JvPrivThreadSleep): Added `data' argument. 3193 * include/posix-threads.h (JvPrivInitThreads): Removed 3194 implementation. 3195 (JvPrivThreadCurrent): New function. 3196 * include/no-threads.h (JvPrivThreadInitData): Initialize 3197 JvPrivOnlyThread. Added `thread' argument. 3198 (JvPrivThreadCurrent): New function. 3199 (JvPrivThreadStart): Added `daemon' argument. 3200 * no-threads.cc: New file. 3201 * java/lang/natThread.cc (init_data): New function. 3202 (isAlive): Removed. 3203 (start): Set `alive' member. 3204 (stop_): Clear `alive' member. 3205 (destroy): Likewise. 3206 (currentThread): Implemented. 3207 (start): Pass `daemon' argument to JvPrivThreadStart. 3208 (sleep): Rewrote. 3209 * include/java-lang.h (Thread): Added `alive', `tsync' members. 3210 (Thread): Added `init_data' method. 3211 * java/lang/Thread.java (alive, data): New instance variables. 3212 (init_data): New private method. 3213 (isAlive): No longer native. 3214 3215Thu Jun 4 14:09:32 1998 Tom Tromey <tromey@cygnus.com> 3216 3217 * include/java-lang.h (JvRunMain): Declare. 3218 * include/jvm.h (JvPrivInitGC): Revert to C++ linkage. 3219 * prims.cc (JvRunMain): New function. 3220 (main_signature, main_name): New globals. 3221 3222 * boehm.cc (mark_array): Use `elements' function and not 3223 operator[] on jarray. 3224 3225 * posix-threads.cc: Include <config.h>. Define nanosleep if 3226 required. 3227 3228 * configure: Rebuilt. 3229 * configure.in: Check for _nanosleep. 3230 3231 * configure: Rebuilt. 3232 * configure.in: Check for pthread_mutexattr_settype. 3233 3234 * include/cni.h (class JvSynchronize): New class. 3235 * java/lang/Thread.java (sleep): Throws InterruptedException. 3236 (join): Throws InterruptedException. 3237 (resume): Not native. 3238 (resume_): New method. 3239 (start): Now synchronized. 3240 (stop_): New method. 3241 (Thread): Synchronize when accessing threadNumber. 3242 (misc): Removed. 3243 * java/lang/natThread.cc (throwException): New macro. 3244 (sleep): Throw InterruptedException. 3245 (resume_): Renamed. 3246 (stop_): Renamed. 3247 * include/java-lang.h (Runtime): Added interrupted(). 3248 3249 * boehm.cc (call_finalizer): Correctly initialize jobj. 3250 * include/java-lang.h (Runtime): Added getRuntime() and exit(). 3251 3252 * java/lang/natSystem.cc (currentTimeMillis): Use #elif, not 3253 `#elseif'. 3254 3255 * configure: Rebuilt. 3256 * configure.in: Added support for --disable-threads. 3257 * include/no-threads.h: New file. 3258 3259 * acconfig.h (HAVE_PTHREAD_MUTEXATTR_INIT): New macro. 3260 3261 * Makefile.in: Rebuilt. 3262 * Makefile.am (EXTRA_libjava_a_SOURCES): Added posix-threads.cc. 3263 (libjava_a_DEPENDENCIES): Added THREADOBJS. 3264 (libjava_a_LIBADD): Added THREADOBJS. 3265 * configure: Rebuilt. 3266 * configure.in: Added --with-threads option. 3267 * posix-threads.cc: New file. 3268 * include/posix-threads.h: New file. 3269 * include/java-lang.h (Object): Added static member sync_mutex, 3270 member sync_info, method init_mutex. 3271 (struct JvSyncInfo): New struct. 3272 Include "java-threads.h". 3273 * prims.cc (soft_monitorenter): Wrote. 3274 (soft_monitorexit): Likewise. 3275 * java/lang/natObject.cc (init_mutex): New method. 3276 (notify): Wrote. 3277 (notifyAll): Wrote. 3278 (wait): Wrote. 3279 (sync_mutex): Define. 3280 Include "java-threads.h". 3281 3282Tue Jun 2 15:24:33 1998 Per Bothner <bothner@cygnus.com> 3283 3284 * include/java-lang.h (JvPrivInitGC): Make extern "C". 3285 * include/jvm.h (JvConvertArgv, JvNewObjectArray): Likewise. 3286 3287Mon Jun 1 11:21:34 1998 Per Bothner <bothner@cygnus.com> 3288 3289 * include/cni.h (jbyte etc): Re-define using __java_byte etc. 3290 Added extern "Java" in places to tell G++ Object is a "Java" type. 3291 Other minor renaming and fixes. 3292 * include/java-io.h (FileDescriptor): Add friend class declarations. 3293 G++ no longer allows non-Java types in method parameters and results 3294 of Java classes. Converted most offending methods to friends. 3295 * java/lang/natDouble.cc (Double::toString): Rename to doubleToString. 3296 * java/lang/natSystem.cc (setProperty): Make friend. 3297 * java/lang/natString.cc, include/java-lang.h (String): Rename 3298 methods findInternSlot to __JvStringFindSlot and __JvStringGetSlot. 3299 * include/java-lang.h (JArray): Remove getData and eoprator[]. 3300 Add elements friend function instead. 3301 * java/lang/natSystem.cc (arraycopy): Use elements function. 3302 * java/io/natFileDescriptor.cc (read, write): Likewise. 3303 * include/java-lang.h (Object): Remove unused make method. 3304 (System::setProperty(char*,char*)): Turn into friend function. 3305 (Class): Rename newObject by JvAllocObject. 3306 * prims.cc: Update to use JvAllocObject, and elements. 3307 3308 * java/lang/natDouble.cc: Fix double -> jdouble. 3309 3310Wed May 20 16:50:06 1998 Per Bothner <bothner@cygnus.com> 3311 3312 * Makefile.am (INCLUDES): Add -Iinclude (to get config.h). 3313 3314Mon May 18 13:46:02 1998 Tom Tromey <tromey@cygnus.com> 3315 3316 * java/lang/natRuntime.cc (finalize_on_exit): Define. 3317 * include/java-lang.h (Runtime): finalize_on_exit and 3318 runFinalizersOnExit now static. 3319 * java/lang/Runtime.java (runFinalizersOnExit): Now static, to 3320 match JDK 1.2b3. 3321 (finalize_on_exit): Now static. 3322 3323 * boehm.cc (mark_obj): Get class using getClass() method on 3324 object. 3325 (_dispatchTable): Removed. 3326 3327Mon May 11 15:26:52 1998 Tom Tromey <tromey@cygnus.com> 3328 3329 * java/io/natFileDescriptor.cc (open_read): Only call open if 3330 HAVE_OPEN defined. 3331 (open_write): Likewise. 3332 3333 * Makefile.in: Rebuilt. 3334 * Makefile.am ($(nat_files)): Depend on config.h. 3335 3336Thu May 7 16:22:00 1998 Tom Tromey <tromey@cygnus.com> 3337 3338 * prims.cc (ObjectClass): Now a macro; updated for new class name 3339 mangling scheme. 3340 (StringClass): Likewise. 3341 (ClassClass): Likewise. 3342 3343Wed May 6 00:26:44 1998 Tom Tromey <tromey@cygnus.com> 3344 3345 * java/io/natFileDescriptor.cc (available): Do nothing unless 3346 HAVE_SELECT defined. 3347 * java/util/natDate.cc (setTime): Conditional on 3348 HAVE_GETTIMEOFDAY. 3349 (toString): Conditional on HAVE_TIME. 3350 * aclocal.m4, configure: Rebuilt. 3351 * acinclude.m4: New file. 3352 * configure.in: Don't actually call AM_EXEEXT. Call 3353 AC_CANONICAL_HOST. Use LIB_AC_PROG_CC and LIB_AC_PROG_CXX. Added 3354 --with-target-subdir option. Check for select and open 3355 functions. 3356 3357Tue May 5 00:10:45 1998 Tom Tromey <tromey@cygnus.com> 3358 3359 * boehm.cc (JvPrivRegisterFinalizer): Changed interface. 3360 (call_finalizer): Likewise. 3361 * nogc.cc (JvPrivRegisterFinalizer): Changed interface. 3362 * prims.cc (newObject): Pass actual method pointer to 3363 JvPrivRegisterFinalizer. 3364 * include/jvm.h (JvPrivFinalizerFunc): New typedef. 3365 (JvPrivRegisterFinalizer): Changed interface. 3366 3367 * Makefile.in: Rebuilt. 3368 * Makefile.am (MOSTLYCLEANFILES): New macro. 3369 (CLEANFILES): Removed javao_files. 3370 3371Fri May 1 22:52:24 1998 Tom Tromey <tromey@cygnus.com> 3372 3373 * nogc.cc: New file. 3374 * Makefile.in: Rebuilt. 3375 * Makefile.am (INCLUDES): Use GCINCS, not paths to boehm-gc. 3376 (EXTRA_libjava_a_SOURCES): New macro. 3377 (libjava_a_SOURCES): Removed boehm.cc. 3378 (libjava_a_DEPENDENCIES): Added GCOBJS. 3379 (libjava_a_LIBADD): Likewise. 3380 * configure: Rebuilt. 3381 * configure.in: Added code for --enable-gc=TYPE. 3382 3383Thu Apr 30 14:54:00 1998 Tom Tromey <tromey@cygnus.com> 3384 3385 * boehm.cc (mark_array): Don't further dereference pointer from 3386 array. 3387 3388 * boehm.cc: Include <boehm-config.h>, not <private/config.h>. 3389 * Makefile.in: Rebuilt. 3390 * Makefile.am (INCLUDES): Removed -I for boehm-gc/include; added 3391 one for boehm-gc build directory. 3392 3393Wed Apr 29 09:45:19 1998 Tom Tromey <tromey@cygnus.com> 3394 3395 * include/java-lang.h (finalize_on_exit): New instance variable in 3396 java::lang::Runtime. 3397 (runFinalizersOnExit): New method. 3398 * java/lang/Runtime.java (finalize_on_exit): New instance 3399 variable. 3400 (runAllFinalizers_): New private method. 3401 (runFinalizersOnExit): New method. 3402 * boehm.cc (JvPrivRunFinalizers): New function. 3403 (JvPrivRunAllFinalizers): Likewise. 3404 (JvPrivRunGC): Likewise. 3405 * java/lang/natRuntime.cc: Include "jvm.h". 3406 (gc): Call JvPrivRunGC. 3407 (runFinalization): Call JvPrivRunFinalizers. 3408 (runFinalizersOnExit): New method. 3409 (exit_): Call JvPrivRunAllFinalizers if required. 3410 * include/jvm.h: Declare JvPrivRunFinalizers, 3411 JvPrivRunAllFinalizers, JvPrivRunGC. 3412 3413Tue Apr 28 15:06:50 1998 Tom Tromey <tromey@cygnus.com> 3414 3415 * boehm.cc (JvPrivRegisterFinalizer): New function. 3416 (call_finalizer): Likewise. 3417 * include/jvm.h: Declare JvPrivRegisterFinalizer. 3418 * prims.cc (finalize_name): New global. 3419 (newObject): Just call other newObject. 3420 (newObject): Register finalizer if it exists. 3421 3422Mon Apr 27 12:47:03 1998 Tom Tromey <tromey@cygnus.com> 3423 3424 * prims.cc (gc_malloc): Removed. 3425 (makeUtf8Const): Use JvPrivAllocBytes. 3426 (lookupArray): Likewise. 3427 (newPrimArray): Likewise. 3428 (JvNewObjectArray): Use JvPrivAllocArray. 3429 (newObject): Use JvPrivAllocObj. 3430 (newObject): Likewise. 3431 Changed Method -> JvMethod everywhere. 3432 Changed Field -> JvField everywhere. 3433 * include/java-lang.h (Object): Changed type of `fields' to 3434 JvField*. 3435 (jmethodID, jfieldID): New typedefs. 3436 (Object): JvGetFirstInstanceField and JvNumInstanceFields now 3437 friends. 3438 * include/jvm.h (struct JvMethod): Renamed from Method, and moved 3439 from java-lang.h. 3440 (METHOD_NATIVECODE): Moved from java-lang.h. 3441 (class JvField): New class. 3442 (JvGetFirstInstanceField): New function. 3443 (JvFieldIsRef): Likewise. 3444 (JvGetObjectField): Likewise. 3445 (JvNumInstanceFields): Likewise. 3446 3447Thu Apr 23 16:42:11 1998 Tom Tromey <tromey@cygnus.com> 3448 3449 * boehm.cc: New file. 3450 * Makefile.in: Rebuilt. 3451 * Makefile.am (libjava_a_SOURCES): Added boehm.cc. 3452 (INCLUDES): Added -I options to find boehm-gc files. 3453 3454Wed Apr 29 15:11:37 1998 Tom Tromey <tromey@cygnus.com> 3455 3456 * configure: Rebuilt. 3457 * configure.in (CXX): Put -fno-rtti here and not in CXXFLAGS. 3458 3459 * Makefile.in: Rebuilt. 3460 * Makefile.am (nat_files): New macro. 3461 (libjava_a_DEPENDENCIES): Use it. 3462 (libjava_a_LIBADD): Likewise. 3463 ($(nat_files)): New static pattern rule. 3464 (class_files): Run separate find to find .class files. 3465 (javao_files): Compute based on class_files. 3466 (BUILT_SOURCES): New macro. 3467 3468Thu Apr 23 16:42:11 1998 Tom Tromey <tromey@cygnus.com> 3469 3470 * Makefile.am (java_files): New macro. 3471 (class_files): Likewise. 3472 (javao_files): Likewise. 3473 (libjava_a_DEPENDENCIES): Include $(javao_files). 3474 (libjava_a_LIBADD): Likewise. 3475 (classes.stamp): Depend on $(java_files); only recompile changed 3476 files. 3477 (here): New macro. 3478 (CLEANFILES): Don't run find; use macros. Don't mention 3479 libjava.a. 3480 (.class.o): New target. 3481 (compiled.stamp): Removed. 3482 3483Thu Apr 23 14:17:43 1998 Per Bothner <bothner@cygnus.com> 3484 3485 * java/io/{Reader,InputStreamReader,FileReader,BufferedReader, 3486 LineNumberReader}>java: Newly-implemented standard classes. 3487 3488Thu Apr 23 14:02:04 1998 Tom Tromey <tromey@cygnus.com> 3489 3490 * Makefile.in: Rebuilt. 3491 * Makefile.am (compiled.stamp): Use $(CC), not $(GCC). 3492 3493 * Makefile.in: Rebuilt. 3494 * Makefile.am (hack): New macro. 3495 (libjava_a_LIBADD): Use $(hack) to work around automake oddity. 3496 3497Wed Apr 22 16:49:57 1998 Tom Tromey <tromey@cygnus.com> 3498 3499 * include/config.h.in: New file. 3500 * include/config.h: Removed. 3501 * acconfig.h: New file. 3502 * Makefile.am (AR, ARFLAGS, JAVAC, GCC, CXX, CXXFLAGS): Removed. 3503 (lib_LIBRARIES, libjava_a_SOURCES, libjava_a_DEPENDENCIES, 3504 libjava_a_LIBADD): New macros. 3505 (INCLUDES): New macro. 3506 (prims.o): Removed. 3507 (.cc.o): Removed. 3508 (SUFFIXES): Removed. 3509 (all): Removed. 3510 (libjava.a): Removed. 3511 3512 * configure: Rebuilt. 3513 * configure.in: Call AC_PROG_CC, AC_PROG_CXX, AC_PROG_RANLIB. 3514 Look for headers and functions we require. Create 3515 include/config.h. 3516 3517Mon Apr 20 22:25:00 1998 Per Bothner <bothner@cygnus.com> 3518 3519 * prims.cc (instance_class, instanceof, JvIsInstanceOf, JvConvertArgv, 3520 soft_instanceof, newObject, JbNewObjectArray, soft_checkcast, 3521 soft_lookupinterfacemethod): New functions. 3522 (PrimClass): Actually initialize the primitive classes. 3523 (Utf8Const2JavaString): Moved to java/lang/natString.cc. 3524 3525 * include/java-util.h: Removed java::util definition. 3526 * include/cni.h: Moved java::util here and added Properties. 3527 Added more function prototypes. 3528 * include/java-lang.h: Added mroe methods and friend declarations. 3529 * include/config.h (HAVE_GETTIMEOFDAY, HAVE_TIME): Added. 3530 * include/jvm.h (strLengthUtf8): Add declaration. 3531 3532 * java/lang/{Integer,Long,Boolean,Character,Float,Double}.java (TYPE): 3533 New static field. 3534 * java/lang/{Byte,Short,Void}.java: New classes. 3535 * java/lang/Character.java (isJavaIdentifierStart, 3536 JavaIdentifierPart): New static methods. 3537 * java/lang/Number.java (byteValue, shortValue): New methods. 3538 3539 * java/lang/String.java (intern, hashCode): Make native. 3540 * java/lang/natString.cc: New file. Handle the string pool. 3541 * Makefile.am: Build natString.o. Use CXXFLAGS. 3542 3543 * java/lang/Class.java (isArray, isPrimitive, getComponentType, 3544 isInstance, isAssignableFrom), java/lang/natClass.cc: New methods. 3545 * java/lang/Throwable.java (<init>): Don't fillInStackTrace yet. 3546 * java/lang/System.java (setProperty): New private method. 3547 (initProperties): Take argument, and make native. 3548 * java/lang/natSystem.cc: Implement (preliminary) initProperties. 3549 (currentTimeMillis): Make more robust. 3550 3551 * java/io/{Writer,PrintWriter,OutputStreamWriter}.java: New classes. 3552 * java/io/UnsupportedEncodingException.java: New exception class. 3553 3554 * java/io/DataInputStream.java: Don't use a PushbackInputStream. 3555 * java/io/FilterOutputStream.java: Add missing 'extends OutputStream'. 3556 3557Fri Apr 10 11:52:10 1998 Per Bothner <bothner@cygnus.com> 3558 3559 * Makefile.am (CXXFLAGS, JC1FLAGS): New macro. 3560 * prims.cc: Added bunch of stuff. 3561 * include/cni.h: Added various definitions. 3562 * include/java-lang.h: Added Method, various friends, some macros. 3563 3564 * include/config.h: Added HAVA_MEMMOVE and HAVE_MEMCPY. 3565 * java/lang/System.java (arraycopy): Make native. 3566 3567Sun Apr 5 23:58:51 1998 Per Bothner <bothner@cygnus.com> 3568 3569 * java/lang/{netObject.cc,natClass.cc,natDouble.cc,natRuntime.cc, 3570 natSystem.cc,natThread.cc}: Native (C++) methods for various classes. 3571 * java/lang/ClassLoader.java (defineClass): Now takes extra argument. 3572 * java/lang/Double.java (toString, doubleToLongBits, longBitsToDouble): 3573 Make native. 3574 * java/lang/Runtime.java: Declare methods as native instead of 3575 using NativeLang. 3576 * java/lang/SecurityManager.java (getClassContext): Just throw Error. 3577 * java/lang/System.java: Comment out some stuff, for now. 3578 * java/lang/Thread.java: Re-write. Use native methods. 3579 * java/lang/NativeLang.java: Remove most of it. 3580 3581 * java/util/natDate.cc: Native (C++) methods for Date. 3582 * java/util/{Calendar.java,GregorianCalendar.java}: New classes. 3583 * java/util/Date.java: Complete re-write. 3584 3585 * java/io/io-defs.h: New header file. 3586 * java/io/FileDescriptor.java: Add a bunch of private methods, 3587 mostly moved from NativeIO.java and natNativeIO.cc. 3588 * java/io/{natFile.cc,java/io/natFileDescriptor.cc}: New native code. 3589 * java/io/File.java: Use new code. 3590 * java/io/{FileInputStream.java.FileOutputStream.java, 3591 RandomAccessFile.java}: Use new private FileDescriptor methods. 3592 * java/io/NativeIO.java: Removed, no longer used. 3593 3594 * java/io/StreamTokenizer.java (numericChars): Make char array. 3595 3596 * include/*.h: Various header files used by the C++ native code. 3597 3598 * Makefile.am, Makefile.in, aclocal.m4, configure, configure.in: 3599 New autoconf+automake-based setup. 3600 * prims.cc: New file for Java "primitives". 3601 3602