re PR java/22578 (should inline floatToIntBits et al)

gcc/java
	PR java/22578:
	* check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
	* builtins.c (convert_real): New function.
	(java_builtins): Handle Float.intBitsToFloat,
	Float.floatToRawIntBits, Double.longBitsToDouble,
	Double.doubleToRawLongBits.
libjava
	PR java/22578:
	* gcj/javaprims.h: Updated.
	* sources.am, Makefile.in: Rebuilt.
	* java/lang/natDouble.cc (doubleToLongBits): Moved to VMDouble.
	(doubleToRawLongBits): Likewise.
	(longBitsToDouble): Likewise.
	(toString): Likewise.
	(parseDouble): Likewise.
	* java/lang/natFloat.cc (floatToIntBits): Moved to VMFloat.
	(floatToRawIntBits): Likewise.
	(intBitsToFloat): Likewise.
	* java/lang/VMDouble.java: New file.
	* java/lang/VMFloat.java: New file.
	* java/lang/Float.java, java/lang/Double.java: Removed.

From-SVN: r110759
This commit is contained in:
Tom Tromey 2006-02-08 18:06:11 +00:00 committed by Tom Tromey
parent 59c02d8a61
commit 855dd2bcff
13 changed files with 280 additions and 1115 deletions

View file

@ -1,6 +1,6 @@
// natFloat.cc - Implementation of java.lang.Float native methods.
// natFloat.cc - Implementation of java.lang.VMFloat native methods.
/* Copyright (C) 1998, 1999, 2001 Free Software Foundation
/* Copyright (C) 1998, 1999, 2001, 2006 Free Software Foundation
This file is part of libgcj.
@ -11,6 +11,7 @@ details. */
#include <config.h>
#include <java/lang/Float.h>
#include <java/lang/VMFloat.h>
#include <jvm.h>
union u
@ -20,7 +21,7 @@ union u
};
jint
java::lang::Float::floatToIntBits(jfloat value)
java::lang::VMFloat::floatToIntBits(jfloat value)
{
union u u;
u.d = value;
@ -34,7 +35,7 @@ java::lang::Float::floatToIntBits(jfloat value)
}
jint
java::lang::Float::floatToRawIntBits(jfloat value)
java::lang::VMFloat::floatToRawIntBits(jfloat value)
{
union u u;
u.d = value;
@ -42,7 +43,7 @@ java::lang::Float::floatToRawIntBits(jfloat value)
}
jfloat
java::lang::Float::intBitsToFloat(jint bits)
java::lang::VMFloat::intBitsToFloat(jint bits)
{
union u u;
u.l = bits;