You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by dl...@apache.org on 2006/04/05 07:07:31 UTC
svn commit: r391492 -
/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.c
Author: dlydick
Date: Tue Apr 4 22:07:30 2006
New Revision: 391492
URL: http://svn.apache.org/viewcvs?rev=391492&view=rev
Log:
Correct class array length initial value to 0.
Add primative class definitions for all primative
data type classes beyond 'char'.
Added TO DO item.
Small white space changes.
Modified:
incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.c
Modified: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.c
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.c?rev=391492&r1=391491&r2=391492&view=diff
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.c (original)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.c Tue Apr 4 22:07:30 2006
@@ -98,7 +98,7 @@
* Start out with no array allocation and no array dimensions
*/
CLASS(clsidx).arraydims = LOCAL_CONSTANT_NO_ARRAY_DIMS;
- CLASS(clsidx).arraylength = (jint *) rnull;
+ CLASS(clsidx).arraylength = 0;
CLASS(clsidx).lower_dim_array = jvm_class_index_null;
/* Start out with no object hash */
@@ -162,7 +162,14 @@
pjvm->class_java_lang_Object = jvm_class_index_null;
+ pjvm->class_primative_byte = jvm_class_index_null;
pjvm->class_primative_char = jvm_class_index_null;
+ pjvm->class_primative_double = jvm_class_index_null;
+ pjvm->class_primative_float = jvm_class_index_null;
+ pjvm->class_primative_int = jvm_class_index_null;
+ pjvm->class_primative_long = jvm_class_index_null;
+ pjvm->class_primative_short = jvm_class_index_null;
+ pjvm->class_primative_boolean= jvm_class_index_null;
pjvm->class_java_lang_Class = jvm_class_index_null;
@@ -459,7 +466,7 @@
CLASS(clsidx).status |= CLASS_STATUS_ARRAY;
CLASS(clsidx).arraydims = arraydims;
- CLASS(clsidx).arraylength = arraylength;
+ CLASS(clsidx).arraylength = arraylength[0];
CLASS(clsidx).lower_dim_array = lower_dim_array;
/*!
@@ -1160,8 +1167,8 @@
{
rchar *pnextdim = utf_utf2prchar(PTR_THIS_CP_Utf8(clsname));
- /*
- * WARNING! RECURSIVE CALL! This call goes 1 level per
+ /*!
+ * @warning RECURSIVE CALL! This call goes 1 level per
* array dimension.
*/
rc = class_load_from_prchar(&pnextdim[1 * sizeof(u1)],
@@ -1505,6 +1512,16 @@
* standard industry file naming practices, and/or (b) that
* no array processing happens in the lower levels.
*
+ * @todo HARMONY-6-jvm-class.c-20 Make a version of this function
+ * that can accept a UTF8 class name, call class_load_from_utf(),
+ * and call a common function that it shares with the existing
+ * function that contains all further logic. This will run
+ * faster than converting UTF strings to (rchar *) and calling
+ * the existing function. This is a similar approach to what
+ * is done in @link jvm/src/thread.c thread.c@endlink to create
+ * a normal thread versus a system thread.
+ *
+ *
*/
@@ -1734,7 +1751,8 @@
switch (cfattrib_atr2enum(pcfs,
pcfs->fields[fldidx]
->attributes[atridx]
- ->ai.attribute_name_index))
+ ->ai
+ .attribute_name_index))
{
case LOCAL_SIGNATURE_ATTRIBUTE:
/*!
@@ -1788,7 +1806,7 @@
pu4 = &PTR_CP_ENTRY_FLOAT(
pcfs,
constantvalue_index)
- ->bytes;
+ ->bytes;
valf = (jfloat) (jint) *pu4;
@@ -1831,7 +1849,7 @@
pu4 = &PTR_CP_ENTRY_INTEGER(
pcfs,
constantvalue_index)
- ->bytes;
+ ->bytes;
vali = (jint) *pu4;