Imported GNU Classpath 0.90

Imported GNU Classpath 0.90
       * scripts/makemake.tcl: Set gnu/java/awt/peer/swing to ignore.
       * gnu/classpath/jdwp/VMFrame.java (SIZE): New constant.
       * java/lang/VMCompiler.java: Use gnu.java.security.hash.MD5.
       * java/lang/Math.java: New override file.
       * java/lang/Character.java: Merged from Classpath.
       (start, end): Now 'int's.
       (canonicalName): New field.
       (CANONICAL_NAME, NO_SPACES_NAME, CONSTANT_NAME): New constants.
       (UnicodeBlock): Added argument.
       (of): New overload.
       (forName): New method.
       Updated unicode blocks.
       (sets): Updated.
       * sources.am: Regenerated.
       * Makefile.in: Likewise.

From-SVN: r111942
This commit is contained in:
Mark Wielaard 2006-03-10 21:46:48 +00:00
parent 27079765d0
commit 8aa540d2f7
1367 changed files with 188789 additions and 22762 deletions

View file

@ -1,5 +1,5 @@
/* VMDouble.c - java.lang.VMDouble native functions
Copyright (C) 1998, 1999, 2001, 2003, 2004i, 2005
Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -123,6 +123,16 @@ Java_java_lang_VMDouble_doubleToLongBits
jlong e, f;
val.d = doubleValue;
#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
/* On little endian ARM processors when using FPA, word order of
doubles is still big endian. So take that into account here. When
using VFP, word order of doubles follows byte order. */
#define SWAP_DOUBLE(a) (((a) << 32) | (((a) >> 32) & 0x00000000ffffffff))
val.j = SWAP_DOUBLE(val.j);
#endif
e = val.j & 0x7ff0000000000000LL;
f = val.j & 0x000fffffffffffffLL;
@ -144,6 +154,11 @@ Java_java_lang_VMDouble_doubleToRawLongBits
{
jvalue val;
val.d = doubleValue;
#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
val.j = SWAP_DOUBLE(val.j);
#endif
return val.j;
}
@ -159,6 +174,11 @@ Java_java_lang_VMDouble_longBitsToDouble
{
jvalue val;
val.j = longValue;
#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
val.j = SWAP_DOUBLE(val.j);
#endif
return val.d;
}