Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: linker.h 7246 2007-01-29 18:49:05Z twisti $
*/
interfacetablelength = 4
| ... | +----------+
- +-----------+ | method 2 |---> method z
- | class | | method 1 |---> method y
- +-----------+ | method 0 |---> method x
- | ivftbl 0 |----------> +----------+
- vftblptr ---> +-----------+
+ +-----------+ | method 2 |---> method z
+ | class | | method 1 |---> method y
+ +-----------+ | method 0 |---> method x
+ | ivftbl 0 |----------> +----------+
+ vftblptr ---> +-----------+
| ivftbl -1 |--> NULL +----------+
| ivftbl -2 |--> NULL | method 1 |---> method x
| ivftbl -3 |-----+ | method 0 |---> method a
+-----------+ +----> +----------+
+---------------+
- | length 3 = 2 |
- | length 2 = 0 |
- | length 1 = 0 |
- | length 0 = 3 |
- interfacevftbllength ---> +---------------+
+ | length 3 = 2 |
+ | length 2 = 0 |
+ | length 1 = 0 |
+ | length 0 = 3 |
+ interfacevftbllength ---> +---------------+
*******************************************************************************/
};
-/* primitivetypeinfo **********************************************************/
-
-struct primitivetypeinfo {
- classinfo *class_wrap; /* class for wrapping primitive type */
- classinfo *class_primitive; /* primitive class */
- char *wrapname; /* name of class for wrapping */
- char typesig; /* one character type signature */
- char *name; /* name of primitive class */
- char *arrayname; /* name of primitive array class */
- classinfo *arrayclass; /* primitive array class */
- vftbl_t *arrayvftbl; /* vftbl of primitive array class */
-};
-
-
/* global variables ***********************************************************/
-/* This array can be indexed by the PRIMITIVETYPE_ and ARRAYTYPE_ constants */
-/* (except ARRAYTYPE_OBJECT). */
+/* This lock must be taken while renumbering classes or while atomically */
+/* accessing classes. */
-extern primitivetypeinfo primitivetype_table[PRIMITIVETYPE_COUNT];
+extern java_object_t *linker_classrenumber_lock;
/* function prototypes ********************************************************/