calls instead of machine instructions, using the C calling
convention.
- $Id: builtin.c 685 2003-12-04 01:25:54Z jowenn $
+ $Id: builtin.c 686 2003-12-04 11:35:11Z stefan $
*/
arraydescriptor *desc = arrayvftbl->arraydesc;
s4 dataoffset = desc->dataoffset;
s4 componentsize = desc->componentsize;
+ s4 actualsize;
if (size<0) {
exceptionptr=native_new_and_init(loader_load(utf_new_char("java/lang/NegativeArraySizeException")));
return NULL;
}
#ifdef SIZE_FROM_CLASSINFO
- s4 actualsize = align_size(dataoffset + size * componentsize);
+ actualsize = align_size(dataoffset + size * componentsize);
#else
- s4 actualsize = dataoffset + size * componentsize;
+ actualsize = dataoffset + size * componentsize;
#endif
a = (java_arrayheader *)
heap_allocate(actualsize,
jobjectArray NewObjectArray (JNIEnv *env, jsize len, jclass clazz, jobject init)
{
+ java_objectarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_objectarray *j = builtin_anewarray (len, clazz);
+ j = builtin_anewarray (len, clazz);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jbooleanArray NewBooleanArray (JNIEnv *env, jsize len)
{
+ java_booleanarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_booleanarray *j = builtin_newarray_boolean(len);
+ j = builtin_newarray_boolean(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jbyteArray NewByteArray (JNIEnv *env, jsize len)
{
+ java_bytearray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_bytearray *j = builtin_newarray_byte(len);
+ j = builtin_newarray_byte(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jcharArray NewCharArray (JNIEnv *env, jsize len)
{
+ java_chararray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_chararray *j = builtin_newarray_char(len);
+ j = builtin_newarray_char(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jshortArray NewShortArray (JNIEnv *env, jsize len)
{
+ java_shortarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_shortarray *j = builtin_newarray_short(len);
+ j = builtin_newarray_short(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jintArray NewIntArray (JNIEnv *env, jsize len)
{
+ java_intarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_intarray *j = builtin_newarray_int(len);
+ j = builtin_newarray_int(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jlongArray NewLongArray (JNIEnv *env, jsize len)
{
+ java_longarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_longarray *j = builtin_newarray_long(len);
+ j = builtin_newarray_long(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jfloatArray NewFloatArray (JNIEnv *env, jsize len)
{
+ java_floatarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_floatarray *j = builtin_newarray_float(len);
+ j = builtin_newarray_float(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jdoubleArray NewDoubleArray (JNIEnv *env, jsize len)
{
+ java_doublearray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_doublearray *j = builtin_newarray_double(len);
+ j = builtin_newarray_double(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jobjectArray NewObjectArray (JNIEnv *env, jsize len, jclass clazz, jobject init)
{
+ java_objectarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_objectarray *j = builtin_anewarray (len, clazz);
+ j = builtin_anewarray (len, clazz);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jbooleanArray NewBooleanArray (JNIEnv *env, jsize len)
{
+ java_booleanarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_booleanarray *j = builtin_newarray_boolean(len);
+ j = builtin_newarray_boolean(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jbyteArray NewByteArray (JNIEnv *env, jsize len)
{
+ java_bytearray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_bytearray *j = builtin_newarray_byte(len);
+ j = builtin_newarray_byte(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jcharArray NewCharArray (JNIEnv *env, jsize len)
{
+ java_chararray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_chararray *j = builtin_newarray_char(len);
+ j = builtin_newarray_char(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jshortArray NewShortArray (JNIEnv *env, jsize len)
{
+ java_shortarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_shortarray *j = builtin_newarray_short(len);
+ j = builtin_newarray_short(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jintArray NewIntArray (JNIEnv *env, jsize len)
{
+ java_intarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_intarray *j = builtin_newarray_int(len);
+ j = builtin_newarray_int(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jlongArray NewLongArray (JNIEnv *env, jsize len)
{
+ java_longarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_longarray *j = builtin_newarray_long(len);
+ j = builtin_newarray_long(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jfloatArray NewFloatArray (JNIEnv *env, jsize len)
{
+ java_floatarray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_floatarray *j = builtin_newarray_float(len);
+ j = builtin_newarray_float(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
jdoubleArray NewDoubleArray (JNIEnv *env, jsize len)
{
+ java_doublearray *j;
if (len<0) {
exceptionptr=proto_java_lang_NegativeArraySizeException;
return NULL;
}
- java_doublearray *j = builtin_newarray_double(len);
+ j = builtin_newarray_double(len);
if (!j) exceptionptr = proto_java_lang_OutOfMemoryError;
return j;
}
calls instead of machine instructions, using the C calling
convention.
- $Id: builtin.c 685 2003-12-04 01:25:54Z jowenn $
+ $Id: builtin.c 686 2003-12-04 11:35:11Z stefan $
*/
arraydescriptor *desc = arrayvftbl->arraydesc;
s4 dataoffset = desc->dataoffset;
s4 componentsize = desc->componentsize;
+ s4 actualsize;
if (size<0) {
exceptionptr=native_new_and_init(loader_load(utf_new_char("java/lang/NegativeArraySizeException")));
return NULL;
}
#ifdef SIZE_FROM_CLASSINFO
- s4 actualsize = align_size(dataoffset + size * componentsize);
+ actualsize = align_size(dataoffset + size * componentsize);
#else
- s4 actualsize = dataoffset + size * componentsize;
+ actualsize = dataoffset + size * componentsize;
#endif
a = (java_arrayheader *)
heap_allocate(actualsize,