Return-Path: Delivered-To: apmail-incubator-harmony-commits-archive@www.apache.org Received: (qmail 9010 invoked from network); 4 Nov 2005 21:26:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 4 Nov 2005 21:26:34 -0000 Received: (qmail 60630 invoked by uid 500); 4 Nov 2005 21:26:34 -0000 Delivered-To: apmail-incubator-harmony-commits-archive@incubator.apache.org Received: (qmail 60588 invoked by uid 500); 4 Nov 2005 21:26:34 -0000 Mailing-List: contact harmony-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-commits@incubator.apache.org Received: (qmail 60572 invoked by uid 99); 4 Nov 2005 21:26:34 -0000 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 04 Nov 2005 13:26:33 -0800 Received: (qmail 8893 invoked by uid 65534); 4 Nov 2005 21:26:13 -0000 Message-ID: <20051104212613.8890.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r330909 - /incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.h Date: Fri, 04 Nov 2005 21:26:13 -0000 To: harmony-commits@incubator.apache.org From: dlydick@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: dlydick Date: Fri Nov 4 13:26:04 2005 New Revision: 330909 URL: http://svn.apache.org/viewcvs?rev=330909&view=rev Log: Added class hierarchy utilities. Restructured status bits. Modified: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.h Modified: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.h URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.h?rev=330909&r1=330908&r2=330909&view=diff ============================================================================== --- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.h (original) +++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/class.h Fri Nov 4 13:26:04 2005 @@ -124,17 +124,13 @@ * being initialized. */ /******************************************************************/ -/****** Next 2 bits same for class and object *********************/ +/****** Next 3 bits same for class and object *********************/ #define CLASS_STATUS_GCREQ 0x0004 /**< Class may be garbage collected. */ #define CLASS_STATUS_ARRAY 0x0008 /**< Class is an array type where @p @b arraydims contains number of dimensions */ -/******************************************************************/ - -/****** Next 5 bits unique between class and object except: *******/ - -#define CLASS_STATUS_REFERENCE 0x0080 /**< Class variable is a +#define CLASS_STATUS_REFERENCE 0x0010 /**< Class static variable is a * reference. This is the * @e same definition as for * @link #OBJECT_STATUS_REFERENCE @@ -147,12 +143,15 @@ * frame, where the GC algorithm * implements it. */ - /******************************************************************/ -/****** Next 4 bits unique between class and object ***************/ -#define CLASS_STATUS_PRIMATIVE 0x0200 /**< Primative for - @c @b java.lang.Class */ +/****** Next 9 bits unique between class and object ***************/ +#define CLASS_STATUS_0020 0x0020 /**< not used */ +#define CLASS_STATUS_0040 0x0040 /**< not used */ +#define CLASS_STATUS_PRIMATIVE 0x0080 /**< Primative for + * @c @b java.lang.Class */ +#define CLASS_STATUS_0100 0x0100 /**< not used */ +#define CLASS_STATUS_0200 0x0200 /**< not used */ #define CLASS_STATUS_LINKED 0x0400 /**< Class linkages completed */ #define CLASS_STATUS_DOCLINIT 0x0800 /**< Class loaded, * needs @c @b \ */ @@ -294,9 +293,21 @@ jvm_object_hash objhash, ClassFile *pcfs); + /* Prototypes for functions in 'classutil.c' */ -extern jvm_class_index classutil_jobject2clsidx(jvm_object_hash - objhash); + +extern rboolean classutil_subclass_of(jvm_class_index clsidx1, + jvm_class_index clsidx2); + +extern rboolean classutil_implements_interface(jvm_class_index clsidx1, + jvm_class_index clsidx2); + +extern rboolean classutil_superinterface_of(jvm_class_index clsidx1, + jvm_class_index clsidx2); + +extern rboolean + classutil_interface_implemented_by_arrays(jvm_class_index clsidx); + #endif /* _class_h_included_ */