123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- // java-cpool.h - Constant pool parsing header. -*- c++ -*-
- /* Copyright (C) 1999, 2000 Free Software Foundation
- This file is part of libgcj.
- This software is copyrighted work licensed under the terms of the
- Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
- details. */
- #ifndef __JAVA_CPOOL_H__
- #define __JAVA_CPOOL_H__
- #include <gcj/javaprims.h>
- // we rename these, to avoid polluting the name space
- #define JV_CONSTANT_Undefined (0L)
- #define JV_CONSTANT_Utf8 (1L)
- #define JV_CONSTANT_Unicode (2L)
- #define JV_CONSTANT_Integer (3L)
- #define JV_CONSTANT_Float (4L)
- #define JV_CONSTANT_Long (5L)
- #define JV_CONSTANT_Double (6L)
- #define JV_CONSTANT_Class (7L)
- #define JV_CONSTANT_String (8L)
- #define JV_CONSTANT_Fieldref (9L)
- #define JV_CONSTANT_Methodref (10L)
- #define JV_CONSTANT_InterfaceMethodref (11L)
- #define JV_CONSTANT_NameAndType (12L)
- #define JV_CONSTANT_ResolvedFlag (16L)
- #define JV_CONSTANT_LazyFlag (32L)
- #define JV_CONSTANT_ResolvedString (16L | 8L)
- #define JV_CONSTANT_ResolvedClass (16L | 7L)
- extern inline void
- _Jv_storeIndexes (_Jv_word *data,
- _Jv_ushort index0,
- _Jv_ushort index1)
- {
- data->i = (((jint)index0) << 16) | (jint) index1;
- }
- extern inline void
- _Jv_loadIndexes (const _Jv_word *data,
- _Jv_ushort& index0,
- _Jv_ushort& index1)
- {
- jint udata = data->i;
-
- _Jv_uint uindex0 = ((udata >> 16) & 0xffff);
- _Jv_uint uindex1 = udata & 0xffff;
-
- index0 = uindex0;
- index1 = uindex1;
- }
- extern inline void
- _Jv_storeFloat (_Jv_word *data, jfloat f)
- {
- data->f = f;
- }
- extern inline jfloat
- _Jv_loadFloat (_Jv_word *data)
- {
- return data->f;
- }
- extern inline void
- _Jv_storeInt (_Jv_word *data, jint i)
- {
- data->i = i;
- }
- extern inline jint
- _Jv_loadInt (_Jv_word *data)
- {
- return data->i;
- }
- extern inline void
- _Jv_storeLong (_Jv_word *data, jlong l)
- {
- #if SIZEOF_VOID_P == 8
- data[0].l = l;
- #else
- _Jv_word2 tmp;
- tmp.l = l;
- data[0].ia[0] = tmp.ia[0];
- data[1].ia[0] = tmp.ia[1];
- #endif
- }
- extern inline jlong
- _Jv_loadLong (_Jv_word *data)
- {
- #if SIZEOF_VOID_P == 8
- return data -> l;
- #else
- _Jv_word2 tmp;
- tmp.ia[0] = data[0].ia[0];
- tmp.ia[1] = data[1].ia[0];
- return tmp.l;
- #endif
- }
- extern inline void
- _Jv_storeDouble (_Jv_word *data, jdouble d)
- {
- #if SIZEOF_VOID_P == 8
- data[0].d = d;
- #else
- _Jv_word2 tmp;
- tmp.d = d;
- data[0].ia[0] = tmp.ia[0];
- data[1].ia[0] = tmp.ia[1];
- #endif
- }
- extern inline jdouble
- _Jv_loadDouble (_Jv_word *data)
- {
- #if SIZEOF_VOID_P == 8
- return data -> d;
- #else
- _Jv_word2 tmp;
- tmp.ia[0] = data[0].ia[0];
- tmp.ia[1] = data[1].ia[0];
- return tmp.d;
- #endif
- }
- #endif /* __JAVA_CPOOL_H__ */
|